如何在语法中捕获ANTLR3异常?我找到了很多Java示例,但我无法C++工作。
例如,a 在语法中有以下行:
func_expression : 'lengthof' '(' longid ')';
当缺少";"时如何处理错误?
我尝试在几乎所有地方添加catch
试图捕获 ANTLR异常,如此处所述。
我试图按照这里描述的覆盖displayRecognitionError()
。
也许我只是做错了。我想为C++目标获取一个简单的代码示例。
解决方案是阴影
displayRecognitionError(ANTLR_UINT8**, Parser::ExceptionBaseType*)
函数(它不是虚拟的)在解析器::上下文部分。