Modified the RecursiveASTVisitor tutorial ( http://clang.llvm.org/docs/RAVFrontendAction.html ) for fun so it now decomposes functions (for every function it encounters: prints function name, return type, and each arguments type/name)