考虑以下语法 G:
S → bS | aA | b
A → bA | aB
B → bB | aS | a
让 Na(w) 和 Nb(w) 分别表示字符串w 中 a 和 b 的数量。由 G 生成的语言 L(G) ⊆ {a, b}+ 是
(A) { w | Na(w) > 3Nb(w)}
(B) { w | Nb(w) > 3Nb(w)}
(C) { w | Na(w) = 3k, k ∈ {0, 1, 2, …}}
(D) { w | Nb(w) = 3k, k ∈ {0, 1, 2, …}}答案: (C)
说明:这里,我们有
S → bS
S → baA (S → aA)
S → baaB (A → aB)
S → baaa (B → a)
因此,|钠 (w) | = 3。
此外,如果我们使用 A → bA 而不是 A → aB,
S → baA
S → babA
要终止 A,我们必须使用 A → aB,因为只有 B 在 a (B → a) 处终止。
S → baA
S → babA
S → babaB
S → babaa
因此,这里也,|钠 (w) | = 3。
所以,C是正确的选择。
如果您发现上面的帖子有任何错误,请在下面发表评论。这个问题的测验