打开主菜单

求真百科

编译器设计

编译器设计

《编译器设计(第2版)》是编译器设计领域的经典著作,主要从以下四部分详解了编译器的设计过程。第一部分涵盖编译器前端设计和建立前端所用工具的设计和构建;第二部分探讨从源代码到编译器中间形式的映射,考察前端为优化器和后端所生成代码的种类;第三部分介绍代码优化,同时包含对分析和转换的进一步处理;第四部分专门讲解编译器后端使用的算法。 《编译器设计(第2版)》适合作为高等院校计算机专业本科生和研究生编译课程的教材和参考书,也可供相关技术人员参考。

目录

图书信息

书名:编译器设计

出版社: 清华大学出版社; 第1版 (2009年1月1日)

丛书名: 国外计算机科学经典教材

平装: 196页

正文语种: 简体中文

开本: 16

ISBN: 9787302188650

条形码: 9787302188650

尺寸: 22.8 x 18 x 1.2 cm

重量: 322 g

作者简介

作者:(印度)查托帕答雅 (Santanu chattopadhyay) 译者:徐骁栋 王海涛

santanu Chattopadhy拥有计算机科学与工程专业博士学位,目前是fEEE(USA)会员,IIT Kha ragpur工学院的电子和电子通信工程系的副教授,曾担任过IIT Guwahati学院的计算机科学与工程系的副教授。Chattopadhyay博士在IEEETransactions on computers、Transaction on CAD等国际期刊上发表了60多篇研究论文,曾协助完成了很多国际会议委员会的项目,其主要兴趣在于编译器、VLSf电路设计和测试学。

内容简介

《编译器设计》是作者多年来在编译器领域中钻研、教学的成果,并以在该学科领域与学生的交流以及他们的反馈和研究作为依据。《编译器设计》全面介绍了编译器设计中的原理和技术,阐述了编译领域中的难点,并详细描述了编译器设计的各个阶段。

因为编译器的设计过程是将自动机理论、数据结构、算法、计算机体系结构和操作系统等领域知识进行综合的过程,所以编译器设计者必须要有较好的计算机科学理论的背景。《编译器设计》详细描述了各种类型的解析器,从最简单的递归下降和LL解析器到复杂的LR、规范LR和LALR解析器。

目录

第1章 引言

1.1 编译器的定义

1.2 编译器应用

1.3 编译器的各个阶段

1.4 编译器设计的难点

1.5 编译过程——示例

1.6 小结

练习

第2章 词法分析

2.1 词法分析器的任务

2.2 记号的规范

2.3 记号识别

2.3.1 不确定的有限自动机

2.3.2 确定的有限自动机

2.3.3 NFA到DFA的转换

2.4 NFA的正则表达式

2.5 词法分析的工具——Lex

2.6 小结

练习

第3章 语法分析

3.1 解析器的功能

3.2 错误处理

3.3 文法

3.3.1 符号约定

3.3.2 推导

3.3.3 二义性

3.3.4 左递归

3.4 自上而下的分析

3.4.1 递归下降分析

3.4.2 递归的预测分析

3.4.3 非递归的预测分析——LL(k)分析

3.5 自下而上的分析

3.5.1 算符优先的分析

3.5.2 建立优先关系

3.5.3 错误恢复

3.6 LR分析

3.6.1 LR分析方法

3.6.2 LR分析算法

3.6.3 构造LR分析表

3.6.4 处理LR分析的二义性

3.6.5 LR分析中的错误恢复

3.7 LALR解析器的生成器——yacc

3.8 语法制导翻译

3.9 小结

练习

第4章 类型检查

4.1 静态和动态检查的比较

……

第5章 符号表

第6章 运行时环境管理

第7章 中间代码生成

第8章 目标代码生成

第9章 代码优化

推荐

深入剖析现代编译器运用的算法和技术。强调代码优化和代码生成。体现编译原理教学的最新理念

媒体推荐

“编译器是一个内容丰富的研究领域,将整个计算机科学融汇在一个优雅的构造中。Cooper和Torczon的这本书很受欢迎,可以指导读者轻松学习编译器这种软件系统,新版增加了两位作者的一些设计经验,并明确指出了许多必须注意的细节,同时又不忘强调设计的大局观。对任何不熟悉编译器的人来说,本书都是不可多得的参考手册。”

——Michael D. Smith,哈佛大学文理学院院长,

工程与应用科学John H. Finley Jr.讲席教授

“本书是构建现代优化编译器的最佳指南。作者汲取了编译器构建领域大量的经验,以帮助学生掌握整体设计思路,同时引导学生了解构建有效的优化编译器所必需的许多重要而微妙的细节。尤其值得一提的是,在我读过的书中,本书对静态单赋值形式的阐述最为清晰。”

——Jeffery von Ronne,得克萨斯大学圣安东尼奥分校计算机科学系助理教授

“本书采用了更常规且一致的结构,还包含大量辅助教学的内容,如复习题、附加示例、术语解释和文本框说明等,这提升了它作为教科书的价值。本书还包括大量技术上的更新,包括非传统语言、实际编译器和编译器技术非传统用途方面的更多内容。优化方面的内容是第1版的特色,这一版中变得更为清晰易读。”

——Michael L. Sccot,罗彻斯特大学计算机科学系教授,

Programming Language Pragmatics的作者

“Keith Cooper和Linda Torczon不仅很好地讲述了编译器的历史,也从实践者的角度阐述了如何开发编译器。书中包括了大量颇具实用价值的讨论和说明,既涉及理论,也涉及众多现存编译器的实例(如Lisp、FORTRAN等)。对入门和高级“分配”与“优化”概念的全面讨论,实际上涵盖了编译器设计的整个生命周期。对于计算机科学专业的学生以及编译器设计和开发人员来说,本书都是必备参考书。”

——David Orleans,诺瓦东南大学

“这本书写得实在是棒极了,内容翔实,辅以大量图表和示例说明,作为大学编译器课程的教科书和从业人员的参考书再合适不过了。代码优化是其重点。”

——Reviews.com

名人推荐

“编译器是一个内容丰富的研究领域,将整个计算机科学融汇在一个优雅的构造中。Cooper和Torczon的这本书很受欢迎,可以指导读者轻松学习编译器这种软件系统。新版增加了两位作者的一些设计经验,并明确指出了许多必须注意的细节,同时又不忘强调设计的大局观。对任何不熟悉编译器的人来说,本书都是不可多得的参考手册。”

——Micthael D.Smith,哈佛大学文理学院院长,工程与应用科学John H.Finley Jr.讲席教授

“本书是构建现代优化编译器的最佳指南。作者汲取了编译器构建领域大量的经验,以帮助学生掌握整体设计思路,同时引导学生了解构建有效的优化编译器所必需的许多重要而微妙的细节。尤其值得一提的是,在我读过的书中,本书对静态单赋值形式的阐述最为清晰。”

——Jeffery von Ronne,得克萨斯大学圣安东尼奥分校计算机科学系助理教授

“本书采用了更常规且一致的结构,还包含大量辅助教学的内容,如复习题、附加示例、术语解释和文本框说明等,这提升了它作为教科书的价值。本书还包括大量技术上的更新,包括非传统语言、实际编译器和编译器技术非传统用途方面的更多内容。优化方面的内容是第1版的特色,这一版中变得更为清晰易读。”

——Michael L.Scott,罗彻斯特大学计算机科学系教授,Programming Language Pragmatics的作者

“Keith Cooper和Linda Torczon不仅很好地讲述了编译器的历史,也从实践者的角度阐述了如何开发编译器。书中包括了大量颇具实用价值的讨论和说明,既涉及理论,也涉及众多现存编译器的实例(如Lisp、FORTRAN等)。对入门和高级“分配”与“优化”概念的全面讨论,实际上涵盖了编译器设计的整个生命周期。对于计算机科学专业的学生以及编译器设计和开发人员来说,本书都是必备参考书。”

——David Orleans,诺瓦东南大学

“这本书写得实在是棒极了,内容翔实,辅以大量图表和示例说明,作为大学编译器课程的教科书和从业人员的参考书再合适不过了。代码优化是其重点。”

——Reviews com[1]

参考文献

  1. 编译器设计与实现道客巴巴网,2009-11-09