List of usage examples for org.antlr.v4.runtime BufferedTokenStream BufferedTokenStream
public BufferedTokenStream(TokenSource tokenSource)
From source file:basicint.Run.java
/** * @param args the command line arguments *///from w w w . j ava 2 s .c o m public static void main(String[] args) throws Exception { String fn = ""; if (args.length > 0) { fn = args[0]; } else { System.out.println("Usage: basic filename.basic"); System.exit(0); } ANTLRInputStream input = new ANTLRFileStream(fn); BasicLexer lexer = new BasicLexer(input); TokenStream tokens = new BufferedTokenStream(lexer); BasicParser parser = new BasicParser(tokens); parser.program(); }
From source file:com.cisco.yangide.core.parser.YangParserUtil.java
License:Open Source License
public static String formatYangSource(YangFormattingPreferences preferences, char[] content, int indentationLevel, String lineSeparator) { ANTLRInputStream input = new ANTLRInputStream(content, content.length); final YangLexer lexer = new YangLexer(input) { @Override/*from www . ja v a 2 s .co m*/ public void skip() { // disable skipping of comment tokens } }; LexerErrorListener errorListener = new LexerErrorListener(); lexer.addErrorListener(errorListener); final BufferedTokenStream tokens = new BufferedTokenStream(lexer); final ITokenFormatter formatter = new YangTokenFormatter(preferences, indentationLevel, lineSeparator); while (tokens.LT(1).getType() != IntStream.EOF) { formatter.process(tokens.LT(1)); tokens.consume(); } if (errorListener.isErrorDetected()) { // Source that contains parsing errors should never be formatted return String.valueOf(content); } return formatter.getFormattedContent(); }
From source file:fr.obeo.emf.ceson.CesonRuntime.java
License:Open Source License
/** * Create a parser.// ww w .j a va2 s . c om * * @param input * the parser's input. * @return the created {@link CesonParser} */ private CesonParser createParser(String input) { TokenStream stream = new BufferedTokenStream(new CesonLexer(new ANTLRInputStream(input))); CesonParser parser = new CesonParser(stream); return parser; }
From source file:linguagenzinha.Run.java
/** * @param args the command line arguments * @throws java.io.IOException//from www.j a v a 2 s.c o m */ public static void main(String[] args) throws IOException { String filename = "teste.src"; //LEXER CharStream charInput = new ANTLRFileStream(filename); MiniLangLexer lexer = new MiniLangLexer(charInput); //---- TokenStream input = new BufferedTokenStream(lexer); //---- //PARSER MiniLangParser parser = new MiniLangParser(input); MyListener listener = new MyListener(); parser.addParseListener(listener); //---- MiniLangParser.ProgContext prog = parser.prog(); showParseTreeFrame(prog, parser); }
From source file:org.mini2Dx.yarn.parser.YarnTreeParser.java
License:Open Source License
private void parseNodeContent(String nodeContent) throws IOException { YarnLexer yarnLexer = new YarnLexer(new ANTLRInputStream(nodeContent)); YarnParser yarnParser = new YarnParser(new BufferedTokenStream(yarnLexer)); NodeContext nodeContext = yarnParser.node(); ParseTreeWalker parseTreeWalker = new ParseTreeWalker(); parseTreeWalker.walk(this, nodeContext); if (!ifStack.isEmpty()) { throw new YarnParserException("<<if>> statement was not closed with an <<endif>> statement"); }/*from w w w . j ava2 s. co m*/ }
From source file:org.openehr.adl.parser.AdlDeserializer.java
License:Open Source License
public DifferentialArchetype parse(Reader reader) throws IOException { try {//from w w w . jav a 2 s . c om CharStream charStream = new ANTLRInputStream(reader); Lexer lexer = new adlLexer(charStream); adlParser parser = new adlParser(new BufferedTokenStream(lexer)); AccumulatingErrorListener errorHandler = new AccumulatingErrorListener(); parser.removeErrorListeners(); parser.addErrorListener(errorHandler); adlParser.AdlContext context = parser.adl(); if (!errorHandler.getErrors().isEmpty()) { throw new AdlParserException(Joiner.on("\n").join(errorHandler.getErrors())); } AdlTreeParser treeParser = new AdlTreeParser(); return treeParser.parseAdl(context); } finally { reader.close(); } }
From source file:org.xgmtk.lore.ast.ASTBuilder.java
License:Apache License
private static LoreParser getParser(URL source, String encoding) throws FileNotFoundException, IOException { InputStream in = source.openStream(); InputStreamReader rd = new InputStreamReader(in, encoding); System.err.println("[" + LoreParser.class.getSimpleName() + "] File: \"" + source + "\", Encoding: \"" + rd.getEncoding() + "\""); ANTLRInputStream ain = new ANTLRInputStream(rd); LoreLexer lexer = new LoreLexer(ain); TokenStream tstream = new BufferedTokenStream(lexer); LoreParser parser = new LoreParser(tstream); return parser; }