第二章 文法和语言 ?E?i1× i2 + F且F?i3,则称i3是句型i1×i2+i3的相对非终结符F的短语,是相对规则F?i的直接短语。 * ?E?T×i2+i3 且T?i1,则i1是句型i1×i2+i3的相对于T的短语。 ?E? i1 ×i2+T 且T?i3,则i3是句型i1×i2+i3的相对于T的短语。 * * + + 根据短语定义,? ? ?是句型, S??A?,A??, 则?是句型? ? ?相对A的短语。 * + ? ?= i1×i2+i3 (?=?, ?= i1, ?= ×i2+i3 ) ?A?= T×i2+i3 (?=?, A= T, ?= ×i2+i3 ) A??= T ? i1 第二章 文法和语言 ?E?T+i3 且T? i1×i2 ,则i1 ×i2是句型i1×i2+i3相对于T的短语。 ?E?E+i3 且 E?i1×i2, 则i1×i2是句型i1×i2+i3相对于E的短语。 * * + + 根据短语定义,? ? ?是句型, S??A?,A??, 则?是句型? ? ?相对A的短语。 * + ? ?= i1×i2+i3 (?=?, ?= i1×i2, ?= +i3 ) ?A?= T+i3 (?=?, A= T, ?= +i3 ) A??= T ? i1×i2 第二章 文法和语言 i1,i2,i3,i1×i2和i1×i2+i3都是句型i1×i2+i3的短语,且i1,i2,i3均为直接短语,其中i1是最左直接短语(句柄) ?E?E 且 E?i1×i2+i3,则i1×i2+i3是句型i1×i2+i3相对于E的短语。 * + 根据短语定义,? ? ?是句型, S??A?,A??, 则?是句型? ? ?相对A的短语。 * + ? ?=( i1×i2+i3) (?=(, ?= i1×i2 +i3, ?=)) ?A?= (E) (?=(, A= E, ?= )) A??= E ? i1×i2 +i3 E?T ?F ?(E) 同理可以推出( i1×i2+i3) 是一个句型,也可以推出E? i1×i2+i3 第二章 文法和语言 E E T + T F T × F F i3 i2 i1 从语法树中可以看出,所以树叶的组合就是其相对应的父亲的短语。 第二章 文法和语言 文法实用中的一些说明----化简文法 文法中不含有有害规则和多余规则 有害规则:形如U→U的产生式。会引起文法的二义性 多余规则:指文法中任何句子的推导都不会用到的规则 多余规则也可表示为:文法中不含有不可到达和不可终止的非终结符,分以下两种情况: 1)文法中某些非终结符不在任何规则的右部出现,该非终结符称为不可到达。 2)文法中某些非终结符,由它不能推出终结符号串,该非终结符称为不可终止。 第二章 文法和语言 对于文法G[S],为了保证任一非终结符A在句子推导中出现,必须满足如下两个条件:1. A必须在某句型中出现 即有S =* αAβ,其中α,β属于V* 2. 必须能够从A推出终结符号串t来 即A =* t,其中t∈VT* 第二章 文法和语言 例: 文法G[S]: S ? Be B ? Ce | Af A ? Ae | e C ? Cf D ? f 请判断其中是否有多余规则 化简文法: 1)文法中某些非终结符不在任何规则的右部出现; 2)文法中某些非终结符,由它不能推出终结符号串。 第二章 文法和语言 化简文法 例:G[S] : 1) S→Be 2) B→Ce D为不可到达 3) B→Af C为不可终止 4) A→Ae 5) A→e 6) C→Cf 7) D→f 产生式 2),6),7)为多余规则应去掉。 第二章 文法和语言 本章目的 为语言的语法描述寻求工具,以便: 对源程序给出精确无二义的语法描述。(严谨、简洁、易读) 根据语言文法的特点来进行语法分析 从描述语言的文法可以自动构造出可用的分析程序 制导语义翻译 第二章 文法和语言 [本章小结] 1.本章出现的概念较多,应重点理解文法,推导,句型句子及语言的定义等概念.语法分析有关内容在后面章节会详细讨论. 2.文法作为程序语言的语法的描述工具,它用规则只能陈述的是:语言的所有句子以什麽样的符号串能出现.请记住文法和语言的形式定义中的 “形式”的含义—只涉及语言的语法不涉及语言的语义. 3.本章内容是形式语言理论的一部分.形式语言理论是对符号串集合的表示法、结构及其特性的研究。是程
原创力文档

文档评论(0)