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