sclass NewWoody { L rules; ExecutedRule activeRule; S lastOutput; L lastRules; *() { rules = nlLogic_applyMetaRules(ai_parseRulesWithMacros(mL_raw("Rules BB"))); } *(NewWoody w) { rules = w.rules; } void processInput(S s) { lastRules = nlLogic_processInputOrFact(s, false, pair(rules, (L) null)); lastOutput = ""; activeRule = first(lastRules); if (activeRule != null) lastOutput = joinWithSpace(nlLogic_outputFromExecutedRules(ll(activeRule))); } }