图书介绍
编译原理及编译程序构造2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 张莉,杨海燕,史晓华,金茂忠,高仲仪编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302263142
- 出版时间:2011
- 标注页数:439页
- 文件大小:28MB
- 文件页数:455页
- 主题词:编译程序-程序设计-高等学校-教材
PDF下载
下载说明
编译原理及编译程序构造PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 绪论1
1.1什么是程序设计语言1
1.1.1程序设计语言的定义方法2
1.1.2程序设计语言的处理系统2
1.1.3编译程序和解释程序3
1.1.4 T形图4
1.2与编译程序相关的处理系统5
1.2.1各种翻译程序5
1.2.2预处理器6
1.2.3宏处理器6
1.3编译程序和程序设计环境7
1.4编译程序的构造8
1.5编译技术在软件工程中的应用13
练习115
第2章 文法和语言的概念和表示16
2.1文法的非形式讨论16
2.1.1语法树16
2.1.2规则17
2.1.3由规则推导句子17
练习2.119
2.2符号、符号串及其集合的运算20
2.2.1字母表和符号串20
2.2.2符号串及其集合的运算20
练习2.222
2.3文法和语言的形式定义22
2.3.1文法的形式定义22
2.3.2推导的形式定义24
2.3.3语言的形式定义24
2.3.4递归规则与递归文法26
2.3.5短语、简单短语和句柄27
练习2.328
2.4语法树和二义性29
2.4.1推导与语法树29
2.4.2文法的二义性33
练习2.436
2.5符号串的分析37
2.5.1自顶向下分析38
2.5.2自底向上分析38
2.6有关文法的实用限制40
练习2.541
2.7扩充的BNF表示和语法图41
2.7.1扩充的BNF表示41
2.7.2语法图43
2.8文法和语言分类43
第3章 词法分析46
3.1词法分析程序的功能及实现方案46
3.2单词的种类及词法分析程序的输出形式47
3.3正则文法及其状态图48
3.3.1状态图49
3.3.2状态图的使用49
3.4词法分析程序的设计与实现50
3.4.1文法及其状态图50
3.4.2词法分析程序的构造51
3.4.3词法分析程序的实现53
练习3.156
3.5正则文法与正则表达式56
3.5.1正则表达式57
3.5.2正则文法转换为正则表达式59
3.5.3正则表达式转换为正则文法59
3.6有穷自动机(FA)60
3.6.1确定的有穷自动机(DFA)60
3.6.2不确定的有穷自动机(NFA)61
3.6.3 NFA的确定化63
3.6.4确定有穷自动机的化简(最小化)65
3.6.5正则表达式与有穷自动机的等价性67
3.6.6正则文法与有穷自动机的等价性70
3.7词法分析程序的自动生成器71
3.7.1 LEX源程序(LEX的输入文件)72
3.7.2 LEX的实现73
练习3.276
第4章 语法分析78
4.1自顶向下分析方法78
4.1.1带回溯的自顶向下分析方法78
4.1.2存在的问题及解决办法80
练习4.185
4.2递归下降分析法(递归子程序法)85
练习4.290
4.3 LL(1)分析方法91
4.3.1 LL(1)分析器的逻辑结构及工作过程91
4.3.2 LL(1)分析表的构造方法94
练习4.397
4.4自底向上分析方法99
4.5算法优先分析法101
4.5.1方法概述101
4.5.2直观算符优先分析法102
4.5.3算符优先分析法的进一步讨论105
练习4.4110
4.6 LR语法分析方法110
4.6.1概念和术语111
练习4.5112
4.6.2 LR分析算法113
练习4.6117
4.6.3 LR文法117
4.6.4构造SLR语法分析表118
练习4.7122
练习4.8124
4.6.5构造规范LR语法分析表125
练习4.9130
4.6.6构造LALR语法分析表130
练习4.10134
4.7二义文法的应用135
4.8 LR语法分析中的错误恢复136
练习4.11137
第5章 符号表管理技术138
5.1概述138
5.1.1什么是符号表138
5.1.2何时建立和访问符号表138
5.1.3符号表的重要性和作用140
5.1.4在符号表上的操作140
5.2符号表的组织和内容141
5.2.1符号表的结构与内容141
5.2.2符号表的组织方式143
5.3非分程序结构语言的符号表组织144
5.3.1标识符的作用域及基本处理方法145
5.3.2符号表的组织方式145
5.4分程序结构语言的符号表组织150
5.4.1标识符的作用域及基本处理方法150
5.4.2定位和重定位操作151
5.4.3符号表的组织方式152
练习5155
第6章 运行时的存储组织及管理157
6.1静态存储分配157
练习6.1159
6.2动态存储分配159
6.2.1活动记录160
6.2.2参数区161
6.2.3 display区161
6.2.4运行时的地址计算163
6.2.5递归过程的处理164
练习6.2166
第7章 源程序的中间形式168
7.1波兰表示168
7.2 N元表示169
7.3抽象语法树171
7.4抽象机代码172
7.4.1可移植性和抽象机172
7.4.2 Pascal的P-code抽象机173
7.4.3 P-code指令174
练习7175
第8章 错误处理176
8.1概述176
8.2错误的分类177
8.3错误的诊察与报告177
8.4错误处理技术179
8.4.1错误改正179
8.4.2错误局部化处理179
8.4.3目标程序运行时的错误检测与处理182
8.4.4遏止重复的错误信息182
第9章 语法制导翻译技术183
9.1翻译文法(TG: Translation Grammar)184
9.2语法制导翻译186
9.3属性翻译文法(ATG: Attribute TG)187
9.3.1综合属性187
9.3.2继承属性189
9.3.3属性翻译文法概述190
9.3.4属性翻译文法举例——算术表达式的翻译191
练习9.1193
9.4自顶向下语法制导翻译195
9.4.1翻译文法的自顶向下翻译195
练习9.2200
9.4.2属性翻译文法的自顶向下翻译201
练习9.3212
9.5自底向上语法制导翻译213
9.5.1波兰翻译214
9.5.2 S-属性文法214
练习9.4216
第10章 语义分析和代码生成218
10.1语义分析的概念218
10.2栈式抽象机及其汇编指令220
10.3声明的处理221
10.3.1常量类型222
10.3.2简单变量223
10.3.3数组变量224
10.3.4记录变量226
10.3.5过程声明226
10.4表达式227
10.5赋值语句233
10.6控制语句234
10.6.1 if语句234
10.6.2分情形语句236
10.6.3 repeat-while语句238
10.6.4 for循环语句239
10.7过程调用和返回240
10.7.1参数的基本传递形式241
10.7.2过程调用242
10.7.3返回语句和过程终止245
10.8输入和输出语句246
10.8.1输入语句246
10.8.2输出语句248
10.9编译程序的辅助功能249
练习10250
第11章 代码优化251
11.1基本块和流图252
11.2基本块内优化254
11.2.1基本块的DAG图表示254
11.2.2消除局部公共子表达式255
11.2.3数组、指针及函数调用255
11.2.4从DAG图重新导出中间代码256
11.2.5窥孔优化258
11.2.6常数合并和传播259
11.3全局优化260
11.3.1数据流分析260
11.3.2活跃变量分析264
11.3.3定义-使用链、网和冲突图266
11.3.4消除全局公共子表达式269
11.3.5复制传播270
11.3.6死代码删除270
11.4循环优化271
11.4.1循环交换271
11.4.2循环展开272
11.4.3代码外提和循环强度削弱272
练习11273
第12章 目标代码生成275
12.1微处理器体系结构简介276
12.1.1指令集架构276
12.1.2存储层次架构279
12.1.3流水线281
12.2地址空间283
12.2.1程序地址空间的实例分析284
12.2.2程序运行栈的设计286
12.3寄存器的分配和指派288
12.3.1全局寄存器分配289
12.3.2临时寄存器分配291
12.4指令选择292
练习12294
第13章 编译程序生成方法和工具296
13.1编译程序的书写语言296
13.2自展297
13.3移植298
13.4编译程序的生成工具299
13.4.1语法分析器的生成器Yacc299
13.4.2用Yacc处理二义文法302
13.4.3用Lex建立Yacc的词法分析器304
13.4.4 Yacc的错误恢复305
练习13306
第14章PL/O简单编译系统307
14.1 PL/O语言307
14.2 PL/O编译系统结构311
14.3 PL/O的词法分析312
14.4 PL/O的语法分析313
14.5出错处理315
14.6目标代码的生成和解释执行316
14.7 PL/O程序编译和运行举例318
第15章Pascal-S编译系统328
15.1 Pascal-S语言328
15.2 Pascal-S编译程序的结构333
15.3 Pascal-S编译程序336
15.3.1表格337
15.3.2编译初启342
15.3.3实用程序343
15.3.4词法分析及处理343
15.3.5语法分析处理344
15.3.6出错处理349
15.4 Pascal-S解释执行程序351
15.4.1 P-code指令系统351
15.4.2运行栈353
15.4.3运行时的display354
15.4.4运行出错处理和现场剖析打印355
15.5编译及运行的例子356
附录A PL/O编译系统源代码366
附录B Pascal-S编译系统源代码382
参考文献439
热门推荐
- 3589378.html
- 2698906.html
- 3512640.html
- 303373.html
- 2578667.html
- 237948.html
- 534813.html
- 925465.html
- 2120329.html
- 2853817.html
- http://www.ickdjs.cc/book_3700150.html
- http://www.ickdjs.cc/book_552761.html
- http://www.ickdjs.cc/book_2595612.html
- http://www.ickdjs.cc/book_2009149.html
- http://www.ickdjs.cc/book_567104.html
- http://www.ickdjs.cc/book_3829187.html
- http://www.ickdjs.cc/book_2662146.html
- http://www.ickdjs.cc/book_126219.html
- http://www.ickdjs.cc/book_1479190.html
- http://www.ickdjs.cc/book_3855222.html