0

在许多情况下,完整的 AST(如语法规范中所指定)非常棒,因为其他代码可以获得任何语法细节

看看这个AST 森林

在此处输入图像描述

我的 ANTLR 生成的解析器旨在静态分析一种编程语言。因此,这棵树variable -> base_variable_with_function_calls -> base_variable ...不会引起人们的兴趣。

仅此事实,$d 是一个 Compound_variable就足够详细了。

因此:我可以以某种方式将 tar ANTLR 生产规则设置为瞬态,以便 ANTLR 静默解析语法规则,但不创建中间 AST 节点?

显然,这样的标签只能应用于具有单个子节点的产品。

4

1 回答 1

1

不,ANTLR 4 不支持这一点。生成的分析树将包含语法匹配的每个标记,并将包含RuleNode语法调用的每个规则。

于 2013-09-20T02:19:03.507 回答