コンパイラ界の竜虎

Appelさんの『最新コンパイラ構成技法』と、Ahoさんの『コンパイラ』(第二版)。図書館の本棚を見てて思うのだが、著者名Aの棚にはコンパイラの本が多いような気がする。……たぶん気のせい*1

タイガーブックの渋い虎イラストと、ドラゴンブックのRPG風な表紙が並んでいればカッコイイ(?)予定だった。でも図書館から借りた時点で既に表紙が外されていた。残念。

つまり、タイガーブックは自費購入。今月のガス代が払えないかも*2。ガスが止まるのは厳しいなあ。まあ電気が止まるよりマシだと心を慰める。

読み始めたが、表紙に「理論と実装の卓越した平衡」とあるように、議論は抽象的にすぎず具体例に留まらずで、上手い按配だと思う。

ただ、場所によって説明がかなりさっぱりしている。未だによく分からないLR構文解析の解説が、10ページかそこらしかない。すんなり進むところは簡潔でいいのだが、詰まってもっと情報が欲しい状況になると足りない。

そこでドラゴンを併読した。こっちは上向き構文解析だけで50ページ以上ある*3。前述の「理論と実装」という対立軸で言うなら、やや理論よりかなあという印象。もちろん分厚さに相応して詳細な内容なので文句は言わない。

たぶんタイガーの目玉は第二部の、オブジェクト指向言語関数型言語の部分だったり、SSAとか最適化技法についての記述なんだろうなあと想像しつつ、そこにはまだ到達できない。あんまり有効活用できてないとも言う。ネコに小判とまでは言わないが、ネコに毛糸玉ぐらい。

色々な意味でもっと努力が必要だと感じるこの頃。

*1:コンパイラ』だけで5冊ぐらいあったから、それに影響されたのかも。インプリンティング効果?

*2:後先考えない買い物は危険である。しかしやめられない

*3:そもそも、『コンパイラ』は1000ページもある大書