第4章 节 正则表达式 计算机专业 形式语言课件.pptVIP

第4章 节 正则表达式 计算机专业 形式语言课件.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 节 正则表达式 计算机专业 形式语言课件.ppt

2018-5-23 1 第4章 正则表达式 正则文法擅长语言的产生,有穷状态自动机擅长语言的识别。 本章讨论正则语言的正则表达式描述。它在对正则语言的表达上具有特殊的优势,为正则语言的计算机处理提供了方便条件。 简洁、更接近语言的集合表示和语言的计算机表示等。 2018-5-23 2 第4章 正则表达式 主要内容 典型RE的构造。 与RE等价FA的构造方法。 与DFA等价的RE的构造。 重点 RE的概念。 RE与DFA的等价性。 难点:RE与DFA的等价性证明。 2018-5-23 3 4.1 启示 产生语言{anbmck|n,m,k≥1}∪ {aicnbxam|i≥0,n≥1,m≥2,x为d和e组成的串} 的正则文法为 AaA|aB|cE BbB|bC CcC|c E cE|bF FdF|eF|aH HaH|a 2018-5-23 4 4.1 启示 接受此语言的NFA M 2018-5-23 5 4.1 启示 计算集合 set(q) set(A)={an|n≥0}={a}* set(B)= set(A){a}{bn|n≥0} ={anabm|m,n≥0} ={a}*{a}{b}*={a}+{b}* set(C)= set(B){b}{c}* ={a}*{a}{b}*{b}{c}*={a}+{b}+{c}* set(D)= set(C) {c}={a}+{b}+{c}*{c} ={a}+{b}+{c}+ 2018-5-23 8 4.2 RE的形式定义 正则表达式(regular expression,RE) ⑴ Φ是∑上的RE,它表示语言Φ; ⑵ ε是∑上的RE,它表示语言{ε}; ⑶ 对于a∈∑,a是∑上的RE,它表示语言{a}; 2018-5-23 9 4.2 RE的形式定义 ⑷ 如果r和s分别是∑上表示语言R和S的RE,则: r与s的“和” (r+s)是∑上的RE,(r+s)表达的语言为R∪S; r与s的“乘积” (rs)是∑上的RE,(rs)表达的语言为RS; r的克林闭包(r*)是∑上的RE,(r*)表达的语言为R*。 ⑸ 只有满足⑴、⑵、⑶、⑷的才是∑上的RE。 2018-5-23 10 4.2 RE的形式定义 例 4-1 设∑={0,1} ⑴ 0,表示语言{0}; ⑵ 1,表示语言{1}; ⑶ (0+1),表示语言{0,1}; ⑷ (01),表示语言{01}; ⑸ ((0+1)*),表示语言{0,1}*; ⑹ ((00)((00)*)),表示语言{00}{00}*; 2018-5-23 11 4.2 RE的形式定义 ⑺ ((((0+1)*)(0+1))((0+1)*)),表示语言{0,1}+; ⑻ ((((0+1)*)000)((0+1)*)),表示{0,1}上的至少含有3个连续0的串组成的语言; ⑼ ((((0+1)*)0)1),表示所有以01结尾的0、1字符串组成的语言; ⑽ (1(((0+1)*)0)),表示所有以1开头,并且以0结尾的0、1字符串组成的语言。 2018-5-23 12 4.2 RE的形式定义 约定 ⑴ r的正闭包r+表示r与(r*)的乘积以及(r*)与r的乘积: r+=(r(r*))=((r*)r) ⑵ 闭包运算的优先级最高,乘运算的优先级次之,加运算“+”的优先级最低。所以,在意义明确时,可以省略其中某些括号。 ((((0+1)*)000)((0+1)*))=(0+1)*000(0+1)* 2018-5-23 13 4.2 RE的形式定义 ((((0+1)*)(0+1))((0+1)*))=(0+1)*(0+1)(0+1)* ⑶ 在意义明确时,RE r表示的语言记为L(r),也可以直接地记为r。 ⑷ 加、乘、闭包运算均执行左结合规则。 2018-5-23 14 4.2 RE的形式定义 相等(equivalence) r、s是字母表∑上的一个RE,如果L(r)=L(s),则称r与s相等,记作r=s 。 相等也称为等价。 几个基本结论 ⑴ 结合律:(rs)t=r(st) (r+s)+t=r+(s+t) ⑵ 分配律:r(s+t)=rs+rt (s+t)r=sr+tr 2018-5-23 15 4.2 RE的形式定义 ⑶ 交换律: r+s=s+r。 ⑷ 幂等律: r+r=r。 ⑸ 加法运算零元素:r+Φ=r。 ⑹ 乘法运算单位元:rε=εr=r。 ⑺ 乘法运算零元素:rΦ=Φr=Φ。 ⑻ L(Φ)=Φ。 ⑼ L(ε)={ε}。 ⑽ L(a)={a}。 2018-5-23 16 4.2 RE的形式定义 ⑾ L(rs)=L(r)L(s)。

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档