如何构建 ANTLR 代码生成目标

Aya*_*yal 4 code-generation antlr4

是否有“如何构建 ANTLR 代码生成目标”的 ANTLR4 版本。我知道有一个 ANTLR3 版本,但它似乎已经过时了。

Sam*_*ell 5

此时唯一真正的资源是ANTLR 4 C# 目标的存储库。它确实包含一个创建目标文档,但它不是最新的,并且某些部分(特别是发布结构)不正确。该项目的 Git 历史显示了我如何从 Java 运行时开始实现 C# 目标。

您应该注意以下几点:

  • 尽管从 ANTLR 运行时中删除了 AST 和 StringTemplate 功能,但由于添加了 ALL(*) 解析算法,ANTLR 4 运行时非常复杂。你应该在尝试创建 ANTLR 4 目标之前,精通数据结构、并行编程、Java 代码的语义以及目标语言的语义/库。
  • 通过使用Sharpen的修改版本来自动化大部分 Java 到 C# 的转换,极大地简化了 C# 目标的创建和维护。