图书介绍

编译原理基础2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

编译原理基础
  • 刘坚编著 著
  • 出版社: 西安:西安电子科技大学出版社
  • ISBN:7560611117
  • 出版时间:2002
  • 标注页数:176页
  • 文件大小:8MB
  • 文件页数:184页
  • 主题词:编译程序-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

编译原理基础PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 引言1

1.1 从面向机器的语言到面向人类的语言1

1.2 语言之间的翻译2

1.3 编译器与解释器3

1.4 编译器的工作原理与基本组成4

1.4.1 通用程序设计语言的主要成份4

1.4.2 以阶段划分编译器5

1.4.3 编译器各阶段的工作6

1.4.4 编译器的分析/综合模式11

1.4.5 编译器扫描的遍数11

1.5 编译器的编写12

1.6 本章小结12

习题13

第2章 词法分析14

2.1 词法分析中的若干问题14

2.1.1 记号、模式与单词14

2.1.2 记号的属性15

2.1.3 词法分析器的作用与工作方式16

2.1.4 输入缓冲区17

2.2 模式的形式化描述19

2.2.1 字符串与语言19

2.2.2 正规式与正规集20

2.2.3 记号的说明21

2.3 记号的识别——有限自动机23

2.3.1 不确定的有限自动机(Nondeterministic Finite Automata,NFA)23

2.3.2 确定的有限自动机(Deterministic Finite Automata,DFA)25

2.3.3 有限自动机的等价27

2.4 从正规式到词法分析器27

2.4.1 从正规式到NFA27

2.4.2 从NFA到DFA29

2.4.3 最小化DFA33

2.4.4 由DFA构造词法分析器35

2.4.5 词法分析器生成器简介37

2.5 本章小结38

习题39

第3章 语法分析42

3.1 语法分析的若干问题42

3.1.1 语法分析器的作用42

3.1.2 语法错误的处理原则43

3.2 上下文无关文法(Context Free Grammar,CFG)44

3.2.1 CFG的定义与表示44

3.2.2 CFG产生语言的基本方法——推导46

3.2.3 推导、分析树与语法树47

3.2.4 二义性与二义性的消除48

3.2.4.1 二义性(Ambiguity)48

3.3.4.2 二义性的消除50

3.3 语言与文法简介53

3.3.1 正规式与上下文无关文法54

3.3.2 上下文有关语言(ContextSensitiveLanguage,CSL)55

3.3.3 形式语言与自动机简介56

3.4.1 自上而下分析的一般方法58

3.4 自上而下语法分析58

3.4.2 消除左递归59

3.4.3 提取左因子61

3.4.4 递归下降分析61

3.4.5 预测分析器65

3.4.5.1 非递归预测分析器的工作模式65

3.4.5.2 构造预测分析表68

3.4.5.3 LL(1)文法70

3.5 自下而上语法分析71

3.5.1 自下而上分析的基本方法72

3.5.1.1 规范归约与“剪句柄”72

3.5.1.2 移进—归约分析器的工作模式74

3.5.2 LR分析75

3.5.2.1 LR分析与LR文法75

3.5.2.2 构造SLR(1)分析器78

3.5.2.3 非SLR(1)文法84

3.5.2.4 基于LR分析的语法分析器生成器简介85

3.6 本章小结86

习题87

第4章 语法制导翻译生成中间代码90

4.1 语法制导翻译简介90

4.1.1 语法与语义90

4.1.2 属性与语义规则91

4.1.3 语义规则的两种形式92

4.1.4 LR分析翻译方案的设计93

4.1.5 递归下降分析翻译方案的设计94

4.2 中间代码简介96

4.2.1 后缀式96

4.2.2 三地址码97

4.2.2.1 三地址码的直观表示97

4.2.2.2 三地址码的实现:三元式与四元式98

4.2.3 图形表示101

4.3 符号表简介103

4.3.1 符号表条目103

4.3.2 构成名字的字符串104

4.3.3 名字的作用域105

4.3.4 线性表106

4.3.5 散列表106

4.4 声明语句的翻译109

4.4.1 变量的声明109

4.4.2 数组变量的声明111

4.4.3 过程的定义与声明115

4.4.3.1 左值与右值116

4.4.3.2 参数传递117

4.4.3.3 作用域信息的保存121

4.4.4 记录的域名126

4.5 简单算术表达式与赋值句126

4.5.1 简单变量的语法制导翻译127

4.5.2 变量的类型转换127

4.6 数组元素的引用130

4.6.1 数组元素的地址计算130

4.6.2 数组元素引用的语法制导翻译131

4.7.1 布尔表达式的作用与结构134

4.7 布尔表达式134

4.7.2 布尔表达式的计算方法135

4.7.3 数值表示与直接计算的语法制导翻译136

4.7.4 短路计算的语法制导翻译137

4.7.5 拉链与回填138

4.8 控制语句140

4.8.1 标号与无条件转移141

4.8.2 条件转移142

4.9 过程调用145

4.10 本章小结146

习题147

第5章 运行环境150

5.1 过程的动态特性150

5.1.1 过程与活动150

5.1.2 控制栈与活动记录152

5.1.3 名字的绑定153

5.2.1 运行时内存的划分与数据空间的存储分配策略154

5.2 运行时数据空间的组织154

5.2.2 静态与动态分配简介155

5.3 栈式动态分配157

5.3.1 控制栈中的活动记录157

5.3.2 调用序列与返回序列158

5.3.3 栈式分配中对非本地名字的访问159

5.3.4 参数传递的实现162

5.4 本章小结164

习题165

6.1 代码生成的相关问题167

第6章 代码生成167

6.2 简单的计算机模型168

6.3 简单的代码生成器169

6.3.1 基本块与程序流图169

6.3.2 寄存器分配原则171

6.3.3 代码生成算法171

6.4 本章小结174

习题174

参考书目176

热门推荐