编译原理(第一次作业)

1.翻译程序是一种把一种语言(称作源语言)书写的程序翻译成另一种语言(称作目标语言)的等价程序。

翻译程序有两种,分别是编译程序和解释程序。

编译程序是一种将高级语言翻译成低级语言的程序。

汇编程序是一个翻译程序,它把汇编语言程序翻译成机器语言程序。

编译程序与汇编程序的区别:两者的源语言和目标语言不一样。编译程序的源语言是高级语言(如C、Pascal或FORTRAN),目标语言是汇编语言或机器语言那样低级语言;而汇编语言的源语言是汇编语言,目标语言是机器语言。

2.编译过程包括六个主要阶段:

词法分析:语法分析是第一阶段,这个阶段的任务是从左到右一个字符一个字符地读入源程序,对构成源程序地字符流进行扫描和分解,从而识别出一个个单词。

语法分析:语法分析的任务是在词法分析的基础上将单词程序分解成各类语法短语。

语义分析:语义分析是审查源程序有误语义错误,为代码生产阶段收集类型信息。

中间代码生成:在进行了上述的语法分析和语义分析阶段的工作之后,有的编译程序将源程序变成一种内部表示形式,这种内部表示形式叫做中间语言或中间代码。

代码优化:这一阶段的任务是对前一阶段产生的中间代码进行变换或进行改造,谜底是使生成的目标代码更为高效。

目标代码生成:这一阶段的任务是把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。

3.解释程序与编译程序的区别:

①编译程序能生成目标程序,而解释程序不能。

②解释程序是直接执行源程序,边翻译边执行,执行速度慢,而编译程序先编译,后执行,速度快。

4.方舟编译器采用全程执行机器码高效运行程序,架构进一步得到优化,可供开发者在开发环境一次性的将高级语言编译为机器码,手机安装应用程序后可全速运行程序,带来效率上的极大提升。虽然安卓系统使用Java作为编程语言,易于开发,但是不会将代码直接编译成机器语言,程序运行时有相当一部分代码还需要通过手机上的虚拟机临时同步编译,影响程序执行的效率。华为方舟编译器采取了静态编译的方式,提高速率,是首个取代了安卓虚拟机模式的静态编译器。 目前,中国和美国在打贸易战,这必将对中国产生影响,华为方舟编译器的出现比会有利于我国的科技发展。

 

posted on 2019-09-04 11:13  是诗诗吖  阅读(681)  评论(0编辑  收藏  举报