Newbie question on Clang


This is my first post here.
I'd like to ask for directions in regards to Clang.

This is what I'd like to do:

I'd like to extract function prototypes from a large C++ code base.
I dont need to generate code for any target platform; I just need function prototypes.

I know I can use ctags, like this:

     find ~/sources/cpp-library -name '*.*pp' > files.lst
     ctags -x --c++-kinds=pf --language-force=c++ -h .hpp -L files.lst

... but the output is not very convenient, because ctags only does a textual extraction.

Ideally, I'd like to extract information from the AST so that all typedefs and template types would be already resolved. Something like this:

class C
  double function
    double argument
  double operator+
    double op

Note: any recommendation in regards to typedefs and templates?

My aim is (later!) to do more or less the same with a large Java library and compare output of these two things, so that I can guarantee that the Java library implements properly the C++ APIs.

Any help is much appreciated.

Thanks a lot :slight_smile: