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

ch编译程序概述.pptVIP

  1. 1、本文档共69页,可阅读全部内容。
  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文档。上传文档
查看更多
1.6 编译程序的其他相关技术 4 编译程序自动化 LEX:词法分析程序生成器; YACC:语法分析程序生成器。 1.6 编译程序的其他相关技术 5 程序的可再入性 可再入性:程序正在执行时: 可以随时中断执行进程; 也可随时从断点恢复到原来的执行进程; 中断时,可以从该程序头开始一个新的进程。 可再入性必须满足的条件: 纯代码:执行过程,进程的指令不被修改; 不同进程有不同数据区,中断时保存; 中断时的寄存器的内容被保存。 1.6 编译程序的其他相关技术 6 并行编译 把串行的源程序或尚未并行化的并行源程序自动转换成并行计算机上运行的并行目标程序或它能接收的并行源程序。 1.7 翻译程序的编写系统 翻译编写系统(TWS,Translator Writing System):有助于减轻编写翻译程序工作的任何软件系统工具包。如:建立、查找符号表的操作,生成目标代码、出错处理操作。 TWS分为: 1 自动产生编译程序的“编译程序的编译程序” 2 面向语法的符号加工程序 3 可扩充语言组成的集合,允许用现有类型定义新类型。 1.2 编译程序的特点 模块化/阶段化 静态解释:编译阶段,对源语句序列 动态解释:运行阶段,对运行时的程序 编译程序只能发现并报告在静态可计算性制约下的那些错误。 机器无关性/可移植性 语言标准化:与机器系统无关 程序语言特征:对所接收的语言提供一种准确的实现。 第1章内容小结 什么是编译程序 编译方式的特点 解释方式的特点 编译方式与解释方式的根本区别 编译程序的工作过程(6个阶段,2个过程) 编译程序的结构(前后端,遍) 编译程序的组织形式 课程内容 第1章 :引论 第2章 :文法和语言的形式定义 (上下文无关文法,语法分析理论基础) 第3章 :有穷自动机 (词法分析理论基础) 第4章 :词法分析 第5—7章 :语法分析 第8章 :语义分析和中间代码生成 第9章 :运行阶段的存储组织与分配 (代码生成理论基础) 第10章 :符号表 第11章 :中间代码优化 第12章 :目标代码生成 作业 思考:编译程序分为那几个阶段,每个阶段的输入、输出、主要任务分别是什么? P16:1、4、6、7 * * 1 词法分析 第一阶段:保证构词的正确 输入:字符流 输出:单词流 分析的依据:词法规则 (如:标识符被定义为字母开头的字母数字串) 主要任务: 分离并输出单词(保证单词符合词法规则 ); 输出单词的值和种类。 构造符号表、常量表; 发现并报告词法错误。 单词值 单词类型 position 标识符(id1) = 运算符(赋值) initial 标识符(id2) + 运算符(加) rate 标识符(id3) * 运算符(乘) 60 整数 ; 界符 例:position = initial + rate * 60; 词法分析(自动分词+词性标注) 例:position = initial + 3rate * 60 单词值 单词类型 position 标识符(id1) = 运算符(赋值) initial 标识符(id2) + 运算符(加) 3rate 错误 * 运算符(乘) 60 整数 词法分析(自动分词+词性标注) 2 语法分析 第二阶段:保证句子结构的正确 输入:单词流 输出:语法树 依据:语法规则 (如:S→if C S else S | if C S) 主要功能: 分析句子是否合乎语法规则; 输出语法树(保证句子的结构正确); 发现并报告语法错误。 语法分析(自动句法分析) 语法规则(文法描述): 赋值语句 → 标识符 = 表达式 表达式 → 表达式 + 表达式 表达式 → 表达式 * 表达式 表达式 →(表达式) 表达式 → 标识符 表达式 → 整数 表达式 → 实数 例:position = initial + rate * 60 赋值语句 标识符 = 表达式 表达式 + 表达式 表达式 * 表达式 标识符 标识符 整数 语法分析(自动句法分析) 例:position = initial + rate * 60 分析过程: (分析树) 语法分析(自动句法分析) 例:position = initial + rate * 60 分析结果: id1=id2+id3*N (结构正确的语法树) = + id1 (position) * id2 (initial) id3 (rate) N (60) 3 语义分析 第三阶段:保证句子含义的正确 输入:结构正确的语法树 输出:语义正确的语法树 依据:语义规则

文档评论(0)

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

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

1亿VIP精品文档

相关文档