首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Antlr4 CommonTokenStream构造器

Antlr4 CommonTokenStream构造器
EN

Stack Overflow用户
提问于 2016-10-05 05:59:20
回答 1查看 1K关注 0票数 2

我从ANTLR4文档站点获取了一个源代码。

代码语言:javascript
复制
    JavaLexer lexer = new JavaLexer(input);
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    JavaParser parser = new JavaParser(tokens);
    JavaParser.CompilationUnitContext tree = parser.compilationUnit();// parse a compilationUnit

但是,新的CommonTokenStream是有问题的。因为没有新的CommonTokenStream(lexer)的构造函数。有一些构造函数--新的CommonTokenStream()和新的CommonTokenStream(TokenStream) --但是互联网中的许多例子都使用了这个构造函数,就像在代码中给出的那样,这就是Antlr4 Doc的例子。此外,JavaParser(CommonTokenStream)也没有构造函数。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-05 07:04:16

有新的CommonTokenStream()和新的CommonTokenStream(TokenStream)构造函数

不,在CommonTokenStream中有两个构造函数

  • CommonTokenStream(TokenSource tokenSource)
  • CommonTokenStream(TokenSource tokenSource, int channel)

不是你提到的那两个人。请参阅:http://www.antlr.org/api/Java/org/antlr/v4/runtime/CommonTokenStream.html

因为没有新CommonTokenStream(lexer)的构造函数。

每个生成的lexer都扩展了ANTLR4 4的Lexer类,它实现了TokenSource,所以做new CommonTokenStream(lexer)就很好了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39866405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档