可能重复:上下文敏感语法和无上下文语法
在我的教科书中,这里是这两个术语的解释:
语境敏感语法:
语法可以有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 回答
教科书有误 . 如你所说,CFG是CSG的一个特例 .
CSG可以严格表达比CFG更多的语言 .