首页 > 图书中心 >图书详情

编译原理(第3版)

咨询QQ:2301891038(仅限教师)普通高等教育“十一五”国家级规划教材,课件处为本书PPT教案与源代码,更新时间2017.7.21

作者:王生原 董渊 张素琴 吕映芝 蒋维杜
丛书名:清华大学计算机系列教材
定价:69
印次:3-23
ISBN:9787302381419
出版日期:2015.06.01
印刷日期:2024.01.23

本书介绍程序设计语言编译程序构造的一般原理、基本设计方法和主要实现技术,主要内容包括文法、自动机和语言的基础知识,词法分析,语法分析,语法制导的语义计算,语义分析,中间代码生成,运行时存储组织,代码优化和目标代码生成。 除了基本设计原理外,书中还包含两个小型编译程序的设计实例,可选作课程设计的素材。一个是PL/0语言编译程序,其设计和实现框架贯穿于本书相关章节中;另一个是简单面向对象语言Decaf的编译程序。本书最后还介绍了业界广泛使用的开源编译器GCC及和它紧密相关的Binutils工具链,通过一系列程序实例说明这些工具的作用和基本用法。 本书可作为高等院校计算机科学与技术相关专业的本科生教材,也可作为相关教师、研究生或工程技术人员的参考书。

more >

编译程序(或编译器、编译系统)在计算机科学与技术的发展历史中发挥了巨大作用,是计算机系统的核心支撑软件。“编译原理”一直以来是国内外大学计算机相关专业的重要课程,其知识结构贯穿程序设计语言、系统环境以及体系结构,能以相对独立的视角体现从软件到硬件以及软硬件协同的整机概念;同时,其理论基础又涉及形式语言与自动机、数据结构与算法等计算机学科的许多重要方面,不愧为联系计算机科学理论和计算机系统的典范。这一知识体系所涉及的原理和技术不仅用于编写编译程序,也适用于很多软件的设计。著名的计算机科学家A. V. Aho和J. D.Ullman在他们的著作中说: “在每一个计算机科学家的研究生涯中,这些原理和技术都会反复用到。” 本书介绍程序设计语言编译程序构造的一般原理、基本设计方法和主要实现技术,主要面向计算机科学与技术相关专业本科生的专业学习和素质培养,也可供从事系统软件和软件工具研究及开发的人员参考。 全书共12章。前面几章中有关词法分析和语法分析的部分,基本上延续了本书前两个版本的风格和内容,有利于之前阅读和使用过这套教材的教师和学生衔接。新版本重新组织了语法制导的方法、语义分析、中间代码生成、运行时存储组织、代码优化和目标代码生成等相关内容,进行了适当的充实与删减,力求在各主要知识点之间达到某种较合理的均衡,使学生在本科层次的学习中尽可能对编译程序的构造原理和实现技术从整体知识层面上有较好的掌握。 对于结合实例的讲解,本书沿用了前两个版本使用的PL/0编译程序。PL/0编译程序比较简单,但不失代表性,在编译原理教学中具有广泛的使用基础。通常情况下,学生能够在很短的时间内掌握PL/0编译程序的实现脉络,对于快速了解一个具体编译程序的作用和设计思想有很好的帮助。和前面的版本不同,第3版中是将PL/0编译程序的介绍分散于不同章节中,不同学校或专业的课程可根据自身的情况选择集中学习和分阶段学习。 “编译原理”是一门对实践性要求较高的课程,通常应该设置专门的课程设计。书中涉及两个小型编译程序的设计实例,可选作课程设计的素材。一个是PL/0语言编译程序,其设计和实现框架贯穿于全书相关章节;另一个是简单面向对象语言Decaf的编译程序,参见第11章。不同学校或专业的课程可根据自身的情况制订适当的课程设计方案。 近年来,在许多专业应用场合,熟练使用与编译程序/系统相关的系统级软件工具已成为必须掌握的基本技能之一。为此,本书安排了有关开源的GCC编译器和相关工具链Binutils的章节(第12章),为学生将来有可能从事相关领域的工作进行基本和必要的准备。对于这部分内容,不同学校或专业的课程可根据自身情况引导或建议学生进行适当的训练。 本书的第1章、第2章和第3章由张素琴和王生原共同编写,第4章和第6章由吕映芝、张素琴和王生原共同编写,第5章由吕映芝编写,第7章和第11章由王生原编写,第8章和第9章由王生原和蒋维杜共同编写,第10章由董渊和王生原共同编写,第12章由董渊编写。 附录中包含PL/0源程序的Pascal版本和C版本的代码,Java版本的代码可从清华大学出版社网站上获取。另外,若相关课程需要用到Decaf编译实验框架的代码,任课教师可与清华大学出版社或编者联系(仅限于用作教学资源的共享与交流)。 适合在“编译原理”课程中讲授的内容非常广泛,从国际上的著名教材来看,在侧重点、内容和风格上都有相当大的差异。由于编者水平所限,书中必然存在不当和疏漏之处,诚请广大读者批评指正。 编者 2015年5月目录

more >
扫描二维码
下载APP了解更多

同系列产品more >

数据结构(C语言版)(第3版)

殷人昆
定 价:89元

查看详情
Java语言程序设计实践教程

郑莉、尹刚、张宇
定 价:39元

查看详情
计算机操作系统教程(第5版)

张尧学、任炬、卢军
定 价:59元

查看详情
计算机操作系统教程(第5版)习题...

张尧学、任炬、卢军
定 价:38元

查看详情
图论与代数结构(第2版)

崔勇,张小平
定 价:49元

查看详情
图书分类全部图书
more >
  • 第1章引论1

    1.1什么是编译程序1

    1.2编译过程和编译程序的结构2

    1.2.1编译过程概述2

    1.2.2编译程序的结构5

    1.2.3编译阶段的组合6

    1.3解释程序和一些软件工具7

    1.3.1解释程序7

    1.3.2处理源程序的软件工具8

    1.4PL/0语言编译系统10

    1.4.1PL/0语言编译系统构成11

    1.4.2PL/0语言11

    1.4.3类Pcode语言14

    1.4.4PL/0编译程序15

    1.4.5PL/0语言编译系统的驱动代码16

    练习18

    第2章文法和语言19

    2.1文法的直观概念19

    2.2符号和符号串20

    2.3文法和语言的形式定义21

    2.4文法的类型25

    2.5上下文无关文法及其语法树26

    2.6句型的分析29

    2.6.1自上而下的分析方法30

    2.6.2自下而上的分析方法30

    2.6.3句型分析的有关问题31

    2.7有关文法实际应用的一些说明32

    2.7.1有关文法的实用限制32

    2.7.2上下文无关文法中的ε规则33

    练习33

    第3章词法分析37

    3.1词法分析程序的设计37

    3.1.1词法分析程序和语法分析程序的接口方式37

    3.1.2词法分析程序的输出37

    3.1.3将词法分析工作分离的考虑38

    3.1.4词法分析程序中如何识别单词39

    3.2PL/0编译程序中词法分析程序的设计和实现39

    3.3单词的形式化描述工具44

    3.3.1正规文法44

    3.3.2正规式45

    3.3.3正规文法和正规式的等价性46

    3.4有穷自动机47

    3.4.1确定的有穷自动机(DF...

精彩书评more >

标题

评论

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘