My favorites | Sign in
Project Logo
                
Search
for
Updated Jun 01, 2008 by ms...@gmail.com
CompilerDesign  
some ramblings about why things are the way they are

Introduction

Design notes for the major Spitfire revisions.

0.6.x

This is a 3-stage design (mostly).

  1. parse the source code (this reports errors, not always in a helpful way, but good enough). lexical and syntactic analysis are combined into one process.
  2. create a new intermediate tree after some 'semantic analysis'. mostly this seems to 'fatten' certain node types with some python pseudo-code. all the nodes are cloned and rebuilt. (not sure why any more)
  3. run over the tree again (twice in later versions) to perform a series of increasingly complex and potentially fragile optimizations. the are performed inline and modify the tree. this sort of works because the optimizer iterates over copies of nodes.

Problems:

0.7.x

Goals:

Specifics:


Sign in to add a comment
Hosted by Google Code