编译原理简明教程PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:郭伟主编
- 出 版 社:北京:清华大学出版社
- 出版年份:2011
- ISBN:9787302236795
- 页数:321 页
第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
习题1 14
第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
习题2 27
第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
习题3 57
第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
习题4 76
第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语法分析器的自动产生工具YACC 120
习题5 124
第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
习题6 174
第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
习题7 193
第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
习题8 216
第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
习题9 236
第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
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《AutoCAD 2019 循序渐进教程》雷焕平,吴昌松,陈兴奎主编 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《名医教你练走颈肩腰腿痛》许学猛 2018
- 《英语自学进阶教程全6册 3》爱尔兰迪尔德丽出版社著 2019
- 《雅马哈管乐队训练教程 降E调单簧管 分谱》Japan Band Clinic委员会 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019