编译原理内容小结.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理内容小结.ppt

主要内容 编译程序及作用 高级语言的语法描述 构造一个编译器 一、编译程序及作用 程序设计语言的定义 语法:组成程序中各个语法成分的一组规则 语义:程序中各个语言成分的含义 语用:语言符号及其使用者之间的关系 编译程序及作用 翻译程序(Translator) 将某个语言程序(源语言程序—Source Program)转换成等价的另一种语言描述的程序(目标程序—Object Program)的程序。 编译程序及作用 构造编译器 确定源语言 确定目标语言 选择编译方法 二、高级语言的语法描述 语言的分类 程序语言的语法描述 字符串 句子 文法分类 程序语言组成 语言——形式化的内容提取 语言(language):满足一定条件的句子集合 句子(sentence) :满足一定规则的单词序列 单词(token) :满足一定规则的字符串 语言字和组合字的规则 程序语言组成 基本定义 字母表、符号串、句子、语言 设?是一个字母表, ?L? ?*,L称为字母表?上的一个语言(language), ?x?L ,x为L的一个句子 语言是由无穷个句子组成的,就无法用枚举法描述,需要用有穷的方法来描述无穷性质的语言,一般有以下两类等价的方法:文法和自动机 文法的形式定义 文法G为一个四元组: G = (VT, VN , S, P) VT: 终结符(Terminal)集 VN :非终结符(Variable)集, VT ? VN = ? S:开始符号(Start Symbol), S? VN P:产生式 A? ?, A?(VT?VN)+,且A中至少有一个VN中的元素, ? ?(VT?VN)* 文法的形式定义 例G(E):(VT, VN, S, P) VT: {(, ), +, *, i} VN :{ E } S: E P: E ? E + E | E * E | ( E ) | i 文法的形式定义 三、编译器的构造 词法分析器 作用:从左到右扫描源程序,并将该字符串转换成单词(Token)串;同时:检查词法错误、进行标识符登记 正规式 有限自动机 正规文法 语法分析器 功能:检查由扫描器输出的单词符号序列是否符合该语言的文法,实现“组词成句”,构造分析树,指出语法错误。 自上而下分析 递归下降法 预测分析表法 自下而上分析 算符优先文法 LR分析法 语义分析 功能:分析由语法分析器给出的语法单位的语义。 属性文法 在CFG的基础上,为每个文法符号配备若干相关的值,以代表与文法相关的信息 中间代码生成 中间语言形式 语句的翻译 代码优化 功能:对代码进行等价变换以获取更高的执行效率(提高运行速度、节省存储空间) 。 优化的分类 与机器有关的优化:局部优化、循环优化、控制流优化 与机器无关的优化:与寄存器、指令、存储策略、体系结构、任务规划相关 代码生成 功能:将中间代码转换成目标机上的机器指令代码或者汇编代码,完成最后的翻译,可以运行。 生成的代码 绝对的机器代码 可重定位的代码 汇编代码 运行时存储空间组织 目标程序运行时的活动 运行存储的划分 静态存储分配 栈式动态存储分配 堆式动态存储分配 符号表 功能:将中间代码转换成目标机上的机器指令代码或者汇编代码,完成最后的翻译,可以运行。 组织方式 定长方式、变长方式 线性表、二叉树、散列表 * * 编译原理内容小结 词法分析器 语法分析器 语义分析与中间代码生成器 代码优化 目标代码生成器 源程序 单词符号 语法单位 中间代码 中间代码 目标代码 表 格 管 理 出 错 处 理 源程序 目标代码 源程序 (*.c/*.PAS) 翻译程序 目标程序 (*.OBJ/*.EXE) 句型 句子 语言 推导 句柄 语法树 二义性 文法的分类 词法分析器 语法分析器 语义分析与中间代码生成器 代码优化 目标代码生成器 源程序 单词符号 语法单位 中间代码 中间代码 目标代码 表 格 管 理 出 错 处 理

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档