书籍详情
程序设计语言编译原理(第3版)
作者:陈火旺等编著
出版社:国防工业出版社
出版时间:2000-01-01
ISBN:9787118022070
定价:¥31.00
购买这本书可以去
内容简介
内容简介本书是在陈火旺屈家华、孙永强三位教授编写的《程序设计语言编译原理》的基础上,结合编译技术的最新研究成果和作者多年的教学经验编写而成的。本书比较全面、系统地介绍了编译程序构造的一般原理和基本实现方法,内容包括词法分析、语法分析、属性文法与语法制导翻译、语义分析与中间代码产生、符号表与运行时存储空间组织、优化与目标代码生成、并行编译技术。与原教材相比,本书将编译技术的最新发展,例如属性文法、面向对象语言的编译技术、并行编译技术、编译程序自动构造工具等内容系统地融合到教材中;在语言背景方面,以C,PaSCal替代原教材中的FORTRAN和Algol;并在一些重要的章节中增加了必要的例题,以帮助读者理解和自学。本书可作为高等(理、工)院校计算机科学(或工程)专业的教材,或作为教师、研究生、高年级学生或软件工程技术人员的参考书。
作者简介
暂缺《程序设计语言编译原理(第3版)》作者简介
目录
第一章 引 论
1. 1 什么叫编译程序
1. 2 编译过程概述
1. 3 编译程序的结构
1. 3. 1 编译程序总框
1. 3. 2 表格与表格管理
1. 3. 3 出错处理
1. 3. 4 遍
1. 3. 5 编译前端与后端
1. 4 编译程序与程序设计环境
1. 5 编译程序的生成
第二章 高级语言及其语法描述
2. 1 程序语言的定义
2. 1. 1 语 法
2. 1. 2 语 义
2. 2 高级语言的一般特性
2. 2. 1 高级语言的分类
2. 2. 2 程序结构
2. 2. 3 数据类型与操作
2. 2. 4 语句与控制结构
2. 3 程序语言的语法描述
2. 3. 1 上下文无关文法
2. 3. 2 语法分析树与二义性
2. 3. 3 形式语言鸟瞰
练 习
第三章 词法分析
3. 1 对于词法分析器的要求
3. 1. 1 词法分析器的功能和输出形式
3. 1. 2 词法分析器作为一个独立子程序
3. 2 词法分析器的设计
3. 2. 1 输入. 预处理
3. 2. 2 单词符号的识别:超前搜索
3. 2. 3 状态转换图
3. 2. 4 状态转换图的实现
3. 3 正规表达式与有限自动机
3. 3. 1 正规式与正规集
3. 3. 2 确定有限自动机(DFA)
3. 3. 3 非确定有限自动机(NFA)
3. 3. 4 正规文法与有限自动机的等价性
3. 3. 5 正规式与有限自动机的等价性
3. 3. 6 确定有限自动机的化简
3. 4 词法分析器的自动产生
3. 4. 1 语言LEX的一般描述
3. 4. 2 超前搜索
3. 4. 3 LEX的实现
练 习
第四章 语法分析--自上而下分析
4. 1 语法分析器的功能
4. 2 自上而下分析面临的问题
4. 3 LL(1)分析法
4. 3. 1 左递归的消除
4. 3. 2 消除回溯. 提左因子
4. 3. 3 LL(1)分析条件
4. 4 递归下降分析程序构造
4. 5 预测分析程序
4. 5. 1 预测分析程序工作过程
4. 5. 2 预测分析表的构造
4. 6 LL(1)分析中的错误处理
练 习
第五章 语法分析--自下而上分析
5. 1 自下而上分析基本问题
5. 1. 1 归约
5. 1. 2 规范归约简述
5. 1. 3 符号栈的使用与语法树的表示
5. 2 算符优先分析
5. 2. I 算符优先文法及优先表构造
5. 2. 2 算符优先分析算法
5. 2. 3 优先函数
5. 2. 4 算符优先分析中的出错处理
5. 3 LR分析法
5. 3. 1 顺分析器
5. 3. 2 LR(0)项目集族和LR(0)分析表的构造
5. 3. 3 SLR分析表的构造
5. 3. 4 规范LR分析表的构造
5. 3. 5 LALR分析表的构造
5. 3. 6 二义文法的应用
5. 3. 7 LR分析中的出错处理
5. 4 语法分析器的自动产生工具YACC
练 习
第六章 属性文法和语法制导翻译
6. 1 属性文法
6. 2 基于属性文法的处理方法
6. 2. 1 依赖图
6. 2. 2 树遍历的属性计算方法
6. 2. 3 一遍扫描的处理方法
6. 2. 4 抽象语法树
6. 3 S-属性文法的自下而上计算
6. 4 L-属性文法和自顶向下翻译
6. 4. 1 翻译模式
6. 4. 2 自顶向下翻译
6. 4. 3 递归下降翻译器的设计
6. 5 自下而上计算继承属性
6. 5. 1 从翻译模式中去掉嵌入在产生式中间的动作
6. 5. 2 分析栈中的继承属性
6. 5. 3 模拟继承属性的计算
6. 5. 4 用综合属性代替继承属性
练 习
第七章 语义分析和中间代码产生
7. 1 中间语言
7. 1. 1 后缀式
7. 1. 2 图表示法
7. 1. 3 三地址代码
7. 2 说明语句
7. 2. 1 过程中的说明语句
7. 2. 2 保留作用域信息
7. 2. 3 记录中的域名
7. 3 赋值语句的翻译
7. 3. 1 简单算术表达式及赋值语句
7. 3. 2 数组元素的引用
7. 3. 3 记录中域的引用
7. 4 布尔表达式的翻译
7. 4. 1 数值表示法
7. 4. 2 作为条件控制的布尔式翻译
7. 5 控制语句的翻译
7. 5. 1 控制流语句
7. 5. 2 标号与goto语句
7. 5. 3 CASE语句的翻译
7. 6 过程调用的处理
7. 7 类型检查
7. 7. 1 类型系统
7. 7. 2 类型检查器的规格说明
7. 7. 3 函数和运算符的重载
7. 7. 4 多态函数
练 习
第八章 符号表
8. 1 符号表的组织与作用
8. 1. 1 符号表的作用
8. 1. 2 符号表的组织方式
8. 2 整理与查找
8. 2. 1 线性表
8. 2. 2 对折查找与二叉树
8. 2. 3 杂凑技术
8. 3 名字的作用范围
8. 3. 1 则佃州的符号表组织
8. 3. 2 Pascal的符号表组织
8. 4 符号表的内容
练 习
第九章 运行时存储空间组织
9. 1 目标程序运行时的活动
9. 1. 1 过程的活动
9. 1. 2 参数传递
9. 2 运行时存储器的划分
9. 2. 1 运行时存储器的划分
9. 2. 2 活动记录
9. 2. 3 存储分配策略
9. 3 静态存储分配
9. 3. 1 数据区
*9. 3. 2 公用语句的处理
*9. 3. 3 等价语句的处理
*9. 3. 4 地址分配
9. 3. 5 临时变量的地址分配
9. 4 简单的栈式存储分配
9. 4. 1 C的活动记录
9. 4. 2 C的过程调用. 过程进入. 数组空间分配和过程返回
9. 5 嵌套过程语言的栈式实现
9. 5. 1 非局部名字的访问的实现
9. 5. 2 参数传递的实现
9. 6 堆式动态存储分配
9. 6. 1 堆式动态存储分配的实现
9. 6. 2 隐式存储回收
练 习
第十章 优化
10. 1 概 述
10. 2 局部优化
10. 2. 1 基本块及流图
10. 2. 2 基本块的DAG表示及其应用
10. 3 循环优化
10. 3. 1 代码外提
10. 3. 2 强度削弱
10. 3. 3 删除归纳变量
*10. 4 数据流分析
10. 4. 1 任意路径数据流分析
10. 4. 2 全路径数据流分析
10. 4. 3 数据流问题的分类
10. 4. 4 其它主要的数据流问题
10. 4. 5 利用数据流信息进行全局优化
练 习
第十一章 目标代码生成
11. 1 基本问题
11. 2 目标机器模型
11. 3 一个简单的代码生成器
11. 3. 1 待用信息
11. 3. 2 寄存器描述和地址描述
11. 3. 3 代码生成算法
11. 4 寄存器分配
11. 5 DAG的目标代码
11. 6 窥孔优化
练 习
第十二章 并行编译基础
12. 1 并行计算机及其编译系统
12. 1. 1 向量计算机
12. 1. 2 共享存储器多处理机
12. 1. 3 分布存储器大规模并行计算机
12. 1. 4 并行编译系统的结构
12. 2 基本概念
12. 2. 1 向量与向量的次序
12. 2. 2 循环模型与索引空间
12. 2. 3 输入与输出集合
12. 2. 4 语句的执行顺序
12. 3 依赖关系
12. 3. 1 依赖关系定义
12. 3. 2 语句依赖图
12. 3. 3 依赖距离. 依赖方向与依赖层次
12. 4 依赖关系问题
12. 5 依赖关系测试
12. 6 循环的向量化与并行化
12. 7 循环变换技术
练 习
参考文献
1. 1 什么叫编译程序
1. 2 编译过程概述
1. 3 编译程序的结构
1. 3. 1 编译程序总框
1. 3. 2 表格与表格管理
1. 3. 3 出错处理
1. 3. 4 遍
1. 3. 5 编译前端与后端
1. 4 编译程序与程序设计环境
1. 5 编译程序的生成
第二章 高级语言及其语法描述
2. 1 程序语言的定义
2. 1. 1 语 法
2. 1. 2 语 义
2. 2 高级语言的一般特性
2. 2. 1 高级语言的分类
2. 2. 2 程序结构
2. 2. 3 数据类型与操作
2. 2. 4 语句与控制结构
2. 3 程序语言的语法描述
2. 3. 1 上下文无关文法
2. 3. 2 语法分析树与二义性
2. 3. 3 形式语言鸟瞰
练 习
第三章 词法分析
3. 1 对于词法分析器的要求
3. 1. 1 词法分析器的功能和输出形式
3. 1. 2 词法分析器作为一个独立子程序
3. 2 词法分析器的设计
3. 2. 1 输入. 预处理
3. 2. 2 单词符号的识别:超前搜索
3. 2. 3 状态转换图
3. 2. 4 状态转换图的实现
3. 3 正规表达式与有限自动机
3. 3. 1 正规式与正规集
3. 3. 2 确定有限自动机(DFA)
3. 3. 3 非确定有限自动机(NFA)
3. 3. 4 正规文法与有限自动机的等价性
3. 3. 5 正规式与有限自动机的等价性
3. 3. 6 确定有限自动机的化简
3. 4 词法分析器的自动产生
3. 4. 1 语言LEX的一般描述
3. 4. 2 超前搜索
3. 4. 3 LEX的实现
练 习
第四章 语法分析--自上而下分析
4. 1 语法分析器的功能
4. 2 自上而下分析面临的问题
4. 3 LL(1)分析法
4. 3. 1 左递归的消除
4. 3. 2 消除回溯. 提左因子
4. 3. 3 LL(1)分析条件
4. 4 递归下降分析程序构造
4. 5 预测分析程序
4. 5. 1 预测分析程序工作过程
4. 5. 2 预测分析表的构造
4. 6 LL(1)分析中的错误处理
练 习
第五章 语法分析--自下而上分析
5. 1 自下而上分析基本问题
5. 1. 1 归约
5. 1. 2 规范归约简述
5. 1. 3 符号栈的使用与语法树的表示
5. 2 算符优先分析
5. 2. I 算符优先文法及优先表构造
5. 2. 2 算符优先分析算法
5. 2. 3 优先函数
5. 2. 4 算符优先分析中的出错处理
5. 3 LR分析法
5. 3. 1 顺分析器
5. 3. 2 LR(0)项目集族和LR(0)分析表的构造
5. 3. 3 SLR分析表的构造
5. 3. 4 规范LR分析表的构造
5. 3. 5 LALR分析表的构造
5. 3. 6 二义文法的应用
5. 3. 7 LR分析中的出错处理
5. 4 语法分析器的自动产生工具YACC
练 习
第六章 属性文法和语法制导翻译
6. 1 属性文法
6. 2 基于属性文法的处理方法
6. 2. 1 依赖图
6. 2. 2 树遍历的属性计算方法
6. 2. 3 一遍扫描的处理方法
6. 2. 4 抽象语法树
6. 3 S-属性文法的自下而上计算
6. 4 L-属性文法和自顶向下翻译
6. 4. 1 翻译模式
6. 4. 2 自顶向下翻译
6. 4. 3 递归下降翻译器的设计
6. 5 自下而上计算继承属性
6. 5. 1 从翻译模式中去掉嵌入在产生式中间的动作
6. 5. 2 分析栈中的继承属性
6. 5. 3 模拟继承属性的计算
6. 5. 4 用综合属性代替继承属性
练 习
第七章 语义分析和中间代码产生
7. 1 中间语言
7. 1. 1 后缀式
7. 1. 2 图表示法
7. 1. 3 三地址代码
7. 2 说明语句
7. 2. 1 过程中的说明语句
7. 2. 2 保留作用域信息
7. 2. 3 记录中的域名
7. 3 赋值语句的翻译
7. 3. 1 简单算术表达式及赋值语句
7. 3. 2 数组元素的引用
7. 3. 3 记录中域的引用
7. 4 布尔表达式的翻译
7. 4. 1 数值表示法
7. 4. 2 作为条件控制的布尔式翻译
7. 5 控制语句的翻译
7. 5. 1 控制流语句
7. 5. 2 标号与goto语句
7. 5. 3 CASE语句的翻译
7. 6 过程调用的处理
7. 7 类型检查
7. 7. 1 类型系统
7. 7. 2 类型检查器的规格说明
7. 7. 3 函数和运算符的重载
7. 7. 4 多态函数
练 习
第八章 符号表
8. 1 符号表的组织与作用
8. 1. 1 符号表的作用
8. 1. 2 符号表的组织方式
8. 2 整理与查找
8. 2. 1 线性表
8. 2. 2 对折查找与二叉树
8. 2. 3 杂凑技术
8. 3 名字的作用范围
8. 3. 1 则佃州的符号表组织
8. 3. 2 Pascal的符号表组织
8. 4 符号表的内容
练 习
第九章 运行时存储空间组织
9. 1 目标程序运行时的活动
9. 1. 1 过程的活动
9. 1. 2 参数传递
9. 2 运行时存储器的划分
9. 2. 1 运行时存储器的划分
9. 2. 2 活动记录
9. 2. 3 存储分配策略
9. 3 静态存储分配
9. 3. 1 数据区
*9. 3. 2 公用语句的处理
*9. 3. 3 等价语句的处理
*9. 3. 4 地址分配
9. 3. 5 临时变量的地址分配
9. 4 简单的栈式存储分配
9. 4. 1 C的活动记录
9. 4. 2 C的过程调用. 过程进入. 数组空间分配和过程返回
9. 5 嵌套过程语言的栈式实现
9. 5. 1 非局部名字的访问的实现
9. 5. 2 参数传递的实现
9. 6 堆式动态存储分配
9. 6. 1 堆式动态存储分配的实现
9. 6. 2 隐式存储回收
练 习
第十章 优化
10. 1 概 述
10. 2 局部优化
10. 2. 1 基本块及流图
10. 2. 2 基本块的DAG表示及其应用
10. 3 循环优化
10. 3. 1 代码外提
10. 3. 2 强度削弱
10. 3. 3 删除归纳变量
*10. 4 数据流分析
10. 4. 1 任意路径数据流分析
10. 4. 2 全路径数据流分析
10. 4. 3 数据流问题的分类
10. 4. 4 其它主要的数据流问题
10. 4. 5 利用数据流信息进行全局优化
练 习
第十一章 目标代码生成
11. 1 基本问题
11. 2 目标机器模型
11. 3 一个简单的代码生成器
11. 3. 1 待用信息
11. 3. 2 寄存器描述和地址描述
11. 3. 3 代码生成算法
11. 4 寄存器分配
11. 5 DAG的目标代码
11. 6 窥孔优化
练 习
第十二章 并行编译基础
12. 1 并行计算机及其编译系统
12. 1. 1 向量计算机
12. 1. 2 共享存储器多处理机
12. 1. 3 分布存储器大规模并行计算机
12. 1. 4 并行编译系统的结构
12. 2 基本概念
12. 2. 1 向量与向量的次序
12. 2. 2 循环模型与索引空间
12. 2. 3 输入与输出集合
12. 2. 4 语句的执行顺序
12. 3 依赖关系
12. 3. 1 依赖关系定义
12. 3. 2 语句依赖图
12. 3. 3 依赖距离. 依赖方向与依赖层次
12. 4 依赖关系问题
12. 5 依赖关系测试
12. 6 循环的向量化与并行化
12. 7 循环变换技术
练 习
参考文献
猜您喜欢