高级语言被执行需要变成机器语言,编译程序是负责把编译型高级语言写的程序变成机器语言的软件工具。
编译程序也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。
它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。
高级语言是相对于机器语言,是一种指令集的体系。
这种指令集,是高度封装了的编程语言,与低级语言相对。
它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示,从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。
解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再加以执行;编译程序则是将源程序翻译成目标语言程序,然后在计算机上运行目标程序。
两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程,而在解释方式下,解释程序和源程序要参与到程序的运行过程中,运行程序的控制权在解释程序。
解释器翻译源程序时不生成独立的目标程序,而编译器则将源程序翻译成独立的目标程序。