2023年3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

 

« 今週届いた本 | トップページ | 今週届いたもの »

2013年6月30日 (日)

覚書:doxygenで関数Call Treeを作る方法について

doxygenのXML出力のデータを使う方向で。

HTMLでは、参照元、参照先と表記されているところに該当するものが、XMLでは、referencesタグ、referencedbyタグに格納されている。
ただ、ここに格納されるものは、メソッドだけじゃなくメンバ変数も含まれている。
メソッドかどうかについて調べるには上記タグのrefid属性の値と、memberdefタグのid属性が同じところを探して、そこのkind属性が"function"かどうかでメソッドかわかる。(変数の時は"variable")

処理の順番としては、memberdefタグ内のdefinitionタグの値(メソッド名)をキーにしたハッシュテーブルを作って、referencesタグ、referencedbyタグの値を格納する。
んで、mainメソッドなり、指定されたメソッド名なりをもとにたどっていけばいいはず。
ただ、再帰呼び出しがあると無限ループしてしまうので、抽出メソッドリストを作って、同じ名称のメソッドを抽出していないか=無限ループしていないかチェックしないとあかん。

あと、関数ポインタはどのような表記になっているのか調べないと。

« 今週届いた本 | トップページ | 今週届いたもの »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 覚書:doxygenで関数Call Treeを作る方法について:

« 今週届いた本 | トップページ | 今週届いたもの »