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:com.metadave.etp.ETP.java

License:Apache License

public static ETPTerm parse(InputStream is) throws IOException, ParseException {
    ANTLRInputStream input = new ANTLRInputStream(is);
    ETPLexer lexer = new ETPLexer(input);
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    ETPParser parser = new ETPParser(tokens);
    parser.removeErrorListeners();//from  ww w  .  j ava 2  s. c o m
    parser.addErrorListener(new ETPErrorListener());
    ETPWalker ew = new ETPWalker(tokens);
    ParseTreeWalker walker = new ParseTreeWalker();
    ETPTerm<?> term = null;
    ETPParser.Etp_termContext t = null;
    try {
        t = parser.etp_term();
        walker.walk(ew, t);
    } catch (Throwable e) {
        throw new ParseException("ETP parse error", e);
    }
    term = (ETPTerm<?>) ew.getValue(t);
    return term;
}

From source file:com.metadave.etp.ETP.java

License:Apache License

public static List<ETPTerm> parseMulti(String s) throws ParseException {
    ANTLRInputStream input = new ANTLRInputStream(s);
    ETPLexer lexer = new ETPLexer(input);
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    ETPParser parser = new ETPParser(tokens);
    parser.removeErrorListeners();/*w w w.  j av a2  s. c o m*/
    parser.addErrorListener(new ETPErrorListener());
    ETPWalker ew = new ETPWalker(tokens);
    ParseTreeWalker walker = new ParseTreeWalker();
    List<ETPTerm> terms = null;

    ETPParser.Etp_termsContext t = null;
    try {
        t = parser.etp_terms();
        walker.walk(ew, t);
    } catch (Throwable e) {
        throw new ParseException("ETP parse error", e);
    }
    terms = (List<ETPTerm>) ew.getValue(t);
    return terms;
}

From source file:com.metadave.etp.ETP.java

License:Apache License

public static List<ETPTerm> parseMulti(InputStream is) throws IOException, ParseException {
    ANTLRInputStream input = new ANTLRInputStream(is);
    ETPLexer lexer = new ETPLexer(input);
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    ETPParser parser = new ETPParser(tokens);
    parser.removeErrorListeners();/*from w w w  . j  a  va  2s  .c om*/
    parser.addErrorListener(new ETPErrorListener());
    ETPWalker ew = new ETPWalker(tokens);
    ParseTreeWalker walker = new ParseTreeWalker();
    List<ETPTerm> terms = null;

    ETPParser.Etp_termsContext t = null;
    try {
        t = parser.etp_terms();
        walker.walk(ew, t);
    } catch (Throwable e) {
        throw new ParseException("ETP parse error", e);
    }
    terms = (List<ETPTerm>) ew.getValue(t);
    return terms;
}

From source file:com.metadave.kash.KashConsole.java

License:Apache License

private static void processInput(String line, KashRuntimeContext runtimeCtx) {
    ANTLRInputStream input = new ANTLRInputStream(line);
    KashLexer lexer = new KashLexer(input);
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    KashParser parser = new KashParser(tokens);
    parser.addErrorListener(new KashErrorListener());
    ParseTreeWalker walker = new ParseTreeWalker();
    KashWalker esq = new KashWalker(runtimeCtx);

    try {/*from w  ww.  ja va 2  s  .c  om*/
        KashParser.StmtsContext stmts = parser.stmts();
        walker.walk(esq, stmts);
    } catch (Throwable t) {
        // catch parse errors. ANTLR will display a message for me.
        System.out.println(t.getMessage());
    }

}

From source file:com.microsoft.thrifty.schema.parser.ThriftParser.java

License:Open Source License

/**
 * Parse the given Thrift {@code text}, using the given {@code location}
 * to anchor parsed elements withing the file.
 * @param location the {@link Location} of the data being parsed.
 * @param text the text to be parsed.//from   w  w w. java 2  s.  c  om
 * @param reporter an {@link ErrorReporter} to collect warnings.
 * @return a representation of the parsed Thrift data.
 */
public static ThriftFileElement parse(Location location, String text, ErrorReporter reporter) {
    ANTLRInputStream charStream = new ANTLRInputStream(text);
    AntlrThriftLexer lexer = new AntlrThriftLexer(charStream);
    CommonTokenStream tokenStream = new CommonTokenStream(lexer);
    AntlrThriftParser antlrParser = new AntlrThriftParser(tokenStream);

    ThriftListener thriftListener = new ThriftListener(tokenStream, reporter, location);

    ParseTreeWalker walker = new ParseTreeWalker();
    walker.walk(thriftListener, antlrParser.document());

    if (reporter.hasError()) {
        String errorReports = Joiner.on('\n').join(reporter.formattedReports());
        String message = String.format(Locale.US, "Syntax errors in %s:\n%s", location, errorReports);
        throw new IllegalStateException(message);
    }

    return thriftListener.buildFileElement();
}

From source file:com.mulberry.arithemetic.Main.java

License:Open Source License

public static void main(String[] args) throws IOException {
    ParseTreeWalker walker = new ParseTreeWalker();
    Loader loader = new Loader();

    CSVLexer lexer = new CSVLexer(new ANTLRInputStream("1, 2, 3, 4, 5\n5, 4, 3, 2, 1"));
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    CSVParser parser = new CSVParser(tokens);
    ParseTree tree = parser.file().getChild(0);
    //walker.walk(walker, tree);
}

From source file:com.n8lm.zener.glsl.ShaderManager.java

License:Open Source License

private void addUniforms(GLShader shader, String code, String[] libnames) {

    GLSLStructuresVisitor svisitor = new GLSLStructuresVisitor();
    for (int i = 0; i < libnames.length; i++) {
        ANTLRInputStream input = new ANTLRInputStream(shaderSources.get(libnames[i]).getSource());
        GLSL430Lexer lexer = new GLSL430Lexer(input);
        CommonTokenStream tokens = new CommonTokenStream(lexer);
        GLSL430Parser parser = new GLSL430Parser(tokens);
        ParseTree tree = parser.translation_unit();
        svisitor.visit(tree);/*from  ww w .  j ava  2 s  . co m*/
    }

    ANTLRInputStream input = new ANTLRInputStream(code);
    GLSL430Lexer lexer = new GLSL430Lexer(input);
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    GLSL430Parser parser = new GLSL430Parser(tokens);
    ParseTree tree = parser.translation_unit();
    svisitor.visit(tree);

    UniformsDetector visitor = new UniformsDetector(svisitor, shader);
    visitor.visit(tree);
}

From source file:com.nextbreakpoint.nextfractal.mandelbrot.compiler.java.JavaReportCompiler.java

License:Open Source License

private ASTFractal parse(String source, List<CompilerError> errors) throws IOException {
    try {/*from   w  w  w  .  j av  a  2s.co  m*/
        ANTLRInputStream is = new ANTLRInputStream(new StringReader(source));
        MandelbrotLexer lexer = new MandelbrotLexer(is);
        CommonTokenStream tokens = new CommonTokenStream(lexer);
        MandelbrotParser parser = new MandelbrotParser(tokens);
        parser.setErrorHandler(new CompilerErrorStrategy(errors));
        ParseTree fractalTree = parser.fractal();
        if (fractalTree != null) {
            ASTBuilder builder = parser.getBuilder();
            ASTFractal fractal = builder.getFractal();
            return fractal;
        }
    } catch (ASTException e) {
        CompilerError error = new CompilerError(CompilerError.ErrorType.M_COMPILER, e.getLocation().getLine(),
                e.getLocation().getCharPositionInLine(), e.getLocation().getStartIndex(),
                e.getLocation().getStopIndex() - e.getLocation().getStartIndex(), e.getMessage());
        logger.log(Level.FINE, error.toString(), e);
        errors.add(error);
    } catch (Exception e) {
        CompilerError error = new CompilerError(CompilerError.ErrorType.M_COMPILER, 0L, 0L, 0L, 0L,
                e.getMessage());
        logger.log(Level.FINE, error.toString(), e);
        errors.add(error);
    }
    return null;
}

From source file:com.nishtahir.alang.ALang.java

License:Open Source License

/**
 * @param path path to file to be parsed
 * @throws IOException {@link IOException}
 *///from w  ww  .  ja va2s. c o  m
private void parseFile(final String path) throws IOException {
    File file = FileUtils.getFile(path);
    if (file.exists()) {
        ALangLexer lexer = new ALangLexer(new ANTLRFileStream(path));
        lexer.removeErrorListeners();
        lexer.addErrorListener(ALangErrorListener.getInstance());

        CommonTokenStream tokenStream = new CommonTokenStream(lexer);

        ALangParser parser = new ALangParser(tokenStream);
        parser.removeErrorListeners();
        parser.addErrorListener(ALangErrorListener.getInstance());

        ParserRuleContext tree = parser.compilationUnit();

        try {
            visitor.visit(tree);
        } catch (Exception e) {
            if (isVerboseOutput()) {
                e.printStackTrace();
            }
        }
    } else {
        LOGGER.error(file.getAbsolutePath() + " is not a valid file path.");
    }
}

From source file:com.nlbuescher.dictionarywriter.dictionary.D_entry.java

License:Open Source License

Element toElementWithDocument(Document document) {

    final EntryLexer lexer = new EntryLexer(new ANTLRInputStream(entryText));
    final CommonTokenStream tokens = new CommonTokenStream(lexer);
    final EntryParser parser = new EntryParser(tokens);

    final D_entryContext context = parser.d_entry();

    return elementFromContextWithDocument(context, document);
}