推导树与文法二义性.ppt

推导树与文法二义性.ppt

ID:51607415

大小:422.31 KB

页数:21页

时间:2020-03-25

推导树与文法二义性.ppt_第1页
推导树与文法二义性.ppt_第2页
推导树与文法二义性.ppt_第3页
推导树与文法二义性.ppt_第4页
推导树与文法二义性.ppt_第5页
资源描述:

《推导树与文法二义性.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章上下文无关文法与下推自动机推导树和文法的二义性上下文无关文法的变换Chomsky范式Greibach范式下推自动机上下文无关语言的性质1CollegeofComputerScience&Technology,BUPT本章要点上下文无关文法(即2型文法):产生式形如A→α,A,∪Τ)*所描述的语言称为上下文无关语言。用途:可定义程序设计语言、进行语法分析、简化语言翻译2型文法对应的识别器——下推自动机PDA(PushDownAutomata)由输入带、有限控制器和下推栈构成(书P152图)2CollegeofComp

2、uterScience&Technology,BUPT回顾:在第一讲中介绍过如下内容设T=0,1,L=0n1nn1,如0011,000111,01L,而10,1001,,010L.如下是一个可接受该语言的上下文无关文法S01S0S1但没有任何有限自动机能够接受语言L.3CollegeofComputerScience&Technology,BUPT归约与推导的概念:推理字符串是否属于文法所定义的语言一种是自下而上的方法,称为递归推理(recursiveinference),递归推理的过程习称为归约;一种是自上而

3、下的方法,称为推导(derivation).归约过程将产生式的右部(body)替换为产生式的左部(head).推导过程将产生式的左部(head)替换为产生式的右部(body).4.1推导树和二义性4CollegeofComputerScience&Technology,BUPT归约与推导归约过程举例对于CFGGexp=({E,O},{(,),+,,v,d},P,E),P为(1)EEOE(2)E(E)(3)Ev(4)Ed(5)O+(6)O递归推理出字符串v(v+d)的一个归约过程为v(v+d)(4)v(v+E)(6

4、)vO(v+E)(3)vO(E+E)(5)vO(EOE)(1)vO(E)(2)vOE(3)EOE(1)E5CollegeofComputerScience&Technology,BUPT归约与推导推导过程举例对于CFGGexp=({E,O},{(,),+,,v,d},P,E),P为(1)EEOE(2)E(E)(3)Ev(4)Ed(5)O+(6)O从开始符号到字符串v(v+d)的一个推导过程为v(v+d)(4)v(v+E)(6)E(E)(3)(1)v(EOE)(5)(3)EOE(1)EEE(2)v(E)v

5、(E+E)6CollegeofComputerScience&Technology,BUPT归约与推导EEOEE(E)EvEdO+O最左推导(leftmostderivations)若推导过程的每一步总是替换出现在最左边的非终结符,则这样的推导称为最左推导.为方便,最左推导关系用表示,其传递闭包用表示.如对于文法Gexp,下面是关于v(v+d)的一个最左推导:lmlmv(v+d)v(v+E)v(EOE)EOEEv(E)vOEvEv(vOE)lmlmlmlmlmlmlml

6、m7CollegeofComputerScience&Technology,BUPT归约与推导EEOEE(E)EvEdO+O最右推导(rightmostderivations)若推导过程的每一步总是替换出现在最右边的非终结符,则这样的推导称为最右推导.为方便,最右推导关系用表示,其传递闭包用表示.如对于文法Gexp,下面是关于v(v+d)的一个最右推导:rmrmv(v+d)E(v+d)EO(E+d)EOEEEO(EOd)EO(E)EO(EOE)EO(v+d)rmrmrmrmrmrm

7、rmrm8CollegeofComputerScience&Technology,BUPT推导树用图的方法表示一个句型的推导,这种图称为推导树(也称语法树或语法分析树)。有助于理解语法结构的层次。定义方法:文法的起始符为根,树的枝结点标记是非终结符,叶结点标记为终结符或。若枝结点有直接子孙x1,x2,…,xk,则文法中有生成式A→x1x2…xk9CollegeofComputerScience&Technology,BUPT推导树举例例:(书P124例1)文法S→S+S

8、S*S

9、(S)

10、a,对句子(a*a+a)可有推导树即:推导

11、树是对文法G中一个特定句子形式的派生过程所做的一种自然描述。10CollegeofComputerScience&Technology,BUPT边缘叶子从左向右组成的字符串称为推导树的边缘。如图x1y1y2x3xmxm

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。