<div dir="ltr">On Tue, Nov 5, 2013 at 5:52 PM, Richard <span dir="ltr"><<a href="mailto:legalize@xmission.com" target="_blank">legalize@xmission.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">Hi Group,<br>
<br>
Here is a talk I proposed for C++ Now! 2014:<br>
<br>
Title: Create Your Own Refactoring Tool With clang<br>
Session: 90 minute tutorial<br>
Audience: users and developers<br>
<br>
  Refactoring tools for C++ have lagged those available in other<br>
  languages.  We've all heard the excuses about how C++ is too hard<br>
  to parse and too hard to reason about.  Well, get ready to have your<br>
  socks blown off by the tooling infrastructure provided with clang that<br>
  makes writing refactoring tools simple and easy.<br>
<br>
  In this talk, I will incrementally develop a refactoring tool with<br>
  clang that transforms a void function argument list (void) to an empty<br>
  argument list ().<br>
<br>
  Biography: Richard Thomson is a passionate software craftsman.<br>
  He has been writing C programs since 1980 and C++ programs since 1993.<br>
  For 10 years, Richard was a Microsoft MVP for Direct3D, Microsoft's<br>
  native C++ API for 3D graphics.  His book on Direct3D is available<br>
  as a free download.  Prior to that, Richard was a technical reviewer<br>
  of the OpenGL 1.0 specification.  He is the director of the Computer<br>
  Graphics Museum in Salt Lake City, Utah.<br>
<br>
If you have any suggestions for things that could improve this talk<br>
based on this outline, I'd love to hear them.<br>
<br>
After I suggested this refactoring as a feature for clang-modernize, I<br>
received a private suggestion that this project would make an<br>
excellent tutorial for writing your own refactoring tool using<br>
libtooling.</blockquote><div><br></div><div>Very cool. Is this based off of libclang or libtooling (normally we refer to libclang to mean the stable "C" interface). If it is indeed libtooling, I wouldn't say "libclang", as otherwise that might be confusing...</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">  I liked that idea, but haven't had time to write up a<br>
blog post on it yet (work has been busy...).  When C++ Now! 2014<br>
sent out a call for submissions, I decided that was a good time to act<br>
on the suggestion to turn this into a tutorial.<br>
<br>
As much as possible, I like my talks to be "live coding", although it<br>
generally helps if you cheat like they do on the cooking shows ...<br>
"set that on 350 degrees for 2 hours... and here we have one that we've<br>
already baked".  My point is that I like to emphasize the coding and<br>
not the talking.  I think it helps makes tutorials more concrete and<br>
less abstract.<br>
<span class="HOEnZb"><font color="#888888">--<br>
"The Direct3D Graphics Pipeline" free book <<a href="http://tinyurl.com/d3d-pipeline" target="_blank">http://tinyurl.com/d3d-pipeline</a>><br>
     The Computer Graphics Museum <<a href="http://ComputerGraphicsMuseum.org" target="_blank">http://ComputerGraphicsMuseum.org</a>><br>
         The Terminals Wiki <<a href="http://terminals.classiccmp.org" target="_blank">http://terminals.classiccmp.org</a>><br>
  Legalize Adulthood! (my blog) <<a href="http://LegalizeAdulthood.wordpress.com" target="_blank">http://LegalizeAdulthood.wordpress.com</a>><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>
</font></span></blockquote></div><br></div></div>