2017-04-13 33 views
1

我在項目中使用antlr4 JavaScript運行時來解析自定義布爾查詢語言。我注意到一些更復雜的查詢解析起來相當慢,我四處尋找解決方案。如何在antlr4中設置PredictionMode.SSL 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方法。任何幫助,將不勝感激!

回答

0

源代碼中的外觀顯示在ParserATNSimulator中有一個公共屬性(this.predictionMode,第272行)。應該這樣做,對吧?

+0

謝謝,這應該是訣竅。如果沒有,antlr4ts似乎有方法。 – rozza2058

+0

反正我推薦antlr4ts(從第一個alpha開始使用它)。對我來說工作得非常好,對於編寫節點模塊也很好。 –

相關問題