Pascal J. Bourguignon writes:
Llvm and clang provide natively a way to get the parse tree (and other
phases information), and therefore they can be used easily in IDE.
Since v4.5.0 GCC does that, too, via its plugin interface:
I'm not really qualified to compare it to libclang and libtooling, but
at least from what I saw, it's not as well documented and probably
requires some knowledge of gcc's internals to be really usable.
However, the existing python plugin looks very interesting, since it
seems to nicely wrap gcc's tree data structure:
The real task is to condense this structure to something simpler, which
is usable by tools like Semantic.
-David