Related articles |
---|
Expression simplifier. e8rasmus@etek.chalmers.se (Rasmus Anthin) (2001-04-29) |
Re: Expression simplifier. e8rasmus@etek.chalmers.se (Rasmus Anthin) (2001-04-30) |
Re: Expression simplifier. Brian.Inglis@SystematicSw.ab.ca (2001-04-30) |
Re: Expression simplifier. idbaxter@semdesigns.com (Ira D. Baxter) (2001-04-30) |
Re: Expression simplifier. e8rasmus@etek.chalmers.se (Rasmus Anthin) (2001-05-03) |
From: | Rasmus Anthin <e8rasmus@etek.chalmers.se> |
Newsgroups: | comp.compilers |
Date: | 30 Apr 2001 00:50:44 -0400 |
Organization: | Chalmers University of Technology |
References: | 01-04-145 |
Keywords: | optimize, comment |
Posted-Date: | 30 Apr 2001 00:50:44 EDT |
> \ B. Rasmus Anthin
> / e8rasmus@etek.chalmers.se
> / www.etek.chalmers.se/~e8rasmus
> [I'd have a set of tree rewriting patterns, e.g. X+0 -> X -John]
Hmmm... But then I have to transform the tree into a binary tree in order
to accomplish this, right?
If I have: "8+3+y" this would then give me a AST like this:
expression
/ / | \ \
/ / | \ \
term addop term addop term
| | | | |
factor '+' factor '+' factor
| | |
primary primary primary
| | |
id id id
| | |
'8' '3' 'y'
And the binary tree would then look like:
+
/ \
+ y
/ \
8 3
Elimination would then give
+
/ \
11 y
Is this correct? And if this is the case, then how would I implement this?
Will I have to transform the eliminated binary tree into an AST again and
then traverse it in order to receive an eliminated expression?
I have the dragon-book, "Writing Compilers and Interpreters" (R. Mak) ,
"Crafting a Compiler with C" (Fischer,LeBlanc) and "Compiler
Construction" (Niklaus Wirth). Can I find anything about it there? I have
looked for it there at a glance but couldn't find anything of use there.
Sincerely,
//Raz
[Yes, see the next few messages. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.