上下文无关文法(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
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
相关文章推荐
- 到底什么是上下文无关文法(CFG)?
- 从上下文无关文法(CFG)到语法分析树——LL(1)分析法
- 【CT】三、上下文无关文法,CFG,PDA
- 从上下文无关文法(CFG)到语法分析树——SLR(1)分析法
- 自然语言 和编译原理中的(1型文法)上下文有关文法和(2型文法)上下文无关文法CFG
- 上下文无关文法(Content-Free Grammar, CFG)
- 【语言处理与Python】8.2文法有什么用?\8.3上下文无关文法\8.4上下文无关文法分析
- 上下文无关文法英文版
- 自己动手开发编译器(六)上下文无关语言和文法
- [系列][编译原理]上下文无关文法及分析
- 上下文无关文法及其分析树
- 词汇化概率上下文无关文法 Lexicalized PCFGs
- 编译原理学习周入门教程--(5)上下文无关文法,及其语法树
- 3.2语法分析-上下文无关文法
- 2-型文法消除左递归算法(上下文无关文法)
- 自动机、正则式、正则文法和上下文无关文法
- 文法系列之上下文无关语法简介
- 【编译原理】(2)上下文无关文法
- 上下文无关文法
- 文法系列之上下文无关语法简介