- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理;开课目的;课程简介;课 程 简 介;内容简介 ; 第一章 概 论;1.1什么是编译程序;;;;Compiler;Compiler; ;Compiler;1.2 编译程序的基本结构
一段英文翻译成中文
需经下列步骤:
识别出句子中的单词
分析句子的语法结构
根据句子的含义进行
初步分析
对译文进行修饰
写出最后的译文;;一、词法分析 ;举例说明
Void jisuan( )
{int y,c,d;
float x,a,b;
x=a+b*50;
y=c+)d*(x+b;
};1.词法分析;二、语法分析;语法分析的方法:
——推导(derive)和归约(reduce)
推导——最左推导,最右推导
最右推导 最左归约 (x=a+b*50);A V=E;归约—最右归约,最左归约
A V=E x=E x=E+T x=T+T
x=V+T x=a+T x=a+T*F x=a+F*F x=a+V*F x=a+b*F
x=a+b*C x=a+b*50
最左推导 最右归约;C语言语句 y=c+)d*(x+b
分析过程:
A V=E V=E+T V=E+F V=E+V V=E+b V=T+b V=T*F+b V=T*V+b V=T*x+b
无法得到该句
故,该C语言语句是错误的;
具体地说,语法分析是在记号流的基础上建立一个层次结构——建立语法树
语法分析过程也可以用一棵倒着的树来表示
这棵树叫语法树,比如上述程序段中的单词序列:id1=id2+id3*60经语法分析得知其是PASCAL语言的“赋值语句”,表示成如下所示形式。 ; ;第一章 概 论 ;三、语义分析、生成中间代码;Compiler;符 号 表 ;总结一下语义分析主要的任务: 完成静态语义审查和处理 上下文相关性审查 类型匹配审查 类型转换 ;Compiler;四、代码优化 ;试图改进中间代码,以产生执行速度较快占用内存空间少的机器代码
原则:等价变换
主要方面:公共子表达式的提取、合并已知量、删除无用语句、强度削弱、循环优化等优化工作;五、目标程序生成;
由中间代码很容易生成目标程序(地址指令序列)。这
部分工作与机器关系密切 ,所以要根据机器进行。在做这
部分工作时(要注意充分利用累加器),也可以进行优化
处理。;1.3.2 编译程序构造 ; 编译程序构造;Compiler;Compiler;6、表格管理;符号表管理;常数表与标号表;入口名表;7、错误处理;上一遍的结果是下一遍的输入,最后一遍生成目标程序;Compiler;
一遍扫描
—注:遍与阶段的含义毫无关系
多遍扫描
—优点:节省内存空间,提高目标代码质量,使编译的逻辑结构清晰
—缺点:编译时间较长
—注:在内存许可情况下,遍数尽可能少为好;三、前端和后端;第一章 概 论 ;第一章 概 论 ;第一章 概 论 ;第一章 概 论 ;四、 编译程序的前后处理器 ;1.4 编译程序的生成 ;回顾:;【思考题】 ① 为什么需要编译程序? ② 用源程序片段 if (a=b+1) {b = a * a ; … }… 为例,考虑编译过程中它可能的不同表示形式来理解编译各阶段的工作。 ③ 比较你所使用过的一些语言的编译程序:他们的编译速度,出错信息的可读性,有无优化选择等等。
您可能关注的文档
最近下载
- 4AM3U3 In the shop At Panda’s Glasses Shop ppt英语教学课件.pptx
- 2023年四川省成都市高考物理一诊试卷(含答案解析).docx
- 人教版(2024)英语七年级上册Unit 5 Fun Clubs重难点题型专练(含答案).doc VIP
- GB50174-2008电子信息系统机房设计规范.docx
- 2006-年度经教育部备案或审批同意设置的-高等学校本科专业名单.pdf
- 河南省青桐鸣大联考2024-2025学年高二上学期10月月考英语试题(含解析,含听力原文无音频).pdf VIP
- _电缆桥架安装图集.pdf VIP
- 2024入团前基础知识题库(含答案).docx
- 《小萝卜头的故事》PPT课件.pptx
- 大厦高大模板专项施工方案.doc
文档评论(0)