





定价:28元
印次:1-1
ISBN:9787302188650
出版日期:2008.12.01
印刷日期:2008.12.19
图书责编:王军
图书分类:教材
本书是作者多年来在编译器领域中钻研、教学的成果,并以在该学科领域与学生的交流以及他们的反馈和研究作为 依据。本书全面介绍了编译器设计中的原理和技术,阐述了编译领域中的难点,并详细描述了编译器设计的各个阶段。 因为编译器的设计过程是将自动机理论、数据结构、算法、计算机体系结构和操作系统等领域知识进行综合的过 程,所以编译器设计者必须要有较好的计算机科学理论的背景。本书详细描述了各种类型的解析器,从最简单的递归 下降和LL解析器到复杂的LR、规范LR和LALR解析器,尤其强调了LR解析器。 本书主要用于计算机科学专业的本科生和研究生一个学期的教材,该书也可供专业人员作为参考书。
本书源于笔者多年来对编译器的学习和教学经验,并以在该学科领域与学生的交流以及他们的反馈和研究作为依据。编译器的设计过程是将自动机理论、数据结构、算法、计算机体系机构和操作系统等领域知识进行综合的过程。编译器设计者必须要有较好的计算机科学理论的背景。同时,还应能掌握各种可用的软硬件平台。因此,任何编译器的书籍都应强调这些领域的作用,并向读者介绍编译领域中的难点和技术。同时,书籍应足够精炼,以便能在一个学期内完成课程。另外,还需要介绍编译器设计中各种可用的工具。本书涵盖了编译器中所有应掌握的主题,一共分为9章。 第1章介绍了编译器及其应用,并着重介绍了大量的应用领域,以使读者能理解该领域的范围。然后介绍了编译器的各个阶段,列举了各个阶段的任务。依据机器中软/硬件的功能和用户的需求,详细介绍了编译器设计的难点。本章以一个示例结束。 第2章展示了编译器中词法分析阶段的理论和设计。在介绍完正式的表示法如正则表达式、非确定和确定的有限自动机后,本书详细描述了使用正则表达式开始表示语言中单词规范的方式,并依据正则表达式构造识别器来标识输入流中语言的合法单词。最后,介绍了轻松生成词法分析器的自动化工具—— Lex。 第3章介绍了语法分析。首先明确了在指定的语言中文法的作用、文法的符号约定以及相关定义。本章详细描述了各种不同类型的解析器,首先介绍了最简单的自上而下分析,如递归下降和LL。然后介绍了先进的自下而上分析,如LR、规范LR和LALR。因为大多数编译器使用LR解析器,所以主要强调了LR分析,并介绍了工具yacc,用于自动生成LALR解析器。本章最后介绍了使用解析器来...
1.1 编译器的定义 1
1.2 编译器应用 2
1.3 编译器的各个阶段 3
1.4 编译器设计的难点 7
1.5 编译过程—— 示例 9
1.6 小结 11
练习 11
第2章 词法分析 13
2.1 词法分析器的任务 13
2.2 记号的规范 14
2.3 记号识别 15
2.3.1 不确定的有限自动机 17
2.3.2 确定的有限自动机 17
2.3.3 NFA到DFA的转换 20
2.4 NFA的正则表达式 22
2.5 词法分析的工具—— Lex 25
2.6 小结 33
练习 33
第3章 语法分析 35
3.1 解析器的功能 35
3.2 错误处理 36
3.3 文法 37
3.3.1 符号约定 38
3.3.2 推导 39
3.3.3 二义性 40
3.3.4 左递归 42
3.4 自上而下的分析 43
3.4.1 递归下降分析 43
3.4.2 递归的预测分析 46
3.4.3 非递归的预测分析
—— LL(k)分析 49
3.5 自下而上的分析 53
3.5.1 算符优先的分析 56
3.5.2 建立优先关系 57
3.5.3 错误恢复 60
3.6 LR分析 60
3.6.1 LR分析方法 60
3.6.2 LR分析算法 61
3.6.3 ...