编译原理第二章(2).ppt_第1页
编译原理第二章(2).ppt_第2页
编译原理第二章(2).ppt_第3页
编译原理第二章(2).ppt_第4页
编译原理第二章(2).ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,2、推导的形式定义 (1) 直接推导:如果Uu是G中的一条规则, x,yV*, 则将规则Uu用于符号串r=xUy上 得到符号串w =xuy 记为: xUy = xuy (r=w) 称符号串w是符号串r的直接推导,或符号串 r直接产生了符号串w,也称w直接归约到r.,2,例:上述文法GS可进行的直接推导, S=aB,(规则S aB ),文法BNF表示为 GS: S aB | bA A a | aS | bAA B b | bS | aBB,U =u (规则U u , x,y均为 ), abS=abbA,(规则S bA),xU =xu (规则U u , x为ab,y为 ), aB=aaBB (

2、规则B aBB) xU =xu (规则U u , x为aaB,y为 ),3,例:上述文法GS可进行的系列直接推导 推导过程 使用规则 S=aB S aB =abS B bS =abbA S bA =abbbAA A bAA =abbbaA A a =abbbaa A a,只要符号串中存在非终结符号,推导就能继续,直至符号 串全由终结符号组成,这也是为什么称终结符和非终结 符的原因,文法BNF表示为 GS: S aB | bA A a | aS | bAA B b | bS | aBB,4,(2)推导(长度为n): 设u0,u1,un(n0)均V*,且有 r=u0=u1=u n-1=un=w 记

3、为r =+w 则称以上序列为长度n的推导, 也称r产生w(w归约为r) 特例:如果r= + w(一步或一步以上)或r=w(0步) 记为 r=*w,5,3、语言的形式定义 (1)句型:设有文法GZ,如果有Z=*x , x V*, 则称x是文法G的一个句型. 凡是由开始符号(识别符号)推导出来的字汇表V上的终结和非终结符号组成的符号串叫做句型. (2)句子:如有Z=+x(或Z=*x)且xVt*, 则称x是文法G的一个句子. 由Z推导的终结符号组成的符号串为句子。,6,(3)语言L(GZ):文法GZ产生的所有句子的集合, 称文法GZ所定义的语言 L(GZ)=x|xVt*且Z=+x 例:G | | a

4、|b|z|A|Z 0|1|2|9 问题:符号串“a4y”是不是文法的句子?,7,推导过程1 y y 4y 4y a4y,推导过程2 = a a4 a4y,例:G | | a|b|z|A|Z 0|1|2|9,结论: a4y是文法的合法句子,8,例:G=(Vn,Vt,P,E) 其中:Vn=E,T,F Vt=+,*,(,),i E:文法的开始符号 P: EE+T|T TT*F|F F(E)|i,GE:EE+T|T TT*F|F F(E)|i,E代表 表达式 T代表 项 F代表 因子 i代表 标识符(变量),i*(i+i)是不是文法合法的句子?,9,例:G1A:ABb Ba L(G1)=ab G2A:

5、Aab L(G2)=ab G1G2但L(G1)=L(G2) 称G1和G2为等价文法 (不同文法,相同语言). 给定文法后,可以确定它的语言,但由语言写出的文法是比较难的,这里形式语言理论可以证明:,10,1给定一文法,就能从结构上唯一确定其语言. 即 G 唯一确定 L(G) 2给定一语言,能确定其文法,但这种文法不是 唯 一的。 即L 确定 G1,或G2 3设G=(Vn,Vt,P,S)为一文法, 并设UxVy,是P中一产生式, 且V1|2|3|n 是P中V的全部产生式 又设G1=(Vn,Vt,P1,S)是其中P1从P中删去UxVy, 加入Ux1y, Ux2y,, Uxny, 则L(G1)=L(

6、G),11,G3S:S A | S-A A a | b | c G4S:S A | A-S A a | b | c 符号串a-b-c是G3S 、G4S合法句子,但语义不同。,G3解释为(a-b)-c G4解释为 a-(b-c),12,223 递归规则与递归文法 -用有穷的规则刻划无穷的语言 1、递归规则 形如UxUy UVn, x,yV* 左右具有相同的非终结符号的规则 特别:UUy (x=)左递归规则 UxU (y=)右递归规则 UxUy (x,y)自嵌入递归规则 递归规则是对其左部的非终结符号进行递归定义,13,2.文法的递归性 1)直接递归性:文法中至少包含一条递归规则 2)间接递归性:

7、文法的任一非终结符号经一步 以上推导产生的递归性。 3)文法的递归性原则:文法具有直接递归性或 间接递归性,否则,文法无递归性。 例1:GZ:ZaZbab 具有直接递归性 例2:GZ:U Vx V Uy z 具有间接递归性 原因:U=Vx=Uyx,GE:EE+T|T TT*F|F F(E)|i,14,2.3 句型的分析 2.3.1 规范推导和归约 1、最左(右)推导:在任一步推导V=w中,都是 对符号串V的最左(右)非终结符号进行替换, 称最左(右)推导。 2、规范推导:即最右推导 3、规范句型:由规范推导所得的句型. 4、规范归约:规范推导的逆过程,称规范归约或 最左归约。,15,例:G | | a|b|z|A|Z 0|1|2|9 问题:给出句子a4y的规范推导

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论