<div class="gmail_quote">2013/1/11 Lubos Lunak <span dir="ltr"><<a href="mailto:l.lunak@suse.cz" target="_blank">l.lunak@suse.cz</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

On Friday 11 of January 2013, Jean-Noël Rouvignac wrote:<br>
> 2013/1/10 Lubos Lunak <<a href="mailto:l.lunak@suse.cz">l.lunak@suse.cz</a>><br>
><br>
> >  > > Unless all you want to convert is only places which do the explicit<br>
> > > ><br>
> > > > cast, this will need a (fairly simple) Clang plugin.<br>
> > ><br>
> > > Sure, if you feel like writing one.<br>
> ><br>
> >  Actually, I'd prefer to write a howto about that first, whenever I get<br>
> > to doing that, so that I don't have to write every single plugin. Such a<br>
> > plugin<br>
> > will be still much simpler than a regexp or any other way.<br>
><br>
> Please do, I would be interested in that.<br>
> Maybe you already have some URLs to share on this subject?<br>
<br>That API is documented at <a href="http://clang.llvm.org/doxygen/" target="_blank">http://clang.llvm.org/doxygen/</a> , but I understand<br>
that throwing that at somebody unfamiliar with it must be scaring (hint: the<br>
most commonly needed is the class hiearchy starting from clang::Stmt, as<br>
those are classes representing the program in the AST). I myself actually<br>
find it easier to read directly doxygen docs in the includes, mostly Decl*.h<br>
Expr*.h Stmt*.h in include/clang/AST/ . The API is however rather intuitive<br>
and straightforward, once one gets into it. And finding out how a particular<br>
piece of code is represented in the AST is a matter of compiling it<br>
with 'clang++ -Xclang -ast-dump' and matching the output to Clang classes.<br>
<br>
 If you want to give it a try now, look under compilerplugins/ in the LO<br>
sources.</blockquote><div><br>I don't find this more intimidating than Eclipse's documentation for "org.eclipse.cdt.core.dom.ast.cpp" (Eclipse CDT's AST parser for C++) or "org.eclipse.jdt.core.dom" (Eclipse JDT's AST parser for Java). Only clang doc is harder to go through but it has nice graphics :).<br>

<br>I might take a look at this.<br>Thanks for sharing this info.<br></div></div>