static PTElement ai_parseBottomUpToTree(S input) { ret ai_parseBottomUpToTree(new AI_BottomUpParser1, input); } static PTElement ai_parseBottomUpToTree(AI_BottomUpParser1 parser, S input) { parser.parse(input); ret ai_parseBottomUpToTree(parser); } static PTElement ai_parseBottomUpToTree(AI_BottomUpParser1 parser) { AI_BottomUpParser1.Word w = parser.fullGroup(); if (w == null) null; L classes = withoutQuoted(w.classes); if (empty(classes)) null; ret ai_completeParseTree(parser, ChooseCategory(w, classes)); }