私は Javascript 用のパーサー ジェネレーターを調べていて、いくつか (つまり、PEG.js) を見つけました。
ただし、これらが Google Closure Compiler のようなものとどの程度うまく機能するかは明らかではありません。
たとえば、PEG.js のように見えますが、ルールの一部として実行するコードを与えることができますが、関数 (コンパイラによって名前が変更される可能性がある) をルールにバインドするにはどうすればよいでしょうか?
さらに、どのパーサーがシンボル テーブルの受け渡しをサポートしているかは不明です。たとえば、「A or B」のような式を受け入れる文法を定義したいとします。「A」と「B」の値は実行時に定義されます。たとえば、ユーザーが表示しているレコードの属性として定義されます。
もちろん、PEG.js は必須ではありません。検索結果に表示され、使用可能に見える唯一のパーサー ジェネレーターです。