如何以编程方式检测解析器生成的错误?比如这个语法:
Application
此程序输入:s : 'hello' ;
"foo bar"
解析器会打印出ParseTree tree = parser.s();
。有没有办法以编程方式检测解析失败?它似乎没有任何异常。
答案 0 :(得分:0)
实现ANTLRErrorListener接口并将其添加到解析器:
Parser#addErrorListener(ANTLRErrorListener);
通常,想要首先删除默认的控制台 - 输出侦听器:
Parser#removeErrorListeners()