<div dir="ltr">Thanks Artem!</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 3, 2020 at 2:22 PM Artem Dergachev <<a href="mailto:noqnoqneo@gmail.com">noqnoqneo@gmail.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>
The word "predicate" here is used in its mathematical sense:
<a href="https://en.wikipedia.org/wiki/Predicate_(mathematical_logic)" target="_blank">https://en.wikipedia.org/wiki/Predicate_(mathematical_logic)</a><br>
<br>
All this really means is that each individual matcher is a function
that accept an AST node and return either true ("matches") or false
("doesn't match").<br>
<br>
<div>On 7/2/20 11:03 PM, Yafei Liu via
cfe-dev wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>For example in this sentence:<br>
</div>
<div><span>AST
matchers are predicates on nodes in the AST.</span><br>
</div>
<div>Or this:</div>
<div><span>LibASTMatchers
provides a domain specific language to create predicates on
Clang’s AST.</span><br>
</div>
<div><span><br>
</span></div>
<div>Can someone help to explain what predicates are?</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
cfe-dev mailing list
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a>
</pre>
</blockquote>
<br>
</div>
</blockquote></div>