List of usage examples for org.antlr.v4.runtime CommonTokenStream CommonTokenStream
public CommonTokenStream(TokenSource tokenSource)
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); }