List of usage examples for org.antlr.v4.runtime.tree ParseTree getText
String getText();
From source file:TranslateVisitor.java
/** * {@inheritDoc}// w w w . j a va2 s .com * * <p>The default implementation returns the result of calling * {@link #visitChildren} on {@code ctx}.</p> */ @Override public String visitPrintArgs(ThisShouldWorkParser.PrintArgsContext ctx) { String s = ctx.STRING().toString(); String myArgs = ""; List<ParseTree> a = ctx.children; List<TerminalNode> ds = ctx.STRING(); int i = 0; //Controla se j tem argumento prvio no print for (ParseTree t : ctx.children) { if (i > 0) //Se h mais de um argumento, uso o + pra concatenar myArgs = myArgs + "+ "; myArgs = myArgs + t.getText() + " "; //Cria a String com os argumentos do print i++;//Indica que existe um argumento } return myArgs; }
From source file:FullFormEmitter.java
License:Open Source License
public String getFullForm(ParseTree e) { if (e instanceof TerminalNode) { return e.getText(); }// w w w . ja va 2s . com return visit(e); }
From source file:amulet.translator.compatibilitychecker.CExtractor.java
public void enterJumpStatement(CParser.JumpStatementContext ctx) { ParseTree firstchild = ctx.getChild(0); LOGGER.info("JMP -> " + firstchild); if (firstchild.getText().equals("goto")) { LOGGER.severe("Found a goto on line " + ctx.getStart().getLine() + "!"); m_errors.add(new ErrorMsg("Amulet does not allow \"goto\" statements", ctx.getStart().getLine())); }//from ww w.j a v a 2 s . c om }
From source file:android.databinding.tool.ExpressionVisitor.java
License:Apache License
@Override public Expr visitMethodInvocation(@NotNull BindingExpressionParser.MethodInvocationContext ctx) { try {// w w w.j ava 2s . c om onEnter(ctx); List<Expr> args = new ArrayList<Expr>(); if (ctx.args != null) { for (ParseTree item : ctx.args.children) { if (ObjectUtils.equals(item.getText(), ",")) { continue; } args.add(item.accept(this)); } } return mModel.methodCall(ctx.target.accept(this), ctx.Identifier().getText(), args); } finally { onExit(ctx); } }
From source file:android.databinding.tool.ExpressionVisitor.java
License:Apache License
@Override public Expr visitResources(@NotNull BindingExpressionParser.ResourcesContext ctx) { try {/*from w ww . ja v a 2s. com*/ onEnter(ctx); final List<Expr> args = new ArrayList<Expr>(); if (ctx.resourceParameters() != null) { for (ParseTree item : ctx.resourceParameters().expressionList().children) { if (ObjectUtils.equals(item.getText(), ",")) { continue; } args.add(item.accept(this)); } } final String resourceReference = ctx.ResourceReference().getText(); final int colonIndex = resourceReference.indexOf(':'); final int slashIndex = resourceReference.indexOf('/'); final String packageName = colonIndex < 0 ? null : resourceReference.substring(1, colonIndex).trim(); final int startIndex = Math.max(1, colonIndex + 1); final String resourceType = resourceReference.substring(startIndex, slashIndex).trim(); final String resourceName = resourceReference.substring(slashIndex + 1).trim(); return mModel.resourceExpr(packageName, resourceType, resourceName, args); } finally { onExit(ctx); } }
From source file:basicint.Run.java
private static void showParseTreeFrame(ParseTree tree, BasicParser parser) throws HeadlessException { JFrame frame = new JFrame("SRC: " + tree.getText()); JPanel panel = new JPanel(); TreeViewer viewr = new TreeViewer(Arrays.asList(parser.getRuleNames()), tree); viewr.setScale(1);/*from www . j a v a 2 s .co m*/ panel.add(viewr); frame.add(panel); frame.setSize(1000, 600); frame.setState(JFrame.MAXIMIZED_HORIZ); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }
From source file:com.antsdb.saltedfish.sql.mysql.InstructionGenerator.java
License:Open Source License
static void scan(GeneratorContext ctx, ParseTree node) { if (node instanceof TerminalNode) { if (node.getText().equals("?")) { ctx.addParameter((TerminalNode) node); }/*from w w w .ja v a 2s .c o m*/ } if (node instanceof Function_nameContext) { if (node.getText().equalsIgnoreCase("sum")) { ctx.setHasAggregateFunctions(true); } else if (node.getText().equalsIgnoreCase("count")) { ctx.setHasAggregateFunctions(true); } else if (node.getText().equalsIgnoreCase("GROUP_CONCAT")) { ctx.setHasAggregateFunctions(true); } else if (node.getText().equalsIgnoreCase("max")) { ctx.setHasAggregateFunctions(true); } else if (node.getText().equalsIgnoreCase("min")) { ctx.setHasAggregateFunctions(true); } } for (int j = 0; j < node.getChildCount(); j++) { scan(ctx, node.getChild(j)); } }
From source file:com.axway.jmb.JMessageBuilderVisitorImpl.java
License:Open Source License
@Override public Void visitPrintStatement(PrintStatementContext ctx) { super.visitPrintStatement(ctx); List<Object> lst = new ArrayList<Object>(); for (ConcatStringsContext cs : ctx.concatStrings()) { for (PrimaryContext lc : cs.primary()) { if (lc.literal() != null) { for (ParseTree node : lc.literal().children) { String str = node.getText(); if (node instanceof StringLiteralContext) { str = str.substring(1, str.length() - 1); if (str.equals("nl")) { str = "\n"; }/*from w w w . j av a 2 s. c om*/ if (str.contains("dp")) { str = str.replaceAll("dp", ":"); } } lst.add(str); } } else { try { LocalVariable lv = currentMethod .getVariable(lc.variableIdentifier().getText().substring(1).toLowerCase()); if (lc.arrs() != null) { lv.setArrayAccess(Integer.valueOf(lc.arrs().arr().get(0).literal().getText())); } lst.add(lv); } catch (CompileException e) { e.printStackTrace(); System.exit(1); ; } } } } currentMethod.printStatement(lst); return null; }
From source file:com.espertech.esper.epl.parse.ASTConstantHelper.java
License:Open Source License
/** * Parse the AST constant node and return Object value. * @param node - parse node for which to parse the string value * @return value matching AST node type// ww w. j ava 2s . com */ public static Object parse(ParseTree node) { if (node instanceof TerminalNode) { TerminalNode terminal = (TerminalNode) node; switch (terminal.getSymbol().getType()) { case EsperEPL2GrammarParser.BOOLEAN_TRUE: return BoolValue.parseString(terminal.getText()); case EsperEPL2GrammarParser.BOOLEAN_FALSE: return BoolValue.parseString(terminal.getText()); case EsperEPL2GrammarParser.VALUE_NULL: return null; default: throw ASTWalkException.from( "Encountered unexpected constant type " + terminal.getSymbol().getType(), terminal.getSymbol()); } } else { RuleNode ruleNode = (RuleNode) node; int ruleIndex = ruleNode.getRuleContext().getRuleIndex(); if (ruleIndex == EsperEPL2GrammarParser.RULE_number) { return parseNumber(ruleNode, 1); } else if (ruleIndex == EsperEPL2GrammarParser.RULE_numberconstant) { RuleNode number = findChildRuleByType(ruleNode, EsperEPL2GrammarParser.RULE_number); if (ruleNode.getChildCount() > 1) { if (ASTUtil.isTerminatedOfType(ruleNode.getChild(0), EsperEPL2GrammarLexer.MINUS)) { return parseNumber(number, -1); } return parseNumber(number, 1); } else { return parseNumber(number, 1); } } else if (ruleIndex == EsperEPL2GrammarParser.RULE_stringconstant) { return StringValue.parseString(node.getText()); } else if (ruleIndex == EsperEPL2GrammarParser.RULE_constant) { return parse(ruleNode.getChild(0)); } throw ASTWalkException.from("Encountered unrecognized constant", node.getText()); } }
From source file:com.espertech.esper.epl.parse.ASTUtil.java
License:Open Source License
public static int getAssertTerminatedTokenType(ParseTree child) { if (!(child instanceof TerminalNode)) { throw ASTWalkException.from("Unexpected exception walking AST, expected terminal node", child.getText()); }/*w ww . j a v a 2 s .com*/ TerminalNode term = (TerminalNode) child; return term.getSymbol().getType(); }