编译原理第二章.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

编译原理(第二版)郑洪编著第2章程序语言高级语言1中间语言22.1高级语言2.1.1高级语言的分类1.过程式语言过程式语言以语句为核心,命令驱动。过程式语言设计的程序以语句为最小执行单位,程序由一系列的语句组成。这种语言设计的程序通常具有如下形式:语句1;语句2;…语句n;2.面向对象语言面向对象语言(Object-OrientedLanguage)是如今使用最广、最为重要的语言。它的主要特征是支持封装性、继承性和多态性;把复杂的特性和用于这些数据的操作装在一起,构成对象;对简单对象进行扩充,继承简单对象的特性,从而设计出复杂的对象。3.应用式语言将已知的函数作为新开发函数的参数,利用函数的嵌套与递归使得程序的功能由简单变为复杂,最终满足程序设计的要求。这种语言的结构形式是:函数n(…函数2(函数1(数据))…)4.基于规则的语言基于规则的语言以判断—选择语句为基本执行单位。其程序的执行过程是:检查一定的条件,当它满足时选择适当的操作。最有代表性的基于规则语言是PROLOG。其程序结构形式为:条件1→动作1条件2→动作2…条件n→动作n2.1.2数据类型及其操作(1)数值数据:数值数据包括整数、实数、复数以及这些类型的双长(或多倍长)精度数。对数值类型的数据可描述为算术运算集合。(2)逻辑数据:很多语言有专门用于布尔代数的数据类型,即逻辑型数据类型。有的语言甚至还有位串型数据。对逻辑数据可实施逻辑运算(and、or、not等)。(3)字符数据:有些语言可以处理字符或字符串。字符数据类型用来承载字符或字符串。对字符数据的操作有很多,包括判断、转换以及对字符串的各种加工。(4)指针类型:指针类型的数据不是用来描述客观事物的,它的作用是为运算提供数据的地址。常见的结构型数据类型有以下几种:1.数组一个数组是由同一类型数据组成的有序的集合。数组下标与数组元素的存储地址密切相关,二者呈线性关系。因此数组元素也称为下标变量。N维数组的每个元素有N个下标。由N个下标决定数组元素的存储位置。2.记录记录是由不同类型数据所组成的集合。记录结构中每个元素所占有的存储空间可能互不相同,记录的元素称为分量。例如,C语言采用下面的形式定义记录:structstudent{charname[8];intstudclass;floatmath;}结构分量是通过名字而不是像数组元素那样通过下标访问的。结构分量的名字是所谓复合名字,例如“结构名.分量名”。结构分量的使用与基本数据结构定义的变量相同,如下述3个赋值语句:student.name=LIMINGstudent.studclass=3student.math=95.4每个分量的存储地址由记录结构的首地址与相应分量的偏移地址相加而成。记录结构的每个分量(域)所占用的存储字节数称为该域的长度。通过累加分量的长度可计算出各分量的偏移量。student.name占8个字节,student.studclass占2个字节,student.math占4个字节,可计算三者对应的偏移量为0、8、10,若student记录结构在运行时被分配一个基址a,则其各分量的地址为:student.name:astudent.studclass:a+8student.math:a+103.字符串、表格和队列不同的语言根据不同的需要会拓展出一些实用数据类型。有越来越多的语言把字符串作为一种基本的数据类型,串的长度不加限制。这种数据类型给各种处理文字语言的程序带来很多便利。2.1.3语句与表达式1.语句每当用户创建了一个名称,就要用说明语句来说明这个名称所指对象的意义,是一种变量、一种操作、还是一个子程序。而执行性语句就是描述计算机操作的,其还可分为赋值语句、控制语句、输入/输出语句。(1)说明语句说明语句的作用在于定义名字的属性,即赋予名字意义,如:intx; C语言定义整型变量(2)赋值语句:赋值语句在不同的程序设计语言中可能有不同的语句形式,但实现功能基本相同。例如:X:=Y PASCAL赋值语句(3)控制语句:计算机程序之所以能够实现各种强大的功能,原因是有了控制语句。控制语句的核心操作就是:判断—选择,这是一切智能行为的基础。条件语句ifEthenSifEthenS

您可能关注的文档

文档评论(0)

智乾 + 关注
实名认证
内容提供者

科技工作者

1亿VIP精品文档

相关文档