郑州大学编译原理.pptVIP

  1. 1、本文档共79页,可阅读全部内容。
  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文档。上传文档
查看更多
郑州大学编译原理

第三章 词法分析 词法分析的任务: 从左到右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成单词符号串的中间程序。 §3.1 对于词法分析器的要求 单词符号 例如:C的代码段 词法分析器作为一个独立子程序 §3.2 词法分析器的设计 常常按词法分析的任务和作为一个独立子程序来考虑它的设计。 预处理子程序 预处理子程序就是完成上述任务的。每当词法分析器调用它时,它就处理一串确定长度的输入字符,并装入扫描缓冲区中。 扫描缓冲区 单词符号的识别---超前搜索 状态转换图 例如 大多数程序语言的单词符号都可以用转换图予以识别。 词法分析的状态转换图 3.2.4 状态转换图的实现 例如 思考题 解答 §3.3 正规表达式与有限自动机 词法分析器的自动生成可依据正规表达式和有限自动机的理论。实际上,状态转换图与正规表达式和有限自动机在描述语言能力方面是等价的。 正规式和正规集的递归定义( 续) 例3.1 令∑= {a , b} , 下面是∑上的 正规式和相应的正规集: 例3.2 令∑= {a,b,0,1} ,则: 正规式的等价性 若两个正规式所表示的正规集相同,则称两者等价。 例如 b(ab)*=(ba)*b (a|b)*=(a*b*)* 思考题:写出下面正规式 确定的有限自动机 状态转换矩阵 状态转换矩阵 状态转换图 DFA M 接受的语言 例如:有DFA M 如下: 非确定的有限自动机 同样,一个 NFA M 也可表示成状态转换图。 NFA M 接受的语言L(M) 例如:下图就是一个NFA M NFA 与 DFA 等价 ② 对M的状态转换图进行如下替换: (2)将 NFA M’ 进一步变换成等价的 DFA M” ③ 假定∑={ a1, … , ak }。构造一张含有k+1列的表 (3)将所构造出的表视为状态转换矩阵 例如:正规式(a|b)*(aa|bb)(a|b)* 利用子集法求状态转换表: 继续求新的子集: I、Ia、Ib,得出下表: 对所有的状态子集重新命名,由此而得: 例题1 (3)用子集法求状态转换矩阵 (4) 重新命名得 DFA 作业(3)P64 例题2 正规文法与有限自动机的等价性 证明 (1)对每一个右线性文法G,都存在一个FA M,使得: L(M) = L(G) 显然 A?a ? A F A?aB ? A B 例题3 已知正规文法 G 如下,构造其等价的FA M 。 证明 (2) 对于每一个DFA M,都存在一个右线性文法G,使得: L(M) = L(G) 例题4 设 DFA M 如下,构造其等价的正规文法。 例题5 证明(1)对每一个左线性文法G,都存在一个FA M,使得: L(M) = L(G) 显然 A?a ? q0 A A?Ba ? B A 证明 (2) 对于每一个DFA M,都存在一个左线性文法G,使得: L(M) = L (G) 例3.4(1) p(53) 例3.4(2) p(53) 例3.4(3) p(53) 正规式与有限自动机的等价性 证明 对任何 FA M,都存在一个正规式r,使得: L(r) = L(M) 证明: 对任何正规式r ,都存在一个 FA M,使得 L(M) = L(r) (2)假设结论对少于k(k0)个运算符的 r 成立。 ② r=r1.r2 例题6 1.写出{a,b}上不以a开头,以aa结尾的正规式和 DFA 。 例题7 写出下面 NFA 对应的正规式 (1) 确定有限自动机的化简 例题8 ● DFA M 的状态最少化过程 将DFA最小化的方法 (4)在每个子集I中选取一个状态代表其它状态 例题9将DFA 最小化 例题3.6 设 DFA M 如下,将其最少化。 例题3.6 设 DFA M 如下,将其最少化。 最少化的 DFA : §3.4 词法分析器 L 的自动产生 LEX语言:是专门描述词法分析器的语言。 作业 P64 证明:(采用归纳证明法) (1)若 r 具有0个运算符, 则 r=? 或 r=? 或 r=a 此时,对应的FA 分别为: q0 q0 q0 q a (3)当 r 具有k个运算符时,

文档评论(0)

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

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

1亿VIP精品文档

相关文档