图书介绍
编译原理教程PDF|Epub|txt|kindle电子书版本网盘下载
![编译原理教程](https://www.shukui.net/cover/3/30225281.jpg)
- 寿永熙主编 著
- 出版社: 呼和浩特:内蒙古大学出版社
- ISBN:7810746871
- 出版时间:2004
- 标注页数:290页
- 文件大小:11MB
- 文件页数:304页
- 主题词:编译程序-程序设计-高等学校-教材
PDF下载
下载说明
编译原理教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一章 编译程序绪论1
1.1什么是编译程序1
1.1.1为什么要有编译程序1
1.1.2什么是编译程序2
1.2编译程序结构3
1.2.1编译程序的逻辑结构3
1.2.2编译程序在计算机科学中的地位5
1.3编译程序分遍6
1.4编译程序生成的方法6
1.4.1编译程序用什么语言编写6
1.4.2编译程序生成的方法7
1.5编译技术的应用9
1.6编译程序设计经过的阶段9
小结10
习题10
第二章 文法和形式语言11
2.1文法和形式语言的概念11
2.2符号串与符号串运算11
2.2.1字母表和符号串12
2.2.2符号串运算12
2.3文法和形式语言定义16
2.3.1文法和推导的定义16
2.3.2形式语言的定义20
2.3.3递归产生式与递归文法22
2.4句型分析23
2.4.1规范推导23
2.4.2归约26
2.4.3短语、直接短语、句柄、素短语27
2.5语法树与文法的二义性30
2.5.1语法树和抽象法树31
2.5.2语法树与短语、直接短语和句柄的关系33
2.5.3语法树构造归约36
2.5.4文法的二义性37
2.6文法的实用限制41
2.6.1有害产生式41
2.6.2多余产生式42
2.6.3直接左递归产生式45
2.6.4 ε—产生式47
2.6.5特殊产生式49
2.7文法其它表示的方法50
2.7.1扩充的BNF表示法51
2.7.2语法图52
2.8文法和语言的分类55
2.8.1 0型文法与0型语言55
2.8.2 1型文法与1型语言56
2.8.3 2型文法与2型语言57
2.8.4 3型文法与3型语言57
小结60
习题61
第三章 自动机理论基础64
3.1有穷自动机的基本概念64
3.1.1确定的有穷自动机(DFA)65
3.1.2非确定的有穷自动机(NFA)68
3.2 NFA到DFA的等价变换71
3.3 ε—NFA转换成DFA的方法74
3.3.1 ε—NFA的定义75
3.3.2子集构造矩阵算法77
3.4 DFA的最小化79
3.5有穷自动机的代码程序实现82
3.6正规表达式与自动机85
3.6.1正规表达式与正规集85
3.6.2正则文法构造相应的正规表达式86
3.6.3正规表达式构造有穷自动机88
3.7正规文法与有穷自动机91
3.8语法图与有穷自动机97
小结100
习题101
第四章 词法分析104
4.1扫描器的作用及地位104
4.2设计扫描器考虑的问题106
4.3扫描器的输出及结构107
4.4扫描器的设计与实现113
4.5扫描器的自动生成—LEX软件工具119
4.5.1 LEX源程序结构119
4.5.2 LEX编译程序的执行过程122
4.5.3 LEX的目标程序122
小结122
习题124
第五章 语法分析125
5.1语法分析概述125
5.2递归子程序法125
5.2.1什么是回溯126
5.2.2产生回溯的原因128
5.2.3递归子程序法132
5.3 LL (1)分析法133
5.3.1什么是LL (1)分析法133
5.3.2构造FIRST集和FOLLOW集的方法135
5.3.3预测分析表136
5.3.4 LL(1)分析器的工作原理138
5.4算符优先分析法139
5.4.1算符优先文法的定义141
5.4.2构造FIRSTVT集和LASTVT集的方法143
5.4.3优先表的构造方法146
5.4.4优先函数147
5.4.5算符优先分析算法150
5.5 LR分析法152
5.5.1 LR分析器引述152
5.5.2 LR (0)分析法154
5.5.3 SLR (1)分析法158
5.5.4 LR(1)分析法160
5.5.5 LALR (1)分析法164
5.6语法分析器的自动生成—YACC软件工具166
小结167
习题168
第六章 语法制导翻译与中间代码生成170
6.1属性和属性文法170
6.1.1属性文法170
6.1.2综合和继承属性173
6.1.3语法分析时属性的计算176
6.1.4语法中属性计算的相关性178
6.2语法制导翻译的概念179
6.3中间代码的形式183
6.3.1中间代码的含义183
6.3.2逆波兰表示法184
6.3.3三元式和树结构表示185
6.3.4四元式表示法186
6.4简单表达式及赋值语句的语法制导翻译187
6.4.1算术表达式的逆波兰式语法制导翻译187
6.4.2算术表达式的四元式语法制导翻译187
6.4.3控制语句中的布尔表达式的翻译190
6.5控制语句的翻译195
6.5.1标号与goto语句的翻译195
6.5.2 IF语句与WHILE语句的翻译196
6.5.3 FOR语句的翻译200
6.5.4 CASE语句的翻译203
6.5.5过程调用语句的翻译204
6.6数组定义及其引用的翻译206
6.6.1数组元素的地址计算206
6.6.2数组说明的处理207
6.6.3赋值语句中数组元素的翻译208
6.7说明语句的翻译210
小结211
习题六212
第七章 符号表215
7.1符号表及其应用215
7.1.1什么是符号表215
7.1.2静态表和动态表216
7.1.3存储分配与符号表组织218
7.2符号表的建立与查找219
7.2.1 PASCAL符号表的建立与查找219
7.2.2 ALGOL符号表的建立与查找220
7.2.3 FORTRAN符号表的建立与查找223
小结223
习题224
第八章 运行时的存储组织与分配225
8.1程序运行时的存储组织与结构225
8.1.1活动记录225
8.1.2名字的作用域和绑定226
8.1.3运行时内存的划分226
8.2静态存储分配227
8.3动态存储分配229
8.3.1栈式存储分配229
8.3.2简单的栈式存储分配的实现230
8.3.3嵌套过程语言的栈式实现232
8.3.4堆式存储分配236
8.4参数传递实现方法237
8.4.1传值237
8.4.2传地址238
8.4.3换名调用238
8.4.4传结果239
8.4.5过程名用作实参239
小结242
习题242
第九章 代码优化243
9.1代码优化基本思想243
9.1.1合并常数243
9.1.2消除多余运算244
9.1.3循环优化246
9.1.4下标变量的优化249
9.2局部优化251
9.2.1基本块的概念251
9.2.2基本块的划分算法252
9.2.3基本块表示的方法253
9.2.4基本块的优化处理实例257
小结258
习题259
第十章 目标代码生成261
10.1虚拟计算机模型261
10.2代码生成技术基础263
10.3中间代码生成目标代码265
10.3.1逆波兰式生成目标代码265
10.3.2四元式生成目标代码267
10.4语句的目标代码生成268
10.4.1赋值语句的翻译269
10.4.2条件语句的翻译272
10.4.3循环语句的翻译273
10.4.4过程和函数调用的翻译275
小结277
习题278
第十一章 出错处理279
11.1编译出错处理程序处理出错的种类279
11.2词法分析阶段的错误处理280
11.3语法分析阶段的错误处理282
11.4语义错误处理286
小结289
习题289
参考文献290