首页 文章

上下文敏感语法与无上下文语法之间的区别[重复]

提问于
浏览
3

可能重复:上下文敏感语法和无上下文语法

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

语境敏感语法:

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

上下文免费语法:

语法只能生成w1→w2形式的产品,其中w1是不是终端符号的单个符号 . 类型3语法可以仅具有w1 = w2形式的产生,其中w1 = A并且w2 = aB或w2 = a,其中A和B是非终结符号并且a是终止符号,或者w1 = S和w2 = λ .

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

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

谢谢 :)

1 回答

  • 3

    教科书有误 . 如你所说,CFG是CSG的一个特例 .

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

相关问题