ツール間で公正な比較をしようとしていますが、それは本当に難しいです。
Xtext はコード生成とは関係ありません。エディターとパーサーを作成するためのものです。
Xtend2 は、同様の構文を持つ Xpand の後継として設計されていますが、コード生成に特化したものではなく、コード生成にも適切に使用できる汎用言語として設計されています。他の生成エンジンとの主な違いは、ソース コード レベルで作業し (基本的に、Xtend2 は Java に変換します)、生成を駆動する独自のエンジンを提供する必要があることです。この理由 - Xpand の場合と同様です。
Acceleo は、単純なコード生成に合わせて調整されています。その構文はコード生成用の OMG 仕様に基づいており、コード生成を開発するためのフル機能の IDE を提供します。ただし、コード生成中に複雑な制御構造が必要な場合は、最適なソリューションではない可能性があります。
M2T-JET については、Chris が提案したように、非常に特定のニーズがある場合を除いて、私は反対票を投じます。開発サポートははるかに弱く (エディターなど)、Xpand/Xtend/Acceleo のより高いレベルのルールベースのアプローチとは対照的に、出力用の単一のテンプレートを持つという考えに基づいています。これにより、コード生成時のパフォーマンスがいくらか向上しますが、テンプレートが理解しにくくなることがよくあります。この段落は否定的すぎるため無視してください。
全体として、EMF モデルのみを使用している場合は、Acceleo と Xtend の両方がコード生成に適した選択肢となる可能性があり、自分 (またはチーム) の専門知識とより具体的なニーズに基づいてどちらかを選択する必要があります。EMF モデルと他のデータ ソースの両方をサポートする必要がある場合、Acceleo は最良の選択ではありません。ただし、JET も Xtend も、入力が EMF モデルであるという事実に基づいて構築されていませんが、利用可能な Java コードを簡単に呼び出す方法を提供しています。