编译原理概述(第一次作业)

(1)编译程序和解释程序都是一个翻译程序。翻译程序是把一种语言所写的源程序翻译成与之等价的另一种语言的目标程序,汇编程序是把汇编语言程序翻译成机器语言程序,解释程序是把源程序作为输入并执行它,边解释边执行。它与编译程序的主要区别在于在解释程序执行的过程中不产生目标语言,而是按照源语言的定义解释执行源程序本身。

(2)主要分为6个主要阶段,分别是词法分析、语法分析、语义分析、中间代码生成、代码生化、目标代码生成。词法分析是把字符从左到右一个一个字符读入源程序,对构成源程序的字符流进行扫描和分解;语法分析是把词法分析基础上将单词分解成各类语法短语;语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息;中间代码生成是把源程序变成一种内部表示形式;代码优化是将产生的中间代码进行变换和改造。目的是为了使生成的目标代码更为高效,即省时间和省空间;目标代码生成是把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。

(3)编译程序是整体编译完了,再一次性执行;而解释程序是一边解释一边执行。而且解释程序执行的过程中不产生目标代码,而是按照源语言的定义解释执行源程序本身,而编译程序会产生目标代码。

(4)华为方舟编译器是华为专门为软件厂商开发的一款编译器,能够有效解决安卓程序“边解释边执行”的低效率问题。华为方舟编译器采用全程执行机器码高效运行程序,架构进一步得到优化,性能也有明显提升。相较与此前流畅度,通过华为方舟编译器编译后的程序系统,操作流畅度、系统响应速度、三方应用操作流畅度都能有很大程度的提升。

猜你喜欢

转载自www.cnblogs.com/rinkong0403/p/11452033.html