[cfe-dev] Clang -ast-dump-xml question
grimmer at ssw.jku.at
Wed Mar 6 07:44:30 PST 2013
No, the goal is definitely not to built a toy example.
We have to be able to process all real life C applications, and
therefore serialize all information that is necessary.
Can you recommend the ASTDumper.cpp / -ast-dump as a good reference
implementation? It seams that ASTDumper.cpp / -ast-dump does pretty much
what we want, except from the output format.
Thanks in advance
On 03/06/2013 04:24 PM, Manuel Klimek wrote:
> On Wed, Mar 6, 2013 at 7:14 AM, Douglas Gregor <dgregor at apple.com
> <mailto:dgregor at apple.com>> wrote:
> On Mar 5, 2013, at 2:41 AM, Matthias Grimmer <grimmer at ssw.jku.at
> <mailto:grimmer at ssw.jku.at>> wrote:
>> we are using clang and its -ast-dump-xml feature. Our goal is to
>> convert the serialized clang-AST to a different code representation.
>> We think that the output, that -ast-dump-xml produces, is not
>> well suited for parsing. Statements are represented as ASCII
>> styled trees and also contain parts that
>> confuse XML parsers (e.g. <line:18:2, col:18>).
> The pseudo-XML dump is a debugging aid. It's not a stable, useful
> format on which to build tools. Tools should be built on top of
> the Clang AST, either through libclang (for a stable but
> not-very-rich AST representation) or the C++ AST.
> Wasn't there a plan to get rid of the XMLish dump?
>> Is there a better way to get a serialized version of the clang
>> AST (XML, or any other format that is easier to parse)?
> No, there isn't.
>> We would like to avoid writing a clang AST visitor for this purpose.
> Writing a Clang AST visitor or libclang client is really the best
> way to do this. There is no way to get sufficient information out
> of the debugging dumps to build a tool, unless your goal is to
> build a simple toy example that handles only a small part of C(++).
> - Doug
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu <mailto:cfe-dev at cs.uiuc.edu>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-dev