« 予想外だった汁物: Asahi 黒茶 | トップページ | 今日のorz »

2008/01/14

DoxygenにVB(まとめ直し)

前回だらだら書いてしまったので、使い方をここにまとめ直します。

Doxygen公式サイトの"Helper tools & scripts"からダウンロードできるVisual Basic用フィルタはawkスクリプトとpythonスクリプトの2種類あります。

[1]awk版フィルター

  1. sh.exe、tee.exe、awk.exeを用意します。フィルターのダウンロード場所に入手先へのリンクがあります。
  2. ダウンロードして解凍したファイル一式と、sh.exe、tee.exe、awk.exeを同じディレクトリに置きます。フルパスに空白が含まれないような位置であること。
  3. 処理対象のVBソースもフルパスに空白が含まれないような位置に置きます。
  4. DoxygenのFILE_PATTERNSに"*.bas"、"*.frm"、"*.cls"などを指定します。
  5. DoxygenのINPUT_FILTERにvbfilter.batを設定し、フィルタを置いたディレクトリのフルパスを引数とします。
  6. その他都合に合わせて設定し処理を実行します。

(2008/1/28追記)Doxygen用コメントの付け方は付属のREADMEの後半に書かれてます。
(2008/2/22追記)一応ここにコメントの付け方をまとめておきます。

  • 最初の行は「'/**」、途中の行の先頭に「*」は付けず、最後の行は「'**/」とする。JavaDocスタイルと微妙に違うので注意。
  • クラスファイルの(VB上のエディタで見た)先頭にクラスの説明コメントを書く。
  • メンバへのコメントは宣言より前に書く。
  • 1行コメントは「''」で始める。
  • コメント内の識別子をdoxygenに認識させたい場合は、完全修飾名で書く。
  • doxygenのコマンドは「@」で始める。

[2]Python版フィルター

  1. Python処理系を用意します。入手先は、Python公式サイト日本Pythonユーザ会ActiveStateなど好きなように。
  2. vbfilter.pyはどこに置いてもいいようです。
  3. DoxygenのFILE_PATTERNSに"*.bas"、"*.frm"、"*.cls"などを指定します。
  4. DoxygenのINPUT_FILTERにvbfilter.pyをフルパスで設定します。
  5. その他都合に合わせて設定し処理を実行します。

(2008/2/22追記)一応ここにコメントの付け方をまとめておきます。

  • クラスのコメントは先頭を「'!」にする。
  • クラス以外のコメントは先頭を「'*」にする。

なお、どちらのフィルターも、関数やサブルーチンの宣言部のみをdoxygenが処理可能な形式に整形し、中身を空にしてしまうようなので、ドキュメント生成には使えますが、解析用途には使えなさそうです……orz

(2008/1/28: 処理対象の拡張子について追記)

(2009/4/8追記) 別の記事にてPython版フィルターを多少改造したものを公開してます。

|

« 予想外だった汁物: Asahi 黒茶 | トップページ | 今日のorz »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: DoxygenにVB(まとめ直し):

« 予想外だった汁物: Asahi 黒茶 | トップページ | 今日のorz »