『情報工学入門選書 コンパイラ』を見直し、新たに第2版として発行するものです。
プログラミングの基礎知識のある人を対象とし、「コンパイラを構成するアルゴリズムの理解」「コンパイラ作成支援(yacc、lex)ツールの理解」「コンパイラを自分で作成できる」を主たる目的としています。付録には、コンパイラの作成演習と実例を示しています。
https://www.ohmsha.co.jp/book/9784274224720/
正誤表やDLデータ等がある場合はこちらに掲載しています
第1章 言語処理系とは
第2章 形式言語と形式文法
第3章 字句解析
第4章 構文解析
第5章 型の検査と表管理
第6章 実行時環境
第7章 中間コード生成
第8章 目的コード生成
第9章 最適化とそのほかの話題
付録A コンパイラ作成演習
付録B サンプルコンパイラ
参考文献
第1章 言語処理系とは
1.1 コンパイラの役割
1.2 コンパイラの形式とそのほかの変換系
1.3 コンパイラの仕様と実現
1.4 コンパイラ作成のための環境
1.5 コンパイラの基本的構造
演習問題
第2章 形式言語と形式文法
2.1 アルファベット,語(文),言語
2.2 正規表現と正規言語
2.3 有限オートマトン
2.4 文脈自由文法と文脈自由言語
2.5 正規表現,有限オートマトン,文脈自由文法の関係
2.6 言語設計者,コンパイラ作成者,プログラマのための文法の記述法
演習問題
第3章 字句解析
3.1 マイクロ構文とEBNF記法による字句の定義
3.2 非決定性有限オートマトンへ
3.3 決定性有限オートマトンへ
3.4 DFAの状態最小化
3.5 字句解析系
3.6 字句解析系の例
演習問題
第4章 構文解析
4.1 下向き構文解析
4.2 予測的構文解析(LL構文解析)
4.3 移動還元構文解析(上向き構文解析)の概要
4.4 LR構文解析アルゴリズム
4.5 SLR(1)構文解析表
4.6 正準LR(1)構文解析表
4.7 LALR(1)構文解析表
4.8 構文解析の例
演習問題
第5章 型の検査と表管理
5.1 型の簡単な検査法
5.2 型式の等価性
5.3 型変換
5.4 関数と演算子の多重定義
5.5 記号表
5.6 スコープルールとその管理
5.7 型の検査の例
5.8 情報の抽出と表管理の例
演習問題
第6章 実行時環境
6.1 静的と動的
6.2 駆動レコード(アクティベーションレコード)
6.3 変数の参照法
6.4 記憶位置情報の決定
6.5 手続き呼び出しの実現
6.6 引数の引き渡し
6.7 動的変数領域の管理法
演習問題
第7章 中間コード生成
7.1 中間言語
7.2 制御文
7.3 代入文と式
7.4 論理式
7.5 文と式のコード生成の例
演習問題
第8章 目的コード生成
8.1 コード生成の難しさ
8.2 目的機械のモデル
8.3 基本ブロックとフローグラフ
8.4 簡単なコード生成
8.5 バックパッチング
8.6 RISCプロセッサについて
演習問題
第9章 最適化とそのほかの話題
9.1 最適化の目的
9.2 覗き穴最適化
9.3 大域的最適化の概要
9.4 データフロー解析の概要
9.5 誤り処理
演習問題
付録A コンパイラ作成演習
付録B サンプルコンパイラ
参考文献