Entry

今日読み直した本 - 『lex&yaccプログラミング』

2009年01月10日

「CSS パーサ見つからない」な話を書いたもんだから,ほんの少しだけ責任を感じて,lex/yacc の本なんかを読んでみました。というか,もうかなり読み込んでるので,確認程度だったんですけど。

lex&yaccプログラミング (NUTSHELL HANDBOOKS)
ジョン・R レビン ドウー ブラウン トニー メイソン
アスキー
売り上げランキング: 136762
おすすめ度の平均: 4.5
5 Cコンパイラの拡張を書くときに参考にしました。
4 UNIXを使い倒したい人向け

6年くらい前,コンパイラ・コンパイラにものすごく執心していたことがあって,その手の本をかなり読んでいた時期があります。当時はへんてこなインタプリタを作って楽しむくらいだったんですけれど,それでもプログラミング言語を自分で設計するっつのは,想像以上に楽しかった。

本書は,あたしがコンパイラ・コンパイラを知るきっかけになった本です。町の本屋でいつまでも売れない本があったから,買って読んでみたのでした。たしかに,町の本屋では売れないわな。lex/yacc というのは,コンパイラの字句解析部と構文解析部のルーチンを自動生成してくれるツールです。コンパイラを作るコンパイラだから,コンパイラ・コンパイラ。FreeBSD なんかでは lex/yacc がそのまま使えるんですけれど,Linux を初めとした GNU 界隈では lex/yacc をもう少し高機能にした flex/bison というツールを使うのが一般的なんだと思います。

ちゃんとしたプログラミング言語を作るなら,少なくとも「ドラゴン本」を読まなきゃいけないんだとは思うんですけれど,その理解のためにも,現物の lex/yacc の使い方を見ておくのは,有意義なんじゃないかと思います。

コンパイラ―原理・技法・ツール〈1〉 (Information & Computing)
A. V. エイホ R. セシィ J. D. ウルマン
サイエンス社
売り上げランキング: 94801
おすすめ度の平均: 5.0
5 コンパイラを作る際
5 難しいけど、IT技術者を語るなら、読んでおくべき一冊かも。

ドラゴン本は高いし重いしで,なかなか買う機会がない。いつも立ち読み。

それはそうと,今日本屋でコンパイラ・コンパイラ関連の本を探したんですけれど,上記の本も含めて,影も形もなくなっていました。あたしが覗く本屋は大きいところが3軒くらいあるんですけれど,どこにも置いてない。Amazon も新品は置いてない。こりゃ受難だ。

lex/yacc の代わりに,Ruby でプログラミング言語を作るってな企画モノ(Ruby には Racc という yacc 実装がある)の書籍があるくらい。こちらも6年前にゴリゴリ読んでました。

Rubyを256倍使うための本 無道編
青木 峰郎
アスキー
売り上げランキング: 192477

こんなに参考書籍がない環境で,今時の言語開発者さんの卵はどんな本を読んでるんでしょう……。もう言語開発者とか要らないんだろうか。たしかに,増えすぎたっちゃ増えすぎた。そういえば,上記書籍を知人(かなり若い人)の前で読んでいたところ,コンパイラ・コンパイラという言葉をそもそも知らなかったみたい。あたしが入れ込んでたから,一般的でないコトを半ば常識として話してたってのもあるんでしょうけれど,プログラミング周りのリテラシが高い人だっただけに,ちょっと驚きました。世代的な違いなんだろうか……と,少し凹む感じすら……。

ともかく,コンパイラ・コンパイラの解説本がほとんどなくなっているのは,基礎技術の話だけに,ちょっとキツイ状況なんじゃないかと思っていたりします。lex/yacc 本の再販は急務だと思う。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN