我正在开发一个项目,我必须为给定的程序生成抽象语法树.这里的程序可以是任何主流编程语言.在ANTLR4中生成AST的标准方法是什么?我只知道ANTLR4的基础知识,我能够为给定的程序生成Parse树. 最佳答案 ANTLR 4自动生成解析树,而不是依赖于手动结构化的AST.这个决定是在观察了多年的开发之后做出的,先前的方法遇到了极端的可维护性挑战,特别是涉及多个树解析器时.
如果需要源代码的抽象表示,则应创建一个准确表示语言结构的对象模型,而不是依赖于弱类型和通常非结构化的AST节点.然后,您可以使用解析树而不是AST来创建对象模型.
对于任何新项目,我都不建议使用ANTLR 3.