sS ai_buParser_simplify(AI_BottomUpParser1 parser, AI_BottomUpParser1.Word group, S category, Map, S> simplifications) { if (group == null) null; L>> groupings = ai_buParser1_reconstructedGroupings2(parser, group, category); print("Have " + n2(groupings, "grouping") + " for: " + group.text()); pnl(groupings); for (T3> t : groupings) { T3 production = t.c; S simp = simplifications.get(production); if (eqOneOf(simp, "K", "L", "R")) { print("Simplifying: " + simp); if (eq(simp, "L")) ret ai_buParser_simplify(parser, t.a, production.a, simplifications); if (eq(simp, "R")) ret ai_buParser_simplify(parser, t.b, production.b, simplifications); // K //temp tempIndent(); S l = ai_buParser_simplify(parser, t.a, production.a, simplifications); S r = ai_buParser_simplify(parser, t.b, production.b, simplifications); ret trim(l + " " + r); } else print("Unknown simplification for " + t.c + ": " + simp); } ret group.text; }