无上下文,无上下文和常规语法区分

时间:2012-03-29 05:44:15

标签: context-free-grammar dfa

给定{a^(n+m) | n>= 2m},说明它是常规的,无上下文的,还是没有上下文的,并使用DFA,CFG证明它......

我的回答:它没有上下文,因为无法表示n> = 2m。大于标志太模糊了。

我想知道我的回答是否正确。

1 个答案:

答案 0 :(得分:1)

你的答案是* in *正确,因为a ^(n + m)== a ^([2m + k] + m)== a ^(3m + k)其中m ,k> = 0.表示这种语言的CFG如下:

 S->LR;
 R->Ra|a;
 L->LL|aaa;