4.下述三个文法,无需构造预测分析表,指出哪个是LL(1)文法,并指出其他文法为什么不 是LL(1)文法。 (1) S→Rala R→Sb|b (2) S→aAcb A→a|b|ε, (3) S→aA|Aa A→b|ε
时间: 2024-06-07 14:07:49 浏览: 163
第一个文法S→Rala R→Sb|b是LL(1)文法,因为它满足LL(1)文法的两个条件:①对于任何一个非终结符A的不同产生式A→α|β,FIRST(α)∩FIRST(β)=∅。②对于任何一个非终结符A和输入符号a,最多有一个产生式A→α满足a∈FIRST(α),且若存在这样的产生式,则必有A→α属于产生式集合。
第二个文法S→aAcb A→a|b|ε不是LL(1)文法,因为在A→a和A→ε的情况下,它们的FIRST集合相交,无法构造LL(1)分析表。
第三个文法S→aA|Aa A→b|ε不是LL(1)文法,因为在A→ε的情况下,无法判断应该选择哪个产生式。同时,在S→aA和A→b的情况下,它们的FIRST集合相交,无法构造LL(1)分析表。
阅读全文