cha4词法分析分析.ppt

  1. 1、本文档共114页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
cha4词法分析分析

* * 从正规式构造NFA M的例子 与正规式 r1=1*, r2=01*, r3=01*|1 等价的有限自动机分别如下图所示: q5 q6 == ε q7 q8 ε ε ε 1 ε q5 q6 == ε q3 q8 ε ε 1 q7 q4 ε 0 * * 从正规式构造NFA M的例子(续) q9 q1 q2 ε ε 1 ε q5 q6 == ε q3 q8 ε ε 1 q7 q4 ε 0 q10 ε ε 节目录 * * 从正规式 r 构造DFA M 举例 已知正规式 r=(a|b)*(aa|bb)(a|b)* 试给出能识别L(r)的确定有限自动机DFA 解:(1)由r构造NFA a X ? 5 ? b 3 a 4 2 b 1 a b ? 6 ? Y b a * * 从正规式 r 构造DFA M 举例 确定化后的DFA(非最简) a 1 0 b 2 a b b 3 5 a b a a b 4 6 b a b a (2)NFA确定化子集法 a b 0- 1 2 3+ 1 2 3 2 1 4 3 5 4+ 6 4 5+ 6 4 6+ 3 5 * * 从正规式 r 构造DFA M 举例 (3)DFA最小化 划分法 a 1 3 0 b 2 a a b b a,b r=(a|b)*(aa|bb)(a|b)* 能识别L(r)的确定有限自动机DFA M 节目录 * * 4.5 正规文法与有限自动机的 等价性 p65 对于正规文法G和有限自动机M,如果 L(G)=L(M),则称G和M是等价的 (1)对于每一个正规文法G,都存在一 个有限自动机FA M,使得L(M)=L(G) (2)对于每一个有限自动机FA M,都 存在一个正规文法G,使得L(G)=L(M) 下一环节 * * 从正规文法构造NFA M 设G=(VT,VN,S,P)为右线性正规文法,则存在一个有 限自动机M=(S,∑,δ,S0,F),使得L(M)=L(G) M的构造方法: S=VN∪{f} ∑=VT S0={S} F={f} 将G中的每个非终结符视为M的一个状态 (不妨取成相同的名字) G的开始符号S是初始状态 增加一个新的状态符号 f,作为NFA M的终态 若G中有形如A→a的产生式,则令δ(A,a)=f 若G中有形如A→aB的产生式,则令δ(A,a)=B A a f A a B A→a A→aB * * 从正规文法构造NFA举例 设有右线性正规文法G=({0,1},{A,B,C,D},A,P) 其中P为:A→0|0B|1D B→0D|1C C→0|0B|1D D→0D|1D 构造M=({A,B,C,D,f},{0,1},δ,{A},{f}) 0 1 0 A 0 f B C D 0 0 1 1 0,1 其中δ为: δ(A,0)=f δ(A,0)=B δ(A,1)=D δ(B,0)=D δ(B,1)=C δ(C,0)=f δ(C,0)=B δ(C,1)=D δ(D,0)=D δ(D,1)=D * * 从正规文法构造NFA M 设G=(VT,VN,S,P)为左线性正规文法,则存在一个有 限自动机M=(S,∑,δ,S0,F),使得L(M)=L(G) M的构造方法: S= VN∪{q0} ∑= VT S0 ={q0} F={S} 将G中的每个非终结符视为M的一个状态 G的开始符号S是终止状态 增加一个新的状态符号q0,作为NFA M的初态 若G中有形如A→a的产生式,则令δ(q0 ,a)=A 若G中有形如A→Ba的产生式,则令δ(B,a)= A B a A A→a A→Ba A a q0 S→Ba S B a * * 从正规文法构造NFA M方法总结 左线性文法→NFA 右线性文法→NFA GR M a∈VT a∈∑ A∈VN A是一个状态 S 初态 新增终态f A→aB δ(A,a)=B A→a δ(A,a)=f GL M a∈VT a∈∑ A∈VN A是一个状态 S 终态 新增初态q0 A→Ba δ(B,a)=A A→a δ(q0,a)=A * * 从正规文法构造NFA M(课堂练习) GR[S]: S → aS | aA | bB A → aB | a B → bA | b B

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档