《形式语言与自动机》课件ch4.5.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《形式语言与自动机》课件ch4.5.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 形式语言与自动机 形式语言 自动机 课件 ch4
- 资源描述:
-
1、1School of Computer Science,BUPT4.5 上下文无关文法与下推自动机上下文无关文法与下推自动机 上下文无关文法与下推自动机的等价性上下文无关文法与下推自动机的等价性:PDA与上下文无关文法之间存在着对应关系。即:n PDA(M)CFGn CFG =PDA(M)PDA byfinal statePDA byemptystackGrammar2School of Computer Science,BUPT从上下文无关文法构造等价的下推自动机从上下文无关文法构造等价的下推自动机n 定理定理4.5.1(由(由CFG可导出可导出PDA):设上下文无关文法G(N,T,P,S)
2、,产生语言L(G),则存在PDA M,以空栈接受语言L(M),使L(M)=L(G)。n 证明:证明:构造下推自动机M,使M按文法G的最左推导方式工作。3School of Computer Science,BUPT 构造方法构造方法 设设 CFG G=(N,T,P,S),构造一个空栈接受构造一个空栈接受方式的方式的 PDA M(Q,T,q0,z0,F)其中其中 Qq,=NT,q0q,z0S,F(以空栈接受以空栈接受)即即 M=(q,T,N T,q,S,F),转移函数转移函数 定义如下:定义如下:(1)对每一对每一 A N,(q,A)=(q,)A”P;(即将栈顶的即将栈顶的A A换为换为)(2)
3、对每一对每一 a T,(q,a,a)=(q,).(即若栈顶为终结符,则退栈)即若栈顶为终结符,则退栈)从上下文无关文法构造等价的下推自动机从上下文无关文法构造等价的下推自动机4School of Computer Science,BUPTq,z z0 0S/S/若若SPSP,A/A/若若APAP a,a/a,a/a T,从上下文无关文法构造等价的下推自动机从上下文无关文法构造等价的下推自动机用图形表示:用图形表示:例例1 对右边产生式所代表对右边产生式所代表 CFG,依上述方法构造的依上述方法构造的 PDA 为为E EOE (E)v dO (q,v,d,+,(,),E,O,v,d,+,q,E,
4、),其中其中 定义为定义为 (q,E)=(q,EOE),(q,(E),(q,v),(q,d),(q,),(q,),(q,O)=(q,),(q,v,v)=(q,d,d)=(q,)(q,)=(q,)=(q,(,()=(q,),)=5School of Computer Science,BUPT自顶向下的分析过程自顶向下的分析过程定理的物理意义:定理的物理意义:利用下推自动机进行自顶向下的分析,利用下推自动机进行自顶向下的分析,检查一个句子的最左推导过程。检查一个句子的最左推导过程。步骤如下:步骤如下:(1)初始时,将文法开始符号压入空栈初始时,将文法开始符号压入空栈.(2)如果栈为空,则分析完成如
5、果栈为空,则分析完成.(3)如果栈顶为一非终结符,先将其从栈中弹出如果栈顶为一非终结符,先将其从栈中弹出.选择下选择下 一个相应于该非终结符的产生式,并将其右部一个相应于该非终结符的产生式,并将其右部 符号从符号从 右至左地一一入栈右至左地一一入栈.如果没有可选的产生式,则转出如果没有可选的产生式,则转出 错处理错处理.(4)如果栈顶为一终结符,那么这个符号必须与当前输入如果栈顶为一终结符,那么这个符号必须与当前输入 符号相同,将其弹出栈,读下一符号,转第符号相同,将其弹出栈,读下一符号,转第(2)步;否步;否 则,回溯到第则,回溯到第(3)步步.6School of Computer Sci
6、ence,BUPT例例2:利用下推自动机进行自顶向下的分析过程:利用下推自动机进行自顶向下的分析过程E EOE (E)v dO EEOEEOvEOE EE)(E)E)OEE)OvE)OE)E)d)v (v d )q,z z0 0E E/若若EPEP,O/O/*a,a/a a,a/a (,),v,d,+,(,),v,d,+,*,O/+O/+7School of Computer Science,BUPT定理的证明定理的证明 证明思路证明思路 欲证,对任何欲证,对任何 w T*,w L(G)w L(M).先证明如下结论先证明如下结论,if A w,then(q,w,A)*(q,).归纳于归纳于 A
7、 w 的步数的步数 n.基础基础 n=1,Aw 必为产生式,必为产生式,(q,w,A)(q,w,w)*(q,).归纳归纳 设第一步使用产生式设第一步使用产生式 AX1X2Xm,必有必有 w=w1w2wm,(q,w,A)(q,w,X1X2Xm)*(q,w2wm,X2Xm)*(q,w3wm,X3Xm)*(q,).所以所以:if S w,then(q,w,S)*(q,).即即,w L(G)w L(M).8School of Computer Science,BUPT定理的证明定理的证明 先证明如下结论先证明如下结论,if(q,w,A)*(q,),then A w.归纳于归纳于(q,w,A)*(q,)
8、的步数的步数 n.归纳归纳 n1,设第一步使用产生式设第一步使用产生式 AX1X2Xm,可以将可以将w 分为分为 w=w 1 w 2 w m,满足满足(q,wi ,Xi)*(q,),所以所以:对任何对任何 w T*,if(q,w,S)*(q,),then S w.即即,w L(M)w L(G).因此因此,A X1X2Xm,w 1 w 2 w m=w 无论无论 Xi 为终结符,还是非终结符,都有为终结符,还是非终结符,都有 Xi w i.基础基础 n=1,必有必有 w=,且且 A 为为 G 的产生式,所以的产生式,所以 A w.9School of Computer Science,BUPT例:
9、构造一个例:构造一个PDA MPDA M,使使L(M)=L(G)(M)=L(G)。其中其中G G是我们常用来生是我们常用来生成算术表达式的文法:成算术表达式的文法:G G(N N,T T,P P,E E)N N E,T,F,T=+,E,T,F,T=+,*,(,),a,S=E,(,),a,S=E P:EE+TT;TT P:EE+TT;TT*FF;F(E)aFF;F(E)a解:构造解:构造M(q,T,q,E,)定义为:定义为:(q,E,E)(q,E+T),(q,T)(q,T,T)(q,T*F),(q,F)(q,F,F)(q,(E),(q,a)(q,b,bb,b)(q,)对所有对所有 b a,+,a
10、,+,*,(,),(,)例例3:从文法构造等价的下推自动机从文法构造等价的下推自动机10School of Computer Science,BUPT用格局说明句子分析过程用格局说明句子分析过程 例如例如 以以a+a*a a作为输入,则作为输入,则M M在所有可能移动中可作下列移在所有可能移动中可作下列移动(用到文法动(用到文法G G中从中从E E出发的最左派生的一系列规则)出发的最左派生的一系列规则)(q q,a aa a*a,Ea,E)(q(q,a aa a*a,E+T)a,E+T)(q (q,a aa a*a,T+T)a,T+T)(q (q,a aa a*a,F+T)a,F+T)(q (
11、q,a aa a*a,a+T)a,a+T)(q (q,a a*a,+T)a,+T)(q (q,a a*a,T)a,T)(q (q,a a*a,Ta,T*F)F)(q (q,a aa a*a,Fa,F*F)F)11School of Computer Science,BUPT从下推自动机构造等价的上下文无关文法从下推自动机构造等价的上下文无关文法 定理定理4.5.14.5.1是由是由G G导出导出PDAPDA,其逆定理也成立。其逆定理也成立。定理定理4.5.24.5.2(由(由PDAPDA导出文法导出文法G G):):设下推自动机设下推自动机M M,以空栈形式接受语言以空栈形式接受语言 L L(
展开阅读全文