parsing - 错误恢复并解析Anltr4中的树

标签 parsing error-handling antlr4

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

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

如果我们有这样的事情:

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

如果子规则something例如抛出NoViableAltException,那么我不希望RuleB的解析树。

最佳答案

您不仅不能控制规则的子树,而且甚至不可能影响任何地方的解析器构造。根据前瞻性和错误发生的位置,即使很多输入匹配,这种错误也可能导致整个解析运行失败并返回空的解析树。

关于parsing - 错误恢复并解析Anltr4中的树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50894769/

相关文章:

javascript - 发送ajax响应的最佳实践是什么?

antlr - 使用 ANTLR4 设计灵活语言应用程序的一般策略

java - ANTLR4语法解析器问题

xml - Perl XML::Parser - 如何访问一个简单的解析树?

swift - 如何在单例类中共享变量

javascript - 从 URL 解析 JSON 并在 JavaScript 中获取值

java - 使用 ANTLR 的嵌套 boolean 表达式解析器

c++ - 在 C++ 中解析 char 数组

php - PHP错误处理

ruby-on-rails - JWT token 案例的状态码