考虑下面的语法 G。
S → F ⎪ H
F → p ⎪ c
H → d ⎪ c
其中 S、F 和 H 是非终结符,p、d 和 c 是终结符。以下哪个(些)陈述是正确的?
S1: LL(1) can parse all strings that are generated using grammar G.
S2: LR(1) can parse all strings that are generated using grammar G.
(A)只有 S1
(B)只有 S2
(C) S1 和 S2
(D) S1 和 S2 都没有答案: (D)
解释:给定的语法是不明确的,因为字符串“c”有两个可能的最左边派生。
First Leftmost Derivation
S → F
F → c
Second Leftmost Derivation
S → H
H → c
歧义文法既不能是 LL(1) 也不能是 LR(1)
这个问题的测验