- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NFA到DFA的转换(子集法) 定义:设I是NFA的状态集的子集,则I的?闭包为: ?_CLOSURE(I)= I?{q|f(p, ?)=q,p??_CLOSURE(I)} 定义:设I是NFA状态集的子集,则 Ia=?_CLOSURE(J),J={q|f(p,a)=q,p?I} NFA到DFA的转换(子集法) A:NFA, A’:DFA 1.令A’的初始状态为 I0’= ?_CLOSURE({S1,S2,…Sk}), 其中S1…Sk是A的全部初始状态。 2.若I={S1,…,Sm}是A’的一个状态, a??则定义 f’(S’,a)=Ia 3.若I’={S1,…,Sn}是A’的一个状态,且存 在一个Si是A的终止状态,则令I’为A’ 的终止状态。 DFA的化简(极小化) 状态等价 对DFA中的两个状态S1和S2, 如果将它们看作是初始状态,所接受 的符号串相同,则定义S1和S2是等价的。 方法 状态合并法 状态分离法 DFA的化简 状态合并法(状态吸收方法) 寻找等价状态S1和S2 如果S2为初始状态,则S1和S2对调 S2的出现修改为S1 删除状态S2。 状态分离法 初始化为两个不等价状态集组:非终止状态 组和终止状态组。 对每组中的某个状态分离出与之不等价的状 态组,直至所有状态组内部状态都等价为止 2.3 正则表达式 描述程序设计语言中单词的一种简单而且数学化的工具。 表示符号串的构成模式 正则表达式r定义了一个符号串集合rs, rs内的每个符号串都与r所定义的模式相匹配,rs称为由r生成的语言L(r) 正则表达式中出现的所有符号构成的集合为该正则表达式的字母表,用S表示 正则表达式 主要内容: 基本概念 正则表达式定义及一些性质 扩充的正则表达式及程序设计语言中单词的定义 正则表达式的局限性。 正则表达式与有限自动机等价 正则表达式定义及其一些性质 ?为给定的字母表,则每个?上的正则表达式将定义?上的一个字符串集。 用R?表示? 上的正则表达式,用L(R?)表示R?所表示的字符串集合 。即:函数L表示正则表达式?字符串集的映射。 则R? 的定义及其含义如下: ■ ?是 正则表达式,即??R? 。其中L(?)={ }。 ■ ?是正则表达式,即??R? 。其中L(?)={ ? }。 ■ c??是正则表达式,即c?R?。其中L(c)={c}。 ■ A和B是正则表达式,即A ?R?,B ?R? ,则有 ? ( A ) ?R?, L( (A) ) = L(A) A | B ?R?, L( A | B ) = L(A)?L(B) A B ?R?, L( A B ) = L(A)L(B) A* ?R?, L( A*) = L(A)* 正则表达式例 ?={ a,b }. 正则表达式e ab* 2. a(a|b)* L(e) ?上所有以a为首后跟任意多个(包括0个)b的字符串集 ?上所有以a为首的字符串集 正则表达式的性质 A | B = B | A | 的可交换性 A | (B | C) =(A | B ) C | 的可结合性 A (B C) =(A B )C 连接的可结合性 A (B | C) =A B | A C 连接的可分配性 (A | B ) C =A C | B C 连接的可分配性 A** =A* 幂的等价性 Al=lA=A l是连接的恒等元素 扩充的正则表达式 一次或多次重复: A+ 任何符号:“…”在字母表中任何符号.|... 符号范围: [0--9] [a--z] [A--Z] 不在给定范围内的符号: ~(a|b|c)或[^ a] 可选: (+|-)? 程序设计语言中单词的正则表达式定义 保留字 如 Begin=begin 标识符 letter=[a-z,A-Z] digit=[0-9] identifier=letter(letter|digit)* 数字 整数int=[1-9]Digit*|0 实数real=int.int 特殊符号 +|-|… 正则表达式的局限性 正则表达式不能用于描述重复串 例:{w c w | w是a和b的串}无法用正则表达式表示(保证两边w是相同的)。 正则表达式与FA等价 定理:对任一确定有限自动机A,存在一正 则表达
文档评论(0)