词法分析与有限状态自动机课件.ppt
《词法分析与有限状态自动机课件.ppt》由会员分享,可在线阅读,更多相关《词法分析与有限状态自动机课件.ppt(67页珍藏版)》请在三一办公上搜索。
1、2023/4/3,华东师大计算机科学技术系,1,有限状态自动机,3.1.1 基本概念FA的非形式描述有限状态自动机由3部分组成:一根输入带:输入带可以理解成由一系列带块组成,每个带块上只含有一个输入符号(终结符号),其全体构成集合VT,特殊符号“”表示输入符号串的结束,VT。一个输入头:初始时,输入头指向第一个带块(即指向输入带最左端的带块),输入头每次将输入头下方带块上的输入符号读入,然后输入头向右移动一个带块。,2023/4/3,华东师大计算机科学技术系,2,基本概念,一个有限状态控制器:有限状态控制器所能处于的状态的全体组成状态集合Q,Q中有若干特殊状态:一个初始状态q0和若干最终状态q
2、f。开始时有限状态控制器处于初始状态,以后有限状态控制器所处状态由状态转换函数决定。,2023/4/3,华东师大计算机科学技术系,3,基本概念,例1 令VT=0,1,2,3Q=S,A,B,S是初态 用-表示A是终态用+表示有向弧表示转换,2023/4/3,华东师大计算机科学技术系,4,FA的工作过程,初始时,FA处于初态,输入头指向第一个输入符,随着带上符号的读入,FA从一个状态转向另一个状态。若遇到如下情况,FA结束工作:输入头指向、FA处于终态。称输入串被FA接受。(如2030)输入头指向、FA不在终态。称输入串不被FA接受。(如203)FA无法转换。称输入串不被FA接受。(如1031),
3、2023/4/3,华东师大计算机科学技术系,5,FA的形式描述,定义1:有限状态自动机M是一个五元组:M(VT,Q,q0,Qf),其中:VT:有限非空终结符集合 Q:有限非空状态集合:从QVT到Q的幂集2Q上的状态转换函数 q0:初始状态,q0Q Qf:最终状态集,Qf Q|Qf|1,2023/4/3,华东师大计算机科学技术系,6,FA的形式描述,对q,q1 Qa VT(q,a)=q1的含义为:当前状态为q,若输入头所指符号为a,则转向下一状态q1,输入头右移。是QVT2Q上的一个单射一般地(q,a)=q1,q2,qn qi Q i=1,2,n因此称FA M为不确定的FA,记为NFA。若映射是
4、QVT Q,即对任何qQ,ai VT,(q,ai)至多只有一个元素q,称FA M是确定性的FA,记为DFA。,2023/4/3,华东师大计算机科学技术系,7,FA的形式描述,对FA的拓展Q0 Q|Q0|1 即初态可以是一个集合:从QVT*到2Q上的单值映射,即输入符可以是一个串,包括称M为一个传递图或转换系统或NFA。例1:M1(VT,Q,q0,F)VT=a,b,Q=q0,q1,q2F=q2:(q0,a)=q1(q0,b)=q2(q1,a)=q1(q1,b)=q1(q2,a)=q2(q2,b)=q1M1是一个DFA。,2023/4/3,华东师大计算机科学技术系,8,FA的表示,3.1.2 状态
5、转换图和状态转换表状态转换图:q Q若q,q Q,aVT,且q(q,a),初态用标记、终态用+标记,q,q,q,a,2023/4/3,华东师大计算机科学技术系,9,状态转换图,例2:例1的DFA M1可表示为:,q0,q2,q1,a,b,b,a,a,b,2023/4/3,华东师大计算机科学技术系,10,状态转换表,状态转换表(矩阵)表的列对应输入符号及特殊符号,行和M的状态q相对应。状态转换表的qi行aj列中填以(qi,aj)中的状态。表的第一行和M的初始状态q0相对应;这一列和最终状态qf行的元素标以A,以表示该状态是最终状态。,2023/4/3,华东师大计算机科学技术系,11,状态转换表,
6、例3:例1的DFA M1可表示为:,2023/4/3,华东师大计算机科学技术系,12,示例,例4:设计一个接受以a为头符号和尾符号,中间可出现任意多个a,b的符号串的FA M。解:令:VT=a,bQ=q0,q1,q2,M是NFA,2023/4/3,华东师大计算机科学技术系,13,FA识别的语言,格局FA M的一个格局是二元组(q,w)q Q,wVT*动作对q(q,a)则FA M 的动作记为:(q,aw)(q,w)aVT wVT*对wVT*,q0是初态,称w被FA M所接受,表示为:(q0,w)(qf,)qfF,2023/4/3,华东师大计算机科学技术系,14,FA识别的语言,定义2:设M是一个
7、FA,wVT*若:(q0,w)(qf,)qfF q0是初态称w是M的一个句子。M句子的全体称为M的语言,记为:L(M)=w|(q0,w)(qf,),wVT*例5:对例4的NFA M,输入串abba有:(q0,abba)(q1,bba)(q1,ba)(q1,a)(q2,)q2 F abba L(M)L(M)=a|a(a|b)*a,2023/4/3,华东师大计算机科学技术系,15,FA的确定化,定义3:对FA M与FA M,若L(M)=L(M)则称M与M等价。3.1.4 FA的确定化定理3.1 对任一给定的NFA M存在一个DFA M使L(M)=L(M)。分析:由定理3.1 L(DFA)L(NFA
8、)由FA的定义 L(DFA)L(NFA)得到 L(DFA)L(NFA),2023/4/3,华东师大计算机科学技术系,16,FA的确定化,证明:“构造性证明”对给定的NFA M(VT,Q,q0,F)构造一个DFA M(VT,Q,q0,F)令VT VTQ 2Q 即Q的元素是Q的子集,Q也是有限集,|Q|=2|Q|对a VT 若(qi1,.qin,a)=qj1,qjm 令(qi1,.qin,a)=qj1,qjm QM的初态q0=q0 QF中的元素由Q中那些至少含有F中一个元素的状态组成,即qj1,qjm F 则 qjkF 1k n M是DFA,2023/4/3,华东师大计算机科学技术系,17,FA的
9、确定化,再证:L(M)=L(M),即要证 x VT*(q0,x)qi1,qik,qim F(q0,x)qi1,qik,qim qik F证明:对x的长度|x|作归纳法1.当|x|=0时,结论成立2.假定|x|n,结论成立3.当|x|=n,由的定义,结论成立,2023/4/3,华东师大计算机科学技术系,18,FA的确定化,例6:例4的M 是NFA 可用表的形式表示为:,确定化,2023/4/3,华东师大计算机科学技术系,19,FA的最小化,3.1.3 FA的最小化一般地说,对给定的一个FA M,可以找到任意多个不同的FA M,有L(M)=L(M),因此得到最小的FA是有意义的。定义4:若FA的二
10、个状态q与q,对任意一个长度为k或小于k的符号串w,q接受w当且仅当q接受w,称q与q是k等价的,否则称q与q是k可区分的。q与q等价的充要条件是对k0,q与q是k等价的。,2023/4/3,华东师大计算机科学技术系,20,FA的最小化,状态分离法基本思想:对DFA的状态集Q进行k等价类划分,即将Q划分成Qk1,.Qkn的n个子集,子集中的状态是k等价的。然后进行k+1的等价类划分直至无法进一步划分为止。则得到的等价子集中各状态等价,可合并为一个状态。,2023/4/3,华东师大计算机科学技术系,21,状态分离法,具体做法:0等价类划分:将Q划分成F与Q-F二个0等价类。若已经进行了k等价类划
11、分,Q已经被划分成Q1,Qn(n 2)n个子集,进行k+1等价类划分。对 Qi(i=1n)q,qQi,若有aVT,(q,a)Qj 和(q,a)Ql,jl 或(q,a)存在 而(q,a)不存在或反之。则将Qi划分为二个子集Qi1,Qi2,使qQi1,q Qi2。重复2直至无法进一步划分为止。,2023/4/3,华东师大计算机科学技术系,22,状态分离法,对每一个子集Qi(i=1n),任选一个代表qi,并修改,修改方法为:转向Qi中任何一个状态改成转向qi。若一个状态子集中某一状态是原来的开始状态,则该状态子集的代表就是新的有限状态自动机的开始状态。同理,若一个状态子集中的状态均是最终状态,则该状
12、态子集的代表就是新的有限状态自动机的最终状态。抹去可能存在的无用状态与不可及状态。则DFA M是最小的(或简化的)。,2023/4/3,华东师大计算机科学技术系,23,状态分离法,例7:试将下图中所示的有限状态自动机M最 小化。,2023/4/3,华东师大计算机科学技术系,24,例7续一,解:最小化的过程为:初始时的划分由2个子集组成,即:(A,B,C,D,E,F,G)集合D,E,F,G不需要进一步划分,考察子集A,B,C。由于(B,a)=DD,E,F,G,而(A,a)(C,a)BA,BC,因此Q可进一步划分为:(A,C,B,D,E,F,G)。由于(A,b)CA,C,而(C,b)ED,E,F,
13、G。因此Q可进一步划分为:(A,C,B,D,E,F,G),2023/4/3,华东师大计算机科学技术系,25,例7续二,这时不能再划分了,得到的最小化的有限状态自动机如下表所示:,2023/4/3,华东师大计算机科学技术系,26,习题,P55 习题31.3.22.3.33.补充题将如下所示的非确定有限状态自动机M确定化和最小化。,2023/4/3,华东师大计算机科学技术系,27,试给出下述每个有限状态自动机所识别的语言,a),b),2023/4/3,华东师大计算机科学技术系,28,c),2023/4/3,华东师大计算机科学技术系,29,正则表达式(REX),3.2 正则表达式(Regular E
14、xpression)、有限状态自动机、3型文法及其相互间的关系正则表达式又称正规式有限状态自动机(FA)是正则文法(3型文法)的数学模型,正则表达式(REX)所表示的值,即为FA所能接收的语言的全体,因此这三者的关系可用下图表示:,2023/4/3,华东师大计算机科学技术系,30,正则表达式,通常称有限状态自动机和三型文法所接受的语言为正则语言。REX在词法分析中有很重要的作用,它可以精确地表示单词符号的组成,定义单词符号集。3.2.1 正规式与正规集如程序设计语言中的标识符(ID)可以用REX表示为:Let(let|Dig)*其中 Let是字母、Dig是数字,2023/4/3,华东师大计算机
15、科学技术系,31,正则表达式,定义1:设是字母表。上的REX及其值REX所表示的符号串集合(正规集)递归定义如下:、是正则表达式,其值表示空集和;对中每一字母ai,ai是正则表达式,其值表 示集合ai;若p,q是REX,值分别为L(p)和L(q),则p|q,pq和p*也是 上的REX,其值分别是:L(p)L(q),L(p)L(q),L(p)*。有限次使用上述规则得到的仍是 上的REX。,2023/4/3,华东师大计算机科学技术系,32,正则表达式,规则:优先级由高到低为:*,,|。可用(,)改变优先级。记R*R为R+值L(R+)=L(R*)L(R)。性质交换律R|S=S|R结合律R|(S|T)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 词法 分析 有限 状态 自动机 课件
链接地址:https://www.31ppt.com/p-4084863.html