- 2
- 0
- 约1.65万字
- 约 81页
- 2018-02-26 发布于江苏
- 举报
【计算机】形式语言04章 CHOMSKY文法体系及语言之间的运算
第四章 Chomsky文法体系及语言之间的运算 在第一章中已指出对于程序的语法分析和自然语言的处理,形式化的文法描述方式起了重要的作用。本章介绍Chomsky的文法体系,语言的运算和运算的封闭性。 4.1 Chomsky的文法体系 4.1.1 文法的分类及文法之间的关系 对于一般的短语结构文法PSG=(∑,V,S,P),产生式的形式是v→w,其中:v∈(∑UV)+,且至少包含一个非终结符; w∈(∑ U V)* 。 定义4-1 右线性文法的定义 对于文法G=(∑,V,S,P),若它的每个产生式都是下列形式之一: A→xC或者A→y; 其中:A,C∈V,x∈∑*,y∈∑+; 则文法G是右线性文法(也称为正则文法RG)。 如果一个语言L可以由右线性文法产生,则该语言是右线性语言。 定义4-2 上下文无关文法的定义 对于文法G,如果对于G中的任意产生式ν→ω,而ν只是一个非终结符,即A→ω,A∈V,ω∈(∑ U V)*,则称文法G为上下文无关文法CFG(简称无关文法)。 如果一个语言能由一个无关文法产生,则称这个语言是上下文无关语言(简称无关语言)。 定义4-3 上下文相关文法的定义 对于文法G,如果G的每个产生式形如u→v,且0|u|≤|v|;但若ε∈L(G),则允许有S→ε,且S不出现在任何产生式的右边;则称文法G为上下文相关文法CSG(简称相关文法)。 如果一个语言能由一个相关文法产生,则称这个语言是上下文相关语言(简称相关语言)。 根据以上的两个定义,可以看出,一个无关的文法不一定是相关的文法,主要是空串产生式的情况。 某些文法不满足上述3类文法的要求;如 S→AB1 AB→0 该文法不是右线性文法,不是无关文法,也不是相关文法,只能属于短语结构文法。 Chomsky将文法分为四类,关系为: 任意一个右线性文法本身是一个无关文法;本身不一定是相关文法; 任意一个无关文法本身不一定是相关文法; 设文法G=(∑,V,S,P),则判断G是哪类文法的方法如下: 1、G是短语结构文法; 2、如果所有产生式都有右边部分长度大于等于左边部分,那么G是上下文有关文法; 3、如果如果所有产生式的左边部分都是单个非终极符号,那么G是上下文无关文法; 4、如果所有产生式的右边部分都是以终极符号开始、含有至多一个非终极符号、如果有非终极符号则出现在最右边,那么G是正则文法。 4.1.2语言之间的关系 下面讨论语言之间的关系。 任意一个右线性语言文法本身是一个无关语言; 一个上下文无关语言是不是一个上下文相关语言呢? 从第二章可知:一个无关文法 ①没有任何空串产生式,或者 ②仅有一个空串产生式S→ε,且S不出现在任何产生式的右边 则该文法本身就是一个相关文法;它产生的无关语言也就是一个相关语言;那么,如果一个无关文法中有一般的空串产生式(如A→ε,A是一个非终结符,且不是开始符号),它产生的无关语言是不是相关语言呢? 根据空串定理: G是一个上下文无关文法,存在一般的空串产生式A→ε,则存在另一个上下文无关文法G′使得: ⑴L(G)=L(G′); ⑵若ε!∈L(G),则G′中没有任何空串产生式; ⑶若ε∈L(G),则G′中有一个空串产生式,S′→ε,且S′不出现在G′的其它任何产生式的右边;(S′是G′开始符号) 实际上,G’是一个无关文法。也是一个相关文法。 即:任意一个无关文法都可以改造为等价的一个相关文法,所以,任意一个无关语言也是一个相关语言。 结论4-4 Chomsky的文法体系: 对于文法G=(∑,V,S,P),根据对产生式的不同限制,Chomsky将文法分为四类: 文法G是3型文法,即右线性文法; 文法G是2型文法,即上下文无关文法; 文法G是1型文法,即上下文相关文法; 文法G是0型文法,文法对产生式没有任何限制; 语言的分类是根据产生该语言的文法的分类进行的。若一个语言L由某个i型文法产生,则它是i型语言。i=0,1,2,3。即 语言L是3型语言,即右线性语言;若L能由某个3型文法产生。 语言L是2型语言,即上下文无关语言;若L能由某个2型文法产生。 语言L是1型语言,即上下文相关语言;若L能由某个1型文法产生。 语言L是0型语言,即短语结构语言(PSL)或递归可枚举集,若L能由某个0型文法产生。 定义4-5 文法分类定义 用Ψi(语言类)的概念来定义所有的i型语言;对于0≤i≤3 Ψ i ={LС∑*|L=L(G),G是i型文法}。 定理4-6 语言分类定理 Chomsky将语言分为四类,且有包含关系(真子集关系): Ψ3СΨ2СΨ1 СΨ0 4.2 Chomsky的文法体系另一种描述 目前,国内普遍对Chomsky的文法体系存在另外一种描述方式,该方式
原创力文档

文档评论(0)