书籍详情
程序设计语言与编译:语言的设计和实现
作者:龚天富编著
出版社:电子工业出版社
出版时间:2003-08-01
ISBN:9787505390072
定价:¥23.00
购买这本书可以去
内容简介
本书是一本计算机专业的宽口径教材,新版按照CC2001和CCC2002教程改写,覆盖除自动机外编程语言模块的全部内容。一个程序设计语言涉及设计者、实现者和使用者。读者在阅读本书之前,都学习过1~2门高级编程语言,已经是语言的使用者。本书是一本计算机专业的宽口径教材,新版覆盖CC2001和CCC2002教程中,除自动机外编程语言(PL)模块的全部知识点。其内容涉及语言及其编译系统的设计要素、设计思想、设计方法、设计技术和设计风格等知识,全书分为上、下篇。上篇,程序设计语言的设计包括:绪论、数据类型、控制结构、程序语言设计、非过程式程序设计语言和形式语义学简介。下篇,程序设计语言的实现(编译)包括:编译概述、词法分析、自上而下的语法分析、自下而上的语法分析、语义分析和中间代码的生成、代码优化和目标代码生成、运行时存储空间的组织等。本书的学习目标是,使读者掌握设计和实现一个程序设计语言的基本思想和方法,具有分析、鉴赏、评价、选择、学习、设计和实现一个语言的基本能力。本书力求简明、通俗,注重可读性,是大学计算机专业高级程序设计语言概论及编译技术课程教材,也是软件开发人员的学习参考书。
作者简介
暂缺《程序设计语言与编译:语言的设计和实现》作者简介
目录
上篇 程序设计语言的设计
第1章 绪论
11 引言
12 强制式语言
121 程序设计语言的分类
122 冯·诺依曼体系结构
123 绑定和绑定时间
124 变量
125 虚拟机
13 程序单元
14 程序设计语言发展简介
141 早期的高级语言
142 早期语言的发展阶段
143 概念的集成阶段
144 再一次突破
145 大量的探索
146 Ada 语言
147 第四代语言
148 网络时代的语言
149 新一代程序设计语言
习题1
第2章 数据类型
21 引言
22 内部类型
23 用户定义类型
231 笛卡儿积
232 有限映像
233 序列
234 递归
235 判定或
236 幂集
24 Pascal语言数据类型结构
241 非结构类型
242 聚合构造
243 指针
25 Ada语言数据类型结构
251 标量类型
252 组合类型
26 C语言数据类型结构
261 非结构类型
262 聚合构造
263 指针
264 空类型
27 抽象数据类型
271 SIMULA 67语言的类机制
272 CLU语言的抽象数据类型
273 Ada语言的抽象数据类型
274 Modula-2语言的抽象数据类型
275 C++语言的抽象数据类型
28 类型检查
29 类型转换
210 类型等价
211 实现模型
2111 内部类型和用户定义的非结构类型实现模型
2112 结构类型实现模型
习题2
第3章 控制结构
31 引言
32 语句级控制结构
321 顺序结构
322 选择结构
323 重复结构
324 语句级控制结构分析
325 用户定义控制结构
33 单元级控制结构
331 显式调用从属单元
332 隐式调用单元——异常处理
333 SIMULA 67语言协同程序
334 并发单元
习题3
第4章 程序语言的设计
41 语言的定义
411 语法
412 语义
42 文法
421 文法的定义
422 文法的分类
423 文法产生的语言
424 语法树
43 语言的设计
431 表达式的设计
432 语句的设计
433 程序单元的设计
434 程序的设计
44 语言设计实例
45 一些设计准则
习题4
第5章 非过程式程序设计语言
51 引言
52 函数式程序设计语言
521 函数
522 数学函数与程序设计语言函数
523 一种简单的纯函数式语言
524 LISP语言概述
525 APL语言概述
526 作用式语言和命令式语言的比较
53 逻辑程序设计语言
531 逻辑程序设计
532 Prolog语言概述
533 逻辑程序设计展望
54 面向对象程序设计语言
541 面向对象的基本概念
542 Smalltalk语言概述
543 对面向对象语言的评价
55 小结
习题5
第6章 形式语义学简介
61 引言
62 形式语义学分类
63 公理语义学简介
64 指称语义学简介
习题6
下篇 程序设计语言的实现(编译)
第7章 编译概述
71 引言
711 翻译和编译
712 解释
72 参数传递
721 数据参数传递
722 子程序参数传递
73 编译步骤
习题7
第8章 词法分析
81 词法分析概述
811 词法分析器的功能
812 词法分析器的输出形式
82 词法分析器的结构
821 扫描缓冲区
822 符号的识别
83 状态转换图
84 词法分析器的设计
习题8
第9章 自上而下的语法分析
91 引言
92 回溯分析法
921 提取产生式的公因子
922 消除左递归
93 递归下降分析法
931 递归下降分析器的构造
932 扩充的BNF
94 预测分析法
941 预测分析过程
942 FIRST集和FOLLOW集
943 LL(1)文法
944 预测分析表的构造
945 非LL(1)文法
习题9
第10章 自下而上的语法分析
101 引言
1011 分析树
1012 规范归约. 短语和句柄
102 算符优先分析法
1021 算符优先文法
1022 算符优先分析算法
1023 算符优先分析表的构造
103 LR分析法
1031 LR分析过程
1032 活前缀
1033 LR(0)项目集规范族
1034 LR(0)分析表的构造
1035 SLR(1)分析表的构造
习题10
第11章 语义分析和中间代码生成
111 语义分析概论
1111 语义分析的任务
1112 语法制导翻译
1113 中间代码
1114 语义函数和语义变量
112 赋值语句的翻译
1121 表达式的翻译
1122 只含简单变量的赋值语句的翻译
113 控制语句的翻译
1131 布尔表达式的翻译
1132 无条件转移语句的翻译
1133 条件语句的翻译
1134 while语句的翻译
1135 循环语句的翻译
114 过程调用的翻译
115 说明语句的翻译
习题11
第12章 代码优化和目标代码生成
121 局部优化
1211 优化的定义
1212 基本块的划分
1213 程序流图
1214 基本块内的优化
122 全局优化
1221 循环的定义
1222 必经结点集
1223 循环的查找
1224 循环的优化
123 目标代码生成
1231 一个计算机模型
1232 简单的代码生成方法
1233 循环中的寄存器分配
习题12
第13章 运行时存储空间的组织
131 程序的存储空间
1311 代码空间
1312 数据空间
1313 活动记录
1314 变量的存储分配
1315 存储分配模式
132 静态分配
133 栈式分配
1331 只含半静态变量的栈式分配
1332 半动态变量的栈式分配
1333 非局部环境
1334 非局部环境的引用
134 符号表
1341 符号表的组织
1342 常用的符号表结构
习题13
附录A Java语言概述
A1 什么是Java
A2 Java语言的特性
A3 Java语言的数据类型
A4 Java语言的控制结构
A5 Java程序实例
参考文献
第1章 绪论
11 引言
12 强制式语言
121 程序设计语言的分类
122 冯·诺依曼体系结构
123 绑定和绑定时间
124 变量
125 虚拟机
13 程序单元
14 程序设计语言发展简介
141 早期的高级语言
142 早期语言的发展阶段
143 概念的集成阶段
144 再一次突破
145 大量的探索
146 Ada 语言
147 第四代语言
148 网络时代的语言
149 新一代程序设计语言
习题1
第2章 数据类型
21 引言
22 内部类型
23 用户定义类型
231 笛卡儿积
232 有限映像
233 序列
234 递归
235 判定或
236 幂集
24 Pascal语言数据类型结构
241 非结构类型
242 聚合构造
243 指针
25 Ada语言数据类型结构
251 标量类型
252 组合类型
26 C语言数据类型结构
261 非结构类型
262 聚合构造
263 指针
264 空类型
27 抽象数据类型
271 SIMULA 67语言的类机制
272 CLU语言的抽象数据类型
273 Ada语言的抽象数据类型
274 Modula-2语言的抽象数据类型
275 C++语言的抽象数据类型
28 类型检查
29 类型转换
210 类型等价
211 实现模型
2111 内部类型和用户定义的非结构类型实现模型
2112 结构类型实现模型
习题2
第3章 控制结构
31 引言
32 语句级控制结构
321 顺序结构
322 选择结构
323 重复结构
324 语句级控制结构分析
325 用户定义控制结构
33 单元级控制结构
331 显式调用从属单元
332 隐式调用单元——异常处理
333 SIMULA 67语言协同程序
334 并发单元
习题3
第4章 程序语言的设计
41 语言的定义
411 语法
412 语义
42 文法
421 文法的定义
422 文法的分类
423 文法产生的语言
424 语法树
43 语言的设计
431 表达式的设计
432 语句的设计
433 程序单元的设计
434 程序的设计
44 语言设计实例
45 一些设计准则
习题4
第5章 非过程式程序设计语言
51 引言
52 函数式程序设计语言
521 函数
522 数学函数与程序设计语言函数
523 一种简单的纯函数式语言
524 LISP语言概述
525 APL语言概述
526 作用式语言和命令式语言的比较
53 逻辑程序设计语言
531 逻辑程序设计
532 Prolog语言概述
533 逻辑程序设计展望
54 面向对象程序设计语言
541 面向对象的基本概念
542 Smalltalk语言概述
543 对面向对象语言的评价
55 小结
习题5
第6章 形式语义学简介
61 引言
62 形式语义学分类
63 公理语义学简介
64 指称语义学简介
习题6
下篇 程序设计语言的实现(编译)
第7章 编译概述
71 引言
711 翻译和编译
712 解释
72 参数传递
721 数据参数传递
722 子程序参数传递
73 编译步骤
习题7
第8章 词法分析
81 词法分析概述
811 词法分析器的功能
812 词法分析器的输出形式
82 词法分析器的结构
821 扫描缓冲区
822 符号的识别
83 状态转换图
84 词法分析器的设计
习题8
第9章 自上而下的语法分析
91 引言
92 回溯分析法
921 提取产生式的公因子
922 消除左递归
93 递归下降分析法
931 递归下降分析器的构造
932 扩充的BNF
94 预测分析法
941 预测分析过程
942 FIRST集和FOLLOW集
943 LL(1)文法
944 预测分析表的构造
945 非LL(1)文法
习题9
第10章 自下而上的语法分析
101 引言
1011 分析树
1012 规范归约. 短语和句柄
102 算符优先分析法
1021 算符优先文法
1022 算符优先分析算法
1023 算符优先分析表的构造
103 LR分析法
1031 LR分析过程
1032 活前缀
1033 LR(0)项目集规范族
1034 LR(0)分析表的构造
1035 SLR(1)分析表的构造
习题10
第11章 语义分析和中间代码生成
111 语义分析概论
1111 语义分析的任务
1112 语法制导翻译
1113 中间代码
1114 语义函数和语义变量
112 赋值语句的翻译
1121 表达式的翻译
1122 只含简单变量的赋值语句的翻译
113 控制语句的翻译
1131 布尔表达式的翻译
1132 无条件转移语句的翻译
1133 条件语句的翻译
1134 while语句的翻译
1135 循环语句的翻译
114 过程调用的翻译
115 说明语句的翻译
习题11
第12章 代码优化和目标代码生成
121 局部优化
1211 优化的定义
1212 基本块的划分
1213 程序流图
1214 基本块内的优化
122 全局优化
1221 循环的定义
1222 必经结点集
1223 循环的查找
1224 循环的优化
123 目标代码生成
1231 一个计算机模型
1232 简单的代码生成方法
1233 循环中的寄存器分配
习题12
第13章 运行时存储空间的组织
131 程序的存储空间
1311 代码空间
1312 数据空间
1313 活动记录
1314 变量的存储分配
1315 存储分配模式
132 静态分配
133 栈式分配
1331 只含半静态变量的栈式分配
1332 半动态变量的栈式分配
1333 非局部环境
1334 非局部环境的引用
134 符号表
1341 符号表的组织
1342 常用的符号表结构
习题13
附录A Java语言概述
A1 什么是Java
A2 Java语言的特性
A3 Java语言的数据类型
A4 Java语言的控制结构
A5 Java程序实例
参考文献
猜您喜欢