图书介绍
编译原理与技术PDF|Epub|txt|kindle电子书版本网盘下载
![编译原理与技术](https://www.shukui.net/cover/36/30800501.jpg)
- 冯雁主编 著
- 出版社: 杭州:浙江大学出版社
- ISBN:7308038025
- 出版时间:2004
- 标注页数:320页
- 文件大小:13MB
- 文件页数:331页
- 主题词:编译程序-程序设计-高等学校-教材
PDF下载
下载说明
编译原理与技术PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 引论1
1.1 什么是编译程序1
1.2 编译器的基本阶段2
1.2.1 词法分析程序3
1.2.2 语法分析程序4
1.2.3 语义分析程序5
1.2.4 中间代码生成器6
1.2.5 代码优化程序6
1.2.6 目标代码生成器6
1.2.7 符号表管理7
1.2.8 错误处理8
1.3 与编译器有关的程序8
1.3.1 解释程序8
1.3.2 汇编程序8
1.3.3 链接和装入程序8
1.3.4 预处理器9
1.3.5 调试程序9
1.4 一个简单的编译程序9
1.4.1 语言概述9
1.4.2 词法分析程序10
1.4.3 递归下降语法分析14
1.4.4 中间代码生成及优化16
练习20
第2章 词法分析22
2.1 扫描处理及缓冲22
2.2 正规表达式26
2.3 有限自动机30
2.3.1 确定有限自动机31
2.3.2 非确定有限自动机37
2.4 从正则表达式到有限自动机39
2.4.1 从正规式到NFA39
2.4.2 从NFA到DFA42
2.4.3 状态数最小化46
2.5 词法分析中要解决的几个问题47
2.6 利用LEX建立词法分析器49
练习58
第3章 上下文无关文法与语言60
3.1 上下文无关文法的基本概念和定义60
3.2 分析和推导62
3.2.1 分析和推导62
3.2.2 分析树65
3.2.3 二义文法66
3.3 文法的设计68
3.3.1 验证由文法产生的语言68
3.3.2 消除二义性69
3.3.3 消除左递归72
3.3.4 提取左因子75
3.4 乔姆斯基层次及上下文无关文法的局限77
练习79
第4章 自顶向下语法分析82
4.1 递归程序实现预测语法的分析器82
4.2 非递归预测分析法84
4.3 First集和Follow集概念及构造86
4.4 预测分析表构造90
4.5 LL(1)文法92
4.6 预测分析中的错误恢复方法95
练习96
第5章 自下而上语法分析101
5.1 自底向上方法概述101
5.2 算符优先分析法104
5.2.1 算符优先分析算法106
5.2.2 优先函数108
5.2.3 算符优先分析中的出错处理109
5.3 LR语法分析器基本思想与概念112
5.3.1 LR文法116
5.4 SLR语法分析表构造122
5.5 规范LR语法分析表构造126
5.6 LALR语法分析表构造130
5.7 LR语法分析表的压缩136
5.8 LR语法分析中的错误恢复139
5.9 二义性文法应用141
5.9.1 使用优先级与结合规则解决动作的冲突142
5.9.2 悬空else的二义性144
5.9.3 特例产生式引起的二义性145
5.10 语法分析器自动生成工具YACC145
5.10.1 YACC工具介绍145
5.10.2 用YACC处理二义性148
5.10.3 用LEX建立YACC的词法分析器150
5.10.4 YACC中的错误恢复150
练习152
第6章 语法制导翻译156
6.1 语法制导定义157
6.2 属性的计算157
6.2.1 属性和属性语法157
6.2.2 依赖图162
6.2.3 计算次序165
6.2.4 自底向上计算继承属性172
6.2.5 临时属性的计算和外部数据结构175
6.2.6 Knuth定理180
6.3 类型检查180
6.3.1 类型系统181
6.3.2 类型表达式的等价189
6.3.3 类型推论和类型检查196
6.3.4 类型转换199
6.3.5 重载200
6.3.6 多态函数200
6.4 符号表202
6.4.1 符号表的表项和符号表的操作202
6.4.2 声明和同层声明203
6.4.3 符号表的数据结构207
6.4.4 作用域规则和块结构210
练习214
第7章 运行时环境219
7.1 存储组织及存储分配策略219
7.2 静态分配222
7.3 栈式224
7.3.1 没有局部过程的基于栈的环境225
7.3.2 带有局部过程的基于栈的运行时环境232
7.3.3 带有过程参数的基于栈的运行时环境235
7.4 堆式238
7.5 参数传递242
7.5.1 值传递242
7.5.2 引用传递243
7.5.3 值—结果传递245
7.5.4 名字传递245
练习246
第8章 中间代码生成250
8.1 中间语言251
8.1.1 后缀式251
8.1.2 图表示法251
8.1.3 三地址代码253
8.2 说明语句257
8.2.1 过程中的说明语句258
8.2.2 保留作用域信息258
8.2.3 记录中的域名261
8.3 赋值语句的翻译261
8.3.1 简单算术表达式及赋值语句261
8.3.2 数组元素的引用262
8.3.3 记录中域的引用269
8.4 布尔表达式的翻译269
8.4.1 数值表示法270
8.4.2 作为条件控制的布尔式表达翻译272
8.5 控制语句的翻译277
8.5.1 控制流语句277
8.5.2 标号与goto语句281
8.5.3 CASE语句的翻译283
8.6 过程调用的处理285
练习287
第9章 代码生成和代码优化289
9.1 代码生成器中的基本问题289
9.2 目标机器292
9.3 寄存器与临时单元的管理293
9.4 一个简单的代码生成器294
9.5 一个简单的寄存器分配方案296
9.6 代码生成器的自动化技术301
9.6.1 基于文法的代码生成器304
9.7 代码优化306
9.7.1 分析器优化306
9.7.2 线性优化306
9.7.3 语法树上的优化310
练习314
参考文献319