DSL を定義する必要があるプロジェクトに取り組んでいます。私のプロジェクトにとって適切な DSL を考え出すことは非常に重要であるため、DSL の定義、解析、およびコード生成 (.NET ベースの言語でなければならない) に役立つ既存のフレームワークを評価することにしました。検討したフレームワークは次のとおりです。
- DSL を定義するのに理想的な、カスタマイズ可能なコンパイラと pythonish 構文を備えた Boo 言語。
- 拡張可能なコマンドレットをサポートする Windows PowerShell。
- ビジュアル モデリングをサポートする Microsoft DSL ツールですが、柔軟性は低くなります (私の意見では)。
- 実績のあるツールであるANTLR
- C# 流暢なインターフェイス (これにはあまり満足していません)
- Oslo フレームワーク (本番環境で使用するには成熟していますか?)
上記のフレームワークにはそれぞれ長所と短所があり、私は決定を下すことができません.上記のフレームワークから選択する場合、どれを選択しますか?
私が見逃したかもしれないほど基本的なフレームワークは他にありますか?
ヘルプやガイダンスをいただければ幸いです。