第三章文法和语言.ppt
《第三章文法和语言.ppt》由会员分享,可在线阅读,更多相关《第三章文法和语言.ppt(58页珍藏版)》请在三一办公上搜索。
1、1,第三章文法和语言,为语言的语法描述寻求工具工具要对程序设计语言给出精确无二义的语法描述。(严谨、简洁、易读)形式工具-“形式”是指这样的事实:语言的所有规则只以什麽符号串能出现的方式来陈述,2,本章内容,文法和语言的形式定义文法的类型上下文无关文法及其语法树上下文无关文法的句型分析有关文法实用中的一些说明,3,3.1 文法的直观概念,例:语言规则:=:=我|他:=:=是:=学生|汽车句子:他是汽车、我是学生非句子:你是学生,4,3.2 符号和符号串,字母表:元素的非空有穷集合。元素又称为符号。符号串:由字母表中的符号组成的任何有穷序列。空串用表示。符号串的连接:设x和y是符号串,它们的连接
2、:xy。注意:x=x=x符号串的方幂:设x是符号串,x的方幂xn是把x自身连接n次得到的符号串。x0=x1=x,5,符号串集合:若集合A上的一切元素都是某字母表上的符号串,则称A为该字母表上的符号串集合。符号串集合的乘积:设A和B是符号串集合,则:AB=xy|xA且yB 注意:A=A=A集合闭包*:上所有有穷长的串的集合。*=012 n 0=集合正闭包+:+=12 n,6,3.3 文法和语言的形式定义,如何来描述一种语言?如果语言是有穷的(只含有有穷多个句子),可以将句子逐一列出来表示如果语言是无穷的,找出语言的有穷表示。语言的有穷表示有两个途经:生成方式(文法):语言中的每个句子可以用严格
3、定义的规则来构造。识别方式(自动机):用一个过程,当输入的一任意串属于语言时,该过程经有限次计算后就会停止并回答“是”,若不属于,要么能停止并回答“不是”,要么永远继续下去。,7,文法即是生成方式描述语言的:语言中的每个句子可以用严格定义的规则来构造,规则(重写规则、产生式、生成式):形如 或:=的(,)有序对。称为规则左部 称为规则右部,8,文法定义,文法G定义为四元组(VN,VT,P,S)其中VN:非终结符号(或语法实体,或变量)集;VT:终结符号集;P:规则的集合;VN,VT和P是 非空有穷集。S:称作识别符号或开始符号的一个非终结符,它至少要在一条产生式中作为左部出现。VN和VT不含公
4、共的元素,即VN VT=用V表示VN VT,称为文法G的字母表或字汇表 规则,也称重写规则、产生式或生成式,是形如或=的(,)有序对,其中是字母表V的正闭包V+中的一个符号,是V*中的一个符号。称为规则的左部,称作规则的右部。,9,文法的定义,例 文法G=(VN,VT,P,S)VN=S,VT=0,1 P=S0S1,S01 S为开始符号,例 文法G=(VN,VT,P,S)VN=标识符,字母,数字VT=a,b,c,x,y,z,0,1,9P=a z 0 9 S=,11,文法的写法 元符号:=|习惯 大写字母表示非终结符 小写字母表示终结符,(1)G:SaAb Aab AaAb A,(2)GS:Aab
5、 AaAb A SaSb(3)GS:Aab|aAb|SaSb,12,推导的定义,直接推导“”是文法G的产生式,若有v,w满足:v=,w=,其中V*,V*则称v直接推导到w,记作 v w 也称w直接归约到v例:G:S0S1,S01 0S1 00S11 00S11 000S111 000S111 00001111 S 0S1,13,推导,.(.).()VAR;BEGIN READ()END.VAR A;BEGIN READ()END.(A)VAR A;BEGIN READ()END.VAR A;BEGIN READ(A)END.(A),14,推导的定义,若存在v=w0 w1.wn=w,(n0)则记
6、为v=+w,称作v推导出w,或w归约到v 若有v=+w 或 v=w,则记为v=*w,15,例:G:S0S1,S010S1 00S1100S11 000S111000S111 00001111 S 0S1 00S11 000S111 00001111 S=+00001111 S=*S 00S11=*00S11,16,句型、句子的定义,句型有文法G,若S=*x,则称x是文法G的句型。句子有文法G,若S=*x,且xVT*,则称x是文法G的句子。例:G:S0S1,S01S 0S1 00S11 000S111 00001111G的句型S,0S1,00S11,000S111,00001111G的句子000
7、01111,01,17,句型、句子,例:GE:EE+T|T TT*F|F F(E)|aEE+T T+T F+T a+T a+T*F a+F*F a+a*F a+a*a句子:用符号a,+,*,(和)构成的算术表达式,18,(文法生成的)语言的定义,由文法G生成的语言记为L(G),它是文法G的一切句子的集合:L(G)=x|S=*x,其中S为文法的开始符号,且x VT*例:G:S0S1,S01 L(G)=0n1n|n1,例 文法GS:(1)SaSBE(2)SaBE(3)EBBE(4)aBab(5)bBbb(6)bEbe(7)eEee L(G)=anbnen|n1 G生成的每个串都在L(G)中L(G)
8、中的每个串确实能被G生成,20,文法的等价,若L(G1)=L(G2),则称文法G1和G2是等价的。如文法G1A:ADB 与G2S:S0S1 等价 ADE S01 EAB D0 B1,21,3.4 文法的类型,通过对产生式施加不同的限制,Chomsky将文法分为四种类型:0型文法:对任一产生式,都有(VNVT)+,(VNVT)*1型文法:对任一产生式,都有|,仅仅 S除外2型文法:对任一产生式,都有VN 3型文法:任一产生式的形式都为AaB或Aa,其中AVN,BVN,aVT*,22,文法的类型,例:1型(上下文有关)文法 文法GS:SCDAbbA CaCABaaB CbCBBbbBADaD Ca
9、BDbD DbAabD,23,文法的类型,例:2型(上下文无关)文法 文法GS:SABABS|0BSA|1,24,3型文法,GS:S0A|1B|0A0A|1B|0SB1B|1|0,GI:I lTI lT lTT dTT lT d,25,文法的类型,0型文法,四类文法之间的逐级“包含”关系,3型文法,26,文法和语言,0型文法产生的语言称为0型语言1型文法或上下文有关文法(CSG)产生的语言称为1型语言或上下文有关语言(CSL)2型文法或上下文无关文法(CFG)产生的语言称为2型语言或上下文无关语言(CF L)3型文法或正则(正规)文法(RG)产生的语言称为3型语言正则(正规)语言(RL),27
10、,文法和语言,四种文法之间的关系 是将产生式做进一步限制而定义的。语言之间的关系依次:有不是上下文有关语言的0型语言,有不是上下文无关语言的1型语言,有不是正则语言的上下文无关语言。,28,根据形式语言理论,文法和识别系统间有这样的关系,0型文法(短语结构文法)的能力相当于图灵机,可以表征任何递归可枚举集,而且任何0型语言都是递归可枚举的 1型文法(上下文有关文法):产生式的形式为1A212,即只有A出现在1和2的上下文中时,才允许取代A。其识别系统是线性界限自动机。,29,带 a0 a1 a2 a3 a4 a5 a6 a7 a8 an-1 an,有限控制器,磁头,任何能用图灵机描述的计算都能
11、机械实现,任何能在现代计算机上实现的计算都能用图灵机描述,30,2型文法(上下文无关文法CFG):产生式的形式为A,取代A时与A的上下文无关。其识别系统是不确定的下推自动机。3型文法(正规文法RG):产生的语言是有穷自动机(FA)所接受的集合,31,3.5 上下文无关文法及其语法树,上下文无关文法有足够的能力描述程序设计语言的语法结构语法树-句型推导的直观表示,32,语法树-句型推导的直观表示(句型、推导),GE:EE+T|T TT*F|F F(E)|aEE+T T+T F+T a+T a+T*F a+F*F a+a*F a+a*a EE+T E+T*F E+T*a E+F*a E+a*a T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 文法 语言

链接地址:https://www.31ppt.com/p-5934321.html