こんにちは、高木です。

前回は関数宣言をPHPで自動生成しました。以前にも関数宣言の自動生成をやりましたが、前回はそれをさらに進歩させてC++にも対応しました。今回は関数宣言に生成したのと同じ配列を使って、関数ヘッダーのコメントを自動生成したいと思います。

関数ヘッダーのコメントを生成するためには、前回の情報を多少は拡張する必要があります。前回の構造体だけでは、その関数がどんな機能を持つかの説明は前回のデータだけでは不十分です。そこで、今回は構造体を次のように拡張することにします。

配列の最後のキー’doc’が今回拡張した部分です。今回はこの構造体を使って、Doxygenに対応したコメントを生成させます。

さっそくコメントを生成するコードを見ていきましょう。

make_doxygen_function_comment関数というちょっと長い名前ですが、必要な情報を詰め込むとこんな感じになってしまいます。今回も前回と同様、見通しをよくするためにエラーチェックは行っていません。あらかじめご了承ください。

コメントの形式は /**~*/ を使っていますが、/// を1行ごとに並べてもいいでしょう。その場合はmake_doxygen_function_comment関数を修正する必要がありますが、そうした変更も簡単にできるはずです。

前回と今回作った関数を使って、次のように並べてあげればDoxygenのコメント付きの関数宣言を生成できます。

せっかくなので生成結果も掲載しておきますね。

こんな感じで、PHPを使った前処理でかなりたくさんのことができます。