3第三章词法分析自动机汇编.ppt

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

第三章 词 法 分 析 第一节 对 于 词 法 分 析 器 的 要 求 第二节 词 法 分 析 器 的 设 计 第三节 正 则 表 达 式 和 有 限 自 动 机 第四节 词 法 分 析 器 的 自 动 生 成 正 则 表 达 式 和 正 则 集 1、正则表达式和正则集: 字母表 ? 上的正则表达式和它表示的正则集递归定义如下: (1)ε和 ? 都是 ? 上的正则表达式,它们所表示的正则集分别为 { ε } 和 ? ,其中 ε是空串, ? 是空集; (2) 任意的 a ? ? 是正则表达式,它所表示的正则集是 { a }; (3)如果 e 1 和 e 2 是 ? 上的任意的正则表达式,分别表示 的正则集为 L ( e 1 ) 和 L ( e 2 ) ,则: 第一, e1 | e2 也是正则表达式,表示的正则集为 L (e1 | e2 )= L (e1) U L (e2) 第二, e 1 e 2 也是正则表达式,表示的正则集为L (e1 e2 )= L (e1) L (e2) 第三, (e1) * 也是正则表达式,表示的正则集为 L ( (e1) * ) = L (e1) * 仅由有限次使用上述三个步骤而得到的表达式是? 上的正则表达式,仅由这些表达式所表示的字集是? 上的正则集。 正则表达式的运算符 | 表示或“ * 表示“闭包“—任意有限次(零次或多次)的自重复连接 . 表示“连接“,一般省略 运算优先级 “ * ”, 高于 “ .” ,高于 | 正 则 表 达 式 的 运 算 符 及 其 性 质 设α,β,γ 都是字母表 ? 上的正则表达式,正则表达式有如下一些性质: (1) α | β = β | α (2) α | (β | γ )= (α | β)| γ (3) (α β)γ = α(β γ ) (4) (α | β) γ = α γ| β γ α (β| γ) = α β | α γ α ? = ? α= α | 具有交换律、结合律 . 具有结合律、分配律 ( ) 指定优先关系 例: 设有字母表 : ∑ = { a, b } 则下列各式: a*, (ab)*, ab*, b(ab)*, a|ba*, a(a|b)* 均为定义在 ∑ 上的正则表达式, 它们所表示的正则集分别为: L(a*) = L(a)* = { ?, a, aa, aaa, ??? } L((ab)*) = L(ab)* = {?, ab, abab, ababab, ??? } L(ab*) = L(a)L(b)* = { a, ab, abb, abbb, ??? } L(b(ab) *) = L(b)L(ab)* = { b, bab, babab, bababab, ??? } L(a|ba*) = L(a) ∪L(ba*) = { a, b, ba, baa, baaa, ??? } L(a(a|b) *) = L(a)L(a|b)* = { a, aa, ab, aaa, aab, aba, ??? } 例:设?={a,b}, ?上的正规式和相应的正规集的例子有: 正规式 正规集 a {a} a?b {a,b} ab {ab} (a?b)(a?b) {aa,ab,ba,bb} a ? {? ,a,aa, …… },是任意个a组成的的串 (a?b)? {? ,a,b,aa,ab ……},是所有由a和b组成的串 (a?b)?(aa?bb)(a?b)?  ??上所有含有两个相继的a或两个相继的b组成的串 例题:词法分析器的输入是什么? 例题:令?={a,b},则?上所有以a开头,后跟0个或许多个的  ab的字的全体对应的正规式是什么? 例题:请写出表示标识符的正规式e1=(l|_)(l|d|_)*所对应的  正规集。 例题:有一台饮料自动售货机,接收1元或2元硬币,出售3  元钱一瓶的饮料。顾客每次向机器中投放等于或大于3元的  硬币,便可得到一瓶饮料(注意:多投不找钱)。写出对  应饮料自动售货机售货过程的正规式。画出与该正规式的  最小DFA。 答案:源程序(的字符流) 答案:a(ab)* 答案:{l,_,ll,ld,l_,_l,_ _,-d,……}或者{以1或_打头l,_,d组成  

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档