《编译原理》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:郑洪编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2006
  • ISBN:7113074642
  • 页数:284 页
图书介绍:本书是面向大众的高等教育教材,可作为高等院校计算机专业本科教材,也可供教师、研究生及有关科技工作者学习和参考。

1.1 为什么需要编译程序 1

第1章 编译的基本概念 1

1.2 编译的基本过程 2

习题 10

第2章 程序语言 11

2.1 高级语言 11

2.1.1 高级语言的分类 11

2.1.2 数据类型及其操作 12

2.1.3 语句与表达式 14

2.1.4 程序的结构 16

2.2 中间语言 18

2.2.1 逆波兰表示法 18

2.2.2 三地址代码 19

习题 21

3.1 语言和语法 22

3.2 产生式 22

第3章 语言分析基础 22

3.3 上下无关文法及其语言 23

3.3.1 上下无关文法的基本概念 23

3.3.2 上下无关文法所定义的语言 24

3.4 语法树与抽象语法树 27

3.4.1 语法树 27

3.4.2 二义文法 28

3.4.3 抽象语法树 29

3.5.1 文法设计基础 31

3.5 上下无关文法的设计 31

3.5.2 消除二义性 32

3.6 形式语言浅述 35

3.6.1 语言的组成 35

3.6.2 产生式文法 37

3.6.3 乔姆斯基文法分类 37

习题 39

4.1.1 表达式语法(算术) 41

第4章 程序设计语言常用语法与翻译方法 41

4.1 程序设计语言常用语法 41

4.1.2 赋值语句 42

4.1.3 if语句 42

4.1.4 循环语句 43

4.1.5 说明语句 43

4.1.6 函数的定义与调用 44

4.1.7 程序语句序列文法 44

4.2 中间代码的翻译 45

4.2.1 表达式中间代码生成 46

4.2.2 if语句中间代码生成 48

4.2.3 布尔表达式代码生成 50

4.2.4 循环语句中间代码 53

4.2.5 综合实例 54

习题 56

5.1 词法与正规式 57

第5章 词法分析 57

5.2 有限状态自动机 59

5.2.1 确定有限自动机 59

5.2.2 非确定有限自动机 65

5.2.3 从DFA到NFA的转换 66

5.2.4 从NFA到DFA的转换 67

5.2.5 确定有限自动机的化简 72

5.3 从自动机到正规式的转换 74

5.4 正规文法与有限自动机的等价性 77

5.5 正规文法与正规式 80

习题 80

第6章 自上而下的语法分析 83

6.1 自上而下语法分析概论 83

6.2 适合自上而下分析的文法 84

6.2.1 左递归的消除 84

6.2.2 消除回溯与提取左因子 87

6.3.1 LL(1)分析的基本方法 88

6.3 LL(1)分析法 88

6.3.2 LL(1)文法 90

6.3.3 求FIRST集合 91

6.3.4 求FOLLOW集合 95

6.3.5 预测分析程序 99

6.4 递归下降分析程序 102

习题 103

第7章 自下而上的语法分析 106

7.1 自下而上语法分析概论 106

7.1.1 归约的概念 106

7.1.2 归约的问题 108

7.1.3 规范归约 109

7.2 算符优先分析 110

7.2.1 优先关系与算符优先文法 110

7.2.2 算符优先关系表的构造算法 112

7.2.3 算符优先分析算法 113

7.2.4 优先函数 117

7.3 LR分析法 118

7.3.1 LR分析 118

7.3.2 LR(0)项目集和LR(0)分析表的构造 123

7.3.3 SLR分析表的构造 126

7.3.4 规范LR分析表的构造 129

7.3.5 LALR分析表的构造 133

习题 136

第8章 语法制导翻译 140

8.1 属性文法 140

8.1.1 属性文法的概念 140

8.1.2 依赖图 144

8.1.3 综合属性与S属性文法 145

8.1.4 继承属性及其计算 147

8.2 符号表 151

8.2.1 符号表的组织与作用 151

8.2.3 名字的作用域 152

8.2.2 符号表数据内容及查找 152

8.3 翻译中间代码属性 155

8.3.1 算术表达式及赋值语句的翻译 155

8.3.2 控制语句的翻译 158

习题 165

第9章 运行时存储空间管理 168

9.1 程序运行时的存储环境 168

9.2 静态存储分配 170

9.3 基于栈的运行时存储器管理 172

9.3.1 简单的栈式存储管理 172

9.3.2 过程可局部定义的栈式存储管理 176

9.4 参数传递机制 180

9.4.1 值传递 180

9.4.2 地址传递 181

9.4.3 值结果传递 182

9.4.4 名字传递 184

习题 185

第10章 优化及目标代码生成 189

10.1 局部优化 189

10.1.1 基本块 189

10.1.2 基本块中的等价代换 191

10.2 全局优化 192

10.3 循环优化 194

10.3.1 外提不变式 194

10.3.2 强度削弱 196

10.3.3 删除基本归纳变量 197

10.4 目标代码生成 198

10.4.1 基本问题 198

10.4.2 目标机器模型 200

10.4.3 一个简单的代码生成器 200

10.4.4 寄存器的分配 203

习题 203

部分习题详解 206

参考文献 283