高级搜索  |  搜索帮助
最近的浏览历史
购买此书的人还购买过
书  名:编译原理
  • 作  者: 毛红梅、严云洋
  • 出版时间: 2011-08-01
  • 出 版 社: 清华大学出版社
  • 字  数: 343 千字
  • 印  次: 1-1
  • 印  张: 14.25
  • 开  本: 16开
  • ISBN: 9787302253037
  • 装  帧: 平装
  • 定  价:¥25.00
电子书价:¥17.50 折扣:70折 节省:¥7.50 vip价:¥17.50 电子书大小:13.14M
配套资源下载:
  • 名称
  • 说明
  • 权限
  • 文件大小
  • 点击图标下载
  • 图书样章
  • 所有用户
  • 256K
共有商品评论0条 查看评论摘要
内容简介
  本书是根据高等院校计算机专业的培养目标和基本要求,结合作者多年的教学和应用实践经验编写而成的一本编译原理与技术的教材。本书系统全面地介绍了编译原理的相关知识点,共分为11章。主要内容包括编译简介、文法和语言、上下文无关语言、词法分析、语法分析--自顶向下分析、自底向上分析--优先分析法、自底向上分析--LR分析法、语法制导翻译和中间代码生成、符号表与错误处理、代码优化、目标代码生成等内容。
  本书在每一章的知识点讲解中,尽量将难于理解的理论用浅显易懂的语言阐述,并配合大量实例,使读者加深对理论知识的理解。章节后均有“学习加油站”板块,将每章中的重要知识点用多个实例进行讲解,帮助读者将知识点应用到实际问题中,加深对理论知识的理解,并提高实践动手能力。
  本书对编译原理的理论阐述详尽、易学易用,注重理论与实践结合。本书适合作为普通高等学校计算机科学与技术等相关计算机专业的教材,也适合软件开发人员及爱好者培训和自学使用。
  本书配有电子教案,方便教学。
前言
  编译程序是计算机系统的基本组成部分之一,而且多数计算机都含有不止一个高级语言的编译程序,对有些高级语言甚至配置了几种不同性能的编译程序。编译程序出现在20世纪50年代早期,国外编译原理的技术比较早而且先进。为了研究学习编译原理的技术,本书结合了外国先进的编译原理技术和国内编译原理的研究现状。
  本书按照编译器的编译过程来研究编译原理的相关知识,主要介绍了程序设计语言编译程序构造的一般原理、基本设计方法、主要分析技术等内容。全书分为11章,每一章结合详尽的例子讲解基础知识,然后在学习加油站中通过习题实例灵活运用本章的知识点,以加深读者对本章内容的理解。本书主要内容如下:
  第1章简单地介绍编译原理的概念和分析过程。
  第2章主要介绍文法和语言的相关概念,以及如何构造一种语言的相关文法。
  第3章主要介绍上下文无关文法的基本概念,以及上下文无关文法的化简。
  第4章主要介绍三种单词描述工具: 正规文法、正规表达式和自动机,并介绍这三种描述工具之间的相互转换。
  第5章主要介绍编译过程中的语法分析阶段,自顶向下分析的语法分析方法,以及LL(1)文法及其判别方法。
  第6章主要介绍编译过程中的语法分析的自底向上分析中的优先分析法,包含简单优先分析法和算符优先分析法。
  第7章主要介绍编译过程中的语法分析的自底向上分析中的LR分析法,包含LR(0)、SLR(1)、LR(1)、LALR(1)分析法。
  第8章主要介绍语法制导翻译的基本思想及自下向上的语法制导翻译方法,以及几种常见的中间代码形式。
  第9章主要介绍符号表的作用、组织,以及在符号表中的语法错误和语义错误的校正。
  第10章主要介绍代码的优化技术,包括局部优化、循环优化以及窥孔优化。
  第11章主要介绍代码生成的相关理论知识及现在研究现状。
  本书具有以下特色:
  1. 定位准确
  本书主要针对普通高等学校计算机科学与技术等相关计算机专业的学生学习编译原理的需要,以在编译程序的工作过程中涉及的一系列知识和方法的运用组织内容,并配合相关的例子进行讲解,力求做到概念清晰、原理讲解浅显易懂,方便学生理解和掌握。
  2. 体系结构和内容组织新颖
  本书以“基础理论-浅显讲解-学习加油站”为主线组织编写。全书内容分得很细、很详尽,对知识点概括得很清楚,讲解得浅显易懂。学生学习起来会比较轻松,利于理解。
  3. 理论与实践相结合
  本书在每个章节后都有一个“学习加油站”板块,设有一个或几个习题,涵盖本章的知识点,方便学生巩固和加深对知识点的理解和掌握。理论与实践的结合,便于提高读者的综合实践能力。
  本书将难于理解的编译原理知识阐述得浅显易懂,注重理论和实践的结合。本书适合作为普通高等学校计算机科学与技术等相关专业的教材,也适合软件设计人员及爱好者培训和自学使用。
  本书由毛红梅(南昌航空大学)、严云洋任主编,程勇、王廷蔚任副主编。在本书编写过程中,王静、何光明、王珊珊、吴涛涛、赵梨花、陈海燕、陈智、王程凌、云邈等同志提出了许多建设性意见,并在文字校对中做了大量工作,在此深表感谢!
  本书配有电子教案,方便教学。
  限于作者水平,书中难免存在不当之处,恳请广大读者批评指正。

  作 者2011年4月
目录
第1章 编译简介1
1.1 编译器 1
1.1.1 编译的分析-综合模型 2
1.1.2 编译器的前驱和后继 3
1.2 编译器的分析过程 3
1.2.1 词法分析阶段 4
1.2.2 语法分析阶段 5
1.2.3 语义分析阶段 6
1.2.4 中间代码生成阶段 6
1.2.5 代码优化阶段 6
1.2.6 目标代码生成阶段 7
1.2.7 符号表管理器 7
1.2.8 错误处理器 7
1.3 编译器的输入和输出处理工具 8
1.3.1 预处理器 8
1.3.2 汇编器 8
1.3.3 两遍汇编 9
1.3.4 装配器和链接编辑器 9
1.4 编译器各阶段的组合 9
1.4.1 前端和后端 10
1.4.2 编译器的遍 10
1.5 编译器的构造工具 10
1.6 学习加油站 11
本章小结 11
习题1 12
第2章 文法和语言13
2.1 文法的启示 13
2.2 字母表和符号串 16
2.3 文法和语言的形式定义 19
2.4 文法的构造 23
2.5 文法的乔姆斯基体系 25
2.6 空语句 27
2.7 学习加油站 28
本章小结 30
习题2 30
第3章 上下文无关语言33
3.1 概述 33
3.2 上下文无关语言 34
3.2.1 上下文无关文法的语法树 34
3.2.2 二义性 38
3.2.3 自顶向下的分析 40
3.2.4 自底向上的分析 41
3.3 上下文无关文法的化简 42
3.3.1 去无用符号 43
3.3.2 去ε-产生式 45
3.3.3 去单一产生式组 47
3.4 学习加油站 48
本章小结 50
习题3 50
第4章 词法分析53
4.1 概述 53
4.2 单词的描述工具 53
4.2.1 正规文法 53
4.2.2 正规表达式 54
4.2.3 有穷自动机 56
4.3 正规文法与FA等价 59
4.3.1 FA与右线性文法 59
4.3.2 FA与左线性文法 60
4.4 正则表达式与FA等价 61
4.4.1 有穷自动机转换为正则表达式 62
4.4.2 正则表达式转化为有穷自动机 63
4.5 NFA与DFA等价 64
4.6 DFA的最小化 66
4.7 学习加油站 68
本章小结 70
习题4 70
第5章 语法分析--自顶向下分析73
5.1 确定的自顶向下分析思想 73
5.2 LL(1)文法的判别方法 78
5.3 非LL(1)文法与LL(1)文法的等价变换 83
5.4 确定的自顶向下分析方法 86
5.4.1 递归子程序法 86
5.4.2 预测分析方法 87
5.5 不确定的自顶向下分析思想 88
5.6 学习加油站 89
本章小结 91
习题5 91
第6章 自底向上分析--优先分析法93
6.1 自底向下分析法概述 93
6.2 优先分析法概述 95
6.3 简单优先分析法 96
6.3.1 优先关系的判断 96
6.3.2 简单优先文法 98
6.3.3 简单优先分析法 98
6.4 算符优先分析法 99
6.4.1 算符优先分析法的起因 99
6.4.2 直观算符优先分析法 99
6.4.3 算符优先文法 101
6.4.4 算符优先关系表的构造 102
6.4.5 算符优先分析算法 104
6.4.6 优先函数 105
6.4.7 算符优先分析法的局限性 106
6.5 学习加油站 107
本章小结 108
习题6 109
第7章 自底向上分析--LR分析法111
7.1 LR分析器的工作原理 111
7.2 LR(0)分析法 113
7.2.1 文法规范句型的活前缀 113
7.2.2 识别活前缀的DFA 114
7.2.3 活前缀及其可归前缀的一般计算方法 116
7.2.4 LR(0)项目集规范族 117
7.3 SLR(1)分析法 123
7.4 LR(1)分析法 126
7.4.1 构造LR(1)项目集规范族 127
7.4.2 构造LR(1)分析表 129
7.5 LALR(1)文法 130
7.6 LR分析法对二义性文法的应用 132
7.7 学习加油站 134
本章小结 136
习题7 137
第8章 语法制导翻译和中间代码生成139
8.1 概述 139
8.2 属性文法 139
8.3 语法制导翻译概述 142
8.4 中间语言的表示形式 144
8.4.1 逆波兰式 144
8.4.2 三元式 145
8.4.3 树形表示 146
8.4.4 四元式和三地址代码 146
8.5 自下向上的语法制导翻译 147
8.5.1 简单算术表达式和赋值语句的翻译 147
8.5.2 布尔表达式的翻译及在控制语句中的翻译 149
8.5.3 简单说明语句的翻译 153
8.5.4 含数组元素的赋值语句的翻译 154
8.6 学习加油站 157
本章小结 158
习题8 159
第9章 符号表与错误处理161
9.1 符号表 161
9.1.1 符号表的作用 161
9.1.2 符号表的组织 162
9.1.3 分程序结构语言符号表的建立 163
9.1.4 非分程序结构语言符号表的建立 165
9.1.5 常用符号表结构 165
9.1.6 常用符号内容 167
9.2 错误处理 167
9.2.1 语法错误校正 168
9.2.2 语义错误校正 173
9.3 学习加油站 175
本章小结 175
习题9 176
第10章 代码优化179
10.1 优化简介 179
10.2 局部优化 183
10.2.1 基本块的划分方法 183
10.2.2 基本块的DAG表示 184
10.2.3 利用DAG对基本块进行优化 187
10.3 循环优化 189
10.3.1 程序流图 189
10.3.2 循环 190
10.3.3 循环的查找 190
10.3.4 循环优化 191
10.4 窥孔优化 195
10.5 学习加油站 197
本章小结 199
习题10 200
第11章 目标代码生成201
11.1 代码生成概述 201
11.2 一个计算机模型 201
11.3 一个简单的代码生成器 202
11.3.1 寄存器的分配原则 202
11.3.2 待用信息链表法 202
11.3.3 代码生成算法 204
11.4 代码生成研究现状 206
11.4.1 限定几种高级语言和几种计算机 206
11.4.2 在计算机限定情况下的中间语言 206
11.4.3 高级语言限定情况下的中间语言 207
11.4.4 假想栈式抽象机 207
11.5 代码生成的自动化研究 207
11.6 学习加油站 209
本章小结 210
习题11 210
参考文献211
Copyright(C)清华大学出版社有限公司,All Rights Reserved 京ICP备10035462号 联系我们