程序设计语言的刻划.ppt
《程序设计语言的刻划.ppt》由会员分享,可在线阅读,更多相关《程序设计语言的刻划.ppt(41页珍藏版)》请在三一办公上搜索。
1、,第2章 程序设计语言的刻划,程序设计语言需要有语言文本来精确地规定其功能、源程序的表示、语义和其限制,以及语用、语境等其他信息。语言文本是实现者(厂商和开发人员)和使用者(编程人员)之间的界面。不同程序设计语言文本的描写方法有相当大的差别。,2.1 程序设计语言的文本刻划,程序设计语言文本的共同点:(1)语言文本的标准化;国际标准(ISO)、国家标准(GB)、军用标准(T)、部颁布标准、企业标准等。程序设计语言的标准属于指导性标准,而不是强制性标准。在当前的形势下不走标准的路是难以实现工业化发展的。,2.1 程序设计语言的文本刻划,(2)语言文本的格式和叙述相对刻板和严格,各个文本本身有较为
2、统一的书写风格。(3)各个语法单位均有语法、语义等描述。语法表示:BNF及其变形语义部分:对语法的解释、语法元素的限制、语义的说明、语用和语境等,一般采用自然语言。,2.1 程序设计语言的文本刻划,2.1 程序设计语言的文本刻划,语言文本的兼容更新,需要保持风格的一致,包括语法语义部分的风格的一致。有的语言一个文本仅允许为全集,有的允许以积木式组成若干合法的子集。例如:Ada语言只允许为全集;COBOL语言允许有多级子集,且其组合情况最为复杂。P27 表2.1,2.2.1 源程序 程序设计语言比自然语言简单但比形式语言复杂,形式语言是程序设计语言的理论基础。在程序设计语言中,句子即为正确的源程
3、序。正确:语法正确、语义合理、而语用、语境有适当解释。,2.2 程序设计语言和形式语言,语法正确的源程序:它可以由相应语法规则集产生的。如果语法是无歧义的,则语法正确的源程序有且仅有一棵语法树与之对应。这里的语法是有序的,即所有的结点有先后次序,其树叶的有序排列(从左到右)即为源程序。语法正确的源程序,其语义未必正确如,某个名字未经说明,却在语句或表达式中出现。,2.2 程序设计语言和形式语言,2.2.2 程序设计语言的语法形式描述方法一、BNF形式BNF形式方法或其变种是使用最好最广的语法描述方法。是一种元语言。元语言连接词::=(定义为)|(或),+,*,2.2 程序设计语言和形式语言,元
4、语言变量:为语法单位“汉字串2”“汉字串2”为语义限制词,用于限定或说明。,2.2 程序设计语言和形式语言,元语言构成规则:规则=df元语言变量:=语法项语法项=df语法因子|语法因子 语法项语法因子=df元语言变量|元语言变量语法因子“元语言变量”的值是对象语言中的非终结符号。在定义式的右端,“元语言变量”的值既可以是非终结符号也可以是终结符号。,2.2 程序设计语言和形式语言,A:表示A可以出现也可以不出现,但均符合语法,出现与否将可能影响其语义。A:表示A出现一次。A+:表示 A重复1次到无限多次*:表示 A重复0次到无限多次 表示 A重复n次到m次,2.2 程序设计语言和形式语言,例如
5、,Ada语言中的有关异常处理结构的定义如下;handled_sequence_of_statements:=sequence_of_statements exception exception_handler exception_handler exception_handler:=when choice_parameter_specification:exception_choice|exception_choice=sequence_of_statements choice_parameter_specification:=defining_identifier exception_cho
6、ice:=exception_name|others,2.2 程序设计语言和形式语言,exception when E1=.处理程序1 when E2=.处理程序2 when others=.默认的处理程序,2.2 程序设计语言和形式语言,二、抽像语法设有下列BNF表示的语法(设其中W为语句,B为条件,I为变量,E为表达式)W:=I:=E(用于定义 赋值语句)W:=if B then W else W(用于定义 条件语句)W:=while B do W(用于定义 当语句)W:=W;W(用于定义顺序语句),2.2 程序设计语言和形式语言,上述语句可以用下列形式表示:Assignment(I,E)
7、If(B,W1,W2)While(B,W)Block(W1,W2),2.2 程序设计语言和形式语言,三、属性文法属性文AG是一个五元组。AG=(D,V,S,A,P)其中D是属性集合。(D1,D2f1,f2)是一个代数结构,具有属性域D1,D2 及部分函数f1,f2。这些函数是在这些域的笛卡尔积上的操作。V=Vn U Vt,其中Vn是非终结符号,Vt 是终结符号,2.2 程序设计语言和形式语言,S是开始符号;A是属性文法符号的集合,而每一个属性文法符号的形式为其中xV,ai(i=1,n)Dj,ai前的表示或为(其后为继承属性),或为(其后为综合属性),P称为产生式集合。,2.2 程序设计语言和形
8、式语言,语义可以从多角度分析:从时间上可以分为静态语义和动态语义;从机制上可以分成表达式语义、说明语义、过程语义、各种设施的语义;从表达上可以分成形式语义和非形式语义.静态语义:源程序本身进行分析时的语义动态语义:源程序执行时的语义,2.3 程序设计语言的语义刻划,从本质上看,源程序program用于描述算法algorithm,两者是等价的。设其输入值集为INPUT,而其输出值集为OUTPUT,将program视为一个函数:Program:INPUT OUTPUT设 input INPUT,那么当存在output OUTPUT,使得output=program(input),2.3 程序设计语
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计语言 刻划
链接地址:https://www.31ppt.com/p-6596240.html