当前位置:首页 > 工业技术
编译原理
编译原理

编译原理PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:蒋立源等编
  • 出 版 社:西安:西北工业大学出版社
  • 出版年份:1993
  • ISBN:7561203896
  • 页数:325 页
图书介绍:
《编译原理》目录
标签:编译 原理

第一章 绪论 1

1.1 编译过程概述 2

1.2 编译程序的逻辑结构 3

1.2.1 词法分析程序 4

1.2.2 语法分析程序 5

1.2.3 语义分析程序 6

1.2.4 中间代码生成 6

1.2.5 代码优化程序 7

1.2.6 目标代码生成程序 8

1.2.7 错误检查和处理程序 9

1.2.8 信息表管理程序 9

1.3 编译程序的组织 10

习题 11

第二章 前后文无关文法和语言 12

2.1 文法及语言的表示 12

2.2 文法和语言的定义 13

2.2.1 基本概念和术语 13

2.2.2 文法和语言的形式定义 15

2.3 句型的分析 20

2.3.1 规范推导和规范归约 21

2.3.2 语法树和二义性 23

2.3.3 短语和句柄 27

2.4 文法的化简和改造 29

2.4.1 无用符号和无用产生式的删除 29

2.4.2 ε-产生式的消除 31

2.4.3 单产生式的消除 33

2.5 文法和语言的Chomsky分类 34

习题 37

第三章 词法分析及词法分析程序 41

3.1 设计扫描器时应考虑的几个问题 41

3.1.1 源程序的输入及预处理 41

3.1.2 词法分析阶段的必要性 42

3.1.3 单词符号的内部表示 43

3.1.4 识别标识符的若干约定和策略 43

3.2 正规文法和状态转换图 45

3.2.1 由正规文法构造状态转换图 45

3.2.2 状态转换图的一种实现——状态矩阵法 49

3.3.1 确定的有限自动机 52

3.3 有限自动机 52

3.3.2 非确定的有限自动机 54

3.3.3 NFA与DFA的等价性 55

3.3.4 具有ε动作的FA 58

3.3.5 具有ε动作的NFA的确定化 61

3.3.6 DFA状态数的最小化 63

3.4 正规表达式与正规集 66

3.4.1 正规表达式与正规集的定义 67

3.4.2 由正规文法构造相应的正规式 68

3.4.3 由正规式构造FA 71

3.5 词法分析程序的实现 73

3.5.1 词法分析程序的编写 74

3.5.2 词法分析程序的自动生成 77

习题 82

上机实习题 86

第四章 语法分析和语法分析程序 89

4.1 自顶向下的语法分析 89

4.1.1 消除文法的左递归 91

4.1.2 带回溯的递归子程序法 94

4.1.3 回溯的消除与LL(1)文法 96

4.1.4 LL(1)分析器的工作原理 97

4.1.5 LL(1)分析器的构造方法 102

4.1.6 某些非LL(1)文法的改造 103

4.2 自底向上的语法分析 105

4.2.1 简单优先分析法 107

4.2.2 算符优先分析法 116

4.2.3 优先函数 124

4.2.4 LR分析法 130

4.3.1 YSP文件的结构 147

4.3 语法分析程序的自动生成工具——YACC 147

4.3.2 YSP文件说明部分的组成 149

4.3.3 YSP文件语法规则部分的组成 150

4.3.4 程序部分 151

4.3.5 二义性文法的处理 151

4.3.6 YACC应用实例 152

习题 154

上机实习题 161

第五章 语法制导翻译及中间代码生成 163

5.1 引言 163

5.2.1 逆波兰表示 165

5.2 几种常见的中间语言 165

5.2.2 四元式和三元式 168

5.2.3 树形表示 171

5.3 简单算术表达式和赋值语句的翻译 172

5.4 布尔表达式的翻译 176

5.5 一些控制语句的翻译 181

5.5.1 语句标号和GOTO语句的翻译 181

5.5.2 用于组织控制流程的一些语句的翻译 184

5.5.3 循环语句的翻译 192

5.5.4 情况语句的翻译 195

5.6 含数组元素的算术表达式及赋值语句的翻译 198

5.6.1 下标变量地址的计算 199

5.6.2 含有下标变量的赋值语句的翻译 201

5.7 过程说明和过程调用的翻译 204

5.7.1 过程说明的翻译 204

5.7.2 实参和形参间的信息传递 205

5.7.3 过程语句的翻译 209

5.8 类型说明与数组说明的翻译 211

习题 213

上机实习题 217

第六章 符号表 219

6.1 符号表的组织 219

6.2 PASCAL符号表的建立与查找 222

6.3 FORTRAN符号表的建立 226

习题 229

第七章 运行时的存贮组织与分配 231

7.1 存贮组织 231

7.1.1 运行时内存的划分 231

7.1.2 活动记录 232

7.2 运行时的分配策略 233

7.2.1 静态分配 233

7.2.2 栈式分配 234

7.2.3 堆式分配 236

7.3 FORTRAN的存贮组织与分配 237

7.3.1 FORTRAN数据区及其组织 237

7.3.2 COMMON语句的处理 239

7.3.3 EQUIVALENCE语句的处理 243

7.3.4 FORTRAN数据区的地址分配 246

习题 250

第八章 代码优化 253

8.1 局部优化 253

8.1.1 划分基本块的算法 255

8.1.2 基本块的DAG表示 255

8.1.3 利用DAG进行基本块上的优化处理 258

8.1.4 含有数组元素、指针及过程调用的DAG 261

8.2 数据流分析的若干问题 263

8.2.1 控制流程图 263

8.2.2 “到达-定值”数据流方程及“引用-定值”链 264

8.2.3 “引用-定值”链的计算及应用 268

8.2.4 活跃变量数据流方程 269

8.2.5 “定值-引用”链 271

8.3 循环优化 274

8.3.1 循环的查找 274

8.3.2 循环优化的某些项目 278

习题 291

上机实习题 296

9.1 目标代码的形式 297

第九章 目标代码生成 297

9.2 一种假想的计算机模型 299

9.3 一种代码生成程序的雏型 301

9.3.1 待用信息 302

9.3.2 寄存器描述符与地址描述符 303

9.3.3 生成目标代码的算法 304

9.4 DAG的代码生成 307

9.5 全局寄存器分配 309

习题 312

上机实习题 313

第十章 查错与改错 315

10.1 语法错误的校正 316

10.1.1 单词错误的校正 316

10.1.2 自顶向下分析中的错误校正 317

10.1.3 自底向上分析中的错误校正 320

10.2 语义错误的校正 322

10.2.1 遏止株连信息 323

10.2.2 遏止重复信息 323

习题 324

参考文献 325

相关图书
作者其它书籍
返回顶部