static O parseBottomUp_parser; // only parse, no explain static synchronized O parseBottomUp(S text, S rules) { if (parseBottomUp_parser == null) { parseBottomUp_parser = run(#1002719); setOpt(parseBottomUp_parser, keepRules := true); } ret call(parseBottomUp_parser, "parse", text, rules); }