这是一种无上下文的语言吗?

时间:2014-03-07 11:30:51

标签: context-free-grammar

这是语言

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  

它没有上下文......语法是否合适?

1 个答案:

答案 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