Possible Duplicate:
上下文敏感语法和上下文无关语法
在我的教科书中,这两个术语的解释如下:
上下文敏感语法:
语法可以具有形式为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 可以是零个或多个终端或非终端的字符串。所以当它是一个零长度的字符串时,我们可以将 lAr 写成 A。因此,CSG 将成为 CFG。所以,CSG 是 CFG。
我是否理解错了什么?请纠正我。
谢谢 :)
上下文敏感语法:
语法可以具有形式为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 可以是零个或多个终端或非终端的字符串。所以当它是一个零长度的字符串时,我们可以将 lAr 写成 A。因此,CSG 将成为 CFG。所以,CSG 是 CFG。
我是否理解错了什么?请纠正我。
谢谢 :)