编译原理第二章.ppt
《编译原理第二章.ppt》由会员分享,可在线阅读,更多相关《编译原理第二章.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编编 译译 原原 理理(第二版)(第二版)郑郑 洪洪 编著编著第第2章章 程程 序序 语语 言言高高 级级 语语 言言1中中 间间 语语 言言22.1 高高 级 语 言言v2.1.1 高高级语言的分言的分类1过程式程式语言言过程式程式语言以言以语句句为核心,命令核心,命令驱动。过程式程式语言言设计的程序以的程序以语句句为最小最小执行行单位,程序由一系列的位,程序由一系列的语句句组成。成。这种种语言言设计的程序通常具有如下形式:的程序通常具有如下形式:语句句1;语句句2;语句句n;2面向面向对象象语言言面向面向对象象语言(言(Object-Oriented Language)是如今使用最广、)是
2、如今使用最广、最最为重要的重要的语言。它的主要特征是支持封装性、言。它的主要特征是支持封装性、继承性和多承性和多态性;性;把复把复杂的特性和用于的特性和用于这些数据的操作装在一起,构成些数据的操作装在一起,构成对象;象;对简单对象象进行行扩充,充,继承承简单对象的特性,从而象的特性,从而设计出复出复杂的的对象。象。3应用式用式语言言将已知的函数作将已知的函数作为新开新开发函数的参数,利用函数的嵌套与函数的参数,利用函数的嵌套与递归使得使得程序的功能由程序的功能由简单变为复复杂,最,最终满足程序足程序设计的要求。的要求。这种种语言的言的结构形式是:构形式是:函数函数n(函数函数2(函数(函数1(
3、数据)(数据)4基于基于规则的的语言言基于基于规则的的语言以判断言以判断选择语句句为基本基本执行行单位。其程序的位。其程序的执行行过程是:程是:检查一定的条件,当它一定的条件,当它满足足时选择适当的操作。最有代表适当的操作。最有代表性的基于性的基于规则语言是言是PROLOG。其程序其程序结构形式构形式为:条件条件1动作作1条件条件2动作作2条件条件n动作作nv2.1.2 数据数据类型及其操作型及其操作(1)数值数据:数值数据包括整数、实数、复数以及这些类型的双长(或多倍长)精度数。对数值类型的数据可描述为算术运算集合。(2)逻辑数据:很多语言有专门用于布尔代数的数据类型,即逻辑型数据类型。有的
4、语言甚至还有位串型数据。对逻辑数据可实施逻辑运算(and、or、not等)。(3)字符数据:有些语言可以处理字符或字符串。字符数据类型用来承载字符或字符串。对字符数据的操作有很多,包括判断、转换以及对字符串的各种加工。(4)指针类型:指针类型的数据不是用来描述客观事物的,它的作用是为运算提供数据的地址。v常常见的的结构型数据构型数据类型有以下几种:型有以下几种:1数组一个数一个数组是由同一是由同一类型数据型数据组成的有序的集合。数成的有序的集合。数组下下标与数与数组元元素的存素的存储地址密切相关,二者呈地址密切相关,二者呈线性关系。因此数性关系。因此数组元素也称元素也称为下下标变量。量。N维数
5、数组的每个元素有的每个元素有N个下个下标。由。由N个下个下标决定数决定数组元素元素的存的存储位置。位置。2记录记录是由不同是由不同类型数据所型数据所组成的集合。成的集合。记录结构中每个元素所占有构中每个元素所占有的存的存储空空间可能互不相同,可能互不相同,记录的元素称的元素称为分量。分量。例如,例如,C语言采用下面的形式定言采用下面的形式定义记录:struct student char name8;int studclass;float math;结构分量是通过名字而不是像数组元素那样通过下标访问的。结构分量的名字是所谓复合名字,例如“结构名.分量名”。结构分量的使用与基本数据结构定义的变量相
6、同,如下述3个赋值语句:student.name=LIMINGstudent.studclass=3student.math=95.4每个分量的存储地址由记录结构的首地址与相应分量的偏移地址相加而成。记录结构的每个分量(域)所占用的存储字节数称为该域的长度。通过累加分量的长度可计算出各分量的偏移量。student.name占占8个字个字节,student.studclass占占2个字个字节,student.math占占4个字个字节,可,可计算三者算三者对应的偏移量的偏移量为0、8、10,若,若student记录结构在构在运行运行时被分配一个基址被分配一个基址a,则其各分量的地址其各分量的地址为
7、:student.name:astudent.studclass:a+8student.math:a+103字符串、表格和队列不同的不同的语言根据不同的需要会拓展出一些言根据不同的需要会拓展出一些实用数据用数据类型。型。有越来越多的有越来越多的语言把字符串作言把字符串作为一种基本的数据一种基本的数据类型,串的型,串的长度不度不加限制。加限制。这种数据种数据类型型给各种各种处理文字理文字语言的程序言的程序带来很多便利。来很多便利。v2.1.3 语句与表达式句与表达式1语句每当用每当用户创建了一个名称,就要用建了一个名称,就要用说明明语句来句来说明明这个名称所指个名称所指对象的意象的意义,是一种,
8、是一种变量、一种操作、量、一种操作、还是一个子程序。而是一个子程序。而执行性行性语句就是描述句就是描述计算机操作的,其算机操作的,其还可分可分为赋值语句、控制句、控制语句、句、输入入/输出出语句。句。(1)说明语句说明明语句的作用在于定句的作用在于定义名字的属性,即名字的属性,即赋予名字意予名字意义,如:,如:int x;C语言定言定义整型整型变量量(2)赋值语句:赋值语句在不同的程序设计语言中可能有不同的语句形式,但实现功能基本相同。例如:例如:X:=Y PASCAL赋值语句句(3)控制语句:计算机程序之所以能够实现各种强大的功能,原因是有了控制语句。控制语句的核心操作就是:判断选择,这是一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 第二
限制150内