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

编译原理第三章 词法分析与词法分析程序.ppt

编译原理第三章 词法分析与词法分析程序.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * S=aS+bA+c; A=bS S=aS+bbS+c=(a+bb)S+c S=(a|bb)*c S=aA, A=aA+bB+c, B=cS A=aA+bcS+c A=a*(bcS+c) S=aa*(bcS+c)=aa*bcS+aa*c=(aa*bc)*aa*c * * * * * DFA状态数最小化 可区分状态 A B a1 a2 an a1 a2 状态A,B被某一输入串w=a1a2..an所区分,指 1)从其中一个状态出发读入w,到达终态, 2)而从另一个状态出发进入非终态 可区分状态的递归定义 在一个DFA中,状态A与状态B可区分: 1)A是终止状态,B是非终止状态 或 B是终止状态,A是非终止状态 2)对于字母a,有f(A,a)=C, f(B,a)=D 2.1) C与D可区分 2.2) C=NULL 且 D ? NULL且D可达终态 或 C ? NULL且C可达终态 且 D=NULL DFA状态数最小化-例子 S0 S1 S3 S2 b a b b a a a b S4 a b 复习 一个DFA M=(K, ?, f, S0, Z),函数f : K × ? - K表示某状态Ki接受某字母a??后,到达状态Kj的转换。 一个NFA M=(K, ?, f, S0, Z),函数f : K × ? - ?(K)表示某状态Ki接受某字母a??后,到达状态集合{K1, …, Kj}的转换。 一个带?动作的NFA M=(K, ?, f, S0, Z),函数 f : K × ??{?} - ?(K)表示某状态Ki接受某字母a??或空串?后,到达状态集合{K1, …, Kj}的转换。 试描述下述文法所产生的语言的特点 G[S]=(VN={S, alpha, digit}, VT={A…Z, a…z, 0…9}, P, S), 其中P={ S ? Salpha, S ? Sdigit, S ? alpha, alpha ? A,…,alpha ? z, digit ? 0,…,digit ? 9 } 上述正规文法产生的语言的特点是 由字母开头,后接0个或多个字母和(或)数字的符号串 即标识符的定义 如果使用型如 字母(字母|数字)* 的式子来表示上述符号串构成的集合,那么这样的式子就称为正规表达式(正则式,Regular Expression),相应的符号串集合则称为该表达式对应的正规集。 正规表达式及正规集的定义 正规式 正规集 1. ? 空集? 2. ? {?} 3. a,a?? {a} 4. (r)?(s) Lr ? Ls (r)|(s) Lr ? Ls (r)* Lr* [r]=((r)|(?)) Lr?{?} (r)+=(r)?((r)*) Lr+ 算符优先级与正规式化简 算符优先级从高到低依次为 (), [], *,+, ?, | 如( (r) ? ( (s)* ) ) | ( r ),可化简为 r ?s*|r 又因为连接符?通常可省略不写, 再化简为rs*|r 正规式与正规集的例子 ?={a,b} 正规式与正规集的多对一关系 给定一个正规式,它唯一确定一个正规集;反之不然。 即一个正规集可由多个不同的正规式表示。 我们称两个正规式等价,当且仅当它们所描述的正规集相同。 例如a|b与b|a, (a|b)*与 (b|a)*等等 正规式的基本等价公理 A1. r|s=s|r A2. r|r=r A3. r|?=r A4. (r|s)|t=r|(s|t) A5. (rs)t=r(st) A6. r(s|t)=rs|rt A7. (s|t)r=sr|tr A8. r? = ?r = ? A9. r? = ?r =r A10. r*=(?|r)*=?|rr* 由正规文法构造正规式1/4 使用正规式描述下述右线性文法产生的语言 S ? aS | b S ? aS | bS | c (或S ? (a|b)S |

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档