Example usage for org.antlr.v4.runtime.tree ParseTree getText

List of usage examples for org.antlr.v4.runtime.tree ParseTree getText

Introduction

In this page you can find the example usage for org.antlr.v4.runtime.tree ParseTree getText.

Prototype

String getText();

Source Link

Document

Return the combined text of all leaf nodes.

Usage

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();
}