形式语言基础 .ppt

上传人:石*** 文档编号:47739324 上传时间:2022-10-03 格式:PPT 页数:19 大小:1.78MB
返回 下载 相关 举报
形式语言基础 .ppt_第1页
第1页 / 共19页
形式语言基础 .ppt_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《形式语言基础 .ppt》由会员分享,可在线阅读,更多相关《形式语言基础 .ppt(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、形式语言基础 现在学习的是第1页,共19页 第第 2 2 章章 形式语言基础形式语言基础 计算机处理语言,首先应考虑语言的形式化、规计算机处理语言,首先应考虑语言的形式化、规范化,使其具有可计算性和可操作性;这就是形式语范化,使其具有可计算性和可操作性;这就是形式语言理论研究的问题。言理论研究的问题。形式语言诞生于形式语言诞生于19561956年,由年,由chomskychomsky创立。通常,创立。通常,语言研究至少涉及三个方面:语言研究至少涉及三个方面:语法语法、语义语义和和语用语用;这里仅侧重于这里仅侧重于语法的研究语法的研究。形式语言的形式语言的基本观点基本观点是是 :语言是符号串之集

2、合!语言是符号串之集合!形式语言理论研究的形式语言理论研究的基本问题基本问题是:是:研究符号串集合的表示方法、结构特性研究符号串集合的表示方法、结构特性以及运算规律。以及运算规律。【前前 言言】现在学习的是第2页,共19页【内容提要内容提要】第第 2 2 章章 形式语言基础形式语言基础 2.12.1 形式语言是形式语言是符号串集合符号串集合 2.22.2 形式语言是由形式语言是由文法定义文法定义的的 2.32.3 主要主要语法成分语法成分的定义的定义 2.42.4 两类两类特性文法特性文法 2.5 2.5 文法变换文法变换方法方法 2.6 2.6 关于关于形式语言的分类形式语言的分类问题问题现

3、在学习的是第3页,共19页 字母表字母表 -元素元素(符号符号)的非空有限集合;的非空有限集合;符号串符号串 -符号的有限序列;符号的有限序列;符号串集合符号串集合 -有限个或者无限个符号串组成有限个或者无限个符号串组成的集合;的集合;规规 则则 -以某种形式表达的在一定范围内共以某种形式表达的在一定范围内共同遵守的章程和制度;这里,指符号串的组成同遵守的章程和制度;这里,指符号串的组成规则。规则。2.1 2.1 形式语言是符号串集合形式语言是符号串集合 【形式语言形式语言】是是字母表字母表上的符号,按一定的上的符号,按一定的规则规则组成的所有组成的所有符号串集合符号串集合;其中的每个符号串;

4、其中的每个符号串称为称为句子句子。【名词解释名词解释】:三要素!现在学习的是第4页,共19页【例例2.12.1】L L1 1=00,01,10,11;=00,01,10,11;字母表字母表1 1=0,1,=0,1,句子有:句子有:00,01,10,1100,01,10,11【注注】b b0 0=(epsilonepsilon空符号串)空符号串),b,b1 1=b,b=b,b2 2=bb,b=bb,b3 3=bbb,=bbb,L L1 1 为有限语言为有限语言;L;L2 2 为无限语言。为无限语言。形式语言概念示例:形式语言概念示例:【例例2.22.2】L L2 2=ab=abm mc,bc,b

5、n n|m0,n0|m0,n0 字母表字母表2 2=a,b,c,=a,b,c,句型句型1:ab1:abm mc,c,有句子:有句子:abc,abbc,abbbc,abc,abbc,abbbc,句型句型2:b2:bn n ;有句子:有句子:,b,bb,bbb,b,bb,bbb,两个语言!现在学习的是第5页,共19页1.1.连接连接:.=如如 a.b=aba.b=ab 2.1.1 2.1.1 符号串符号串(集合集合)的运算的运算3.3.方幂方幂:n n=n-1n-1=n-1n-1 4.4.闭包:闭包:n n个个.符号串的运算符号串的运算 设设 ,为两个符号串,则为两个符号串,则:的正闭包:的正闭包

6、:+=1 1|2 2|n n|的星闭包:的星闭包:*=0 0|1 1|2 2|n n|0 0=(空符号串空符号串)什麽符号也没有的符号串什麽符号也没有的符号串 !1 1=;2 2=;2.2.或或:|=(或者或者 )这是一种泛指!现在学习的是第6页,共19页2.1.1 2.1.1 符号串符号串(集合集合)的运算的运算(续续1)1)【例例】:ab|cd=abab|cd=ab(或者或者 cd cd)abc.de=abcdeabc.de=abcde (a|b)(a|b)1 1=(a|b)=a|b =(a|b)=a|b (a|b)(a|b)*=(a|b)=(a|b)0 0|(a|b)|(a|b)1 1|

7、(a|b)|(a|b)2 2|(a|b)(a|b)2 2=(a|b)(a|b)=aa|ab|ba|bb=(a|b)(a|b)=aa|ab|ba|bb 即:即:(a|b)(a|b)*=(a|b)=(a|b)n n,n0n0同理:同理:(a|b)(a|b)+=(a|b)=(a|b)n n,n n0 0 符号串运算示例符号串运算示例泛指:由a,b组成的任意符号串!(包括空串)现在学习的是第7页,共19页1.1.乘积:乘积:AB=xy|xAB=xy|x A A 且且 y y BB 2.1.1 2.1.1 符号串符号串(集合集合)的运算的运算(续续2)2)4.4.闭包:闭包:A A 的正闭包的正闭包:A

8、 A+=A=A1 1AA2 2AAn nA A 的星闭包的星闭包:A A*=A=A0 0AA1 1AA2 2AAn n设设 A A 和和 B B 为两个符号串集合,则:为两个符号串集合,则:2.2.和:和:AB=A+B=x|xAB=A+B=x|x A A 或或 x x BB 3.3.方幂:方幂:A An n=AA=AAA=AAA=AAn-1n-1=A=An-1n-1A An n个个A A0 0=;A A1 1=A=A;A A2 2=AA;A=AA;A3 3=AAA;=AAA;.符号串集合的运算符号串集合的运算 现在学习的是第8页,共19页 符号串集合运算示例:符号串集合运算示例:【例例2.32

9、.3】设设 A=a,b,B=c,dA=a,b,B=c,d 则则 A+B=a,b,c,d A+B=a,b,c,d 则则 AB=xy|xAB=xy|x A,yA,y B=B=ac,ad,bc,bdac,ad,bc,bd【例例2.42.4】设设 A=aA=a 则则 A A*=A=A0 0AA1 1AA2 2AAn n =+a+aa+aaa+a+aa+aaa+=,a,aa,aaa,a,aa,aaa,=a =an n|n0|n0 现在学习的是第9页,共19页【例例2.52.5】设设 A=aA=a,bb,A A*=?=?A A*=A=A0 0AA1 1AA2 2AAn n A A0 0=;A A1 1=A

10、=a=A=a,b;b;A A2 2=A.A=a=A.A=a,b.ab.a,b=aa,ab,ba,bb;b=aa,ab,ba,bb;A A3 3=A.A=A.A2 2=a=a,b.aa,ab,ba,bbb.aa,ab,ba,bb =aaa,aab,aba,abb,baa,bab,bba,bbb;=aaa,aab,aba,abb,baa,bab,bba,bbb;A A*=x|x=(a|b)=x|x=(a|b)n n ,n0 n0 符号串集合运算示例符号串集合运算示例(续续):推论推论:若:若 A A为任一字母表为任一字母表,则则 A A*就是该字母就是该字母表上表上的所有符号串的所有符号串(包括空

11、串包括空串)的集合。的集合。现在学习的是第10页,共19页 S,A S,A 定义的对象定义的对象(S(S 句子句子,最大的定义对象,又最大的定义对象,又 称为开始符号称为开始符号;A;A为句型为句型aAcaAc的的短语短语),),a,b,c-a,b,c-为字母表为字母表中的符号中的符号;-;-空符号串。空符号串。-,|-,|-为为描述符号描述符号(-(-定义为定义为;|;|或者是)或者是)2.1.2 2.1.2 符号串集合的文法描述符号串集合的文法描述【例例2.52.5】L=ab L=abn nc|n0 c|n0,字母表字母表:=a,b,c=a,b,c;展开展开:L=ac,abc,abbc,a

12、bbbc,L=ac,abc,abbc,abbbc,右图给出的表示右图给出的表示 S-S-aAcaAc A-bA|A-bA|长久以来,探讨符号串集合长久以来,探讨符号串集合(即形式语言即形式语言)的各种描述方的各种描述方法,一直是语言计算机处理的重要任务之一。法,一直是语言计算机处理的重要任务之一。方法方法-文法规则文法规则;其中:现在学习的是第11页,共19页 从开始符号开始符号出发,对符号串中的定义对象,采用推推导导的方法(用其规则右部替换左部)产生新的符号串,如此进行,直到新符号串中不再出现定义的对象为止,则最终的符号串就是一个句子句子。S-S-aAc aAc A-bA|A-bA|规则应用

13、说明示例:规则应用说明示例:【句子产生过程句子产生过程】(=推导算符推导算符):):怎样利用上述怎样利用上述文法规则文法规则表示语言表示语言L?L?S S=aAcaAc=ac=ac=ac=ac S S=aAc=aAc=abAc=abAc=abc=abc=abc=abc S S=aAc=aAc=abAc=abAc=abbAc=abbAc=abbc=abbc 一个句子!又一个句子!S abS abn nc,n0 c,n0 =+再一个句子!现在学习的是第12页,共19页 【定义定义】文法文法(grammar)(grammar)是规则的有限集是规则的有限集,其中的上下文无关文法可定义为四元组:其中的上

14、下文无关文法可定义为四元组:G(Z)=(VG(Z)=(VN N,V,VT T,Z,P),Z,P)V VN N:非终结符集(定义的对象集,如:语法成分等非终结符集(定义的对象集,如:语法成分等);V VT T:终结符集(字母表);终结符集(字母表);Z:Z:开始符号(研究范畴中,最大的定义对象);开始符号(研究范畴中,最大的定义对象);P:P:规则集(又称产生式集);规则集(又称产生式集);A-A-或者或者 A-A-|其中其中,描述符号描述符号 :-(-(定义为定义为),|(|(或者是或者是)文法符号文法符号 :Z,AVZ,AVN N,,(V(VN N+V+VT T)*2.2 2.2 形式语言是

15、由文法定义的形式语言是由文法定义的每个元素每个规则2.2.1 2.2.1 什麽是文法什麽是文法?现在学习的是第13页,共19页2.2 2.2 形式语言是由文法定义的(续形式语言是由文法定义的(续3 3)【注意注意】提供了规则集,就相当给出了一个文法:提供了规则集,就相当给出了一个文法:S-S-aAc aAc A-bA|A-bA|G(S):2.2.2 2.2.2 文法是怎样定义语言的?文法是怎样定义语言的?则则 L(G)=x|Z x,xVL(G)=x|Z x,xVT T*即:一个文法所定义的即:一个文法所定义的语言语言,就是由该文法,就是由该文法开始开始设设 有文法有文法 G(Z),L(G)G(

16、Z),L(G)为为G G所定义的语言;所定义的语言;V VT T=a,b,c;=a,b,c;Z Z=S;=S;P P:V VN N=S,A=S,A;G(Z)=(VG(Z)=(VN N,V,VT T,Z,P),Z,P)利用利用 =进行连续推导之意!进行连续推导之意!符号推导出符号推导出的所有的所有仅含终结符仅含终结符的的符号串符号串之集合之集合。其中的每个符号串皆称为其中的每个符号串皆称为句子句子。=+2.1现在学习的是第14页,共19页【例例2.62.6】标识符标识符的文法的文法 【标识符标识符】指字母开头的字母、数字序列。指字母开头的字母、数字序列。令令 G(Z)=(VG(Z)=(VN N,

17、V,VT T,Z,P),Z,P)则则 V VN N=I,A=I,A;V VT T=(字母字母),d),d(数字)数字);Z =I;Z =I;P:P:I-A|A|A-A-A|d A|A|d A|同理,同理,【无符号整数无符号整数】文法文法 可写成:可写成:G(N):G(N):N-d N|dN-d N|d其其四元组四元组也可写成:也可写成:G(N)=(N,d,N,P)现在学习的是第15页,共19页得:得:I=(|d|d)n,n0 令:令:I=A|A|A=A=A|d A|A|d A|标识符文法标识符文法所定义的语言求解:所定义的语言求解:上面构造的上面构造的标识符文法标识符文法属于属于正规文法正规文

18、法(定义在后定义在后)类,类,正确性检验较容易;下面给出一个正确性检验较容易;下面给出一个算法算法:I-A|A|A-A-A|d A|A|d A|求解求解I值步骤:值步骤:先求解先求解A:A=(|d|d)A,A=(|d|d)2A,A=(|d|d)nA代入代入 A=A=得:得:A=A=(|d|d)n,n0I=A|A|代入代入 A=A=(|d|d)n,n0正规方程式正规方程式标识符标识符:字母开头的字母、数字序列;:字母开头的字母、数字序列;现在学习的是第16页,共19页则则 V VN N=E(=E(算术表达式算术表达式),T(),T(项项),F(F(因式因式);V VT T=i(=i(变量或常数变

19、量或常数),),+,-,*,/,(,+,-,*,/,(,);Z =E;Z =E;P:P:【例例2.72.7】简单算术表达式文法简单算术表达式文法【注注】此文法定义了算术表达式的层次嵌套结此文法定义了算术表达式的层次嵌套结构构:E-T|E+E-T|E+T|E-T|E-T T T-F|T*T-F|T*F|T/F|T/F F F-i|(E )F-i|(E )令令 G(Z)=(VG(Z)=(VN N,V,VT T,Z,P),Z,P)(表达式表达式 )表达式表达式项项因式因式现在学习的是第17页,共19页 算术表达式文法应用示例:算术表达式文法应用示例:根据根据语言定义式语言定义式2.1,G(E):E-

20、T|E+T|E-TG(E):E-T|E+T|E-T T-F|T*T-F|T*F|T/FF|T/FF-i|(E)F-i|(E)证明证明i*(i+i-i)i*(i+i-i)是文法是文法G(E)的一个的一个句子句子(即即合法的合法的算术表达式算术表达式):=+E i*(i+i-i)E i*(i+i-i)成立吗?成立吗?E E =+E i*(i+i-i)E i*(i+i-i)=T=T=T*F=T*F=T*(E)=T*(E)=T*(E-T)=T*(E-T)=T*(E+T-T)=T*(E+T-T)=F*(E+T-T)=F*(E+T-T)=i*(E+T-T)=i*(E+T-T)=观察推导过程,可以看到:一旦产生式选择错了,会导致失败!=i*(i+i-i)=i*(i+i-i)L(G)=x|Z x,xVL(G)=x|Z x,xVT T*=+合法的算术表达式是指:合法的算术表达式是指:现在学习的是第18页,共19页 练习题练习题 【习题2.1】解释下列词语:形式语言;文法;文法所定义的语言。【习题2.2】试构造下述语言L L的文法:L L=ambn|m0,n1;【习题2.3】试求下述文法G(Z)所定义的语言:G(Z):Z-b|bB,B-bZ现在学习的是第19页,共19页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com