« (長門の)UARTを作ろう! その2 | Main | Advanced FPGA Design 始めました »

2008.03.07

パーサの本

構文解析の話をしようを読んで気になったこと。

LLとかLRのパーサを勉強するのに良い本は何があるのでしょう。(特にLR)
手持ちの本をいろいろと調査してみました。

Compilers: Principles, Techniques, and Tools
ドラゴンブック!バイブルの名にふさわしく、LL、LRから一通り載っている。一冊選ぶならこれかも。

Higher-Order Perl
これはLLのみ。Perlのコードが付いていて、解説もある。デバッグ出力等にも言及されていて実践的。僕はmini py 演習をこれで解いていました。

コンパイラ構成法
LLのみ。Cのソースがある。

A Retargetable C Compiler: Design and Implementation
Cのパーサを作っている。LLのみ。パラパラ見ていると、結構分かりやすい気がする。

持っていないけど気になるのがこの一冊。
Compiler Implementation In C
タイガーブック!
日記を書く[・ _ゝ・]はやみずさんで紹介されていた。目次を見るとLRっぽい?

LRパーサを、ある程度手取足取り教えてくれるなら、ドラゴンブックか、タイガーブックになるのかな。竜虎の闘いとか言っていたらtwitterでこんなつぶやきが
http://twitter.com/mayuki/statuses/765874244

他にも良い本があれば知りたい。

|

« (長門の)UARTを作ろう! その2 | Main | Advanced FPGA Design 始めました »

Comments

タイガーブックには、LL、LR(SRL, LALR)について一通りアルゴリズムの解説が書いてありますよ。

Posted by: はやみず | 2008.03.07 at 11:16 PM

実はわたしも持ってるんですが(それもハードカバーで)、
この本は構文解析の教科書(解説書)というよりは、一通り
構文解析が終わったあとのコード生成とかのほうに重きを置いているような
印象があるんですが、どうなんでしょう。

や、たしかにはやみずセンセのお書きになったとおりで解説していない
わけじゃないんですけどね。

正確な書名を忘れてしまいましたが、そのものずばり「構文解析」な感じの
本(日本人著者による)があったような記憶があります。
とはいえ十年近く前の本だと思うので、内容的に古いものかもしれません。
#てTiger book も大差ないか。時期的には

あとあれだ、LR(正確にはLALR)を知るには bison とか byacc とか kmyaccの
ソースを読解すればいいんじゃないですかねッ!?w

Posted by: きむら(K) | 2008.03.08 at 12:46 AM

はやみずさん、 きむら(K) さん、情報ありがとうございます。

目次だけ見ると、LR一択で詳しく書いてあるのかと思ったら
そうでもないようですね。とりあえず、アマゾンでぽちっとは
しておこう。

> あとあれだ、LR(正確にはLALR)を知るには bison とか byacc とか kmyaccの
> ソースを読解すればいいんじゃないですかねッ!?w
それだっ!
って、最後のwが意味深ですが気にしないことにします。

Posted by: なつたん | 2008.03.08 at 02:57 AM

>て、最後のwが意味深ですが気にしないことにします。
あー。
LALRの基本的なところをわかってないと、闇雲にソース見ても
きついかな? てな感じで、はい。
大学時代bisonのソースと泣きながら格闘してました。

今のbisonはm4マクロを駆使したりいろいろやってるんで、byaccか
kmyaccのほうがよいかも知れんです。

Posted by: きむら(K) | 2008.03.08 at 03:36 AM

コンパイラの本だとコード生成や最適化に話がさかれる部分が当然多くなるので、
ここは構文解析に絞って一点突破した本はどうでしょう?

ということで、"Parsing Techniques" をお薦めする月間なのでお薦めにきました(^^;
http://www.cs.vu.nl/~dick/PTAPG.html
1st Editionは全文PDFで公開されてます。

Posted by: k.inaba | 2008.03.08 at 06:11 AM

> きむら(K)さん
先ほど、ソースをダウンロードしてきて、古の拡張子.m4に涙していたところです。
他のyacc系のソースコードもいろいろと見てみます。

> k.inaba さん
本の紹介ありがとうございます。早速アマゾンで注文しました。
以前の日記で紹介されていた本ですね。到着が楽しみです。

Posted by: なつたん | 2008.03.10 at 04:26 AM

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/18154/40414780

Listed below are links to weblogs that reference パーサの本:

« (長門の)UARTを作ろう! その2 | Main | Advanced FPGA Design 始めました »