Example usage for org.antlr.v4.runtime CommonTokenStream CommonTokenStream

List of usage examples for org.antlr.v4.runtime CommonTokenStream CommonTokenStream

Introduction

In this page you can find the example usage for org.antlr.v4.runtime CommonTokenStream CommonTokenStream.

Prototype

public CommonTokenStream(TokenSource tokenSource) 

Source Link

Document

Constructs a new CommonTokenStream using the specified token source and the default token channel ( Token#DEFAULT_CHANNEL ).

Usage

From source file:net.fchauvel.trio.core.storage.parsing.Builder.java

License:Open Source License

public Requirement requirementFrom(String text) {
    TrioLexer lexer = new TrioLexer(new ANTLRInputStream(text));
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    TrioParser parser = new TrioParser(tokens);
    ParseTree tree = parser.requirements();
    return tree.accept(new ExpressionBuilder());
}

From source file:net.fchauvel.trio.core.storage.parsing.Builder.java

License:Open Source License

public Component componentFrom(String text) {
    TrioLexer lexer = new TrioLexer(new ANTLRInputStream(text));
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    TrioParser parser = new TrioParser(tokens);
    ParseTree tree = parser.component();
    return tree.accept(new ComponentBuilder());
}

From source file:net.fchauvel.trio.core.storage.parsing.Builder.java

License:Open Source License

public Assembly systemFrom(String text) {
    TrioLexer lexer = new TrioLexer(new ANTLRInputStream(text));
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    TrioParser parser = new TrioParser(tokens);
    ParseTree tree = parser.system();//from w  w w  .j av a2  s .  c  o m
    return tree.accept(new SystemBuilder());
}

From source file:net.fchauvel.trio.core.storage.parsing.Builder.java

License:Open Source License

public Assembly systemFrom(InputStream input) throws IOException, SyntaxError {
    SystemErrorListener listener = new SystemErrorListener();
    TrioLexer lexer = new TrioLexer(new ANTLRInputStream(input));
    lexer.removeErrorListeners();//from w  w w. j  a va  2  s.  c o  m
    lexer.addErrorListener(listener);
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    TrioParser parser = new TrioParser(tokens);
    parser.removeErrorListeners();
    parser.addErrorListener(listener);
    ParseTree tree = parser.system();
    listener.abortIfAnyError();
    return tree.accept(new SystemBuilder());
}

From source file:net.klazz.symboliclua.conv.Main.java

License:Open Source License

public static void main(String[] args) {
    try {/*  w ww  .  java2s.  com*/
        ANTLRInputStream in = new ANTLRInputStream(System.in);
        LuaLexer l = new LuaLexer(in);
        CommonTokenStream stream = new CommonTokenStream(l);
        LuaParser p = new LuaParser(stream);
        System.out.println(new Converter(stream).visit(p.chunk()));
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:net.lldp.checksims.parse.ast.ASTFactory.java

License:Open Source License

/**
 * Creates a parser of a given type//from  w ww.ja v a2s .co  m
 * @param sn the name of the submission
 * @param inputText the ANTLR stream generated from the submission
 * @param pclazz the Class type of the parser to be generated
 * @param lclazz the Lexer type of the lexer that the parser will use
 * @return A parser of the provided type, lexing with the provided lexer
 */
static public <T extends Parser> T makeParser(String sn, ANTLRInputStream inputText, Class<T> pclazz,
        Class<? extends Lexer> lclazz) {

    try {
        final Lexer lexer = makeLexer(sn, inputText, lclazz);
        final CommonTokenStream tokenStream = new CommonTokenStream(lexer);
        T parser = pclazz.getConstructor(TokenStream.class).newInstance(tokenStream);
        parser.removeErrorListeners();
        parser.addErrorListener(new BaseErrorListener() {
            @Override
            public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line,
                    int charPositionInLine, String msg, RecognitionException e) {
                CommonToken token = (CommonToken) offendingSymbol;
                if ("<EOF>".equals(token.getText())) {
                    throw new EOFParsingException();
                }
                throw new SyntaxErrorException(sn, msg);
            }
        });
        return parser;
    } catch (InstantiationException | IllegalAccessException | IllegalArgumentException
            | InvocationTargetException | NoSuchMethodException | SecurityException e1) {
        throw new RuntimeException(e1);
    }

}

From source file:net.openchrom.xxd.processor.supplier.rscripting.ui.editor.RenameProperty.java

License:Open Source License

private void applySelection(final ITextSelection textSelection) {

    info.setOldName(textSelection.getText());
    info.setNewName(textSelection.getText());
    info.addOffset(textSelection.getOffset());
    /* Add AST manipulation here! */
    IEditorPart editor = (IEditorPart) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
            .getActiveEditor();/*  w ww.  ja v  a  2  s  .  c  om*/
    if (editor instanceof REditor) {
        IDocument doc = ((ITextEditor) editor).getDocumentProvider().getDocument(editor.getEditorInput());
        ANTLRInputStream input = new ANTLRInputStream(doc.get());
        RLexer lexer = new RLexer(input);
        CommonTokenStream tokens = new CommonTokenStream(lexer);
        RFilter filter = new RFilter(tokens);
        filter.stream(); // call start rule: stream
        tokens.reset();
        RParser parser = new RParser(tokens);
        RuleContext tree = parser.prog();
        /*
         * ParseTreePattern p = parser.compileParseTreePattern("ID", RParser.RULE_expr);
         * ParseTreeMatch m = p.match(tree);
         * if ( m.succeeded() ) {
         * System.out.println("succeed!");
         * }
         */
        info.addOffset(textSelection.getOffset() + 150);
        info.addOffset(textSelection.getOffset() + 250);
        info.setSourceFile(getFile());
    }
}

From source file:net.openchrom.xxd.processor.supplier.rscripting.ui.editor.RReconcilingStrategy.java

License:Open Source License

/**
 * next character position - used locally and only valid while {@link #calculatePositions()} is in progress.
 *///from  ww w  .  ja va  2 s.co  m
protected void calculatePositions() {

    Vector<REditorOutlineNode> editorOldNodes = editor.nodes;
    /* Create the category base node for the outline! */
    editor.createNodes();
    if (editor != null) {
        IResource resource = (IResource) editor.getEditorInput().getAdapter(IResource.class);
        if (resource != null) {
            try {
                resource.deleteMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
            } catch (CoreException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        }
    }
    IDocument doc = fDocument;
    ANTLRInputStream input = new ANTLRInputStream(doc.get());
    RLexer lexer = new RLexer(input);
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    RFilter filter = new RFilter(tokens);
    filter.stream(); // call start rule: stream
    tokens.reset();
    RParser parser = new RParser(tokens);
    // parser.setErrorHandler(new RErrorStrategy());
    parser.setBuildParseTree(true);
    UnderlineListener li = new UnderlineListener(editor);
    lexer.removeErrorListeners();
    lexer.addErrorListener(li);
    parser.removeErrorListeners();
    // parser.getInterpreter().setPredictionMode(PredictionMode.LL_EXACT_AMBIG_DETECTION);
    parser.addErrorListener(li);
    // Token to= parser.match(0);
    // System.out.println("Errors: " + parser.getNumberOfSyntaxErrors());
    ParseTreeWalker walker = new ParseTreeWalker();
    RuleContext tree = parser.prog();
    /* Create the listener to create the outline, etc. */
    RBaseListen list = new RBaseListen(tokens, editor, parser);
    list.startStop.clear();
    walker.walk(list, tree);
    /*
     * long startTime = System.currentTimeMillis();
     * long stopTime = System.currentTimeMillis();
     * long elapsedTime = stopTime - startTime;
     * System.out.println(elapsedTime);
     */
    fPositions.clear();
    for (int i = 0; i < list.startStop.size(); i++) {
        String pos = (String) list.startStop.get(i);
        String[] val = pos.split(",");
        fPositions.add(new Position(Integer.parseInt(val[0]), Integer.parseInt(val[1])));
    }
    /* Update the outline! */
    Display.getDefault().asyncExec(new Runnable() {

        public void run() {

            editor.updateFoldingStructure(fPositions);
            editor.outlineInputChanged(editorOldNodes, editor.nodes);
        }
    });
}

From source file:net.sf.jabref.logic.search.rules.GrammarBasedSearchRule.java

License:Open Source License

private void init(String query) throws ParseCancellationException {
    if (Objects.equals(this.query, query)) {
        return;/*from  w  ww .  j  a  v a2  s. co  m*/
    }

    SearchLexer lexer = new SearchLexer(new ANTLRInputStream(query));
    lexer.removeErrorListeners(); // no infos on file system
    lexer.addErrorListener(ThrowingErrorListener.INSTANCE);
    SearchParser parser = new SearchParser(new CommonTokenStream(lexer));
    parser.removeErrorListeners(); // no infos on file system
    parser.addErrorListener(ThrowingErrorListener.INSTANCE);
    parser.setErrorHandler(new BailErrorStrategy()); // ParseCancellationException on parse errors
    tree = parser.start();
    this.query = query;
}

From source file:net.sf.jabref.search.rules.SearchExpression.java

License:Open Source License

private void init(String query) throws ParseCancellationException {
    if (this.query != null && this.query.equals(query)) {
        return;// ww  w  . j av a2s  . c  o  m
    }

    SearchLexer lexer = new SearchLexer(new ANTLRInputStream(query));
    lexer.removeErrorListeners(); // no infos on file system
    lexer.addErrorListener(ThrowingErrorListener.INSTANCE);
    SearchParser parser = new SearchParser(new CommonTokenStream(lexer));
    parser.removeErrorListeners(); // no infos on file system
    parser.addErrorListener(ThrowingErrorListener.INSTANCE);
    parser.setErrorHandler(new BailErrorStrategy()); // ParseCancellationException on parse errors
    tree = parser.start();
    this.query = query;
}