Transcript 程序设计语言概论
程序设计语言概论
复习
2010.12.28
考试时间:
2011.1.10
上午8:30~10:30
考试地点: 理教103
第一章
程序设计语言的定义
符号+规则
数据+算法
高级程序设计语言的基本特征
形式和编写独立于计算机、比机器语言复
杂、更接近于问题解的自然表述
程序设计语言的编程范型
命令型、函数式、逻辑型、面向对象
第二章
语言设计要考虑的基本因素
语言的实现本质上就是将程序设计语言转换成计
算机能处理的数据、指令和算法的过程
硬件计算机
虚拟计算机(或执行模型)
计算模型
翻译、解释
虚拟计算机
程序运行时的数据和算法所定义的计算机
语言中的各种成分最终都会和虚拟计算机中的具体成分
绑定起来
绑定和绑定时间
第三章
语言的语法
一般准则
二义性问题、及其解决方法
语言的翻译
分析
词法、语法、语义,各阶段的功能
综合
优化、目标代码生成
第三章(续)
BNF文法
有限状态自动机(FSA)
文法的推导过程
文法定义的语言
语法分析树
文法的二义性及其解决
FSA的能力
接受一个句子与识别一个语言的区别
FSA与正则文法、正则表达式之间的相互转换
下推自动机(PDA)
运行原理
PDA的能力
第四章
语法模型:乔姆斯基分级文法
计算模型:图灵机
形式
能力
图灵机的结构、运行原理、能力
停机问题
语义模型
属性文法,表达式的语义
公理语义,程序正确性证明
第五章
数据对象
简单数据类型
声明的内容
声明的目的
类型检查
规约:属性、值、操作
实现:存储表示、操作实现
数据对象的声明
数据对象的属性
数据值
静态和动态类型检查,优缺点和局限性
常见基本数据类型的实现
第六章
结构化数据类型
规约与实现的重点:部件的数量、类型、名字、
组织方式,以及部件的选择和操纵
实现中存在的问题:存储的表示和管理、部件的
访问效率
常见结构化数据类型的实现
第六章(续)
子程序
规约与实现
规约中存在的问题
定义与激活
激活的实现
类型定义
类型等价 与 数据对象相等
第七章
抽象数据类型
类属抽象数据类型
定义与实例化
继承
定义与实现
对象的派生、方法的继承
多态
多态的创建与实现
动态多态
第八章
算术表达式的顺序控制
表达式的表示方法
树形表示、线性表示
表示方法蕴含(或不蕴含)计算顺序
不同表达方法的计值过程
计值中存在的问题
计值规则、副作用、出错、布尔表达式短路
第八章(续)
语句的顺序控制
主要控制结构
结构化程序设计的基本原则
素程序
定义
合式程序的分解
素程序定理的证明
第九章
简单调用返回
基本原理与实现方法
子程序的激活的实现方式
递归调用
与简单调用返回的异同点
实现方式
第九章(续)
标识符的作用域(或使用范围)与引用环境
数据对象的别名
静态作用域规则与动态作用域规则
作用域的计算
引用环境(或关联)的计算
别名的产生
参数传递
基本方法:按名、按值、按引用等