現在、私が扱っているプロジェクトは、(外部からの影響のために)完全に固定されたモデルを持っていないので、それらを書く際に柔軟性を持たせたいと思います。現在、それらはアプリケーションの3つの異なるレイヤー(db、web apiおよびclient)に複製されており、それぞれに同様のロジックがあります(つまり、検証)。DSLを使ってC#コードを生成する
モデルファイル(ルビーなど)を作成して、そのモデルを必要なC#ファイルに変換する方法があるのだろうかと思っていました。現在のところ、どのステージでも変更できる定型コードをたくさん書いているようですが、このアプローチではもっと重要なことに集中することができます。
誰かがこれのようなものを推薦していますか、これを行うことができるDSL /言語ですか、誰もこのようなことに関する経験はありますか?
多くの本格的なコンパイラは、実際にはコードジェネレータです。オリジナルのC++コンパイラ、cfrontはストレートCコードを生成し、EiffelとHaskellもバイナリに進む前にCにコンパイルします。 –
すべてのコンパイラはコードジェネレータであり、人にやさしいコードを生成しない可能性があります。機械コード命令でさえ、典型的には、プロセッサ内に埋め込まれたマイクロコードによって解釈されるより高レベルの命令である。 –