vbfilter.pyを改造してみた
痛し痒しなら掻きむしればいいのよ(マテ)とばかりに、doxygenのpython版vbfilter、 vbfilter.py を改造してみました。
改良点はこんなようなところで
- Constを処理できるようにした。
- 配列の丸括弧を角括弧に書き換えて、正しく認識するようにした。
- 変数の初期値を処理できるようにした。
- 文字列定数内の"\"を2重化させるようにした。
- 戻り値型の明示の無い(=Variant型)関数に対応した。
- Enum型を処理できるようにした。
- 空行を通すようにして、コメントブロックの分離が維持できるようにした。
残存課題は
引数の表記をいじって無くてVBの語順のままなので、引数名と型名が逆に認識されている。(大きな問題ではないので放置)- 関数内部のコードには手を付けてないので、解析には相変わらず使えない。
- 行数が変わるので、ソースの何行目かという記述がでたらめになる。
とりあえず資料作成用には多少は使えるようになったかも。こんなでも公開したら使う人いるかな。
(2008/2/27 追記)
せっかくなので置いておきます。ライセンスはGPL、サポートとかするつもりはないので、自己責任ということでよろしくお願いします。
(2008/2/28 追記)
以下2点変更
- 引数の表記も書き換えるようにしました。
- 複数行に分割された行に対応しました。
(2008/4/9 追記)
- 文字列内の「'」をコメントと誤認識するのを修正しました。
- 「"」を含む文字列定数に対応しました。
- 引数の既定値が式の場合にある程度対応しました。
(2008/4/12 追記)
文字列定数内の「"」の処理を修正しました。
(2008/8/29 追記)
- プロパティプロシージャへの対応を修正しました。
- Enumの個別の値へのコメントがある場合に正しく処理できないのを修正しました。
| 固定リンク
この記事へのコメントは終了しました。
コメント
改造ありがとうございます。
VB.NET用のコンバータを探していますが、
これは、VB6.0用でしょうか?
メールもさせていただきましたが、教えていただければ助かります。
投稿: あきら | 2010/05/28 16:07
>あきら様
VB6.0用です。
VB.NETは手元に環境が無いので今のところ対応予定はありません。
投稿: りょー@管理人 | 2010/05/29 00:18