Ok, I feel stupid. I’m reading several weeks of unread mail discovering this one of 26th of march:

Hi Folks, I’m happy to announce CastXML, a successor to GCC-XML [1]. CastXML is hosted here: https://github.com/CastXML/CastXML#readme

It is a tool based on LLVM/Clang that generates the same XML output format as GCC-XML [2]. CastXML’s design offers some advantages over GCC-XML’s:

  1. LLVM/Clang offers a true SDK for external tools, so CastXML does not need to maintain a fork. GCC-XML requires significant work to update its parser to a more recent GCC. CastXML can simply be built against a recent LLVM/Clang.
  2. LLVM/Clang natively supports parsing both GCC and Visual Studio system headers, so CastXML does not need to maintain a set of system header patches. GCC-XML must be updated with system header patches for each new version of compilers it supports. CastXML can simply parse the headers directly.
  3. CastXML will need little to no work to support newer GCC and Visual Studio versions as they are released. LLVM/Clang maintainers already take care of this. Due to the above, CastXML supports recent versions of Visual Studio, while GCC-XML does not support VS 2010 or later.
  4. CastXML can parse in some language modes besides C++98, though since the output format currently matches GCC-XML, only C++98-compatible interface structures appear in the output. For discussion of CastXML please join the mailing list for that project rather than posting on this gccxml list. The CastXML mailing list is here: http://public.kitware.com/mailman/listinfo/castxml
  5. Thanks, -Brad

[1] If anyone is interested in continuing to maintain gccxml please contact me off-list to volunteer.

[2] The output format is intended to be close to gccxml’s format to make porting clients easy. There may be some differences where output constructs depend on internal compiler implementation details.

While I have promptly cloned their git repository I’m not sure I want to start using CastXML as I discovered the gcc-plugin packages which should allow to directly plug in into gcc.

It may look somehow moreconvoluted. Indeed it may be actually more convoluted. In fact Gcc “stubbornly” refuses to be subdued into a library. It will call your code. According to the “Parsing C++ with GCC plugins” serie that I pointed out previously it don’t look so frightening anymore, at least to me.

Since my aim is to work on the GNU Eiffel compiler it is wise to use Gnu Compiler Collection

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.