<div dir="ltr"><div><div><div><div><div>Hi, <br><br></div>Yes! Clang provides a really nice API to achieve this. <br>You can use Clang RecursiveASTVisitor to traverse the AST:<br><br><a href="http://clang.llvm.org/docs/RAVFrontendAction.html">http://clang.llvm.org/docs/RAVFrontendAction.html</a><br><br></div>or you can match on specific nodes using AST matchers:<br><br><a href="http://clang.llvm.org/docs/LibASTMatchersTutorial.html">http://clang.llvm.org/docs/LibASTMatchersTutorial.html</a><br><br></div>With Clang libtooling, you can compile your program into a standalone tool that gets as input the source code to be analyzed. <br><br></div>Hope it helps,<br></div><br>-Fred<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 11, 2015 at 12:22 AM, Hashan Buddhika Narangodage <span dir="ltr"><<a href="mailto:hashanbn@gmail.com" target="_blank">hashanbn@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi all,<br></div>I'm currently doing a project that needs me to analyse the AST of source codes from top to bottom without traversing specific parts of the AST. I want to simple traverse each and every node in the tree structure and collect information. Is there an easy way to get this done ? <br><br></div>I'm new to clang so any help would be greatly appreciated. <br><br></div>Thanks in advance,<br></div>Cheers!!!<br></div>
<br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">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>
<br></blockquote></div><br></div>