Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

ドラゴンブック(コンパイラ)を読み終えました。

ドラゴンブックとは、こちらの書籍です。

コンパイラ―原理・技法・ツール (Information & Computing)

コンパイラ―原理・技法・ツール (Information & Computing)

  • 作者: A.V.エイホ,R.セシィ,J.D.ウルマン,M.S.ラム,Alfred V. Aho,Jeffery D. Ullman,Ravi Sethi,Monica S. Lam,原田賢一
  • 出版社/メーカー: サイエンス社
  • 発売日: 2009/06/01
  • メディア: 単行本
  • 購入: 1人 クリック: 128回
  • この商品を含むブログ (30件) を見る

きっかけ

私は、JVMに(詳しく)なりたいのです。 昨年、Java Day Tokyo 2018のNight Sessionに、Ask the speakersという企画がありました。Twitter VMチームで、元サンのChris Thalingerさんが、スピーカーの1人としておられました。私は、Chrisさんに、「Graalが好きでビルドしたりコードを読んだり、論文を読んだりしています。Graalのエキスパートになるにはどうしたらいいですか?」という質問をしたのです。その様子は、こちらに記していました。

www.sakatakoichi.com

答えとしては、コンパイラに関わりたいなら、やはりドラゴンブックを読もう、ということでした。その教えに従い、私はドラゴンブックを読むことを決めたのですが、大いに驚くことになるのです。

ビビる

価格

定価:9,504円!

今まで5,000円程度の技術書は、バンバン買ってきましたが、1万円近いものは、今回が初めてでした。

厚み

100円硬貨と比べています。

f:id:jyukutyo:20181228173503j:plain

100円硬貨2枚分ほどありました。1,000ページ以上あります。

結局、数ヶ月かかり読むことになりました。内容も、私にとっては簡単ではなく、1日に50ページほどしか読めませんでした。

読んでどうだったのか?

私にとっては、非常に学びとなった本でした。もちろん、読んだもののあまり理解できていない部分も、それなりにある、というのは事実です。私にも、コンパイラに関する知識がいくらか蓄積されていたので、それをベースに、さらに知識を深めることができました。

ただ、あらゆるソフトウェアエンジニアの方が、今すぐ読むべき!という本ではありません。コンパイラを学ぶ最初の一冊では、決してありません。コンパイラの概要を知った上で、しっかりと知識を構築していくときの本だと思います。

私には、以下の本を読んでいたことがよかったようです。

コンパイラとバーチャルマシン (IT Text)

コンパイラとバーチャルマシン (IT Text)

大学の教科書という位置づけです。コンパイラの概要を学べました。

正規表現技術入門 ――最新エンジン実装と理論的背景 (WEB+DB PRESS plus)

正規表現技術入門 ――最新エンジン実装と理論的背景 (WEB+DB PRESS plus)

オートマトンのことは、たしかこの本から学んでいたように覚えています。

The Definitive ANTLR 4 Reference

The Definitive ANTLR 4 Reference

字句解析、構文解析は、ここで慣れていました。

これらの書籍だけでなく、こういった範囲の知識があれば読みやすい、と捉えてくださいね。

今後

読み終えたからと言って、もうコンパイラが作れるようになったわけではないので、継続して学びます。次は、タイガーブックかなあ…

最新コンパイラ構成技法

最新コンパイラ構成技法