!7 sclass MatchInput > DynPrintLogWithInput { start { dm_useLocallyCopiedMechLists(); } void update(S s) { print("\n> " + s); L pats = mL("English sentence patterns"); L tok = javaTokWithAngleBracketsC(s); printStruct(tok); PlanInMotion plan = new(pats); L>>> results = new L; // pattern + match for (S pat : plan.master()) { L tokPat = javaTokWithAngleBracketsC(pat); L> match = uniquify(dropTwinPairsIC(zipTwoListsToPairs_ifSameLength(tokPat, tok))); if (match != null) addPair(results, pat, antiFilter(f parsing_checkMatchPairUsingMechList, match)); } for (Pair>> p : sortedByComparator(results, (Comparator>>>) lengthOfPairBListComparator())) print(" Result: Choose pattern " + quote(p.a) + " for input " + quote(s) + " if match: " + p.b); } }