下述四个文法,无需构造预测分析表,指出哪一个是 LL(1) 文法,并指出其他文法为什么不是 LL(1) 文法。
(1) S → Ra | a
R → Sb | b
(2) S → aAc | b
A → a | b | ε
(3) S → aA | Aa
A → b | ε
(4) S → iCtS | iCtSeS | a
C → b
解:
(1) 不是 LL(1) 文法,因为它是左递归的: S=>Ra=>Sba 。
(2) 是 LL(1) 文法。
(3) 不是 LL(1) 文法,因为对于 S 的两个候选项 Aa 和 Aa , FIRST(aA) ∩ FIRST(Aa)={a} ≠Φ不满足推论 3.2 的条件①。
(4) 不是 LL(1) 文法,因为 S 的前两个候选项中含有左公因子 iCtS ,不满足推论 3.2 的条件①。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题