理论:给定的语言环境是否自由?

时间:2014-01-13 12:31:42

标签: grammar theory context-free-grammar

在最近的测试中,我被要求识别以下语言是否没有上下文:

enter image description here

根据我的说法,它是无上下文的,可以被下面的上下文自由语法接受,其中S是起始符号,Y是非终结符号:

enter image description here

然而,我的回答被认为是错误的,所以显然这种语言不是没有上下文的。

我对自己的回答充满信心,但这种反应让我很困惑。我的理解是否正确?如果我错过了什么,请告诉我。

1 个答案:

答案 0 :(得分:1)

语言不是上下文语言!你的语法错了!

根据语言描述0后缀应小于1和前缀0的数量。但是使用你的语法你可以生成错误的字符串,如下所示:

第1步:始终将S替换为S0
第2步:现在将S替换为Y

S --> S0 --> S00 --> S000 --> Y000 

现在,您可以将Y替换为^(nul),它会提供000,此字符串不是您的语言。

Y替换为0Y1,然后将Y替换为^

  Y000 --->  0Y1000  ---> 01000

01000字符串不是语言。所以你的语法不能生成相同的语言。