コンパイラ
原理と構造
- 著者:
- 大堀 淳
- 出版社:
- 共立出版
- 出版日:
- 2021年09月14日頃
- ISBN:
- 9784320124783
- 価格:
- ¥3,520
- 在庫:
- 1
- 判型:
- 単行本
書籍紹介
本書は,プログラミングやコンピュータに興味を持つ者が,コンパイラの原理と構造,さらにその開発方法を基礎から理解するためのテキストである。 コンパイラの理解は,コンピュータの原理やプログラムの実行のしくみを理解する基礎である。そこで本書では,チューリングらによって確立された計算可能性の理論と万能計算機の構築方法を基礎として,コンパイラを含むプログラミング言語処理系の構築原理とその構造を解説する。これらの理解を基に,コンパイラ実現のための主要な基盤技術を,その原理とその背後にある考え方を含め習得することを目標とする。この考え方を理解することができれば,従来難解と受け止められている LR 構文解析や多相型の型推論などの技術も見通し良く習得できる。 これらのコンパイラの原理と構造の理解に加えて,先端的言語コンパイラの開発方法を習得するために,実際に実行可能なインタープリタと抽象機械へのコンパイラを開発する。高階の関数や多相型型推論などの先端機能を含む ML 言語の小さなサブセット CoreML を対象とし,ML 言語の一つである「 SML#」を用いてその処理系を開発する。 これらを学び直したいエンジニアや,コンピュータやプログラミングに興味を持つ学部学生に最適な一冊である。 第 1 章 計算とプログラミング言語 1.1 計算の原理と計算機の構造 1.2 プログラミング言語の構造と原理 1.3 プログラミング言語開発の枠組み 1.4 プログラミング言語処理系開発の課題 1.5 練習問題 第 2 章 SML#チュートリアル 2.1 高水準言語の役割と ML の紹介 2.2 チューリング言語インタープリタの設計と開発 2.3 分割コンパイルとコマンドの作成 2.4 練習問題 第 3 章 文字列の性質と文字列処理 3.1 文字列と文字列集合の性質と演算 3.2 文字列のみの構造を持つ CoreML 処理系 3.3 練習問題 第 4 章 字句解析 4.1 正規言語を用いた語彙の定義 4.2 正規言語を認識する機械 4.3 Lex による字句解析処理の自動生成 4.4 字句解析のみを行う CoreML 処理系 4.5 練習問題 第 5 章 構文解析 5.1 本章の内容と目的 5.2 文脈自由文法による構文構造の定義 5.3 構文解析問題 5.4 最右導出の再構築 5.5 LR 構文解析の原理 5.6 定理 5.1 の証明と DG の構築 5.7 効率的なアルゴリズム構築戦略 5.8 構文解析表の作成 5.9 先読み文字によるアルゴリズムの改良 5.10 yacc による構文解析処理の自動生成 5.11 構文解析のみを行う CoreML 処理系 5.12 練習問題 第 6 章 型の解析と型推論 6.1 型と型システムの考え方 6.2 型システムの定義 6.3 型の解析 6.4 式の主要な型判定を推論する CoreML 処理系 6.5 多相型の定義と解析 6.6 多相型を推論する CoreML 処理系 6.7 練習問題 第 7 章 インタープリタ 7.1 インタープリタの構造と役割 7.2 操作的意味論の定義 7.3 再帰関数の実現 7.4 インタープリタの実装 7.5 練習問題 第 8 章 抽象機械へのコンパイル 8.1 コンパイラの構造 8.2 SECD 機械の定義 8.3 SECD 機械へのコンパイル 8.4 CoreML コンパイラと実行時処理系の実装 8.5 練習問題