编译原理教程PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:寿永熙主编
- 出 版 社:呼和浩特:内蒙古大学出版社
- 出版年份:2004
- ISBN:7810746871
- 页数:290 页
第一章 编译程序绪论 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
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《AutoCAD 2019 循序渐进教程》雷焕平,吴昌松,陈兴奎主编 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《英语自学进阶教程全6册 3》爱尔兰迪尔德丽出版社著 2019
- 《雅马哈管乐队训练教程 降E调单簧管 分谱》Japan Band Clinic委员会 2019
- 《线性代数简明教程》刘国庆,赵剑,石玮编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《大学化学实验》李爱勤,侯学会主编 2016
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017