第1章 序論
1.1 言語処理系
1.2 プログラミング言語とコンパイラ
1.3 Small C
1.4 諸定義
演習問題
第2章 コンパイラの概要
2.1 コンパイラの構造
2.2 字句解析
2.3 構文解析
2.4 中間コード生成
2.5 コード最適化
2.6 目的コード生成
演習問題
第3章 字句解析
3.1 正規表現
3.2 有限オートマトン
3.3 lexを用いた字句解析系の生成
演習問題
第4章 構文解析
4.1 構文解析の基礎
4.2 下降型構文解析
4.3 上昇型構文解析
演習問題
第5章 中間コード生成
5.1 中間コードの種類
5.2 記号表
5.3 構文主導型変換
演習問題
第6章 コード最適化
6.1 基本ブロックとフローグラフ
6.2 局所的最適化
6.3 大域的最適化
6.4 データフロー解析
6.5 静的単一代入形式を用いた最適化
演習問題
第7章 目的コード生成
7.1 木表現された算術式の目的コード生成
7.2 グラフ彩色アルゴリズムを用いたレジスタ割当て
演習問題
付録A Small Cの仕様
A.1 トークンの仕様
A.2 構文規則
付録B 有限オートマトンの構成法
B.1 非決定性有限オートマトンの構成
B.2 決定性有限オートマトンへの変換
参考文献
索引
1.1 言語処理系
1.2 プログラミング言語とコンパイラ
1.3 Small C
1.4 諸定義
演習問題
第2章 コンパイラの概要
2.1 コンパイラの構造
2.2 字句解析
2.3 構文解析
2.4 中間コード生成
2.5 コード最適化
2.6 目的コード生成
演習問題
第3章 字句解析
3.1 正規表現
3.2 有限オートマトン
3.3 lexを用いた字句解析系の生成
演習問題
第4章 構文解析
4.1 構文解析の基礎
4.2 下降型構文解析
4.3 上昇型構文解析
演習問題
第5章 中間コード生成
5.1 中間コードの種類
5.2 記号表
5.3 構文主導型変換
演習問題
第6章 コード最適化
6.1 基本ブロックとフローグラフ
6.2 局所的最適化
6.3 大域的最適化
6.4 データフロー解析
6.5 静的単一代入形式を用いた最適化
演習問題
第7章 目的コード生成
7.1 木表現された算術式の目的コード生成
7.2 グラフ彩色アルゴリズムを用いたレジスタ割当て
演習問題
付録A Small Cの仕様
A.1 トークンの仕様
A.2 構文規則
付録B 有限オートマトンの構成法
B.1 非決定性有限オートマトンの構成
B.2 決定性有限オートマトンへの変換
参考文献
索引