标签:
将高级语言程序翻译成机器语言程序的软件称为翻译程序
翻译程序有两种,一种是编译程序,一种是解释程序
1编译程序是将高级语言程序(如pascal ,fortran,c等)源代码作为输入,直接进行翻译生成出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果
编译程序工作时,先分析,后综合,从而得到目标程序,
分析指的是词法分析和语法分析,综合指的是代码的优化,存储的分配和代码的生成
为了完成分析综合任务,编译程序对源程序进行一次甚至多次的扫描,每次扫描完成一项或多项任务,也有可能一项任务呗分成多次扫描才能完成,
eg:进行一项4次扫描的翻译
(1)第一遍扫描做词法分析
(2)第二遍扫描做语法分析
(3)第三遍扫描做代码优化和存储分配,
(4)第四遍扫描做代码生成
另外,大多数扫描直接生成机器语言的目标代码,但是有的也生成汇编语言的目标代码,进而在转化为机器语言的目标代码
2解释程序
同样将源代码(如basic语言)的程序作为输入,解释一句就提交计算机执行一次,并不形成目标文件,就想口语交际的中翻译,说出一句翻译一句,或者是终端的dos窗口,在终端输入一条命令语句,解释程序立刻返回给终端若干句;
这种只是适用于小型机器的计算问题,解释程序的执行速度较慢,如果出现循环,也是重复着提交那么一句
在日常生活中,如果需要大量的计算,建议使用招待速度较快的编译程序,虽然编译程序较为复杂,但是一旦生成目标文件。以后就可以多次使用。对于小型的计算,就多采用解释性的回话高级语言
标签:
原文地址:http://www.cnblogs.com/13224ACMer/p/5228694.html