如何在antlr4 JavaScript运行时中设置PredictionMode.SSL

时间:2017-04-13 10:05:59

标签: javascript antlr4

我在项目中使用antlr4 JavaScript运行时来解析自定义布尔查询语言。我注意到一些更复杂的查询解析速度相当慢,我四处寻找解决方案。

Java文档非常好,通常JavaScript运行时几乎完成了Java所做的一切,所以我找到了一个在这个github问题中看起来不错的解决方案:https://github.com/antlr/antlr4/issues/192

它建议采用两阶段解析策略,首先将错误策略设置为BailErrorStrategy并使用PredictionMode.SLL,如果出现错误,请回退到DefaultErrorStrategyPredictionMode.LL

我的问题是:如何使用JavaScript运行时设置PredictionMode?我从npm使用antlr4版本4.6.0,而ParserATNSimulater似乎没有像Java文档建议的setPredictionMode方法。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

在源代码中查看ParserATNSimulator中有一个公共属性(this.predictionMode,第272行)。应该这样做,对吗?