《程序设计语言与编译》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:龚天富,侯文永编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1997
  • ISBN:7505338498
  • 页数:242 页
图书介绍:

第一章 绪论 1

第一节 引言 1

第二节 语言的定义 2

一、语法 3

二、语义 7

第三节 强制式语言 8

一、冯·诺依曼体系结构 9

二、绑定概念 9

三、变量 10

四、虚拟机 14

第四节 程序单元 15

第五节 程序设计语言发展简介 16

习题 22

第二章 数据类型 24

第一节 引言 24

第二节 内部类型 24

第三节 用户定义类型 26

第四节 Pascal类型结构 30

第五节 Ada类型结构 37

第六节 类型检查 42

第七节 类型转换 43

第八节 类型等价 44

第九节 抽象数据类型 45

一、SIMULA 67的类机制 46

二、CLU的抽象数据类型 50

三、Ada的抽象数据类型 51

四、Modula-2的抽象数据类型 54

第十节 实现模型 56

一、内部类型和用户定义的非结构类型 56

二、结构类型 57

习题 62

第三章 控制结构 63

第一节 语句级控制结构 63

一、顺序 63

二、选择 63

三、重复 66

四、语句级控制结构讨论 69

五、用户定义控制结构 70

第二节 单元级控制结构 70

一、显式调用从属单元 71

二、隐式调用单元——异常处理 74

三、SIMULA 67协同程序 78

四、并发单元 80

习题 87

第四章 程序设计语言与编译程序 90

第一节 上下文无关文法 90

一、文法 90

二、文法产生的语言 92

第二节 自动机 95

一、有限自动机的定义 96

二、有限自动机的表示 97

三、有限自动机识别的语言 98

四、NFA和DFA的等价性 98

第三节 正则表达式和正则集 99

一、正则表达式和正则集的定义 99

二、有限自动机与正则表达式的等价性 99

三、正则表达式的应用——词法分析器的自动生成 100

第四节 下推自动机 100

一、不确定的下推自动机的定义 100

四、一些等价性定理 101

三、确定的下推自动机的定义 101

二、下推自动机识别的语言 101

第五节 编译概述 102

一、不同语言之间的翻译 102

二、程序的编译执行和解释执行 102

三、编译程序的组成 103

习题 106

第五章 词法分析与语法分析 109

第一节 词法分析 109

一、词法分析的功能 109

三、单词的编码 110

二、单词的种类 110

四、词法错误检查 111

五、词法分析器的生成 111

第二节 自顶向下语法分析 114

一、回溯分析法 114

二、无回溯的递归下降分析法 115

三、预测分析程序 118

四、LL(1)文法 119

五、预测分析表的构造 121

一、算符优先分析法 122

第三节 自底向上语法分析 122

二、LR分析法 125

三、识别活前缀的DFA 128

四、SLR分析表的构造 131

第四节 LEX和YACC 133

一、词法分析器的自动生成 133

二、LEX的描述 136

三、LALR(1)分析器的自动生成 136

四、YACC的描述 137

习题 138

第一节 语义分析和中间代码生成 140

第六章 代码生成和代码优化 140

一、三地址代码 141

二、只含简单变量的赋值语句的翻译 141

三、含数组元素的赋值语句的翻译 143

四、一类说明语句的翻译 148

五、一类控制语句的翻译 149

六、循环语句的翻译 152

第二节 属性文法 153

二、属性的分类 154

一、语法制导定义 154

三、依赖图 155

四、语义规则的计算次序 156

五、属性文法的两个子集 156

第三节 代码优化 157

一、优化的定义 157

二、不同阶段的优化 158

三、划分基本块和构造程序流图 158

四、局部优化 160

五、循环优化 161

第四节 代码生成 165

习题 168

第七章 运行时存储空间管理 171

第一节 变量及存储分配 171

一、程序的存储空间 171

二、活动记录 171

三、变量的存储分配 172

四、存储分配模式 173

第二节 静态分配 174

二、运行环境的转换 175

一、FORTRAN程序的运行时结构 175

第三节 栈式分配 177

一、只含半静态变量的栈式分配 177

二、半动态变量的栈式分配 180

三、动态变量的存储分配 180

四、非局部环境 180

五、对非局部环境的引用 182

第四节 堆分配 183

一、数据参数传递 184

第五节 参数传递 184

二、过程参数传递 185

第六节 符号表 186

一、符号表的组织 186

二、常用的符号表结构 187

习题 189

第八章 非过程式程序设计语言 192

第一节 引言 192

第二节 函数式程序设计语言 194

一、函数 194

二、数学函数与程序设计语言函数 195

三、一种简单的纯函数式语言 196

四、LISP 200

五、APL 202

六、作用式和命令式语言的比较 206

第三节 逻辑程序设计语言 207

一、逻辑程序设计 207

二、Prolog语言概述 209

三、逻辑程序设计展望 216

第四节 面向对象程序设计语言 217

一、面向对象的基本概念 217

二、smalltalk 220

三、面向对象语言的评价 226

四、小结 227

习题 228

第九章 形式语义学简介 230

第一节 引言 230

第二节 形式语义学分类 231

第三节 公理语义学简介 232

第四节 指称语义学简介 235

习题 239

参考文献 241