程序语言是为了书写计算机程序而人为设计的符号,用于对计算过程进行描述、组织和推导,程序语言分为低级语言和高级语言,低级语言包括计算机硬件能识别的由0、1组成的机器指令语言和用符号组成的指令语言汇编集合的汇编语言,高级语言是人们开发的功能更强、抽象级别更高的语言以支持程序设计,面向各类应用的程序语言。
由于计算机只能理解由0、1序列构成的机器语言,因此高级程序语言需要翻译,即将高级语言或汇编语言编写的程序翻译成某种机器语言好曾向,担负这一任务的程序称为“语言处理程序”,语言处理程序的基本方式为汇编、解释和编译。
用符号表示的指令称为汇编指令,汇编指令集合称为汇编语言。
汇编语言由指令语言、伪指令语句和宏指令语句构成。指令语句又称为机器指令语言,将指令语言汇编后能产生相应的机器代码。伪指令语句,是指示汇编源程序时完成某些工作,通俗的说是写给“汇编软件”看的,不翻译成机器码。宏指令语句,多次重复使用的程序段叫宏,需要使用这段程序时,只要使用宏名即可以,这样宏的引用就是宏指令语句。
汇编语言编写的程序为汇编语言程序,汇编语言程序将汇编语言所编写的源程序翻译成机器指令程序。该工作包括两部分,一是将汇编语言转换成机器指令,另一部分处理源程序中的伪指令。该工作是实现途径是通过两次扫描源程序。
编译程序是把某种高级语言书写的源程序翻译成目标语言程序。
编译程序工作分为六个阶段,分别是此法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成这六个阶段,但是在实际的编译器中可能会将其中的某些阶段结合在一起进行处理。
在逻辑上将这六个阶段分为前段和后端,前段从词法分析到中间代码生成4个阶段,后端包括代码优化和目标代码生成这两个阶段,前段和后端把编译器分成了与机器无关编程语言有关和机器有关编程语言无关两部分。
解释程序可以直接将源程序解释执行,也可以将源程序翻译成某种中间代码形式,然后对中间代码进行解释来执行。
解释程序的词法、语法和语义与编译程序基本相同,不过不同的是解释程序不产生目标程序,运行时候需要源程序和解释程序参与。
编译方式下,机器上只运行目标程序,源程序和编译程序不参与目标程序执行;解释方式下,源程序和解释程序要参与到程序运行过程中,运行程序的控制权在解释程序。
编译较解释效率高,解释方式下运行程序,需要反复多次扫描源程序,并且需要更多的内存;
编译方式进行目标代码生成并优化在时间和空间上都比解释程序耗费多,但是编译程序的最大的优势是一次编译完成多次运行,所以整体效率比解释高。
原文地址:http://blog.csdn.net/zwk626542417/article/details/24934627