上下文敏感语法和无上下文语法之间的区别

时间:2012-10-17 04:35:22

标签: algorithm context-free-grammar context-sensitive-grammar

  

可能重复:
  Context-sensitive grammar and Context-free grammar

在我的教科书中,这是对这两个术语的解释:

语境敏感语法:

  

语法可以具有w1→w2形式的产生,其中w1 = lAr和   w2 = lwr,其中A是非终结符号,l和r是零的字符串   或更多终端或非终结符号,w是非空字符串   终端或非终端符号。它也可以产生S→λ   只要S没有出现在任何其他的右侧   生产

Context Free Grammar:

  

语法只能以w1→w2的形式出现,其中w1是a   单个符号,不是终端符号。 3型语法可以有   只有w1→w2形式的产品,其中w1 = A且w2 = aB或   w2 = a,其中A和B是非终结符号,a是终端   符号,或w1 = S和w2 =λ。

在我的教科书中,作者说:CSG是CFG的一个特例。但是,我不明白这一点。因为在CSG中,lAr - > LWR。 l和r可以是或更多终端或非终结符号的字符串。所以,当它是一个零的字符串(意思是:长度= 0)。我们可以把lAr写为A.所以,CSG将是CFG。因此,CSG CFG

我理解错了吗?请为我纠正。

谢谢:)

1 个答案:

答案 0 :(得分:3)

教科书出错了。如你所说,CFG是CSG的一个特例。

CSG可以严格表达比CFG更多的语言。