<div dir="ltr">Hi Yitzhak,<div><br></div><div>I'm still not seeing (and I'm not saying it's not there, just that I'm not seeing it :) where this is significantly simpler to use than string concatenation. Is there an example in the tests that you'd say exemplifies that?<br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 18, 2019 at 7:29 PM Yitzhak Mandelbaum <<a href="mailto:yitzhakm@google.com">yitzhakm@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif">After some delay, I've created a diff to accompany the doc.  In particular, here's the Stencil library, which provides for generating code in a format-string style:</div><div style="font-family:arial,helvetica,sans-serif"><br></div><div><font face="arial, helvetica, sans-serif"><a href="https://reviews.llvm.org/differential/diff/182553/" target="_blank">https://reviews.llvm.org/differential/diff/182553/</a></font><br></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">Please see the tests for various examples and the doc for more explanation.</font></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Nov 16, 2018 at 10:22 AM Yitzhak Mandelbaum <<a href="mailto:yitzhakm@google.com" target="_blank">yitzhakm@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><font face="arial, helvetica, sans-serif">Hi all,</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">I have a proposal for a framework that makes it easier to write source to source transformations with the clang::Tooling libraries, including clang-tidy checks.</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">The full proposal is in this doc:</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><a href="https://docs.google.com/document/d/1ppw0RhjwsrbBcHYhI85pe6ISDbA6r5d00ot3N8cQWeQ/edit?usp=sharing" target="_blank">https://docs.google.com/document/d/1ppw0RhjwsrbBcHYhI85pe6ISDbA6r5d00ot3N8cQWeQ/edit?usp=sharing</a></font><br></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">From the doc:</font></div><div><font face="arial, helvetica, sans-serif">Transformer is a framework that aims to simplify development of clang-based source-to-source transformations.  It focuses on the particular class of transformations that act only locally — that is, use local information about the code and make local changes  (like a syntax-aware “find-and-replace”); and at scale — that is, will be carried out on many source files.  The target audience is users that are comfortable with, or willing to become comfortable with, the clang AST matchers library.<br></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">I have a working prototype of this library which I've used on small examples inside Google.  I plan to put together a patch for reference next week, although the doc should stand on its own.</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">Thanks!</font></div><div><font face="arial, helvetica, sans-serif">Yitzhak Mandelbaum</font></div></div></div></div>
</blockquote></div>
</blockquote></div></div></div>