<div dir="ltr">I think the solution to that is better documentation. Every node in the AST should ideally have a comment that explains what kinds of syntactic constructs it represents, with examples (some have them already). Unfortunately that's a huge project.</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Aug 6, 2015 at 9:17 AM Nikola Smiljanic <<a href="mailto:popizdeh@gmail.com">popizdeh@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">What exactly do you mean by "trigger it"?<div><br></div><div>Looking at the inheritance diagram should give you a good idea about what each node represents. NamedDecl is a base class for all declarations that have a name. So for example:</div><div><br></div><div>int x; // variable declaration VarDecl that's also a NamedDecl</div><div>foo: // label LabelDecl that's also a NamedDecl</div><div>namespace bar {} // you get the idea</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 6, 2015 at 3:33 PM, Hayden Livingston <span dir="ltr"><<a href="mailto:halivingston@gmail.com" target="_blank">halivingston@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The Clang AST is great, but it's a bit tedious to look at at a node<br>
and then try to find a suitable piece of C++ code to trigger it.<br>
<br>
Does anyone know of an easier way to play with the AST? For example<br>
documentation or such that says NamedDecl -> and here is how to create<br>
a NamedDecl in C++?<br>
<br>
And then I'm also sometimes lost on what can appear inside a Node,<br>
i.e. a Decl node can have VarDecl and that can have a<br>
CXXConstructExpr, etc.<br>
<br>
Even if some of you have tips to share, that'd be great.<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br></div>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>