在线等 如图编译原理
发布网友
发布时间:2022-05-23 10:19
我来回答
共1个回答
热心网友
时间:2023-10-20 11:17
(1)
存在左递归:E→EA
进行消除得:
E→E'
E'→AE' | ε
消除后的文法G[E]:
E→iA | E'
E'→AE' | ε
A→i | d | (E)
(2)
FIRST集:
FIRST(E)={i,d,(,ε}
FIRST(E')={i,d,(,ε}
FIRST(A)={i,d,(}
FOLLOW集:
FOLLOW(E)={#,)}
FOLLOW(E')={#,)}
FOLLOW(A)={#,i,d,(,),ε}
(3)SELECT集:
SELECT(E→iA)={i}
SELECT(E→E')={i,d,(,),#}
SELECT(E'→AE')={i,d,(}
SELECT(ε)={#,)}
SELECT(A→i)={i}
SELECT(A→d)={d}
SELECT(A→(E))={(}
由于SELECT(E→iA)∩SELECT(E→E')={i}∩{i,d,(,),#}={i}≠{Φ},即具有相同左部的产生式的SELECT集合的交集不为空可知,该文法不是LL(1)的。
希望你不是在考试的时候发的。