该文法中每一个非终结符M,T,B,D的各个产生式的候选首符集两两不相交。 3. 该文法的非终结符T、B和D,它们都有候选式,而且 FIRST(T)∩FOLLOW(T)={ a,b,e,d }≠ 所以该文法不是LL(1)文法。(2分)
时间: 2024-03-30 19:34:53 浏览: 8
判断该文法是否是LL(1)文法,需要满足以下三个条件:
1. 消除左递归
2. 消除公共左因子
3. 构造预测分析表时,每个非终结符的任意两个产生式不能有相同的前缀,或者说,对于任意一个非终结符A,它的任意两个产生式B -> α 和 B -> β 的选择符集合First(α)和First(β)没有交集,或者是,如果β可以推导出空串,则First(α)和Follow(B)没有交集。
根据题目所给信息,可以知道该文法满足条件1和条件2,但是不满足条件3。因为非终结符T的产生式中包含了空串,所以它的FOLLOW集合应该包括它的产生式右侧所紧随的终结符或者非终结符的FIRST集合。而根据题目所给信息,FOLLOW(T)应该包括{a, b, e, d},但是在该文法中,D的产生式右侧有一个产生空串的产生式,所以D的FIRST集合也包括了空串,所以FOLLOW(T)应该包括D的FOLLOW集合,即{a, b, e, d}∪FOLLOW(D)。因此,T的FOLLOW集合应该是{a, b, d, e, f},而不是{a, b, e, d},与题目所给信息矛盾。因此,该文法不是LL(1)文法。