图书介绍

编译原理PDF|Epub|txt|kindle电子书版本网盘下载

编译原理
  • 侯文永,张冬茉编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:750537950X
  • 出版时间:2002
  • 标注页数:196页
  • 文件大小:8MB
  • 文件页数:208页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

编译原理PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 引论1

1.1 编译程序是一种特定的翻译程序1

1.2 编译程序的结构2

1.2.1 词法分析阶段2

1.2.2 语法分析阶段2

1.2.3 语义分析、中间代码生成阶段3

1.2.4 优化阶段3

1.2.5 目标代码生成阶段3

1.2.6 符号表管理3

1.2.7 出错管理程序3

1.2.9 遍4

1.2.8 编译阶段的前端和后端4

1.3 编译程序的生成5

1.3.1 自展5

1.3.2 移植6

1.3.3 对编译程序的评价7

1.4 编译程序的学习7

第2章 文法和语言8

2.1 基本概念8

2.1.1 语言8

2.1.2 文法10

2.1.3 归约与句柄12

2.2.1 分析树14

2.2.2 子树14

2.2 分析树与二义性14

2.2.3 二义性15

2.3 形式语言分类15

习题217

第3章 词法分析19

3.1 构造一个简单的词法分析器19

3.1.1 词法分析器的功能19

3.1.2 扫描缓冲区22

3.1.3 超前搜索23

3.1.4 状态转换图23

3.1.5 状态转换图的实现25

3.2.1 正规式与正规集的定义27

3.2 正规表达式与正规集27

3.2.2 正规式的性质29

3.2.3 正规式与正规文法30

3.3 有限自动机30

3.3.1 有限自动机的定义30

3.3.2 FA的表示31

3.3.3 FAM识别的语言32

3.3.4 NFA M的确定化33

3.3.5 DFA M的简化34

3.4 正规式与有限自动机35

3.4.1 正规式与有限自动机的等价性35

3.4.2 由正规式构造等价的NFA M37

3.5 词法分析器的自动生成38

习题339

第4章 语法分析41

4.1 语法分析概述41

4.2 递归下降分析方法41

4.2.1 试探分析法41

4.2.2 提取左因子42

4.2.3 消除左递归43

4.2.4 预测分析器45

4.3 非递归的预测分析方法46

4.3.1 表驱动的预测分析器46

4.3.2 FIRST集和FOLLW集47

4.3.4 预测分析表的构造50

4.3.3 LL(1)文法50

4.3.5 错误处理51

4.4 算符优先分析法52

4.4.1 算符优先关系表52

4.4.2 算符优先分析方法53

4.4.3 优先关系表的构造55

4.4.4 优先函数56

4.4.5 错误处理57

4.5 LR分析器58

4.5.1 LR分析法58

4.5.2 识别活前缀的DFA60

4.5.3 SLR分析表的构造65

4.5.4 LR(1)分析表的构造66

4.5.5 LALR分析表的构造69

4.6 二义文法的应用74

4.7 分析表的自动生成76

习题477

第5章 语法制导翻译和中间代码生成81

5.1 翻译概述81

5.1.1 静态语义检查81

5.1.2 语义制导翻译的例子81

5.1.3 翻译要解决的问题82

5.2 中间语言82

5.2.1 后缀式表示82

5.2.2 图表示83

5.2.4 三地址语句的种类84

5.2.3 三地址代码84

5.2.5 三地址代码的具体实现85

5.3 说明语句86

5.3.1 一类说明语句的翻译方案86

5.3.2 嵌套过程中的说明语句87

5.3.3 记录中的域名90

5.4 赋值语句90

5.4.1 只含简单变量的赋值语句的翻译90

5.4.2 类型转换91

5.4.3 含数组元素的赋值语句的翻译92

5.4.4 访问记录结构中的域97

5.5.1 布尔表达式的两种基本作用98

5.5.2 布尔表达式的两种翻译方法98

5.5 控制流语句98

5.5.3 数值表示法翻译方案99

5.5.4 控制流语句中布尔表达式的翻译100

5.5.5 控制流语句的翻译104

5.5.6 转向语句和语句标号108

5.6 循环语句、过程调用语句及CASE语句108

5.6.1 循环语句的翻译108

5.6.2 过程调用、函数调用语句的翻译109

5.6.3 CASE语句或switch语句的翻译110

5.7 属性文法111

5.7.1 语法制导定义112

5.7.2 属性的分类112

5.7.3 依赖图113

5.7.4 语义规则的计算次序114

5.7.5 属性文法的两个子类114

习题5115

第6章 运行时存储空间管理118

6.1 变量及存储分配118

6.1.1 程序的存储空间118

6.1.2 活动记录119

6.1.3 变量的存储分配119

6.1.4 存储分配模式120

6.2 静态分配122

6.2.1 FORTRAN程序运行时的结构122

6.2.2 运行环境的转换122

6.3 栈式分配124

6.3.1 只含半静态变量的栈式分配125

6.3.2 半动态变量的栈式分配127

6.3.3 动态变量的存储分配127

6.3.4 非局部环境128

6.3.5 对非局部环境的引用129

6.4 堆分配130

6.5 参数传递131

6.5.1 数据参数传递131

6.5.2 过程参数的传递132

6.6 符号表133

6.6.1 符号表的组织133

6.6.2 常用的符号表结构134

习题6136

第7章 代码优化139

7.1 优化概述139

7.1.1 优化定义139

7.1.2 不同阶段的优化139

7.1.3 程序流图的构造140

7.2 局部优化142

7.2.1 基本块内的优化142

7.2.2 基本块的dag表示143

7.2.3 dag的构造143

7.2.4 dag实现的优化146

7.2.5 对dag构造算法的修正146

7.3.1 循环的定义148

7.3 控制流分析及循环的查找148

7.3.2 必经结点集149

7.3.3 自然循环151

7.3.4 可归约流图152

7.3.5 深度优先搜索153

7.4 数据流分析155

7.4.1 到达一定值数据流方程和ud链156

7.4.2 活跃变量数据流方程和du链157

7.4.3 可用表达式数据流方程与复写传播158

7.4.4 非常忙表达式与代码提升160

7.4.5 数据流方程的求解160

7.5.1 循环优化的例子161

7.5 循环优化161

7.5.2 代码外提162

7.5.3 归纳变量165

7.5.4 强度削弱165

7.5.5 删除归纳变量165

习题7167

第8章 代码生成171

8.1 目标代码171

8.1.1 代码生成器的输入与输出171

8.1.2 目标机171

8.2 一个简单代码生成器172

8.2.1 待用信息172

8.2.3 如何生成目标代码173

8.2.2 寄存器描述和地址描述173

8.2.4 函数getreg(P:x:=y op z)174

8.2.5 代码生成算法174

8.2.6 其他语句的代码生成175

8.3 寄存器分配176

8.3.1 执行代价的节省176

8.3.2 固定分配寄存器的代码生成178

8.3.3 多重循环的寄存器分配178

8.3.4 用图的点着色法做寄存器分配178

8.4 窥孔优化179

8.5 由dag生成代码181

8.5.1 重新安排计算次序181

8.5.2 dag为树时最优代码生成183

习题8186

第9章 并行编译概述188

9.1 并行计算机及其编译系统188

9.1.1 向量计算机188

9.1.2 共享存储器多处理机189

9.1.3 分布存储器大规模并行计算机190

9.1.4 并行编译系统的结构191

9.2 并行编译技术193

9.2.1 依赖关系193

9.2.2 依赖测试194

9.2.3 循环向量化与并行化194

参考文献196

热门推荐