第4章语法分析-自上而下分析(6)

2020-02-21 15:50

编译原理 第四章 语法分析—自上而下分析

因为E? TE`,所以FIRST(E)= FIRST(T)。 因为T`?T??,

所以FIRST(T`)= FIRST(T)?{ ?} ={(, ^, a, b ,??。 求非终结符的FOLLOW:

因为E? TE`的E是文法的开始符号,FOLLOW(E)={#},又因为P?(E),所以FOLLOW(E)={#}?FIRST())\\{?}={#,)}

因为E? TE`,所以FOLLOW(E`)=FOLLOW(E) 因为E? TE`,并且E`≠?, 所以FOLLOW(T)=FIRST(E`)\\{?}, 又因为E`??,

所以FOLLOW(T)={+}? FOLLOW(E)={+}? {#,}}={+,#,? }. 因为T?FT`,所以FOLLOW(T`)=FOLLOW(T)={+,#,? }. 因为T? FT`,并且T`≠?,

所以FOLLOW(F)=FIRST(T`)\\{?},又因为T`??, 所以FOLLOW(F)={(,^,a,b ?? FOLLOW(T) ={(,^,a,b ??{+,#,? }={(,^,a,b ,+,#,? ? 因为F?PF`,

所以FOLLOW(F`)=FOLLOW(F)={(,^,a,b ,+,#,? ?. 因为F?PF`,并且F`≠?,

所以FOLLOW(P)=FIRST(F`)\\{?},又因为F`??, 所以FOLLOW(P)={*?? FOLLOW(F)

制作人:李明新 共28页第26页 13-3-24

编译原理 第四章 语法分析—自上而下分析

={*}?{(,^,a,b,+,),# ?

={*,(,^,a,b ,+,?,# ?. ⑵证明这个文法是LL(1)的

①证明P?(E)?^?a?b各侯选式的FIRST是否两两相交。 FIRST((E))?FIRST(^)=?

FIRST((E))?FIRST(a)=? FIRST((E))?FIRST(b)=?

FIRST(^)?FIRST(a)=?

FIRST(^)?FIRST(b)=? FIRST(a)?FIRST(b)=?

②证明E`?+E??,T`?T??,F`?*F`??非终结符号的FIRST和FOLLOW是否相交。

FIRST(E`)? FOLLOW(E`)={+,?}?{#, ? }=? FIRST(T`)? FOLLOW(T`) ={(, ^, a, b ,???{+,#,? }=? FIRST(F`)? FOLLOW(F`) ={*,?}?{(,^,a,b ,+,#,? ?=? 该文法是LL(1)的。

⑶构造预测分析表

+ * ( ) a b ^ # E TE` TE` TE` TE` E` +E` ? ? T FT` FT` FT` FT` T` ? T ? T T T ? F PF` PF` PF` PF` 制作人:李明新 共28页第27页 13-3-24 编译原理 第四章 语法分析—自上而下分析

F` ? *F` ? ? ? ? ? ? P (E) a b ^

制作人:李明新 共28页第28页 13-3-24


第4章语法分析-自上而下分析(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工作总结公安百日会战经验总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: