<br><br><div class="gmail_quote">On Fri, Jun 15, 2012 at 2:49 PM, Manuel Klimek <span dir="ltr"><<a href="mailto:klimek@google.com" target="_blank">klimek@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="font-family:arial,helvetica,sans-serif"><font><div>... one of the final pieces that we have in the tooling branch are the AST matchers.</div><div><br></div><div>The main user interface is in ASTMatchers.h and ASTMatchFinder.h.</div>

<div><br></div><div>Note that the AST matchers are completely independent of the tooling framework, but they are easy to plug into the tooling framework (see ASTMatchersTest.cpp).</div>

<div><br></div><div>(There's also a dynamic way to contruct matchers in the works by Samuel Benzaquen, but it's not included in this patch, as it is a pure addition to the  proposed matcher library)</div><div><br>


</div><div>We've been using the library to drive large scale changes, metrics and analysis internally for > 1 year now.</div><div><br></div><div>One of the more nit-picky review questions that I don't know what to do about is style:</div>


<div>Matchers are an in-language DSL. We use meta-programming techniques to be able to contruct readable expressions without the need to spell out the types all the time. This leads to the matcher constructions being boths free-standing functions and call-able classes.</div>


<div>Internally, we've used CamelCase with an upper case first letter for the matchers, but I'm fine with changing it either way.</div><div><br></div><div>Thanks!</div><span class="HOEnZb"><font color="#888888"><div>
/Manuel</div>
</font></span></font></div>
<br>_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
<br></blockquote></div>Ah, finally!<br><br>After having seen Chandler's talk on using automatic refactoring (at scale), I have been waiting for those to be available for everyone, thanks!<br><br>-- Matthieu<br>