出版社:电子工业出版社
年代:2009
定价:35.0
本教材以抽象的方法讲述了程序设计语言的共性,分析了程序设计语言的结构,并采用常用的语言的相关成分作为实例来说明这些抽象出来的共性,从而导出程序设计语言的设计和实现的知识。本教材分为上、下两部分。上部对高级程序设计语言进行概述(包括程序设计语言的数据类型、控制结构和高级程序设计语言的设计)。下部介绍高级程序设计语言的实现(即编译系统)。包括编译概述、词法分析、语法分析、语义分析、代码优化、目标代码生成和运行时存储空间的组织安排。
上篇 程序设计语言的设计
第1章 绪论
1.1 引言
1.2 强制式语言
1.2.1 程序设计语言的分类
1.2.2 冯·诺依曼体系结构
1.2.3 绑定和绑定时间
1.2.4 变量
1.2.5 虚拟机
1.3 程序单元
1.4 程序设计语言发展简介
1.4.1 早期的高级语言
1.4.2 早期语言的发展阶段
1.4.3 概念的集成阶段
1.4.4 再一次突破
1.4.5 大量的探索
1.4.6 Ada 语言
1.4.7 第四代语言
1.4.8 网络时代的语言
1.4.9 新一代程序设计语言
1.4.10 面向未来的汉语程序设计语言
1.4.11 总结
习题1
第2章 数据类型
2.1 引言
2.2 内部类型
2.3 用户定义类型
2.3.1 笛卡儿积
2.3.2 有限映像
2.3.3 序列
2.3.4 递归
2.3.5 判定或
2.3.6 幂集
2.4 Pascal语言数据类型结构
2.4.1 非结构类型
2.4.2 聚合构造
2.4.3 指针
2.5 Ada语言数据类型结构
2.5.1 标量类型
2.5.2 组合类型
2.6 C语言数据类型结构
2.6.1 非结构类型
2.6.2 聚合构造
2.6.3 指针
2.6.4 空类型
2.7 Java 语言的数据类型
2.7.1 内部类型
2.7.2 用户定义类型
2.8 抽象数据类型
2.8.1 SIMULA 67 语言的类机制
2.8.2 CLU语言的抽象数据类型
2.8.3 Ada语言的抽象数据类型
2.8.4 Modula 2语言的抽象数据类型
2.8.5 C++语言的抽象数据类型
2.8.6 Java抽象数据类型
2.9 类型检查
2.10 类型转换
2.11 类型等价
2.12 实现模型
2.12.1 内部类型和用户定义的非结构类型实现模型
2.12.2 结构类型实现模型
习题2
第3章 控制结构
3.1 引言
3.2 语句级控制结构
3.2.1 顺序结构
3.2.2 选择结构
3.2.3 循环结构
3.2.4 语句级控制结构分析
3.2.5 用户定义控制结构
3.3 单元级控制结构
3.3.1 显式调用从属单元
3.3.2 隐式调用单元——异常处理
3.3.3 SIMULA 67语言协同程序
3.3.4 并发单元
习题3
第4章 程序语言的设计
4.1 语言的定义
4.1.1 语法
4.1.2 语义
4.2 文法
4.2.1 文法的定义
4.2.2 文法的分类
4.2.3 文法产生的语言
4.2.4 语法树
4.3 语言的设计
4.3.1 表达式的设计
4.3.2 语句的设计
4.3.3 程序单元的设计
4.3.4 程序的设计
4.4 语言设计实例
4.5 一些设计准则
习题4
第5章 非过程式程序设计语言
5.1 引言
5.2 函数式程序设计语言
5.2.1 函数
5.2.2 数学函数与程序设计语言函数
5.2.3 一种简单的纯函数式语言
5.2.4 LISP语言概述
5.2.5 APL语言概述
5.2.6 作用式语言和命令式语言的比较
5.3 逻辑程序设计语言
5.3.1 逻辑程序设计
5.3.2 Prolog语言概述
5.3.3 逻辑程序设计展望
5.4 面向对象程序设计语言
5.4.1 面向对象的基本概念
5.4.2 Smalltalk语言概述
5.4.3 对面向对象语言的评价
5.5 小结
习题5
第6章 形式语义学简介
6.1 引言
6.2 形式语义学分类
6.3 公理语义学简介
6.4 指称语义学简介
习题6
下篇 程序设计语言的实现(编译)
第7章 编译概述
7.1 引言
7.2 翻译和编译
7.3 解释
7.4 编译步骤
习题7
第8章 词法分析
8.1 词法分析概述
8.2 单词符号的类别
8.3 词法分析器的输出形式
8.4 词法分析器的设计
8.5 符号表
8.5.1 符号表的组织
8.5.2 常用的符号表结构
习题8
第9章 自上而下的语法分析
9.1 引言
9.2 回溯分析法
9.2.1 回溯的原因
9.2.2 提取公共左因子
9.2.3 消除左递归
9.3 递归下降分析法
9.3.1 递归下降分析器的构造
9.3.2 扩充的BNF
9.4 预测分析法
9.4.1 预测分析过程
9.4.2 预测分析表的构造
9.4.3 LL(1)文法
9.4.4 非LL(1)文法
习题9
第10章 自下而上的语法分析
10.1 引言
10.1.1 分析树
10.1.2 规范归约、短语和句柄
10.2 算符优先分析法
10.2.1 算符优先文法
10.2.2 算符优先分析算法
10.2.3 算符优先关系表的构造
10.3 LR分析法
10.3.1 LR分析过程
10.3.2 活前缀
10.3.3 LR(0)项目集规范族
10.3.4 LR(0)分析表的构造
10.3.5 SLR(1)分析表的构造
习题10
第11章 语义分析和中间代码生成
11.1 语义分析概论
11.1.1 语义分析的任务
11.1.2 语法制导翻译
11.2 中间代码
11.3 语义变量和语义函数
11.4 说明语句的翻译
11.5 赋值语句的翻译
11.5.1 只含简单变量的赋值语句的翻译
11.5.2 含数组元素的赋值语句的翻译
11.6 控制语句的翻译
11.6.1 布尔表达式的翻译
11.6.2 无条件转移语句的翻译
11.6.3 条件语句的翻译
11.6.4 while语句的翻译
11.6.5 for语句的翻译
11.6.6 过程调用的翻译
习题11
第12章 代码优化和目标代码生成
12.1 局部优化
12.1.1 优化的定义
12.1.2 基本块的划分
12.1.3 程序流图
12.1.4 基本块内的优化
12.2 全局优化
12.2.1 循环的定义
12.2.2 必经结点集
12.2.3 循环的查找
12.2.4 循环的优化
12.3 并行优化
12.3.1 数据的依赖关系分析
12.3.2 向量化代码生成
12.3.3 反相关与输出相关的消除
12.3.4 标量扩张
12.3.5 循环条块化
12.4 目标代码生成
12.4.1 一个计算机模型
12.4.2 简单的代码生成方法
12.4.3 循环中的寄存器分配
习题12
第13章 运行时存储空间的组织
13.1 程序的存储空间
13.1.1 代码空间
13.1.2 数据空间
13.1.3 活动记录
13.1.4 变量的存储分配
13.1.5 存储分配模式
13.2 静态分配
13.3 栈式分配
13.3.1 只含半静态变量的栈式分配
13.3.2 半动态变量的栈式分配
13.3.3 非局部环境
13.3.4 非局部环境的引用
13.4 参数传递
13.4.1 数据参数传递
13.4.2 子程序参数传递
习题13
附录A 形式语言与自动机简介
思考题
《程序设计语言与编译:语言的设计和实现(第3版)》是一本计算机专业的宽口径教材,新版覆盖CC2001和CCC2002教程中,除自动机外编程语言(PL)模块的全部知识点。内容涉及语言及其编译系统的设计要素、设计思想、设计方法、设计技术和设计风格等知识,《程序设计语言与编译:语言的设计和实现(第3版)》分为上、下篇。上篇,程序设计语言的设计包括:绪论、数据类型、控制结构、程序语言设计、非过程式程序设计语言和形式语义学简介;下篇,程序设计语言的实现(编译)包括:编译概述、词法分析、自上而下的语法分析、自下而上的语法分析、语义分析和中间代码生成、代码优化和目标代码生成、运行时存储空间的组织。
《程序设计语言与编译:语言的设计和实现(第3版)》的学习目标是,使读者掌握设计和实现一个程序设计语言的基本思想和方法,具有分析、鉴赏、评价、选择、学习、设计和实现一个语言的基本能力。《程序设计语言与编译:语言的设计和实现(第3版)》力求简明、通俗,注重可读性,是大学计算机科学和软件工程等专业高级程序设计语言概论及编译技术课程教材,也是软件开发人员的学习参考书。
在国家规划教材的基础上,进行全面更新,以适应高校课程与教学改革的需要,并特别注意教材的可读性和可用性,为任课教师提供各种教学服务(包括)数学电子课件、教学指导材料、习题解答和实验指导等。
书籍详细信息 | |||
书名 | 程序设计语言与编译站内查询相似图书 | ||
9787121081040 如需购买下载《程序设计语言与编译》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN | |||
出版地 | 北京 | 出版单位 | 电子工业出版社 |
版次 | 3版 | 印次 | 1 |
定价(元) | 35.0 | 语种 | 简体中文 |
尺寸 | 26 | 装帧 | 平装 |
页数 | 334 | 印数 | 5000 |
程序设计语言与编译是电子工业出版社于2009.01出版的中图分类号为 TP311.1 的主题关于 程序设计语言学-高等学校-教材 的书籍。