上下文无关文法(CFG)

一、上下文无关文法: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值