您的位置:首页 > 其它

上下文无关文法(CFG)

2015-03-07 10:06 288 查看
一、上下文无关文法:G=(V,sigma,R,S),

1) V: 有穷变元集

2) sigma: 有穷终结符集

3) R: 有穷规则集

4) S∈V: 初始变元

二、定理:正则语言都是上下文无关语言。证明方法:可以为每个正则语言设计上下文无关文法。其中CFG的V等于DFA的状态集;转移(qi,a)=qj对应规则:Ri := aRj;终结符qi∈F对应规则:Ri := 空。

三、几个例子:0n1n,wwT(T表示转置),非ww都是上下文无关,而ww不是上下文无关(是上下文有关的)。

四、最左派生: 每一步都替换最左边的变元。歧义地产生: 有两个不同的最左派生。歧义文法:文法歧义的产生某个串。

五、乔姆斯基范式(CNF): 只允许如下形式的规则: 1、S := 空;2、A := BC;3、A := a。
其中A,B,C是任意变元;B,C不是初始变元(即初始变元不能在右方出现) ;a是任意终结符

六、定理:任何CFG都是CNF。通过将每个CFG都能够转化成CNF的算法来进行证明。其中要逐步处理5种情况:

1) 添加新的初始变元

2) 处理A := 空 (空规则)

3) 处理A := B (单一规则)

4) 处理A := u1u2…uk (k≥3)

5) 处理A := aiaj, A := aiB, A := Bai
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: