编译原理chapter1 编译概述.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理chapter1 编译概述

1 1 源程序 PROGRAM m; VAR a,b,c:real; BEGIN read(b,c); a:=b+c*60; write(a) END. 经词法分析源程序被加工成单词流 保留字,PROGRAM 标识符,m 分隔符, ; 保留字,VAR 标识符,a 标识符,b 标识符,c 分隔符, : 标识符, real 分隔符, ; 保留字, BEGIN …... 标识符,a 算符 , := 标识符,b 算符, + 标识符,c 算符,* 常数 ,60…… 保留字, END 分隔符, . 生成中间代码 temp1:=inttoreal(60); temp2:=c * temp1; temp3:=b +temp2; a :=temp3; 符号表 错误的诊查处理 编译程序在各个阶段应诊断和报告源程序中的错误,包括词法错误,语法错误,语义错误。 编译程序应报告出错地点,并给出简明准确的提示信息。 编译程序(器)的组织 前端和后端 源程序 中间代码 目标代码 仅依赖源程序 仅依赖目标计算机 遍(PASS): 对输入文件(源程序或其等价的中间形式)从头到尾扫视,完成预定的处理。 设计编译程序应首先研究的问题 首先研究源程序的语法和语义及运行模型,源是设计编译程序的出发点。 研究目标计算机,设计目标代码的指令系统,它是由目标计算机扩充而成,扩充后的计算机称作抽象计算机。目前的通用计算机往往和源语言执行模型不一致。。 教和学的几个问题 重要性:处理字符串的一般方法;构造大程序的方法;实用;研究课题:新的语言及实现技术;并行编译技术。 学习方法 :(1)源程序是源泉;(2)把每个阶段放到整个编译程序背景中学习;(3)认真做作业。 每周有一次答疑。 参与网上教材的修改与创新。 教材和参考书 教材: (1)编译程序设计原理 北京大学出版社,杜淑敏等编著。 (2)网络版(软件工程中心资助)。 * * 编译程序 目标程序 源程序 把高级语言程序翻译成等价的低级语言 程序。 编译系统:编译程序和运行程序 编译程序的功能 词 法 分 析 语 法 分 析 语 义 分 析 中间代码生成 优 化 目标代码生成 目标代码 源 程序 符 号 表 管 理 错 误 诊 查 处 理 3 编译程序的逻辑结构 赋值语句 变 量 : = 表达式 表达式 + 项 项 因子 b 项 * 因子 因子 c 60 a 赋值语句经语法分析生成分析树 := a + b * c inttoreal 60 赋值语句经语义分析生成语法树 优 化 Temp1 :=c * 60.0 a := b+temp1 生成目标代码 movf c , r2 ; mulf #60.0 , r2 ; movf b , r1 ; addf r2 , r1 ; movf r1 , a ; 遍 输入文件 输出文件 前端 后端 词法 分析 语法分析 语义分析和 中间代码生成 源程序 中间代码 符 号 表 管 理 错 误 的 诊 查 处 理 把前端组织成一遍扫描 编译程序 源程序 目标程序 抽 象 目标 * * * *

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档