[工学]高级程序设计语言 编译原理.ppt

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

第二章 高级语言及其语法描述 第二章 高级语言及其语法描述 程序设计语言的语法 程序设计语言的语义 程序设计语言的特点 程序设计语言的语法描述 任何语言实现的基础是语言的定义。 在定义方面,编译程序研制者与一般用户有所不同 用户关心语言如何使用 开发人员关心文法的定义。他们对哪些构造允许出现更感兴趣。即使一时不能看出某种构造的实际应用,或者判断实现该结构会导致严重的困难,但仍必须严格根据语言的定义实现它。 程序语言主要由语法和语义两方面定义。 2.1.1 语法 所谓一个语言的语法是指这样的一组规则,用它可以形成和产生一个合适的程序。 这些规则一部分称为词法规则,另一部分能称为语法规则(或产生规则)。 几个概念 a.一个语言只是用一个有限字符集作为字母表; b.词法规则是指单词符号的形成规则。单词符号一般包括:各类型的常数、标识符、基本字、算符和界符等。 C.语言的语法规则规定了如何从单词符号形成更大的结构(即语法单位或语法范畴),换言之,语法规则是语法单位的形成规则。一般程序语言的语法单位有:表达式、语句、分程序、函数、过程和程序等。 对于一个语言来说,不仅要给出它的词法、语法规则,而且要定义它的单词符号和语法单位的意义。这就是语义问题。 语义是指这样的一组规则,使用它可以定义一个程序的意义。 我们采用的方法为:属性文法和基于属性文法的语法制导翻译方法。 程序语言的基本功能是描述数据和对数据的运算。所谓程序,从本质上来说是描述一定数据的处理过程。 程序设计语言的定义 建立在有限字母集之上的一个符号系统 有一定的语法和语义规则 语法规则:词法规则和语法规则 语义规则:描述语法单位的功能和含义 程序设计语言的功能是描述数据和对数据的运算 2.2 高级语言的一般特性 2.2.1 高级语言分类 2.2.2 程序结构 2.2.3 数据类型与操作 2.2.4 语句与控制结构 2.2.1 高级语言分类 从不同的角度看,对高级程序设计语言有不同的分类方法。如果我们从语言范型分类,当今的大多数程序设计语言可划分为四类。 一、强制式语言 强制式语言也称过程式语言。其特点是命令驱动,面向语句。一个强制式语言程序由一系列的语句组成,每个浯句的执行引起若干存储单元中的值的改变。这种语言的语法形式通常具有如下形式: 语句1; 语句2; 语句n; 许多广为使用的语言,如FORTRAN、C、Pascal,等等,属于这类语言。 2.2.1 高级语言分类 二、应用式语言 与强制式语言不同的是,应用式语言更注重程序所表示的功能,而不是一个语句接一个语句地执行。程序的开发过程是从前面已有的函数出发构造出更复杂的函数,对初始数据集进行操作直至最终的函数可以用于从初始数据计算出最终的结果。这种语言通常的语法形式是: 函数n(…函数2(函数1(数据))…) 因此,这种语言也称函数式语言。LISP(20 世纪 50 年代末由麻省理工学院为研究人工智能而开发的)和ML(20世纪70年代,由爱丁堡大学开发的一个通用的函数式编程语言)属于这种语言。 2.2.1 高级语言分类 三、基于规则的语言 基于规则的语言程序的执行过程是:检查一定的条件,当它满足值,则执行适当的动作。最有代表性的基于规则语言是Prolog,它也称逻辑程序设计语言,因为它的基本允许条件是谓词逻辑表达式。这类语言的语法形式通常为: 条件1→动作l 条件2→动作2 条件n→动作3 2.2.1 高级语言分类 四、面向对象语言 面向对象语言如今已成为最流行、最重要的语言。它主要的特征是支持封装性、继承性和多态性等。把复杂的数据和用于这些数据的操作封装在一起,构成对象;对简单对象进行扩充、继承简单对象的特性,从而设计出复杂的对象。通过对象的构造可以使面向对象程序获得强制式语言的有效性,通过作用于规定数据的函数的构造可以获得应用式语言的灵活性和可靠性。 2.2.2 程序结构 不同程序语言都有各自的程序结构 C语言程序可以包含多个函数 Pascal 支持过程的嵌套定义 程序结构的不同,决定了符号表构造方法的不同 Pascal 是一个允许子程序嵌套定义的语言 program main … procedure P1; … procedure P11; … begin … end; begin … end; pr

文档评论(0)

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

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档