图书介绍
编译器构造 Java语言版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)赖斯著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302340553
- 出版时间:2014
- 标注页数:583页
- 文件大小:268MB
- 文件页数:600页
- 主题词:编译器-教材;JAVA语言-教材
PDF下载
下载说明
编译器构造 Java语言版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 字符串、语言和编译器1
1.1概述1
1.2语言的基本概念1
1.3编译器的基本概念2
1.4集合论中的基本概念4
1.5空串6
1.6连接6
1.7指数记法6
1.8星运算符(也称为0次或多次运算符)7
1.9串集合的连接8
1.10加运算符(也称为1次或多次运算符)9
1.11问号运算符(也称为0次或1次运算符)10
1.12包含单独一个串的集合的简便记法10
1.13运算符优先级11
1.14正规表达式11
1.15 正则表达式的局限性13
问题14
第2章 上下文无关文法(一)16
2.1概述16
2.2什么是上下文无关文法17
2.3基于上下文无关文法的推导18
2.4由上下文无关文法定义的语言19
2.5上下文无关文法的不同表示方法21
2.6一些简单文法22
2.7基于上下文无关文法的语言生成技术25
2.8正规文法和右线性文法30
2.9基于正规文法的计数32
2.10表的文法33
2.11一个不是上下文无关的重要语言38
问题39
第3章 上下文无关文法(二)42
3.1概述42
3.2语法分析树42
3.3最左和最右推导43
3.4替换45
3.5二义文法46
3.6确定可致空的非终结符51
3.7消除λ产生式52
3.8消除unit产生式55
3.9消除无用非终结符57
3.10递归转换62
3.11增加空串到语言67
问题68
第4章 上下文无关文法(三)73
4.1概述73
4.2算术表达式文法73
4.3文法中结合性和优先级的描述78
4.4 Backus-Naur范式80
4.5语法图82
4.6抽象语法树和三地址码84
4.7非收缩文法85
4.8基本非收缩文法85
4.9上下文无关文法到基本非收缩文法的转换86
4.10上下文无关语言的pumping特性88
问题92
第5章Chomsky层次(选讲)94
5.1概述94
5.2上下文有关产生式95
5.3上下文有关文法96
5.4非受限文法98
问题98
第6章 自上而下语法分析100
6.1概述100
6.2自上而下构造语法分析树100
6.3失败的语法分析102
6.4不适合自上而下语法分析的文法102
6.5确定的语法分析器103
6.6借助栈的语法分析器104
6.7用表来表示栈式语法分析器109
6.8处理不以终结符领头的产生式109
6.9用Java写一个栈式语法分析器110
问题117
第7章LL(1)文法120
7.1概述120
7.2产生式右端的FIRST集合120
7.3确定操作序列122
7.4确定λ产生式的选择集合124
7.5后跟-左端-后跟-最右规则127
7.6右端可致空的产生式的选择集合129
7.7包含输入结束符的选择集合130
7.8针对含lambda产生式文法的栈式语法分析器133
7.9将非LL(1)文法转换为LL(1)文法134
7.10用二义文法进行分析141
7.11计算FIRST和FOLLOW集合143
问题145
第8章 表驱动的栈式语法分析器(选讲)151
8.1概述151
8.2统一栈式语法分析器的操作152
8.3实现表驱动的栈式语法分析器154
8.4表驱动栈式语法分析器的改进159
8.5不确定的语法分析器——偏向理论的内容(选讲)160
问题162
第9章 递归-下降语法分析164
9.1概述164
9.2一个简单的递归-下降语法分析器164
9.3处理lambda产生式171
9.4一个公共错误175
9.5产生式的Java代码176
9.6递归-下降语法分析器中提取左公因子177
9.7消除尾递归182
9.8翻译星号、加号和问号算符185
9.9反向动作187
问题189
第10章 递归-下降翻译192
10.1概述192
10.2一个简单的翻译文法192
10.3转换翻译文法到Java代码193
10.4翻译文法的描述195
10.5在语法分析过程中传递信息207
10.6 L-属性文法213
10.7个新的单词符号管理器214
10.8解决单词符号向前一个字符看问题217
10.9新单词符号管理器的代码217
10.10前缀表达式编译器的翻译文法229
10.11趣用递归(选讲)233
问题236
第11章 汇编语言239
11.1概述239
11.2 J1计算机的结构239
11.3机器语言指令240
11.4汇编语言指令242
11.5压入字符242
11.6 aout指令243
11.7使用标号243
11.8使用汇编器245
11.9 stav指令248
11.10编译赋值语句249
11.11编译print和println252
11.12输出字符串253
11.13输入十进制数256
11.14入口指导语句257
11.15 更多的汇编语言内容257
问题257
第12章 一个简单的编译器S 1261
12.1概述261
12.2源语言261
12.3源语言的文法262
12.4目标语言263
12.5符号表264
12.6代码生成器264
12.7 token类265
12.8写出翻译文法265
12.9实现S1编译器272
12.10使用S 1287
12.11关于扩展S1编译器的忠告290
12.11.1更新单词符号管理器290
12.11.2先调试单词符号管理器291
12.11.3选择集合291
12.11.4使用必要的break语句291
12.11.5使用必要的Consume方法调用291
12.11.6正确地解释翻译文法292
12.12对于S2的描述292
问题296
第13章JavaCC(选讲)302
13.1概述302
13.2 JavaCC中扩展的正规表达式303
13.3 JavaCC输入文件308
13.4正规表达式动作描述315
13.5 S1j的JavaCC输入文件318
13.6 JavaCC产生的文件326
13.7使用星号和加号操作330
13.8选择点和向前看333
13.9 JavaCC的选择算法338
13.10语法和语义的向前看描述(选讲)342
13.11用JavaCC仅生成单词符号管理器344
13.12使用单词符号链346
13.13抑制警告信息349
问题350
第14章在S2基础上构造354
14.1概述354
14.2扩展println和print354
14.3级联赋值语句359
14.4一元加和减362
14.5 readint语句365
14.6从命令行控制单词符号踪迹的生成365
14.7 S3的规范366
问题366
第15章 编译控制结构370
15.1概述370
15.2 while语句370
15.3 if语句374
15.4 do-while语句377
15.5数字常量的范围检查378
15.6处理字符串中的反斜线-引号380
15.7用JavaCC处理反斜线(选讲)381
15.8 JavaCC中的全局块(选讲)386
15.9处理跨行字符串388
15.10用JavaCC处理跨行字符串(选讲)389
15.11 JavaCC中的SPECIAL TOKEN块(选讲)394
15.12错误恢复396
15.13 JavaCC中的错误恢复(选讲)400
15.14 S4的规范401
问题402
第16章 编译函数形式的程序405
16.1概述405
16.2分别汇编和连接405
16.3调用函数和从函数返回408
16.4 S5的源语言412
16.5 S5的符号表413
16.6 S5的代码生成器415
16.7 S5的翻译文法416
16.8与库连接427
16.9 S5规范428
16.10扩展S5(选讲)428
问题430
第17章 有限自动机433
17.1概述433
17.2确定有限自动机433
17.3转换DFA到正规表达式435
17.4 DFA的Java代码438
17.5非确定有限自动机441
17.6使用NFA作为一个算法443
17.7利用子集算法转换NFA到DFA444
17.8转换DFA到正规文法446
17.9转换正规文法到NFA448
17.10转换正规表达式到NFA449
17.11求出最小的DFA452
17.12正规语言的泵理论456
问题457
第18章 课程设计项目:用编译技术实现grep460
18.1概述460
18.2 grep程序的正规表达式461
18.3针对正规表达式的单词符号管理器462
18.4正规表达式的文法463
18.5正规表达式编译器的目标语言465
18.6用NFA进行模式匹配471
问题474
第19章 编译到面向寄存器的结构476
19.1概述476
19.2使用寄存器指令集477
19.3修改R1符号表478
19.4 R1的语法分析器和代码生成器480
问题487
第20章 优化488
20.1概述488
20.2使用ldc指令489
20.3重用临时变量490
20.4常量合并494
20.5寄存器分配496
20.6窥孔优化498
问题502
第21章 解释器506
21.1概述506
21.2转换S1到11507
21.3解释转移控制的语句510
21.4实现编译:解释器CI 1512
21.5解释器的优点517
问题517
第22章 自下而上语法分析519
22.1概述519
22.2自下而上语法分析原理519
22.3语法分析:右递归文法对比左递归文法522
22.4用二义文法进行自下而上语法分析523
22.5不归约规则526
22.6 SLR(1)语法分析528
22.7移进/归约冲突533
22.8归约/归约冲突535
22.9 LR(1)语法分析537
问题540
第23章yacc542
23.1概述542
23.2 yacc输入和输出文件542
23.3一个yacc-生成的简单语法分析器543
23.4用取值栈传递值551
23.5对二义文法使用yacc556
23.6在语法分析树中传递值559
23.7实现Sly560
23.8 jflex567
问题574
附录A栈指令集576
附录B寄存器指令集580
参考文献583
热门推荐
- 2673725.html
- 2780531.html
- 2956239.html
- 3785668.html
- 3744901.html
- 3735062.html
- 452877.html
- 3805558.html
- 60844.html
- 2304543.html
- http://www.ickdjs.cc/book_1449456.html
- http://www.ickdjs.cc/book_1478102.html
- http://www.ickdjs.cc/book_2205531.html
- http://www.ickdjs.cc/book_447227.html
- http://www.ickdjs.cc/book_2453981.html
- http://www.ickdjs.cc/book_2535131.html
- http://www.ickdjs.cc/book_2488161.html
- http://www.ickdjs.cc/book_476257.html
- http://www.ickdjs.cc/book_1787850.html
- http://www.ickdjs.cc/book_3389593.html