这个问题是基本够用。 如果我有一个句子和语法我怎么能有效地检查这句话是否是语法的一部分。 通过有效的方式我的意思是,它使用的计算/资源量最小的方式。 这里就是我所做的。 我实现了一个类ErrorListener
延伸已经定义BaseErrorListener
。 这个类ErrorListener
有单场boolean error
,它告诉我们,在分析阶段是否遇到解析错误。 在一开始error
被设置为false
,并更新到true
当public void syntaxError(...)
被调用。 之前也解析器的起始状态被调用语句
ErrorListener listener = new ErrorListener();
parser.removeErrorListeners();
parser.addErrorListener(listener);
叫做。 所以在运行一些测试中,我指出后认为,这种做法可能不会特别是如果这形成为查询的最佳之一。 所以我想知道有没有做这一切的另一种方式?