- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
符 号 表 position … initial … rate … … … 代码生成器 代码优化器 语义分析器 中间代码 目标代码 中间代码 中间代码生成器 + id1 := * id2 Inttoreal 60 id3 生成的中间代码为: temp1:= inttoreal ( 60 ) temp2:= id3 * temp1 temp3:= id2 + temp2 id1 : = temp3 生成的代码为: MOVF id1 , R2 MULF #60.0 , R2 MOVF id2 , R1 ADDF R1 , R2 MOVF R1 , id1 优化: 生成的中间代码为: temp1:= inttoreal ( 60 ) temp2:= id3 * temp1 temp3:= id2 + temp2 id1 : = temp3 temp1:= id3 * 60.0 id1 : = temp1 编译程序的工作过程过程 目标代码生成 优 化 语义分析与中间代码生成 语法分析 词法分析 源程序 单词符号 语法单位 中间代码 目标代码 中间代码 输入源程序,扫描、分解源程序中的字符串, 根据词法规则识别出单词符号串。 在词法分析基础上,把单词符号串分解为各类语法单 位。通过语法分析, 判别它是否为语法上正确的程序。 分析语法分析产生的各类语法单位,进行初步翻 译,生成中间代码。 依据等价变化原则,对中间代码进行加工变换, 以期在后面产生更高效的目标代码。 把中间代码变换为特定机器行的低级语言代码。 这5个阶段只是从逻辑功能上的一种划分,实际情况要具体问题具体分析。 (1) 词法分析: 主要任务:从左到右扫描源程序,识别单词及其有关属性 , 并转换成属性字 (2) 语法分析: 主要任务:分析源程序的结构, 判别它是否为相应程序设计 语言中的一个合法程序 (3)语义分析和中间代码生成: 根据语法结构分析其含义,并用某中间语言表示出来,亦就生成中间代码,或者直接生成目标代码。 使用中间语言的好处: 使编译算法更加清晰,便于优化,还使编译程序的更多部分不依赖于目标机器 常见的中间代码形式: 逆波兰表示 三元式 四元式 树形结构等等 三元式定义为如下形式:(op, a1, a2) 对于表达式:a + b * c / d 则有三元式: (1) ( *, b, c) (2) (/, (1), d) (3) (+, a , (2) ) 于是 x : = 2 * a + b 的中间代码形式为: (1) ( *, 2, a) (2) (+, (1), b) (3) (:=, (2), x) (4)代码优化: 为了提高目标程序的质量而进行的工作。所谓目标程序的优化,就是尽量缩短运行时间和尽量最少占用存储空间 (5)目标代码生成: 完成从中间代码到目标代码的生成工作。如果在语义分析时已直接生成了目标代码,则无需做此项工作 编译程序框架 目标代码生成器 优化器 语义分析与中间代码生成器 语法分析器(分析器) 词法分析器(扫描器) 源程序 单词符号 语法单位 中间代码 目标代码 中间代码 表 格 管 理 出 错 处 理 记录源程序的各类信息和编译各阶段的进展情况 一组出错处理程序完成错误发现、报告、处理工作 信息表管理程序: 主要任务:建立一批不同用途的表格 + 保持一些专用的表格 一般信息表的登记项由关键字和与之相关联的信息组成 错误检查和处理程序: 主要任务:查错和纠错 出错处理程序:发现源程序的错误,把错误信息报告给用户 遍 对源程序或源程序的中间结果从头到尾扫描一次。并作有关加工处理,生成新的中间结果或目标程序。 (既可将几个不同阶段合为一遍,也可把一个阶段的工作分为若干遍。) 编译程序的功能和组织结构 表 处 理 词 法 分 析 源 程 序 目 标 程 序 错 误 处 理 语 法 分 析 语 义 分 析 目 标 代 码 生 成 前 端 后 端 中 间 代 码 优 化 中 间 代 码 生 成 编译程序的前端 ——与源语言有关,而与目标机无关的编译程序 ——主要完成分析工作(机器无关) 前端的组成部分: (1)词法分析:识别各个最小语法单位。 (2)语法分析:识别出各个语法结构。 (3)语义分析:确定类型,类型/运算合法性检查,识别含义和相应处理,静态语义检查。 (4)中间代码生成 编译过程分成前端和后端两部分 编译程序的后端
您可能关注的文档
- 1地理建模原理与方法试题.doc
- SDH_基本原理摘要.ppt
- SDH本地网光缆传输工程设计规范摘要.ppt
- 第一章细胞规范.ppt
- SDH的开销字节精讲摘要.ppt
- 第一章现代广告的价值观规范.ppt
- 1建筑初步设计总说明--内容试题.doc
- SDH和DWDM传输原理培训摘要.ppt
- SDH系统SNCP子网连接保护摘要.ppt
- 第1课《人类的形成》世界历史规范.ppt
- 2025年11月广东深圳高级中学(集团)面向2026年应届毕业生赴外招聘教师54人笔试模拟试题及答案解析.docx
- 2026民航华北、华东、中南、西南空管局招聘考试备考试题及答案解析.docx
- 2026石家庄事业单位“英才入石”选聘512名考试备考试题及答案解析.docx
- 2025山东潍坊临朐县中医院招聘工作人员17人笔试参考题库附答案解析.docx
- 泸州市江阳区2025年秋季事业单位人才招聘工作笔试备考题库及答案解析.docx
- 2025重庆两江新区天宫殿社区卫生服务中心招聘4人(含派遣岗位)笔试备考题库及答案解析.docx
- 2026中国国际货运航空股份有限公司北京地区统招岗位高校毕业生校园招聘19人笔试备考试题及答案解析.docx
- 2025重庆奉节县人力资源和社会保障局招聘公益岗2人考试参考题库附答案解析.docx
- 2025呼和浩特市消防救援支队招录31名政府专职消防员笔试备考试题及答案解析.docx
- 成都市金牛区2025“蓉漂人才荟”赴高校公开招聘事业单位工作人员(第二批次)(12人)考试参考试题附答案解析.docx
有哪些信誉好的足球投注网站
文档评论(0)