2004/08/30(月)doxygen + Delphi
2004/08/30 00: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 = YES
FILE_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)というエラーが延々出てしまう。軽く調べてみたが、書き方のサンプルも見つからない。機能していないのだろうか? 今のところ、空白にしておくのが正解のようだ。