程序设计语言课件讲解.ppt

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高级语言程序必须经过翻译成目标语言程序才 能在目标计算机上运行。可通过编译和软件解 释两种途径。
翻译是将用高级语言编写的源程序转换成实际 计算机上等价的机器语言程序(目标程序)。 计算机上的硬件可以直接运行目标程序。翻译 是由翻译程序完成的,翻译程序将源程序作为 输入,输出结果是功能等价的目标语言程序。
网络教学
Programming Language Design and Implementation
程序设计语言
程序设计语言----------集中复习
程序设计语言种类很多,各有其自身的特点。 本课程不是为了介绍某种具体的程序设计语言 的规范、使用,而是抽象出程序设计语言的共 同特点,力图系统讲述程序设计语言的语法、 语义和编译实现之间的关系,介绍数据结构、 顺序控制、子程序、封装、继承等概念及其实 现技术,涉及函数式语言、逻辑式语言、命令 式语言和面向对象的语言。讨论程序设计语言 的一般设计和实现方法。
重点掌握封装的概念、封装的特点、向量的特 点、向量地址的计算、数据结构上操作的实现 原理。
第7章要求掌握的知识点是:抽象、对象、类、 封装、成员、属性、方法、消息、继承、多态、 重载、覆盖等。
重点掌握上述知识点的基本概念、过程抽象和 数据抽象的特点、继承的实现方法。重载与覆 盖的区别。
第8章要求掌握的知识点是:顺序控制、表达 式的顺序、前缀表示法、中缀表示法、后缀表 示法、前缀计算法、中缀计算法、后缀计算法、 一致求值规则、语句级顺序控制、结构化顺序 控制。
解释是通过使用一台主机上运行的程序来模拟 一台机器语言是高级语言的计算机的执行。即 使用主机上的机器语言来构造一组程序软件 (模拟软件或解释软件)来模拟或解释运行用 高级语言编写的程序所需要的算法和数据结构。
编译与解释的相同点是:二者都接受高级语言 作为输入。
编译与解释的不同点是:
–功能不同:翻译将源程序—>等价的目标语言程序; 解释直接执行源程序(用户角度看)。
重点掌握表达式的优先级别;前缀、中缀、后 缀的语法表示方法,并且灵活掌握它们的计算 方法的实现原理;结构化定理的概念以及结构 化定义所阐述的问题。
第9章要求掌握的知识点是:调用、返回、基 于堆栈的实现、声明、命名、引用环境、可见 性、静态作用域、动态作用域、局部数据、局 部引用环境、实际参数、形式参数、参数传递、 静态类型检查、非局部引用共享显式变量等。
虚拟计wk.baidu.com机是一个层次性的结构,典型的虚拟 计算机可分成7个层次。下层为上层提供支持 和服务。
绑定是指程序元素与其特性或性质的约束关系。 绑定时间是指绑定所发生的时间,主要有翻译 或时和执行时。绑定和绑定时间可由语言定义 或由实现来确定。
绑定时间对于程序设计语言的效率和灵活性起 重要的作用。对于追求效率为主要目标的语言, 通常应尽可能进行早绑定。而追求灵活性为主 要目标的语言,应采用迟绑定。对于两个兼顾 的语言,应提供绑定时间选择机制。
程序一般计算模型有:命令式语言、应用式语 言、基于规则语言和面向对象语言四种,各自 具有优点。目前主要使用的仍然是命令式语言 和面向对象语言。
程序设计语言具有六个基本特征:数据,基本 操作,顺序控制,数据存取,存储管理和操作 环境。
固件计算机是一台可进行微编程的硬件计算机 上通过微程序模拟实现的计算机。
第5章要求掌握的知识点是:数据对象、变量、 常量、数据类型、类型检查、类型转换、标量 数据类型、复合数据类型等。
重点掌握基本数据类型的概念、存储表示、实 现方法;动态类型检查与静态类型检查的特点。
第6章要求掌握的知识点是:封装、结构化数 据类型、数据结构上的操作、向量、数组、记 录、列表、集合、数据抽象、信息隐藏、类属 子程序、类型定义等。
通过本门课程的学习:
我们知道程序设计语言经过了低级语言(机器 语言、汇编语言)到高级语言的发展,而且仍 在继续不断的发展和变化。经历着应用程序的 “简单性” 到“复杂性”;编程强调“技巧 性”到“可读性”;追求实现的“高效性”到 “可维护性”和强调“可移植性”的演变。
影响程序设计语言的主要因素有:计算机性能, 应用领域的要求,编程方法,实现方法和标准 化。
重点掌握:无用单元以及悬挂引用的概念、存 在的危害以及具体的解决方法。
第11章要求掌握的知识点是:异常、异常处理 程序、异常引发、异常传播、协同程序、调度 程序、并发运行、任务、任务管理、任务同步、 中断、信号量、消息、任务存储管理、互斥、 临界区、管程、消息传递等。
重点掌握:异常的特点、任务存储管理的具体 方法以及消息传递。
重点掌握简单调用-返回子程序的顺序控制方 法、引用环境、各种参数传递的基本思想、变 量的作用域。
第10章要求掌握的知识点是:初始分配、存储 单元回收、压缩、存储单元再用、静态存储管 理、固定单元大小、引用计数、无用单元、悬 挂引用、无用单元回收、可变长单元、首次满 足、最佳满足、存储器碎片等。
第3章要求掌握的知识点是:语法;语义;二 义性;独立子程序定义;独立数据定义;嵌套 子程序定义;独立接口定义;词法分析;语法 分析;语义分析;优化;连接与载入;语法树; BNF文法等。
重点语法、语义、二义性的特点,二义性与语 法树之间的关系;词法分析、语法分析、语分 析和代码优化的概念、实现原理;BNF范式的 推导。
本课程要求学习和复习重点内容
第2,3,5,6,7,8,9章。 第2章要求掌握的知识点是:计算机的硬件结
构;固件计算机;翻译;编译;解释;虚拟计 算机;绑定时间等。 重点掌握编译和解释的概念、实现原理和各自 的特点;虚拟计算机的概念、层次结构;哪些 元素需要进行绑定,它们的绑定时间分别是什 么。
–顺序控制:翻译遵循输入的物理序列语句;解释遵 循程序的逻辑控制流程。
–执行次数:翻译对每条语句只处理一次;解释则可 能对同一条语句反复解释处理(如循环),也可能 完全忽略一些语句(如控制流不能到达的语句)。
–信息完整性:翻译可能造成源程序信息丢失,调试、 测试较为困难;解释不会。
–代价:翻译需要耗费更大的存储空间;解释需要较 长的执行时间(解码时间)。
相关文档
最新文档