- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于句型(T+i)*i+F的短语、 简单短语和句柄: 短语有8个: 1.(T+i)*i+F 2.(T+i)*i 3.(T+i) 4.T+i 5.T 6.第一个i 7.第二个i 8.F 简单短语有4个: T, 第一个i, 第二个i, F 句柄: T E E + T T T * F i F ( E ) E + T T i F F 2、有助于理解句型的语法结构 短语 直接短语(简单短语) 句柄 2.2.4语法树 例:设有文法G: E ? T | E + T T ? F | T * F F ? ( E ) | i i (1) *i (2) +i (3)是G的一个句子, (1)画出该句子的语法分析树 (2)找出该句子的所有短语,简单短语,句柄 2.2.4语法树 * E E + T T T * F i F i 文法G: E ? T | E + T T ? F | T * F F ? ( E ) | i i (1) *i (2) +i (3) 规范推导过程如下: E ? E+T ? E+F ? E+i ? T +i ? T * F +i ? T * i +i ? F * i +i ? i* i +i F i * E E + T T T * F i F i 文法G: E ? T | E + T T ? F | T * F F ? ( E ) | i i (1) *i (2) +i (3) 短语:i *i +i 、 i *i、 i (1) 、i (2) 、 i (3) 简单短语: i (1) 、i (2) 、 i (3) 句柄: i (1) F i * E E + T T T * F i F i 文法G: E ? T | E + T T ? F | T * F F ? ( E ) | i i (1) *i (2) +i (3) 规范推导过程如下: i* i +i ? F * i +i ? T * i +i ? T * F +i T +i E+i ? E+F E+T ? E F i * 2.2.5 文法等价变换 文法的等价 对文法G1和G2,若有:L(G1)=L(G2),则称文法G1和G2等价, 记作:G1=G2。 文法等价变换 2.2.5 文法的等价变换 * 文法等价变换技术1:使文法开始符不出现于任何产生式的右部 定理2.1 对任一文法G1都可以构造文法G2,使得L(G1)=L(G2),且G2有这样的特点,文法的开始符不出现于任何产生式的右部。 在LR类语法分析中,为了便于控制分析过程的结束,通常要求文法具有唯一的开始符并且开始符不出现于任何产生式的右部。 2.2.5 文法的等价变换 * 文法等价变换技术1:使文法开始符唯一并且不出现于任何产生式的右部(续1) 证明:假设S是G1的开始符,在G1中扩充一条新 产生式:Z?S,其中Z是新的开始符。令这样扩充后的文法为G2,则它显然满足定理的要求。 2.2.5 文法的等价变换 * 文法等价变换技术1:使文法开始符唯一并且不出现于任何产生式的右部(续2) 例: G1[Z]: Z → abZA | a A → b G2[Z]: Z →Z Z → abZA |a A →b 开始符Z出现于该产生式的右部 2.2.5 文法的等价变换 * 文法等价变换技术2:消除空产生式 定理2.2 对于任一文法G1(??L(G1)),可构造文法G2,使得L(G1)=L(G2),并且G2中无空产生式。 在用LR(0)分析法进行语法分析时,空产生式容易引起冲突,从而使得文法不满足LR(0)语法分析的条件条件! 2.2.5 文法的等价变换 形如:A?? * 文法等价变换技术2:消除空产生式(续1) 证明:根据G1,构造G2的方法如下: (1) 令?={A | A??},即?表示文法G1中所有右部为?的产生式的左部非终极符的集合。 (2) 递归扩充?直到收敛为止,即: ?=??{A | A ?+ ?, ???+}。 2.2.5 文法的等价变换 * (3) 从G1中删除所有空产生式。 (4) 从G1中删除只能导出空串的非终极符。 (5) 对于文法中每一个产生式: A?X1X2 … Xi-1XiXi+1 … Xn Xi (i=1,2,…,n)有三种情况: 若Xi ? VT,不做动作; Xi ?
文档评论(0)