Saturday, June 26, 2010

Staging

I have three compilers:

  • Stage 0, a Hi to ML compiler written in ML
  • Stage 1, a Hi to C compiler written in Hi which links to an ML runtime
  • Stage 2, a Hi to C compiler written in Hi which links to a C runtime
Stage 0 has been stable, and very slow, for ages now. I have tried to keep stage 1 and 2 as close as possible to each other (only difference is the system file) to get to a proper bootstrap. Stage 1 is even slower but getting to be stable now. I am not going to think about stage 2 for a while, and concentrate on getting a stable stage 1 compiler, and just rewrite whatever needs to be rewritten of stage 2 at a later point because of the marshalling / serialization / reflection code.

No comments:

Post a Comment