さくらんぼのlambda日記

lambdaちっくなことからゲーム開発までいろいろ書きます。

clang

clangで相互参照の情報を取得する!

前回からだいぶ間が開いてますが、やっと解析の方法をまとめることができそうなのでまとめます。目標は「clangのIndexerを使ってコードの相互参照の情報を取得する」です。 Indexerを作る IndexerにTranslationUnitを複数個渡していく IndexerからAnalyzerを…

clangで相互参照の情報解析

前回の記事の続きです。ソースコードから以下の情報を取りたいです。 定義されている関数、変数の詳細 関数、変数の参照関係 前回の内容では、「定義されている関数、変数の詳細」の情報は取得できました。ですが、「関数、変数の参照関係」を取る方法がわか…

Let's ソースコード静的解析!

ふとソースコード静的解析で遊んでみたくなりました。そこで、最近活発なclangでC++のソースコード静的解析プログラムを書こうと思います。大分昔clangで遊んだことがあって構文木をXMLで出力させるのは標準機能であったなぁと思い出していたら、どうやら最…