概要
- 無料オンライン教科書 としてCSE 40243講義用に開発
- PDFの直接ダウンロード と書籍購入が可能
- コンパイラ構築の入門書 として一学期で完結
- C言語経験者向け に設計、X86/ARMアセンブリへの翻訳を学習
- 追加リソースやエラッタ送信方法 も案内
教科書の概要と利用方法
- 本書は University of Notre DameのProf. Douglas Thain による CSE 40243コンパイラ講義 用に開発
- PDFファイルを無料で直接ダウンロード 可能、また ハードカバーやペーパーバック も購入可能
- 個人利用・学術利用 に限り、ダウンロード・印刷・利用が許可
- 商用印刷や配布は禁止、学生へは 公式ページ(compilerbook.org)への案内 を推奨
- 新版や更新情報は メーリングリスト登録 で受信
コンパイラと本書の特徴
- コンパイラ は 高水準言語 で書かれたプログラムを 低水準言語 に変換するソフトウェア
- コンパイラ構築 は 計算機科学の通過儀礼、理論と実践の両面を学べる挑戦的かつ楽しいプロジェクト
- 本書は 一学期間で完結する入門書 として設計
- C言語風の言語 を受理し、 X86またはARMアセンブリ への変換までを解説
- C言語の経験 と データ構造・コンピュータアーキテクチャの履修経験 がある学部生向け
章構成と内容
- 全体PDF または 各章ごとのPDF を提供
- Chapter 0: Front Matter
- Chapter 1: Introduction
- Chapter 2: A Quick Tour
- Chapter 3: Scanning
- Chapter 4: Parsing
- Chapter 5: Parsing in Practice
- Chapter 6: The Abstract Syntax Tree
- Chapter 7: Semantic Analysis
- Chapter 8: Intermediate Representation
- Chapter 9: Memory Organization
- Chapter 10: Assembly Language
- Chapter 11: Code Generation
- Chapter 12: Optimization
- Appendix A: Sample Course Project
- Appendix B: The B-Minor Language
- Appendix C: Coding Conventions
補足リソースとサポート
- compilerbook-examples GitHubリポジトリ にて追加リソースを公開
- スキャナやパーサのサンプル
- プロジェクト用スターターコード構造
- 各工程(スキャナ、パーサ、型チェッカー、コードジェネレータ)のサンプルテストケース
- エラッタ報告 は著者宛メール(dthain@nd.edu、件名"Compiler Book Errata")で受付
- 修正時には次版で報告者の名前を掲載
推奨利用方法
- PDFはローカルコピーせず、常に 公式ページへのリンク を学生へ案内
- 最新版の利用 を推奨、内容更新や修正の反映を随時確認