Examples of GrammarToken


Examples of org.antlr.v4.parse.GrammarToken

      GrammarAST t = optionsSubTrees.get(i);
      CommonTree elWithOpt = t.parent;
      if ( elWithOpt instanceof GrammarASTWithOptions ) {
        Map<String, GrammarAST> options = ((GrammarASTWithOptions) elWithOpt).getOptions();
        if ( options.containsKey(LeftRecursiveRuleTransformer.TOKENINDEX_OPTION_NAME) ) {
          GrammarToken newTok = new GrammarToken(g, elWithOpt.getToken());
          newTok.originalTokenIndex = Integer.valueOf(options.get(LeftRecursiveRuleTransformer.TOKENINDEX_OPTION_NAME).getText());
          elWithOpt.token = newTok;

          GrammarAST originalNode = g.ast.getNodeWithTokenIndex(newTok.getTokenIndex());
          if (originalNode != null) {
            // update the AST node start/stop index to match the values
            // of the corresponding node in the original parse tree.
            elWithOpt.setTokenStartIndex(originalNode.getTokenStartIndex());
            elWithOpt.setTokenStopIndex(originalNode.getTokenStopIndex());
          }
          else {
            // the original AST node could not be located by index;
            // make sure to assign valid values for the start/stop
            // index so toTokenString will not throw exceptions.
            elWithOpt.setTokenStartIndex(newTok.getTokenIndex());
            elWithOpt.setTokenStopIndex(newTok.getTokenIndex());
          }
        }
      }
    }
  }
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.