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

3第三章词法分析--自动机教程.ppt

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

第三章 词 法 分 析;正 则 表 达 式 和 正 则 集;正则表达式的运算符 | 表示或“ * 表示“闭包“—任意有限次(零次或多次)的自重复连接 . 表示“连接“,一般省略 运算优先级 “ * ”, 高于 “ .” ,高于 | ;设α,β,γ 都是字母表 ? 上的正则表达式,正则表达式有如下一些性质:;例: 设有字母表 : ∑ = { 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组成     的字符串} 答案:设a=1,b=2,则a (b | a( a| b) ) | b (a |b) 或者:21|22|12|111|112;若两个正规式e1和e2所表示的正规集相同,则说e1和e2等价,写作e1=e2;将?上的正规式r转换成正规文法G=(VN,VT,P,S):令VT=∑,确定产生式和VN的元素用如下办法:;例 将 r=a(a|d)*转换成相应的正规文法 令S是文法的开始符号,形成S → a(a|d)*: R1  S → aA A →(a|d)* R2  S → aA    A →(a|d)B  A → ?    B →(a|d)B  B → ? R3  S → aA    A → aB A →dB A → ?   B → aB B → dB B → ?;2.将正规文法转换成正规式:   基本上是上述过程的逆过程,最后只剩下一个开始符 号定义的正规式,其转换规则如表4.1所示:;例 G[s]: S → aA S → a   A → aA   A → dA A → a   A → d ①S → aA|a  A → aA|a|dA|d → (a|d)A|(a|d) →(a|d)*(a|d) ②s=a(a|d)*(a|d)|a=a((a|d)*(a|d)|ε)=a((a|d)*|ε) ③r=a(a|d)*;状 态 转 换 图;整数的状态转换图;从正规式出发构造状态转换图;正规式(a|b)*(aa|bb) (a|b)*的状态转换图;正规式 (

文档评论(0)

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

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

1亿VIP精品文档

相关文档