图书介绍

编译原理及编译程序构造PDF|Epub|txt|kindle电子书版本网盘下载

编译原理及编译程序构造
  • 秦振松编 著
  • 出版社: 南京:东南大学出版社
  • ISBN:7810500864
  • 出版时间:1995
  • 标注页数:278页
  • 文件大小:11MB
  • 文件页数:288页
  • 主题词:编译程序-程序设计

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 词法分析3

1.2.2 语法分析3

1.2.3 中间代码生成5

1.2.4 优化5

1.2.5 目标代码生成6

1.2.6 表格与表格管理6

1.2.7 出错处理8

1.2.8 遍8

1.3 编译程序生成9

1.4 编译程序构造10

2 编译基础知识11

2.1 字母表与符号串11

2.1.1 符号串集合的运算11

2.1.2 字母表的闭包与正闭包12

2.2 文法与语言的关系12

2.2.1 文法的概念12

2.2.2 文法与语言的形式定义15

2.3 文法构造与文法简化18

2.3.1 由语言构造文法的例子18

2.3.2 文法的简化19

2.3.3 构造无ε产生式的上下文无关文法20

2.4 语法树与文法的二义性21

2.4.1 语法树21

2.4.2 文法的二义性22

习题24

3 词法分析26

3.1 正规文法和有限自动机26

3.1.1 正规文法、正规集与正规式26

3.1.2 有限自动机28

3.1.3 正规式与有限自动机之间的关系33

3.1.4 正规文法与有限自动机36

3.2 词法分析程序38

3.2.1 预处理与超前搜索38

3.2.2 扫描器的输出格式39

3.2.3 扫描器的设计41

3.3 词法分析程序的自动生成47

3.3.1 LEX语言47

3.3.2 LEX编译程序的构造49

习题51

4 自上而下语法分析54

4.1 下推自动机54

4.2 自上而下分析法的一般问题55

4.2.1 消除左递归57

4.2.2 消除回溯——预测与提左因子59

4.3 预测分析程序与LL(1)文法60

4.3.1 求串a的终结首符集和非终结符A的随符集62

4.3.2 构造预测分析表64

4.3.3 状态表66

4.4 递归下降分析法68

习题74

5 优先分析法77

5.1 简单优先分析方法77

5.1.1 基本思想77

5.1.2 有关文法的一些关系78

5.1.3 优先矩阵的构造算法82

5.1.4 简单优先分析算法84

5.2 算符优先分析法85

5.2.1 算符优先分析技术的引进87

5.2.2 算符优先文法及优先表的构造89

5.2.3 算符优先分析的若干问题92

5.3 优先函数96

习题98

6 LR分析法及分析程序自动构造6.1 LR分析器101

6.2 LR(0)项目集族和LR(0)分析表的构造104

6.2.1 LR(0)项目集规范族的构造106

6.2.2 LR(0)分析表的构造算法107

6.3 SLR分析表的构造108

6.4 规范LR分析表的构造111

6.4.1 构造LR(1)项目集规范族的算法112

6.4.2 构造LR(1)分析表算法113

6.5 LALR分析表构造114

6.5.1 基本思想114

6.5.2 构造LALR分析表算法116

6.6 二义文法的应用117

6.7 分析表的自动生成121

6.7.1 终结符和产生式的优先级122

6.7.2 结合规则122

6.7.3 LR分析表的安排124

习题125

7 语法制导翻译并产生中间代码7.1 概述127

7.2 简单算术表达式和赋值语句的翻译129

7.2.1 四元式129

7.2.2 赋值语句的翻译130

7.2.3 类型转换132

7.3 布尔表达式的翻译133

7.3.1 布尔表达式在逻辑演算中的翻译133

7.3.2 控制语句中布尔式的翻译134

7.4 控制语句的翻译138

7.4.1 标号和转移语句139

7.4.2 IF语句的翻译140

7.4.3 WHILE语句的翻译142

7.4.4 REPEAT语句的翻译143

7.4.5 循环FOR语句的翻译144

7.4.6 分情语句的翻译147

7.4.7 复合语句的翻译151

7.5 数组元素及其在赋值语句中的翻译152

7.5.1 数组及下标变量地址的计算152

7.5.2 数组元素引用的中间代码形式154

7.5.3 按行存放赋值语句中数组元素的翻译155

7.5.4 按列存放赋值语句中数组元素的翻译158

7.6 过程调用语句159

7.6.1 参数传递160

7.6.2 过程调用语句的翻译161

7.6.3 过程调用和数组元素相混淆的处理162

7.7 说明语句的翻译163

7.7.1 分程序结构的符号表163

7.7.2 整型、实型说明语句的翻译166

7.7.3 常量定义语句的翻译167

7.7.4 数组说明语句的翻译168

7.7.5 过程说明语句的翻译169

7.8 输入/输出语句的翻译169

7.9 自上而下分析制导的翻译171

7.9.1 算术表达式的翻译171

7.9.2 布尔表达式的翻译173

7.9.3 简单语句的翻译175

7.9.4 LL(1)语法制导翻译178

7.10 属性文法与属性翻译180

7.10.1 属性文法与L属性文法180

7.10.2 属性翻译182

7.11 中间代码的其它形式184

7.11.1 后缀式表示法184

7.11.2 三元式187

7.11.3 间接三元式188

7.11.4 树189

习题190

8 运行时数据区的管理194

8.1 静态存储管理194

8.1.1 数据区194

8.1.2 公用语句处理196

8.1.3 等价语句处理197

8.1.4 地址分配199

8.1.5 临时变量地址分配201

8.2 栈式存储管理203

8.2.1 允许过程(函数)递归调用的数据存储管理203

8.2.2 嵌套过程语言的栈式存储管理206

8.3 堆式存储管理211

8.3.1 堆式存储管理技术211

8.3.2 堆空间的释放与无用单元收集214

习题215

9 中间代码优化218

9.1 优化概述218

9.1.1 局部优化简介218

9.1.2 循环优化简介219

9.1.3 全局优化简介221

9.2 局部优化222

9.2.1 基本块222

9.2.2 基本块的DAG表示224

9.2.3 DAG在基本块优化中的作用228

9.2.4 DAG构造算法讨论230

9.3 控制流程分析和循环查找算法232

9.3.1 程序流图与必经结点集232

9.3.2 深度为主排序234

9.3.3 查找循环算法234

9.4 数据流分析235

9.4.1 到达-定值数据流方程235

9.4.2 引用-定值链(ud链)238

9.4.3 活跃变量及数据流方程238

9.5 循环优化240

9.5.1 代码外提240

9.5.2 强度减弱与归纳变量删除242

习题243

10 目标代码生成248

10.1 模型计算机的指令系统248

10.2 一种简单代码生成算法249

10.2.1 活跃信息与待用信息249

10.2.2 寄存器和变量地址描述250

10.2.3 代码生成算法251

10.3 循环中寄存器分配254

10.4 DAG结点的一种启发式排序256

习题259

附录 EL语言编译程序261

A EL语言文法的扩充Backus表示法261

B EL语言编译程序构造的实践指导262

C 扩充的EL语言文法与中间代码的解释执行程序274

参考文献278

热门推荐