java - ANTLR4 grun Java 错误监听器

标签 java antlr4

在对 antlr 语法的输入进行词法分析/解析时,我希望出现错误异常,这些错误与使用 antlr 网站快速启动窗口中的 grun 别名时出现的错误相同。

我停用了解析器和词法分析器错误监听器

lexer.removeErrorListeners();
parser.removeErrorListeners();

因为他们报告了歧义和其他我不关心的东西,因为解析过程是成功的。

如何设计一个错误监听器来报告由于解析失败而产生的错误?

最佳答案

您可以创建自己的错误监听器。只需创建一个派生自基本错误监听器类的类,创建一个实例并通过 parser.addErrorListener() 添加该实例即可。

旁注:通常词法分析器没有错误监听器,与 ANTLR4 一样,首选处理是让词法分析器错误通过始终跟随的解析器错误来处理。

关于java - ANTLR4 grun Java 错误监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39690505/

相关文章:

java - Eclipse 在 Antlr 生成的没有文件的代码目录上显示警告,但在其子目录上不显示警告

antlr4 如何修复词法分析器模式隐式标记错误?

java - 如何在java中用两个单引号替换字符串中的单引号?

java - Spring集成测试: Can not find bean for class in dependent module

java - 获取托管特定网站的服务器位置

antlr4 - 为什么在将 token 分配给 channel 时出现错误?

javascript - antlr 生成词法分析器但不生成解析器

java - 何时在 Hibernate 中使用 @OneToOne 注释?

java - 修改黑莓 OS5-7 BrowserField 中的后退按钮行为

java - exitEveryRule 是 Antlr4 中捕获规则数据(源行)的最佳位置吗?