tiny-cをscalaに移植する。

移植し始めました。
scalaで書きなれるため、簡単なコンパイラってことで。
http://github.com/hsk/stinyc

ソースはこちら。
レキサは手がき、パーサはjavaのパーサジェネレータでアセンブラを出力するものを作るのが目標。
問題は、tiny-cのコンパイラは完全なASTを作る前にコンパイルしてしまう箇所。
インターフェイスを決めてclass作ってってかんじにすれば行けるのだけど、
できればobjectでやりたい。できるのかな???
っていうのと、最終的にはASTを完全に作ってから、コンパイラフェーズに渡したい。
で、オリジナルに忠実にするか、そうしないか、悩んでます。