电子工业出版社有限公司店铺主页二维码
电子工业出版社有限公司
电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
微信扫描二维码,访问我们的微信店铺

编译原理简明教程

52.40
运费: 免运费
编译原理简明教程 商品图0
编译原理简明教程 商品缩略图0

商品详情

书名:编译原理简明教程
定价:69.8
ISBN:9787121435751
作者:无
版次:第1版
出版时间:2022-06

内容提要:
本书系统地介绍了编译程序的设计原理及实现技术。在内容的组织上,本书强调知识的实用性,有机地结合了编译的基本理论与具体的实现技术,既注重理论的完整性,化繁为简,又将理论融于具体的实例中,化难为易,以达到准确、清楚地阐述相关概念和原理的目的。在具体内容的讲述中,思路清晰、条理分明,给出的示例丰富,实用性与连贯性强,可使读者全面、直观地认识编译的各个阶段。本书采用的算法全部由C语言描述,各章均附有习题,且附录中提供了习题解答。本书既可作为计算机本科专业学生的教材,又可作为计算机软件工程人员的参考资料。



作者简介:
费蓉,博士,教授。作者主要承担计算方法、大学生计算机基础、软件工具与环境、专业英语等本科课程,目前从事随机环境建模分析、优化算法等方面的研究。主持国家自然科学基金、陕西省技术转移促进、西安市科技计划等纵向课题10余项,横向课题近10项;在国内外重要学术期刊和相关国际学术会议上公开发表学术论文近30篇,其中SCI检索10余篇;授权国家发明专利3项,国际发明专利1项,获批软件著作权30余项;指导学生获得"互联网+”大学生创新创业大赛、全国大学生服务外包大赛等多项省级、***大奖。参加的学术组织及任职:IEEE会员,ACM会员,CCF会员。个人/集体荣誉:获2015年西安理工大学校级讲课比赛三等奖,作为主要参与人获2017年度校级教学成果一等奖,作为主要参与人获2015、2019年度陕西省高等学校科学技术奖一等奖两项,2016年度陕西省科学技术奖二等奖一项。承担过的重点科研项目:作为主要参与人(4/5)获2017年度校级教学成果一等奖,作为主要参与人(4/7)(6/11)获2015、2019年度陕西省高等学校科学技术奖一等奖两项,2016年度陕西省科学技术奖二等奖一项。教学成果获奖情况:第二主编胡元义主持的《计算机专业核心学位课程教材建设(教材)》获2015年校教学成果一等奖,《改革实验教学模式的实验教材建设(教材)》获2012年校教学成果一等奖,《提高本科教学质量,不断进行计算机教学实践创新》和《编译原理系列教材建设》分获2003和2007年校教学成果二等奖;本人参与的《突出实践,全面提高计算机专业本科培养质量》和《抓质量工程建设,促创新型应用人才培养》分获2007和2009年校教学成果特等奖;主编的《数据结构教程》获2015校优秀教材二等奖,主编的《编译原理教程》(**版)获2007校优秀教材二等奖,主编的《编译原理教程》(第三版)获2016校优秀教材一等奖,主编的《C语言程序设计教程》获2016校优秀教材二等奖。出版著作情况:(1)《数据结构教程》、《数据结构教程习题解析与上机指导》胡元义、黑新宏、鲁晓峰、费蓉等,西安电子科技大学出版社2012;(2)《操作系统原理》胡元义、费蓉等,电子工业出版社,2018。

目录:
目 录

第1章 绪论 1
1.1 程序设计语言和编译程序 1
1.2 编译程序的历史及发展 3
1.3 编译过程和编译程序结构 4
1.4 编译程序的开发 6
1.5 构造编译程序所应具备的知识内容 7
习题1 8
第2章 词法分析 10
2.1 词法分析器的设计方法 10
2.1.1 单词符号的分类与输出形式 10
2.1.2 状态转换图 11
2.2 一个简单的词法分析器示例 13
2.2.1 C语言子集的单词符号表示 13
2.2.2 C语言子集对应的状态转换图 14
2.2.3 状态转换图的实现 15
2.3 正规表达式与有限自动机简介 17
2.3.1 正规表达式与正规集 17
2.3.2 有限自动机 18
2.4 正规表达式到有限自动机的构造 21
2.4.1 由正规表达式构造等价的非确定有限自动机 21
2.4.2 NFA的确定化 22
2.4.3 确定有限自动机(DFA)的化简 24
2.4.4 正规表达式到有限自动机构造示例 26
2.5 词法分析器的自动生成 31
习题2 33
第3章 文法和语言 36
3.1 基本概念 36
3.1.1 文法和语言的定义 36
3.1.2 文法产生的语言 38
3.2 形式语言分类 39
3.2.1 四类文法的划分 39
3.2.2 四类文法的关系与区别 40
3.2.3 正规表达式与上下文无关文法 42
3.3 推导与语法树 43
3.3.1 推导与短语 43
3.3.2 语法树与二义性 44
习题3 49
第4章 语法分析—自顶向下分析方法 51
4.1 自顶向下分析原理 51
4.1.1 自顶向下分析存在的不确定性 51
4.1.2 确定的自顶向下分析 52
4.2 递归下降分析法 56
4.2.1 算术表达式的递归下降分析器 56
4.2.2 无二义性的算术表达式递归下降分析器 58
4.3 LL(1)分析法 59
4.3.1 表驱动的LL(1)分析器 59
4.3.2 LL(1)分析表的构造 62
习题4 66
第5章 语法分析—自底向上分析方法 68
5.1 自底向上分析原理 68
5.2 算符优先分析法 70
5.2.1 算符优先文法 70
5.2.2 算符优先关系表的构造 71
5.2.3 算符优先分析算法的设计 74
5.2.4 优先函数 78
5.3 LR分析器的工作原理 80
5.4 LR(0)分析器 86
5.4.1 LR(0)项目集规范族的构造 86
5.4.2 LR(0)分析表的构造 88
5.5 SLR(1)分析器 93
5.6 二义文法的应用 99
习题5 103
第6章 语义分析和中间代码生成 107
6.1 概述 107
6.1.1 语义分析的概念 107
6.1.2 语法制导翻译方法 107
6.2 属性文法 109
6.2.1 文法的属性 109
6.2.2 属性文法 110
6.3 几种常见的中间语言 111
6.3.1 抽象语法树 111
6.3.2 逆波兰表示法 112
6.3.3 三地址代码 114
6.4 表达式及赋值语句的翻译 116
6.4.1 简单算术表达式和赋值语句的翻译 116
6.4.2 布尔表达式的翻译 118
6.5 控制语句的翻译 123
6.5.1 条件语句if的翻译 123
6.5.2 循环语句的翻译 125
6.5.3 三种基本控制结构的翻译 127
6.5.4 多分支控制语句case的翻译 132
6.5.5 语句标号和转移语句的翻译 134
6.6 数组元素的翻译 134
6.6.1 数组元素的地址计算及中间代码形式 135
6.6.2 赋值语句中数组元素的翻译 135
6.6.3 数组元素翻译示例 136
6.7 过程或函数调用语句的翻译 139
6.7.1 过程或函数调用的方法 139
6.7.2 过程或函数调用语句的四元式生成 140
6.8 说明语句的翻译 141
6.8.1 变量说明的翻译 141
6.8.2 数组说明的翻译 141
6.9 递归下降语法制导翻译方法简介 142
习题6 143
第7章 代码优化 147
7.1 局部优化 147
7.1.1 基本块的划分方法 147
7.1.2 基本块的DAG方法 148
7.1.3 用DAG进行基本块的优化处理 152
7.1.4 DAG构造算法的进一步讨论 153
7.2 循环优化 154
7.2.1 程序流图与循环 154
7.2.2 循环的查找 156
7.2.3 循环优化 161
习题7 169
第8章 目标程序运行时存储空间的组织 173
8.1 静态存储分配 173
8.2 简单的栈式存储分配 174
8.2.1 栈式存储分配与活动记录 175
8.2.2 过程的执行 176
8.3 嵌套过程语言的栈式实现 179
8.3.1 嵌套层次显示表和活动记录 179
8.3.2 嵌套过程的执行 180
8.3.3 访问非局部名的另一种实现方法 182
8.4 堆式动态存储分配 185
8.4.1 堆式存储的概念 185
8.4.2 堆式存储的管理方法 186
习题8 188
第9章 目标代码生成 190
9.1 简单代码生成器 190
9.1.1 待用信息与活跃信息 191
9.1.2 代码生成算法 193
9.1.3 寄存器分配 194
9.1.4 源程序到目标代码生成示例 196
9.2 汇编指令到机器代码翻译概述 198
习题9 204
第10章 符号表与错误处理 206
10.1 符号表 206
10.1.1 符号表的作用 206
10.1.2 符号表的组织 207
10.1.3 分程序结构语言符号表建立 208
10.1.4 非分程序结构语言符号表建立 211
10.1.5 常用符号表结构 212
10.1.6 符号表内容 213
10.2 错误处理 214
10.2.1 语法错误校正 214
10.2.2 语义错误校正 220
习题10 221
附录A 8086/8088指令码汇总表 223
附录B 8086/8088指令编码空间表 228
附录C 习题解答 230
参考文献 290
电子工业出版社有限公司店铺主页二维码
电子工业出版社有限公司
电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
扫描二维码,访问我们的微信店铺

编译原理简明教程

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏