这是语言
L = {a^i b^j a^i b^k | i, j, k >= 0}
然后,我可以尝试这种语言的语法:
S -> ABCD A -> a | aA | lambda B -> b | bB | lambda C -> a | aC | lambda D -> b | bD | lambda
它没有上下文......语法是正确的吗?
你的语法允许 aaba ,它不应该,因为应该总是有偶数的 a :
aaba
a
ABCD aABCD aaBCD aabCD aabaD aaba
一个正确的答案是:
Start → A B A → a A a | B B → bB | ε
B 生成任意数量的 b (包括无) .
B
b
A 是 a 的序列,后跟 B ,后跟相同数量的 a
A
1 回答
你的语法允许
aaba
,它不应该,因为应该总是有偶数的a
:一个正确的答案是:
B
生成任意数量的b
(包括无) .A
是a
的序列,后跟B
,后跟相同数量的a