书籍详情
编译程序的设计与实现
作者:刘磊等编著
出版社:高等教育出版社
出版时间:2004-07-01
ISBN:9787040146202
定价:¥29.00
购买这本书可以去
内容简介
编译程序是计算机系统不可缺少的部分,是程序设计者的必备工具。学习并掌握编译程序的构造原理和实现技术,能够增强对程序设计语言的理解,提高程序设计、尤其是大型软件的设计能力。本教材以一个简单的具有嵌套过程定义的过程式语言SNL作为教学语言,详细介绍了该语言编译程序的设计和实现方法,并对已经实现的编译程序的源代码分阶段进行了详细的分析,尤其是对编译程序的组成、实现算法、所用数据结构以及各功能部分所采用的编译技术都做了详细的介绍,并配有相应的框图说明。学生在学习“编译原理”课程的同时,可以配合本教材中编译实例的分析,进一步理解和掌握编译程序的构造原理和实现方法。此外,随书发行的光盘中含有SNLC(SNL编译程序)的安装程序、SNLC的源代码以及SNL源程序实例。学生可阅读其中的编译程序源代码,并根据需要对源代码进行改进,从而达到加深对编译原理的理解、提高程序设计能力的目的。本教材是一本非常实用的编译程序实例分析和教学辅导教材,可作为高等院校计算机及相关专业的本科教材,也可供相关技术人员参考。
作者简介
暂缺《编译程序的设计与实现》作者简介
目录
目录第一章编译原理概述1.1高级程序设计语言的实现1.2编译程序的组成1.3编译程序的实现1.4其他相关程序第二章SNL介绍2.1SNL的特点2.2SNL的词法2.2.1语言的字符表2.2.2单词的巴科斯范式2.3SNL的语法2.3.1语法的非形式说明2.3.2语法的形式定义2.4SNL的语义习题二第三章SNL编译程序简介3.1SNL编译程序功能结构3.2SNL编译程序的开发环境3.3SNL编译程序包3.4SNL编译程序的主程序说明第四章SNL的词法分析4.1词法分析简介4.1.1单词的分类4.1.2单词的TOKEN表示4.1.3词法分析程序和语法分析程序的接口4.2DFA的构造和实现4.2.1状态转换图4.2.2状态转换图的实现4.3词法分析程序的实现4.3.1词法分析程序的输入/输出4.3.2实现词法分析程序的注意事项4.3.3词法分析程序的实现框图4.4词法分析程序的自动生成器4.4.1LEX/FLEX简介4.4.2LEX运行与应用过程4.4.3LEX源程序结构4.4.4应用LEX构造词法分析程序习题四第五章SNL的语法分析5.1语法分析概述5.1.1上下文无关文法5.1.2语法分析方法的分类5.1.33个重要集合5.1.4SNL的Predict集5.2语法分析程序的实现5.2.1语法分析程序的输入/输出5.2.2语法树节点的数据结构5.3递归下降法的实现5.3.1递归下降法基本原理5.3.2递归下降法应满足的条件5.3.3递归下降法的语法分析程序框图5.4LL(1)语法分析方法的实现5.4.1LL(1)语法分析方法的基本原理5.4.2SNL的LL(1)语法分析概述5.4.3LL(1)语法分析程序框图5.5语法分析程序的自动生成器5.5.1YACC/Bison5.5.2ACCENT习题五第六章符号表管理与语义分析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.2SNL的中间语言7.3SNL的中间代码生成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虚拟目标机TM9.1.1TM的寄存器和存储器9.1.2TM的地址模式和指令集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.1SNLC概述12.1.1SNLC的特色12.1.2SNLC的运行环境12.1.3SNLC的安装和卸载12.1.4SNLC的启动和退出12.2SNLC的使用12.2.1SNL文件的操作12.2.2SNL程序的词法分析12.2.3SNL程序的语法分析12.2.4SNL程序的语义分析12.2.5SNL程序的中间代码生成12.2.6SNL程序的优化12.2.7SNL程序的目标代码生成12.2.8SNL程序的虚拟执行12.3有关问题的说明12.3.1SNLC的维护和出错处理12.3.2SNLC的帮助功能参考文献
猜您喜欢