这是一种免费的上下文语法语言吗?

时间:2013-01-22 00:30:32

标签: context-free-grammar regular-language automata

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

  

{a^(2k) b^n c^n : k >= 0 ∧ 0 <= n <= m}
  {a^(2k+1) b^n c^m :k >= 0 ∧ n >= m >= 0}

1 个答案:

答案 0 :(得分:1)

证明语言是无上下文语言的一种方法是为给定语言编写无上下文语法:(或绘制PDA)

以下语言:

  

{a (2k) b n c m :k&gt; = 0且0 <= n <= m} ü   {a (2k + 1) b n c m :k> = 0且n> = m> = 0} < / p>

是上下文无关语言

我认为你在撰写问题时犯了错误,因为我向你提问,我正在为上面的语法做

我们可以为这种语言编写Context-Free-Grammar:

在种类α --> β的Context-Free-Grammar制作中,其中α是单个变量。

  

S - &gt; S 1 | S 2

S 1 生成此部分{a (2k) b n c m :k&gt; = 0和0&lt; = n&lt; = m}并且S 2 产生{a (2k + 1) b n c m :k> = 0且n> = m> = 0}

  

S 1 - &gt; AB

     

A - &gt; Aaa | ^

     

B - &gt; bBc | ^

     

B - &gt; BC

并且

  

S 2 - &gt; AAC

     

C - &gt; bCc | ^

     

C - &gt; bC

在语法中S是起始变量而{S,S 1 ,S 2 ,A,B,C}都是可变的。
因此,在上面的语法中,每个产品都采用α --> β形式,其中α是单个变量,因此给定的语言是Context-Free-Language。

如果您有其他疑问,请告诉我,或者如果您误解了我的语言