出版时间:2012-1 出版社:电子工业出版社 作者:冯秀芳,崔冬华,段富 主编 页数:268
Tag标签:无
前言
《编译原理简明教程》第1版出版于2002年,重印5次,距今已有9年时间,在这9年里,不仅编译技术有了新的发展,而且,计算机专业人员的水平也有了显著提高,因此在第2版中,我们对内容做了部分调整、增删和修改。本书第2版系普通高等教育“十二五”规划计算机教材,作为再版教材,继承了第一版理论和实践并重、文字简洁易懂等优点,并且为了适应计算机技术迅猛发展的需要,在第2版中我们增加了面向对象语言的编译技术、并行编译技术以及编译程序自动生成工具等相关内容,并将第一版中用Pascal语言编写的部分程序改为C语言程序。 “编译原理”课程是计算机科学与技术专业一门重要的专业基础课,在计算机科学中占有重要的地位。“编译原理”课程蕴涵着计算机学科中解决抽象问题的思路和方法,对计算机专业人员从事软件开发起着潜移默化的作用,就像“高等数学”课程影响每一个理工科学生一生的工作和学习一样,学好“编译原理”课程也会让计算机专业的学生“享用一辈子”。 全书共15章,第1章对编译过程、编译程序的结构、编译程序的开发进行了概要说明;第2、3章介绍了形式语言与自动机理论,为学习后续各章奠定了理论基础;第4章讨论了词法分析程序的设计原理;第5、6章详细阐述了自顶向下和自底向上的各种语法分析方法;第7-12章分别讨论了语义分析及中间代码生成、代码优化、目标代码生成、符号表、目标程序运行时的存储组织与分配等内容;第13章介绍了编译程序的自动生成工具;第14、15章分别介绍了面向对象语言的编译技术以及并行编译技术。 在内容的组织上,本书将编译的基本理论和具体的实现技术有机地结合起来,清楚地阐述相关的概念和原理,并利用C语言给出部分实现程序;同时,对编译程序自动生成工具的功能和使用方法做了详细的介绍。 本书第1、2章由段富编写,第3、6、8、10章由冯秀芳编写,第4、5、7、12章由崔冬华编写,第9章由郝晓燕编写,第11、14章由王会青编写,第13、15章由李爱萍编写。本书是在第1版的基础上修订而成,在修订过程中原合作者范辉给予了大力支持,计算机专业的研究生在录入以及校对中做了大量的工作,在此谨向他们表示诚挚的感谢。 编者
内容概要
本书在上一版重印5 次的基础上修订而成,共15
章,包括形式语言与自动机理论、词法分析、语法分析、语义分析及中间代码生成、代码优化、目标代码的生成、符号表、目标程序运行时的存储组织与分配、出错处理、编译程序自动生成工具简介、面向对象语言的编译以及并行编译技术。在内容的组织上,本书将编译的基本理论和具体的实现技术有机地结合起来,清楚地阐述相关的概念和原理,并给出部分C
语言实现程序;同时,对编译程序自动生成工具的功能和使用方法做了详细的介绍。本书提供免费电子课件。
书籍目录
目 录
第1章 引言
1.1 程序的翻译及运行
1.2 编译过程概述
1.3 编译程序的结构框图
1.4 编译程序的开发
1.4.1 编译程序的开发步骤
1.4.2 编译程序的开发技术
1.4.3 编译程序的自动生成
习题1
第2章 形式语言理论基础
2.1 形式语言的基本概念
2.1.1 符号和符号串
2.1.2 符号串的运算
2.2 文法和语言的形式定义
2.3 语法树和二义性
2.3.1 语法树和推导
2.3.2 文法二义性
2.4 文法的实用限制
2.4.1 有害规则
2.4.2 多余规则
2.4.3 文法的实用限制
2.4.4 文法的等价变换
2.4.5 扩充的BNF 表示法
2.5 文法和语言的Chomsky 分类
2.5.1 0 型文法与0 型语言(对应图灵机)
2.5.2 1 型文法与1 型语言(对应线性界限自动机)
2.5.3 2 型文法与2 型语言(对应下推自动机)
2.5.4 3 型文法与3 型语言(对应有限自动机)
2.5.5 四类文法的关系
习题2
第3章 自动机理论基础
3.1 有限自动机的基本概念
3.1.1 有限自动机的定义及表示法
3.1.2 有限自动机的机器模型
3.1.3 确定有限自动机(DFA)
3.1.4 有限自动机在计算机内的表示
3.1.5 不确定有限自动机(NFA)
3.1.6 由NFA 到DFA 的等价转换
3.2 确定有限自动机DFA 的化简
3.2.1 等价状态和无关状态
3.2.2 自动机的化简
3.3 正则表达式形式定义
3.4 下推自动机PDA
3.4.1 下推自动机的机器模型
3.4.2 PDA 的形式定义
习题3
第4章 词法分析
4.1 词法分析概述
4.1.1 词法分析的功能
4.1.2 词法分析的两种处理结构
4.1.3 单词符号的种类
4.1.4 词法分析程序的输出形式
4.2 词法分析程序的设计与实现
4.2.1 词法分析程序流程图
4.2.2 读单词
4.2.3 读无符号数
4.2.4 读标识符
4.3 词法分析程序的自动生成
4.3.1 基本思想
4.3.2 LEX 源程序结构
4.3.3 LEX 编译程序工作过程
4.3.4 LEX 的实现
4.3.5 LEX 的使用方式
习题4
第5章 语法分析——自顶向下分析方法
5.1 自顶向下分析技术
5.2 不确定的自顶向下分析思想
5.2.1 三种终结符号集
5.2.2 自顶向下分析过程中存在的问题及解决办法
5.3 确定的自顶向下分析思想
5.4 LL(K )分析方法
5.4.1 LL(1)分析思想
5.4.2 LL(1)分析方法的逻辑结构
5.4.3 LL(1)分析方法
5.5 递归下降分析法
5.5.1 递归下降分析法的实现思想
5.5.2 递归子程序及其性质
5.5.3 递归下降分析法
习题5
第6章 语法分析——自底向上分析方法
6.1 自底向上语法分析技术
6.1.1 自底向上语法分析思想
6.1.2 自底向上分析难点
6.2 自底向上优先分析方法
6.2.1 简单优先分析方法
6.2.2 算符优先分析方法
6.3 LR(K)分析方法
6.3.1 LR 分析思想及逻辑结构
6.3.2 LR(0)分析方法
6.3.3 SLR(1)分析方法
6.3.4 LR(1)分析方法
6.3.5 LALR(1)分析方法
习题 6
第 7章 语义分析及中间代码生成
7.1 基本概念
7.1.1 语义分析的概念
7.1.2 属性文法技术
7.2 几种常见的中间语言
7.2.1 抽象语法树
7.2.2 逆波兰表示
7.2.3 四元式
7.2.4 三元式
7.3 表达式的翻译
7.3.1 算术表达式的翻译
7.3.2 布尔表达式的翻译
7.4 语句的语法制导翻译
7.4.1 说明语句的翻译
7.4.2 赋值语句的翻译
7.4.3 控制语句的翻译
习题 7
第 8章 代码优化
8.1 代码优化的基本概念
8.1.1 代码优化的定义
8.1.2 代码优化的分类
8.1.3 优化技术简介
8.2 局部优化
8.2.1 基本块的划分
8.2.2 基本块的DAG 表示
8.2.3 基本块优化的实现
8.3 循环优化
8.3.1 循环的查找
8.3.2 循环优化的实现
习题 8
第 9章 目标代码的生成
9.1 目标代码生成程序中的有关问题
9.1.1 目标代码生成程序的输入、输出
9.1.2 目标代码
9.1.3 寄存器分配
9.1.4 运行时的存储管理
9.2 一个计算机模型——虚拟机
9.2.1 虚拟机
9.2.2 虚拟机的汇编指令
9.3 从中间代码生成目标代码
9.3.1 从逆波兰表示生成目标代码
9.3.2 从四元式序列生成目标代码
习题 9
第 10章 符号表
10.1 符号表的组织与内容
10.2 符号表的结构与存放
10.2.1 线性符号表
10.2.2 有序符号表
10.2.3 散列符号表
10.2.4 栈式符号表
10.3 符号表的管理
10.3.1 符号表的建立
10.3.2 符号表的查填
习题 10
第 11章 目标程序运行时的存储组织与分配
11.1 程序运行时的存储组织
11.2 静态存储分配
11.3 栈式动态存储分配
11.3.1 简单的栈式存储分配
11.3.2 嵌套过程语言的栈式存储分配
11.4 堆式动态存储分配
11.5 过程调用与返回
11.6 参数传递机制
习题 11
第 12章 出错处理
12.1 引言
12.1.1 错误存在的必然性
12.1.2 错误的种类
12.1.3 错误复原
12.2 校正词法错误
12.2.1 词法错误的种类
12.2.2 词法错误的校正
12.3 校正语法错误
12.3.1 语法错误的复原
12.3.2 语法错误的校正
12.4 校正语义错误
12.4.1 语义错误的种类
12.4.2 语义错误检查措施
习题 12
第 13章 编译程序自动生成工具简介
13.1 引言
13.1.1 编译程序自动生成工具概述
13.1.2 编译程序自动生成工具的种类及常用工具简介
13.2 词法分析自动生成工具
13.2.1 LEX 系列词法分析自动生成工具简介
13.2.2 其他词法分析自动生成工具简介
13.3 语法分析自动生成工具
13.3.1 YACC 系列语法分析自动生成工具简介
13.3.2 其他语法分析自动生成工具简介
习题 13
第 14章 面向对象语言的编译
14.1 概述
14.1.1 面向对象语言的基本特征
14.1.2 类和成员的属性构造
14.1.3 面向对象编译程序的特点
14.2 面向对象语言的编译
14.2.1 单一继承
14.2.2 多重继承
14.2.3 多态性
14.2.4 动态绑定
14.2.5 接口类型
14.3 面向对象的动态存储分配
14.3.1 对象的存储区管理方式
14.3.2 静态模型和栈式模型废弃单元的回收
14.3.3 堆式模型废弃单元的回收
习题 14
第 15章 并行编译技术
15.1 并行计算机及其编译系统简介
15.1.1 并行计算相关技术简介
15.1.2 并行编译系统的分类及结构
15.2 并行程序设计模型
15.2.1 并行体系结构分类及并行程序设计
15.2.2 并行程序设计模型
15.3 并行编译系统的构造
15.3.1 并行编译系统的构造简介
15.3.2 程序分析
15.3.3 程序优化
15.3.4 并行代码生成
15.4 自动并行化技术目前研究现状
习题 15
参考文献
图书封面
图书标签Tags
无
评论、评分、阅读与下载