ようこそ amazlet.com へ! amazlet.com は Amazon.co.jp と連動したショッピング・サイトです。Amazon.co.jp だから安心・安全。 気に入った商品は ワンクリックで Amazon.co.jp のカートに追加することができます。
「ふつう」の人にオススメできない本でした。 環境を486・linux・javaに限定しているのでWindowsで動くバイナリを期待した人は落胆するでしょう。 「x86系CPUを選んだ理由は、現在この地上において最も普及しており、、、」と書いているわりには Windowsを完全にスルーするのはどうかと思います。まあパーサやアセンブラの関係なんでしょうけど、、、。 各章でコンパイラ・リンカ・CPU・実行の仕組みなど多くを扱っている為かページ数だけ増大し、 内容が薄いものになっています。構文解析には既成のパーサを用いている為、その実装や 理論・アルゴリズムは他の書籍に丸投げしているので残念ながらこの本1冊でコンパイラを理解するのは 無理でしょう。また486に関しても同様です。コンパイラ本にはドラゴンブックや中田育男先生の本、 486には「はじめて読む486」など名著が存在するのでしょうがないですが、、、。逆にいうとそれらの 名著をすでにお持ちの方は「この」本は必要ないように思われます。 著者はあくまで「現実的な」コンパイラを目指していますが、その「現実的な」コンパイラを実装した ところでそれをどうように活用するの?という疑問が沸いてきました。速い実行速度が必要ならば C言語で事足りるし、柔軟な言語が必要であればperl・rubyやjavaで十分だと思います。 コンパイラの理論を勉強するのであればこの本の存在意義は皆無です。 「俺は天才だからコンピュータ言語に新たなパラダイムを吹き込む!」といった人は読むべき本です。 最後に良心と思ったのは価格です。これが倍以上の値段だったら発狂しているところでした。
コンパイラに有用な理論の解説とかじゃなくて、 実装に主眼を置いた本です。 プログラミング言語で書かれたソースコードが、 コンピューター上で実行されるまでが分かりやすく解説されています。 オブジェクトファイルって何だろう? コンパイラは何をしているんだろう? .dllとか.libとか.hって何で必要なの? リンカとは?ローダとは?ELFとは? 必要なところだけ読んで、構文解析等は読み飛ばしてしまいましたが、 コンパイラオプションの意味やリンクの原理が理解でき、大変助かりました。 かゆいところに手が届く解説でとても分かりやすいです。 学生や初級〜中級プログラマは必読です。
こんなコンパイラ本は見たことがありません。 字句解析、構文解析、意味解析、最適化、コード生成。 タイトルに「つくろう」とあるように、これらのコンパイラ本ではお馴染の内容が実装の視点から解説されています。 本書が他書と大きく異なっている点は、x86 アーキテクチャ上で実際に動かせるコードの生成を目的にしていることでしょう。そのために、2つの章を割いてx86アーキテクチャとその上でのアセンブラプログラミングについて解説してしまっているんです。だから、本書1冊でコンパイラに関する知識とその実装方法を一通り学べてしまいます。 さらに驚くべきことに、これだけの内容とページ数にもかかわらず、たったの3,200円で手に入ってしまうんですよ。私の個人的な価値観では6,000円くらいしても良いくらいの内容だと思います。 コンパイラを学ぼうとする、すべての人にオススメしたい本です。 本書は将来、コンパイラのバイブルと呼ばれるようになると思います。