表紙画像

やさしいコンパイラの作り方入門
オリジナルなコンパイラを作成する

本書について

 本書では、コンパイラの概要から始めて、コンパイラを構成する要素について解説します。また、本書のコンパイラを使ってコンパイルした結果として生成されるバイナリファイルを実行するための仮想マシンも作成します。
 コンパイラを設計するためには、そのコンパイラで実行するプログラミング言語を設計する必要があります。本書ではきわめてシンプルな独自のプログラミング言語trifleを使って言語とコンパイラの開発について解説します。trifleはとても単純ですが、本書の内容を理解すれば、読者が独自のプログラミング言語を設計して、そのコンパイラを開発することができます。また、trifleを拡張してより高機能なプログラミング言語に育てることも楽しい作業でしょう。
 本書ではコンパイラの開発にC++を使っています。C++を採用した理由は、さまざまなプラットフォームで利用可能であるためです。本書のプログラムは、Windows上のVisual Studio/Visual C++はもちろん、LinuxやMac OS XなどのUNIX系OS、その他のg++互換または標準C++を利用できるさまざまな環境でコンパイルして実行することができます。

 本書では、ソースファイルの作成、プログラムへのソースプログラム(テキスト)の読み込み、文字の処理やデータ構造などについて、ある程度のプログラミングの知識があるものと想定しています。本書の内容やサンプルプログラムが難しいと感じたら、基本的なことがとても丁寧に解説されている姉妹書『やさしいインタープリタの作り方入門』を読んでください。
 本書は、基本的なコンパイラの作り方をやさしく解説している入門書です。コンパイラの理論や開発技法には長い歴史と膨大な過去の資産があります。本書で基本的なコンパイラの作り方をマスターしたら、さらにコンパイラのさまざまな理論書をひも解いたり実際のコンパイラのソースコードの研究を続けて、コンパイラの広大な世界を楽しんでください。

目 次

本文中に掲載したソースコード