- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例: G[E]: E → E + T | T T → T * F | F F → i |(E) i*i+i 推导过程: E = E + T = T + T = T * F + T = F * F + T = i * F + T = i * i + T = i * i + F = i * i + i 末端结点:i、*、i、+、i 语法树对应的句型:i*i+i E E T T T + * F F i i F i 2.子树:由语法树的某个结点(子树根),连 同从它向下射出的部分组成的。 子树的末端结点形成一个短语(相对于子树根). 子树: i1 (F2) ,i1 (T3) , i2 (F1) , i1 * i2 (T2) ,i1 * i2 (E2) , i3 (F3) ,i3 (T1) , i1 * i2 + i3 (E1) E1 E2 T1 T2 T3 + * F1 F2 i1 i2 F3 i3 总结: 例: G[E]: E → E + T | T T → T * F | F F → i |(E) 句型:T + F * F 推导1:E = E + T = T + T = T + T * F = T + F * F 推导2:E = E + T = E + T * F = E + F * F = T + F * F 推导3:E = E + T = E + T * F = T + T * F = T + F * F E E T T T + * F F 对于每个语法树,至少存在一个推导; 对于每个推导,都有一个对应的语法树; 若不同的推导产生相同的语法树,称这些推导是等价的; 3.二义性: 句子的二义性:若文法G中,某一个句子有两棵不同的语法树,称该句子是二义的。 例: G[E]: E → E + E | E – E | E * E | (E) | i 句子: i + i * i 如:2 + 3 * 4 语 法 树 1 ( 2 + 3)* 4 = 20 E1 E2 E3 i1 E4 + * E5 i2 i3 E1 E2 E3 i3 E4 * + E5 i1 i2 2 +( 3 * 4)= 14 语 法 树 2 句子二义性的等价定义 若文法G中,某一个句子存在两个不同的最左推导,称该句子是二义的。 若文法G中,某一个句子存在两个不同的最右推导,称该句子是二义的。 例: G[E]: E → E + E | E – E | E * E | (E) | i 句子: i + i 语 法 树 E1 E2 E3 i1 + i2 最左推导:E=E+E=i+E=i+i 最右推导:E=E+E=E+i=i+i 误解:有两个不同的推导,就是二义的句子 文法的二义性:如果一个文法包含有一个二义性的句子,称该文法是二义的。 例: G[E]: E → E + E | E – E | E * E | (E) | i 存在句子: i + i * i, 有两颗不同的语法树 语 法 树 1 E1 E2 E3 i1 E4 + * E5 i2 i3 E1 E2 E3 i3 E4 * + E5 i1 i2 所以:文法G[E]是二义的 语 法 树 2 说明:文法的二义性是由句子决定的, 不是由句型决定的。 例: G[E]: E →T | i T → T + T | T * T 存在句型:T+T*T ,对应两棵语法树 语 法 树 1 T T T T + * T E T T T T * + T E 但:该文法只有一个句子:i ∴文法是无二义的。 语 法 树 2 文法的二义问题 —— 不可判定的。 即:不存在一种算法,能在有限的步骤内判定文法二义。 原因:句子是无限的,判定了N个句子无二义,可能第 N+1 个句子就是二义的。 目前的做法:找一组充分条件,满足条件的文法就是无二义的。(如:算符优先文法就是无二义文法) 语言的二义性:一般不提判定标准。 原因: 一个语言可能由多个等价的文法 定义。 即:G1[S]≠G2[S] , 但可能:L(G1[S]) = L(G2[S]) ∴ 对一个语言,可能存在无二义文法描述之。 若一个语言不存在无二义文法,称该语言为:先天二义性的。 文法 语言 自动机 限制 描述能力 0型 递归可枚举 图灵机 强 弱 1型 上下文相关 线性有界非确定图灵机 2型 上下文无关 非确定下推自动机 3型 正规语言 有限状态自动
文档评论(0)