《编译原理》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:毛红梅,严云洋主编,程勇,王廷蔚副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302253037
  • 页数:211 页
图书介绍:本书全面介绍了编译原理的相关知识点,并配有大量实例。

第1章 编译简介 1

1.1 编译器 1

1.1.1 编译的分析-综合模型 2

1.1.2 编译器的前驱和后继 3

1.2 编译器的分析过程 3

1.2.1 词法分析阶段 4

1.2.2 语法分析阶段 5

1.2.3 语义分析阶段 6

1.2.4 中间代码生成阶段 6

1.2.5 代码优化阶段 6

1.2.6 目标代码生成阶段 7

1.2.7 符号表管理器 7

1.2.8 错误处理器 7

1.3 编译器的输入和输出处理工具 8

1.3.1 预处理器 8

1.3.2 汇编器 8

1.3.3 两遍汇编 9

1.3.4 装配器和链接编辑器 9

1.4 编译器各阶段的组合 9

1.4.1 前端和后端 10

1.4.2 编译器的遍 10

1.5 编译器的构造工具 10

1.6 学习加油站 11

本章小结 11

习题1 12

第2章 文法和语言 13

2.1 文法的启示 13

2.2 字母表和符号串 16

2.3 文法和语言的形式定义 19

2.4 文法的构造 23

2.5 文法的乔姆斯基体系 25

2.6 空语句 27

2.7 学习加油站 28

本章小结 30

习题2 30

第3章 上下文无关语言 33

3.1 概述 33

3.2 上下文无关语言 34

3.2.1 上下文无关文法的语法树 34

3.2.2 二义性 38

3.2.3 自顶向下的分析 40

3.2.4 自底向上的分析 41

3.3 上下文无关文法的化简 42

3.3.1 去无用符号 43

3.3.2 去ε-产生式 45

3.3.3 去单一产生式组 47

3.4 学习加油站 48

本章小结 50

习题3 50

第4章 词法分析 53

4.1 概述 53

4.2 单词的描述工具 53

4.2.1 正规文法 53

4.2.2 正规表达式 54

4.2.3 有穷自动机 56

4.3 正规文法与FA等价 59

4.3.1 FA与右线性文法 59

4.3.2 FA与左线性文法 60

4.4 正则表达式与FA等价 61

4.4.1 有穷自动机转换为正则表达式 62

4.4.2 正则表达式转化为有穷自动机 63

4.5 NFA与DFA等价 64

4.6 DFA的最小化 66

4.7 学习加油站 68

本章小结 70

习题4 70

第5章 语法分析——自顶向下分析 73

5.1 确定的自顶向下分析思想 73

5.2 LL(1)文法的判别方法 78

5.3 非LL(1)文法与LL(1)文法的等价变换 83

5.4 确定的自顶向下分析方法 86

5.4.1 递归子程序法 86

5.4.2 预测分析方法 87

5.5 不确定的自顶向下分析思想 88

5.6 学习加油站 89

本章小结 91

习题5 91

第6章 自底向上分析——优先分析法 93

6.1 自底向下分析法概述 93

6.2 优先分析法概述 95

6.3 简单优先分析法 96

6.3.1 优先关系的判断 96

6.3.2 简单优先文法 98

6.3.3 简单优先分析法 98

6.4 算符优先分析法 99

6.4.1 算符优先分析法的起因 99

6.4.2 直观算符优先分析法 99

6.4.3 算符优先文法 101

6.4.4 算符优先关系表的构造 102

6.4.5 算符优先分析算法 104

6.4.6 优先函数 105

6.4.7 算符优先分析法的局限性 106

6.5 学习加油站 107

本章小结 108

习题6 109

第7章 自底向上分析——LR分析法 111

7.1 LR分析器的工作原理 111

7.2 LR(0)分析法 113

7.2.1 文法规范句型的活前缀 113

7.2.2 识别活前缀的DFA 114

7.2.3 活前缀及其可归前缀的一般计算方法 116

7.2.4 LR(0)项目集规范族 117

7.3 SLR(1)分析法 123

7.4 LR(1)分析法 126

7.4.1 构造LR(1)项目集规范族 127

7.4.2 构造LR(1)分析表 129

7.5 LALR(1)文法 130

7.6 LR分析法对二义性文法的应用 132

7.7 学习加油站 134

本章小结 136

习题7 137

第8章 语法制导翻译和中间代码生成 139

8.1 概述 139

8.2 属性文法 139

8.3 语法制导翻译概述 142

8.4 中间语言的表示形式 144

8.4.1 逆波兰式 144

8.4.2 三元式 145

8.4.3 树形表示 146

8.4.4 四元式和三地址代码 146

8.5 自下向上的语法制导翻译 147

8.5.1 简单算术表达式和赋值语句的翻译 147

8.5.2 布尔表达式的翻译及在控制语句中的翻译 149

8.5.3 简单说明语句的翻译 153

8.5.4 含数组元素的赋值语句的翻译 154

8.6 学习加油站 157

本章小结 158

习题8 159

第9章 符号表与错误处理 161

9.1 符号表 161

9.1.1 符号表的作用 161

9.1.2 符号表的组织 162

9.1.3 分程序结构语言符号表的建立 163

9.1.4 非分程序结构语言符号表的建立 165

9.1.5 常用符号表结构 165

9.1.6 常用符号内容 167

9.2 错误处理 167

9.2.1 语法错误校正 168

9.2.2 语义错误校正 173

9.3 学习加油站 175

本章小结 175

习题9 176

第10章 代码优化 179

10.1 优化简介 179

10.2 局部优化 183

10.2.1 基本块的划分方法 183

10.2.2 基本块的DAG表示 184

10.2.3 利用DAG对基本块进行优化 187

10.3 循环优化 189

10.3.1 程序流图 189

10.3.2 循环 190

10.3.3 循环的查找 190

10.3.4 循环优化 191

10.4 窥孔优化 195

10.5 学习加油站 197

本章小结 199

习题10 200

第11章 目标代码生成 201

11.1 代码生成概述 201

11.2 一个计算机模型 201

11.3 一个简单的代码生成器 202

11.3.1 寄存器的分配原则 202

11.3.2 待用信息链表法 202

11.3.3 代码生成算法 204

11.4 代码生成研究现状 206

11.4.1 限定几种高级语言和几种计算机 206

11.4.2 在计算机限定情况下的中间语言 206

11.4.3 高级语言限定情况下的中间语言 207

11.4.4 假想栈式抽象机 207

11.5 代码生成的自动化研究 207

11.6 学习加油站 209

本章小结 210

习题11 210

参考文献 211