!7 sclass MatchInput > DynPrintLogWithInput { start { dm_useLocallyCopiedMechLists(); } void update(S s) { print("\n> " + s); L pats = mL("English sentence patterns"); L tok = printStruct(javaTokWithAngleBracketsC(s)); 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 parsing_checkMatchPairUsingMechList(match)); } for (Pair> p : sortedByComparator(results, (Comparator>>) (Comparator) lengthOfPairBListComparator())) print(" Result: Choose pattern " + quote(p.a) + " for input " + quote(s) + " if match: " + p.b); } }