常用语言编译与解释
A. 解释 编译和编译 汇编的区别是什么
解释和编译针对的是高级语言的。是高级语言转换成机器代码的方式。编译指的是一次性将程序代码给转换成机器代码,这样做好处是编译之后的可执行程序方便移植,可以优化程序代码,并且执行效率要比解释语言的高!解释是指边解释边运行,解释一条语句便执行一条。显然这样的程序执行效率是比较低的。比如C/C++用的是编译,而basic用的是解释。JAVA既用到解释,又用到编译。而汇编是一种低级程序设计语言,直接操纵底层硬件。是在机器语言(0,1代码串)的基础上采用助记符的方式发展而来的。很多病毒都是通过汇编语言写的。用汇编编写的程序执行效率非常高!只是不方便写程序。汇编语言是低级语言,没有语法,就是一条条机器指令的助记符而已,所以汇编的时候不需要语法分析。编译时把高级语言处理成机器指令的过程,编译的时候需要做词法分析和语法分析,然后是代码生成。
B. 请问汇编程序, 解释程序, 编译程序分别指
1、汇编程序
把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。汇编语言是为特定计算机或计算机系列设计的一种面向机器的语言,由汇编执行指令和汇编伪指令组成。
采用汇编语言编写程序虽不如高级程序设计语言简便、直观,但是汇编出的目标程序占用内存较少、运行效率较高,且能直接引用计算机的各种设备资源。它通常用于编写系统的核心部分程序,或编写需要耗费大量运行时间和实时性要求较高的程序段。
2、解释程序
解释程序是一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时,它直接执行源程序或源程序的内部形式(中间代码)。因此,解释程序并不产生目标程序,这是它和编译程序的主要区别。
3、编译程序
编译程序也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。
它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
(2)常用语言编译与解释扩展阅读:
工作过程
1、汇编程序
输入汇编语言源程序。检查语法的正确性,如果正确,则将源程序翻译成等价的二进制或浮动二进制的机器语言程序,并根据用户的需要输出源程序和目标程序的对照清单;如果语法有错,则输出错误信息,指明错误的部位、类型和编号。最后,对已汇编出的目标程序进行善后处理。
2、解释程序
由总控程序完成初始化工作。依次从源程序中取出一条语句进行语法检查,如有错,输出错误信息;如果通过了语法检查,则根据语句翻泽成相应的指令并执行它。检查源程序是否已经全部解释执行完毕,如果未完成则继续解释并执行下一条语句,直到全部语句都处理完毕。
3、编译程序
先进行词法分析与语法分析,然后生成中间代码,接着对程序进行多种等价变换来代码优化,最后生成目标代码。