- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.4 格雷巴赫范式 递归(recursive) 如果G中存在形如A?nαAβ的派生,则称该派生是关于变量A递归的,简称为递归派生。 当n=1时,称该派生关于变量A直接递归(directly recursive),简称为直接递归派生。 形如A?αAβ的产生式是变量A的直接递归的(directly recursive)产生式。 * 6.4 格雷巴赫范式 当n≥2时,称该派生是关于变量A的间接递归(indirectly recursive)派生。简称为间接递归派生。 当α=ε时,称相应的(直接/间接)递归为(直接/间接)左递归(left-recursive); 当β=ε时,称相应的(直接/间接)递归为(直接/间接)右递归(right-recursive)。 * 6.4 格雷巴赫范式 引理 6-2 对于任意的CFG G=(V,T,P,S),G中所有A的产生式 A?β1 |β2 |…|βm A?β1B |β2 B |…|βm B B?α1 |α2 |…|αn B?α1B |α2 B |…|αn B 可以被等价地替换为产生式组 A?Aα1 |Aα2 |…|Aαn A?β1 |β2 |…|βm * 6.4 格雷巴赫范式 证明要点: 用直接右递归取代原来的直接左递归。 两组产生式产生的符号串都是 前者是先产生 然后产生βk 。 * 6.4 格雷巴赫范式 后者先产生βk 。 然后产生 * 6.4 格雷巴赫范式 * 6.4 格雷巴赫范式 定理6-10 对于任意CFG G,ε?L(G),存在等价的GNF G1。 证明要点: (1)使用引理6-1将产生式都化成如下形式的产生式 A?A1A2…Am A?aA1A2…Am-1 A?a 其中,A,A1,A2,…,Am∈V1,a∈T,m≥2。 * 6.4 格雷巴赫范式 (2)根据引理6-1和6-2,将产生式变成如下形式的产生式 Ai?Ajα i≤j+1 Ai?aα Bi?α 其中,V2=V1∪{ B1,B2,…,Bn}, V1∩{ B1,B2,…,Bn}=Φ。 “B类变量”:{ B1,B2,…,Bn}是在文法的改造过程中引入的新变量。 V1中的变量称为“A类变量”。 * 6.4 格雷巴赫范式 (3)根据引理6-1,从编号较大的变量开始,逐步替换,使所有产生式满足GNF的要求: 1)??????? for k=m-1 to 1 do 2)??????? if Ak?Ak+1β∈P2 then 3)??????? for 所有的Ak+1产生式Ak+1?γ do 将产生式Ak?γβ放入P3; 4)??????? for k= 1 to n do 5)??????根据引理6-1,用P3中的产生式将所有的Bk产生式替换成满足GNF要求的形式。 * 6.5 自嵌套文法 自嵌套文法(self-embedding grammar) CFG G=(V,T,P,S)是化简后的文法,如果G中存在有形如A?+αAβ的派生,则称G为自嵌套文法,其中α、β∈(V∪T)+。 自嵌套的文法描述的语言可以是正则语言 例如: S?0S0|1S1|0S1|1S0|0S|1S|0|1 * 6.5 自嵌套文法 定理 6-11 非自嵌套的文法产生的语言是正则语言。 证明要点: (1)将G化成GNF (2)取RG G′=(V′,T,P′,[S]),其中 V′={[α]| α∈V+并且|α|≤m(n-2)+1} P′={[Aα] ?a[βα]|A?aβ∈P并且β∈V*} 当α=ε时,[α]=ε。 * 6.6 小结 本章讨论了CFG的派生树,A子树,最左派生与最右派生,派生与派生树的关系,二义性文法与固有二义性语言,句子的自顶向下分析和自底向上分析;无用符号的消去算法,空产生式的消除,单一产生式的消除。CFG的CNF和GNF;CFG的自嵌套特性。 (1)S?*α的充分必要条件为G有一棵结果为α的派生树。 (2)如果α是CFG G的一个句型,则G中存在α的最左派生和最右派生。 * 6.6 小结 (3)文法可能是二义性的,但语言只可能是固有二义性的,且这种语言是存在的。 (4)对于任意CFG G,ε?L(G),存在等价的CFG G1,G1不含无用符号、ε-产生式和单一产生式。 (5)对于任意CFG G,ε?L(G),存在等价的 CNF G2。 (6)对于任意CFG G,ε?L(G),存在等价的GNF G3。 (7)非自嵌套的文法产生的语言是正则语言。 * 6.2.2
文档评论(0)