在我的教科书中,这是对这两个术语的解释:
语境敏感语法:
语法可以具有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
我理解错了吗?请为我纠正。
谢谢:)
答案 0 :(得分:3)
教科书出错了。如你所说,CFG是CSG的一个特例。
CSG可以严格表达比CFG更多的语言。