<div class="gmail_quote">On Tue, Nov 29, 2011 at 7:20 PM, eyasu getahun <span dir="ltr"><<a href="mailto:eya.get@gmail.com">eya.get@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<font face="georgia,serif">I have seen <span class="il">tree</span> <span class="il">transformation</span> in
clang(TreeTransform.h). This is to <span class="il">transform</span> one AST to another AST.</font></blockquote><div><br></div><div>Not quite. It provides a basis for building such a transformation, not an actual transformation.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font face="georgia,serif"> But
it is not clear for me how they used this header file for the
<span class="il">transformation</span>. I didn't see the function for the <span class="il">transformation</span>. Just
they used this header file for semantic template instantiation and
template deduction.</font></blockquote><div><br></div><div>I'm not sure who "they" is, but the only real user I know of for this header is the template instantiation logic. It does instantiation through a very specific tree transformation implemented using the facilities of TreeTransform.h.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font face="georgia,serif"> Even there is no explicit command line option for the <span class="il">transformation</span>. Do you guys think that the <span class="il">transformation</span> is well implemented and documented?</font></blockquote>
<div><br></div><div>No, as I said, there is no single transformation. You are looking at a small, internal library used deep in Clang's implementation. What problem are you actually trying to solve? I suspect the solution will not involve this header file, but I can know (and it is unlikely anyone on this list can help you) if you don't say what it is you're trying to do...</div>
</div>