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

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

 

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

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

 

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

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

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

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

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

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

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

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

 

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

 

2解释程序

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

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

 

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

 

转载于:https://www.cnblogs.com/13224ACMer/p/5228694.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值