青木峰郎「ふつうのコンパイラをつくろう」
2009-08-30


ASAHIネット([URL]のjouwa/salonからホットコーナー([URL] )に転載したものから。
---
[URL]
Re: 新宿ジュンク堂で平積みされていたコンピュータ関係
の続きで、ドラゴンブックである
[URL]
コンパイラ―原理・技法・ツール (Information & Computing) (単行本)
A.V. エイホ (著), R. セシィ (著), J.D. ウルマン (著), M.S. ラム (著),
Alfred V. Aho (原著), Jeffery D. Ullman (原著), Ravi Sethi (原著),
Monica S. Lam (原著), 原田 賢一 (翻訳)
と、それに関係するもののことを書こうと思っていたら、もう2ヵ月経ってま
す。
 例によって発散してまとまらないので、そのときに一緒に紹介しようと思っ
ていたもののうちから、これは、早くお知らせしないとなくなるかもしれない
と思った本だけ、紹介。

[URL]
ふつうのコンパイラをつくろう 言語処理系をつくりながら学ぶコンパイルと
実行環境の仕組み (単行本)
青木 峰郎 (著)
です。
 本書には、ドラゴンブックや他のコンパイラ本にあるような、理論的な話は
皆無です。その代わり、実際に、JavaCCなどを使ってコンパイラを作り、それ
もx86のネイティブコンパイラとリンクして実行するところまで解説していま
す。
 理論的な話は後で非常に役立つことは多いけれど、それが難しい人、そんな
のより、まずコンパイラが動くところまで自分で手を動かしてたどってみたい
という人には、「ふつう」じゃなく、とてもいいです。
 で、ふつうのコンパイラ本としては、構成が変というか、x86のネイティブ
コードにコンパイルする影響なのか、オブジェクトファイルのELFのフォーマ
ットやリンクの話がずいぶんページを使って書いてあるのね。x86のプロセッ
サの説明やアセンブラの説明があるのは、当然だろうけど、それにしても、オ
ブジェクトファイルやリンクや実行に至る説明が妙に力(りき)が入っている。
 不思議に思って、検索してみたら、
[URL]
『ふつうのコンパイラをつくろう』サポートページ
[URL]
『ふつうのコンパイラをつくろう』詳細目次
があって、
[URL]
青木日記 2007-05-12 2007-05-12
をみたら、コンパイラの本を書くつもりじゃなかったのね。Binary 2.0系のバ
イナリをいじくり回す本を書くつもりだったけど、それじゃ、売れないといわ
れたので、仕方なくコンパイラの部分を前半に付けたと。
 なるほどねえ。なんか、雰囲気違うなあと思ったけど、納得。

 理論的な話が皆無と書いたが、最適化も皆無。
 言語理論など理論的な話は、上記ドラゴンブック、最適化の話は、
[URL]
Lisp特別イベントその2
で紹介した
[URL]
Re: The LLVM Compiler Infrastructure
[URL]
コンパイラ本
で紹介した
[URL]
コンパイラの構成と最適化 (単行本)
中田 育男 (著)
が現状、定番でしょう。

2009/11/23 追記:
 中田育男先生の「コンパイラの構成と最適化 第2版」が出ています。
[URL]
コンパイラの構成と最適化 (単行本)
中田 育男 (著)
 詳しくは、

続きを読む


コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット