编译方法结课作业.docx
《编译方法结课作业.docx》由会员分享,可在线阅读,更多相关《编译方法结课作业.docx(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编译方法结课作业姓名班级学号任课教师开设学期20 1 5-20 1 6 第一学期评定成绩评定人评定日期2016年1月10日1.谈谈你对编译程序工作过程的5个阶段的理解。答:编译程序正常工作五个过程的流程图如下列图所示。源程序目标程序阶段一:词法分析这个阶段的目的就是按照从左到右的顺序一个一个的将其读入源程序,即识 别一个单词,同时对其进行归类。这个过程就类似于我们对汉语语法的分析,比 如,我们输入这样一句话:我是一名东北大学的学生。然后对其进行语法分析, 读入“我”,可以识别这个单词为汉语实词中的代词类,“我”就归到名词类;读 入“是”,我们归到汉语实词中的动词类;读入“一”字,不能构成一个可
2、识别 的符号,紧接着读入“一名”,归为汉语实词中的形容词类;读入“东”字,也 不能构成一个可识别的单词,紧接着读入“东北大学”,归为汉语实词中的名词 类;读入“的”,我们归到汉语虚词中的助词类;读入“学”字,同样不能构成 一个可识别的单词,紧接着读入“学生”,归为汉语实词中的名词类。而在计算机中,如果我们对如下所写的某些代码进行归类: x:=x+l;beginy:=9;z:=y*x;end;归类结果如下表所示:注意:(1) KTk, PTp-静态表(系统设定);(2) ITi, CTc-动态表(随源程序变化);关键字表界符表符号表常数表阶段二:语 法分析在上面进行词法分析的基础上,将单词序列分
3、解成各类语法短语,如“程序”、 “语句”、“表达式”等等。比方通过上面的单词“我” “是” “一名” “东北大学” “的”“学生”,可以构成多种形式的语句,我是一名东北大学的学生,我是东北 大学的一名学生,东北大学的一名学生是我等等,都符合主语谓语这样的 语法。阶段三:语义分析与中间代码生成审查源程序是否有语义的错误,当不符合语言规范的时候,程序就会报错。 例如上面的“我是一名东北大学的学生” “我是东北大学的一名学生” “东北大学 的一名学生是我”三个句子,显然最后面的“东北大学的一名学生是我”就不符 合语义。接着在进行了语法和语义的分析工作之后,编译程序将源程序变成了一 种内部表示形式,这
4、种内部表示形式叫做中间语言或中间代码。我们可以理解为, 是生成一种介于源码和机器语言的形式。阶段四:代码优化根据代码优化是否涉及具体的计算机来划分:1 .与机器无关的优化(在源代码或中间代码级上进行),又可分三种:(1)全局优化一针对整个源程序。(2)局部优化一除全局优化外皆属此类。常值表达式节省(常数合并)如:a=4+3;b=a+l;4+3,a+1皆为常值表达式!那么可优化为a=7;b=8;又如a=5+3;.;a=x.; a=a+l;那么a+1不是常值表达式!公共子表达式节省(删除多余运算)如:a=b*d+l;e=b*d-2;b*d 是公共表达式!那么可优化为 t=b*d; a=t+1; e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 方法 作业
限制150内