昨年来、言語処理系の作成をテーマとした書籍の出版が相次いでいる。しかも学術書ではなく、一般のプログラマを対象とした入門書が増えているのだ。

 言語処理系はプログラマにとって最も身近なソフトウエアで、その開発手法は理論的に確立されている。しかし、作成は決して容易ではなく、ハードルは高い。「再帰的下向き構文解析」のような言語処理系独特のアルゴリズムを学ぶ必要があるため、とっつきにくい分野と言える。

 同業他社としては「こんなにコンパイラの本が何冊も出て大丈夫なの? ちゃんと売れるの?」と思ってしまうが、言語処理系の書籍を出そうという挑戦も、それを読んで実際に作ろうという挑戦も、いずれもすばらしいことだ。日本のソフトウエア産業の未来は案外明るいのではないだろうか。Rubyの成功に刺激され、自分でも独自のプログラミング言語を作ってみたい(そしてまつもとゆきひろ氏のように有名になりたい)と思う人が増えているのかもしれない。

 類書の中でも、この本は優れた入門書だ。まず300ページ強と薄い。言語処理系の書籍はどうしても厚くなりがちで、そうなると挫折する可能性が高まる。素材も適切だ。多くのプログラマがなじんでいるC言語を使い、仮想スタックマシン上で動くC言語のサブセットを作る。学習向けには最適の組み合わせだろう。

 lexやyaccといった開発支援ツールを使わず、すべて自前で実装するのもいい。理論と実装の説明のバランスが良いので、しっかりとした意気込みで読めば、挫折することはないだろう。中田育男著「コンパイラ」(オーム社)と並び、言語処理系作成の最初の一歩としてお薦めできる一冊である。

明快入門 コンパイラ・インタプリタ開発

明快入門 コンパイラ・インタプリタ開発
林晴比古著
ソフトバンククリエイティブ発行
2499円(税込)