<div style="font-family: arial, helvetica, sans-serif"><font size="2">On Sun, Jun 17, 2012 at 7:59 PM, Evgeny Panasyuk <span dir="ltr"><<a href="mailto:evgeny.panasyuk@gmail.com" target="_blank">evgeny.panasyuk@gmail.com</a>></span> wrote:<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><div class="im">
    17.06.2012 19:53, Manuel Klimek wrote:<br>
    <blockquote type="cite">
      <div style="font-family:arial,helvetica,sans-serif"><font size="2">
          <div class="gmail_quote">
            <div>I love the idea! In general, I think it's a really hard
              problem (which is the main reason we haven't tackled this
              yet ourselves). I guess it's a little more researchy, but
              I'd be super interested in seeing more work going into
              making C++ tooling easier and more powerful ...</div>
          </div>
        </font></div>
    </blockquote></div>
    I am not sure how hard it could be in general - I saw only small
    part of Clang's ASTTree/ASTMatchers.<br>
    But in any case, it is possible to restrict tool to only small
    subset of expressions, but still making tool useful.<br>
    <br>
    I see different approaches to implement such kind of tool:<br>
    1. Naive and straightforward way: just as external tool to
    ASTMatchers, same method that I used in example above. Such approach
    would result in some "knowledge" duplication, i.e. for each
    predicate it would be additional some code in predicate-generation
    tool.<br>
    2. More complex way, but with some "knowledge" reuse from
    ASTMatchers. That approach would require re-describing predicates
    with some higher/another abstraction, what would allow us to
    generate both predicates and predicates-generation stuff from one
    source of "knowledge". I am not sure if such approach could be done
    in general, requires some research.</div></blockquote><div><br></div><div>My hunch is that for (2) the matchers would be sufficiently different from what they are now, that it would end up like (1) anyway - insert the obvious disclaimer that I might be wrong etc etc here :)</div>
<div>At least for a first step I think (1) is the way to go - once we have more experience with how the stuff is used, we can then try to figure out how to generalize it...</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><div class="im">
    <blockquote type="cite">
      <div style="font-family:arial,helvetica,sans-serif"><font size="2">
          <div class="gmail_quote">
            <div>I don't know whether you're aware, but in the tooling
              branch there's also a proof-of-concept implementation for
              dynamic matcher generation, and it might make sense to
              base your stuff on that.</div>
          </div>
        </font></div>
    </blockquote>
    <br></div>
    Are you talking about dynamic parseMatcher (as in ast-query
    example)?<br></div></blockquote><div><br></div><div>Yep, that one...</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">

    Or maybe about some interactive (maybe gui) tool for building
    predicates? I remember that Chandler mentioned about something
    similar at <a href="http://www.youtube.com/watch?v=yuIOGfcOH0k&t=27m56s" target="_blank">http://www.youtube.com/watch?v=yuIOGfcOH0k&t=27m56s</a> <br></div></blockquote><div><br></div><div>Now we're talking the next step :) Yea, having a GUI would be *great* (and just so we're clear: with GUI I mean a web page :P)</div>
<div><br></div><div>Cheers,</div><div>/Manuel</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
    <br>
    Best Regards,<br>
    Evgeny<br>
    <br>
  </div>

</blockquote></div><br></font></div>