《编译原理重点难点分析·习题解析·实验指导》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:黄贤英等主编
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2008
  • ISBN:711123068X
  • 页数:185 页
图书介绍:本书是编译原理课程的教学辅导书,包括习题解析和实验指导。

前言 1

第一篇 习题篇 1

第1章 编译原理概述 1

1.1重点与难点 1

1.1.1编译程序 1

1.1.2编译程序各阶段的任务 1

1.1.3编译程序的结构 2

1.2典型例题解析 2

1.3习题及答案 4

1.3.1习题 4

1.3.2习题答案 6

第2章 形式语言基本知识 8

2.1重点与难点 8

2.1.1文法的基本概念 8

2.1.2文法的二义性 8

2.2典型例题解析 8

2.3习题及答案 12

2.3.1习题 12

2.3.2习题答案 16

第3章 词法分析 21

3.1重点与难点 21

3.1.1词法分析器的功能及设计 21

3.1.2正规式与有穷自动机 21

3.1.3正规文法与有穷自动机的等价性 23

3.1.4正规式与有穷自动机的等价性 23

3.1.5符号表 24

3.2典型例题解析 25

3.3习题及答案 29

3.3.1习题 29

3.3.2习题答案 31

第4章 语法分析 37

4.1重点与难点 37

4.1.1语法分析器的功能 37

4.1.2自上而下分析法 37

4.1.3自下而上分析法 38

4.2典型例题解析 43

4.3习题及答案 51

4.3.1习题 51

4.3.2习题答案 56

第5章 语义分析和中间代码生成 70

5.1重点与难点 70

5.1.1语义分析的功能 70

5.1.2属性文法 70

5.1.3中间代码的形式 70

5.1.4语法制导的翻译方法 70

5.1.5典型语句的翻译 71

5.2典型例题解析 75

5.3习题及答案 77

5.3.1习题 77

5.3.2习题答案 79

第6章 代码优化和目标代码生成 85

6.1重点与难点 85

6.1.1运行时的存储分配 85

6.1.2局部优化 86

6.1.3循环优化 86

6.1.4目标代码生成 87

6.2典型例题解析 88

6.3习题及答案 91

6.3.1习题 91

6.3.2习题答案 95

第二篇 实验篇 98

第7章 实验预备知识 98

7.1实验介绍 98

7.2 Sample语言编译程序的实现方法 98

7.3 Sample语言的定义 99

7.4符合Sample语言定义的源程序示例 101

第8章 词法分析器及算法的设计与实现 102

8.1词法分析器的设计 102

8.1.1目的与要求 102

8.1.2词法分析器实现中的约定 102

8.1.3词法分析器的总体设计 102

8.1.4词法分析程序的详细设计 104

8.2.词法分析器的实现 105

8.2.1词法分析器总控程序的实现 105

8.2.2定义符号表,编写查找和插入函数 106

8.2.3单词识别函数的编写 110

8.2.4调试和运行结果 113

8.3词法分析核心算法的设计 114

8.3.1正规式转换为不确定的有穷自动机算法 114

8.3.2不确定的有穷自动机的确定化 116

8.3.3确定的有穷自动机的化简 118

8.4词法分析器的自动生成 120

8.4.1目的与要求 120

8.4.2 Lex概述 120

8.4.3 Lex源文件的格式 121

8.4.4 Lex源文件中正规式的约定 122

8.4.5 Lex源文件的翻译规则 123

8.4.6 Lex源程序设计举例 124

8.4.7 Lex使用中的一些注意事项 127

8.4.8使用Lex自动生成Sample语言的词法分析器 128

8.4.9实验内容 129

第9章 语法分析器及算法的设计与实现 130

9.1语法分析器的设计 130

9.1.1目的与要求 130

9.1.2语法分析器的结构 130

9.1.3语法分析的方法 131

9.2语法分析器的实现 132

9.2.1语法分析总控程序的编写 132

9.2.2编写识别算术表达式和布尔表达式的函数 134

9.2.3编写识别各种语句的函数 135

9.3语法分析核心算法的设计 137

9.3.1 LL(1)预测分析 137

9.3.2算符优先分析 144

9.3.3 LR分析方法 149

9.4语法分析器的自动生成 156

9.4.1目的与要求 156

9.4.2 YACC的相关概念 156

9.4.3实验内容 158

第10章 语义分析和中间代码的生成 159

10.1语义分析与中间代码生成概述 159

10.1.1目的与要求 159

10.1.2语义分析与中间代码生成方法概述 159

10.1.3语义分析与中间代码生成程序的设计方法 160

10.2语义分析与中间代码生成器的实现 161

10.2.1说明语句的翻译 161

10.2.2可执行语句翻译的预备知识 162

10.2.3简单赋值语句的翻译 163

10.2.4布尔表达式的翻译 165

10.2.5 if语句的翻译 168

10.2.6 repeat语句的翻译 169

10.2.7 for语句的翻译 169

10.2.8程序开始和结束语句的翻译 170

10.2.9运行结果 170

第11章 代码优化 172

11.1目的与要求 172

11.2代码优化器的作用 172

11.3代码优化器的设计与实现 172

11.3.1合并已知量 172

11.3.2删除公共子表达式和无用赋值 176

第12章 目标代码生成 178

12.1目的与要求 178

12.2目标代码生成器的作用 178

12.3目标代码生成器的设计 178

12.4目标代码生成的相关算法 180

12.5目标代码生成器的实现 182

12.5.1汇编程序的结构 182

12.5.2一个简单程序的源程序和汇编程序的对照 182

12.5.3常见的四元式的翻译方法 183

12.5.4实现的数据结构 184

12.5.5实现的程序结构 184

参考文献 185