Google
ブログ(iiyu.asablo.jpの検索)
ホットコーナー内の検索
 でもASAHIネット(asahi-net.or.jp)全体の検索です。
 検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。
 例 中村(show) ki4s-nkmr

ウェブ全体の検索

Andrew W. Appel「最新コンパイラ構成技法」、その他コンパイラ本のこと2009年11月10日 06時24分03秒

ASAHIネット(http://www.asahi-net.or.jp )のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
http://iiyu.asablo.jp/blog/2009/02/23/4137093
Modern Compiler Implementation In ML, ペゾルドのThe Annotated Turing
で、紹介した
http://www.amazon.co.jp/exec/obidos/ASIN/0521607647/showshotcorne-22/
Modern Compiler Implementation In ML (ペーパーバック)
Andrew W. Appel (著)
の日本語版が、翔泳社から出ています。
http://www.amazon.co.jp/exec/obidos/ASIN/4798114685/showshotcorne-22/
最新コンパイラ構成技法 (大型本)
Andrew W. Appel (著), 滝本 宗宏 (編集), 神林 靖 (編集, 監修)
 古田島さん、献本、ありがとうございます。
 目次などは、
http://seshop.com/detail.asp?pid=11456
最新コンパイラ構成技法
をどうぞ。
 このページの左上に目次のリンクがあります。

 Appelさんのコンパイラ本は、上記エントリのほか、
http://iiyu.asablo.jp/blog/2008/02/29/2672473
注目のコンピュータサイエンス本
でも、
http://www.amazon.co.jp/exec/obidos/ASIN/052103311X/showshotcorne-22/
Compiling With Continuations (ペーパーバック)
Andrew W. Appel (著)
を紹介していますね。

 「最新コンパイラ構成技法」に行く前に、
http://iiyu.asablo.jp/blog/2009/06/05/4343412
ドラゴンブック第2版が出ました!\(^O^)/
http://iiyu.asablo.jp/blog/2009/07/10/4424309
新宿ジュンク堂で平積みされていたコンピュータ関係
http://iiyu.asablo.jp/blog/2009/07/13/4432699
Re: 新宿ジュンク堂で平積みされていたコンピュータ関係
で紹介した
http://www.amazon.co.jp/exec/obidos/ASIN/478191229X/showshotcorne-22/
コンパイラ―原理・技法・ツール (Information & Computing) (単行本)
A.V. エイホ (著), R. セシィ (著), J.D. ウルマン (著), M.S. ラム (著),
Alfred V. Aho (原著), Jeffery D. Ullman (原著), Ravi Sethi (原著),
Monica S. Lam (原著), 原田 賢一 (翻訳)
のことを少し。
 書いたつもりがあったけど、検索しても見つからないで、ちょっとね。
 この本は、誤植がちょくちょく見つかる。これは本来、著者の責任ではなく、
編集者、校正者の責任。
 さらにいえば、少しでも安くするために、翻訳するだけではなく、コンパイ
ラの大家、原田先生自ら、1000ページ以上の本をLaTexで組版したというんだ
から、誤植の責任を負わせるのはかわいそう。
 アマゾンのデータだと、本書ドラゴンブックの初版は、1985年、日本語版は
1990年。第2版は、原書が2006年。日本語版がやっと今回出た。
 名著の第2版を多くの人が望んでいたが、この間、約20年。いくらなんでも
間が空きすぎ。
 その間に、コンパイラの技術も発展していたし、主流だった命令型言語(手
続き型)言語以外に、オブジェクト指向言語、関数型言語、論理型言語などな
どいろんなタイプの言語も普及し、いま、ネイティブコードにコンパイルしな
いスクリプト言語も隆盛を誇っている。ハードウェア面でもRISCは当たり前に
なったし、マルチコアや並列処理も普及しているし、ハードウェアの変化・進
化も劇的といった状況。
 この第2版に、ガベージコレクションの章が増えていることや並列処理の最
適化に関する記述も多いのも、その辺の事情を物語っている。それと、後半に
Datalogという論理型言語のPrologのサブセットのような宣言的な言語で、解
説を進めているのが、目を惹いた。
 ということで、やっと出た第2版は、この20年間の変化を反映しているのだ
が、なかなか出なかったので、
「あぬなー、たいがいにせえよ。いくらコンパイラの名著だからといって、い
つまで学生に古典的なコンパイラ技術を教えんといけんのじゃ。コンパイラは
どんどん進化しとるぞ。お前らがいつまで経っても第2版を書かんのなら、辛
抱たまらんけん、おれが勝手に書く」
といって、現代的なコンパイラの教科書たるべく本がいくつか出版されている。
 その中で定評があったのが、Andrew W. Appel「Modern Compiler
Implementation in ML」で、その日本語版が、本書、Andrew W. Appel「最新
コンパイラ構成技法」なんです。
 内容は、目次をみてもらえば、わかると思う。
 ざっと読んだ範囲でいうと、記述は簡潔明瞭。エッセンスを凝縮してあると
感じますね。
 理論的な解説を交え、Tigerという言語のコンパイラを作る。だから、表紙
は虎の絵になっている。
 記述は プログラミング言語MLで書く。MLで書くといっても、MLのコードは
ポイントだけ。全体のコードは、後述のAppel先生のサイトに行けばいい。
 目次からわかると思うが、先に述べたように、ドラゴンブック初版に書いて
ないこと、現代のコンパイラに要求されることの解説が多い。
 ガベージコレクションやオブジェクト指向言語や関数型言語のコンパイルな
どがそう。中でも目を惹くのが、静的単一代入形式(SAA, static single-
assignment form)の解説。本でSAAの解説は初めてではなかろうか。特に日本
語の本では。

 あとは、本書の表紙にある宣伝文句を並べよう。これはよく内容をとらえて
いる。オビかと思ったら、表紙に直接印刷してあるのね。
--- ここから ---
最新技法の実装および研究に不可欠な課題を凝縮・網羅!!
Appelの知遇を得た監訳陣による“竜虎相博”遂に日本語化実現

一番大きな字で、
理論と実装の卓越した平衡

一番下に小さな字で、
基礎理論から、オブジェクト指向言語/関数型言語用コンパイラの実装、静的
単一代入形式とその最適化アルゴリズムに至る発展的主題まで
--- ここまで ---

 さて、
http://iiyu.asablo.jp/blog/2009/02/23/4137093
Modern Compiler Implementation In ML, ペゾルドのThe Annotated Turing
では、「Modern Compiler Implementation in ML」のほか、「Modern
Compiler Implementation in C」、「Modern Compiler Implementation in
Java」があって、目次も全体のページ数や各章のページ数も同じにみえるなど
と書いた。
 著者のAppel先生のウェブ
http://www.cs.princeton.edu/~appel/
Andrew W. Appel
の中で、
http://www.cs.princeton.edu/~appel/modern/toc.html
Modern Compiler Implementation の目次
からリンクされている
http://www.cs.princeton.edu/~appel/modern/java/
Modern Compiler Implementation in Java
http://www.cs.princeton.edu/~appel/modern/c/
Modern Compiler Implementation in C
http://www.cs.princeton.edu/~appel/modern/ml/
Modern Compiler Implementation in ML
を眺めたら、その謎が少しは解けた。
 字句解析や構文解析は、それぞれの言語用のジェネレータを使っている。
 MLは、ML-LexとML-Yacc, Cは、FlexとBisonだし、JavaはJLexとCUP。
 ガベージコレクションのないCには、Boehm Conservative Garbage
Collectorを使っている。
 こういうツールを使うことで、言語の違いを吸収して、本文はほとんど同じ
記述で済ませられるようにしているんだろうね。
 Tigerコンパイラのソースコードは、上記のページに行くと演習問題の解答
として置いてある。

 以下は、他のコンパイラ本の紹介。
 「最新コンパイラ構成技法」すなわち「Modern Compiler Implementation
in ML」と同じ問題意識で、ドラゴンブックの不備を乗り越えようとしたコン
パイラ本で、ぼくが買ったのは、
http://www.amazon.co.jp/exec/obidos/ASIN/0471976970/showshotcorne-22/
Modern Compiler Design (Worldwide Series in Computer Science) (ペーパ
ーバック)
Dick Grune (著), Henri E. Bal (著), Ceriel J. H. Jacobs (著), Koen G.
Langendoen (著)
 目次をみると、オブジェクト指向言語や関数型言語のコンパイルやら、本書
「最新コンパイラ構成技法」とよく似ているでしょ。目次で目立って違うのは、
Modern Compiler Designには、Prologなど論理型言語のコンパイル技術と並列
マシンや分散環境のコンパイル技術が解説してあるところかな。
 Dick Gruneさんは、
http://iiyu.asablo.jp/blog/2008/02/29/2672473
注目のコンピュータサイエンス本
で名前を出した
http://www.amazon.co.jp/exec/obidos/ASIN/038720248X/showshotcorne-22/
Parsing Techniques (Monographs in Computer Science) (ハードカバー)
Dick Grune (著), Ceriel J. H. Jacobs (著)
の著者でもありますね。
 おお、もう改訂版の予約受付。
http://www.amazon.co.jp/exec/obidos/ASIN/0470034521/showshotcorne-22/
Modern Compiler Design (ペーパーバック)
Dick Grune (著), Henri E. Bal (著), Ceriel J.H. Jacobs (著), Koen G.
Langendoen (著), Kees van Reeuwijk (著)
 発売予定、2010年8月。\(^O^)/
 出たあ、アメリカの出版社お得意の軽く1年前から予約受付!
 お前ら、たいがいにせえよ。\(^O^)/
 そうそう、もっとすごいのがあるんですよ。人工知能のバイブル本、AIMAの
ことなんですけど、覚えていたら、別のエントリで書きますね。

 コンパイラの理論的なことは、よーわからんけんシュタインなので、簡単な
コンパイラのコードが載ってるのがいいという人は、最近出た本なら、
http://iiyu.asablo.jp/blog/2009/08/30/4548459
青木峰郎「ふつうのコンパイラをつくろう」
で、紹介した
http://www.amazon.co.jp/exec/obidos/ASIN/4797337958/showshotcorne-22/
ふつうのコンパイラをつくろう 言語処理系をつくりながら学ぶコンパイルと
実行環境の仕組み (単行本)
青木 峰郎 (著)
 去年、紹介したものなら、
http://iiyu.asablo.jp/blog/2008/04/11/3058782
宮本衛市(著)「はじめてのコンパイラ - 原理と実践」
で、紹介した
http://www.amazon.co.jp/exec/obidos/ASIN/4627817215/showshotcorne-22/
はじめてのコンパイラ - 原理と実践 (単行本(ソフトカバー))
宮本 衛市 (著)
あたりが、いいのではないか、心臓内科。

 最適化に関しては、古くは、4年前のエントリにあったけど、
http://iiyu.asablo.jp/blog/2005/11/22/
Lisp特別イベントその2
で紹介した
http://www.amazon.co.jp/exec/obidos/ASIN/4254121393/showshotcorne-22/
中田育男著「コンパイラの構成と最適化」(朝倉書店)
がすごい。最適化への執念を感じる本。

関連:
http://iiyu.asablo.jp/blog/2008/03/17/2768032
コンパイラ本
http://iiyu.asablo.jp/blog/2008/07/08/3615983
中田育男著「コンパイラの基盤技術と実践」
http://iiyu.asablo.jp/blog/2008/10/28/3851856
中田育男著「コンパイラの基盤技術と実践」その2

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
一富士、二鷹、三は? ひらがなで。

コメント:

トラックバック

_ ホットコーナーの舞台裏 - 2009年11月23日 01時19分52秒

ASAHIネット(http://www.asahi-net.or.jp )のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
 旧版をつい数日前に買っている人がいて、申し訳ない。早く知

_ ホットコーナーの舞台裏 - 2009年11月23日 01時19分54秒

ASAHIネット(http://www.asahi-net.or.jp )のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
 旧版をつい数日前に買っている人がいて、申し訳ない。早く知

_ ホットコーナーの舞台裏 - 2011年01月28日 04時48分27秒

ASAHIネット(http://asahi-net.jp )のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
 全然注意を払ってなかったが、日本オリジナルのコンパイラ本もま

_ ホットコーナーの舞台裏 - 2011年12月28日 10時27分05秒

ASAHIネット(http://asahi-net.jp )のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
 ちょっと前のもあるけど、オライリー・ジャパンが新刊をどどどど

_ ホットコーナーの舞台裏 - 2013年11月25日 10時01分48秒

ASAHIネット(http://asahi-net.jp )のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。
---
 お買い上げありがとうございます。
 ひょっとして、中身も美少女

_ ホットコーナー - 2017年12月26日 11時38分31秒

ASAHIネット(http://asahi-net.jp )のjouwa/salonから。
---
 この前、新宿紀伊國屋書店で、チンチンブラブラしとったんよ。
 チンチンは、余計やろ。ほんとにそんなん出したら、警察沙汰や