【发布时间】:2013-09-08 23:34:39
【问题描述】:
这个问题很基础。如果我有一个句子和一个语法,我如何有效地检查这个句子是否是语法的一部分。通过有效的方式,我的意思是一种使用最少计算量/资源的方式。这就是我所做的。我实现了一个类ErrorListener,它扩展了已经定义的BaseErrorListener。此类ErrorListener 有一个字段boolean error,它告诉我们在解析阶段是否遇到解析错误。开始时error 设置为false,并在调用public void syntaxError(...) 时更新为true。同样在解析器的启动状态被调用之前
ErrorListener listener = new ErrorListener();
parser.removeErrorListeners();
parser.addErrorListener(listener);
被调用。因此,在运行了一些测试之后,我表示认为这种方法可能不是最佳方法,特别是如果它是作为查询形成的。所以我想知道有没有其他方法可以做到这一点?
【问题讨论】: