程序设计语言概论

Download Report

Transcript 程序设计语言概论

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