《形式语言与自动机》课件ch4.1.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《形式语言与自动机》课件ch4.1.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 形式语言与自动机 形式语言 自动机 课件 ch4
- 资源描述:
-
1、12023-5-22School of Computer Science,BUPT第四章第四章 上下文无关文法与下推自动机上下文无关文法与下推自动机 推导树和文法的二义性推导树和文法的二义性上下文无关文法的变换上下文无关文法的变换 Chomsky范式范式Greibach范式范式 下推自动机下推自动机上下文无关语言的性质上下文无关语言的性质22023-5-22School of Computer Science,BUPT本章要点本章要点 上下文无关文法(即上下文无关文法(即2型文法):型文法):产生式形如产生式形如 A,A,)*所描述的语言称为上下文无关语言。所描述的语言称为上下文无关语言。用途
2、:用途:可定义程序设计语言、进行语法分析、简化语言可定义程序设计语言、进行语法分析、简化语言翻译翻译 2型文法对应的识别器型文法对应的识别器下推自动机下推自动机 PDA(Push Down Automata)由输入带、有限由输入带、有限控制器和下推栈构成控制器和下推栈构成32023-5-22School of Computer Science,BUPT 回顾:回顾:在第一讲中介绍过如下内容在第一讲中介绍过如下内容 设设 T=0,1 ,L=0n1n n 1,如如 0011,000111,01 L,而而10,1001,010 L.如下是一个可接受该语言的上下文无关文法如下是一个可接受该语言的上下文
3、无关文法 S 01 S 0S1 但没有任何有限自动机能够接受语言但没有任何有限自动机能够接受语言L.42023-5-22School of Computer Science,BUPT归约与推导的概念:推理字符串是否属于文法所定义的语言推理字符串是否属于文法所定义的语言 一种是自下而上的方法,称为一种是自下而上的方法,称为递归推理递归推理(recursive inference),),递归推理的过程习称为递归推理的过程习称为归约归约;一种是自上而下的方法,称为一种是自上而下的方法,称为推导推导(derivation).归约过程归约过程 将产生式的右部(将产生式的右部(body)替换为产生式替换为
4、产生式的左部(的左部(head).推导过程推导过程 将产生式的左部(将产生式的左部(head)替换为产生替换为产生式的右部(式的右部(body).4.1 推导树和二义性 52023-5-22School of Computer Science,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 (vd)(4)v (vE)(6)vO(vE)(3)vO(EE)(5)vO(
5、EOE)(1)vO(E)(2)vOE(3)EOE(1)E62023-5-22School of Computer Science,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 (vd)(4)v (vE)(6)E (E)(3)(1)v (EOE)(5)(3)EOE(1)EE E(2)v (E)v (EE)72023-5-22School of Computer
6、 Science,BUPT归约与推导E EOEE (E)E vE dO O 最左推导最左推导(leftmost derivations)若推导过程的每一步总是替换出现在最左边的非终结符,若推导过程的每一步总是替换出现在最左边的非终结符,则这样的推导称为则这样的推导称为最左推导最左推导.为方便,最左推导关系用为方便,最左推导关系用 表示,其传递闭包用表示,其传递闭包用表示表示.如对于文法如对于文法Gexp,下面是关于下面是关于 v (vd)的一个最左推导的一个最左推导:lmlmv (vd)v (vE)v (EOE)EOEEv (E)vOEv Ev (vOE)lm lm lm lm lm lm l
7、m lm82023-5-22School of Computer Science,BUPT归约与推导E EOEE (E)E vE dO O 最右推导最右推导(rightmost derivations)若若推导推导过程的每一步总是替换出现在最右边的非终结符,过程的每一步总是替换出现在最右边的非终结符,则这样的推导称为则这样的推导称为最右推导最右推导.为方便,最右推导关系用为方便,最右推导关系用 表示,其传递闭包用表示,其传递闭包用表示表示.如对于文法如对于文法Gexp,下面是关于下面是关于 v (vd)的一个最右推导的一个最右推导:rmrmv (vd)E (vd)EO(Ed)EOEEEO(EO
8、d)EO(E)EO(EOE)EO(vd)rm rm rm rm rm rm rm rm92023-5-22School of Computer Science,BUPT推导树推导树用图的方法表示一个句型的推导,这种图称为推导用图的方法表示一个句型的推导,这种图称为推导树(也称语法树或语法分析树)。有助于理解语法树(也称语法树或语法分析树)。有助于理解语法结构的层次。结构的层次。定义方法:定义方法:n文法的起始符为根,树的枝结点标记是非终结符,文法的起始符为根,树的枝结点标记是非终结符,叶结点标记为终结符或叶结点标记为终结符或。n若枝结点有直接子孙若枝结点有直接子孙x1,x2,xk,则文法中有生
展开阅读全文