形式语言自动机-上下文无关文法与下推自动机.ppt
《形式语言自动机-上下文无关文法与下推自动机.ppt》由会员分享,可在线阅读,更多相关《形式语言自动机-上下文无关文法与下推自动机.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.3 Chomsky范式和范式和Greibach范式范式nChomsky范式定义:n 2型文法型文法G(N,T,P,S),),若生成式形式都若生成式形式都是是ABC和和Aa,A、B、C N,a T,则则G是是Chomsky范式。若范式。若 L(G),),则则S是是P的一的一个生成式,但个生成式,但S不能在任何其它生成式的右边。不能在任何其它生成式的右边。n每个上下文无关文法都具有等效的每个上下文无关文法都具有等效的CNF(定理定理4.3.1)1College of Computer Science&Technology,BUPTCNF 的构成步骤的构成步骤1.用算法用算法1、2、3、4消除消
2、除生成式、无用符号、单生成式生成式、无用符号、单生成式2.对生成式对生成式AD1D2Dn n2 若若DiT,则引入新生成式则引入新生成式BiDi,Bi是新非终结符是新非终结符 若若DiN,则令则令BiDi,从而将原生成式变化为从而将原生成式变化为 AB1B2Bn n2 当当n2 时,再将其变为时,再将其变为 AB1C1,C1B2C2,C2B3C3,Cn1Bn1Bn Ci是新引入的非终结符。是新引入的非终结符。定理证明定理证明自学自学2College of Computer Science&Technology,BUPTCNF 的构成例的构成例 例例:(书书P148 例例1)设设G(A,B,S,
3、a,b,P,S)是无是无、无循环、无无循环、无无用符号、无单生成式的文法。无用符号、无单生成式的文法。P:SaAB BA ABBB a BAS b 求等效的求等效的CNF G1解解:SBASBA,AaAa,BAS,BbBAS,Bb已是已是CNFCNF 加入到加入到P P1 1中中对对SaABSaAB,将其变换为将其变换为SCSCa aC C1 1,C Ca aaa,C C1 1ABAB 将将ABBBABBB变换为变换为ABCABC2 2,C C2 2BBBB.3College of Computer Science&Technology,BUPTCNF 的构成例的构成例 例例:2 2型文法型文
4、法G G(AA,B B,SS,aa,bb,P P,S S)P:SbAaB AbAAaSa BaBBbSb P:SbAaB AbAAaSa BaBBbSb 求等效的求等效的CNFCNF解解:SCSCb bACACa aB B,增加增加C Cb bbb,C C2 2aa AC ACb bDCDCa aSaSa,增加增加DAADAA BC BCa aECECb bSbSb,增加增加EBBEBB4College of Computer Science&Technology,BUPTGreibachGreibach范式范式nGreibach范式(GNF)定义:n2型文法G(N,T,P,S),若生成式的形
5、式都是Aa,AN,aT,N*,且G不含生成式,则称G为Greibach范式,记为GNF。n 任何2型文法都具有等效的GNF(定理4.3.2)5College of Computer Science&Technology,BUPTGNF 的构成步骤的构成步骤1.将将2 2型文法变换为型文法变换为CNFCNF。(。(AaAa,ABCABC形式)形式)2.2.将非终结符排序将非终结符排序,再进行代换。再进行代换。对形如对形如A Ai iAAj j(jijili)。)。3.3.消左递归。消左递归。对最高的对最高的A An nAAn n进行变换,使进行变换,使A An n生成式变为终结符开头。生成式变为
6、终结符开头。4.4.回代。回代。将将A An n生成式回代入生成式回代入A An n1 1生成式,使其右部首符为终结符,生成式,使其右部首符为终结符,将将A An n1 1生成式回代入生成式回代入A An n2 2生成式,使其右部首符为终结符生成式,使其右部首符为终结符 5.5.最最后后将将消消直直接接左左递递归归时时引引入入的的A A1 1、A A2 2、AAn n生生成成式式右右部部进行代换。使其首符变为终结符。进行代换。使其首符变为终结符。6College of Computer Science&Technology,BUPTGNF 的构成例的构成例 例例:(书书P149 例例2)设已有
7、设已有CNF:ABCABC,BCAb BCAb,CABa CABa,将其变换为将其变换为GNF。解解:按其非终结符排列为按其非终结符排列为A A、B B、C C,A A是低位,是低位,C C是高位。是高位。、中,右部首符序号高于左部的非终结符中,右部首符序号高于左部的非终结符 无需变换。无需变换。对对,需要变换,需要变换,将将代入代入得得 CBCBa CBCBa ,仍需变换,仍需变换,将将代入代入得得 CCACBbCBa CCACBbCBa 7College of Computer Science&Technology,BUPTGNF 的构成例的构成例 对上述变换后所得结果消直接左递归对上述变
8、换后所得结果消直接左递归 对对CCCCACBACBbCBbCBa a 变换为变换为 1 1 1 1 2 2 C C1 12 21 1CC2 2CCC C 1 11 1 C C即即 CbCBabCBC aC CbCBabCBC aC CACBACBC CACBACBC 8College of Computer Science&Technology,BUPTGNF 的构成例的构成例 回代回代将将C C的生成式的生成式回代入回代入B B的生成式的生成式 BBC CAb Ab 被变换为被变换为 BbCBAaAbCBCAaCAb BbCBAaAbCBCAaCAb 将新的将新的B B生成式生成式回代入回代
9、入A A的生成式的生成式 AAB BC C 被变换为被变换为 AbCBACaACbCBCACaCACbC AbCBACaACbCBCACaCACbC 再将新的再将新的A A生成式生成式代入新引入的代入新引入的CC生成式生成式 CCA ACBCBA ACBC CBC 被变换为被变换为 (略)略)注意:新引入的注意:新引入的A Ai i相当于排在最低位。相当于排在最低位。9College of Computer Science&Technology,BUPT4.4 下推自动机(下推自动机(PDA)n主要内容nPDA的基本概念。nPDA的构造举例。n用终态接受语言和用空栈接受语言的等价性。nPDA是
10、上下文无关语言的接收器。n重点nPDA的基本定义及其构造nPDA与上下文无关语言等价n难点n根据PDA构造上下文无关文法。10College of Computer Science&Technology,BUPT问题的引出问题的引出 类似于an bn 的语言无法由一般的有限自动机识别。有限有限状态识别器中必须有无限个无限个状态 (不允许不允许!)!)需要需要扩扩充机器的能力。充机器的能力。aaaaabbbbbb识别anbn的无限状态自动机11College of Computer Science&Technology,BUPT下推自动机的结构下推自动机的结构n扩充办法:引入一个下推栈足够简单可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 形式语言 自动机 上下文 无关 文法 下推自动机
限制150内