高级语言及其语法描述精选PPT讲稿.ppt





《高级语言及其语法描述精选PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《高级语言及其语法描述精选PPT讲稿.ppt(95页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于高级语言及其语法描述第一页,讲稿共九十五页哦2概述n要学要学习和构造和构造编译程序,理解和定程序,理解和定义高高级语言是必不言是必不可少的可少的n本章概述高本章概述高级语言的言的结构和主要共同特征,重点介构和主要共同特征,重点介绍程程序序设计语言的言的语法描述方法法描述方法第二页,讲稿共九十五页哦3内容线索n程序程序设计语言的定言的定义n高高级语言的一般特性言的一般特性n程序程序语言的言的语法描述法描述第三页,讲稿共九十五页哦4程序设计语言的定义n程序程序设计语言是言是为书写写计算机程序而人算机程序而人为设计的符号的符号语言。言。机器语言机器语言汇编语言汇编语言高级语言高级语言第四页,讲稿
2、共九十五页哦5各级语言的比较比较比较 机器语言机器语言汇编语言汇编语言高级语言高级语言硬件识别硬件识别是唯一可以识别是唯一可以识别的语言的语言不可识别不可识别不可识别不可识别是否可直接是否可直接执行执行可直接执行可直接执行不可,需汇编、不可,需汇编、连接连接不可,需编译不可,需编译/解释、解释、连接连接特点特点面向机器面向机器占用内存少占用内存少执行速度快执行速度快使用不方便使用不方便面向机器面向机器占用内存少占用内存少执行速度快执行速度快较为直观较为直观与机器语言一与机器语言一一对应一对应n面向问题面向问题/对象对象n占用内存大占用内存大n执行速度相对慢执行速度相对慢n标准化程度高标准化程度
3、高n便于程序交换,使用便于程序交换,使用方便方便定位定位低级语言,极少低级语言,极少使用使用低级语言,很少低级语言,很少使用使用高级语言,种类多,高级语言,种类多,常用常用第五页,讲稿共九十五页哦6程序语言的内涵语法语法语义语义语用语用表示构成表示构成语言句子的各个言句子的各个记号之号之间的的组合合规律律(构成构成规则)。表示按照各种表示方法所表示的各个表示按照各种表示方法所表示的各个记号号的特定含的特定含义(各个(各个记号和号和记号所表示的号所表示的对象之象之间的关系)。的关系)。表示各个表示各个记号或号或语言言词句与其使用之句与其使用之间的关系。的关系。第六页,讲稿共九十五页哦7举例:C语
4、言的赋值语句语法语法语义语义语用语用赋值语句由一个句由一个变量,后随一个量,后随一个符号符号“=”,再,再在后面跟一个在后面跟一个表达式所构成。表达式所构成。赋值语句赋值语句先先对该语句的右部句的右部表达式求表达式求值,然后,然后把所得把所得结果与果与语句句左部的左部的变量相量相结合,合,并取代并取代该变量原有量原有的的值。赋值语句可用来句可用来计算和保存表达算和保存表达式的式的值。第七页,讲稿共九十五页哦8语法n语言的言的语法是指可以形成和法是指可以形成和产生合式程序的一生合式程序的一组规则。它包。它包括括词法法规则和和语法法规则。词法法规则是指程序中是指程序中单词符号的形成符号的形成规则。
5、单词符号一般包括:符号一般包括:标识符、符、基本字、常量、算符和界符。基本字、常量、算符和界符。语法法规则是指程序中是指程序中语法法单位的形成位的形成规则。程序。程序语言的言的语法法单位有:表位有:表达式、达式、语句、分程序、句、分程序、过程、函数、程序。程、函数、程序。n描述方式:描述方式:词法法规则和和语法法规则都可以用自然都可以用自然语言、言、语法法图、BNF范式、或文法等描述。范式、或文法等描述。第八页,讲稿共九十五页哦9语法描述方式(1)(1)自然)自然语言言例例1.标识符是由字母后跟若干个(包括符是由字母后跟若干个(包括0个)字母或数字的符号串个)字母或数字的符号串组成的。成的。例
6、例2.赋值语句由一个句由一个变量,后随一个符号量,后随一个符号“=”,再在后面跟一个表达式所构,再在后面跟一个表达式所构成。成。(2)语法法图是用是用图解形式描述程序解形式描述程序设计语言言语法法规则的工具。的工具。例例1.标识符的构成符的构成规则用用语法法图描述描述为:标识符标识符字母字母数字数字字母字母第九页,讲稿共九十五页哦10语法描述方式(2)(3)BNF范式范式巴科斯范式巴科斯范式(BNF:Backus-NaurForm的的缩写写)是由是由JohnBackus和和PeterNaur首先引入的用来描述首先引入的用来描述计算机算机语言言语法的符号集。法的符号集。现在,新的在,新的编程程语
7、言几乎都使用巴科斯范式来定言几乎都使用巴科斯范式来定义编程程语言的言的语法法规则。第十页,讲稿共九十五页哦11简单算术表达式的BNF范式+*()in或者或者+|*|()|i第十一页,讲稿共九十五页哦12附:BNF表示n表示表示为 n非非终结符用符用“”括起来括起来n终结符:基本符号集符:基本符号集n其他其他(1|2|n)1|2|n1|2|nmn|第十二页,讲稿共九十五页哦13语义n对于一个于一个语言来言来说,不,不仅要要给出它的出它的词法、法、语法法规则,而且要定,而且要定义它的它的单词符号和符号和语法法单位的意位的意义。这就是就是语义问题。n语义是指是指这样的一的一组规则,使用它可以定,使用
8、它可以定义一个程序的意一个程序的意义。n我我们采用的方法采用的方法为:基于属性文法的:基于属性文法的语法制法制导翻翻译方法。方法。第十三页,讲稿共九十五页哦14程序语言的功能n一个程序一个程序语言的基本功能是言的基本功能是描述描述数据数据和和对数据的运算数据的运算。n所所谓程序,从本程序,从本质上来上来说是描是描述一定数据的述一定数据的处理理过程。程。n在在现今的程序今的程序语言中,一个程言中,一个程序大体可以序大体可以视为如如图所示的所示的层次次结构构第十四页,讲稿共九十五页哦15内容线索程序程序设计语言的定言的定义高高级语言的一般特性言的一般特性程序程序语言的言的语法描述法描述第十五页,讲
9、稿共九十五页哦16高级语言的分类(1)强制式:制式:ImperativeLanguage形式:形式:语句序列句序列举例:例:Fortran、C、Pascal(2)应用式:用式:ApplicativeLanguage形式:形式:func1(func(n)举例:例:Lisp(3)基于基于规则:Rule-BasedLanguage形式:形式:bird(x):-fly(x)&feather(x)举例:例:Prolog(4)面向面向对象:象:Object-OrientedLanguage形式:形式:class,举例:例:Smalltalk、C+、Java第十六页,讲稿共九十五页哦17高级语言的一般特性n
10、程序程序结构构n数据数据类型与操作型与操作n语句与控制句与控制结构构第十七页,讲稿共九十五页哦18程序结构单层结构nFortran程序程序结构构主程序若干个主程序若干个辅程序段(子程序、函数)程序段(子程序、函数)Program Main Read(I,J)Call max(I,J,K)Write(100,K)100 Format()endsubroutine max(x,y,z)integer x,y,z if xy then zx else z y end第十八页,讲稿共九十五页哦19程序结构多层结构nPascal程序程序结构构程序允程序允许嵌套定嵌套定义Program P;var a,x
11、:integer;procedure Q(b:integer);var i:integer;procedure R(u:integer;Var v:integer);var c,d:integer;begin end begin end begin .end第十九页,讲稿共九十五页哦20作用域作用域:一个名字能被使用的区域范:一个名字能被使用的区域范围围称作称作这这个名字的作用域。个名字的作用域。允允许同一个同一个标识符在不同的符在不同的过程中代表不同的名字。程中代表不同的名字。名字作用域名字作用域规则规则-最近嵌套原最近嵌套原则则 n一个在子程序一个在子程序B1中中说明的名字明的名字X只在只
12、在B1中有效中有效(局部于(局部于B1););n如果如果B2是是B1的一个内的一个内层子程序且子程序且B2中中对标识符符X没有新的没有新的说明,明,则原来的名字原来的名字X在在B2中仍然有效。中仍然有效。如果如果B2对X重新作了重新作了说明,那么,明,那么,B2对X的任何的任何引用都是指重新引用都是指重新说明明过的的这个个X。第二十页,讲稿共九十五页哦21programmainvarA,B:real;procedureP1varB:boolean;beginendprocedureP2varA:integer;beginendbeginendA(real)B(real)B(bool)A(int
13、eger)第二十一页,讲稿共九十五页哦22初等类型、复合类型到抽象数据类型n类型本不存在型本不存在内存里存内存里存储的内容,你的内容,你认为它是什么,它就是什么它是什么,它就是什么n高高级语言言设计了初等数据了初等数据类型:整型、浮点型、字符型等。不同的型:整型、浮点型、字符型等。不同的语言言也会定也会定义不同的初等不同的初等类型等。型等。初等数据初等数据类型并不能方便地解决所有型并不能方便地解决所有问题n复合数据复合数据类型是初等数据型是初等数据类型迭代派生而来型迭代派生而来典型的代表就是典型的代表就是“结构构”,数,数组也可算作此也可算作此类n抽象数据抽象数据类型型(ADT)在复合数据在复
14、合数据类型的基型的基础上增加了上增加了对数据的操作数据的操作抽象数据抽象数据类型型进而而进化化为“类(Class)”第二十二页,讲稿共九十五页哦23类型n每个被每个被计算算对象都象都带有自己的有自己的类型,以型,以类型作型作为值的属的属性的概括,因此每个性的概括,因此每个类型都意味着一个型都意味着一个值的集合。的集合。n不同不同类型的型的值具有不同的操作运算具有不同的操作运算n类型是一个型是一个值的集合和定的集合和定义在在这个个值集上的一集上的一组操作操作的的总称。称。如如C语言中的整型言中的整型变量量(int),其,其值集集为某个区某个区间上的整数,上的整数,定定义在其上的操作在其上的操作为
15、+,-,*,/等等第二十三页,讲稿共九十五页哦24数据类型n数据数据类型通常包括以下三种要素:型通常包括以下三种要素:a.用于区用于区别这种种类型的数据型的数据对象的属性象的属性b.这种种类型的数据型的数据对象可以具有的象可以具有的值c.可以作用于可以作用于这种种类型数据型数据对象的操作象的操作第二十四页,讲稿共九十五页哦25抽象数据类型n一个抽象数据一个抽象数据类型(型(AbstractDataType,ADT)定)定义为:(1)一个数据)一个数据对象集,数据象集,数据对象由一个或多个象由一个或多个类型定型定义;(2)一个作用于)一个作用于这些数据些数据对象的抽象操作集;象的抽象操作集;(3
16、)完全封装,用)完全封装,用户除了能使用除了能使用该类型的操作来型的操作来处理理这类数据数据对象之外,不能象之外,不能作其他的作其他的处理。理。n抽象数据抽象数据类型有两个重要特征:型有两个重要特征:信息信息隐蔽蔽和和数据封装数据封装,使用与,使用与实现相分离相分离第二十五页,讲稿共九十五页哦26抽象数据类型FirstComeFirstService(queue)InQueueOutQueueIsEmptyOverflowQueue(ADT)对外操作接口结构数据维护接口结构数据的物理实现第二十六页,讲稿共九十五页哦27抽象数据类型(续)FirstComeFirstService(queue)I
17、nQueueOutQueueIsEmptyOverflowQueue(ADT)对外操作接口结构数据维护接口结构数据的物理实现第二十七页,讲稿共九十五页哦28抽象数据类型的特点n数据抽象用数据抽象用ADT描述程序描述程序处理的理的实体体时,强调的是其的是其本本质的特征的特征、其、其所能完成的功能所能完成的功能以及以及它和外部用它和外部用户的的接口接口(即外界使用它的方法)。(即外界使用它的方法)。n数据封装将数据封装将实体的外部特性和其内部体的外部特性和其内部实现细节分离,并分离,并且且对外部用外部用户隐藏其内部藏其内部实现细节。第二十八页,讲稿共九十五页哦29数据抽象的优点n程序程序组织和修改
18、和修改n可可读性、可靠性、可性、可靠性、可维护性性通通过隐藏数据表示,用藏数据表示,用户代代码不能直接不能直接访问该类型型对象,不依象,不依赖于其表示,因此可以修改于其表示,因此可以修改该类型型对象的表示而不影响用象的表示而不影响用户代代码第二十九页,讲稿共九十五页哦30语句与控制结构n表达式表达式n语句句简单语句句:不含其它不含其它语句成分的基本句。句成分的基本句。n说明明语句句n赋值语句句n控制控制语句句n过程程调用用语句句复合复合语句:句中有句的句:句中有句的语句句第三十页,讲稿共九十五页哦31表达式n表达式:一个表达式是由运算量(亦称操作数,即数据引用或函数表达式:一个表达式是由运算量
19、(亦称操作数,即数据引用或函数调用)和算符用)和算符组成的。成的。n对于大多数程序于大多数程序语言来言来说,表达式的形成,表达式的形成规则可概括可概括为:(1)变量(包括下量(包括下标变量)、常数是表达式;量)、常数是表达式;(2)若)若E1、E2为表达式,表达式,为二元算符,二元算符,则E1E2为表达式;表达式;(3)若)若E为表达式,表达式,为一元算符,一元算符,则E为表达式;表达式;(4)若)若E为表达式,表达式,则(E)是表达式。是表达式。第三十一页,讲稿共九十五页哦32语句n不同程序不同程序语言含有不同形式和功能的各种言含有不同形式和功能的各种语句。句。n从功能上从功能上说语句大体可
20、分句大体可分执行性行性语句句和和说明性明性语句句两大两大类:说明性明性语句旨在定句旨在定义不同数据不同数据类型的型的变量或运算。量或运算。执行性行性语句旨在描述程序的句旨在描述程序的动作。作。n执行性行性语句又可分句又可分为赋值语句、控制句、控制语句和句和输入入/输出出语句句n从形式上从形式上说,语句可分句可分为简单句句、复合句复合句和和分程序分程序等。等。第三十二页,讲稿共九十五页哦33赋值语句A:=Bn意意义是:是:“把把B的的值送入送入A所代表的所代表的单元元”在在赋值句中,句中,赋值号号:=左右两左右两边的的变量名扮演着两种不同的角色。量名扮演着两种不同的角色。对赋值号右号右边的的B我
21、我们需要的是它的需要的是它的值;对于左于左边的的A我我们需要的是它需要的是它们的所代表的存的所代表的存储单元(的地址)。元(的地址)。n为了区分一个名字的了区分一个名字的这两种特征,我两种特征,我们把一个名字所代表的那把一个名字所代表的那个存个存储单元(地址)称元(地址)称为该名字的名字的左左值;把一个名字的;把一个名字的值称称为该名字的名字的右右值。第三十三页,讲稿共九十五页哦34控制语句n多数多数语言中所含的控制言中所含的控制语句有:句有:无条件无条件转移移语句句:gotoL条件条件语句:句:ifBthenSifBthenS1elseS2循循环语句:句:whileBdoSrepeatSun
22、tilBfori:=E1stepE2untilE3doS过程程调用用语句:句:callP(X1,X2,Xn)返回返回语句:句:return(E)第三十四页,讲稿共九十五页哦35说明语句n说明明语句旨在定句旨在定义名字的性名字的性质。n编译程序把程序把这些性些性质登登记在符号表中,并在符号表中,并检查程序中名程序中名字的引用和字的引用和说明是否相一致。明是否相一致。第三十五页,讲稿共九十五页哦36内容线索程序程序设计语言的定言的定义高高级语言的一般特性言的一般特性程序程序语言的言的语法描述法描述第三十六页,讲稿共九十五页哦37概述n对于高于高级程序程序语言及言及编译程序而言,程序而言,语言的言的
23、语法定法定义是是非常重要的。本非常重要的。本节将介将介绍语法法结构的形式描述构的形式描述问题。编译原理编译原理=形式语言理论形式语言理论+编译技术编译技术第三十七页,讲稿共九十五页哦38形式语言n自然自然语语言言人人们们平平时说话时时说话时所使用的一种所使用的一种语语言,不同的国家和民族有着不同的言,不同的国家和民族有着不同的语语言。言。n形式形式语语言言通通过过人人们们公公认认的符号、表达方式所描述的一种的符号、表达方式所描述的一种语语言,是一种通用言,是一种通用语语言,言,没有国籍之分。没有国籍之分。形式形式语语言是某个言是某个字母表上的字符串的集合字母表上的字符串的集合,有一定的描述范,
24、有一定的描述范围围。第三十八页,讲稿共九十五页哦39为什么用形式语言n形式形式语语言的最初起因:言的最初起因:语语言学家言学家乔乔姆斯基(姆斯基(Chomsky)想用一套形式化方法)想用一套形式化方法来描述来描述语语言。言。n形式形式语语言在自然言在自然语语言研究中起步,在言研究中起步,在计计算机科学中得到广泛算机科学中得到广泛应应用。用。最初的最初的应应用:用:编译编译现现在已广泛在已广泛应应用在人工智能、用在人工智能、图图象象处处理、通信理、通信协议协议、通信、通信软软件等多个件等多个领领域域在在计计算机理算机理论论科学方面:科学方面:n是可是可计计算理算理论论(算法(算法在有限步在有限步
25、骤骤内求得解、算法复内求得解、算法复杂杂性、停机性、停机问题问题、)、定理自、)、定理自动证动证明、明、程序程序转换转换(程序自(程序自动动生成)、模式生成)、模式识别识别等的基等的基础础。第三十九页,讲稿共九十五页哦40形式语言与自动机理论的发展n1956年,年,乔乔姆斯基(姆斯基(Chomsky)从)从产产生的角度研究生的角度研究语语言言文法文法n1951-1956年年间间,克林(,克林(Kleene)从)从识别识别的角度研究的角度研究语语言言自自动动机机n1959年,年,乔乔姆斯基不姆斯基不仅仅确定了文法和自确定了文法和自动动机分机分别别从生成和从生成和识别识别的的角度去表达角度去表达语
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言 及其 语法 描述 精选 PPT 讲稿

限制150内