网站大量收购闲置独家精品文档,联系QQ:2885784924

南京师范大学计算机科学与技术学院编译原理课件第三章 词法分析(二).ppt

南京师范大学计算机科学与技术学院编译原理课件第三章 词法分析(二).ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南京师范大学 杨明 教授 3.2.2.3 FA在计算机内的表示 1.矩阵表示: 3.2.2.3 FA在计算机内的表示 2.表结构表示:见表2格式。 3.2.3 非确定有穷状态自动机NFA 例1. Z::=Za|Aa|Bb A::=Ba|Za|a B::=Ab|Ba|b 图2是不确定的FA?产生不确定的原因是什么? 3.2.3 非确定有穷自动机 定义:一个非确定的有穷状态自动机NFA是五元组 ,其中: K是有穷非空的状态集合; 是有穷非空的输入字母表; M是从 的子集所组成集合的映像; S是非空的开始状态集合,S K; F是非空的终止状态集合,F K。 与DFA的区别:NFA可以有若干开始状态,DFA仅由一个;NFA的M是从 的子集所组成集合的映像,而不是到K的映像。 3.2.3 非确定有穷自动机 运行NFA M(M(S,tx))=M(M(S,t),X)!!! 扩充的M如下: 3.2.3 非确定有穷自动机—句子设别举例 如:对图2所示的非确定有限自动机,对于输入字符串t=babbabb。 步骤 当前状态 输入的其余部分 可能的后继 选择 1 S babbabb B B 2 B abbabb A,B A 3 A bbabb B B 4 B babb Z Z 5 Z abb A,Z Z 6 A bb B B 7 B b Z Z 3.2.3 非确定有穷自动机—结论 结论:从任一正则文法G出发,能够构造出状态转换图及其NFA,此NFA能接受G的任一句子;反之,对任一NFA,能找到一个正则文法G,使得G的句子正是该NFA所能接受的那些字符串。 问:1)NFA的不足是什么? 2)NFA的不足对设计词法分析程序有何影响? 3)有何改进方法? 3.2.3 NFA?DFA 思路(借用等价类的思想)如下: 对于一个NFA,若M(R,T)={Q1,Q2,…,Qn},则将{Q1,Q2,…,Qn}看成一个状态;从开始状态出发,逐步构造新的状态,直到不再产生新的状态为止。 定理3.6 设N= 是一个NFA,它所接受的字 3.2.3 NFA?DFA的实例 如:对图2所示的NFA, 对应的DFA N1={K1,{a,b}, M1,[S],F1},其中, K1={[A],[B],[S],[Z],[AB],[AS], [AZ],[BS],[BZ],[SZ],[ABS], [ABZ],[ASZ],[BSZ],[ABSZ]}; F1={ [Z],[AZ],[BZ],[SZ],[ABZ], [ASZ],[BSZ],[ABSZ]}; M1:M1([A],a)=[Z] … M1([AB],a)=[ABZ]… …. 问: K1中所有的状态均有用吗? 实例中哪些状态没有用? 如何直接得到有用的状态? 3.2.3 NFA?DFA的构造算法 步骤: 1)把一切开始状态S1,S2,

文档评论(0)

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

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

1亿VIP精品文档

相关文档