Antlr4:如何在生成的解析树中显示语法的每个解析器规则?

时间:2018-03-21 13:02:23

标签: java antlr antlr4 abstract-syntax-tree parse-tree

我正在使用Eclipse和来自https://gist.github.com/bkiers/91827bdfa2b97679568c的AST类。 我正在研究更复杂的语法。一个新的解析规则没有出现在我生成的解析树中,我不知道为什么 - 它是唯一没有出现的规则。 之前,代码中的逻辑子树是这样的:

text (parse rule)
| 
regexA (Regular Expression of child parse rules and lexer rules)

现在逻辑结构是这样的:

text (parse rule)
|
 -correct (parse rule)
|  |
|   - expression of child parse rules and lexer rules (lets say "regexA")
| 
 -error (parse rule)
   |
    - slightly changed version of regexA (lets say regexB)

规则"正确"和"错误"未生成的解析树中未显示。我知道,在某种程度上,这些并不重要,并且可能是透明的。 但是由于regexA和regexB没有明确地标记为 - 但是复杂的表达式,也是在生成的解析树中 - 对我来说很重要,如果它们是"正确"的一部分。或者"错误",因为通过查看表达式本身的子树来解决这个问题需要花费很多时间。

那么如何在生成的解析树中显示缺少的解析规则? 感谢您的帮助:)

0 个答案:

没有答案