网站大量收购独家精品文档,联系QQ:2885784924

形式语言与自动机文法的一般理论.pptVIP

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

**南京航空航天大学计算机学院胡军语言?文法例2.11构造一个文法,使其能产生语言L={wwR∣w∈{a,b}*}。w是由a和b以任意次序组成的串(包括空串),wR是w的逆转,wwR是由偶数个a,b组成且由中心开始左右对称的串,如abba,baaaab,aabaabaa等等。例2.12构造一个文法,使其能产生语言L={anbncn∣n≥1}。(不太容易)**南京航空航天大学计算机学院胡军文法等价定义2.4对于两个不同的文法G1=(V1,T1,P1,S1),G2=(V2,T2,P2,S2),如果L(G1)=L(G2),则称文法G1与G2等价。同一个语言可以由不同的文法产生。在例中已经看到,一个很简单的语言{an|n≥1}就可由三个不同的文法产生。文法是用四元组定义的,在两个四元组的各对应部分中,只要有一点点不同,就应当看作是不同的文法。如在一个已有的文法上,随意加上一些变元,一些终结符,或一些不影响S推导结果的产生式等等,都会变成新的文法。在这个意义下,任何一个语言都可以有无穷多个文法产生它。*2.3文法的乔姆斯基分类定义2.5对于文法G=(V,T,P,S)按以下方法分为四类:若P中的产生式,不加另外的限制,则G称为0型文法,或短语结构文法(PSG)。若P中每个产生式α→β都满足条件|α|≤∣β|,则G称为1型文法,或上下文有关文法(CSG)。若P中每个产生式都具有如下形式:A→β,β∈(V∪T)*,A∈V, 则称G为2型文法,或上下文无关文法(CFG)。若P中每个产生式都具有如下形式:A→a或A→aB,a∈T∪{ε},A,B∈V, 则称G为3型文法,或正则文法(RG)。*南京航空航天大学计算机学院胡军**南京航空航天大学计算机学院胡军文法的乔姆斯基分类单击此处添加小标题由短语结构文法产生的语言,称为短语结构语言,简记为PSL。单击此处添加小标题由上下文有关文法产生的语言,称为上下文有关语言,简记为CSL。单击此处添加小标题由上下文无关文法产生的语言,称为上下文无关语言,简记为CFL。单击此处添加小标题由正则文法产生的语言,称为正则语言,简记为RL。定义2.6**南京航空航天大学计算机学院胡军**南京航空航天大学计算机学院胡军右线性文法定义2.9对于文法G=(V,T,P,S),如果P中产生式都呈以下形式:A→wA→wB这里A,B∈V,w∈T*,则文法G称为右线性文法。类似地,如果P中产生式都呈A→wA→Bw形式,这里A,B∈V,w∈T*,则文法G称为左线性文法。*右线性文法定理2.2任何由右线性文法产生的语言都能被正则文法产生。证明设L是一个右线性文法G产生的语言,G=(V,T,P,S)。现在由G构造正则文法G′=(V′,T,P′,S),其中P′的构造为:对于P中形如A→w的产生式,若w=a(a∈T)或w=ε,则已符合正则文法的要求,将它们直接放入P′中。对于w=a1a2…an(n≥2),则引入新变元A1,A2,…An-1,并将以下一组产生式 A→a1A1 A1→a2A2 ┆(*) An-1→an加入P′中。*南京航空航天大学计算机学院胡军南京航空航天大学计算机学院胡军南京航空航天大学计算机学院胡军南京航空航天大学计算机学院胡军本质上就是嵌套的递归结构,但是要注意解释:递归规则的原本应用是从右边到左边,但是在语言、字符串这个场景下,可以很容易看作从左边到右边的推导和产生的过程。!在这种表示法中,用尖括号“”和“”括起来的部分,做为一个整体来看,表示一种语法成分,最终要用具体的字符串集合来定义它,如常量、变量、赋值语句等等。符号“::=”和“∣”是BNF本身使用的符号,前者含有“就是”的意思,后者含有“或者”的意思。例如定义的常量就是0,或者1,或者2,或者3,…,或者8,或者9这十个阿拉伯数字。其他的符号如:iF,tHEn,ElsE,;,:=,,,+,-,*,/,a,b,C,x,y,z,等等都是构成语言的基本符号,也就是字母表中的符号。第五条规则关于语句表的定义,这是一种递归的定义形式。要重点说明:自顶向下和自底向上的过程不同,就是对递归规则的不用应用。从树根语句到下一层当语句,是用了第一条规则—当语句是语句的一种。以当语句为根具有四个孩子结点wHilE、布尔表达式、Do、语句的这棵子树

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档