内容介绍
用户评论
全部咨询
内容提要
本书较全面系统地介绍了编译程序构造的主要技术、实现方法以及必备的基本理论知识.
全书共分二十一章.前七章讲述编译程序的有关概念、形式语言理论、扫描程序以及各种语法分析方法.随后九章介绍运行时存贮的组织、各种符号表、源程序的内部形式、语义程序、变量的存贮分配、错误校正以及解释程序等内容.最后五章进一步讨论了代码生成、代码优化、宏功能的实现以及编写编译程序的系统,并对建立编译程序时所应考虑的问题给出了若干扼要提示.
本书可供计算机软件工作者及有关专业人员学习参考之用.(为了方便读者,此次印刷将原来的上、中、下三册合为一册出版.)
目录
- 中译本再版前言
序言
第一章 引言
1.1 编译程序、汇编程序、解释程序
1.2 编译过程概述
1.3 编译程序构造的一些例子
第二章 文法和语言
2.1 文法的讨论
2.2 符号和符号串
2.3 文法和语言的形式定义
2.4 语法树和二义性
2.5 句型的分析问题
2.6 有关文法的一些关系
2.7 构造关系的传递闭包
2.8 有关文法的实用限制
2.9 其它的语法表示方法
2.10 形式语言理论概观及其参考资料
2.11 总的回顾
第三章 扫描程序
3.1 引言
3.2 正则表达式和有穷状态自动机
3.3 编写扫描程序
3.4 扫描程序的构造程序
3.5 AED RWORD系统
3.6 历史概述
第四章 自顶向下识别算法
4.1 带回溯的自顶向下识别算法
4.2 自顶向下分析算法中的问题及其解决办法
4.3 递归子程序方法
4.4 历史概述
第五章 简单优先文法
5.1 优先关系及其应用
5.2 优先关系的定义和构造
5.3 分析算法
5.4 优先函数
5.5 构造优先文法的困难
5.6 历史概述
第六章 其它自底向上识别算法
6.1 算符优先文法
6.2 高阶优先文法
6.3 限界上下文文法
6.4 转换矩阵
6.5 历史概述
第七章 产生式语言
7.1 产生式语言
7.2 使用PL
7.3 调用语义程序
7.4 历史概述
第八章 运行时的存贮组织
8.1 数据区和区头向量
8.2 属性单元
8.3 基本数据类型的存贮分配
整型变量
实型变量
逻辑变量
指示字变量
8.4 数组的存贮分配
向量
矩阵
多维数组
内情向量
8.5 字符串的存贮分配
8.6 结构的存贮分配
Hoare记录
PL/1结构
Standish数据结构
8.7 实在参数与形式参数之间的对应
引用调用
值调用
结果调用
哑变元
名字调用
数组名字和过程名字作实在参数用
8.8 FORTRAN存贮管理
8.9 ALGOL存贮管理
8.10 动态存贮分配
8.11 历史概述
第九章 组织各种符号表
9.1 关于表的组织
9.2 不加整理的表和加以整理的表
9.3 散列地址编码
再散列
拉链
散列函数
9.4 树结构的符号表
9.5 分程序结构的符号表
基本组织
分程序表
开和闭的分程序
登入和查找
9.6 历史概述
第十章 符号表中的数据
10.1 描述信息
10.2 结构分量的描述信息
第十一章 源程序的内部形式
11.1 运算符和运算对象
11.2 波兰表示
11.3 四元组
11.4 三元组,树和间接三元组
11.5 基本块
11.6 历史概述
第十二章 介绍语义程序
12.1 翻译中缀形式为波兰表示
12.2 翻译中缀形式为四元组
12.3 实现语义程序和栈
12.4 采用自顶向下句法分析方法的语义处理
12.5 历史概述
第十三章 类似ALGOL结构的语义程序
13.1 语义程序的表示方式
13.2 条件语句
13.3 标号和转移
13.4 变量和表达式
13.5 循环语句
13.6 布尔表达式优化
自底向上和自顶向下方法
第十四章 运行时变量的存贮分配
14.1 分配变量的地址
14.2 对临时变量分配存贮
14.3 公用变量和等价变量
第十五章 错误校正
15.1 引言
15.2 校正语义错误
15.3 校正语法错误
第十六章 解释程序
第十七章 代码生成
17.1 引言
17.2 对简单算术表达式生成代码
17.3 运算对象用地址表示
17.4 把代码生成扩充到其他四元组类型
17.5 紧缩的代码生成
17.6 结果模块
第十八章 代码优化
18.1 基本块内的优化
18.2 适中的循环优化
18.3 更有效的优化
18.4 讨论和历史概述
第十九章 宏功能的实现
19.1 简单的宏功能方案
19.2 其他一些宏功能的特征
19.3 通用宏功能生成程序(GPM)
19.4 历史概述
第二十章 编写翻译程序的系统
20.1 引言
20.2 考察两个编译程序的编译程序
第二十一章 对编译程序编写者的一些提示
附录 本书所用的程序设计语言
参考资料
译者的话