第2章 前后文无关文法和语言.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.3.3 短语和句柄 E E 1 + T 1 E 2 + T 2 T 3 * F 3 F 1 i 例如:句型? E+T*F+i 短语,直接短语,最左直接短语 句柄 定义2.9 一个句型的最左直接短语称为此句型的句柄 问题:如何确定一规范句型的句柄?句柄应被归约成哪个非终结符? 习题 请证实G S : S→SaS∣SbS∣cSd∣eS∣f 是一个二义文法 2.4文法的化简和改造 无用符号和无用产生式的删除 ?-产生式的消除 单产生式的消除 无用符号和无用产生式的删除 设G VN,VT,P,S 是一文法,X?VN∪VT, X称为是有用的,若X至少出现在一个句子的推导过程中,即X满足: 1 存在?,?? V* ,有 S?* ?X? 2 存在w? VT* ,使 ?X? ?* w 否则,称X是无用的。若一产生式含有无用符号,则此产生式称为无用产生式. 消除无用产生式(1) 算法2.1 将文法G VN,VT,P,S , 改造为G1 V’N,VT,P’,S , 使得对于每个X ? V’N,存在w ?VT*,满足 X?* w。 1 置V’N,P’为空 2 对于P中每个产生式A??,若 ? ? V’N∪VT *,则将A加入V’N中 3 重复 2 ,直到V’N不再增大 4 对于每个A?? ?P,若 ? ? V’N∪VT * ,则置A?? 于P’中 消除无用产生式(2) 算法2.2 任给文法G VN,VT,P,S ,构造G’ V’N,V’T,P’,S’ ,使?x ? V’N∪V’T ,??,? ? V’N ∪V’T *,有 S ?*?x? 1 置V’T为空, V’N S 2 对于? A?? ?P,若 A ?V’N则置?中所有非终结符入V’N,所有终结符入V’T 3 重复 2 ,直到V’不再增大 4 令P’ A?? | A?? ?P, ? ? V’N∪V’T *,A ? V’N 消除无用产生式例 例: 文法G S,U,V,W , a,b,c ,P,S , 其中 P: S?aS | W | U U?a V?bV |ac W?aW ?-产生式的消除(1) 先判断文法是否会产生空串 算法2.3 任给文法G VN,VT,P,S 1 作集合 W1 A| 产生式A? ? ?P 2 作集合序列 WK+1 WK∪ B| 产生式B? ??P,且??WK + 3 重复 2 ,直到W不再增大 可以用来判断一个文法会不会产生空符号串? ?-产生式的消除(2) 算法2.4 1 按算法2.3将VN分成两个不相交的集合: W 及 VN-W 2 设A?X1 X2… Xm是P中的任一产生式,按下面的规则将所有形如A?Y1 Y2… Ym的产生式放入P’中 对于一切1 ? i ? m: (i)若 Xi?W,则取Yi Xi (ii)若 Xi?W,则分别取Yi为Xi和?,将A?X1 X2… Xi-1 Xi Xi+1 … Xm和A?X1 X2… Xi-1 Xi+1 … Xm加入P’ ?-产生式的消除(例1) 例: 文法G S,A,B,C , a,b,c ,P,S , 其中 P: S?aA A?BC B?bB | ? C?cC | ? ?-产生式的消除(例2) 例: 文法G S,A,B , a,b,c ,P,S , 其中 P: S?cS | AB A?aAb | ? B?Bb | ? 问题:S也能推出?。 解决 单产生式的消除 例: 文法G S,A,B , a,b ,P,S , 其中 P: S?AB | A | B A?aAb | ab B?Bb | b 2.5文法和语言的Chomsky分类 四类文法和语言 0型文法:若P中任一产生式都有一般形式 ??? ??V+ ??V* 且对?,? 不加任何限制,则称G为0型文法(短语结构文法,记为PSG: Phrase Structure Grammar)。 由0型文法生成(或者说:定义)的语言称为0型(递归可枚举)语言。它可由图灵(Turing)机识别。 1型文法和语言 若一0型文法所有产生式具有形式 ?1A?2? ?1??2 其中, ?1,?2?V* ??V+ A?VN,则称G 为1型 前后文有关 文法,记为CSG Context Sensitive Grammar 。 1型文法产生的语言称为前后文有关语言CSL,它可由线性限界自动机识别 2型文法和语言 若一1型文法G中所有产生式具有形式: A?? ??V+ A?VN 则称G为2型 前后文无关 文法,记为CFG Context Free Grammar 。 2型文法产生的语言称为前后文无关语言CFL,它可由下推自

文档评论(0)

qbjzmxj5904 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档