图书介绍
编译原理简明教程PDF|Epub|txt|kindle电子书版本网盘下载
- 郭伟主编 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302236795
- 出版时间:2011
- 标注页数:321页
- 文件大小:67MB
- 文件页数:336页
- 主题词:编译程序-程序设计-教材
PDF下载
下载说明
编译原理简明教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 引论1
1.1什么叫编译程序1
1.2编译过程概述2
1.3.编译过程的结构7
1.3.1编译程序总框7
1.3.2表格与表格管理7
1.3.3出错处理8
1.3.4遍8
1.3.5编译前端与后端9
1.4解释程序和程序设计语言范型9
1.4.1解释程序9
1.4.2程序设计语言范型11
1.5编译程序的生成12
习题114
第2章 编译基础15
2.1文法的直观概念15
2.2符号和符号串16
2.3文法和语言的形式定义17
2.4文法的类型20
2.5语法分析树与二义性21
2.6句型的分析25
2.6.1自上而下分析方法25
2.6.2自下而上分析方法26
2.6.3句型分析的有关问题26
习题227
第3章 词法分析29
3.1单词的描述工具29
3.1.1正规文法29
3.1.2正规式30
3.1.3正规文法和正规式的等价性31
3.2有限自动机32
3.2.1确定的有限自动机(DFA)33
3.2.2非确定的有限自动机(NFA)34
3.2.3正规文法与有限自动机的等价性37
3.2.4正规式与有限自动机的等价性39
3.2.5确定有限自动机的化简41
3.3词法分析器的要求43
3.3.1词法分析器的功能和输出形式43
3.3.2词法分析工作分离的考虑44
3.4词法分析器的设计45
3.4.1输入、预处理45
3.4.2单词符号的识别——超前搜索45
3.4.3状态转换图47
3.4.4状态转换图的实现49
3.5词法分析器的自动产生52
3.5.1语言LEX的一般描述52
3.5.2超前搜索54
3.5.3 LEX的实现55
习题357
第4章 自上而下语法分析59
4.1语法分析器的功能59
4.2下推自动机模型59
4.3自上而下分析面临的问题62
4.4 LL(1)分析法64
4.4.1左递归的消除64
4.4.2消除回溯、提取左因子66
4.4.3 LL(1)分析条件67
4.5递归下降分析程序的构造69
4.6预测分析程序71
4.6.1预测分析程序工作过程71
4.6.2预测分析表的构造72
4.7 LL(1)分析中的错误处理74
习题476
第5章 自下而上语法分析78
5.1自下而上分析的基本问题78
5.1.1归约78
5.1.2规范归约简述79
5.1.3符号栈的使用与语法树的表示81
5.2算符优先分析83
5.2.1算符优先分析技术的改进84
5.2.2算符优先文法及优先表构造85
5.2.3算符优先分析算法89
5.2.4算符优先分析中的出错处理91
5.3 LR分析法93
5.3.1 LR分析器93
5.3.2 LR(0)项目集族和LR(0)分析表的构造98
5.3.3 SLR分析表的构造105
5.3.4规范LR分析表的构造108
5.3.5 LALR分析表的构造111
5.3.6二义文法的应用114
5.3.7 LR分析中的出错处理117
5.4语法分析器的自动产生工具YACC120
习题5124
第6章 语法制导翻译和中间代码生成126
6.1概述126
6.2属性文法128
6.3语法制导翻译131
6.3.1依赖图133
6.3.2 S-属性文法的自下而上计算135
6.3.3 L-属性文法和自上而下翻译138
6.3.4 L-属性文法在自下而上分析中的实现141
6.3.5 YACC使用语法制导翻译方法143
6.4语义分析144
6.5中间代码形式144
6.5.1逆波兰记号144
6.5.2三地址代码145
6.5.3树形表示形式148
6.6说明语句148
6.6.1过程中的说明语句149
6.6.2保留作用域信息149
6.6.3记录中的域名152
6.7赋值语句的翻译153
6.7.1简单算术表达式及赋值语句153
6.7.2数组元素的引用154
6.7.3记录中域的引用159
6.8布尔表达式的翻译方法159
6.8.1布尔表达式的翻译方法160
6.8.2控制语句中布尔表达式的翻译161
6.9控制结构的翻译165
6.9.1条件转移165
6.9.2开关语句167
6.9.3 for循环语句169
6.9.4出口语句171
6.9.5 goto语句171
6.10过程调用的处理173
习题6174
第7章 运行时的存储空间组织177
7.1数据空间的三种不同使用方法和管理方法177
7.1.1静态存储分配178
7.1.2动态存储分配179
7.1.3栈式动态存储分配179
7.1.4堆式动态存储分配179
7.2栈式存储分配的实现179
7.2.1简单的栈式存储分配的实现180
7.2.2嵌套过程语言的栈式实现181
7.2.3分程序结构的存储管理185
7.3参数传递189
7.3.1传值189
7.3.2传地址191
7.3.3过程参数191
7.4过程调用、过程进入和过程返回192
习题7193
第8章 优化196
8.1概述196
8.2局部优化201
8.2.1基本块及流图201
8.2.2基本块的DAG表示及其应用203
8.3循环优化209
8.3.1代码外提209
8.3.2强度削弱213
8.3.3删除归纳变量214
习题8216
第9章 目标代码生成219
9.1基本问题219
9.2目标机器模型221
9.3一个简单的代码生成器222
9.3.1待用信息224
9.3.2寄存器描述和地址描述225
9.3.3代码生成算法225
9.4寄存器分配228
9.5 DAG的目标代码231
9.6窥孔优化234
习题9236
第10章 面向对象语言的编译238
10.1面向对象语言的基本概念238
10.1.1对象238
10.1.2对象类239
10.1.3继承性239
10.1.4信息封装241
10.2方法的编译242
10.3编译继承性的方案243
10.3.1简单继承性的编译方案244
10.3.2多继承性的编译方案246
习题解析部分251
习题1解析251
习题2解析253
习题3解析256
习题4解析269
习题5解析276
习题6解析288
习题7解析296
习题8解析305
习题9解析315
参考文献320