编译原理(第3版)
定价:¥39.00
作者: 陈意云,张昱
出版社:高等教育出版社
“十二五”普通高等教育本科国家级规划教材普通高等教育“十一五”国家级规划教材
- 高等教育出版社
- 9787040404913
- 3版
- 47261475-9
- 异16开
- 650
- 工学
- 计算机类
- 计算机科学与技术、电子信息科学类
- 本科
内容简介
本书介绍编译器构造的一般原理和基本实现方法,内容包括词法分析、语法分析、语义分析、中间代码生成、目标代码生成、独立于机器的优化和依赖于机器的优化等。除了介绍命令式编程语言的编译技术外,本书还介绍面向对象编程语言和函数式编程语言的实现技术。另外,本书还强调一些相关的理论知识,如形式语言和自动机理论、语法制导的定义和属性文法、类型论和类型系统等。
本书内容丰富、讲解深入,注意理论联系实际,可作为高等学校计算机科学及相关专业的教材,也可供计算机软件工程技术人员参考。
目录
目录
前言
第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
版权
参考文献
前言
第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
版权
参考文献
前言
第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
版权
参考文献
前言
第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
版权
参考文献

















