スモールコンパイラ の制作で学ぶ プログラムのしくみ

コンパイラの仕組みが知りたくて、本格的な本を読む前にイメージがつかみたかったので本屋で見つけた本です。
JAVAによって小さな言語を作り、スタックマシンで簡単な整数の計算、制御構造、関数、配列が使えるような仕様になっています。
字句解析、構文解析、意味解析、コード生成とちゃんと順を追って説明されており、中身としては簡単ではありますが、こうやってコンピューター言語がマシン語レベル(この場合はJAVAのvirtual stack machine)で動く様子が分かります。
分かりやすく説明するためにリンゴ農園の例示がでてきてかえって分かりにくくなっている嫌いもありますが、その点を割り引いても、どんな仕組みでコンパイラが動くのかを理解するのには役立ちました。
現実のコンパイラについては、これをもっと複雑にした仕組みになっているものの、基本要素はこれで出てくるので、他の本を読むのに理解しやすかったです。
後ろにソースコードがついていますが、そんなに長くないので全体像を理解するのにはちょうどいいかと思います。
マルチタスクなOSと言語は、簡単なものでもいいので一度自分で作ってみたいと思っています。

コメント