トップ > 分野別のおすすめ本 > コンパイラ・言語処理系の本おすすめ7冊|作って学ぶ入門→定番教科書の順
※本ページはプロモーション(Amazonアソシエイト)を含みます。
コンパイラ・言語処理系の本おすすめ7冊|作って学ぶ入門→定番教科書の順
コンパイラの本は、小さな言語を作りながら学ぶ本と、理論を体系的に学ぶ教科書に分かれます。いきなり1,000ページ級の教科書から入ると挫折しやすいので、この記事では作って学ぶ本から順に7冊を並べます。
先に結論:読む順番
| 順 | 本 | 役割 |
|---|---|---|
| 1 | Go言語でつくるインタプリタ | 小さな言語を最後まで作って全体像をつかむ |
| 2 | 言語実装パターン | 構文解析・インタプリタ・言語変換の「型」を身につける |
| 3 | 最新コンパイラ構成技法 | コンパイラの各段階を教科書で体系的に学ぶ |
| 4 | コンパイラ 原理・技法・ツール(第2版) | 定番の教科書(ドラゴンブック)で深める |
| 5 | コンパイラの構成と最適化(第2版) | 日本語で最適化まで学ぶ |
| 6 | ガベージコレクション | メモリ管理(GC)を専門に学ぶ |
| 7 | 型システム入門 | 型の理論を専門に学ぶ |
7冊の比較表
| 本 | 刊行 | 判型・ページ | タイプ |
|---|---|---|---|
| Go言語でつくるインタプリタ | 2018年6月 | B5変形・296ページ | 作って学ぶ |
| 言語実装パターン | 2011年12月 | B5・325ページ | パターン集 |
| 最新コンパイラ構成技法 | 2009年10月 | B5・505ページ | 教科書 |
| コンパイラ 原理・技法・ツール(第2版) | 2009年5月 | A5・1,090ページ | 教科書 |
| コンパイラの構成と最適化(第2版) | 2009年11月 | A5・601ページ | 教科書 |
| ガベージコレクション | 2016年3月 | B5・543ページ | 専門書 |
| 型システム入門 | 2013年3月 | B5・503ページ | 専門書 |
1. Go言語でつくるインタプリタ
出版社の紹介によると、Go言語で「Monkey」というC言語風の小さな言語のインタプリタを、順を追って組み立てていく本です。字句解析器・構文解析器・評価器を作りながら、ソースコードがトークン列、抽象構文木へと変わり、評価されて動くまでを体験できます。
目次は「字句解析」「構文解析」「評価」「インタプリタの拡張」の4章と、付録の「マクロシステム」。296ページで最後まで作り切れる分量なので、コンパイラの全体像を最初につかむ1冊に向いています。Go言語の基本は読めることが前提です。
2. 言語実装パターン

副題は「コンパイラ技術によるテキスト処理から言語実装まで」。著者は構文解析器生成系ANTLRの開発者 Terence Parr です。構文解析・意味解析・インタプリタ・言語変換を「パターン」として整理した本で、出版社は sed や awk では複雑になりがちなテキスト処理にも使えると紹介しています。
目次は「構文解析」「言語を解析しよう(木の構築・記号表・型の規則)」「インタプリタを構築しよう」「言語の変換と生成」の4部構成。DSL(小さな専用言語)や設定ファイルの解析を仕事で作る人にも向いています。
3. 最新コンパイラ構成技法
大学のコンパイラの授業の教科書として書かれた本で、例のコードは ML という言語で書かれています。第1部の基礎編で字句解析から構文解析・意味解析・中間コード・命令選択・レジスタ割付けまでを1本のコンパイラとして通し、第2部の発展編でガベージコレクション、オブジェクト指向言語、関数型言語、ループ最適化などを扱います。付録の「Tiger言語」にちなんで「タイガーブック」と呼ばれることもあります。
4. コンパイラ 原理・技法・ツール(第2版)
出版社が「ドラゴンブック」と紹介している、コンパイラの定番教科書の第2版です。前半は学部の授業向けにコンパイラ設計の基礎(字句解析・構文解析・中間コード生成・コード生成)、後半は大学院向けに最適化(機械独立の最適化、命令レベルの並列化、手続き間解析など)を扱います。A5判で1,090ページあり、通読より、必要な章を引く使い方が現実的です。
5. コンパイラの構成と最適化(第2版)
中田育男さんによる日本語の教科書です。第1部の概要、第2部の構成(文法・字句解析・構文解析・意味解析・実行時記憶域と仮想マシン・目的コード生成)に続き、第3部で最適化(データの流れの解析、SSA形式、命令スケジューリング、レジスタ割付け、ループ変換など)を詳しく扱います。最適化を日本語の教科書で学びたい人に向いています。
6. ガベージコレクション

副題は「自動的メモリ管理を構成する理論と実装」。マークスイープ・コピー・参照カウントといった基本の方式から、世代別・並列・並行・リアルタイムのガベージコレクションまでを扱う専門書です。出版社は、アルゴリズムだけでなく実装方法と長所・短所を比べ、必要な方式を選ぶ目を養う本と紹介しています。言語処理系やランタイムを作る人向けです。
7. 型システム入門
副題は「プログラミング言語と型の理論」。目次は「型無しの計算体系」「単純型」「部分型付け」「再帰型」「多相性」「高階の型システム」の6部構成です。型の理論を基礎から積み上げる専門書なので、型推論や型検査を自分で実装したい人、プログラミング言語の研究に進みたい人に向いています。
選び方のまとめ
- まず動くものを作りたい → 1 → 2
- コンパイラを体系的に学びたい → 1 → 3 → 4(日本語の最適化なら5)
- ランタイム・GCに興味がある → 1 → 6
- 型の理論に興味がある → 1 → 7
OSやCPUなど、さらに低いレイヤーに興味が出たら組み込み・C言語・OS自作の本も参考にしてください。
この記事の確かめ方
書名・版・刊行年月は国立国会図書館サーチとopenBD、目次・判型・ページ数・内容は紀伊國屋書店の書誌(出版社内容情報)で確かめています(2026年10月27日確認)。本の説明は目次と出版社の紹介をもとにした整理で、読んだ感想として書いたものではありません。




