List of usage examples for org.antlr.v4.runtime.tree TerminalNodeImpl TerminalNodeImpl
public TerminalNodeImpl(Token symbol)
From source file:com.antsdb.saltedfish.sql.mysql.Select_or_valuesGenerator.java
License:Open Source License
private static RuleContext createColumnName_(Expr_functionContext rule, OutputField field) { Column_name_Context column_name_ = new Column_name_Context(rule.getParent(), rule.invokingState); Column_nameContext column_name = new Column_nameContext(column_name_.getParent(), rule.invokingState); IdentifierContext identifier = new IdentifierContext(column_name, rule.invokingState); CommonToken token = CommonTokenFactory.DEFAULT.create(MysqlParser.BACKTICK_QUOTED_IDENTIFIER, '`' + field.name + '`'); TerminalNode term = new TerminalNodeImpl(token); identifier.addChild(term);// w w w . ja v a 2 s . c o m column_name.addChild(identifier); column_name_.addChild(column_name); return column_name_; }
From source file:com.blazebit.persistence.parser.expression.JPQLSelectExpressionVisitorImpl.java
License:Apache License
@Override public Expression visitIn_expression(JPQLSelectExpressionParser.In_expressionContext ctx) { InPredicate inPredicate;/*from w w w.ja v a 2 s . c o m*/ Expression left; if (ctx.left == null) { left = ctx.getChild(0).accept(this); } else { List<PathElementExpression> pathElems = new ArrayList<>(); pathElems.add(new PropertyExpression(ctx.left.getText())); left = new PathExpression(pathElems); } if (ctx.param == null && !ctx.in_item().isEmpty()) { List<Expression> inItems = new ArrayList<Expression>(); for (In_itemContext inItemCtx : ctx.in_item()) { inItems.add(inItemCtx.accept(this)); } inPredicate = new InPredicate(left, inItems); } else if (ctx.param != null) { ParameterExpression collectionParam = (ParameterExpression) new TerminalNodeImpl(ctx.param) .accept(this); collectionParam.setCollectionValued(true); inPredicate = new InPredicate(left, collectionParam); } else { // List<PathElementExpression> pathElems = new ArrayList<PathElementExpression>(); // pathElems.add(new PropertyExpression(ctx.right.getText())); // Expression inExpr = new PathExpression(pathElems); Expression inExpr = ctx.getChild(ctx.not == null ? 2 : 3).accept(this); inPredicate = new InPredicate(left, inExpr); } if (ctx.not != null) { inPredicate.setNegated(true); } return inPredicate; }
From source file:org.eclipse.titan.common.parsers.cfg.ConfigTreeNodeUtilities.java
License:Open Source License
/** * Creates a new hidden token node, which can be added to a ParseTree * @param aText token text/*from www . j a v a 2s . com*/ */ public static TerminalNodeImpl createHiddenTokenNode(final String aText) { return new TerminalNodeImpl(new CommonToken(0, aText)); }
From source file:org.sourcepit.ltk.parser.ParseTreeBuilder.java
License:Apache License
private Rule handleRuleNode(Terminal origin, Rule parent, RuleNode ruleNode) { final RuleContext ruleContext = ruleNode.getRuleContext(); final List<ParseNode> children = new ArrayList<>(); final Rule rule = new Rule(parent, children, ruleContext.getClass(), origin); for (int i = 0; i < ruleNode.getChildCount(); i++) { final ParseTree child = ruleNode.getChild(i); if (child instanceof RuleNode) { children.add(handleRuleNode(null, rule, (RuleNode) child)); } else {/*from w w w. j a v a2s. c om*/ final TerminalNode terminalNode = (TerminalNode) child; final ParseResult parseResult = parseResultStack.peek(); final BufferedTokenStream tokenStream = parseResult.getTokenStream(); final org.antlr.v4.runtime.Token token = terminalNode.getSymbol(); final int tokenIndex = token.getTokenIndex(); // final TerminalContext tc = new TerminalContext(); // tc.terminalNode = terminalNode; // tc.tokenStream = tokenStream; // tokenIndexToTerminalNodeMap.put(Integer.valueOf(tokenIndex), tc); final List<org.antlr.v4.runtime.Token> hiddenTokensToLeft = tokenStream .getHiddenTokensToLeft(tokenIndex); if (hiddenTokensToLeft != null && !hiddenTokensToLeft.isEmpty()) { int prevTokenIdx = hiddenTokensToLeft.get(0).getTokenIndex() - 1; int startIdx; if (prevTokenIdx < 0) { startIdx = 0; } else { // final TerminalContext preTc = tokenIndexToTerminalNodeMap.get(Integer.valueOf(prevTokenIdx)); // final TerminalNode preTerminalNode = preTc.terminalNode; // startIdx = parserDelegeate.getLen((RuleNode) preTerminalNode.getParent(), // preTerminalNode.getSymbol(), // hiddenTokensToLeft, preTc.tokenStream); startIdx = tokenIndexToHiddenWsLength.get(Integer.valueOf(prevTokenIdx)); } for (int j = startIdx; j < hiddenTokensToLeft.size(); j++) { final TerminalNodeImpl dummy = new TerminalNodeImpl(hiddenTokensToLeft.get(j)); dummy.parent = ruleNode; children.add(handleTerminalNode(null, rule, dummy)); } } if (terminalNode.getSymbol().getType() != Lexer.EOF) { children.add(handleTerminalNode(null, rule, terminalNode)); } final List<org.antlr.v4.runtime.Token> hiddenTokensToRight = tokenStream .getHiddenTokensToRight(tokenIndex); if (hiddenTokensToRight != null) { int len = parserDelegeate.getLen(ruleNode, token, hiddenTokensToRight, tokenStream); tokenIndexToHiddenWsLength.put(Integer.valueOf(tokenIndex), Integer.valueOf(len)); for (int j = 0; j < len; j++) { final TerminalNodeImpl dummy = new TerminalNodeImpl(hiddenTokensToRight.get(j)); dummy.parent = ruleNode; children.add(handleTerminalNode(null, rule, dummy)); } } } } return rule; }