きりかノート 3冊め

おあそびプログラミング

2008 LLVM Developers' Meetingの資料が公開されてた

2008 LLVM Developers' Meetingの資料と動画が公開されている。まあLLVM本体はさして関心はないので、clang関係を優先して見てるとこ。

なんつーか、、、ね。「しーらんぐ」と読んでいたのだけど「くらん(ぐ)」なのか。

Clang Internals

Clangの歴史が1/3くらい、その後内部構造の話。C++というだけでコード読む気が減りまくりな自分としてはありがたい。

clangの長所は速さもあるけど、整理された(と主張している)外部からアクセスしやすいライブラリ構成だよね、やっぱり。
Objective-C対応のctagsを誰か早くつくるんだ!

Finding Bugs with the Clang Static Analyzer

ちょっと声が聞きづらい。まーどうせ聞こえてもほとんどわからないからいいけど。
clangの静的解析の簡単な紹介のあと、内部の設計を詳しく、といった感じ。
WWDC 2008以前からApple社内では利用されてた(スライド59ページ)というのが意外だ。

これとは別にコードのほうを追っかけてたのだけど、どのように解析を行うかはlib/Analysys以下のコードでがりがり書いてある。変更や追加したいときにいじるのはここのC++コード。XMLで検査仕様を定義したりDSLがあったりするわけじゃない。C++のコードでロジックを書くのだ。

たとえばCFRefCount.cppでは、参照カウントの増減をObjective-C/Cocoaのルールによって推定しつつ数えて確認している(たぶん。ちゃんと読んでない)。
clangのライブラリの助けがあるとはいえ、それなりに作りこんである。

やっぱりC++も勉強しないとだめかなあ。ユーウツ。