书签 分享 收藏 举报 版权申诉 / 20
上传文档赚钱

类型形式语言与自动机ch41课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4286689
  • 上传时间:2022-11-26
  • 格式:PPT
  • 页数:20
  • 大小:173.56KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《形式语言与自动机ch41课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    形式语言 自动机 ch41 课件
    资源描述:

    1、12022-10-29College of Computer Science&Technology,BUPT第四章第四章 上下文无关文法与下推自动机上下文无关文法与下推自动机 推导树和文法的二义性推导树和文法的二义性上下文无关文法的变换上下文无关文法的变换 Chomsky范式范式Greibach范式范式 下推自动机下推自动机上下文无关语言的性质上下文无关语言的性质22022-10-29College of Computer Science&Technology,BUPT本章要点本章要点上下文无关文法(即上下文无关文法(即2型文法):型文法):产生式形如产生式形如 A,A,)*所描述的语言称为上

    2、下文无关语言。所描述的语言称为上下文无关语言。用途:用途:可定义程序设计语言、进行语法分析、简化语言可定义程序设计语言、进行语法分析、简化语言翻译翻译 2型文法对应的识别器型文法对应的识别器下推自动机下推自动机 PDA(Push Down Automata)由输入带、有限由输入带、有限控制器和下推栈构成(书控制器和下推栈构成(书P152 图)图)32022-10-29College of Computer Science&Technology,BUPT 回顾:回顾:在第一讲中介绍过如下内容在第一讲中介绍过如下内容 设设 T=0,1 ,L=0n1n n 1,如如 0011,000111,01 L

    3、,而而10,1001,010 L.如下是一个可接受该语言的上下文无关文法如下是一个可接受该语言的上下文无关文法 S 01 S 0S1 但没有任何有限自动机能够接受语言但没有任何有限自动机能够接受语言L.42022-10-29College of Computer Science&Technology,BUPT归约与推导的概念:推理字符串是否属于文法所定义的语言推理字符串是否属于文法所定义的语言 一种是自下而上的方法,称为一种是自下而上的方法,称为递归推理递归推理(recursive inference),),递归推理的过程习称为递归推理的过程习称为归约归约;一种是自上而下的方法,称为一种是自上

    4、而下的方法,称为推导推导(derivation).归约过程归约过程 将产生式的右部(将产生式的右部(body)替换为产生式替换为产生式的左部(的左部(head).推导过程推导过程 将产生式的左部(将产生式的左部(head)替换为产生替换为产生式的右部(式的右部(body).4.1 推导树和二义性 52022-10-29College of Computer Science&Technology,BUPT归约与推导 归约过程归约过程举例举例 对于对于CFG Gexp=(E,O,(,),v,d,P,E),P 为为 (1)E EOE (2)E (E)(3)E v (4)E d (5)O (6)O 递

    5、归推理出字符串递归推理出字符串 v (vd)的一个归约过程为的一个归约过程为v (vd)(4)v (vE)(6)vO(vE)(3)vO(EE)(5)vO(EOE)(1)vO(E)(2)vOE(3)EOE(1)E62022-10-29College of Computer Science&Technology,BUPT归约与推导 推导过程推导过程举例举例 对于对于CFG Gexp=(E,O,(,),v,d,P,E),P 为为 (1)E EOE (2)E (E)(3)E v (4)E d (5)O (6)O 从开始符号到字符串从开始符号到字符串 v (vd)的一个推导过程为的一个推导过程为v (v

    6、d)(4)v (vE)(6)E (E)(3)(1)v (EOE)(5)(3)EOE(1)EE E(2)v (E)v (EE)72022-10-29College of Computer Science&Technology,BUPT归约与推导E EOEE (E)E vE dO O 最左推导最左推导(leftmost derivations)若推导过程的每一步总是替换出现在最左边的非终结符,若推导过程的每一步总是替换出现在最左边的非终结符,则这样的推导称为则这样的推导称为最左推导最左推导.为方便,最左推导关系用为方便,最左推导关系用 表示,其传递闭包用表示,其传递闭包用表示表示.如对于文法如对于

    7、文法Gexp,下面是关于下面是关于 v (vd)的一个最左推导的一个最左推导:lmlmv (vd)v (vE)v (EOE)EOEEv (E)vOEv Ev (vOE)lm lm lm lm lm lm lm lm82022-10-29College of Computer Science&Technology,BUPT归约与推导E EOEE (E)E vE dO O 最右推导最右推导(rightmost derivations)若若推导推导过程的每一步总是替换出现在最右边的非终结符,过程的每一步总是替换出现在最右边的非终结符,则这样的推导称为则这样的推导称为最右推导最右推导.为方便,最右推导

    8、关系用为方便,最右推导关系用 表示,其传递闭包用表示,其传递闭包用表示表示.如对于文法如对于文法Gexp,下面是关于下面是关于 v (vd)的一个最右推导的一个最右推导:rmrmv (vd)E (vd)EO(Ed)EOEEEO(EOd)EO(E)EO(EOE)EO(vd)rm rm rm rm rm rm rm rm92022-10-29College of Computer Science&Technology,BUPT推导树推导树用图的方法表示一个句型的推导,这种图称为推导用图的方法表示一个句型的推导,这种图称为推导树(也称语法树或语法分析树)。有助于理解语法树(也称语法树或语法分析树)。

    9、有助于理解语法结构的层次。结构的层次。定义方法:定义方法:n文法的起始符为根,树的枝结点标记是非终结符,文法的起始符为根,树的枝结点标记是非终结符,叶结点标记为终结符或叶结点标记为终结符或。n若枝结点有直接子孙若枝结点有直接子孙x1,x2,xk,则文法中有生成则文法中有生成式式Ax1 x2xk102022-10-29College of Computer Science&Technology,BUPT 推导树举例例:例:(书(书P124 例例1)文法文法SS+S|S*S|(S)|a,对句子对句子(a*a+a)可有推导树可有推导树a aa aS S(S )(S )S +SS +SS *SS *S

    10、a aa aa aS S(S )(S )S *SS *SS +SS +Sa a即:推导树是对文法G中一个特定句子形式特定句子形式的派生过程所做的一种自然描述。112022-10-29College of Computer Science&Technology,BUPT边缘叶子叶子从左向右组成的字符串称为推导树的边缘。从左向右组成的字符串称为推导树的边缘。如图如图x1 y1 y2 x3 xm xm+1 xn-1 y3 y4 y5是树的边缘是树的边缘122022-10-29College of Computer Science&Technology,BUPT(1)E EOE(2)E (E)(3)E

    11、 v(4)E d(5)O(6)O 归约过程自下而上构造了一棵树归约过程自下而上构造了一棵树 如对于文法如对于文法Gexp,关于关于 v (vd)的一个归约过程可以认为是构造了如下一棵树的一个归约过程可以认为是构造了如下一棵树:v (vd)(4)v (vE)(6)vO(vE)(3)vO(EE)(5)vO(EOE)(1)vO(E)(2)vOE(3)EOE(1)EEEOEEOEEdv()v132022-10-29College of Computer Science&Technology,BUPT(1)E EOE(2)E (E)(3)E v(4)E d(5)O(6)O 推导过程自上而下构造了一棵树推

    12、导过程自上而下构造了一棵树 如对于文法如对于文法Gexp,关于关于 v (vd)的一个推导过程可以认为是构造了如下一棵树的一个推导过程可以认为是构造了如下一棵树:Edv vOEEE()EEOv (vd)(4)v (vE)(6)E (E)(3)(1)v (EOE)(5)(3)EOE(1)EE E(2)v (E)v (EE)142022-10-29College of Computer Science&Technology,BUPT归约、推导与分析树之间关系 三者之间的关系三者之间的关系 设设 CFG G=(N,T,P,S).以下命题是相互等价的:以下命题是相互等价的:(1)字符串字符串 w T*

    13、可以归约(递归推理)到非终结符可以归约(递归推理)到非终结符A;(2)A w;(3)A w;(4)A w;(5)存在一棵根结点为存在一棵根结点为 A 的分析树,其边缘为的分析树,其边缘为 w.lm rm152022-10-29College of Computer Science&Technology,BUPT定理定理:设设2型文法型文法G=(N,T,P,S),),如果存在如果存在S=*,当且仅当文法当且仅当文法G中有一棵边缘为中有一棵边缘为的推导树。的推导树。证明:证明:需证明对任意枝结点需证明对任意枝结点BN,有有B=*当且仅当存在当且仅当存在边缘为边缘为的的B树(根为树(根为B的树)的树

    14、)子树概念:子树概念:一棵派生树的子树,是树中的某个顶点连同它的全部一棵派生树的子树,是树中的某个顶点连同它的全部后裔,以及连接这些后裔的边。后裔,以及连接这些后裔的边。归约、推导与分析树之间关系162022-10-29College of Computer Science&Technology,BUPT证明步骤:证明步骤:1.证当证当是是B树边缘时,有树边缘时,有B=*设设B树边缘为树边缘为,对树中枝结点数目对树中枝结点数目m作归纳证明。作归纳证明。2.设有设有B=*,证明存在一棵边缘为证明存在一棵边缘为的的B树。树。对对推导步数推导步数作归纳作归纳 172022-10-29College

    15、of Computer Science&Technology,BUPT1.证当证当是是B树边缘时,有树边缘时,有B=*设设B树边缘为树边缘为,对树中枝结点数目对树中枝结点数目m作归纳证明。作归纳证明。wBX1X2X3w1w2w3B基础基础 m为为 1.分析树一定如分析树一定如 右图所示,必定有产生右图所示,必定有产生 式式B w.因此,因此,B w.归纳归纳 m大于大于 1 的分析树一定的分析树一定 如右图所示,必定有产如右图所示,必定有产 生式生式 B X1X2Xk.存在存在 w1,w2,wk,wi 是是Xi子树子树 的边缘(的边缘(1 i k),),且且 w=w1w2wk,由归纳由归纳 假

    16、设,假设,Xi wi(1 i k).在此基础上易证得在此基础上易证得B w.182022-10-29College of Computer Science&Technology,BUPT2.设有设有B=*,证明存在一棵边缘为证明存在一棵边缘为的的B树。树。对对推导步数推导步数作归纳作归纳 基础基础 步数为步数为 1.一定有产生式一定有产生式 B w.w 可以归约到可以归约到 B.归纳归纳 设步数大于设步数大于 1,第一步使用了产生式,第一步使用了产生式B X1X2Xk.该推导如该推导如 B X1X2Xk w.可以将可以将 w 分成分成 w=w1w2wk,其中其中 (a)若若 Xi 为终结符,则

    17、为终结符,则 wi=Xi.(b)若若 Xi 为非终结符,则为非终结符,则 Xi wi.由归纳假设,由归纳假设,wi 可以归约到可以归约到 Xi.这样,这样,wi 或者为或者为Xi,或者可以归约到或者可以归约到 Xi,使用产生使用产生 式式B X1X2Xk,得出得出w 可以归约到可以归约到 B.192022-10-29College of Computer Science&Technology,BUPT定义定义:2型文法是二义的型文法是二义的,当且仅当对于句子当且仅当对于句子L(G),存在两棵不存在两棵不同的具有边缘为同的具有边缘为的推导树。的推导树。(即:如果文法是二义的即:如果文法是二义的,

    18、那么它所产生的某个句子必然能从那么它所产生的某个句子必然能从不同的最左不同的最左(右右)推导推出推导推出)。例例:(书书P124 例例1)句子句子(a*a+a)有二棵不同的推导树有二棵不同的推导树.(相当于一个先算乘法相当于一个先算乘法,一一个先算加法个先算加法.)注意注意:可有二个文法可有二个文法,一个有二义一个有二义,一个无二义一个无二义,但产生相同的语言但产生相同的语言.可否通过变换消除二义性可否通过变换消除二义性?无一般的算法无一般的算法!二义性二义性202022-10-29College of Computer Science&Technology,BUPT对于前缀表达式文法对于前缀表达式文法G1:E:=EEE:=EE:=a|b|c画出文法的句子画出文法的句子 a bc 的所有可能语法树。的所有可能语法树。课后作业课后作业

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:形式语言与自动机ch41课件.ppt
    链接地址:https://www.163wenku.com/p-4286689.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库