<div dir="ltr">On Wed, Mar 6, 2013 at 7:14 AM, Douglas Gregor <span dir="ltr"><<a href="mailto:dgregor@apple.com" target="_blank">dgregor@apple.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><div class="im"><div>On Mar 5, 2013, at 2:41 AM, Matthias Grimmer <<a href="mailto:grimmer@ssw.jku.at" target="_blank">grimmer@ssw.jku.at</a>> wrote:</div>
<br><blockquote type="cite"><div style="letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Hi<br><br>we are using clang and its -ast-dump-xml feature. Our goal is to convert the serialized clang-AST to a different code representation.<br>
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<br>confuse XML parsers (e.g. <line:18:2, col:18>).<br>
</div></blockquote><div><br></div></div>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.</div>
</div></blockquote><div><br></div><div style>Wasn't there a plan to get rid of the XMLish dump?</div><div style><br></div><div style>Cheers,</div><div style>/Manuel</div><div style> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><div class="im"><br><blockquote type="cite"><div style="letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Is there a better way to get a serialized version of the clang AST (XML, or any other format that is easier to parse)?<br>
</div></blockquote><div><br></div></div>No, there isn't.</div><div class="im"><div><br><blockquote type="cite"><div style="letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
We would like to avoid writing a clang AST visitor for this purpose.<br></div></blockquote></div><div><br></div></div>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(++).<div>
<br><div><span style="white-space:pre-wrap">        </span>- Doug</div><div><br></div></div></div><br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div></div>