4

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

4

1 回答 1

5

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

你应该注意以下几点:

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