For Programmers: Free Programming Magazines  


Home > Archive > Compilers > February 2008 > Optimizing in my toy compiler









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Optimizing in my toy compiler
Nils M Holm

2008-02-12, 7:30 pm

Boriel <boriel@gmail.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[1]. 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:

[1] http://www.t3x.org/t3x/

--
Nils M Holm <nmh@t3x.org> -- http://t3x.org/nmh/

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com