[cfe-dev] [RFC] Easier source-to-source transformations with clang tooling

Yitzhak Mandelbaum via cfe-dev cfe-dev at lists.llvm.org
Fri Jan 18 10:29:01 PST 2019


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:

https://reviews.llvm.org/differential/diff/182553/

Please see the tests for various examples and the doc for more explanation.

On Fri, Nov 16, 2018 at 10:22 AM Yitzhak Mandelbaum <yitzhakm at google.com>
wrote:

> Hi all,
>
> 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.
>
> The full proposal is in this doc:
>
>
> https://docs.google.com/document/d/1ppw0RhjwsrbBcHYhI85pe6ISDbA6r5d00ot3N8cQWeQ/edit?usp=sharing
>
> From the doc:
> 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.
>
> 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.
>
> Thanks!
> Yitzhak Mandelbaum
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190118/d1693c3d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4847 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190118/d1693c3d/attachment.bin>


More information about the cfe-dev mailing list