解释程序和编译程序的区别

将高级语言程序翻译成机器语言程序的软件称为翻译程序

 

翻译程序有两种,一种是编译程序,一种是解释程序

1编译程序是将高级语言程序(如pascal ,fortran,c等)源代码作为输入,直接进行翻译生成出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果

 

编译程序工作时,先分析,后综合,从而得到目标程序,

分析指的是词法分析和语法分析,综合指的是代码的优化,存储的分配和代码的生成

为了完成分析综合任务,编译程序对源程序进行一次甚至多次的扫描,每次扫描完成一项或多项任务,也有可能一项任务呗分成多次扫描才能完成,

eg:进行一项4次扫描的翻译

(1)第一遍扫描做词法分析

(2)第二遍扫描做语法分析

(3)第三遍扫描做代码优化和存储分配,

(4)第四遍扫描做代码生成

 

另外,大多数扫描直接生成机器语言的目标代码,但是有的也生成汇编语言的目标代码,进而在转化为机器语言的目标代码

 

2解释程序

同样将源代码(如basic语言)的程序作为输入,解释一句就提交计算机执行一次,并不形成目标文件,就想口语交际的中翻译,说出一句翻译一句,或者是终端的dos窗口,在终端输入一条命令语句,解释程序立刻返回给终端若干句;

这种只是适用于小型机器的计算问题,解释程序的执行速度较慢,如果出现循环,也是重复着提交那么一句

 

在日常生活中,如果需要大量的计算,建议使用招待速度较快的编译程序,虽然编译程序较为复杂,但是一旦生成目标文件。以后就可以多次使用。对于小型的计算,就多采用解释性的回话高级语言

 

posted @ 2016-02-29 19:34  柳下_MBX  阅读(8350)  评论(0编辑  收藏  举报