是否有可能从Antlr4指示错误恢复机制为具有错误的给定规则构建空树?
我不想丢失整个解析树,只想丢失与解析问题的根规则相关的子树。
如果我们有类似的话:
ruleA : ruleB | ruleC;
ruleB : something
| somethingElse;
ruleC: ...;
如果subrule something
抛出NoViableAltException,那么我不想要ruleB的解析树。
答案 0 :(得分:0)
您不仅无法控制规则的子树,而且甚至无法在任何地方影响解析器构造。根据前瞻和错误的位置,即使大部分输入都匹配,这样的错误也会导致整个解析运行失败并返回一个空的解析树。