源程序、目标程序、汇编程序、编译程序、解释程序之间的关系
源程序、目标程序、汇编程序、编译程序、解释程序之间的关系
翻译程序是这样一种程序:它能把用甲种语言编写的程序翻译成在功能上与之等价
的用乙种语言编写的程序。我们把甲种语言称为源语言,把乙种语言称为目标语言。用源
语言编写的程序称为源语言程序(简称源程序source program),而翻译后的用目标语言书
写的程序称为目标语言程序(简称目标程序object program)。
如果源语言是汇编语言,目标语言是机器语言,这个翻译程序就称为汇编程序(as_
sembler)。如果源语言是某一高级语言,目标语言是机器语言,这个翻译程序就根据具体
情况,分别称为编译程序(compiler)或解释程序(interpreter)。
由于各种高级语言的语法和结构不同,所以它们的翻译程序也不同。每种语言都有自
己的翻译程序,互相不能代替。所谓某种类型的计算机配有某种语言,是指该机上已配置
该语言的翻译程序。这样,用户用该语言编写程序后,经过该语言的翻译程序的翻译,计算
机就可以执行了。
翻译程序在早期是用机器语言或汇编语言编写的,费时费力。现在已经研制出了能书
写翻译程序的高级语言,如PASCAL语言、C语言等。这种语言也称为系统设计语言。
高级语言的翻译程序具体分为两种:解释程序和编译程序。
解释程序对源程序边扫描边翻译,按照源程序描述的过程,一个语句、一个语句地解
释执行,它不产生目标程序。或者更准确地说,它产生的是短暂的(transient)目标程序。但
没有对应于整个源程序的一个完整、单独的目标程序存在。程序执行时,源程序和解释程
序都参加。这种解释方式运行速度慢,但便于进行人机会话,随时可修改执行中的源程序。
如BASIC语言、LOGO语言的版本大多是用解释程序处理的。
编译程序对源程序经过加工处理之后,产生一个与之完全等价的永久的( permanent)
目标程序,然后去执行目标程序。由于执行时与源程序和编译程序完全无关,所以一个源
程序一旦编译成功后,在使用时只要执行其目标程序就可以了。这样,程序执行时间少,速
度快,但是这种编译方式不灵活,如果要修改源程序,就必须再重新编译。目前使用的高级
语言FORTRAN、PASCAL、C()BOL等都采用编译程序进行处理,BASIC、LOGO语言也
有用编译程序处理的版本。
上述三种翻译程序的处理过程可分别图示如下。
汇编程序处理过程如图所示:
绘制程序
↓
汇编语言源程序→机器语言目标程序→执行结果
执行
图8.1汇编程序处理过程
解释程序处理过程如图8.2所示:
解释程序
↓
高级语言源程序→执行结果
解释并执行
图8.2解释程序处理过程
编译程序处理过程如图8.3所示:
编译程序
↓
高级语言源程序→机器语言目标程序→执行结果
编译 执行
对一个计算机程序来说,源程序是它的“书写形式”(written form或written version),
也是它的“人读形式”(human - readableform);目标程序是它的“工作形式”(working
form或working version),也是它的“机读形式”(machine - readable form)。
通常散发或出售程序是散发或出售该程序的目标代码。这比散发或出售源代码有几
个好处。例如,运行目标代码比对源代码边解释边执行要快得多;当以目标代码形式给出
程序时,程序中所包含的技术秘密(know - how)不容易被他人获取。
某些计算机语言(如COBOL)程序,只能够以目标码形式运行,即程序必须首先经过
编译。而另一些计算机语言(如BASIC)程序,则既可以经编译生成目标码后运行之,也可
以按解释的方式运行,即在运行该程序时由解释程序将源码逐行转换为暂时的目标码。
广东省只专注于软件网络著作权、商业秘密侵权维权领域的长昊律师事务所:
广东长昊律师事务所,成立于1995年,立足深圳辐射全国,是中国恢复律师体制后,最早一批经司法部正式批准成立的合伙制律师事务所,是中国目前最大的、服务内容最全面、专业程度最高、辐射范围最广的以知识产权服务为核心竞争力的律师事务所之一。在20多年的执业经历中,本所曾多次被司法部评为全国法律服务文明窗口,多次获得“司法行政先进集体”、“广东优秀律师事务所”等荣誉称号。先后创立了《中国高智能侵权维权网》、《大商律师网》、《天玑知识产权网》、《脑酷商业秘密网》、《为您取证网》、《辩护狂》等网站,为普及知识产权法律知识、提高知识产权保护意识,解决知识产权纠纷起到了举足轻重的作用,在一定范围内建立了知识产权立案、保护的行业标准。
我们的团队只做高智能侵权维权、软件网络著作权、商业秘密案件、不正当竞争类案件。您的咨询,我们的律师都会竭诚为您解答(咨询热线:188****4932、188****6213,网站:www.sos110.org)。




