计算机编译原理

出版时间:2008-6  出版社:科学出版社  作者:张幸儿  页数:442  
Tag标签:无  

前言

  《计算机编译原理》(第一版)一经面世,便获得众多读者的好评,并荣获2002年全国普通高等学校优秀教材二等奖。基于使用情况及当时实际,第二版做了适当修改,主要是改为以大多数读者所熟悉的C语言作为背景语言,每章增加本章概要和上机实习题,习题增加提示等。  “编译原理”课程的特点是理论性强。全课程内容由三部分组成,即程序设计语言、形式语言理论基础和编译程序构造原理。整个课程以形式语言理论中的有关概念为基础,讨论程序设计语言及编译程序实现技术。语法制导翻译的引进,更增加了理论上的深度。这便决定了“编译原理”课程的学习与掌握有一定难度。只有理解和掌握概念,才有利于对事物更深入的认识。如何理解和掌握?举一个例子:“短语”的定义看似非常抽象,但当读者认识到“短语是句型中这样一个子符号串,即它可以被归约,原句型在归约以后所得符号串仍然是句型”,并且通过画语法分析树来找出短语,“短语”这一概念就很好理解和掌握了。  “编译原理”课程不仅理论性强,实践性也强。这是由课程本身所决定的:讨论的是编译程序的构造原理,因此必须以所学的知识来开发编译程序。本书的一个特点是较多地强调了应用,也就是实践。例如,讨论了如何为语言构造文法,如何利用运行状态转换图的思想构造正则文法,如何实现标识符作用域的识别,如何写出词法分析程序,……,又如何结合语言成分的语义写出翻译方案,等等。这里,一个是思路问题,再一个就是“动手”问题。下面是学习编译原理过程中,读者不得不面对的一些问题:

内容概要

  计算机编译原理是计算机专业的重要专业基础课之一。本书系统地介绍高级程序设计语言编译程序的构造原理,重点讨论词法分析、语法分析、语义分析以及目标代码的生成与代码优化。各章末有本章概要、习题与上机实习题。书末附有解题规范例解与总复习思考题。本书特别讨论了编译各阶段的实现考虑,读者可从这些实际可行的实现方法和技巧中得到借鉴和启发。  本书可作为计算机及相关专业编译原理教材,同时也是计算机软件工作者、研究生以及广大计算机爱好者学习的参考用书。

书籍目录

前言第1章总论1.1 引言1.2 程序设计语言与程序1.2.1 程序及其结构一1.2.2 程序设计语言的定义1.2.3 程序的执行1.3 编译程序构造及有关概念1.3.1 编译程序的构造1.3.2 遍的概念1.3.3 编译程序的分类1.3.4 实际应用中的编译程序1.4 形式语言理论与编译实现技术本章概要第2章 文法与语言2.1 符号串与符号串集合2.1.1 字母表2.1.2 符号串2.1.3 符号串集合2.2 文法与语言的形式定义2.2.1 文法的形式定义2.2.2 语言的形式定义2.3 语言的分类2.3.1 Chomsky文法类和语言类2.3.2 形式语言与自动机2.3.3 形式语言的分类与程序设计语言2.3.4 对上下文无关文法的进一步讨论2.4 文法等价与等价变换2.4.1 文法等价的概念2.4.2 压缩文法等价变换2.4.3 消去左递归的文法等价变换2.5 语法分析树与句型分析2.5.1语法分析树的概念2.5.2句型分析本章概要习题l习题2习题3习题4习题5第2章 上机实习题第3章 词法分析3.1 引言3.1.1 词法分析与词法分析程序3.1.2 符号的识别与重写规则的关系3.1.3 实现方式3.2 正则表达式与有穷状态自动机3.2.1 状态转换图3.2.2 确定有穷状态自动机DFA3.2.3 非确定有穷状态自动机NFA3.2.4 确定有穷状态自动机的化简3.2.5 正则表达式3.3 词法分析程序的实现3.3.1 符号与属性字3.3.2 标识符的处理3.3.3 词法分析程序的编写3.4 词法分析程序的自动生成3.4.1 基本思想3.4.2 扫描程序定义与构造程序3.4.3 自动生成系统LEX简介本章概要习题6第3章 上机实习题第4章语法分析——自顶向下分析技术4.1 引言4.1.1 自顶向下分析技术及识别算法4.1.2 讨论的前提……第5章 语法分析——自底向上分析技术第6章 语义分析与目标代码生成第7章 运行环境第8章 代码优化第9章 程序错误的检查和校正解题规范例解总复习思考题参考文献

章节摘录

  第1章 总论  1.1 引言  作为一种工具,电子计算机以其处理数据容量大、速度快、精度高且具有自动判别功能等显著特点,而广泛应用于各个领域。早先人工必须用几年、甚至几辈子都难以完成的计算量,现在使用计算机只需短短几天、几个小时甚至几分钟即可完成。在当今的社会,人们难以想象离开计算机的世界将是什么模样。  计算机之所以如此神奇,除了硬件基础之外,当归功于计算机软件系统。进一步说,计算机之所以能为广大用户所接受,不能不说是因为有高级程序设计语言的存在。高级程序设计语言的引进,使人们能用接近于数学用语的表示法去表达算法,让计算机做人们想做的事,从而为计算机的推广应用打开了局面。没有高级程序设计语言,计算机要想推广应用是不可思议的。  高级程序设计语言作为一种语言,是人机对话的工具。人们用某种高级语言  写出程序来表达自己想做的事情和期望达到的效果,计算机接受这些程序,然后运行而产生相应的效果。程序设计语言是一种符号语言,采用了接近于数学用语的表示法,使人们容易书写与理解,也容易相互交流。请看下列C程序片段:  if(x>y)max=x;else max=y;  这种表达非常易读、易理解,即比较X与y的值,若x的值大,让max取x值,否则让max取Y值。

图书封面

图书标签Tags

评论、评分、阅读与下载


    计算机编译原理 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7