- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 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)