2004/08/30(月)doxygen + Delphi
2004/08/29 24:00
Delphi(Object Pascal)のソースをdoxygenでドキュメント化させてみようと思い立つ。
doxygenはデフォルトではpascalのソースに対応していないが、pas2doxというツールがある。こいつはpascalのソースをCっぽいソースに変換してくれる。あとはdoxygenに渡すだけである。
ところが、単体のファイルをコマンドラインでちまちまやるとできるのに、doxygenに一括で処理させると上手くいかなかった。設定ファイルの書き方に注意が要る。
以下、上手くいったときのdoxygenファイル抜粋。
#--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = d:\renamer FILE_PATTERNS = *.c \ *.cc \ *.cxx \ *.cpp \ *.c++ \ *.java \ *.ii \ *.ixx \ *.ipp \ *.i++ \ *.inl \ *.h \ *.hh \ *.hxx \ *.hpp \ *.h++ \ *.idl \ *.odl \ *.cs \ *.php \ *.php3 \ *.inc \ *.m \ *.mm \ *.pas RECURSIVE = YES EXCLUDE = EXCLUDE_SYMLINKS = NO EXCLUDE_PATTERNS = EXAMPLE_PATH = EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO IMAGE_PATH = INPUT_FILTER = c:\online\doxygen\bin\pas2dox.exe FILTER_PATTERNS = FILTER_SOURCE_FILES = YESFILE_PATTERNSに*.pasを追加し、FILTER_SOURCE_FILES = YESにする。
注意点は、INPUT_FILTER, FILTER_PATTERNSに関して。
・INPUT_FILTER
コマンドパスを書くときに、""(ダブルクォーテーション),クォーテーション無しはOK。''(シングルクォーテーション)は×。
コマンドはフルパスで書く必要がある。(doxygenのフォルダ)/binに置いても、フルパスでないとダメなようだ。エラーメッセージ出せよ……
・FILTER_PATTERNS
新しいオプションのようだ。*.pas、"*.pas"等指定してもうまくいかない。
d:/renamer/FileNameAnalyze.pas:23: Warning: Found ';' while parsing initializer list! (doxygen could be confused by a macro call without semicolon)というエラーが延々出てしまう。軽く調べてみたが、書き方のサンプルも見つからない。機能していないのだろうか? 今のところ、空白にしておくのが正解のようだ。