18

ドメイン固有の言語を記述するための構文解析式文法形式に惹かれていますが、これまでのところ、実装コードは Java や Haskell などの言語で書かれており、私の組織の共有ホスティング環境では Web サーバーに適していません。一緒に暮らす必要があります。

JavascriptまたはPHP用のPEGライブラリまたはPackRatパーサージェネレーターを知っている人はいますか? もちろん、Javascript や PHP のソース コードを生成できる任意の言語のコード ジェネレーターを使用すれば、うまくいきます。

4

7 に答える 7

16

私は最近、JavaScript 用の PEG ベースのパーサー ジェネレーターであるPEG.jsを作成しました。コマンドラインから使用することも、ブラウザから試すこともできます。

于 2010-03-19T09:01:53.630 に答える
10

実際、Javascript 用の OMeta があります。http://www.tinlizzie.org/ometa/

これのバージョンも Python で実装しました: http://github.com/python-parsley/parsley

于 2008-09-17T03:20:14.260 に答える
4

php PEG https://github.com/maetl/php-peg

この投稿は本当に古いですが、私はグーグルを通してそれを見つけました、そしてそれは答えられるべきでした

于 2011-03-15T22:29:25.817 に答える
2

Language.js :

Language.js は、オープン ソースの実験的な新しいパーサーで、PEG (Parsing Expression Grammar) に基づいており、独自の新しい方法でエラーを処理するために「いたずらな OR」演算子が特別に追加されています。メモ化を利用して、線形時間の解析速度を実現します

于 2012-11-12T02:46:23.560 に答える
1

また、非常に使いやすい PEG ジェネレーター/ライブラリーである JavaScript 用のKoupreyもあります。

于 2009-09-01T19:22:31.113 に答える
0

https://github.com/leblancmeneses/NPEGを見ると、 php に簡単に変換できます。解析木は無名関数で作成されます。

于 2008-10-25T07:20:43.550 に答える
-3

ANTLRを見たことがありますか? レクサーとパーサー コードを生成し、抽象構文ツリーを処理し、コードを挿入して、レクサー/パーサー コードに挿入する文法を作成し、さまざまな言語で使用できます。

于 2008-09-17T03:21:22.633 に答える