Pet*_*pin 8 abstract-syntax-tree antlr4
我有一个ANTLR3语法,可以构建一个抽象语法树.我正在寻求升级到ANTLR4.但是,似乎ANTLR4只构建解析树而不是抽象语法树.例如,output=AST不再识别该选项.此外,"The Definitive ANTLR4 reference"的文本中既没有出现"AST"也没有出现"抽象语法".
我想知道我是否遗漏了什么.
我的应用程序目前知道如何爬行ANTLR3生成的AST.更改它以处理解析树并非不可能,但这将是一项工作.在我开始走这条路之前,我想确定它是必要的.
ANTLR 4基于语法而不是基于任意AST运算符和/或重写规则的AST生成解析树.这允许ANTLR 4自动生成可以使用语法在代码中实现的侦听器和访问者接口.
对于从版本3升级现有应用程序的用户而言,这种变化可能非常显着,但总体而言,新系统更易于使用和(特别是)维护.