第一图书网

编译器构造

Charles N. Fischer,Ron K. Cytron,Richard J. LeBlanc Jr. 清华大学出版社
出版时间:

2012-5  

出版社:

清华大学出版社  

作者:

Charles N. Fischer,Ron K. Cytron,Richard J. LeBlanc Jr.  

页数:

444  

译者:

郭耀  

Tag标签:

无  

内容概要

  《世界著名计算机教材精选:编译器构造》是一本面向计算机系本科生的编译器教材。作者在三所美国大学拥有长达25年的编译器教学经验,在本书中对编译器构造的基本知识与关键技术进行了全新的讲解。本书的主要内容包括:编译器历史和概述、词法分析(扫描)、语法分析(包括自顶向下和自底向上的分析)、语法制导翻译、符号表和声明处理、语义分析、中间表示形式、虚拟机上的代码生成、运行时支持、目标代码生成和程序优化等。  本书提供了详尽清晰的算法,主推在实践中学习编译器构造的相关技术,同时提供了配合教材使用的教学网站、参考资料以及源码下载。本书不仅可以作为计算机专业本科生或研究生的参考教材,同时也适合相关领域的软件工程师、系统分析师等作为参考资料。

作者简介

作者:(美国)费希尔(Charles N. Fischer) (美国)赛特朗(Ronald K. Cytron) (美国)莱比兰克(Richard J. LeBlanc Jr.) 译者:郭耀 等

书籍目录

第1章 概述1.1 编译的历史1.2 编译器可以做什么1.2.1 编译器生成的机器代码1.2.2 目标代码格式1.3 解释器1.4 语法和语义1.4.1 静态语义1.4.2 运行时语义1.5 编译器的组织结构1.5.1 扫描器1.5.2 分析器1.5.3 类型检查器(语义分析)1.5.4 翻译器(程序综合)1.5.5 符号表1.5.6 优化器1.5.7 代码生成器1.5.8 编译器开发工具1.6 程序设计语言和编译器设计1.7 计算机体系结构和编译器设计1.8 编译器设计的考虑事项1.8.1 调试(开发)编译器1.8.2 优化编译器1.8.3 可重定向编译器1.9 集成开发环境练习第2章 一个简单的编译器第3章 扫描--理论和实践第4章 文法和分析第5章 自顶向下分析第6章 自底向上分析第7章 语法制导翻译第8章 符号表和声明处理第9章 语义分析第10章 中间表示形式第11章 面向虚拟机的代码生成第12章 运行时支持第13章 目标代码生成第14章 程序优化参考文献缩略语

章节摘录

版权页: 插图: 1.5.2 分析器 分析器(parser)的基础是像上下文无关文法这样的形式化语法规范。它读入词法单元,并把它们按照语法规范组织成短语(phrase)。第2章和第4章讲解文法(grammar),第5章和第6章会讲解语法分析。分析器通常是由用分析器生成工具(parser generator)从上下文无关文法所创建的分析表来驱动的。 分析器检查语法的正确性。如果找到语法错误的话,那么它会提交合适的错误消息。同样,它也可以修正错误(从而得到语法上合法的程序),或者从错误中恢复(允许分析继续执行下去)。在许多情况下,语法错误恢复或修正可以通过对分析器生成工具所创建的结构中的信息的检查来自动完成。 在识别了语法结构之后,分析器通常会构建一个抽象语法树,作为程序结构的一种简洁表示。随后抽象语法树会作为语义处理的基础。抽象语法树会在第2章和第7章中进行讲解。 1.5.3类型检查器(语义分析) 类型检查器检查每个抽象语法树结点的静态语义(static semantics),也就是说,它会验证该结点所代表的结构是合法和有意义的(例如,所有用到的标识符都有声明,类型都是正确的,以此类推)。如果一个结构在语义上是正确的,那么类型检查器会在该抽象语法树结点上添加附加的类型信息。如果发现了语义错误,那么就会触发一个相应的错误消息。 类型检查完全依赖于源语言的语义规则,它和编译器的目标机器是无关的。 1.5.4翻译器(程序综合) 如果一个抽象语法树结点在语义上是正确的,那么它就可以被翻译成正确实现该语法树结点含义的中间表示代码。例如,while循环的抽象语法树会包含两棵子树,一棵子树表示循环判断的表达式,另外一棵子树表示循环体。然而,在抽象语法树中并不存在任何结点显式地捕获while循环所对应的循环概念。这个含义只有当while循环的抽象语法树被翻译为中间表示形式时才会被捕获。在中间表示形式中,会显式地给出对循环控制表达式的值进行测试,以及有条件地执行该循环体的概念。


编辑推荐

《世界著名计算机教材精选:编译器构造》提供了详尽清晰的算法,主推在实践中学习编译器构造的相关技术,同时提供了配合教材使用的教学网站、参考资料以及源码下载。《世界著名计算机教材精选:编译器构造》不仅可以作为计算机专业本科生或研究生的参考教材,同时也适合相关领域的软件工程师、系统分析师等作为参考资料。

图书封面

图书标签Tags

广告

下载页面


编译器构造 PDF格式下载



相关图书