Cの構造体や関数が定義された位置を表示するnadoka用bot、crubybotつくった
なにをつくったか
表題のとおり crubybot.nb ですが、その名の通りCRubyのソースを解釈して、与えた構造体や関数の定義位置を返します。返す時はGitHubのURLなんですが、まぁそこは枝葉ですな。
libclang
Cコンパイラにはプリプロセッサや構文解析、構文木の構築などが含まれています。ですので、Cソースで何かをしたい場合、Cコンパイラのモジュールを使えると便利です。clang由来の便利なやつがlibclangです。
なにをしているか
find_def のあたりを見ればわかるでしょ。
まとめ
というわけで、libclangを使うと簡単にCソースで遊べるので便利です。
付録
きつねさんとおぼえる!Clang おかわり を読んだらもっと楽にできた気もするけれど、わたしは読めていません。