Javacc文法ファイル(.jj)を受け入れ、(Javaではなく)Javascriptでパーサーを生成するパーサージェネレーターを探しています。そのようなものは存在しますか?あるいは、.jjファイルをANTLR(Javascriptを出力できる)が理解できるものに変換するのはどれほど難しいでしょうか?
4 に答える
Javacc文法ファイル(.jj)を受け入れ、(Javaではなく)Javascriptでパーサーを生成するパーサージェネレーターを探しています。そのようなものは存在しますか?
どうやら、いいえ。
あるいは、.jjファイルをANTLR(Javascriptを出力できる)が理解できるものに変換するのはどれほど難しいでしょうか?
それは自明ではないでしょう、そしてあなたはそれを手でする必要があるでしょう。ただし、実際の難易度は、変換しようとしている文法によって異なる可能性があります。
Javascriptでパーサーを出力する他のパーサージェネレーターがあることは注目に値します。(そして、いいえ、私はそれらをリストしたり、推奨したりするつもりはありません!)
明らかに、入力言語はJavacc入力とは異なります。
GoogleのGWTは、JDKの特定のサブセットのみが使用されている限り、JavaコードをJavaScriptにコンパイルします。また、GWT固有のがらくたがどれだけもたらされるかもわかりません。しかし、それは可能性かもしれません。javaccを使用してJavaコードを生成し、次にGWTを使用してそれをJavaScriptに変換します。
最近、GWT互換のパーサーターゲットのサポートをJavaCCに追加しました(Java IOクラスへの依存はありません)。私は最近、JavaScriptパーサーをGWT経由で生成できるようにJavaCCを使用する方法について2つのブログを書きました。以下のリンク:
文法を書き直してもかまわない場合は、Kotlinの一般的なコードでパーサービルダーを作成したので、JavaScriptプラットフォームで実行されます。
文法構文はかなり単純で、EBNFに似ています。
詳細はこちらで確認できます。試してみたい場合は、ブラウザで実行されているデモへのリンクがあります。