書名で キーワードで

詳細検索 >>

書籍詳細

電子通信情報系コアテキストシリーズ C-1)

  実践コンパイラ構成法

▼ 目次を読む

▼ 目次をたたむ

滝本宗宏 東京理科大教授 博士(工学) 著

… 著者ホームページです

発行年月日:2017/07/25 , 判 型: A5,  ページ数:220頁

ISBN:978-4-339-01933-9,  定 価:3,024円 (本体2,800円+税)

本書は,実践的にコンパイラを学ぶことができる教科書である。コンパイラを記述するプログラミング言語にはOCamlという関数型言語を採用した。また,目的コードには多くのPCで動作確認ができるようにx64コードを採用した。

滝本先生が『実践 コンパイラ構成法』サポートページを開設しました。読者の皆さま、是非ご活用ください。

【目次】

1. はじめに
1.1 言語処理系
1.2 コンパイラ
 1.2.1 コンパイラの構成
 1.2.2 開発ツールと記述言語
1. はじめに
1.1 言語処理系
1.2 コンパイラ
 1.2.1 コンパイラの構成
 1.2.2 開発ツールと記述言語

2. 記述言語
2.1 コンパイラの記述とOCaml
2.2 OCamlの基本
 2.2.1 実行と基本型
 2.2.2 変数束縛
 2.2.3 関数定義
2.3 複雑な型の利用
 2.3.1 構造を持つ型
 2.3.2 パターンマッチング
 2.3.3 便利な高階関数
2.4 型の定義
 2.4.1 レコード
 2.4.2 バリアント
2.5 そのほかの重要構文
 2.5.1 let-rec-andとtype-and
 2.5.2 参照型
 2.5.3 例外
2.6 インタプリタの作成
 2.6.1 プログラムの木表現
 2.6.2 環境
 2.6.3 意味関数
 2.6.4 インタプリタの完成

3. 字句解析
3.1 字句解析の概観
3.2 トークンの指定
 3.2.1 正規表現
 3.2.2 Lexのトークン指定
3.3 有限オートマトンによる実現
 3.3.1 有限オートマトン
 3.3.2 DFAとその利用
 3.3.3 正規表現からNFAへの変換
 3.3.4 NFAからDFAへの変換
 3.3.5 状態の最小化
3.4 Lexを用いた字句解析器の実現
3.5 Simpleコンパイラの字句解析器

4. 構文解析
4.1 構文の指定
4.2 文脈自由文法
 4.2.1 導出
 4.2.2 解析木と曖昧な文法
 4.2.3 曖昧でない文法への変換
4.3 予測型構文解析
4.4 FIRST集合とFOLLOW集合
 4.4.1 FIRST集合を求めるアルゴリズム
 4.4.2 FOLLOW集合
4.5 予測型構文解析器の実現
 4.5.1 予測型構文解析表
 4.5.2 左再帰の除去
 4.5.3 左くくり出し
 4.5.4 エラー回復
4.6 LR構文解析
 4.6.1 LR(0) 構文解析器の実現
 4.6.2 SLR 構文解析
 4.6.3 LR(1) 構文解析
 4.6.4 LALR(1) 構文解析
 4.6.5 文法クラスの関係
4.7 YaccとSimple言語の構文解析器の実現
 4.7.1 OCamlyaccの概観
 4.7.2 曖昧な文法の利用
 4.7.3 OCamlyaccのエラー回復
 4.7.4 OCamllexとの連携
4.8 抽象構文木
4.9 Simpleコンパイラの構文解析
 4.9.1 文
 4.9.2 宣言
 4.9.3 左辺値
 4.9.4 式
 4.9.5 構文解析の実現

5. 意味解析
5.1 記号表
 5.1.1 有効範囲と記号表
 5.1.2 記号表の実現
 5.1.3 記号表の登録情報
5.2 型検査
 5.2.1 型
 5.2.2 式の型検査
 5.2.3 宣言の処理

6. 実行時環境
6.1 x64アセンブリ言語
 6.1.1 x64アセンブリコードの概観
 6.1.2 メモリの構成
 6.1.3 x64の命令
6.2 関数呼出しと駆動レコード
 6.2.1 高階関数
 6.2.2 スタックフレーム
 6.2.3 呼出し規約
 6.2.4 非局所データの参照

7. コード生成
7.1 コード生成の準備
7.2 式のコード生成
 7.2.1 定数と変数
 7.2.2 算術演算
 7.2.3 関数呼出し
7.3 文のコード生成
 7.3.1 代入文
 7.3.2 Cライブラリを呼び出す仮想関数
 7.3.3 return文
 7.3.4 手続き呼出し
 7.3.5 関係演算と分岐
 7.3.6 ブロックのコード生成
7.4 宣言の処理
 7.4.1 型宣言の処理
 7.4.2 関数のコード生成
7.5 プログラムのコード生成
7.6 Simpleコンパイラの完成
7.7 コード最適化
 7.7.1 冗長な命令の削除
 7.7.2 制御フローの最適化

付録 Simple言語
A.1 言語マニュアル
 A.1.1 プログラム
 A.1.2 字句
 A.1.3 宣言
 A.1.4 文
 A.1.5 式
A.2 Simple言語のプログラム例
 A.2.1 ユークリッドの互除法
 A.2.2 再帰を用いた単純ソート
A.3 Simpleコンパイラプログラム

引用・参考文献
索引

【おすすめ本】

在庫は時期によりまして変動することがございますので、ご了承ください。