2015-04-06 70 views
0

的问题是提供上下文无关的语法,其中L = {w∈{A,B} *在W A的的|the数目大于B的数目更大的一个}。我的解决办法是为什么这种上下文无关的语法语言不适合?

S -> LaL 
L -> aLb|abL|bLa|Lab|Lba|baL|_ 

灿有人告诉我为什么我的解决方案不适用于这种语言?

+1

你怎么知道它不起作用? –

+0

有一个检查系统说我的解决方案不描述语言。例如我的解决方案不会生成属于该语言的字符串aabaabbbbbababaabaabbababbaabaa。 – Blake

+0

那么,*你能展示一种用你的语法创建这个词的方法吗?如果没有,这不是很明显,为什么你的语法不适合?我不清楚你的问题的答案可能是什么样的(或者你想找出什么),你能澄清一下吗? –

回答

0

试试这个..可能有更好/更简单的答案,但是这通过了验证者的测试。

S -> A 
A -> BaAbB | BAabB | BabAB | BbaAB | BbAaB | a 
B -> bBa | aBb | _