您所在的位置:图书> 图书详情
分享到:

编译原理基础(第二版)刘坚 十一五

本书配有教学课件,相关资源可在资源中心免费下载。
  • 作 者:刘坚
  • 策划编辑:陈宇光
  • 书代号:138201
  • I S B N:978-7-5606-1111-2
  • 出版日期:2008-09
  • 印刷日期:2023-02
  • 业务分类:本科;
  • 图书库存:加载中...
  • 纸书价格:- 元 原价:39.00

购书款满88元包邮(包邮地区仅限内地,新疆、西藏除外)

内容简介
前言
目录
编辑推荐
相关资源
    

本书系统地介绍了程序设计语言翻译的基本原理与技术,内容包括编译器构造的所有重要阶段:词法分析、语法分析、语义分析与中间代码生成、代码优化、运行时的存储分配以及目标代码的生成等。本书还介绍了编译器编写工具LEX和YACC的工作原理与使用方法,并对语法制导翻译与属性计算、类型与类型检查、数据流分析等编译器构造和程序分析技术中当前重点关注的原理和方法进行了讨论。

本书既可以作为工科院校计算机专业或非计算机专业本科生与研究生的教材,也可以作为软件技术人员和程序设计语言爱好者的参考书。

“编译原理”是国内高校计算机科学与技术专业的必修专业课程之一,系统介绍程序设计语言翻译的原理与技术,是一门理论与实践并重的课程,在引导学生进行科学思维和提高学生解决实际问题能力两方面均有重要的作用。

全书共七章,分为基本原理与方法、专题论述两部分。50学时左右的本科生课程可以仅教授基本原理与方法部分。专题论述部分均用“*”标注,内容涉及现代编译器构造所使用的原理、工具与技术,可以作为超过50学时课程的补充部分,或者作为研究生课程的内容。

基本原理与方法 第1章引言,介绍有关程序设计语言和语言翻译的基本概念,内容包括:高级语言与低级语言,编译与解释,编译器基本框架,构造编译器的方法与工具。第2章词法分析,从构词规则和词法分析两个方面讨论词法分析器的构造,内容包括:模式的描述与记号的识别,状态转换图与词法分析器,正规表达式与有限状态自动机。第3章语法分析,从原理上和方法上详细讨论文法和不同的语法分析方法,内容包括:语法分析器在编译器中的位置和作用,上下文无关文法与上下文有关文法、文法的二义性及其消除,自上而下的LL分析和自下而上的SLR分析。第4章静态语义分析,介绍语法制导翻译生成中间代码的一般方法,内容包括:语法与语义、属性与语义规则,中间代码的表现形式,名字信息的保存,声明性语句的语法制导翻译,可执行语句的语法制导翻译。第5章运行环境,内容包括:过程的动态特性、活动树与控制栈、名字的绑定,存储分配策略、栈式存储分配与非本地数据的访问。第6章代码生成,简单介绍代码生成所需考虑的问题和在一个假想的计算机模型上如何生成基本块的目标代码。

专题论述 3.6节LR(1)与LALR(1)分析,内容包括:在基于LR(0)分析的基础上讨论向前看符号(lookaheads)的作用,重点讨论最实用的LALR(1)分析器的构造。3.7节编译器编写工具,主要介绍LEX与YACC的基本工作原理和如何利用它们进行词法分析器、语法分析器的设计,并给出了详细的设计实例。4.2节属性的计算,从原理上讨论属性及其性质、属性的一般计算方法以及在自下而上分析和自上而下分析中属性的同步计算。4.11节类型检查,介绍类型系统在程序设计语言与编译器中的地位、类型与程序设计范型,详细讨论了类型表达式、类型等价、单态与多态的类型检查方法。7.3节数据流分析简介、7.4节数据流分析的数学基础,数据流分析是代码优化和程序分析技术的基础,在编译器构造、软件安全分析和逆向工程中均起重要作用。7.3节介绍数据流分析的基本概念和三种典型的数据流分析算法,7.4节对不同的数据流分析进行归纳总结,并且给出统一的数学模型。

为配合编译教学的实施,本书作者提供由西安电子科技大学软件工程研究所开发的类LEX/YACC工具XDCFLEX/XDYACC,其中的XDCFLEX可以生成对中文注释和字符串的识别。  XDCFLEX/XDYACC基于C/C++,可分别运行在PC机的DOS和Windows环境,稍加修改,也可在其它环境(如UNIX或LINUX上)运行。读者可以通过访问“http://www.xduph.com”,在本书页面下下载该软件。

本书的编写得到了西安电子科技大学出版社的支持,龚杰民教授审阅了全书,郭强和张学敏等同学为XDCFLEX/XDYACC的研制开发作出了贡献,在此一并表示诚挚的谢意。

本书已被作为国家级“十一五”规划教材。作者力图反映编译及其相关领域的基础知识与发展方向,并且力图用通俗的语言讲述抽象的原理。但是限于作者水平,书中难免有错误与欠妥之处,恳请读者批评指正。

作 者

2008年6月

“编译原理”是国内高校计算机科学与技术专业的必修专业课程之一,系统介绍程序设计语言翻译的原理与技术,是一门理论与实践并重的课程,在引导学生进行科学思维和提高学生解决实际问题能力两方面均有重要的作用。 全书共七章,分为基本原理与方法、专题论述两部分。50学时左右的本科生课程可以仅教授基本原理与方法部分。专题论述部分均用“*”标注,内容涉及现代编译器构造所使用的原理、工具与技术,可以作为超过50学时课程的补充部分,或者作为研究生课程的内容。 为配合编译教学的实施,本书作者提供由西安电子科技大学软件工程研究所开发的类LEX/YACC工具XDCFLEX/XDYACC,其中的XDCFLEX可以生成对中文注释和字符串的识别。XDCFLEX/XDYACC基于C/C++,可分别运行在PC机的DOS和Windows环境,稍加修改,也可在其它环境(如UNIX或LINUX上)运行。读者可以通过访问“http://www.xduph.com”,在本书页面下下载该软件。
  • 【课件教案】编译原理基础(第二版)(刘坚).zipPC下载

版权所有(C) 西安电子科技大学出版社 Copyrights @ 2015 陕ICP备15015893号