2017年1月10日火曜日

DoxygenをつかってMELからドキュメントを抽出してみる

スクリプトの数が増えていくと、コメントなんかを読むためにファイルを開くのが面倒になります。
ソースコードからドキュメント作成できないかなぁと思っていたりしたのですが、まぁ、使うならDoxygenだろうと。

Doxygenの使い方を解説しているところは かなりありますが、MELに特化させている日本語サイトは見つからなかったので、備忘録。


まずはここから、
Doxygen の日本語サイト。
http://www.doxygen.jp/

Doxygen のインストーラへのリンクが分かりづらいので、ダウンロードサイトはこちら

A binary distribution for Windows. All versions of Windows since XP are supported.
のところですね。
doxygen-x.x.xx-setup.exe をダウンロードします。
※以降 1.8.13を元に説明します。


無事インストールできたら、スタートメニューから Doxywizard を起動。

GUIが立ち上がるので、設定を始めます。
基本的な部分は他の言語と同じ感じで良いようです。

Step 1:の欄には Doxygen の bin フォルダでも指定しておきましょうか。

作業エリアとしてこのパスが使われるみたいです。


Wizard - Project
プロジェクト名とかは とりあえず初期値のままでいくとして、ソースコードのパスと出力先を指定します。


自分の場合はSVNに登録してあるscriptsフォルダと出力先にdocというフォルダを作って指定しました。
サブフォルダが在る場合は、Scan recursively にチェック。

Wizard - mode


Documented entiries only にすることで Doxygen 用のコメントが記述されないと解析してくれませんが、MELだとゴミが増えるだけみたいなのでこちらにします。
※Include cross-referenced ~ にチェックを入れるとhtmlにソースコードが含まれます。
Optimize は初期値のままC++で。


Wizard - Output


HTMLだけをチェックします。
with navigation panel を選ぶと、こんな感じにフレームが作成されて便利です。


With search function のチェックで検索機能が付きます。
スクリプトコマンドが増えたてきら便利でしょう。


Wizard - Diagrams
クラス図とか依存関係の表を作ってくれるみたいですが、MELには反応しないようなので
No Diagrams で問題ないです。



次に Expert タブ。
いろいろ変更する部分があります。

まずは、日本語が出力できるように文字コードとかを UTF-8 から Shift-jis へ変更。

Expert - Project
    DOXYFILE_ENCODING = CP932
    OUTPUT_LANGUAGE = Japanese


Expert - Input
    INPUT_ENCODING = CP932

の2箇所。
片方だけで良いような記事もありましたが、環境依存だったりするみたいで安全策として両方変えます。



今度は Doxygen に.melファイルを認識させます。

Expert - Input - FILE_PATTERNS
に *.mel を入力して+で追加します。

Expert - Project - EXTENTION_MAPPING
では、mel=c と入力して+で追加します。

こうすることで、.melファイルをc言語のルールを使って解析してくれます。


最後に Expert - Build
ここは特にイジる必要は無いようです。
初期状態では、Wizard - mode で設定したDocumented entiries onlyが効いて何も出力されないですが、EXTRACT_ALLにチェックを入れるとDoxygenの雰囲気が味わえます。

この部分の設定は日本語サイトのマニュアルから設定、Build 関係のオプションを熟読する必要がありそうですね。
初期値と違う部分が赤くなってくれるので便利です。


いよいよRunタブでhtmlに出力です。
doxygen用のコメントを書いてあるファイルであればMELでもこんな感じで出力されます。



書式に沿ったコメントを書く手間が必要ですが、なかなか良い感じ。



インストールせずに手っ取り早くdoxygenを知りたい人は、Cプログラマのためのdoxygen が参考になるかと思います。

かなり綺麗にまとまっているのでオススメ。


0 件のコメント:

コメントを投稿