我正在使用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没有明确地标记为 - 但是复杂的表达式,也是在生成的解析树中 - 对我来说很重要,如果它们是"正确"的一部分。或者"错误",因为通过查看表达式本身的子树来解决这个问题需要花费很多时间。
那么如何在生成的解析树中显示缺少的解析规则? 感谢您的帮助:)