首页 文章

ANTLR4是否有ANTLR4语法[关闭]

提问于
浏览
0

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

2 回答

  • 3

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

    • GrammarLexer.g4:这是词法分析器语法 . 语法使用 abstract=true 选项,该选项已从官方ANTLR版本中删除,因此语法仅适用于项目分支中的特殊4.1-opt版本 .

    • GrammarLexer.java:这扩展了生成的 AbstractGrammarLexer.java ,并提供了 emit()handleBeginArgAction() 的必要实现 .

    • GrammarParser.g4:这是解析器语法 . 它也标记为抽象,但目前不使用任何需要此选项的功能,因此可以将其删除 . 我将它包含在与为词法分析器生成的代码的一致性中 .

  • 2

    GitHub上还有一个由Terence Parr亲自撰写 .

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

相关问题