- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章短语、直接短语和句柄
本章小结 例1 文法G[A]=({A},{a,b},{A→bA | a}, A) 所生成的语言是什么? 分析 ∵ A?bA?bbA?bbbA?…?bnA?bna ∴ L(G[A])={ bna | n≥0 } 本章小结 例2 文法G[N]为: N →ND | D D →0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 (1) G[N]所生成的语言是什么? (2) 给出句子0127的最左、最右推导。 本章小结 L(G[N])={α | α∈{0,1,2, …9}+} ={α | α为可带前导0的正整数} ={α | α为数字串} 最左推导: N?ND?N7?ND7?N27?ND27 ? N127?D127?0127 最右推导: N?ND?NDD?NDDD?DDDD ?0DDD?01DD?012D?0127 N →ND | D D →0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 本章小结 例3. 已知文法G[S]=( {A,B},{a,b,c,d}, P, S ) , 其中 P 为: 分析 ∵ S?AB?aAbB?a2Ab2B?… ?an-1Abn-1B?anbnB?anbncBd ? anbnc2Bd2 ? … ? anbncm-1Bdn-1?anbncmdm ∴ L(G[S])={anbncmdm | n ,m≥1 } 该文法 所生成的语言是什么? A → aAb | ab B → cBd | cd S → AB 本章小结 3. 求句型的短语、直接短语和句柄 (1) 短语、直接短语和句柄是对某句 型而言的。 (2) 短语总是句型的某个子串,它对应 子树未端结点形成的符号串。 (3) 直接短语是某条规则右部,它对应 简单子树未端结点形成的符号串。 (4) 最左边的直接短语是句柄。 本章小结 例1 ?已知文法G[E]: 证明 E+T*F是它的一个句型,指出这个句型的短语﹑直接短语和句柄。 ∵ E?E+T?E+T*F 短语: E+T*F、T*F ∴ E+T*F是它的一个句型。 画出该句型的语法树: 句柄: T*F 直接短语: T*F E T F T + E * E→E+T | E-T | T T→T*F | T/F | F F→(E) | i 本章小结 例2 ?已知文法G[S]: 试找出符号串(a)和(A((SaA)(b)))的短语﹑ 直接短语和句柄(如果有的话)。 S→(AS) | (b) A→(SaA) | (a) ∴ 符号串(a))不是文法的句型,因此 它没有短语﹑直接短语和句柄。 分析 ∵ S?(AS)?((a)S)?(a) / 本章小结 ∵S?(AS)?(A(AS))?(A(A(b))) ?(A((SaA)(b))) ∴符号串(A((SaA)(b)))是文法的句型,画出该句型的语法树如下图: S→(AS) | (b) A→(SaA) | (a) 本章小结 从句型的语法树求 短语: (A((SaA)(b))) ((SaA)(b)) (SaA) (b) 直接短语:(SaA)、(b) 句柄:(SaA) S A ( S ) A ( S ) ( S a A ) ) b ( S→(AS) | (b) A→(SaA) | (a) 对于句型(A((SaA)(b))) 本章小结 4.文法二义性的判断 一个文法存在某个句子对应两棵不同的语法树或对应两个不同的最左(最右)推导,则该文法是二义性的。 本章小结 例1 设有文法G[S]: S→iSeS| iS | i ? 试证明文法G[S]有二义性。 分析 因为对文法的句子 iiiei 有如下两 棵不同的语法树与之对应,所以该文法 是二义的 本章小结 S→iSeS| iS | i 句子 iiiei 对应下面两颗语法树: S S i e S i S i i S i S i S i e S i 本章小结 N→SE | E S→SD | D E→0 | 2 | 4 | 6 | 8 | 10 D→0| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 1.?试证明文法G[N]有二义性。
文档评论(0)