特に反復的なコード生成を生成するためのC/C++用のテンプレートベースコードジェネレーターに対する提案はありますか? (UML/MATLABモデルベースまたはその他の高度なものではありません)。この分野の初心者にとって、優れた一般的なチュートリアル(ツールベースではない)はありますか?
私は偶然出会った GNU Autogen 良さそうに見えますが、急な学習曲線が必要なようです。 IDEのようなEclipseのプラグイン、使いやすく、最も重要な優れたチュートリアルが好きです。
コード生成の基本的な概念は非常に単純であり、人々のニーズは十分に多様であるため、そこにはかなりの数のオプションがあります。
あなたのニーズが何であるか、そしてあなたが快適に使えるツールについてもっと知らなければ、私はより具体的な推奨を与えることはできません。
私はEclipseプラグインを提供するものについて何も知りません。
Pythonを知っている場合、Cogは軽量のソリューションと見なすことができます。 http://www.python.org/about/success/cog/
Templet のようなもの、または無数のLuaベースのプリプロセッサの1つを使用して、このタスクにLuaを使用することに感謝します。 PythonのようなものよりもLuaを使用する利点は、必要に応じて、テンプレートプロセッサのソースコードと基本的なLuaインストールを、出荷するものと一緒に含めることができることです。次に、通常どおり、Luaのコンパイルとそれに続くテンプレートファイルをビルドプロセスに追加します。
1つの理由で、Pythonベースのソリューションを使用しないことをお勧めします。完全に異なるが互換性のないバージョンのすべての開発者の使用を満たすために、さまざまなpythonをジャグリングするのは面倒です。ツリーに埋め込めない言語を使用する場合は、事前に計算されたバージョンが利用可能であることを確認する必要があります。
Eclipseベースの軽量テンプレート生成ジェネレーターであるM2T-JETを使用した Javaクラス の同様の質問に対する私の回答を見てください。 JETは言語にとらわれないため、かなり簡単に使用できることが例からわかります。
パーティーに遅れますが、私はお勧めします Codeworker 上記のツールなどすべてを実行できる唯一のツールです。 Python埋め込み生成用のCogのような機能があり、TempletやPumpのようなテンプレートベースの生成があります。保護された領域というかなり便利な機能があり、必要に応じてコードをカスタマイズできます。再生成します。
ボイラープレートのすべてのc ++コードの生成や、SQL、config、javascriptなどのプロジェクトの構成に使用しました。