@Override public void visitTerminal(final TerminalNode node) { final Text text = this.document.createTextNode( DocumentTreeBasic.this.terminals.apply(node) ); nodes.put(node, text); nodes.get(node.getParent()).appendChild(text); }
@Override public void visitTerminal(TerminalNode node) { String text = Utils.escapeWhitespace(Trees.getNodeText(node, ruleNames), false); if(text.startsWith(" ") || text.endsWith(" ")){ text = "'" + text + "'"; } stack.get(node.getParent()).add(text); }
/** Walk upwards from node while p.stop == token; return immediate parent * if there is no ancestor stopping at token. This is the earliest * right ancestor. E.g, for '}' of a block, return parent up the chain from * block stopping with '}'. For '{' of block, return just block as nothing * stops with '{'. (block starts with it). */ public static ParserRuleContext earliestAncestorEndingWithToken(TerminalNode node) { Token token = node.getSymbol(); ParserRuleContext p = (ParserRuleContext)node.getParent(); ParserRuleContext prev = null; while (p!=null && p.getStop()==token) { prev = p; p = p.getParent(); } if ( prev==null ) { return (ParserRuleContext)node.getParent(); } return prev; }
/** Walk upwards from node while p.start == token; return immediate parent * if there is no ancestor starting at token. This is the earliest * left ancestor. E.g, for '{' of a block, return parent up the chain from * block starting with '{'. For '}' of block, return just block as nothing * starts with '}'. (block stops with it). */ public static ParserRuleContext earliestAncestorStartingWithToken(TerminalNode node) { Token token = node.getSymbol(); ParserRuleContext p = (ParserRuleContext)node.getParent(); ParserRuleContext prev = null; while (p!=null && p.getStart()==token) { prev = p; p = p.getParent(); } if ( prev==null ) { return (ParserRuleContext)node.getParent(); } return prev; }
@Override public void visitTerminal(TerminalNode node) { ParserRuleContext parent = (ParserRuleContext)node.getParent().getRuleContext(); Token token = node.getSymbol(); System.out.println("consume "+token+" rule "+ getRuleNames()[parent.getRuleIndex()]); } }
@Override public Void visitTerminal(TerminalNode node) { int type = node.getSymbol().getType(); if (type == Token.EOF) { return null; } if (node.getParent() instanceof SQLiteParser.Any_nameContext) { component.tokens.add(new SQLiteComponent.Name(node.getText())); } else if (isKeyword(type)) { component.tokens.add(new SQLiteComponent.Keyword(node.getText())); } else { component.tokens.add(node.getText()); } return null; } });
ParserRuleContext parent = (ParserRuleContext) nodeWithToken.getParent(); Interval tokenInterval = parent.getSourceInterval(); Token startToken = tokenStream.get(tokenInterval.a);
TerminalNode node) ParserRuleContext parent = (ParserRuleContext)node.getParent(); int curTokensParentRuleIndex = parent.getRuleIndex(); Token curToken = node.getSymbol();
public void visitTerminal(TerminalNode terminalNode) { if (terminalNode.getSymbol().getType() == EsperEPL2GrammarLexer.STAR) { int ruleIndex = ASTUtil.getRuleIndexIfProvided(terminalNode.getParent()); if (ruleIndex == EsperEPL2GrammarParser.RULE_selectionListElement) { statementSpec.getSelectClauseSpec().add(new SelectClauseElementWildcard()); } if (ruleIndex == EsperEPL2GrammarParser.STAR || ruleIndex == EsperEPL2GrammarParser.RULE_expressionWithTime) { ExprWildcardImpl exprNode = new ExprWildcardImpl(); ASTExprHelper.exprCollectAddSubNodesAddParentNode(exprNode, terminalNode, astExprNodeMap); } } }
public void visitTerminal(TerminalNode terminalNode) { if (terminalNode.getSymbol().getType() == EsperEPL2GrammarLexer.STAR) { int ruleIndex = ASTUtil.getRuleIndexIfProvided(terminalNode.getParent()); if (ruleIndex == EsperEPL2GrammarParser.RULE_selectionListElement) { statementSpec.getSelectClauseSpec().add(new SelectClauseElementWildcard()); } if (ruleIndex == EsperEPL2GrammarParser.STAR || ruleIndex == EsperEPL2GrammarParser.RULE_expressionWithTime) { ExprWildcardImpl exprNode = new ExprWildcardImpl(); ASTExprHelper.exprCollectAddSubNodesAddParentNode(exprNode, terminalNode, astExprNodeMap); } } }
if ( ruleDefNameNode==null ) return; final ParserRuleContext ruleDefNode = (ParserRuleContext)ruleDefNameNode.getParent(); Token start = ruleDefNode.getStart(); Token stop = ruleDefNode.getStop();
public void setCursorToGrammarRule(Project project, PreviewState previewState, int offset) { Token tokenUnderCursor = ParsingUtils.getTokenUnderCursor(previewState, offset); if ( tokenUnderCursor==null ) { return; } ParseTree tree = previewState.parsingResult.tree; TerminalNode nodeWithToken = (TerminalNode) ParsingUtils.getParseTreeNodeWithToken(tree, tokenUnderCursor); if ( nodeWithToken==null ) { // hidden token return; } ParserRuleContext parent = (ParserRuleContext) nodeWithToken.getParent(); int ruleIndex = parent.getRuleIndex(); Rule rule = previewState.g.getRule(ruleIndex); GrammarAST ruleNameNode = (GrammarAST) rule.ast.getChild(0); int start = ((CommonToken) ruleNameNode.getToken()).getStartIndex(); jumpToGrammarPosition(project, start); }
if ( ruleDefNameNode==null ) return; final ParserRuleContext ruleDefNode = (ParserRuleContext) ruleDefNameNode.getParent(); Token start = ruleDefNode.getStart(); Token stop = ruleDefNode.getStop();