在对 antlr 语法的输入进行词法分析/解析时,我希望出现错误异常,这些错误与使用 antlr 网站快速启动窗口中的 grun 别名时出现的错误相同。
我停用了解析器和词法分析器错误监听器
lexer.removeErrorListeners();
parser.removeErrorListeners();
因为他们报告了歧义和其他我不关心的东西,因为解析过程是成功的。
如何设计一个错误监听器来报告由于解析失败而产生的错误?
最佳答案
您可以创建自己的错误监听器。只需创建一个派生自基本错误监听器类的类,创建一个实例并通过 parser.addErrorListener()
添加该实例即可。
旁注:通常词法分析器没有错误监听器,与 ANTLR4 一样,首选处理是让词法分析器错误通过始终跟随的解析器错误来处理。
关于java - ANTLR4 grun Java 错误监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39690505/