我已经使用了ANTLR3很长一段时间了。我只是转而使用ANTLR 4.对于我的编译器类中的学生来说,这通常更容易理解。但是,我从书和其他文档中找不到它,如何制作构成解析树自定义类节点的标记和上下文。使用ANTLR 3我只是使用选项让生成的代码在生成的代码中重命名它们。在ANTLR 4中怎么样?是否有我能够找到的文档?
答案 0 :(得分:2)
在TokenFactory<CustomTokenType>
扩展CustomTokenType
的位置实施CommonToken
。在调用解析器之前,在词法分析器上设置TokenFactory(并根据需要设置解析器)。
在一些简单的例子中,查看源代码的'extras'目录中的书籍“The Definitive ANTLR 4 Reference”。这些将在书中讨论。
查看GenPackage/GenPackageModel的工作示例,特别是Converter.java中的parse方法。
Github还有其他一些例子 - 使用'language:antlr'作为搜索词。其他人被归类为他们的实施语言,所以有点难找 - “语言:java antlr”会找到很多。