编译原理
¥
13.19
3.8折
¥
35
九品
仅1件
作者龚宇辉
出版社电子工业出版社
出版时间2018-06
版次1
装帧其他
货号A8
上书时间2024-12-02
商品详情
- 品相描述:九品
图书标准信息
-
作者
龚宇辉
-
出版社
电子工业出版社
-
出版时间
2018-06
-
版次
1
-
ISBN
9787121337314
-
定价
35.00元
-
装帧
其他
-
开本
16开
-
纸张
轻型纸
-
页数
196页
-
字数
314千字
- 【内容简介】
-
本书系统地阐述了编译原理的一般理论、常用方法和实现技术。主要内容包括形式语言基础知识、词法分析、语法分析、中间代码生成、代码优化、目标代码生成、符号表的构造和运行时存储空间的组织等部分。本书系统性强,内容循序渐进,实例丰富。对算法的描述深入浅出,文字简练,通俗易懂。每章都配有各种类型的习题。
- 【作者简介】
-
长春工业大学软件学院教授,博士;美国ACM会员,中国计算机学会CCF会员,吉林省省政府政务大厅评标专家;发表学术论文30余篇,其中SCI、EI检索20余篇;完成专著2部,出版教材近10部。
- 【目录】
-
第1章 编译简述1
1.1 程序的翻译1
1.1.1 程序设计语言1
1.1.2 编译程序2
1.1.3 实现高级语言的编译方式2
1.2 编译程序的组成3
1.2.1 编译程序的构成4
1.2.2 遍5
1.2.3 编译程序前端和后端5
1.3 编译程序的构造5
1.4 小结6
复习思考题7
第2章 形式语言与词法分析8
2.1 字母表和符号串的基本概念8
2.1.1 字母表和符号串9
2.1.2 符号串的运算10
2.2 文法和语言的形式定义11
2.2.1 形式语言12
2.2.2 文法的形式定义13
2.2.3 语言的形式定义14
2.3 语法树与文法二义性17
2.3.1 语法树17
2.3.2 文法二义性18
2.4 文法和语言的分类19
2.5 词法分析的任务20
2.5.1 词法分析的任务描述20
2.5.2 词法分析器与语法分析器的接口20
2.6 词法分析程序的输出形式21
2.6.1 单词符号的分类21
2.6.2 词法分析程序单词的输出形式22
2.6.3 词法错误23
2.7 词法分析程序的设计与实现24
2.7.1 输入和预处理功能24
2.7.2 单词符号的识别25
2.7.3 状态转换图26
2.7.4 状态转换图的实现26
2.8 正规表达式与有限自动机27
2.8.1 正规表达式与正规集28
2.8.2 有限自动机31
2.9 词法分析程序的自动生成工具Lex40
2.10 实例语言的词法分析程序43
2.10.1 微小语言Micro43
2.10.2 Micro的词法分析43
2.11 小结45
复习思考题46
第3章 自顶向下语法分析50
3.1 自顶向下分析的一般方法51
3.2 LL(1)文法52
3.2.1 消除左递归52
3.2.2 提取左因子53
3.3 递归下降分析法58
3.4 LL(1)分析法60
3.4.1 非递归预测分析器60
3.4.2 构造预测分析表62
3.5 预测分析中的错误处理63
3.6 小结64
复习思考题64
第4章 自底向上语法分析66
4.1 自底向上分析的基本概念66
4.1.1 归约66
4.1.2 句柄67
4.1.3 用栈实现自底向上分析68
4.1.4 移进-归约分析的冲突69
4.2 算符优先分析70
4.2.1 直观算符优先分析法71
4.2.2 算符优先文法的定义73
4.2.3 算符优先关系表的构造74
4.2.4 算符优先分析算法75
4.2.5 优先函数76
4.2.6 算符优先分析法的局限性78
4.3 LR分析法78
4.3.1 LR分析算法79
4.3.2 LR文法和LR分析方法的特点81
4.3.3 构造LR(0)分析表82
4.3.4 构造SLR(1)分析表88
4.3.5 构造规范的LR分析表92
4.3.6 构造LALR分析表95
4.3.7 二义文法的应用97
4.4 语法分析程序的自动生成工具YACC101
4.5 实例语言编译程序的语法分析104
4.6 小结106
复习思考题107
第5章 语义分析与中间代码的生成110
5.1 语义分析的任务110
5.1.1 语义分析的概念110
5.1.2 语义分析的任务111
5.2 语法制导翻译111
5.2.1 属性文法111
5.2.2 语法制导翻译方法111
5.3 中间代码112
5.3.1 逆波兰表示法112
5.3.2 四元式112
5.3.3 三元式113
5.3.4 间接三元式113
5.3.5 抽象语法树114
5.4 说明语句的翻译114
5.4.1 简单说明语句的翻译114
5.4.2 过程中的说明115
5.5 赋值语句的翻译115
5.5.1 简单算术表达式和赋值语句的翻译115
5.5.2 数组的翻译117
5.6 布尔表达式的翻译117
5.7 控制语句的翻译120
5.7.1 条件语句if的翻译121
5.7.2 循环语句while的翻译122
5.7.3 三种基本控制结构的翻译123
5.8 过程调用的翻译124
5.9 实例编译程序的语义分析125
5.10 小结127
复习思考题127
第6章 符号表管理131
6.1 符号表的作用131
6.1.1 收集标识符属性信息131
6.1.2 符号表内容为上下文语义的合法性检查提供依据132
6.1.3 作为目标代码生成阶段编译程序分配地址空间的依据132
6.2 符号表的主要内容132
6.2.1 符号名132
6.2.2 符号的类型133
6.2.3 符号的存储类型133
6.2.4 符号的作用域及可视性133
6.2.5 符号变量的存储分配信息134
6.2.6 符号的其他属性136
6.3 符号表的组织136
6.3.1 符号表的总体组织136
6.3.2 符号表项的组织138
6.4 符号表的管理142
6.4.1 符号表的初始化142
6.4.2 符号的插入143
6.4.3 符号的查找145
6.5 小结146
复习思考题146
第7章 运行时的存储组织与分配147
7.1 存储组织概述147
7.1.1 运行时内存的划分147
7.1.2 过程活动记录149
7.2 静态存储分配150
7.3 栈式动态存储分配151
7.3.1 栈的结构151
7.3.2 活动树和简单的栈式存储分配151
7.3.3 嵌套过程语言的栈式实现153
7.4 堆式动态存储分配154
7.5 小结156
复习思考题156
第8章 代码优化158
8.1 局部优化159
8.1.1 基本块的划分159
8.1.2 利用基本块DAG进行优化162
8.2 循环优化166
8.2.1 程序流图166
8.2.2 循环的查找167
8.2.3 循环优化169
8.3 小结171
复习思考题171
第9章 目标代码生成173
9.1 目标代码的形式173
9.2 假想的计算机模型174
9.3 一个简单的代码生成程序175
9.3.1 待用信息和活跃信息175
9.3.2 寄存器描述和地址描述175
9.3.3 代码生成算法176
9.3.4 寄存器选择函数177
9.3.5 为变址和指针语句产生代码178
9.3.6 条件语句178
9.4 小结180
复习思考题180
附录A C语言实现的实例语言编译程序181
附录B YACC语言实现的实例语言编译程序184
参考文献185
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价