プロジェクトでantlr4 JavaScriptランタイムを使用して、カスタムブール検索言語を解析しています。私はいくつかのより複雑なクエリが解析するのがかなり遅いことに気付きました。私は解決策を探しました。antlr4のJavaScriptランタイムでPredictionMode.SSLを設定するには
Javaドキュメントはかなり良いです、そして通常はJavaScriptランタイムは、Javaが行うほとんどすべてを行いますので、私はこのgithubの問題では良いオプションのように見える解決策が見つかりました:それは2を示唆https://github.com/antlr/antlr4/issues/192
を最初にエラー戦略をBailErrorStrategy
に設定し、PredictionMode.SLL
を使用して、エラーの場合にはおよびPredictionMode.LL
にフォールバックします。
私の質問はこれです:JavaScriptランタイムを使用してPredictionModeを設定するにはどうすればよいですか?私はnpmからantlr4バージョン4.6.0を使用していますが、ParserATNSimulaterはJavaドキュメントのようにsetPredictionMode
メソッドを持っていないようです。どんな助けもありがとう!
ありがとう、これはトリックを行う必要があります。もしそうでなければ、antlr4tsはその方法を持っているようです。 – rozza2058
とにかくantlr4tsをお勧めします(最初のアルファからそれを使用しています)。私のためにはうまく動作し、ノードモジュールの作成にも適しています。 –