web-dev-qa-db-ja.com

現時点で実行可能な言語指向プログラミング(MPS)のモデル駆動型アーキテクチャ

サイドプロジェクトとして、データモデルを記述し、そこから目的のコードファイルを生成するDSLを開発しています。これは モデル駆動型アーキテクチャ と呼ばれていると思います。私の部分的な既存の実装では、C#、CodeDOM、XML、およびXSLTを使用してこれを手動で実行しています。

これを行うためのより良い環境がすでに存在することを発見しました。私を最も魅了したのは [〜#〜] mps [〜#〜] と呼ばれ、これは 言語指向プログラミング)に続きます。 パラダイム。 この記事 、JetBrainsの共同創設者によって書かれたものは私にとって本当に目を見張るものでした。 LOPは、幅広いサポートが得られれば、次の大きなプログラミングパラダイムになる可能性が非常に高いと確信しています。 MPSでの短い経験から、MPSはまだ主にJava指向であることに気づきました。

私の質問は、Javaだけでなく、他の(複数の)言語のコードファイルを生成することがどれほど実現可能かということです。最初から完全な言語サポートは必要ないので、できれば、アジャイルな方法で言語を実装できる必要があります。例えば。最初に1つのタイプのみをサポートし、アクセス修飾子を追加します。

おそらく、他の(無料の)環境がすでにこれを箱から出して提供しています。

追伸:生成されたコードの命名規則などを細かく制御することが重要だと思います。これが、私が独自の実装を開始した理由の1つです。

更新:

答えから判断すると、私は.NETソリューションにしか興味がないと思われているようです。これは事実ではありません、他の提案は大歓迎です!

3
Steven Jeuris

また、言語指向プログラミングは大きな期待を示しており、可能性は素晴らしいと思います。フォローすると http://Twitter.com/markusvoelter または彼のブログを読む http://voelterblog.blogspot .com / かなりアクティブであることがわかります。

私がこれまで見てきたことでは、Java開発でも、C#の部分はさらに進化していません。 http://devnet.jetbrains.net/ thread/282730; jsessionid = C5F9CBBD449C2DFAC390EC18B4B6686 および http://code.google.com/p/mps-csharp/

C#プロジェクトは、それが実現可能であることを示しています。簡単ではないと思います。 VisualStudioとの統合が問題になります。

代替案として、以下を調べることができます。

End Oはい、用語について混乱が生じる可能性があります。

MDAはMDDのOMG標準です。いい説明については ここ を参照してください

1
KeesDijk

適切なLISP実装であれば、すべてのLOPツールをすぐに使用できます。 Nemerleのような言語でもうまく機能します。また、さまざまなターゲットプラットフォームを処理できる mbasehttp://www.Eclipse.org/Xtext/ などの特殊なDSL構築フレームワークがあります。

1
SK-logic