繁体   English   中英

如何在ANTLR4中生成AST?

[英]How to generate AST in ANTLR4?

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM