●程序设计语言具有六个基本特征:数据,基本 操作,顺序控制,数据存取,存储管理和操作 环境。 ●固件计算机是一台可进行微编程的硬件计算机 上通过微程序模拟实现的计算机。 高级语言程序必须经过翻译成目标语言程序才 能在目标计算机上运行。可通过编译和软件解 释两种途径
⚫ 程序设计语言具有六个基本特征:数据,基本 操作,顺序控制,数据存取,存储管理和操作 环境。 ⚫ 固件计算机是一台可进行微编程的硬件计算机 上通过微程序模拟实现的计算机。 ⚫ 高级语言程序必须经过翻译成目标语言程序才 能在目标计算机上运行。可通过编译和软件解 释两种途径
●翻译是将用高级语言编写的源程序转换成实际 计算机上等价的机器语言程序(目标程序)。 计算机上的硬件可以直接运行目标程序。翻译 是由翻译程序完成的,翻译程序将源程序作为 输入,输出结果是功能等价的目标语言程序。 ●解释是通过使用一台主机上运行的程序来模拟 台机器语言是高级语言的计算机的执行。即 使用主机上的机器语言来构造一组程序软件 (模拟软件或解释软件)来模拟或解释运行用 高级语言编写的程序所需要的算法和数据结构
⚫ 翻译是将用高级语言编写的源程序转换成实际 计算机上等价的机器语言程序(目标程序)。 计算机上的硬件可以直接运行目标程序。翻译 是由翻译程序完成的,翻译程序将源程序作为 输入,输出结果是功能等价的目标语言程序。 ⚫ 解释是通过使用一台主机上运行的程序来模拟 一台机器语言是高级语言的计算机的执行。即 使用主机上的机器语言来构造一组程序软件 (模拟软件或解释软件)来模拟或解释运行用 高级语言编写的程序所需要的算法和数据结构
编译与解释的相同点是:二者都接受高级语 作为输入。 ●编译与解释的不同点是: 功能不同:翻译将源程序—>等价的目标语言程序; 解释直接执行源程序(用户角度看)。 顺序控制ε翻译遵循输入的物理序列语句;解释遵 循程序的逻辑控制流程。 执行次数:翻译对每条语句只处理一次;解释则可 能对同一条语句反复解释处理(如循环),也可能 完全忽略一些语句(如控制流不能到达的语句)。 信息完整性:翻译可能造成源程序信息丢失,调试、 测试较为困难;解释不会。 代价:翻译需要耗费更大的存储空间;解释需要较 长的执行时间(解码时间)
⚫ 编译与解释的相同点是:二者都接受高级语言 作为输入。 ⚫ 编译与解释的不同点是: –功能不同:翻译将源程序—>等价的目标语言程序; 解释直接执行源程序(用户角度看)。 –顺序控制:翻译遵循输入的物理序列语句;解释遵 循程序的逻辑控制流程。 –执行次数:翻译对每条语句只处理一次;解释则可 能对同一条语句反复解释处理(如循环),也可能 完全忽略一些语句(如控制流不能到达的语句)。 –信息完整性:翻译可能造成源程序信息丢失,调试、 测试较为困难;解释不会。 –代价:翻译需要耗费更大的存储空间;解释需要较 长的执行时间(解码时间)
虚拟计算机是一个层次性的结构,典型的虚拟 计算机可分成7个层次。下层为上层提供支持 和服务。 ●绑定是指程序元素与其特性或性质的约束关系。 绑定时间是指绑定所发生的时间,主要有翻译 或时和执行时。绑定和绑定时间可由语言定义 或由实现来确定。 ●绑定时间对于程序设计语言的效率和灵活性起 重要的作用。对于追求效率为主要目标的语言, 通常应尽可能进行早绑定。而追求灵活性为主 要目标的语言,应采用迟绑定。对于两个兼顾 的语言,应提供绑定时间选择机制
⚫ 虚拟计算机是一个层次性的结构,典型的虚拟 计算机可分成7个层次。下层为上层提供支持 和服务。 ⚫ 绑定是指程序元素与其特性或性质的约束关系。 绑定时间是指绑定所发生的时间,主要有翻译 或时和执行时。绑定和绑定时间可由语言定义 或由实现来确定。 ⚫ 绑定时间对于程序设计语言的效率和灵活性起 重要的作用。对于追求效率为主要目标的语言, 通常应尽可能进行早绑定。而追求灵活性为主 要目标的语言,应采用迟绑定。对于两个兼顾 的语言,应提供绑定时间选择机制
●语法是以句子中词的排列来表明它们的彼此关 系。它描述了组成一个合法程序的符号的系列, 是理解一个程序的重要手段,也为将源程序翻 译成目标程序提供了必要的信息。 通用语法的标准是:好的可读性、可写性、容 验证性、易翻译性和无二义性。 ●二义性是指相同的语法形式允许存在两种或更 多的语义解释。二义性的显著特点是存在两棵 语法树。无二义性是每个程序语言设计的中心 问题
⚫ 语法是以句子中词的排列来表明它们的彼此关 系。它描述了组成一个合法程序的符号的系列, 是理解一个程序的重要手段,也为将源程序翻 译成目标程序提供了必要的信息。 ⚫ 通用语法的标准是:好的可读性、可写性、容 验证性、易翻译性和无二义性。 ⚫ 二义性是指相同的语法形式允许存在两种或更 多的语义解释。二义性的显著特点是存在两棵 语法树。无二义性是每个程序语言设计的中心 问题