《编译程序设计原理》求取 ⇩

1

第一章语言的基本知识1

1.1基本定义1

1.1.1文法的讨论1

1.1.2字母表5

1.1.3符号串6

1.1.4文法和语言的形式定义9

1.2分析树(parse tree)和二义性18

1.2.1分析树18

1.2.2子树21

1.2.3二义性23

1.3形式语言概观27

练习29

第二章编译概述31

2.1翻译和解释31

2.2编译程序的组成部分33

2.3有关编译程序的设计与实现37

第三章词法分析42

3.1词法分析程序的功能42

3.1.1单词符号的种别和属性43

3.2输入缓冲47

3.1.2词法分析程序作为一个独立子程序47

3.3 正规表达式与正规集51

3.4正规表达式与正规文法55

3.5词法与正规文法58

3.5.1文法的分解58

3.5.2基本符号的文法58

3.6状态转换图与基本符号的识别63

3.6.1状态转换图63

3.6.2状态转换图的实现68

3.7有限自动机71

3.7.1确定的有限自动机(DFA)72

3.7.2非确定有限自动机(NFA)75

3.7.3具有ε-转移的非确定有限自动机78

3.7.4正规文法与有限自动机(FA)的等价性82

3.7.5有限自动机与正规表达式的等价性87

3.7.6确定有限自动机的化简92

练习97

第四章语法分析100

4.1语法分析器的作用100

4.2上下文无关文法101

4.3.1关于消除二义性105

4.3书写文法105

4.3.2消除左递归107

4.3.3提取左因子112

4.4自顶向下分析113

4.4.1递归下降分析方法113

4.4.2预测分析器116

4.4.3预测分析器的转换图121

4.4.4非递归的预测分析方法126

4.4.5函数FIRST和FOLLOW129

4.4.6预测分析表的构造132

4.4.7 LL(1)文法133

4.4.8在预测分析法中的错误处理示例134

4.5自底向上分析137

4.5.1规范归约137

4.5.2“移进-归约”分析法的栈实现142

4.6算符优先分析法146

4.6.1利用算符优先关系寻找右句型的可归约串149

4.6.2算符优先关系表的构造152

4.6.3优先函数154

4.6.4算符优先分析法的错误处理示例156

4.7.1 LR分析器的逻辑结构及工作过程159

4.7 LR分析器159

4.7.2 SLR分析表的构造163

4.7.3LR(1)分析表的构造178

4.7.4 LALR分析表的构造185

4.8 LR分析法对二义文法的应用197

练习202

第五章语法制导翻译208

5.1语法制导定义209

5.1.1语法制导定义的形式210

5.1.2综合属性211

5.1.3继承属性212

5.1.4依赖图214

5.1.5计算顺序217

5.2语法树(syntax tree)的构造218

5.2.1语法树219

5.2.2建立表达式的语法树220

5.2.3建立语法树的语法制导定义221

5.2.4关于表达式的有向非循环图223

5.3 S-属性定义及其自底向上的计算225

5.4 L-属性定义229

5.4.1 L-属性定义230

5.4.2翻译模式231

5.5.1从翻译模式中消除左递归236

5.5自顶向下的翻译236

5.5.2预测翻译器的设计242

5.6自底向上计算继承属性244

5.6.1从翻译模式中去掉嵌入的动作245

5.6.2分析栈中的继承属性246

5.6.3模拟继承属性的计算248

5.7递归求值254

练习262

6.1有关源语言中的一些问题的讨论265

第六章运行时刻环境265

6.1.1过程266

6.1.2活动树267

6.1.3控制栈270

6.1.4说明的作用域271

6.1.5名字的联编272

6.1.6提出的问题273

6.2存储组织274

6.2.1运行时刻内存的划分274

6.2.2活动记录275

6.2.3编译时刻的局部数据的设计277

6.3.1静态存储分配278

6.3运行时刻存储分配策略278

6.3.2栈式存储分配282

6.3.3堆式存储分配288

6.4对非局部名字的访问289

6.4.1块290

6.4.2不含嵌套过程的词法作用域293

6.4.3含有嵌套过程的词法作用域294

6.4.4动态作用域301

6.5参数传递303

6.5.1传值调用304

6.5.2引用调用305

6.5.3复制恢复307

6.5.4传名调用308

6.6符号表309

6.6.1符号表的表项309

6.6.2线性表(linear list)312

6.6.3散列表313

6.6.4表示作用域的信息316

练习319

第七章中间代码生成324

7.1中间语言324

7.1.1图表示法324

7.1.2三地址代码327

7.1.3三地址语句的种类328

7.1.4语法制导翻译生成三地址代码329

7.1.5三地址代码的具体实现331

7.2说明语句334

7.2.1过程中的说明语句334

7.2.2保留作用域信息336

7.2.3记录中的域名339

7.3赋值语句340

7.3.1符号表中的名字340

7.3.2数组元素地址分配342

7.3.3访问数组元素的翻译模式345

7.3.4访问记录中的域349

7.4布尔表达式349

7.4.1翻译布尔表达式的方法350

7.4.2数值表示法350

7.4.3控制流语句352

7.4.4控制流语句中的布尔表达式的翻译355

7.5 CASE语句358

7.6回填359

7.6.1使用回填翻译布尔表达式360

7.6.2使用回填翻译控制流语句365

7.7过程调用371

7.6.3标号和转移语句371

练习374

第八章代码生成377

8.1目标机器378

8.2运行存储管理382

8.2.1静态分配管理383

8.2.2栈式分配管理385

8.2.3名字的运行地址389

8.3基本块和流图390

8.3.1基本块390

8.3.2流图392

8.4下次引用信息393

8.5一个简单的代码生成器395

8.5.1寄存器描述器和地址描述器396

8.5.2代码生成算法397

8.6基本块的dag表示法402

8.6.1 dag的构造405

8.6.2 dag的应用407

8.7从dag生成目标代码411

练习415

参考文献417

1990《编译程序设计原理》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由杜淑敏,王永宁等编著 1990 北京:北京大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

编译程序设计理论(1984 PDF版)
编译程序设计理论
1984 北京:科学出版社
程序设计语言 编译原理( PDF版)
程序设计语言 编译原理
编译原理及编译程序构造(1995年12月第1版 PDF版)
编译原理及编译程序构造
1995年12月第1版 东南大学出版社
程序设计语言编译原理(1984.06 PDF版)
程序设计语言编译原理
1984.06 国防工业出版社
机械原理电算程序设计(1994 PDF版)
机械原理电算程序设计
1994 焦作矿业学院机械设计教研室
微型计算机原理与程序设计(1986 PDF版)
微型计算机原理与程序设计
1986 成都:四川大学出版社
计算机基本原理与程序设计(1983 PDF版)
计算机基本原理与程序设计
1983 长沙:湖南科学技术出版社
Java并发程序设计 设计原理与模式(1998 PDF版)
Java并发程序设计 设计原理与模式
1998 北京:北京大学出版社
机械原理电算程序设计(1986 PDF版)
机械原理电算程序设计
1986 北京:中国展望出版社
程序设计语言编译方法(1988 PDF版)
程序设计语言编译方法
1988 大连:大连理工大学出版社
机械原理电算程序设计(1985 PDF版)
机械原理电算程序设计
1985 哈尔滨:哈尔滨工业大学出版社
编译程序原理与技术(1997 PDF版)
编译程序原理与技术
1997 北京市:清华大学出版社
程序设计语言编译原理(1980 PDF版)
程序设计语言编译原理
1980 北京:国防工业出版社
编译原理及编译程序构造(1990 PDF版)
编译原理及编译程序构造
1990 北京:北京航空航天大学出版社
程序设计语言与编译(1997 PDF版)
程序设计语言与编译
1997 北京:电子工业出版社