编译原理(第3版)
作者: 陈意云,张昱
出版时间:2014-09
出版社:高等教育出版社
“十二五”普通高等教育本科国家级规划教材普通高等教育“十一五”国家级规划教材
- 高等教育出版社
- 9787040404913
- 3版
- 166232
- 44259669-8
- 平装
- 异16开
- 2014-09
- 650
- 441
- 工学
- 软件工程
- TP314
- 计算机科学与技术、电子信息科学类
- 本科
本书介绍编译器构造的一般原理和基本实现方法,内容包括词法分析、语法分析、语义分析、中间代码生成、目标代码生成、独立于机器的优化和依赖于机器的优化等。除了介绍命令式编程语言的编译技术外,本书还介绍面向对象编程语言和函数式编程语言的实现技术。另外,本书还强调一些相关的理论知识,如形式语言和自动机理论、语法制导的定义和属性文法、类型论和类型系统等。
本书内容丰富、讲解深入,注意理论联系实际,可作为高等学校计算机科学及相关专业的教材,也可供计算机软件工程技术人员参考。
前言
第1章 引论
1.1 编译器概述
1.2 编译器技术的应用
习题1
第2章 词法分析
2.1 词法记号及属性
2.2 词法记号的描述与识别
2.3 有限自动机
2.4 从正规式到有限自动机
2.5 词法分析器的生成器
习题2
第3 章 语法分析
3.1 上下文无关文法
3.2 语言和文法
3.3 自上而下分析
3.4 自下而上分析
3.5 LR分析器
3.6 二义文法的应用
3.7 语法分析器的生成器
习题3
第4 章 语法制导的翻译
4.1 语法制导的定义
4.2 S属性定义的自下而上计算
4.3 LR属性定义的自上而下计算
4.4 LR属性的自下而上计算
习题4
第5 章 类型检查
5.1 类型在编程语言中的作用
5.2 类型系统的描述语言
5.3 一个简单类型检查器的规范
∗5.4 多态函数
5.5 类型表达式的等价
5.6 函数和算符的重载
习题5
第6 章 运行时存储空间的组织和管理
6.1 局部存储分配
6.2 全局栈式存储分配
6.3 非局部名字的访问
6.4 参数传递
∗6.5 堆管理
习题6
第7 章 中间代码生成
7.1 中间语言
7.2 声明语句
7.3 赋值语句
7.4 布尔表达式和控制流语句
习题7
第8 章 代码生成
8.1 代码生成器设计中的问题
8.2 目标语言
8.3 基本块和流图
8.4 一个简单的代码生成器
习题8
∗第9 章 独立于机器的优化
9.1 优化的主要种类
9.2 数据流分析介绍
9.3 数据流分析的基础
9.4 常量传播
9.5 部分冗余删除
9.6 流图中的循环
习题9
∗第10 章 依赖于机器的优化
10.1 处理器体系结构
10.2 代码调度的约束
10.3 基本块调度
10.4 全局代码调度
10.5 软件流水
10.6 并行性和数据局部性优化概述
习题10
第11章 编译系统和运行时系统
11.1 C语言的编译系统
11.2 Java语言的运行时系统
∗11.3 无用单元收集
习题11
∗第12章 面向对象语言的编译
12.1 面向对象语言的概念
12.2 方法的编译
12.3 继承的编译方案
习题12
∗第13 章 函数式语言的编译
13.1 函数式编程语言简介
13.2 函数式语言的编译简介
13.3 抽象机的体系结构
13.4 指令集和编译
习题13
版权
参考文献