编译技术

出版时间:2004-1  出版社:高等教育出版社  作者:张守志 编  

内容概要

  《编译技术》系统地介绍了编译程序构造的一般原理和技术,包括词法分析、语法分析、中间代码生成、代码优化和目标代码生成等内容。本书的重点是介绍编译各阶段中所涉及到的技术与方法以及不同阶段的相互联系。全书内容丰富、概念清晰、逻辑性强、通俗易懂,既便于教学,也适宜于自学。  本书可作为计算机相关专业独立本科段自学考试教材,也可作为高等院校计算机类或信息类相关专业的本科教材或教学参考书,亦可供从事计算机软件开发的科技人员参考。

书籍目录

编译技术第1章 概论1.1 编译程序的概念1.2 编译过程概述1.3 编译程序的结构1.4 学习构造编译程序习题第2章 文法和语言2.1 符号和符号串2.2 文法和语言的形式定义2.2.1 文法的直观概念2.2.2 文法的形式定义2.2.3 语言的形式定义2.3 文法的类型2.4 上下文无关文法及其语法树2.4.1 上下文无关文法2.4.2 语法树的概念2.4.3 二义性2.5 句型的分析2.5.1 分析技术2.5.2 句型分析的有关问题习题第3章 词法分析3.1 词法分析器的设计3.1.1 词法分析器的功能和输出形式3.1.2 词法分析器作为一个独立子程序3.1.3 词法分析器的实现3.2 正规表达式3.2.1 正规文法3.2.2 正规式3.2.3 正规文法与正规式3.3 有限自动机3.3.1 确定有限自动机3.3.2 非确定有限自动机3.3.3 nfa到dfa的转换3.3.4 确定有限自动机的化简3.4 正规表达式和有限自动机的转换3.5 正规文法和有限自动机的转换3.6 词法分析器的自动产生习题第4章 语法分析4.1 自上而下和自下而上分析法4.1.1 归约与分析树4.1.2 规范归约简述4.1.3 符号栈的使用与分析树的表示4.2 递归下降分析法4.2.1 带回溯的分析法4.2.2 不带回溯的递归下降分析法4.3 算符优先分析法4.3.1 直观算符优先分析法4.3.2 算符优先文法和优先表的构造4.3.3 算符优先分析算法的设计4.3.4 优先函数4.4 lr(o)分析法4.4.1 lr分析器4.4.2 lr文法4.4.3 lr(0)项目集规范簇的构造4.5 slr分析法4.6 规范lr分析法4.6.1 lr(1)项目集簇的构造4.6.2 lr(1)分析表的构造4.7 lalr分析法4.8 二义文法的应用4.8.1 使用优先级和结合规则来解决分析动作的冲突4.8.2 悬空else的二义性4.9 语法分析器的生成器yacc习题第5章 语法制导翻译和中间代码生成第6章 符号表第7章 运行时的存储组织第8章 代码优化第9章 代码生成附录 编译程序实现参考文献编译技术(6370)自学考试大纲

章节摘录

  第1章 概论  从理论上说,构造专用计算机来直接执行用某种高级语言编写的程序是可能的。但是,目前的机器能执行的是非常低级的语言,即机器语言。那么,高级语言最终是怎样在计算机上执行的呢?  术语编译代表从面向人的源语言表示的算法到面向硬件的目标语言表示的算法的一个等价变换。本章将简要介绍程序编译的过程及编译程序的结构。  1.1 编译程序的概念  当没有现成软件来解决所需要计算的问题时,用户可以利用高级语言编制程序来解决。现代计算机系统一般都含有不止一个高级语言的编译程序,对有些高级语言甚至配置了几个不同性能的编译程序,供用户按不同需要进行选择。高级语言编译程序是计算机系统软件的最重要组成部分之一,也是用户最直接关心的工具之一。  在计算机上执行一个高级语言程序一般要分为两步:第一步,用一个编译程序把高级语言程序翻译成机器语言程序;第二步,运行所得的机器语言程序求得计算结果。  通常所说的翻译程序是指这样的一个程序,它能够把某一种语言程序(称为源语言程序)改造成另一种语言程序(称为目标语言程序),而后者与前者在逻辑上是等价的。如果源语言是诸如FORTRAN、Pascal、ALGOL或COBOL这样的“高级语言”,而目标语言是诸如汇编语言或机器语言之类的“低级语言”,这样的一个翻译程序就称为编译程序。如果把编译程序看成一个“黑盒子”,它所执行的转换工作可以用图1.1来说明。  高级语言程序除了像上面所说的先编译后执行外,有时也可“解释”执行。一个源语言的解释程序是这样的程序,它以该语言写的源程序作为输入,但不产生目标程序,而是边解释边执行源程序本身。本书将不对解释程序作专门的讨论。实际上,许多编译程序的构造与实现技术同样适用于解释程序。  ……

图书封面

评论、评分、阅读与下载


    编译技术 PDF格式下载


用户评论 (总计0条)

 
 

 

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

京ICP备13047387号-7