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

《编译原理》总复习.pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  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文档。上传文档
查看更多
《编译原理》总复习.ppt

《编译原理》复习 西安电子科技大学 软件工程研究所 课程内容 第一章 引言 1 语言的翻译 2 编译器的基本组成 3 编译器的分析-综合模式 第二章 词法分析 1 记号、模式与单词 3 记号的识别-有限自动机(FA) 4 从正规式到词法分析器 第三章 语法分析 1 程序设计语言与文法 2 有关推导的基本概念 3 自上而下分析 4 自下而上分析 4 自下而上分析(续) 第四章 语法制导翻译生成中间代码 1 语法制导翻译与中间代码 2 符号表的组织 4 可执行语句的翻译 结 束(串讲) * 要求(希望) 牢固掌握基本概念 灵活使用基本方法 归纳总结所学内容(锻炼提高抽象能力) 一、引言 二、词法分析 三、语法分析 四、语法制导翻译生成中间代码 学习不能走捷径,付出多少劳动就有多少收获。 掌握正确的学习方法,学会联想与归纳总结。 不同的翻译形式:汇编、编译、转换(预编译)、逆向翻译 翻译方法: 4 编译器的扫描遍数与编译器的编写 构词规则与词法分析: 首先规定单词形成的规则,称为构词规则;然后根据构词规则识别输入序列,称为词法分析。 主要内容: 1 记号、模式与单词 2 记号的说明-模式的形式化描述(正规式与正规集) 3 记号的识别-有限自动机 4 从正规式到词法分析器 词法分析器的作用: 滤掉源程序中的无用成分; 处理与具体操作系统或机器有关的输入; 识别记号并交给语法分析器; 调用符号表管理器和出错处理器进行相关处理。 模式(pattern):规定单词识别的规则 记号(token):按照某模式识别出的一类单词(记号种类) 单词(lexeme):被识别出的字符串本身 词法分析器的输出:记号=记号种类+记号属性 2 记号的说明-模式的形式化描述 正规式与正规集: 正规式与正规集的定义(基本正规式、三个运算) 正规式的等价(描述相同的集合) 利用正规式的等价对正规式进行化简(正规式的代数性质) 用正规式对模式进行形式化描述: 如何用正规式描述程序设计语言中常见的记号,如标识符、数字、运算符和分隔符等 正规式的简化形式以及辅助定义与规则 NFA与DFA的定义:FA = (S, Σ, move, s0, F); NFA与DFA的表示:定义表示、状态转换图、状态转换矩阵; NFA与DFA的关键区别:NFA的不确定性(当前状态下,对同一字符可能有多于一个的下一状态转移); 用NFA识别输入序列的弱点:尝试所有路径才能确定一个输入不被接收、回溯带来的问题; 模拟DFA的算法(用DFA识别记号)。 构造NFA的Thompson算法(与NFA定义的对应关系); 模拟NFA的“并行”算法; 从NFA构造DFA-子集法: smove(S, a)与ε-闭包(T)的计算; DFA的最小化-可区分的概念:所有不可区分的状态看作是一个状态; 灵活运用各种方法构造DFA(正规式化简、状态转换图等) 语法分析是编译器中的重要阶段之一,可以认为是语法制导翻译模式编译器的核心。语法分析也有双重含义:根据一定的规则构成语言的各种结构,即语法规则;根据语法规则识别输入序列(记号流)中的语言结构,即语法分析。 语法分析的分析对象是组成语言的句子,句子具有层次结构的特征,表征该结构的最好方法是树,从而使得对语法的分析就有了从根到叶子和从叶子到根两种分析方法。 主要内容 1 程序设计语言与文法 2 有关推导的基本概念 3 自上而下分析 4 自下而上分析 正规式与正规文法:正规式与正规文法用于描述线性结构,如构成句子的记号(终结符);识别正规语言的自动机是有限自动机,它们的特征是没有记忆能力; 上下文无关文法(CFG=(N, T, S, P)):CFG用于描述层次结构,如构成程序的句子;识别CFL的自动机是下推自动机,它是在有限自动机的基础上增加了一个下推栈,从而有了简单的记忆能力; 文法的分类:0型、1型、2型和3型文法 词法分析器与语法分析器(FA与PDA) CFG产生语言的基本方法-推导:从文法的开始符号开始,反复地用产生式的右部替换句型中的非终结符。 推导的基本概念:句子、直接推导、最左推导、左句型(最右推导、右句型); 分析树与语法树:分析树和语法树都反映了语言结构;分析树还记录了分析的过程(含有非终结符); 文法的二义性:二义性的本质是在文法中缺少对文法符号优先级和结合性的限制,从而使得一个句子可以推导出多于一棵分析树。 二义性的消除: 改写二义文法为非二义文法; 对文法符号施加优先级与结合性的限制,使得分析的每一步有唯一选择。 分析方法:推导,从上到下构造分析树,是一种预测的、试探的方法; 对文法的要求:没有公共左因子和左递归; 递归下降子

文档评论(0)

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

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

1亿VIP精品文档

相关文档