私は言語パーサをPHPで書いていますを探しています。PHPで書かれた言語パーサーライブラリ
目標はです。カスタム言語を読んで、PHPコードを読んではいけません。
基本的には、言語の構文を指定し、コードスニペットを与え、それを表す構造体を取得したいと考えています。次に、コードスニペットを実行するためにその構造をトラバースすることができます。私は構造がASTであると信じていますが、これが唯一の選択肢であるかどうかは分かりません(私はパーサーとその語彙に親密ではありません)。
私はDoctrine DQL parserを見ましたが、一般的な言語パーサのようには見えません。
http://wezfurlong.org/blog/2006/nov/parser-and-lexer-generators-for-php/ - sourceforgeにも1つありますが、リンクを検索するには怠惰です。あなたはレモンで始めることができますが、通常は簡単に始めることができますが、生成されたPHPクラスのファイルサイズを見ると落ちることはありません。 – hakre
質問を終了したい人は、 –
@hakreを説明してください。面白いので、LemonはPHPで書かれたパーサーを生成しますか?私はそれを調べます。私はむしろ代わりに汎用的なPHPのライブラリを解析したいと思います(言語が進化すれば、Lemonと前後することを避けます)。 –