编译原理
基本信息
编辑推荐
本书作者Alfred V.Aho、Ravi Sethi和Jeffrey D.Ullman是世界著名的计算机 科学家,他们在计算机科学理论、数据库等很多领域都做出了杰出贡献。本书 是编译领域无可替代的经典著作,被广大计算机专业人士誉为“龙书”。本书一 直被世界各地的著名高等院校和科研机构(如贝尔实验室、哥伦比亚大学、普 林斯顿大学和斯坦福大学等)广泛用作本科生和研究生编译原理与技术课程的 教材,本书对我国计算机教育界也具有重大影响。 书中深入讨论了编译器设计的重要主题,包括词法分析、语法分析、语法制 导分析、类型检查、运行环境、中间代码生成、代码生成、代码优化等,并在 最后两章中讨论了实现编译器的一些编程问题和几个编译器实例,而且每章都 提供了大量的练习和参考文献。 本书可以作为高等院校计算机专业本科生和研究生编译原理与技术课程的 教材,也可以作为计算机技术人员必读的专业参考书之一。
内容简介回到顶部↑
本书深入讨论了编译器设计的重要主题,包括词法分析、语法分析、语法制导分析、类型检查、运行环境、中间代码生成、代码生成、代码优化等,并在最后两章中讨论了实现编译器的一些编程问题和几个编译器实例,每章都提供了大量的练习和参考文献。本书从介绍编译的原理性概念开始,然后通过构建一个简单的一遍编译器来逐一解释这些概念。
本书是编译原理课程的经典教材,作者曾多次使用本书的内容在贝尔实验室、哥伦比亚大学、普林斯顿大学和斯坦福大学向本科生和研究生讲授初等及高等编译课程。 本书作者alfred
v.aho、ravi sethi和jeffrey d.ullman是世界著名的计算机 科学家,他们在计算机科学理论、数据库等很多领域都做出了杰出贡献。本书
是编译领域无可替代的经典著作,被广大计算机专业人士誉为“龙书”。本书一 直被世界各地的著名高等院校和科研机构(如贝尔实验室、哥伦比亚大学、普 林斯顿大学和斯坦福大学等)广泛用作本科生和研究生编译原理与技术课程的
教材,本书对我国计算机教育界也具有重大影响。 书中深入讨论了编译器设计的重要主题,包括词法分析、语法分析、语法制 导分析、类型检查、运行环境、中间代码生成、代码生成、代码优化等,并在
最后两章中讨论了实现编译器的一些编程问题和几个编译器实例,而且每章都 提供了大量的练习和参考文献。 本书可以作为高等院校计算机专业本科生和研究生编译原理与技术课程的
教材,也可以作为计算机技术人员必读的专业参考书之一。
[font color="#ff0000"][b][a href="http://www.china-pub.com/computers/subject/yuding/huazhang.html" target="_blank"]读大师名著,做it精英[/a][/b][/font]
[font color="#ff0000"][b][a href="http://www.china-pub.com/computers/subject/yuding/huazhang.html" target="_blank"]读大师名著,做it精英[/a][/b][/font]
作译者回到顶部↑
本书提供作译者介绍
译 者 简 介
李建中,哈尔滨工业大学教授,博士生导师,国家杰出青年基金获得者,中国计算机学会理事,中国计算机学会数据库专业委员会副主任。从事计算机科学技术的教学、研究、开发工作二十余年。主要研究领域为数据库系统与并行计算,主持完成研究项目20余项,在统计与科学数据库、并行数据库、数据仓库、数据挖掘等方面取得了一系列研究成果,在IEEE Transactions on Knowledge and Data Engineering、VLDB、ACM SIGMOD等国内外重要学术刊物和学术会议发表学术论文180余篇,出版学术专著和教材4.. << 查看详细
李建中,哈尔滨工业大学教授,博士生导师,国家杰出青年基金获得者,中国计算机学会理事,中国计算机学会数据库专业委员会副主任。从事计算机科学技术的教学、研究、开发工作二十余年。主要研究领域为数据库系统与并行计算,主持完成研究项目20余项,在统计与科学数据库、并行数据库、数据仓库、数据挖掘等方面取得了一系列研究成果,在IEEE Transactions on Knowledge and Data Engineering、VLDB、ACM SIGMOD等国内外重要学术刊物和学术会议发表学术论文180余篇,出版学术专著和教材4.. << 查看详细
目录回到顶部↑
出版者的话
专家指导委员会
译者序
前言
第1章 编译简介 1
1.1 编译器 1
1.1.1 编译的分析-综合模型 1
1.1.2 编译器的前驱与后继 3
1.2 源程序分析 3
1.2.1 词法分析 3
1.2.2 语法分析 3
1.2.3 语义分析 5
1.2.4 文本格式器中的分析 5
1.3 编译器的各阶段 6
1.3.1 符号表管理 7
1.3.2 错误检测与报告 7
1.3.3 各分析阶段 7
1.3.4 中间代码生成 9
1.3.5 代码优化 9
1.3.6 代码生成 10
专家指导委员会
译者序
前言
第1章 编译简介 1
1.1 编译器 1
1.1.1 编译的分析-综合模型 1
1.1.2 编译器的前驱与后继 3
1.2 源程序分析 3
1.2.1 词法分析 3
1.2.2 语法分析 3
1.2.3 语义分析 5
1.2.4 文本格式器中的分析 5
1.3 编译器的各阶段 6
1.3.1 符号表管理 7
1.3.2 错误检测与报告 7
1.3.3 各分析阶段 7
1.3.4 中间代码生成 9
1.3.5 代码优化 9
1.3.6 代码生成 10
译者序回到顶部↑
译 者 序
编译器产生于20世纪60年代,在计算机科学技术的发展历史中发挥了巨大作用,是开发计算机应用系统不可缺少的重要工具。编译器的原理和技术具有十分普遍的意义。在每一个计算机科学技术工作者的职业生涯中,这些原理和技术都被反复用到。编译器的编写涉及到程序设计语言、计算机体系结构、语言理论、算法和软件工程等学科,是计算机科学技术的重要基础。作为计算机科学技术学科的专业基础课,编译器原理和技术是计算机科学技术专业学生的必修课程。本书是一部优秀的编译器原理和技术教材。
本书是 Alfred V. Aho 和 Jeffrey D. Ullman 所著的《Principles of Compiler Design》一书的后裔版。本书作者 Alfred V. Aho 是 AT&T 贝尔实验室计算机原理研究部负责人,Jeffrey D. Ullman 是斯坦福大学计算机科学系教授,Ravi Sethi 是 AT&T 贝尔实验室研究人员。Alfred V. Aho 和 Jeffrey D. Ullman 是世界著名的计算机科学家,他们在计算机科学理论、数据库等很多领域都做出了杰出贡献。他们的很多著作都被国际公认为是权威性著作,深受读者的喜爱。本书的英文版出版于20世纪80年代,是一部著名的编译器原理与技术方面的教材,一直被国际著名高等院校特别是美国著名大学作为编译器原理与技术的教科书。这部著作对我国计算机界也具有重大影响。机械出版社独具慧眼,决定将这部著作翻译成中文在国内出版,这必将对我国计算机科学技术的编译原理教学工作产生积极的推动作用。有幸承担该书的翻译工作,我们感到十分荣幸。
本书是编译器原理与技术的基本教程,旨在介绍编译器的一般原理,解决人们在编译器设计中遇到的普遍问题。本书在系统地介绍编译器的一般原理的同时,特别注重编译原理和技术的实际应用,给出了许多启示,并配置了大量的例题和习题。本书的内容适用于所有源语言和目标机器。本书介绍的概念和技术不仅适用于编译器的设计,也适用于一般的软件设计。显然,本书在目前只有少数人涉及编译器的构造和维护的情况下仍然具有重要的意义和价值。
本书共有十二章和一个附录。第1章介绍编译器的基本结构;第2章描述了一个变中缀表达式为后缀表达式的翻译器;第3章介绍了词法分析器、正规表达式、有穷自动机以及词法分析器的自动生成工具;第4章详述常用的语法分析技术;第5章阐述了语法制导翻译的基本概念;第6章介绍了实现静态语义检查的基本思想;第7章讨论了程序运行环境的存储组织问题;第8章首先介绍了中间语言的概念,然后讨论如何把一般的程序设计语言翻译成中间代码的问题;第9章介绍目标代码生成技术和代码生成器的自动生成方法;第10章全面介绍了代码优化方法;第11章讨论了实现编译器的一些编程问题;第12章提供了几个编译器实例;附录A描述了一种简单的语言,学生可以把它作为源语言,构造一个编译器。
本书可以作为高等院校计算机专业本科生和研究生编译原理与技术课程的教材,也可以作为计算机软件工作者的技术参考书。
限于译者水平,译文中疏漏和错误难免,欢迎批评指正。
李建中,姜守旭
2003年7月1日
编译器产生于20世纪60年代,在计算机科学技术的发展历史中发挥了巨大作用,是开发计算机应用系统不可缺少的重要工具。编译器的原理和技术具有十分普遍的意义。在每一个计算机科学技术工作者的职业生涯中,这些原理和技术都被反复用到。编译器的编写涉及到程序设计语言、计算机体系结构、语言理论、算法和软件工程等学科,是计算机科学技术的重要基础。作为计算机科学技术学科的专业基础课,编译器原理和技术是计算机科学技术专业学生的必修课程。本书是一部优秀的编译器原理和技术教材。
本书是 Alfred V. Aho 和 Jeffrey D. Ullman 所著的《Principles of Compiler Design》一书的后裔版。本书作者 Alfred V. Aho 是 AT&T 贝尔实验室计算机原理研究部负责人,Jeffrey D. Ullman 是斯坦福大学计算机科学系教授,Ravi Sethi 是 AT&T 贝尔实验室研究人员。Alfred V. Aho 和 Jeffrey D. Ullman 是世界著名的计算机科学家,他们在计算机科学理论、数据库等很多领域都做出了杰出贡献。他们的很多著作都被国际公认为是权威性著作,深受读者的喜爱。本书的英文版出版于20世纪80年代,是一部著名的编译器原理与技术方面的教材,一直被国际著名高等院校特别是美国著名大学作为编译器原理与技术的教科书。这部著作对我国计算机界也具有重大影响。机械出版社独具慧眼,决定将这部著作翻译成中文在国内出版,这必将对我国计算机科学技术的编译原理教学工作产生积极的推动作用。有幸承担该书的翻译工作,我们感到十分荣幸。
本书是编译器原理与技术的基本教程,旨在介绍编译器的一般原理,解决人们在编译器设计中遇到的普遍问题。本书在系统地介绍编译器的一般原理的同时,特别注重编译原理和技术的实际应用,给出了许多启示,并配置了大量的例题和习题。本书的内容适用于所有源语言和目标机器。本书介绍的概念和技术不仅适用于编译器的设计,也适用于一般的软件设计。显然,本书在目前只有少数人涉及编译器的构造和维护的情况下仍然具有重要的意义和价值。
本书共有十二章和一个附录。第1章介绍编译器的基本结构;第2章描述了一个变中缀表达式为后缀表达式的翻译器;第3章介绍了词法分析器、正规表达式、有穷自动机以及词法分析器的自动生成工具;第4章详述常用的语法分析技术;第5章阐述了语法制导翻译的基本概念;第6章介绍了实现静态语义检查的基本思想;第7章讨论了程序运行环境的存储组织问题;第8章首先介绍了中间语言的概念,然后讨论如何把一般的程序设计语言翻译成中间代码的问题;第9章介绍目标代码生成技术和代码生成器的自动生成方法;第10章全面介绍了代码优化方法;第11章讨论了实现编译器的一些编程问题;第12章提供了几个编译器实例;附录A描述了一种简单的语言,学生可以把它作为源语言,构造一个编译器。
本书可以作为高等院校计算机专业本科生和研究生编译原理与技术课程的教材,也可以作为计算机软件工作者的技术参考书。
限于译者水平,译文中疏漏和错误难免,欢迎批评指正。
李建中,姜守旭
2003年7月1日
前言回到顶部↑
前 言
本书是 Alfred V.Aho和Jeffrey D.Ullman 所著的《Principles of Compiler Design》一书的后续版本。与后者类似,本书也是编译器设计基础课程的教材。本书的重点是解决人们在设计语言翻译器时遇到的普遍问题,而不论源和目标机器是什么。
本书介绍的概念和技术不仅适用于编译器的设计,也适用于一般的软件设计。例如,建立词法分析器的串匹配技术已用于文本编辑器、信息检索系统和模式识别器;上下文无关文法和语法制导定义等概念已用于设计许多诸如本书产生的排版、绘图系统这样的小语言;代码优化技术已用于程序验证器和从非结构化程序产生结构化程序的程序检验器之中。显然,本书在目前只有少数人涉及编译器的构造和维护的情况下仍然具有重要的意义和价值。
本书的使用方法
本书深入地讨论了编译器设计的重要主题。
第1章介绍编译器的基本结构,是阅读本书其余部分的基础。
第2章描述了一个变中缀表达式为后缀表达式的翻译器。这个翻译器使用本书介绍的一些基本技术构建。后面的一些章节逐渐地扩展了第2章介绍的内容。
第3章介绍了词法分析器、正规表达式、有穷状态机以及词法分析器的生成器工具。本章的内容已经被广泛地用于文本处理。
第4章深入介绍了常用的语法分析技术。本书讨论的语法分析技术比较广泛,从适用于手工实现的递归下降技术到用于语法分析器生成器的计算更密集的LR技术。
第5章介绍了语法制导翻译的主要概念。本章的内容将被用于本书中说明和实现翻译的其余各章。
第6章介绍了实现静态语义检查的主要思想,详尽讨论了类型检查与合一问题。
第7章讨论了用于支持程序运行环境的存储组织问题。
第8章首先介绍了中间语言的概念,然后讨论如何把一般的程序设计语言结构翻译成中间代码的问题。
第9章介绍目标代码生成技术,包括简单的代码生成方法以及产生表达式代码的优化方法。本章也讨论了窥孔优化方法和代码生成器的生成器。
第10章全面介绍了代码优化,详细讨论了各种数据流分析方法和几种主要的全局优化方法。
第11章讨论实现编译器的一些编程问题。软件工程和软件测试在构造编译器的过程中是非常重要的。
第12章提供几个编译器实例。这些编译器都使用了本书介绍的技术。
附录A描述了一种简单的语言。这种语言是Pascal语言的“子集”,它可以用做实现项目的基础。
本书作者曾使用本书的内容多次在贝尔实验室、哥伦比亚大学、普林斯顿大学和斯坦福大学为本科生和研究生讲授初等和高等编译课程。
初等编译课程可以由本书以下章节构成:
本书是 Alfred V.Aho和Jeffrey D.Ullman 所著的《Principles of Compiler Design》一书的后续版本。与后者类似,本书也是编译器设计基础课程的教材。本书的重点是解决人们在设计语言翻译器时遇到的普遍问题,而不论源和目标机器是什么。
本书介绍的概念和技术不仅适用于编译器的设计,也适用于一般的软件设计。例如,建立词法分析器的串匹配技术已用于文本编辑器、信息检索系统和模式识别器;上下文无关文法和语法制导定义等概念已用于设计许多诸如本书产生的排版、绘图系统这样的小语言;代码优化技术已用于程序验证器和从非结构化程序产生结构化程序的程序检验器之中。显然,本书在目前只有少数人涉及编译器的构造和维护的情况下仍然具有重要的意义和价值。
本书的使用方法
本书深入地讨论了编译器设计的重要主题。
第1章介绍编译器的基本结构,是阅读本书其余部分的基础。
第2章描述了一个变中缀表达式为后缀表达式的翻译器。这个翻译器使用本书介绍的一些基本技术构建。后面的一些章节逐渐地扩展了第2章介绍的内容。
第3章介绍了词法分析器、正规表达式、有穷状态机以及词法分析器的生成器工具。本章的内容已经被广泛地用于文本处理。
第4章深入介绍了常用的语法分析技术。本书讨论的语法分析技术比较广泛,从适用于手工实现的递归下降技术到用于语法分析器生成器的计算更密集的LR技术。
第5章介绍了语法制导翻译的主要概念。本章的内容将被用于本书中说明和实现翻译的其余各章。
第6章介绍了实现静态语义检查的主要思想,详尽讨论了类型检查与合一问题。
第7章讨论了用于支持程序运行环境的存储组织问题。
第8章首先介绍了中间语言的概念,然后讨论如何把一般的程序设计语言结构翻译成中间代码的问题。
第9章介绍目标代码生成技术,包括简单的代码生成方法以及产生表达式代码的优化方法。本章也讨论了窥孔优化方法和代码生成器的生成器。
第10章全面介绍了代码优化,详细讨论了各种数据流分析方法和几种主要的全局优化方法。
第11章讨论实现编译器的一些编程问题。软件工程和软件测试在构造编译器的过程中是非常重要的。
第12章提供几个编译器实例。这些编译器都使用了本书介绍的技术。
附录A描述了一种简单的语言。这种语言是Pascal语言的“子集”,它可以用做实现项目的基础。
本书作者曾使用本书的内容多次在贝尔实验室、哥伦比亚大学、普林斯顿大学和斯坦福大学为本科生和研究生讲授初等和高等编译课程。
初等编译课程可以由本书以下章节构成:
评论交流
共有129人开贴评论 309人参与评论 119人参与打分 查看
评价等级:



发表于:2003-8-31 12:47:00
《编译原理》难就难在它集中体现了很多计算机的基本思想,我大学上课从不抢前排的位子,上《编译原理》时我上午下课后不走,中午不吃饭,等下午的《编译原理》课。每个星期有两天的下午各上三节课,只布置一次作业,一般三四道题,如果自己认真做要一个星期。在拿到课本后我就很有兴趣,虽然老师只是个副教授但讲课很认真,比别的教授讲得好多了,如果又是照本宣科,我就只能自学了。国内的教材很少有自己的东西,这不能苛求,但行文太死板,脉络不清晰,从不讲技术的历史发展情况,实际上这是很重要的。虽然很多书里不注明其观点是参照哪些书的,但如果看书后的参考书目就会发现原来他们都是抄的同几本国外的书,那么这些被抄的书肯定非同小可,而一旦找到了这样的书,它所参考(真正的参考)的书也肯定是好书,这样我发现了很多的好书。我大二时就知道knuth的《The Art of Computer Programming》,也一直在找,问过很多人,他们却都很茫然。其实几乎每本《数据结构》书的参考书目中都有这本书,比如比较著名的清华严慰敏的。国内清华是比较早开始出版影印版的书的,现在很多出版社都在出,各种各样的书多了后,容易让人觉得混乱,不知该选择哪本。其实如果选定一个领域,找一本比较权威的书,从这本书的参考书开始,基本就能了解其整个历史发展情况和代表性的人物,到最后就会发现实际上所有技术都是同源的。这也是计算机文化的一种体现吧。
评价等级:



发表于:2003-8-29 16:58:00
一定要看英文原版的啊!我大学的编译原理用的是北大杜淑敏的《编译原理》,当时看其参考书就对这本书十分向往。原书中提到的很多思想都是有启发性的,作者当时不可能预计到现在的技术发展程度,而我们结合现实能更深刻地理解他们的思想。翻译本不可避免地会伤害作者的风格,尤其是和英语结合得非常紧密的元素:比如美国人列举某事的特点时常常喜欢让这些特点的单词的首字母相同,如果记住这几个单词后就能很容易地记住所有内容。而且各种术语能很快的引起你的联想,如果翻译成中文,往往会反应不过来。
| 我要写评论 |
| 查看所有评论交流(共129条) |








点击看大图






加载中...

