RPythonツールチェーンを使用して言語を実装する例を高く評価しましたが、これまでに見つけたのは、作成者が単純なBFインタープリターを作成したものだけです。文法は非常に単純なので、パーサー/レクサージェネレーターを使用する必要はありません。RPythonでの言語開発をサポートするフロントエンドはありますか?
ありがとう!
特にRPythonをターゲットとする一般的なレクサーまたはパーサージェネレーターを知りません。Python出力のあるものは動作するかもしれませんが、私はそれには賭けません。ただし、には一連の解析ツールがありrlib.parsing
ます。かなり使いやすいようです。OTOH、ドキュメントに警告があります:伝えられるところによると、それはまだ開発中であり、実験的であり、これまでのところPrologインタープリターにのみ使用されています。
または、フロントエンドを手動で作成することもできます。レクサーは煩わしく不自然である可能性があります(Python実装で使用されるDFAのユーティリティモジュールを削除できる場合があります)。しかし、適切なアルゴリズムを知っていれば、パーサーは簡単です。私は「トップダウン演算子の優先順位パーサー」、別名「プラットパーサー」の大ファンです。これは、適度に単純(再帰下降)ですが、すべての式の構文解析の問題(ネスト、優先順位、結合性など)を簡単にします。気のめいるようにそれらに関する情報はほとんどありませんが、いくつかのブログ投稿は私にとって十分でした: