图书介绍

编译原理简明教程【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

编译原理简明教程
  • 杨明,姜乃松,蔡维玲编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121145964
  • 出版时间:2012
  • 标注页数:232页
  • 文件大小:12MB
  • 文件页数:245页
  • 主题词:编译程序-高等学校-教材

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.3编译程序的分类和生成方法5

1.3.1编译程序的分类5

1.3.2编译程序的生成方法6

1.4编译技术的应用7

本章小结7

习题17

第2章 文法与语言8

2.1符号串与语言8

2.1.1字母表8

2.1.2符号串8

2.1.3符号串的集合——语言9

2.2文法和语言的形式化定义10

2.2.1文法的形式化定义10

2.2.2语言的形式化定义14

2.2.3短语、直接短语和句柄16

2.2.4规范推导和规范归约17

2.3语法分析树与文法的二义性18

2.3.1语法分析树18

2.3.2文法的二义性19

2.3.3二义性的消除20

2.4文法的化简22

2.5语言的分类23

本章小结25

习题226

第3章 词法分析与有限自动机28

3.1词法分析器的设计28

3.1.1词法分析器的任务28

3.1.2词法分析器的输出形式29

3.2词法分析器的手工构造30

3.2.1确定的有限自动机31

3.2.2构造单词的确定有限自动机32

3.2.3编写一个C语言词法分析器34

3.3有限自动机及其化简36

3.3.1不确定有限自动机36

3.3.2不确定有限自动机的化简37

3.3.3确定有限自动机的化简40

3.4正规文法、正规式和有限自动机之间的关系42

3.4.1正规式与正规集42

3.4.2正规式与正规文法的关系43

3.4.3正规文法与有限自动机之间的转换45

3.4.4正规式与有限自动机之间的转换47

3.5词法分析程序自动生成器——Lex49

3.5.1 Lex的功能50

3.5.2 Lex源程序的组成50

3.5.3 Lex编译器的实现原理51

3.5.4一个生成C语言词法分析器的 Lex程序格式51

本章小结53

习题353

第4章 自顶向下的语法分析55

4.1语法分析器的功能55

4.2不确定的自顶向下的分析方法56

4.3 LL(1)分析方法57

4.3.1回溯的判别条件与LL(1)文法57

4.3.2左递归文法的改造58

4.3.3回溯的消除60

4.4构造递归下降分析程序61

4.5非递归的预测分析方法62

4.5.1预测分析程序工作原理63

4.5.2构造预测分析表(或称LL(1)分析表)64

4.5.3预测分析的出错处理66

本章小结68

习题468

第5章 自底向上的语法分析70

5.1引言70

5.2自底向上的语法分析面临的问题70

5.3算符优先分析技术71

5.3.1算符优先关系的定义71

5.3.2算符优先关系表的生成74

5.3.3算符优先分析总控程序76

5.3.4优先函数及其生成78

5.4 LR分析技术81

5.4.1 LR分析技术概述81

5.4.2 LR(0)分析法82

5.4.3 SLR(1)分析技术89

5.4 4 LR(1)分析技术90

5.4 5 LALR(1)分析技术94

5.5二义性文法的应用95

5.6语法分析器自动生成器——YACC96

5.6.1基本原理与工作过程96

5.6.2 C语法分析器的自动生成102

本章小结102

习题5102

第6章 属性文法104

6.1属性文法104

6.1.1属性文法的定义104

6.1.2综合属性106

6.1.3继承属性106

6.1.4依赖图107

6.1.5属性文法的计算顺序108

6.2 S-属性定义及其自底向上的计算109

6.3 L-属性定义及其自顶向下的计算111

6.4自底向上计算继承属性115

6.4.1删除翻译方案中嵌入的动作115

6.4.2分析栈中的继承属性115

6.4.3模拟继承属性的计算117

本章小结119

习题6119

第7章 语义分析与语法制导的翻译121

7.1语义分析的主要任务121

7.2中间语言121

7.2.1图表示122

7.2.2抽象语法树122

7.2.3三地址代码123

7.2.4四元式124

7.2.5三元式124

7.2.6逆波兰式表示125

7.3声明语句的翻译125

7.3.1 C语言变量声明语句的翻译125

7.3.2 C语言函数定义的翻译126

7.3.3 C语言数组定义的翻译131

7.4 C表达式与简单赋值语句的翻译133

7.5支持C数组的赋值语句的翻译134

7.6 C语言布尔表达式的翻译136

7.6.1作为数值计算的布尔表达式的翻译137

7.6.2作为条件控制用的布尔表达式的翻译138

7.7 C语言中if语句的翻译140

7.8 C语言中while语句的翻译145

7.9 C语言中switch语句的翻译147

7.10 C语言中break语句的翻译148

7.11 C语言continue语句的翻译149

7.12 C语言中标号与goto语句的翻译150

7.13 C语言函数调用语句的翻译150

本章小结152

习题7152

第8章 运行时环境153

8.1概述153

8.2符号表154

8.2.1符号表的作用与结构154

8.2.2符号表的管理154

8.2.3 C语言中的符号表155

8.3存储分配策略157

8.3.1静态存储分配策略157

8.3.2栈式存储分配策略157

8.3.3堆式存储分配策略158

8.4存储空间的组织158

8.4.1运行时内存空间的划分158

8.4.2函数与活动记录158

8.5非局部变量的访问159

8.6 C语言的存储分配163

8.6.1 C语言的活动记录结构163

8.6.2入口指令的自动生成165

8.6.3出口指令的自动生成166

8.7垃圾回收机制166

8.8运行库管理168

8.9连接程序与装配程序168

本章小结169

习题8169

第9章 目标代码生成171

9.1概述171

9.2一个面向栈的计算机模型171

9.3中间代码生成目标代码173

9.3.1逆波兰式生成目标代码173

9.3.2四元式生成目标代码174

9.4 C语言目标代码生成176

9.4.1目标文件结构176

9.4.2从内部语法树生成目标代码177

9.5寄存器分配算法179

本章小结181

习题9182

第10章 代码优化183

10.1基本概念183

10.1.1优化的定义183

10.1.2优化的原则183

10.1.3优化的分类183

10.1.4代码优化器的结构184

10.2基本块的概念及优化举例185

10.2.1基本块的概念185

10.2.2流图185

10.2.3优化举例186

10.3基本块内优化189

10.3.1块内优化技术189

10.3.2基本块的DAG190

10.4循环优化195

10.4.1循环的查找195

10.4.2循环优化技术197

本章小结201

习题10201

第11章 并行编译技术204

11.1并行处理204

11.11并行体系结构204

11.1.2并行软件系统205

11.1.3并行程序设计205

11.2并行编译系统的功能和结构206

11.2.1并行编译系统的功能206

11.2.2并行编译系统的结构206

11.3向量语言编译技术207

11.4共享存储器并行机的并行编译技术207

本章小结208

习题11208

第12章 面向对象语言的语法制导翻译209

12.1面向对象语言理论基础209

12.2 mini-C++的对象布局模型的设计210

12.3 mini-C++的函数名字转换方案的设计211

12.4 mini-C++的try-catch语句的翻译213

12.5 mini-C++的非静态函数的翻译215

12.6 mini-C++的函数重载的翻译216

12.7 mini-C++的单一继承的编译处理217

12.8 mini-C++的多重继承的编译处理219

12.9 mini-C++的虚基类的编译处理221

12.10 mini-C++的单一继承下虚函数重写的翻译223

12.11 mini-C++的多重继承下虚函数重写的翻译224

12.12 mini-C++的运算符重载的翻译224

12.13 mini-C++的模板的翻译225

本章小结225

习题12225

附录A C语言的YACC源程序226

参考文献232

热门推荐