是否有ANTLR4的ANTLR4语法

时间:2013-09-12 10:24:14

标签: antlr4

我知道ANTLR3有一个ANTLR3语法,在我看来,ANTLR4分布包含用ANTLR3编写的ANTLR4语法,但ANTLR4中是否有一个用ANTLR4编写的语法?

2 个答案:

答案 0 :(得分:3)

目前还没有官方语法,但有一种是作为ANTLRWorks 2的一部分提供的。这种语法肯定缺少官方语法中的一些错误报告功能,并且行为可能略有不同。

  • GrammarLexer.g4:这是词法分析器。语法使用abstract=true选项,该选项已从官方ANTLR版本中删除,因此语法仅适用于项目分支中的特殊4.1-opt版本。
  • GrammarLexer.java:这会扩展生成的AbstractGrammarLexer.java并提供emit()handleBeginArgAction()的必要实现。
  • GrammarParser.g4:这是解析器语法。它也标记为抽象,但目前不使用需要此选项的任何功能,因此可以将其删除。为了与词法分析器生成的代码保持一致,我将其包含在内。

答案 1 :(得分:3)

GitHub上也有一个由Terence Parr自己撰写。

https://github.com/antlr/grammars-v4/tree/master/antlr4