See also
http://dxr.mozilla.org/clang/,
http://dxr.mozilla.org/clang/clang/include/clang/AST/Recursi..., and
http://quetzalcoatal.blogspot.com/2011/07/dxr-alpha-2-releas... for some more information and a demo. DXR does a bunch of static analysis to provide an explorable, informative view of source code, with special emphasis on dealing with C and C++ macros.