欢迎来到天天文库
浏览记录
ID:42331057
大小:1.02 MB
页数:96页
时间:2019-09-12
《高级程序设计语言》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章高级语言及其语法描述程序设计语言的语法程序设计语言的语义程序设计语言的特点程序设计语言的语法描述第二章高级语言及其语法描述任何语言实现的基础是语言的定义。在定义方面,编译程序研制者与一般用户有所不同用户关心语言如何使用开发人员关心语言的定义。他们对哪些构造允许出现更感兴趣。即使一时不能看出某种构造的实际应用,或者判断实现该结构会导致严重的困难,但仍必须严格根据语言的定义实现它。程序语言主要由语法和语义两方面定义。2.1程序语言的定义第二章高级语言及其语法描述2.1.1语法所谓一个语言的语法是指这样的一组规则,用它可以形成和产生一个
2、合适的程序。这些规则一部分称为词法规则,另一部分能称为语法规则(或产生规则)。第二章高级语言及其语法描述几个概念a.一个语言只是用一个有限字符集作为字母表;b.词法规则是指单词符号的形成规则。单词符号一般包括:各类型的常数、标识符、基本字、算符和界符等。C.语言的语法规则规定了如何从单词符号形成更大的结构(即语法单位或语法范畴),换言之,语法规则是语法单位的形成规则。一般程序语言的语法单位有:表达式、语句、分程序、函数、过程和程序等。第二章高级语言及其语法描述对于一个语言来说,不仅要给出它的词法、语法规则,而且要定义它的单词符号和语法单
3、位的意义。这就是语义问题。语义是指这样的一组规则,使用它可以定义一个程序的意义。我们采用的方法为:属性文法和基于属性文法的语法制导翻译方法。2.1.2语义第二章高级语言及其语法描述程序语言的基本功能是描述数据和对数据的运算。所谓程序,从本质上来说是描述一定数据的处理过程。程序子程序或分程序语句表达式算符函数调用数据引用程序第二章高级语言及其语法描述程序设计语言的定义建立在有限字母集之上的一个符号系统有一定的语法和语义规则语法规则:词法规则和语法规则语义规则:描述语法单位的功能和含义程序设计语言的功能是描述数据和对数据的运算第二章高级语言
4、及其语法描述2.2高级语言的一般特性2.2.1高级语言分类2.2.2程序结构2.2.3数据类型与操作2.2.4语句与控制结构第二章高级语言及其语法描述2.2.1高级语言分类从不同的角度看,对高级程序设计语言有不同的分类方法。如果我们从语言范型分类,当今的大多数程序设计语言可划分为四类。一、强制式语言强制式语言也称过程式语言。其特点是命令驱动,面向语句。一个强制式语言程序由一系列的语句组成,每个浯句的执行引起若干存储单元中的值的改变。这种语言的语法形式通常具有如下形式:语句1;语句2;语句n;许多广为使用的语言,如FORTRAN、C、Pa
5、scal,等等,属于这类语言。第二章高级语言及其语法描述2.2.1高级语言分类二、应用式语言与强制式语言不同的是,应用式语言更注重程序所表示的功能,而不是一个语句接一个语句地执行。程序的开发过程是从前面已有的函数出发构造出更复杂的函数,对初始数据集进行操作直至最终的函数可以用于从初始数据计算出最终的结果。这种语言通常的语法形式是:函数n(…函数2(函数1(数据))…)因此,这种语言也称函数式语言。LISP和ML属于这种语言。第二章高级语言及其语法描述2.2.1高级语言分类三、基于规则的语言基于规则的语言程序的执行过程是:检查一定的条件,
6、当它满足值,则执行适当的动作。最有代表性的基于规则语言是Prolog,它也称逻辑程序设计语言,因为它的基本允许条件是谓词逻辑表达式。这类语言的语法形式通常为:条件1→动作l条件2→动作2条件n→动作3第二章高级语言及其语法描述2.2.1高级语言分类四、面向对象语言面向对象语言如今已成为最流行、最重要的语言。它主要的特征是支持封装性、继承性和多态性等。把复杂的数据和用于这些数据的操作封装在一起,构成对象;对简单对象进行扩充、继承简单对象的特性,从而设计出复杂的对象。通过对象的构造可以使面向对象程序获得强制式语言的有效性,通过作用于规定数据
7、的函数的构造可以获得应用式语言的灵活性和可靠性。第二章高级语言及其语法描述2.2.2程序结构不同程序语言都有各自的程序结构C语言程序可以包含多个函数Pascal支持过程的嵌套定义程序结构的不同,决定了符号表构造方法的不同第二章高级语言及其语法描述Pascal是一个允许子程序嵌套定义的语言programmain…procedureP1;…procedureP11;…begin…end;begin…end;procedureP2;…begin…end;begin…end第二章高级语言及其语法描述程序设计语言支持特定的数据类型与操作。一个数据
8、类型通常包括以下三种要素:a.用于区别这种类型的数据对象的属性b.这种类型的数据对象可以具有的值c.可以作用于这种类型数据对象的操作2.2.3数据类型与操作第二章高级语言及其语法描述一.初等数据类型(基本数
此文档下载收益归作者所有