图书信息
图书目录

编译程序的设计与实现(附光盘)



  编译程序是计算机系统不可缺少的部分,是程序设计者的必备工具。学习并掌握编译程序的构造原理和实现技术,能够增强对程序设计语言的理解,提高程序设计、尤其是大型软件的设计能力。
  本教材以一个简单的具有嵌套过程定义的过程式语言SNL作为教学语言,详细介绍了该语言编译程序的设计和实现方法,并对已经实现的编译程序的源代码分阶段进行了详细的分析,尤其是对编译程序的组成、实现算法、所用数据结构以及各功能部分所采用的编译技术都做了详细的介绍,并配有相应的框图说明。学生在学习“编译原理”课程的同时,可以配合本教材中编译实例的分析,进一步理解和掌握编译程序的构造原理和实现方法。此外,随书发行的光盘中含有SNLC(SNL编译程序)的安装程序、SNLC的源代码以及SNL源程序实例。学生可阅读其中的编译程序源代码,并根据需要对源代码进行改进,从而达到加深对编译原理的理解、提高程序设计能力的目的。
  本教材是一本非常实用的编译程序实例分析和教学辅导教材,可作为高等院校计算机及相关专业的本科教材,也可供相关技术人员参考。


作者:
刘磊、金英等

定价:
29.00 元

出版时间:
2004-06-30

ISBN:
978-7-04-014620-2

物料号:
14620-00

读者对象:
高等教育

一级分类:
计算机/教育技术类

二级分类:
计算机类专业核心课程

三级分类:
编译原理

重点项目:
暂无

版面字数:
380千字

开本:
16开

装帧形式:
平装

页数:
326

最新
印次时间:
2007年01月
  • 目录
    • 第一章 编译原理概述
      • 1.1 高级程序设计语言的实现
        • 1.2 编译程序的组成
          • 1.3 编译程序的实现
            • 1.4 其他相关程序
            • 第二章 SNL介绍
              • 2.1 SNL的特点
                • 2.2 SNL的词法
                  • 2.2.1 语言的字符表
                    • 2.2.2 单词的巴科斯范式
                    • 2.3 SNL的语法
                      • 2.3.1 语法的非形式说明
                        • 2.3.2 语法的形式定义
                        • 2.4 SNL的语义
                          • 习题二
                          • 第三章 SNL编译程序简介
                            • 3.1 SNL编译程序功能结构
                              • 3.2 SNL编译程序的开发环境
                                • 3.3 SNL编译程序包
                                  • 3.4 SNL编译程序的主程序说明
                                  • 第四章 SNL的词法分析
                                    • 4.1 词法分析简介
                                      • 4.1.1 单词的分类
                                        • 4.1.2 单词的TOKEN表示
                                          • 4.1.3 词法分析程序和语法分析程序的接口
                                          • 4.2 DFA的构造和实现
                                            • 4.2.1 状态转换图
                                              • 4.2.2 状态转换图的实现
                                              • 4.3 词法分析程序的实现
                                                • 4.3.1 词法分析程序的输入/输出
                                                  • 4.3.2 实现词法分析程序的注意事项
                                                    • 4.3.3 词法分析程序的实现框图
                                                    • 4.4 词法分析程序的自动生成器
                                                      • 4.4.1 LEX/FLEX简介
                                                        • 4.4.2 LEX运行与应用过程
                                                          • 4.4.3 LEX源程序结构
                                                            • 4.4.4 应用LEX构造词法分析程序
                                                            • 习题四
                                                            • 第五章 SNL的语法分析
                                                              • 5.1 语法分析概述
                                                                • 5.1.1 上下文无关文法
                                                                  • 5.1.2 语法分析方法的分类
                                                                    • 5.1.3 3个重要集合
                                                                      • 5.1.4 SNL的Predict集
                                                                      • 5.2 语法分析程序的实现
                                                                        • 5.2.1 语法分析程序的输入/输出
                                                                          • 5.2.2 语法树节点的数据结构
                                                                          • 5.3 递归下降法的实现
                                                                            • 5.3.1 递归下降法基本原理
                                                                              • 5.3.2 递归下降法应满足的条件
                                                                                • 5.3.3 递归下降法的语法分析程序框图
                                                                                • 5.4 LL(1)语法分析方法的实现
                                                                                  • 5.4.1 LL(1)语法分析方法的基本原理
                                                                                    • 5.4.2 SNL的LL(1)语法分析概述
                                                                                      • 5.4.3 LL(1)语法分析程序框图
                                                                                      • 5.5 语法分析程序的自动生成器
                                                                                        • 5.5.1 YACC/Bison
                                                                                          • 5.5.2 ACCENT
                                                                                          • 习题五
                                                                                          • 第六章 符号表管理与语义分析
                                                                                            • 6.1 语义分析概述
                                                                                              • 6.2 符号表管理
                                                                                                • 6.2.1 符号表的内容
                                                                                                  • 6.2.2 符号表的组织
                                                                                                    • 6.2.3 符号表的操作
                                                                                                      • 6.2.4 符号表的实现
                                                                                                      • 6.3 语义分析实现
                                                                                                        • 6.3.1 输入/输出
                                                                                                          • 6.3.2 算法框图
                                                                                                          • 习题六
                                                                                                          • 第七章 中间代码生成
                                                                                                            • 7.1 中间代码简介
                                                                                                              • 7.1.1 中间代码的表示形式
                                                                                                                • 7.1.2 中间代码的生成方法
                                                                                                                • 7.2 SNL的中间语言
                                                                                                                  • 7.3 SNL的中间代码生成
                                                                                                                    • 7.3.1 输入/输出
                                                                                                                      • 7.3.2 中间代码的构造方法
                                                                                                                        • 7.3.3 从语法树生成四元式
                                                                                                                          • 7.3.4 相关的应用函数
                                                                                                                            • 7.3.5 中间代码生成程序说明
                                                                                                                            • 习题七
                                                                                                                            • 第八章 中间代码优化
                                                                                                                              • 8.1 中间代码优化简介
                                                                                                                                • 8.1.1 优化种类介绍
                                                                                                                                  • 8.1.2 基本块的划分
                                                                                                                                  • 8.2 常量表达式优化
                                                                                                                                    • 8.2.1 常量表达式优化的原理
                                                                                                                                      • 8.2.2 常量表达式节省的实现
                                                                                                                                      • 8.3 公共表达式节省方法
                                                                                                                                        • 8.3.1 公共表达式优化原理
                                                                                                                                          • 8.3.2 公共表达式节省的实现
                                                                                                                                          • 8.4 循环不变式外提
                                                                                                                                            • 8.4.1 循环不变式外提的原理
                                                                                                                                              • 8.4.2 循环外提的实现
                                                                                                                                              • 习题八
                                                                                                                                              • 第九章 SNL的目标代码生成
                                                                                                                                                • 9.1 虚拟目标机TM
                                                                                                                                                  • 9.1.1 TM的寄存器和存储器
                                                                                                                                                    • 9.1.2 TM的地址模式和指令集
                                                                                                                                                    • 9.2 编译程序中运行时存储空间管理
                                                                                                                                                      • 9.2.1 存储空间结构
                                                                                                                                                        • 9.2.2 过程活动记录
                                                                                                                                                          • 9.2.3 动态链
                                                                                                                                                          • 9.3 语法树到目标代码的生成
                                                                                                                                                            • 9.3.1 原理
                                                                                                                                                              • 9.3.2 框图
                                                                                                                                                              • 9.4 四元式到目标代码的生成
                                                                                                                                                                • 9.4.1 原理
                                                                                                                                                                  • 9.4.2 四元式到目标代码生成中的关键问题
                                                                                                                                                                    • 9.4.3 程序框图
                                                                                                                                                                    • 习题九
                                                                                                                                                                    • 第十章 虚拟目标代码的解释程序
                                                                                                                                                                      • 10.1 解释程序
                                                                                                                                                                        • 10.2 虚拟目标机TM的可执行命令
                                                                                                                                                                          • 10.3 解释程序的实现
                                                                                                                                                                            • 习题十
                                                                                                                                                                            • 第十一章 实践课题
                                                                                                                                                                              • 11.1 语言的扩充和实现
                                                                                                                                                                                • 11.2 实现方法的扩充
                                                                                                                                                                                  • 11.3 应用自动生成工具
                                                                                                                                                                                    • 11.4 实现语言
                                                                                                                                                                                    • 第十二章 SNLC软件使用指南
                                                                                                                                                                                      • 12.1 SNLC概述
                                                                                                                                                                                        • 12.1.1 SNLC的特色
                                                                                                                                                                                          • 12.1.2 SNLC的运行环境
                                                                                                                                                                                            • 12.1.3 SNLC的安装和卸载
                                                                                                                                                                                              • 12.1.4 SNLC的启动和退出
                                                                                                                                                                                              • 12.2 SNLC的使用
                                                                                                                                                                                                • 12.2.1 SNL文件的操作
                                                                                                                                                                                                  • 12.2.2 SNL程序的词法分析
                                                                                                                                                                                                    • 12.2.3 SNL程序的语法分析
                                                                                                                                                                                                      • 12.2.4 SNL程序的语义分析
                                                                                                                                                                                                        • 12.2.5 SNL程序的中间代码生成
                                                                                                                                                                                                          • 12.2.6 SNL程序的优化
                                                                                                                                                                                                            • 12.2.7 SNL程序的目标代码生成
                                                                                                                                                                                                              • 12.2.8 SNL程序的虚拟执行
                                                                                                                                                                                                              • 12.3 有关问题的说明
                                                                                                                                                                                                                • 12.3.1 SNLC的维护和出错处理
                                                                                                                                                                                                                  • 12.3.2 SNLC的帮助功能
                                                                                                                                                                                                                • 参考文献
                                                                                                                                                                                                                1