/** Generate an expression for traversing an edge. */ protected ST genLabelExpr(STGroup templates, Transition edge, int k) { Label label = edge.label; if ( label.isSemanticPredicate() ) { return genSemanticPredicateExpr(templates, edge); } if ( label.isSet() ) { return genSetExpr(templates, label.getSet(), k, true); } // must be simple label ST eST = templates.getInstanceOf("lookaheadTest"); eST.add("atom", getTokenTypeAsTargetLabel(label.getAtom())); eST.add("atomAsInt", Utils.integer(label.getAtom())); eST.add("k", Utils.integer(k)); return eST; }
/** Generate an expression for traversing an edge. */ protected StringTemplate genLabelExpr(StringTemplateGroup templates, Transition edge, int k) { Label label = edge.label; if ( label.isSemanticPredicate() ) { return genSemanticPredicateExpr(templates, edge); } if ( label.isSet() ) { return genSetExpr(templates, label.getSet(), k, true); } // must be simple label StringTemplate eST = templates.getInstanceOf("lookaheadTest"); eST.setAttribute("atom", getTokenTypeAsTargetLabel(label.getAtom())); eST.setAttribute("atomAsInt", Utils.integer(label.getAtom())); eST.setAttribute("k", Utils.integer(k)); return eST; }
/** Generate an expression for traversing an edge. */ protected ST genLabelExpr(STGroup templates, Transition edge, int k) { Label label = edge.label; if ( label.isSemanticPredicate() ) { return genSemanticPredicateExpr(templates, edge); } if ( label.isSet() ) { return genSetExpr(templates, label.getSet(), k, true); } // must be simple label ST eST = templates.getInstanceOf("lookaheadTest"); eST.add("atom", getTokenTypeAsTargetLabel(label.getAtom())); eST.add("atomAsInt", Utils.integer(label.getAtom())); eST.add("k", Utils.integer(k)); return eST; }
/** Generate an expression for traversing an edge. */ protected StringTemplate genLabelExpr(StringTemplateGroup templates, Transition edge, int k) { Label label = edge.label; if ( label.isSemanticPredicate() ) { return genSemanticPredicateExpr(templates, edge); } if ( label.isSet() ) { return genSetExpr(templates, label.getSet(), k, true); } // must be simple label StringTemplate eST = templates.getInstanceOf("lookaheadTest"); eST.setAttribute("atom", getTokenTypeAsTargetLabel(label.getAtom())); eST.setAttribute("atomAsInt", Utils.integer(label.getAtom())); eST.setAttribute("k", Utils.integer(k)); return eST; }
generator.generateLocalFOLLOW(s,"set",currentRuleName,i); code.setAttribute("s", generator.genSetExpr(templates,s.getSetValue(),1,false));
generator.genSetExpr(templates,s.getSetValue(),1,false)); StringTemplate altcode=templates.getInstanceOf("alt"); altcode.setAttribute("elements.{el,line,pos}",
code.add("s", generator.genSetExpr(templates,s.getSetValue(),1,false));
code.add("s", generator.genSetExpr(templates,s.getSetValue(),1,false));
astSuffix, labelText); code.add("s",generator.genSetExpr(templates,elements,1,false)); int i = ((CommonToken)n.getToken()).getTokenIndex(); code.add("elementIndex", i);
astSuffix, labelText); code.add("s",generator.genSetExpr(templates,elements,1,false)); int i = ((CommonToken)n.getToken()).getTokenIndex(); code.add("elementIndex", i);
generator.genSetExpr(templates,s.getSetValue(),1,false)); ST altcode=templates.getInstanceOf("alt"); altcode.addAggr("elements.{el,line,pos}",
generator.genSetExpr(templates,s.getSetValue(),1,false)); ST altcode=templates.getInstanceOf("alt"); altcode.addAggr("elements.{el,line,pos}",
astSuffix, labelText); code.setAttribute("s",generator.genSetExpr(templates,elements,1,false)); int i = ((TokenWithIndex)n.getToken()).getIndex(); code.setAttribute("elementIndex", i);