戻る

言語処理に関する書籍

私はプログラムを始めた当初からコンパイラとかインタープリータと聞くとわくわくします。当時はこの方面の知識もあまりなく、自分で言語を作るなんて途方もない話じゃないかと理解していました。だから、今でも言語を作ることに対し何か憧れの様な気持を持っています。そのせいか、昔からコンパイラやインタープリータの本があると大抵購入して(別に全てを読む訳ではないのですが)今でも本棚にしまってあり、ざっと見たところ30冊程度は並んでいます。中には随分古い本もありますから、今では入手できない本も混じっているかもしれません。せっかくですから、ここで徐々に紹介したいと思います。


古典的な本

★★★★★ 未読
言語処理系の古典本でドラゴンブックと呼ばれている本です。2巻本で各論理の説明を非常に細かく説明しています。論理としては恐らくこの一冊で事足りるのではないでしょうか。ただし、いきなりこの本を読み始めても挫折数る事間違いなしで、他の本と併用する方が良いでしょう。 ドラゴンブックの第2版です。流石にドラゴンブックも更新の時期がきたので加筆部分も結構あり、なんと約1000頁の本となり値段も随分高い本となっています。既に第1版を持ってるのであれば、専門家でない限り必要ないのかなと思います。私は購入しましたが、目次を比べただけでまだ読んでません。第1版でさえ読み進めるのが大変なのに、更に根性が要りそうな内容です。
★★★★ 未読 執筆予定
ドラゴンブックと並んで古典として有名なのが、タイガーブックと呼ばれる本書です。タイガーブックはタイトルから分かると思いますが"in C"や"in ML"とか幾つかのバージョンがありますが、私は"in C"の方を読みました。"in ML"は翻訳されていますが、中身は"in C"とそれほど違っているものではありません。内容は正直言って読むには辛いです。ドラゴンブックよりは内容が具体的かとも思うのですが、読み通すのに根性がいります。 コメント


教科書本

執筆予定 執筆予定 執筆予定
コメント コメント コメント
執筆予定 執筆予定 執筆予定
コメント コメント コメント
執筆予定 執筆予定 執筆予定
コメント コメント コメント


実用的アプローチ本

執筆予定 執筆予定 執筆予定
コメント コメント コメント
執筆予定 執筆予定 執筆予定
コメント コメント コメント
★★★ 執筆予定 執筆予定
本書は中級に分類しましたが、解説が分かりやすいので初心者本でも良いかも知れません。内容は、最適化の様な高度なものは含んでいませんが、言語処理系に最低必要な項目は含まれています。bison/flexなどにも触れられていますので、これらのツールを利用しての言語処理アプローチも学習できます。本書はBASICタイプの言語とC言語タイプの言語を作成しますので、実際動作する言語で動きを確かめながら学習する良いでしょう。 コメント コメント
執筆予定 執筆予定 執筆予定
コメント コメント コメント
執筆予定
コメント


初心者本

★★★★★ ★★
本書は、文句なしの五つ星です。論理と実践のバランスや説明の適切さは素晴らしいと思います。取り扱う範囲も初心者相手だからこの程度で良いだろうという感じはなく、現在の言語に必須なクラスの実装まで取り扱う広がりを持っています。本当は難しい内容を取り扱っていながら、それを意識させない筆者の力量に脱帽です。初心者本に入れるのかどうか迷ったのですが、中級でも使える本として推薦します。 本書は学術的な所には殆ど立ち入らず、分かりやすくインタープリータ―の作成方法を説明しています。作成する言語も簡単なものなので、C++のサンプルコードと解説を眺めるだけで言語処理のアウトラインが理解できます。言語処理は凝ればいくらでも深みにハマれるので、最初の一歩は簡単に済ませたいものです。本書は、その最初の一歩としての価値は十分あると思いますが、少し知識のある方は物足りなさを感じるかもしれません。 本書については、Amazoneのカスタマーレビューを参考にして下さい。
★★★★ ★★★★★ ★★★
「プログラミング言語を作る」や「コンパイラを作ろう」は初心者本の範囲には収まらない内容なので、純粋な初心者本としては本書が最適かもしれません。学術的アプローチを意識しつつ言語処理に必要な項目を一通り盛り込んでいます。本書の特徴は対象言語にオブジェクトをサポートしているところです。オブジェクトの個所は戸惑う人も居るかもしれませんが、今は避けて通れない概念なのでここで理解してしまいましょう。 学術的な所も押さえつつ丁寧な説明が進められ、本文が623頁の力作です。取り扱う構文はオーソドックスなもので基本をマスターするには丁度良い内容です。後半のマシン語生成についてはCPUアーキテクチャ等の話が出てきますが、これも丁寧な説明がされています。またELF構造やリンカの説明も入っていますので、本書一冊でかなりの部分までマスターできます。初心者本とするには難しいかなと思いましたが、役に立つ一冊として推薦します。 本書は、コンパイラ界の大御所である中田育男先生のお弟子さんが書かれた本のようです。したがって、内容はあくまでも学術的アプローチです。ただ、このお弟子さんが女性ということもあるのでしょうか、説明にかわいい絵やりんごが出てくるので何だか楽しくなってきます。あの無味乾燥した言語処理の論理をこの様に料理していしまうのですから大したものですよね。きっと優秀なお弟子さんだったのでしょう。

Copyright (C) 2012 Layer Co.,Ltd. All rights reserved.

戻る