第一次作业---了解编译原理

1.简述编译程序与翻译程序、汇编程序的联系与区别。

编译程序是把高级语言程序编译成低级语言程序,一种由高级语言变为低级语言的程序;而汇编程序是一个翻译程序,他把汇编语言翻译成机器语言程序。

2.编译过程包括哪几个主要阶段及每个阶段的主要功能。

主要包括6个阶段,分别是词法分析,语法分析、语义分析、中间代码生成、代码优化和目标代码生成。词法分析的主要功能是从左到右的逐个把字符读入到源程序里,并且进行扫描和分解,从而识别出具有意义的单词。语法分析主要功能是在词法分析的基础上将单词序列分解成各类语法短语,比如“程序”、“语句”、“表达式”等。语义分析的主要功能是审查源程序有无语义上的错误,为代码生成阶段手机类型信息。中间代码生成这一阶段是在进行了语法分析和语义分析这两个阶段的工作后,有的编译程序将源程序变成了一种内部的表示形式,而这种内部表示形式叫做中间代码。代码优化这一阶段是对上一个阶段“中间代码生成”所产生的代码进行优化,使得代码变得更加的高效。目标代码生成是编译的最后阶段,主要是把优化后的中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码。

 

3.简述解释程序与编译程序的区别。

编译程序是一种语言处理程序,它需要把整个程序全部翻译完成之后,才能开始运行,否则是不会产生任何结果的;而解释程序与编译程序的区别主要在于,解释程序是不需要在运行前先把源程序翻译成目标代码,也可以实现在某台机器上运行程序并生成结果。

posted @ 2019-09-04 11:11  荔枝干  阅读(161)  评论(0编辑  收藏  举报