这是语言
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
它没有上下文......语法是否合适?
答案 0 :(得分:0)
你的语法允许aaba
,它不应该,因为应该总是有偶数个a
:
ABCD
aABCD
aaBCD
aabCD
aabaD
aaba
正确的答案是:
Start → A B
A → a A a | B
B → bB | ε
B
生成任意数量的b
s(包括无)。A
是一系列a
,后跟B
,后跟相同数量的a