<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>