Anltr4中的错误恢复和解析树

时间:2018-06-17 07:59:42

标签: parsing error-handling antlr4

是否有可能从Antlr4指示错误恢复机制为具有错误的给定规则构建空树?

我不想丢失整个解析树,只想丢失与解析问题的根规则相关的子树。

如果我们有类似的话:

ruleA : ruleB | ruleC;
ruleB : something
      | somethingElse;
ruleC: ...;

如果subrule something抛出NoViableAltException,那么我不想要ruleB的解析树。

1 个答案:

答案 0 :(得分:0)

您不仅无法控制规则的子树,而且甚至无法在任何地方影响解析器构造。根据前瞻和错误的位置,即使大部分输入都匹配,这样的错误也会导致整个解析运行失败并返回一个空的解析树。