static S ai_ruleToJava(S ruleName) { S ruleText = unquote(firstPossibleRule(ai_texts("$X", "is", ruleName))); if (ruleText == null) fail("Rule not found: " + ruleName); S op = joinWithSpace(ai_getOperator(ruleText)); if (neq(op, "if input * then say *")) fail("Unknown rule op: " + op); L l = ai_getOperands(ruleText); ret "static S rule_" + wordsToCamelCase(lower(ruleName)) + "() {\n" + " ai_checkInput_match3(" + quote(deRoundBracket(first(l))) + ");\n" + " ret " + quote(deRoundBracket(second(l))) + ";\n" + "}"; }