コンパイラ
共立出版
著者:佐渡一広、寺島美昭、水野忠則
刊行にあたって
はじめに
第1章 プログラムが動作する仕組み
1.1 コンピュータの仕組み
1.2 プログラム開発の目的
1.3 コンピュータの発展と問題点
第2章 言語が動作する仕組み
2.1 自然言語と人工言語
2.2 プログラミング言語と機械語
2.3 言語を動作させる工夫
2.4 アルゴリズム
第3章 字句解析
3.1 トークン
3.2 トークンの種類
3.3 字句解析の手法
3.4 状態遷移図の表による表現
3.5 トークンの定義
3.6 字句解析のツール
第4章 文法
4.1 規格の必要性
4.2 文法と言語
4.3 導出
4.4 構文木
4.5 BNF
4.6 構文木と演算子の記法
第5章 下向構文解析
5.1 再帰下降法
5.2 演算子の追加
5.3 文法からの下向構文解析の生成
5.4 LL(k)構文解析
第6章 yaccによる構文解析
6.1 yacc
6.2 演算子の優先順位
第7章 上向構文解析
7.1 SLR構文解析
7.2 SLRの動作の仕組み
7.3 SLR(k)
7.4 正規LR構文解析
7.5 SLRとLRの違い
第8章 yaccの仕組み:LALR構文解析
8.1 LALR構文解析
8.2 LALR構文解析の状態集合
8.3 あいまいな文法
第9章 構文木と意味づけ
9.1 意味づけ
9.2 記号の管理
9.3 スコープを考えない記号表
9.4 スコープの処理
9.5 属性文法
9.6 中間言語
9.7 機械独立性
第10章 コード生成
10.1 コード生成
10.2 レジスタ割り当て
10.3 スタック型コンピュータ
10.4 クロスコンパイラ
第11章 関数・手続きの処理
11.1 関数の処理の例
11.2 関数の呼び出し
11.3 大域変数
11.4 静的バインディングと動的バインディング
11.5 引数の種類
11.6 結合編集
第12章 最適化
12.1 最適化
12.2 機械独立の最適化
12.3 プログラムのフローダイアグラム
12.4 機械依存の最適化
12.5 機械語命令レベルの最適化
12.6 最適化の注意
第13章 インタプリタと仮想計算機
13.1 さまざまな実行方法
13.2 インタプリタ
13.3 コンパイラインタプリタ
13.4 仮想計算機
13.5 プログラミング言語向きアーキテクチャ
13.6 インタプリタ的機械の生成
索引