标签: java antlr
我有一个语法会抛出一个不匹配的输入异常,正如传递错误输入所预期的那样,但问题是它试图恢复导致Java.lang.outofmemoryexception并因此终止我不想发生的线程。
我该如何处理?我应该覆盖哪个功能,以便它不会尝试恢复,而是通知并继续?
答案 0 :(得分:0)
您可以覆盖解析器或lexer的reportError(...)方法,并抛出异常而不是让ANTLR(尝试)恢复。
reportError(...)
另见:ANTLR 3.0 Error Reporting and Recovery。