如何在ANTLR4中生成AST?

时间:2014-04-15 13:01:29

标签: java compiler-construction antlr4

我正在开发一个项目,我必须为给定的程序生成抽象语法树。这里的程序可以是任何主流编程语言。在ANTLR4中生成AST的标准方法是什么?我只知道ANTLR4的基础知识,并且我能够为给定的程序生成Parse树。

1 个答案:

答案 0 :(得分:2)

ANTLR 4自动生成解析树,而不是依赖于手动结构化的AST。这个决定是在观察了多年的开发之后做出的,以前的方法遇到了极端的可维护性挑战,特别是涉及多个树解析器时。

如果需要源代码的抽象表示,则应创建一个准确表示语言结构的对象模型,而不是依赖于弱类型和通常非结构化的AST节点。然后,您可以使用解析树而不是AST来创建对象模型。

对于任何新项目,我都不建议使用ANTLR 3.

相关问题