书签 分享 收藏 举报 版权申诉 / 44
上传文档赚钱

类型编译原理课件Chapter01.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4520973
  • 上传时间:2022-12-16
  • 格式:PPT
  • 页数:44
  • 大小:501.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《编译原理课件Chapter01.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    编译 原理 课件 Chapter01
    资源描述:

    1、【学习目标】【学习目标】【学习指南】【学习指南】【难重点】【难重点】知识体系知识体系翻译程序翻译程序功能功能翻译途径翻译途径分类分类编译方式编译方式解释方式解释方式解释程序解释程序编译程序编译程序组成组成结构结构词法分析程序词法分析程序语法分析程序语法分析程序语义分析程序语义分析程序中间代码生成程序中间代码生成程序中间代码优化程序中间代码优化程序目标代码生成程序目标代码生成程序表格管理程序表格管理程序出错处理程序出错处理程序单遍扫描的编译程序单遍扫描的编译程序多遍扫描的编译程序多遍扫描的编译程序1 1、程序:一系列指令或语句,用来描述计算机依次、程序:一系列指令或语句,用来描述计算机依次要执行

    2、的一系列工作。要执行的一系列工作。2 2、结构:基本符号、结构:基本符号单词单词量量表达式表达式语句语句分分程序程序程序程序3 3、程序设计语言的定义、程序设计语言的定义 分语法、语义和语用三部分。分语法、语义和语用三部分。u语法语法是描述程序的结构,根据它可以产生正是描述程序的结构,根据它可以产生正确的程序(词法规则、语法规则)。确的程序(词法规则、语法规则)。u语义语义是语言成分的含义,由程序执行的效果是语言成分的含义,由程序执行的效果来说明。来说明。u语用语用是语言的实际应用。如:是语言的实际应用。如:x:=a+bx:=a+b*c c二、翻译和编译二、翻译和编译 翻译程序翻译程序 源程序

    3、源程序目标程序目标程序 高级语言或高级语言或 汇编语言汇编语言 目标语言目标语言 程序设计语言的转换程序设计语言的转换程序的执行方式:程序的执行方式:源源程程序序编编译译程程序序目目标标代代码码编译时编译时初初始始数数据据运行子程序运行子程序目标代码目标代码计计算算结结果果运行时运行时源源程程序序编编译译程程序序汇汇编编语语言言汇汇编编程程序序目目标标代代码码初初始始数数据据运行子程序运行子程序目标代码目标代码计计算算结结果果 翻译外文书刊翻译外文书刊 编译源程序编译源程序 阅读原文阅读原文 输入并扫视源程序输入并扫视源程序分析分析 识别单词识别单词 词法分析词法分析 分析句子分析句子 语法分

    4、析语法分析 理解含义理解含义 语义分析语义分析 简单记录简单记录 中间代码生成中间代码生成综合综合 修辞加工修辞加工 代码优化代码优化 写出译文写出译文 目标代码生成目标代码生成 如:如:I wish you success!I wish you success!1.21.2编译过程概述:编译程序的逻辑结构编译过程概述:编译程序的逻辑结构源程序源程序词法分析器词法分析器语法分析器语法分析器语义分析器语义分析器中间代码生成中间代码生成优化优化目标代码生成器目标代码生成器目标代码目标代码表格管理表格管理出错处理出错处理分析分析综合综合int x,a,b;int x,a,b;x=a+bx=a+b*5

    5、0;50;结果保留字 int 标识符 x界限符,标识符 a界限符,标识符 b界限符;标识符 x运算符=标识符 a运算符+标识符 b运算符*整常数 50界限符;单词种类:单词种类:一类是特殊的单词,如一类是特殊的单词,如保留字、运算符、分界保留字、运算符、分界符等,这些都是源语言符等,这些都是源语言所提供的;所提供的;另一类是普通单词,如另一类是普通单词,如用户在源程序中定义的用户在源程序中定义的标识符、常数等。标识符、常数等。赋值语句赋值语句标识符标识符=表达式表达式表达式表达式+标识符标识符idid2 2表达式表达式*表达式表达式标识符标识符idid3 31010idid1 1表达式表达式整

    6、数整数注注:idid1 1,id,id2 2,id,id3 3为为a,b,ca,b,c的内部表示。的内部表示。=idid1 1+id2id2*id3id31010赋值语句赋值语句a=b+ca=b+c*1010语法树的另一种形式语法树的另一种形式中间代码的特点中间代码的特点简单规范简单规范机器无关机器无关易于优化与转换易于优化与转换 常用的中间代码除了四元式外,还有三元式、常用的中间代码除了四元式外,还有三元式、间接三元式和逆波兰记号等等。间接三元式和逆波兰记号等等。t1:=id3t1:=id3*10.0 10.0id1:=id2+t1id1:=id2+t1赋值语句赋值语句a:=b+ca:=b+

    7、c*1010优化优化t t1 1:=inttoreal(10);:=inttoreal(10);t t2 2:=id:=id3 3 *t t1 1;t t3 3:=id:=id2 2+t+t2 2;idid1 1:=t:=t3 3;t1:=id3*10.0id1:=id2+t1生成目标代码生成目标代码 movf id3 ,r2 ;mulf#10.0 ,r2 ;movf id2 ,r1 ;addf r2 ,r1 ;movf r1 ,id1 ;分遍原则分遍原则目标质量高低目标质量高低(高则多遍高则多遍)机器内存大小机器内存大小(小则多遍小则多遍)源语言简繁源语言简繁(繁则多遍繁则多遍)设计人员多少

    8、设计人员多少(多则多遍多则多遍)遍遍输入文件输入文件输出文件输出文件词法词法分析分析语法语法分析分析语义分析和语义分析和中间代码生成中间代码生成 符符 号号 表表 管管 理理 错错 误误 的的 诊诊 查查 处处 理理取单词取单词送单词送单词源程序源程序语法构造语法构造返回返回中间代码中间代码源程序源程序词法分析词法分析等价程序等价程序1 1语法分析语法分析等价程序等价程序2 2语义分析语义分析等价程序等价程序3 3把前端组织成多遍扫描把前端组织成多遍扫描多遍:上一遍的输出是下一遍的输入。多遍:上一遍的输出是下一遍的输入。编译程序编译程序源程序源程序目标程序目标程序需预处理的源程序需预处理的源程序编译程序编译程序汇编程序汇编程序编编译译程程序序的的伙伙伴伴程序格式化工具程序格式化工具用更加清晰可读的格式排版程序,如缩进,格用更加清晰可读的格式排版程序,如缩进,格式,注释使用专门字体等。式,注释使用专门字体等。对程序进行分析,确定模块间的调用关系,程序对程序进行分析,确定模块间的调用关系,程序数据的静态属性和结构属性,变量的交叉引用,程数据的静态属性和结构属性,变量的交叉引用,程序的控制流程图等,以帮助用户理解程序。序的控制流程图等,以帮助用户理解程序。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:编译原理课件Chapter01.ppt
    链接地址:https://www.163wenku.com/p-4520973.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库