C++ is a very complex and unstrict language and I haven't seen any good grammar for it. I think that the only way to build C++ AST is to use internal compiler information, but we will lose the ability to run the tool on various platforms in this case.
I don't know much about Erlang.
As for C, I think that #include directives can be just ignored. Other preprocessor directives (like #define, #ifdef, ...) should be processed, and we should put the preprocessed code into the report.
Actually there is a C preprocessor grammar and C grammar in the ANTLR grammar list (
http://www.antlr.org/grammar/list), and I think that it will not be a problem to introduce C support. However, we will be able to parse only programs which meet the ANSI C standard. Unfortunately the real programs don't meet it because compilers are not so strict.