- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
09--第三章 有限自动机与词法分析器
第三章 有穷自动机与词法分析器 任课教师 王养廷 1 正则表达式 基本概念 字母表:它是非空有限集合,其中的元素称为字母(或符号),一般使用Σ表示。 例如: Σ={a,b,c,......,z} 符号串:符号的有限序列 例如:a, ab, cda λ、ε表示空串 区分{ε}和{} 1 正则表达式(续) 符号串长度:符号串中包含符号的个数,使用|β|表示符号串β的长度 例如:| a |=1, | abc |=3, | ε|=0 符号串的连接:α、β是符号串,αβ为符号串α和β的连接 例如: α=aa, β=bb, αβ=aabb ε β =β = β ε 1 正则表达式(续) 符号串的乘积:A、B是符号串的集合,则AB定义为符号串A和B的乘积。AB={αβ| α ∈A, β ∈B},若Φ为空集,则ΦA=AΦ=A。 例如:A={ab, cd}, B={12,34},则AB={ab12, ab34, cd12, cd34} 符号串集合的方幂:设A是符号串的集合,则称Ai为符号串的方幂 A0={ε} A1=A Ak=AA......A(k个) 1 正则表达式(续) 符号串的正闭包:设A是符号串的集合,则称A+ 是符号串的正闭包 A+= A1 ∪ A2 ∪ A3 ∪...... 例如:A={a}, A+={a,aa,aaa,......} 符号串的星闭包:设A是符号串的集合,则称A* 是符号串的星闭包 A+= A0 ∪ A+ 例如:A={a}, A*={ε, a,aa,aaa,......} 问题 A={a, b},A的正闭包和星闭包是什么 1 正则表达式(续) 正则符号串集:用RSS表示,定义为: 字母表Σ的任何子集 空集Φ {ε} 若A、B是RSS,则AB是RSS 若A、B是RSS,则A∪B是RSS 若A、B是RSS,则A*是RSS 1 正则表达式(续) 正则表达式 设Σ是给定字符集,则每个Σ上的正则表达式将定义Σ上的一个字符串集。若用RE表示Σ的正则表达式,则用L(RE ) 表示RE所表示的正则集,则RE的定义及含义如下: Φ是正则表达式,即 Φ ∈ R E,其中L(Φ)={} ε是正则表达式,即 ε∈ R E,其中L(ε)={ε}a a∈Σ是正则表达式,即 a∈ RE ,其中L(a)={a} 设A和B是正则表达式,即A ∈ RE ,B∈ RE ,则有 (A) ∈ R E, L((A))=L(A) A|B∈ R E , L(A|B)=L(A) | L(B) AB∈ R E , L(AB)=L(A) L(B) A*∈ R E , L(A*)=L(A)* 1 正则表达式(续) 算符优先级 幂运算 连接 选择 a*b|c =((a*)b) | c 扩充RE A+∈ R E , L(A+)=L(A)+ A? ∈ R E , L(A?)=L(A) ∪ {ε} [chi-chk] ∈ R E 表示( chi |chi+1 |…| chk ) [abc] ∈ R E 表示( a| b| c ) [chi-chk chj-chl]表示[chi-chk] | [chj-chl] 正则表达式(续) 正则表达式的性质:P48 A|B =B|A |的可交换性 A|(B|C)=(A|B)|C |的可结合性 A(BC)=(AB)C 连接的可结合性 A(B|C)=AB|AC 连接的可分配性 (A|B)C=AC|BC 连接的可分配性 A**=A* 幂的等价性 正则表达式(续) 正则表达式示例 假设:D={0,1,…,9}, L={a…z, A…Z} D+ D+. D+ L(D|L) 举例 ((a|bc)*d)+ ((0|1)* (2|3)+)|0011 正则表达式(续) 实例 a a | b ab a* a*b* (a|b)* (ab)* 总结 主要内容 正则表达式 正则表达式到有穷自动机的转换 作业 P61 2(3,4,5),3(3,4,5),4(2) * * a+ a(b|c) a+(b|c)a* (a|b)(a|c) (a|b)c* *
您可能关注的文档
- (人教PEP)三年级英语上册课件 Unit1 learn&do.ppt
- (人教PEP)四年级英语上册课件 Recycle1 Lesson2.ppt
- (人教PEP)三年级英语上册课件 Recycle 1.ppt
- (人教pep)四年级英语上册课件 unit1 Lesson1.ppt
- (人教PEP)四年级英语上册课件 recycle 1.ppt
- (人教PEP)四年级英语上册课件 Unit4 第一课时.ppt
- (人教PEP)四年级英语上册课件 unit4 Lesson1.ppt
- (人教PEP)四年级英语上册课件 Recycle2 Lesson3.ppt
- (人教PEP)四年级英语上册课件 recycle2 Lesson2.ppt
- (人教PEP)四年级英语上册课件 unit4 Lesson4.ppt
文档评论(0)