第2章形式语言基础精选PPT.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第2章形式语言基础精选PPT.ppt》由会员分享,可在线阅读,更多相关《第2章形式语言基础精选PPT.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章形式语言基础第1页,此课件共51页哦第第2章章形式语言基础形式语言基础 计算机处理语言,首先应考虑语言的形式化、规范化,使其具有可计算性和可操作性;这就是形式语言理论研究的问题。形式语言诞生于1956年,由Chomsky创立。通常,语言研究至少涉及三个方面:语法、语义和语用;形式语言的基本观点是:语言是符号串之集合!形式语言理论研究的形式语言理论研究的基本问题基本问题是:是:研究符号串集合的表示方法、结构特性研究符号串集合的表示方法、结构特性以及运算规律。以及运算规律。因此:因此:第2页,此课件共51页哦【内容提要】2.1 形式语言是符号串集合 2.2 形式语言是由文法定义的 2.3 各
2、种语法成分的定义 2.4 两类特性文法 2.5 文法变换方法 2.6 形式语言的分类第第2章章形式语言基础形式语言基础第3页,此课件共51页哦 字母表-元素(符号)的非空有限集合;符号串-符号的有限序列;符号串集合-有限个或者无限个符号串组成的集合;规 则-以某种形式表达的在一定范围内共同遵守的章程和制度;这里,指符号串的组成规则。2.1形式语言是符号串集合形式语言是符号串集合 【形式语言】是字母表上的符号按一定的规则组成的所有符号串集合;其中的每个符号串称为一个句子。【名词解释名词解释】:三要素!第4页,此课件共51页哦【例例2.1】L1=00,01,10,11;字母表字母表1=0,1,句子
3、有:句子有:00,01,10,11【注注】(1)b0=(空符号串)(空符号串),b1=b,b2=bb,b3=bbb,(2)L1为有限语言为有限语言;L2为无限语言。为无限语言。形式语言概念示例:形式语言概念示例:【例例2.2】L2=abmc,bn|m0,n0字母表字母表2=a,b,c,句型句型1:abmc有句子:有句子:abc,abbc,abbbc,句型句型2:bn有句子:有句子:,b,bb,bbb,两个语言!第5页,此课件共51页哦1.1.连接连接:.=如:a.b=ab 2.1.1符号串符号串(集合集合)的运算的运算3.3.方幂方幂:n n=n-1n-1=n-1n-1 4.4.闭包:闭包:n
4、 n个个.符号串的运算符号串的运算 设设,为两个符号串,则为两个符号串,则:的正闭包:的正闭包:+=1 1|2 2|n n|的星闭包:的星闭包:*=0 0|1 1|2 2|n n|0 0=(空符号串空符号串)什么符号也没有的符号串什么符号也没有的符号串 !1 1=;2 2=;2.2.或或:|=或者或者 这是一种泛指!第6页,此课件共51页哦【例例2.3】:(2)abc.=.abc=abc(1)abc.de=abcde(4)(a|b)1=(a|b)=a|b(a|b)*=(a|b)0|(a|b)1|(a|b)2|(a|b)2=(a|b)(a|b)=aa|ab|ba|bb 即:即:(a|b)*=(a
5、|b)n,n0同理:同理:(a|b)+=(a|b)n,n0 符号串运算示例符号串运算示例泛指:由a,b组成的任意符号串!(包括空串)(3)ab|cd=ab或者或者cd第7页,此课件共51页哦1.乘积乘积:AB=xy|x A且且y B4.闭包闭包:A的正闭包的正闭包:A+=A1A2AnA的星闭包的星闭包:A*=A0A1A2An设设A和和B为两个符号串集合,则:为两个符号串集合,则:2.和和:AB=A+B=x|x A或或x B3.方幂方幂:An=AAA=AAn-1=An-1An个个A0=;A1=A;A2=AA;A3=AAA;.符号串集合的运算符号串集合的运算 2.1.1符号串符号串(集合集合)的运
6、算的运算第8页,此课件共51页哦 符号串集合运算示例符号串集合运算示例【例例2.4】设设A=a,b,B=c,d则则A+B=a,b,c,d则则AB=xy|x A,y B=ac,ad,bc,bd【例例2.5】设设A=a则则A*=A0A1A2An=+a+aa+aaa+=,a,aa,aaa,=an|n0第9页,此课件共51页哦【例例2.6】设设A=a,b,A*=?A*=A0A1A2AnA0=;A1=A=a,b;A2=AA=a,ba,b=aa,ab,ba,bb;A3=AA2=a,baa,ab,ba,bb=aaa,aab,aba,abb,baa,bab,bba,bbb;A*=x|x=(a|b)n,n0 符
7、号串集合运算示例符号串集合运算示例(续续):推论推论:若:若A为任一字母表,则为任一字母表,则A*就是该字母就是该字母表表 上上的所有符号串的所有符号串(包括空串包括空串)的集合。的集合。第10页,此课件共51页哦2.2形式语言是由文法定义的形式语言是由文法定义的 形式语言是符号串的集合,对形式语言的描述有两种形式语言是符号串的集合,对形式语言的描述有两种方式:方式:(1)枚举方式枚举方式:语言为有穷集合时:语言为有穷集合时设有字母表设有字母表A=a,b,c,有有L1=a,aa,ab,ac,L2=c,cc(2)使用文法使用文法:语言为无穷集合时,无法枚举:语言为无穷集合时,无法枚举 设有字母表
8、设有字母表B=0,1,B+=0,1,00,10,11,01,000,用用A表示表示B+,可以表示为,可以表示为A-0A-1A-A0A-A1文法:用有穷的集合刻画无穷的集合的工具。文法:用有穷的集合刻画无穷的集合的工具。第11页,此课件共51页哦【定义定义】文法文法(grammar)是是规则规则的有限集,通常可以表示的有限集,通常可以表示为四元组:为四元组:G(Z)=(VN,VT,Z,P)VN:非终结符集非终结符集(定义的对象集,如:语法成分等定义的对象集,如:语法成分等);VT:终结符集终结符集(字母表字母表);Z:开始符号开始符号(研究范畴中最大的定义对象研究范畴中最大的定义对象);P:规则
9、集规则集(又称产生式集又称产生式集);2.2形式语言是由文法定义的形式语言是由文法定义的每个元素2.2.1什么是文法什么是文法?Z-或者或者A-|注:此文法实际称为上下文无关文法注:此文法实际称为上下文无关文法描述符号描述符号:-(定义为定义为/生成生成),|(或者是或者是)文法符号文法符号:Z,AVN,,(VN+VT)*每个规则第12页,此课件共51页哦 【注意】提供了规则集,就相当给出了一个文法:S-aAcA-bA|G(S):VT=a,b,c;Z=S;P:VN=S,A;G(Z)=(VN,VT,Z,P)2.2.1什么是文法什么是文法?【例例2.7】L=abnc|n0,字母表:,字母表:=a,
10、b,c;展开:展开:L=ac,abc,abbc,abbbc,可以用右图给出的可以用右图给出的S-aAcA-bA|文法规则文法规则来表示来表示:第13页,此课件共51页哦2.2.2文法是怎样定义语言的?文法是怎样定义语言的?则则L(G)=x|Zx,xVT*即:一个文法所定义的即:一个文法所定义的语言语言,就是由该文法,就是由该文法开始开始设有文法设有文法G(Z),L(G)为为G所定义的语言;所定义的语言;利用利用推导算符推导算符 =进行连续推导进行连续推导符号推导出符号推导出的所有的所有仅含终结符仅含终结符的所有的所有符号串符号串之之集合集合。其中的每个符号串皆称为其中的每个符号串皆称为句子句子
11、。=+2.1使用文法的规则进行 形式语言是字母表上的符号按一定的形式语言是字母表上的符号按一定的规则规则组成的组成的 所有符号串集合。所有符号串集合。第14页,此课件共51页哦 从从开始符号出发,对符号串中的出发,对符号串中的定义对象定义对象,采用,采用推导的方法(的方法(用其规则右部替换左部用其规则右部替换左部)产生新的符号串,如)产生新的符号串,如此进行,直到新符号串中不再出现定义的对象为止,则此进行,直到新符号串中不再出现定义的对象为止,则最终的符号串就是一个最终的符号串就是一个句子。S-aAcA-bA|利用利用文法规则文法规则表示语言表示语言 【句子产生过程】(=推导算符)S S=aA
12、caAc=ac=ac=ac=ac S S=aAc=aAc=abAc=abAc=abc=abc=abc=abc S S=aAc=aAc=bAc=bAc=abbAc=abbAc=abbc=abbc 一个句子!又一个句子!S abS abn nc,n0 c,n0 =+再一个句子!非终结符号第15页,此课件共51页哦【例例2.8】标识符标识符的文法的文法 【标识符标识符】指字母开头的字母、数字序列。指字母开头的字母、数字序列。令令G(Z)=(VN,VT,Z,P)则则VN=I(标识符标识符),A(标识符尾标识符尾);VT=(字母字母),d(数字数字);Z=I;P:I-A|A-A|dA|同理,同理,【无符
13、号整数无符号整数】文法可写成:文法可写成:G(N):N-dN|d其其四元组四元组也可写成:也可写成:G(N)=(N,d,N,P)第16页,此课件共51页哦得:得:I=(|d)n,n0令:令:I=A|A=A|dA|求解求解文法文法所定义的语言所定义的语言(1)上面构造的标识符文法 属于正规文法I-A|A-A|dA|先求解先求解A:A=(|d)A,A=(|d)2A,A=(|d)nA代入代入A=得:得:A=(|d)n,n0I=A|代入代入A=(|d)n,n0正规方程式正规方程式标识符:字母开头的字母、数字序列标识符:字母开头的字母、数字序列第17页,此课件共51页哦求解求解文法文法所定义的语言所定义
14、的语言(2)则则L(G)的求解过程的求解过程代入法代入法:Z-aAcA-bA|【例例2.9】G(Z):所以所以:L(G)=abnc|n0A=bA=bbA=bn,n0Z=aAcabnc,n0 =+Ab bn n =+即:即:Abn =+,n0即:即:Zabnc,n0 =+第18页,此课件共51页哦则则VN=E(算术表达式算术表达式),T(项项),F(因式因式);VT=i(变量或常数变量或常数),+,-,*,/,(,);Z=E;P:【例例2.10】简单算术表达式文法简单算术表达式文法【注注】此文法定义了算术表达式的层次嵌套结构此文法定义了算术表达式的层次嵌套结构:E-T|E+T|E-TT-F|T*
15、F|T/FF-i|(E)令令G(Z)=(VN,VT,Z,P)(表达式表达式 )表达式表达式项项因式因式文法文法E-E+E|EE|E*E|E/E|i|(E)?第19页,此课件共51页哦 算术表达式文法应用示例:算术表达式文法应用示例:根据根据 语言定义式语言定义式2.1,G(E):E-T|E+T|E-TT-F|T*F|T/FF-i|(E)证明证明i*(i+i-i)是文法是文法G(E)的一个的一个句子句子(即合法的即合法的算术表达式算术表达式):=+Ei*(i+i-i)成立吗?成立吗?E =+Ei*(i+i-i)=T=T*F=T*(E)=T*(E-T)=T*(E+T-T)=F*(E+T-T)=i*
16、(E+T-T)=观察推导过程,可以看到:一旦产生式选择错了,会导致失败!=i*(i+i-i)L(G)=x|Zx,xVT*=+合法的算术表达式是指:合法的算术表达式是指:第20页,此课件共51页哦 文法有两种基本运算:文法有两种基本运算:推导推导和和归约归约v星推导星推导():2.3各种语法成分的定义各种语法成分的定义1.直接推导直接推导(=):xAy=x y即:指用产生式的右部符号串即:指用产生式的右部符号串替换替换左部非终结符。左部非终结符。加推导算符v加推导():设设x,y(VN+VT)*,A-P =*=*(当且仅当(当且仅当=1=2=)即:指一步或一步以上的直接推导运算。即:指一步或一步
17、以上的直接推导运算。(当且仅当当且仅当=或或=1=2=)即:指零步或零步以上的直接推导运算。即:指零步或零步以上的直接推导运算。直接推导算符星推导算符 =+=+2.3.1文法的运算文法的运算第21页,此课件共51页哦 =.+=.+2.直接归约直接归约():x yxAy =.=.(当且仅当(当且仅当 1 1 2 2 )=.=.=.=.v星归约星归约():=.*=.*(当且仅当(当且仅当 =或或 1 1 2 2 )=.=.=.=.即:直接归约是直接推导的即:直接归约是直接推导的逆运算逆运算,用产生式的左,用产生式的左 部非终结符替换右部符号串。部非终结符替换右部符号串。即:指零步或零步以上的直接归
18、约运算。即:指零步或零步以上的直接归约运算。即:指一步或一步以上的直接归约运算。即:指一步或一步以上的直接归约运算。直接归约算符加归约算符星归约算符l加归约加归约():2.3.1文法的运算文法的运算第22页,此课件共51页哦规范推导和规范归约规范推导和规范归约 实用中最常见的两种运算:l最左推导()每次推导皆最左非终结符优先;l最左归约()每次归约皆最左可归约串优先。=+=.+l最右推导也称为规范推导l最左归约也称为规范归约同一个句子可以通过不同的推导序列推导出来同一个句子可以通过不同的推导序列推导出来通常只考虑两种特殊推导,即通常只考虑两种特殊推导,即最左推导和最右推导最左推导和最右推导N1
19、=N=ND=N2=D2=1212D2N2NDNN1N1-NN-ND|DD-0|1|2 =.=.=.=.=.最左归约是最右推导的逆过程!最左归约是最右推导的逆过程!第23页,此课件共51页哦i+i*il给定一个符号串给定一个符号串i+i*i:T-F|T*F|T/FF-i|(E)G(E):E-T|E+T|E-T文法运算示例:文法运算示例:【例例2.11】算术表达式文法:算术表达式文法:=.=.=.=.=.=.=.=.2.最左归约最左归约(从从符号串出发符号串出发)过程:过程:E=E+T=T+T=F+T=i+T=i+T*F=i+F*F=i+i*F=i+i*iE =+i+i*iF+i*iT+i*iE+
20、i*iE+F*iE+T*iE+T*FE+TEi+i*i =.+E1.最左推导最左推导(从从开始符号出发开始符号出发)过程:过程:最左非终结符最左可归约串第24页,此课件共51页哦即:句型是由文法开始符号加推导出的任一符号串。即:句型是由文法开始符号加推导出的任一符号串。2.3.2句型、句子和语法树句型、句子和语法树若有若有且且 VT*,则,则 是句子;是句子;Z=+若有若有,则则 是句型;是句型;Z=+2.句子句子即:句子是由开始符号加推导出的任一即:句子是由开始符号加推导出的任一终结终结符号串。符号串。1.句型句型设有文法设有文法G(Z)=(VN,VT,Z,P),则:,则:3.语法树语法树句
21、型句型(句子句子)产生过程的一种树结构表示;产生过程的一种树结构表示;树根树根开始符号开始符号;树叶树叶给定的给定的句型句型(句子句子)。第25页,此课件共51页哦 A x1 x2xn 重复步骤重复步骤,直到推导过程结束为止。,直到推导过程结束为止。置树根为开始符号;置树根为开始符号;【语法树的构造算法语法树的构造算法】若若推导推导采用了采用了产生式产生式:A-x1x2xn,则有,则有子树:子树:如此构造的语法树,其如此构造的语法树,其全体树叶全体树叶(自左至右自左至右)恰好是给定的句型恰好是给定的句型(句子句子)。第26页,此课件共51页哦E=T=T*F=F*F=(E)*F=(E+T)*F=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 形式语言 基础 精选 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内