Examples of LabelElementPair


Examples of org.antlr.v4.tool.LabelElementPair

    }
    else if ( node.resolver instanceof Alternative ) {
      labels = ((Alternative)node.resolver).labelDefs.get(x);
    }
    if ( labels!=null ) {  // it's a label ref. is it a rule label?
      LabelElementPair anyLabelDef = labels.get(0);
      if ( anyLabelDef.type==LabelType.RULE_LABEL ) {
        return g.getRule(anyLabelDef.element.getText());
      }
    }
    if ( node.resolver instanceof Alternative ) {
View Full Code Here

Examples of org.antlr.v4.tool.LabelElementPair

                Alternative a = r.alt[i];
                for (List<LabelElementPair> pairs : a.labelDefs.values() ) {
                    for (LabelElementPair p : pairs) {
                        checkForLabelConflict(r, p.label);
                        String name = p.label.getText();
                        LabelElementPair prev = labelNameSpace.get(name);
                        if ( prev==null ) labelNameSpace.put(name, p);
                        else checkForTypeMismatch(prev, p);
                    }
                }
            }
View Full Code Here

Examples of org.antlr.v4.tool.LabelElementPair

    // these are so $label in action translation works
    for (Pair<GrammarAST,String> pair : leftRecursiveRuleWalker.leftRecursiveRuleRefLabels) {
      GrammarAST labelNode = pair.a;
      GrammarAST labelOpNode = (GrammarAST)labelNode.getParent();
      GrammarAST elementNode = (GrammarAST)labelOpNode.getChild(1);
      LabelElementPair lp = new LabelElementPair(g, labelNode, elementNode, labelOpNode.getType());
      r.alt[1].labelDefs.map(labelNode.getText(), lp);
    }
    // copy to rule from walker
    r.leftRecursiveRuleRefLabels = leftRecursiveRuleWalker.leftRecursiveRuleRefLabels;
View Full Code Here

Examples of org.antlr.v4.tool.LabelElementPair

    action.resolver = currentRule;
  }

  @Override
  public void label(GrammarAST op, GrammarAST ID, GrammarAST element) {
    LabelElementPair lp = new LabelElementPair(g, ID, element, op.getType());
    currentRule.alt[currentOuterAltNumber].labelDefs.map(ID.getText(), lp);
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.