|Optimizing in my toy compiler email@example.com (Boriel) (2008-02-07)|
|Optimizing in my toy compiler firstname.lastname@example.org (Nils M Holm) (2008-02-11)|
|Re: Optimizing in my toy compiler email@example.com (Max Hailperin) (2008-02-12)|
|From:||Nils M Holm <firstname.lastname@example.org>|
|Date:||Mon, 11 Feb 2008 06:48:52 +0100|
|Posted-Date:||12 Feb 2008 20:03:29 EST|
Boriel <email@example.com> wrote:
> If I'm not wrong, stack-oriented code is easy to generate, but
> difficult to optimize whilst three or quad code is much easy to
> optimize. Any ideas? Which one should you suggest? I'm with "The
> Dragon book", and it have *too* much information. :-P
You can always optimize your code while it is in tree form an then
emit RPN. Or, in case your compiler does not build a syntax tree
while parsing, you can build one from the RPN code just for the
purpose of optimization.
This is what I have done in the T3X compiler. Early versions did
not have an optimizer nor did they create syntax trees. The optimizer
in later versions was a separate program that read an intermediate
code file in RPN, built a tree from it, optimized that tree and
emitted optimized RPN. Converting RPN to a tree is not really hard.
Feel free to download the sources for inspiration:
Nils M Holm <firstname.lastname@example.org> -- http://t3x.org/nmh/
Return to the
Search the comp.compilers archives again.