是否可以从Antlr4指示错误恢复机制,为有错误的给定规则构建空树?
我不想丢失整个解析树,而只丢失与解析问题的根规则有关的子树。
如果我们有这样的事情:
ruleA : ruleB | ruleC;
ruleB : something
| somethingElse;
ruleC: ...;
如果子规则
something
例如抛出NoViableAltException,那么我不希望RuleB的解析树。
最佳答案
您不仅不能控制规则的子树,而且甚至不可能影响任何地方的解析器构造。根据前瞻性和错误发生的位置,即使很多输入匹配,这种错误也可能导致整个解析运行失败并返回空的解析树。
关于parsing - 错误恢复并解析Anltr4中的树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50894769/