Examples of RuleContextDecl


Examples of org.antlr.v4.codegen.model.decl.RuleContextDecl

    else if ( ast.getType()==ANTLRParser.RULE_REF ) { // a rule reference?
      Rule r = g.getRule(ast.getText());
      String implLabel = gen.getTarget().getImplicitRuleLabel(ast.getText());
      String ctxName =
        gen.getTarget().getRuleFunctionContextStructName(r);
      d = new RuleContextDecl(this, implLabel, ctxName);
      ((RuleContextDecl)d).isImplicit = true;
    }
    else {
      String implLabel = gen.getTarget().getImplicitTokenLabel(ast.getText());
      d = getTokenLabelDecl(implLabel);
View Full Code Here

Examples of org.antlr.v4.codegen.model.decl.RuleContextDecl

        String listLabel = gen.getTarget().getListLabel(label);
        RuleContextListDecl l = new RuleContextListDecl(factory, listLabel, ctxName);
        rf.addContextDecl(ast.getAltLabel(), l);
      }
      else {
        RuleContextDecl d = new RuleContextDecl(factory,label,ctxName);
        labels.add(d);
        rf.addContextDecl(ast.getAltLabel(), d);
      }
    }

    ActionAST arg = (ActionAST)ast.getFirstChildWithType(ANTLRParser.ARG_ACTION);
    if ( arg != null ) {
      argExprsChunks = ActionTranslator.translateAction(factory, rf, arg.token, arg);
    }

    // If action refs rule as rulename not label, we need to define implicit label
    if ( factory.getCurrentOuterMostAlt().ruleRefsInActions.containsKey(ast.getText()) ) {
      String label = gen.getTarget().getImplicitRuleLabel(ast.getText());
      RuleContextDecl d = new RuleContextDecl(factory,label,ctxName);
      labels.add(d);
      rf.addContextDecl(ast.getAltLabel(), d);
    }
  }
View Full Code Here

Examples of org.antlr.v4.codegen.model.decl.RuleContextDecl

      String label = idAST.getText();
      GrammarAST rrefAST = (GrammarAST)idAST.getParent().getChild(1);
      if ( rrefAST.getType() == ANTLRParser.RULE_REF ) {
        Rule targetRule = factory.getGrammar().getRule(rrefAST.getText());
        String ctxName = gen.getTarget().getRuleFunctionContextStructName(targetRule);
        RuleContextDecl d;
        if (idAST.getParent().getType() == ANTLRParser.ASSIGN) {
          d = new RuleContextDecl(factory, label, ctxName);
        }
        else {
          d = new RuleContextListDecl(factory, label, ctxName);
        }
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.