svoid dm_gazelle_matchAdditionalInput(L l, LS inputs, O... _) { for (GazelleTree t : l) if (t.rule() != null) { RuleEngine2_MatchedRule mr = t.mr; LS in = t.rule().in; int iCond = t.mr.iCond; if (l(in) > iCond) { LS conditions = dropFirst(iCond, in); print("Remaining conditions for " + t.ruleID() + " with " + t.mr.map + ": " + conditions); new Matches m; if (matchAny("in " + (iCond+1) + " = *", t.rule().comments, m) && neq($1, 'input)) continue with print("Not an input condition"); S input = get(inputs, iCond); if (input == null) continue with print("No more input (iCond=" + iCond + ", inputs=" + inputs + ")"); if (ai_ruleEngine2_matchStep(t.mr, litmap(standard := input), true)) print("Input match OK: " + input + " - new map: " + t.mr.map); else print("Input match failed: " + input); } } }