ANTLRInputStream and ANTLRFileStream are deprecate

2019-02-25 20:17发布

问题:

If I use

ANTLRFileStream antlrFileStream = new ANTLRFileStream("myfile.testlang");

or

ANTLRInputStream input = new ANTLRInputStream( new FileInputStream("myfile.testlang") );

Compiler shows deprecation error for both the classes what is alternative?

回答1:

You can use CharStream instead of the deprecated classes as below.

CharStream codePointCharStream = CharStreams.fromFileName("myfile.testlang");
TESTLANGLexer lexer = new TESTLANGLexer(codePointCharStream);
TESTLANGParser parser = new TESTLANGParser(new CommonTokenStream(lexer));
parser.addParseListener(new TESTLANGEventListener());

// Start parsing
parser.testlangFile(); 


标签: antlr antlr4