簡易計算機を作ってみた

コンパイラのフロントエンド部分を作ってみようと思い立ち、ごにょごにょと色々書き始めてみた。
modern compiler implementation(ISBN:0521583888)を読んだのは1年以上前なので、
すっかり忘れていることに愕然としつつ、
とりあえずリハビリとして簡易計算機を作ってみることにした。

どんな感じでまとめるのか悩むこと1時間。。。
結局、lexer部分はとりあえずはしょって、LL(1)パーサー+計算機能を実装することに。
で、実装すること2時間程度で計算機が動いた。
ほとんど本に書いてあることをそのまんま実装しただけなので、
動いて当たり前なんだけど、なんか感動。
学生のときにこんなん書いたなぁと思い出したけど、
確かあのときは、千葉先生が作ったソースを穴埋めしただけだったけか。