欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    编译程序 构造原理和实现技术.ppt

    • 资源ID:69826389       资源大小:93.50KB        全文页数:15页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    编译程序 构造原理和实现技术.ppt

    编译程序构造原理和实现技术 授课教师:吕江花第一章 编译程序概述主要内容:主要内容:l 几个基本概念几个基本概念l 编译器的工作过程概述编译器的工作过程概述l 编译器各个阶段的功能描述编译器各个阶段的功能描述l 编译程序的实现途径编译程序的实现途径基本概念基本概念l机器语言机器语言:能够被计算机的硬件系统直 接执行的指令程序。l汇编语言:将硬件指令用一些助记符表 示。如ADD表示加法操作,SUB表示减法操作等等 l高级语言:使用便于理解的自然语言。语言处理程序语言处理程序l解释程序(器)解释程序(器):接受所输入的用程序 语言(源语言)编写的程序(源程 序),然后直接解释执行源程序。相当于源程序的抽象执行机,是语 言的实现系统。高级语言源程序高级语言源程序 计算结果计算结果 数据数据 解释程序解释程序 (器)(器)语言处理程序语言处理程序l翻译程序(器)翻译程序(器):接受某种语言的源语 言程序后,将它改造成另一种逻辑 上等价的目标语言程序。翻译程序翻译程序l汇编程序:源语言为汇编语言,目标语言为机器语言的翻译程序。l编译程序(器):源语言为高级语言,目标语言是低级语言(汇编或机器语言)的翻译程序。高级语言程序高级语言程序(源程序)(源程序)低级语言程序低级语言程序(目标程序)(目标程序)编译程序编译程序 (器)(器)需预处理的源程序需预处理的源程序预处理器预处理器源程序源程序编译程序编译程序目标汇编程序目标汇编程序汇编程序汇编程序可重定位的目标代码可重定位的目标代码连接连接/装配程序装配程序绝对目标代码绝对目标代码高高级级语语言言程程序序到到可可执执行行代代码码的的转转换换过过程程解释器和编译器特点解释器和编译器特点l 概念上的不同概念上的不同l 基于解释执行的程序可以动态修改自身,基于解释执行的程序可以动态修改自身,而基于编译执行的程序则需要动态编译技而基于编译执行的程序则需要动态编译技 术,难度较大。术,难度较大。l 基于解释方式有利于人机交互。基于解释方式有利于人机交互。l 执行速度。解释器执行速度要慢。执行速度。解释器执行速度要慢。l 空间开销。空间开销。解释器需要保存的信息较多,解释器需要保存的信息较多,空间开销大空间开销大l 利用解释器可自动生成编译器利用解释器可自动生成编译器二者实现技术相似。二者实现技术相似。编译器的功能结构图编译器的功能结构图表表 处处 理理 错错 误误 处处 理理 目目标标代代码码生生成成中中间间代代码码优优化化中中间间代代码码生生成成语语义义分分析析语语法法分分析析词词法法分分析析目目标标程程序序源源程程序序l词法分析词法分析(Lexical Analysis)Lexical Analysis)依循语言的词法规则,扫描源程序的字依循语言的词法规则,扫描源程序的字符串,识别每一个单词,并将其表示成符串,识别每一个单词,并将其表示成所谓的机内表示所谓的机内表示TOKEN形式。形式。l语法分析语法分析(Syntax Analysis)Syntax Analysis)依据语言的语法规则,将单词的依据语言的语法规则,将单词的TokenToken序序 列分解成各类语法短语,确定整个输入列分解成各类语法短语,确定整个输入 串是否构成一个语法上正确的程序。串是否构成一个语法上正确的程序。l语义分析语义分析(Semantic AnalysisSemantic Analysis)审查审查源程序有无源程序有无语义错误语义错误,为为代代码码生成生成 阶阶段收集段收集类类型信息。型信息。l中间代码生成中间代码生成 (Intermediate Code GenerateIntermediate Code Generate)将源程序转换成一种称为中间代码的内将源程序转换成一种称为中间代码的内 部表示形式。中间代码是一种简单的含义部表示形式。中间代码是一种简单的含义 明确的记号系统。明确的记号系统。l中间代码优化中间代码优化(Code OptimizationCode Optimization)变换或改造中间代码,生成的目标代码变换或改造中间代码,生成的目标代码 更为高效,即节省时间和空间。更为高效,即节省时间和空间。l目标代码生成目标代码生成(Code GenerationCode Generation)中中间间代代码变换为码变换为特定机器上的特定机器上的绝对绝对指令代指令代码码或可重定位的指令代或可重定位的指令代码码或或汇编汇编指令代指令代码码。l表格管理表格管理(Symbol-Table Management)为了合理的管理表格(构造、查找、更为了合理的管理表格(构造、查找、更新),设立一些专门子程序称为表格管新),设立一些专门子程序称为表格管理程序负责管理表格。理程序负责管理表格。l错误处理错误处理(Error Detection and Reporting)各各个个阶阶段段还还存存在在着着错错误误处处理理模模块块,当当有有错错误误出出现现时时,由由相相应应的的错错误误处处理理模模块块给给出出解解决决方方案案,使使得得编编译译器器能能够够继继续续进进行行下去。下去。编译程序的实现途径l预处理方法预处理方法用于语言的扩充。设已有L语言的编译器,其扩充语言L1的编译器可通过语言转换程序将L1程序转换为L程序,利用L的编译器,从而实现L1的编译器。l移植法移植法 同一语言的编译器在同一语言的编译器在不同机器间的移植。方法:a a 目标代码的转换目标代码的转换 b b 修改中间代码到目标代码的转换修改中间代码到目标代码的转换l自展法自展法 自我扩展,自己编写自己的编译器。l工具法工具法 利用编译阶段各个部分的自动生成工具自动生成。l理论法理论法 利用形式化描述理论,实现自动化。编译程序的作用 l 理解语言,编写出高效的代码理解语言,编写出高效的代码l 灵活设计实现自定义语言灵活设计实现自定义语言l 提高软件设计技术提高软件设计技术l 应用于涉及元级操作的实现应用于涉及元级操作的实现l 其它领域其它领域第二章第二章 一个微小语言一个微小语言Micro的的编译器编译器

    注意事项

    本文(编译程序 构造原理和实现技术.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开