<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div style="margin: 0px; font-size: 14px; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; color: rgb(50, 49, 48); background-color: rgb(250, 249, 248)">
<div tabindex="-1" style="margin: 0px 20px 8px 8px; padding: 0px 12px 12px; border: 1px solid var(--readingPaneCardFocusBorder); color: var(--black); display: table; table-layout: fixed; border-radius: 2px; background: var(--white)">
<div style="margin: 0px">
<div style="margin: 12px 16px 10px 52px; padding: 0px 0px 2px; font-size: 15px; color: var(--neutralDark); user-select: text; overflow-y: auto">
<div style="margin: 0px">
<div style="margin: 0px">
<div style="margin: 0px"><font size="2"><span style="margin: 0px; font-size: 11pt">Stephen,</span></font></div>
<div style="margin: 0px"><font size="2"><span style="margin: 0px; font-size: 11pt"><br>
</span></font></div>
<div style="margin: 0px"><font size="2"><span style="margin: 0px; font-size: 11pt">Thank you for your post. It is not completely clear if this was a response to my post or simply happened to be after my post in the cfe-dev Digest. Either way, I want to keep
 in touch because this appears to answer my need.</span></font></div>
<div style="margin: 0px"><font size="2"><span style="margin: 0px; font-size: 11pt"><br>
</span></font></div>
<div style="margin: 0px"><font size="2"><span style="margin: 0px; font-size: 11pt">In addition, I am writing some support tools to facilitate the creation of new compilers or programming languages. I planned to do this to support my course development, and
 it appears that they will connect with your activities well. Please keep in touch.</span></font></div>
<div style="margin: 0px"><font size="2"><span style="margin: 0px; font-size: 11pt"><br>
</span></font></div>
<div style="margin: 0px"><font size="2"><span style="margin: 0px; font-size: 11pt">Blessings,</span></font></div>
<div style="margin: 0px"><font size="2"><span style="margin: 0px; font-size: 11pt">Allyn Shell</span></font></div>
<div style="margin: 0px"><font size="2"><span style="margin: 0px; font-size: 11pt"><br>
</span></font></div>
<div style="margin: 0px"><font size="2"><span style="margin: 0px; font-size: 11pt">Date: Mon, 25 May 2020 00:24:57 +0100<br>
From: Stephen Kelly via cfe-dev <cfe-dev@lists.llvm.org><br>
To: cfe-dev <cfe-dev@lists.llvm.org><br>
Subject: Re: [cfe-dev] RFC: Easier AST Matching by Default<br>
Message-ID: <46b88e09-b58f-be80-bbcc-91907ee7d90e@gmail.com><br>
Content-Type: text/plain; charset=utf-8; format=flowed<br>
</span></font></div>
</div>
</div>
</div>
<div style="margin: 0px; clear: both"></div>
</div>
</div>
</div>
<div style="margin: 0px; font-size: 14px; font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; color: rgb(50, 49, 48); background-color: rgb(250, 249, 248)">
<div style="margin: 0px">
<div style="margin: 0px; display: table; table-layout: fixed">
<div style="margin: -9px 20px 0px 8px; padding: 0px 0px 0px 31px; border-right-width:; border-bottom-width:; border-left-width:; border-right-style:; border-bottom-style:; border-left-style:; border-right-color:; border-bottom-color:; border-left-color:; border-image-source:; border-image-slice:; border-image-width:; border-image-outset:; border-image-repeat:; font-size: 15px; background: var(--white); border-radius: 2px; box-shadow: 0 5px 10px -3px var(--neutralSecondary)">
<div style="margin: 0px 0px 16px 17px; border-bottom: 1px solid var(--neutralLight)">
</div>
<div style="margin: 0px">
<div style="margin: 0px">
<div style="margin: 0px; padding: 0px 16px; border-left: 1px solid var(--neutralTertiaryAlt); user-select: text; overflow-y: auto">
<div style="margin: 0px">
<div style="margin: 0px">
<div style="margin: 0px"><font size="2"><span style="margin: 0px; font-size: 11pt">On 20/12/2019 21:01, Stephen Kelly via cfe-dev wrote:<br>
><br>
> Hi,<br>
><br>
> (Apologies if you receive this twice. GMail classified the first one as<br>
> spam)<br>
><br>
> Aaron Ballman and I met by chance in Belfast and we discussed a way<br>
> forward towards making AST Matchers easier to use, particularly for C++<br>
> developers who are not familiar with the details of the Clang AST.<br>
><br>
> For those unaware, I expanded on this in the EuroLLVM conference this<br>
> year, and then expanded on it at ACCU:<br>
><br>
>   <a href="https://steveire.wordpress.com/2019/04/30/the-future-of-ast-matching" target="_blank" rel="noopener noreferrer" style="margin: 0px">https://steveire.wordpress.com/2019/04/30/the-future-of-ast-matching</a><br>
><br>
> One step in the process of getting there is changing the default<br>
> behavior of AST Matchers to ignore invisible nodes while matching using<br>
> the C++ API, and while matching and dumping AST nodes in clang-query.<br>
><br>
> I think this is the most important change in the entire proposal as it<br>
> sets out the intention of making the AST Matchers easier to use for C++<br>
> developers who are not already familiar with Clang APIs.<br>
><br>
> To that end, I've written an AST to motivate the change:<br>
><br>
><br>
><span> </span><a href="https://docs.google.com/document/d/17Z6gAwwc3HoRXvsy0OdwU0X5MFQEuiGeSu3i6ICOB90" target="_blank" rel="noopener noreferrer" style="margin: 0px">https://docs.google.com/document/d/17Z6gAwwc3HoRXvsy0OdwU0X5MFQEuiGeSu3i6ICOB90</a><br>
><br>
><br>
> We're looking for feedback before pressing forward with the change. I<br>
> already have some patches written to port clang-tidy and unit tests to<br>
> account for the change of default.<br>
<br>
<br>
This change is now in master.<br>
<br>
clang-query has also been updated to allow setting the traversal mode. eg:<br>
<br>
   set traversal AsIs<br>
<br>
Since the original RFC I also added clang-query support to godbolt.org,<br>
so you can experiment with it there instead of my personal instance of<br>
compiler-explorer:<br>
<br>
  <span> </span><a href="https://gcc.godbolt.org/z/uwTgZS" target="_blank" rel="noopener noreferrer" style="margin: 0px">https://gcc.godbolt.org/z/uwTgZS</a><br>
<br>
If anyone watched my talk from EuroLLVM linked in my blog above, I am<br>
interested in feedback to know which feature I presented there you would<br>
most like to see upstreamed.<br>
<br>
Thanks,<br>
<br>
Stephen.</span></font></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
</div>
</body>
</html>