编译原理PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:王生原等编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2015
- ISBN:9787302381419
- 页数:399 页
第1章 引论 1
1.1 什么是编译程序 1
1.2 编译过程和编译程序的结构 2
1.2.1 编译过程概述 2
1.2.2 编译程序的结构 5
1.2.3 编译阶段的组合 6
1.3 解释程序和一些软件工具 7
1.3.1 解释程序 7
1.3.2 处理源程序的软件工具 8
1.4 PL/0语言编译系统 10
1.4.1 PL/0语言编译系统构成 11
1.4.2 PL/0语言 11
1.4.3 类P-code语言 14
1.4.4 PL/0编译程序 15
1.4.5 PL/0语言编译系统的驱动代码 16
练习 18
第2章 文法和语言 19
2.1 文法的直观概念 19
2.2 符号和符号串 20
2.3 文法和语言的形式定义 21
2.4 文法的类型 25
2.5 上下文无关文法及其语法树 26
2.6 句型的分析 29
2.6.1 自上而下的分析方法 30
2.6.2 自下而上的分析方法 30
2.6.3 句型分析的有关问题 31
2.7 有关文法实际应用的一些说明 32
2.7.1 有关文法的实用限制 32
2.7.2 上下文无关文法中的ε规则 33
练习 33
第3章 词法分析 37
3.1 词法分析程序的设计 37
3.1.1 词法分析程序和语法分析程序的接口方式 37
3.1.2 词法分析程序的输出 37
3.1.3 将词法分析工作分离的考虑 38
3.1.4 词法分析程序中如何识别单词 39
3.2 PL/0编译程序中词法分析程序的设计和实现 39
3.3 单词的形式化描述工具 44
3.3.1 正规文法 44
3.3.2 正规式 45
3.3.3 正规文法和正规式的等价性 46
3.4 有穷自动机 47
3.4.1 确定的有穷自动机(DFA) 47
3.4.2 不确定的有穷自动机(NFA) 49
3.4.3 NFA转换为等价的DFA 50
3.4.4 确定有穷自动机的化简 52
3.5 正规式和有穷自动机的等价性 54
3.6 正规文法和有穷自动机的等价性 57
3.7 词法分析程序的自动构造工具 58
3.7.1 lex描述文件中使用的正规表达式 59
3.7.2 lex描述文件的格式 60
3.7.3 lex的使用 63
3.7.4 与yacc的接口约定 63
练习 64
第4章 自顶向下语法分析方法 68
4.1 确定的自顶向下分析思想 68
4.2 LL(1)文法的判别 72
4.3 某些非LL(1)文法到LL(1)文法的等价变换 77
4.3.1 提取左公共因子 77
4.3.2 消除左递归 80
4.4 不确定的自顶向下分析思想 84
4.5 LL(1)分析的实现 86
4.5.1 递归下降LL(1)分析程序 86
4.5.2 表驱动LL(1)分析程序 92
4.6 LL(1)分析中的出错处理 95
4.6.1 应急恢复 95
4.6.2 短语层恢复 96
4.6.3 PL/0语法分析程序的错误处理 98
练习 99
第5章 自底向上优先分析 103
5.1 自底向上优先分析概述 104
5.2 简单优先分析法 104
5.2.1 优先关系定义 105
5.2.2 简单优先文法的定义 106
5.2.3 简单优先分析法的操作步骤 106
5.3 算符优先分析法 107
5.3.1 直观算符优先分析法 107
5.3.2 算符优先文法的定义 108
5.3.3 算符优先关系表的构造 110
5.3.4 算符优先分析算法 115
5.3.5 优先函数 117
5.3.6 算符优先分析法的局限性 121
练习 121
第6章 LR分析 123
6.1 LR分析概述 123
6.2 LR(0)分析 124
6.2.1 可归前缀和子前缀 125
6.2.2 识别活前缀的有限自动机 127
6.2.3 活前缀及可归前缀的一般计算方法 128
6.2.4 LR(0)项目集规范族的构造 130
6.3 SLR(1)分析 137
6.4 LR(1)分析 144
6.4.1 LR(1)项目集族的构造 145
6.4.2 LR(1)分析表的构造 146
6.5 LALR(1)分析 148
6.6 二义性文法在LR分析中的应用 153
练习 156
第7章 语法制导的语义计算 160
7.1 基于属性文法的语义计算 160
7.1.1 属性文法 160
7.1.2 遍历分析树进行语义计算 164
7.1.3 S-属性文法和L-属性文法 166
7.1.4 基于S-属性文法的语义计算 166
7.1.5 基于L-属性文法的语义计算 168
7.2 基于翻译模式的语义计算 172
7.2.1 翻译模式 172
7.2.2 基于S-翻译模式的语义计算 173
7.2.3 基于L-翻译模式的自顶向下语义计算 174
7.2.4 基于L-翻译模式的自底向上语义计算 178
7.3 分析和翻译程序的自动生成工具yacc 183
7.3.1 yacc描述文件 184
7.3.2 使用yacc的一个简单例子 187
练习 189
第8章 静态语义分析和中间代码生成 195
8.1 符号表 195
8.1.1 符号表的作用 195
8.1.2 符号的常见属性 196
8.1.3 符号表的实现 197
8.1.4 符号表体现作用域与可见性 197
8.1.5 实例:PL/0编译程序中符号表的设计与实现 199
8.2 静态语义分析 203
8.2.1 静态语义分析的主要任务 203
8.2.2 类型检查 204
8.3 中间代码生成 208
8.3.1 常见的中间表示形式 208
8.3.2 生成抽象语法树 210
8.3.3 生成三地址码 211
8.4 多遍的方法 220
练习 223
第9章 运行时存储组织 229
9.1 运行时存储组织概述 229
9.1.1 运行时存储组织的作用与任务 229
9.1.2 程序运行时存储空间的布局 230
9.1.3 存储分配策略 231
9.2 活动记录 234
9.2.1 过程活动记录 234
9.2.2 嵌套过程定义中非局部量的访问 236
9.2.3 嵌套程序块的非局部量访问 239
9.2.4 动态作用域规则和静态作用域规则 240
9.3 过程调用 241
9.4 PL/0编译程序的运行时存储组织 243
9.4.1 PL/0程序运行栈中的过程活动记录 244
9.4.2 实现过程调用和返回的类P-code指令 245
9.5 面向对象语言存储分配策略 247
9.5.1 类和对象的角色 247
9.5.2 面向对象程序运行时的特征 247
9.5.3 对象的存储组织 248
9.5.4 例程的动态绑定 249
9.5.5 其他话题 251
练习 251
第10章 代码优化和目标代码生成 255
10.1 基本块、流图和循环 255
10.1.1 基本块 255
10.1.2 流图 256
10.1.3 循环 257
10.2 数据流分析基础 258
10.2.1 数据流方程的概念 259
10.2.2 到达-定值数据流分析 259
10.2.3 活跃变量数据流分析 262
10.2.4 几种重要的变量使用数据流信息 263
10.3 代码优化技术 268
10.3.1 窥孔优化 270
10.3.2 局部优化 271
10.3.3 循环优化 275
10.3.4 全局优化 278
10.4 目标代码生成技术 279
10.4.1 目标代码生成的主要环节 280
10.4.2 一个简单的代码生成过程 282
10.4.3 高效使用寄存器 285
10.4.4 图着色寄存器分配 288
10.4.5 PL/0编译器的目标代码生成程序 289
练习 292
第11章 课程设计 296
11.1 基于PL/0编译器的课程设计 296
11.2 基于Decaf编译器的课程设计 297
11.2.1 Decaf编译器实验的总体结构 298
11.2.2 词法和语法分析(阶段一) 300
11.2.3 语义分析(阶段二) 303
11.2.4 中间代码生成(阶段三) 309
11.2.5 代码优化(阶段四) 317
11.2.6 目标代码生成(阶段五) 320
11.2.7 基于Decaf编译器的课程设计 333
11.3 软件包相关信息说明 335
第12章 编译器和相关工具实例——GCC/Binutils 336
12.1 开源编译器GCC 336
12.1.1 GCC介绍 337
12.1.2 GCC总体结构 338
12.1.3 GCC编译流程 339
12.1.4 GCC代码组织 341
12.1.5 小结 341
12.2 开源工具Binutils 341
12.2.1 目标文件 341
12.2.2 汇编器和链接器 342
12.2.3 其他工具 343
12.2.4 小结 343
12.3 编译器和工具使用实例 343
12.3.1 编译特定版本的编译器 343
12.3.2 查看目标文件 347
12.3.3 程序代码优化 349
12.3.4 小结 353
练习 353
附录A PL/0编译程序文本 354
参考文献 398
- 《第一性原理方法及应用》李青坤著 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《高等院校保险学专业系列教材 保险学原理与实务》林佳依责任编辑;(中国)牟晓伟,李彤宇 2019
- 《刑法归责原理的规范化展开》陈璇著 2019
- 《教师教育系列教材 心理学原理与应用 第2版 视频版》郑红,倪嘉波,刘亨荣编;陈冬梅责编 2020
- 《单片机原理及应用》庄友谊 2020
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《计算机组成原理 第2版》任国林 2018
- 《化工原理课程设计》刘建周主编 2018
- 《会计学原理》邵瑞庆主编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019