Re: treecc help required
Gomi Kapoor <gomikapoor-/[email protected]> Fri, 31 Dec 2004 15:06:45 +0000 (GMT)
| Newsgroups | gmane.comp.gnu.dotgnu.developer |
|---|---|
| Message-ID | <[email protected]> |
Hi guys, Thanks for all the replies. I am just getting the hang of using treecc. Regards, Gomi --- Gopal V <gopalv82-/[email protected]> wrote: > Hi, > > > One major issue which I faced coming with this > > simple implementation is casting between > > Instruction* and other derived nodes. > > I found that casting between them to be very > > tedious. > > The casting is the only way to do it. Even if > you did it in *any* statically typed language in > the world, you would have to put the casts. > > Imagine you do it in C# or Java with the following > > %node Binary Instruction = > { > Opcode op; > Instruction x; > Instruction y; > } > > %node ArithOp Binary > > Now the optimize code would look like > > Optimize(ArithOp) > { > if ((inst.x is Constant) && (inst.y is Constant)) > { > switch(inst.op) > { > case ADD: > return new Constant((inst.x as > Constant).value > + (inst.y as > Constant).value)); > } > } > return inst; > } > > There is no way you can get out of this without > using > some kind or other of casts (except if you do this > in Python.. LOL). > > I'm sure it doesn't look that different to you :) > > > I feel that I am doing a basic mistake in using > > treecc. Would you mind commenting on the way I > > have (mis)used in the attached simple > > implementation. > > Seems to be pretty much the way it should be done. > The english speakers might have read that as if you > made the mistake of choosing treecc, rather than > just > using it badly. > > The advantage of using treecc is that you get > yykindname and yyisa in C , to allow dynamic > "safe" casts and all that :) > > Gopal > > > > > __________________________________ > Do you Yahoo!? > Yahoo! Mail - You care about security. So do we. > http://promotions.yahoo.com/new_mail > _______________________________________________ > Developers mailing list > [email protected] > http://dotgnu.org/mailman/listinfo/developers > ________________________________________________________________________ Yahoo! India Matrimony: Find your life partner online Go to: http://yahoo.shaadi.com/india-matrimony