注册 登录 进入教材巡展 进入在线书城
#
  • #

出版时间:2012年1月

出版社:电子工业出版社

以下为《编译原理简明教程(第2版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
试读
  • 电子工业出版社
  • 9787121153570
  • 1-1
  • 170068
  • 46217617-3
  • 平塑
  • 16开
  • 2012年1月
  • 495
  • 268
  • 工学
  • 软件工程
  • TP314
  • 计算机科学与技术(工学/理学)
  • 研究生、本科
内容简介
本书在上一版重印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
参考文献