全文预览

编译原理期末复习题(含答案)【精】

上传者:似水流年 |  格式:doc  |  页数:22 |  大小:0KB

文档介绍
S] 不是 LL (1 )文法。因为产生式 B→SA c|cD| ε中 FIRST ( SAc )∩ FOLLOW (B)= {a,d} ≠? (3 )构造 G[S] 的 LL (1 )分析表。按照 LL (1 )分析表的构造算法构造方法 G[S] 的 LL (1 )分析表如表 4 -3-2 所示。表4 -3-2 G[S] 的 LL (1 )分析表 abcde# S aAbDe d A BSD BSD BSD e B Sac/ ε cD Sac/ ε D Se/ εεε Se/ εε 4、将文法 G[V] 改造成为 LL (1) 的。 G[V] :V→ N|N[E] E→ V|V+E N→i解答: 对文法 G[V] 提取公共左因子后得到文法: G′[V] :V→ NA A→ε|[ E]E→ VB B→ε| +E N→i 求出文法 G′[V] 中每一个非终结符号的 FIRST 集: FIRST(V)={i} FIRST(A)={[, ε} FIRST(E)={i} FIRST(B)={+, ε} FIRST(N)={i} 求出文法 G′[V] 中每一个非终结符号的 FOLLOW 集: FOLLOW(V)={#} ∪ FIRST(B)\{ ε}∪ FOLLOW(E)={#,+,]} FOLLOW(A)= FOLLOW(V)={+,,#} FOLLOW(E)= FIRST(])\{ ε}∪ FOLLOW(B)= FIRST(])\{ ε}∪ FOLLOW(E)={]} FOLLOW(B)= FOLLOW(E)={ ]} FOLLOW(N)= FIRST(A)\{ ε}∪ FOLLOW(V)={[,],+,#} 可以看到,对文法 G′[V] 的产生式 A→ε|[ E] ,有 FIRST([E]) ∩ FOLLOW(A)={[} ∩{+,],#}= ? 对产生式 B→ε| +E ,有

收藏

分享

举报
下载此文档