编译原理课程总复习详解.ppt

  1. 1、本文档共155页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理课程总复习;前端:依赖于源语言,独立于目标机器。;第二章 词法分析器;词法记号的描述与识别 ;正规定义的例子 Pascal语言的标识符集合 letter ? A | B | … | Z | a | b | … | z digit ? 0 | 1 | … | 9 id ? letter(letter|digit)* ;正规定义的例子 Pascal无符号数集合,例1946,11.28,63.6E8,1.99E?6 digit ? 0 | 1 | … | 9 digits ? digit digit* optional_fraction ? .digits|? optional_exponent ? (E ( + | ? | ? ) digits ) | ? num?digits optional_fraction optional_exponent 简化表示 num ? digit+ (.digit+)? (E(+|?)? digit+)? ;源程序字符流;状态转换图 ;有 限 自 动 机 ;有 限 自 动 机 ;有 限 自 动 机;NFA到DFA的转换——子集构造法;NFA到DFA的转换——子集构造法;NFA到DFA的转换——子集构造法;NFA到DFA的转换——子集构造法;NFA到DFA的转换——子集构造法;NFA到DFA的转换——子集构造法;NFA到DFA的转换——子集构造???;NFA到DFA的转换——子集构造法;NFA到DFA的转换——子集构造法;NFA到DFA的转换——子集构造法;NFA到DFA的转换——子集构造法;NFA到DFA的转换;DFA的化简;DFA的化简;DFA的化简;DFA的化简;将下图的DFA极小化。;0;0;最初的划分是{0, 1, 2, 3}和{4}。 1.状态集合的进一步划分是: {1, 2},{0, 3}和{4} 2.忽略了死状态的影响,会认为它们都不需要再分 ;从正规式到有限自动机 ;从正规式到有限自动机 ;从正规式到有限自动机 ;从正规式到有限自动机 ;从正规式到有限自动机 ;从正规式到有限自动机 ;从正规式到有限自动机;从正规式到有限自动机 ;从正规式到有限自动机 ;从语言到确定的有限自动机;例:识别? ={0,1}上能被能5整除的二进制数;例:识别? ={0,1}上能被能5整除的二进制数;例:识别? ={0,1}上能被能5整除的二进制数;例:识别? ={0,1}上能被能5整除的二进制数;例:识别? ={0,1}上能被能5整除的二进制数;例:识别? ={0,1}上能被能5整除的二进制数;例:识别? ={0,1}上能被能5整除的二进制数;例:识别? ={0,1}上能被能5整除的二进制数;例:识别? ={0,1}上能被能5整除的二进制数;例:识别? ={0,1}上能被能5整除的二进制数;例:识别? ={0,1}上能被能5整除的二进制数;构造DFA,接受 0和1的个数都是偶数的字符串;小结;第三章 语法分析器;上下文无关文法与正规式比较 ;语言和文法 ;语言和文法 ;语言和文法 ;正规式;FIRST集、FOLLOW集;FIRST集合计算方法 若X?a.., 则将终结符a加入FIRST(X)中 若X??,则将?加入FIRST(X)中 若X?Y…,且Y属于非终结符,则将FIRST(Y)\{?}加入到FIRST(X)中 若X?Y1Y2..YK,且Y1,Y2,..Yi-1都是非终结符,且Y1,Y2,..Yi-1的FIRST集合中均包含?,则将FIRST(Yj)的所有非?元素加入到FIRST(X)中,(j=1,2,..i).特别地,若Y1~YK均有?产生式,则将?加到FIRST(X)中。 ;FOLLOW集合计算方法 对文法开始符号S,置$于FOLLOW(S)中。 若有A??B?,则将FIRST(?)\{?} 加入FOLLOW(B)中。 (此处? 可以为空) 若A?? B 或A?? B ?,且 ? ?* ?(即? 属于FIRST(?)),则将 FOLLOW(A)加入FOLLOW(B)中(此处? 可以为空)。 ;FIRST集合及FOLLOW集合的计算方法 ;FIRST集合及FOLLOW集合的计算方法 ;FIRST集合及FOLLOW集合的计算方法 ;FIRST集合及FOLLOW集合的计算方法 ;FIRST集合及FOLLOW集合的计算方法 ;FIRST集合及FOLLOW集合的计算方法 ;FIRST集合及FOLLOW集合的计算方法 ;自上而下分析 ;自上而下分析;自上而下分析;自上而下分析;自上而下分析;自上而下分析;自上而下分析;自上而下分析;自上而下分析;自下而上;自下而上分析 ;从文法构造的识别活前缀的DFA的一些特点 概念:有效项目 如果S??*rm ?Aw ?

文档评论(0)

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

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

1亿VIP精品文档

相关文档