您的位置:首页 > Web前端

第一章 编译原理绪论(4)——编译程序的组织

2014-05-07 21:00 309 查看
       图1(文章《编译原理绪论——编译过程的逻辑结构》中的图1)所示的编译程序的逻辑结构,是指它们之间的逻辑关系,而不一定是执行时间上的先后顺序。事实上,可按不同的执行流程来组织上述各部分的工作,这在很大程度上依赖于编译过程中对源程序扫描的遍数,以及如何划分各遍扫描所进行的工作。此处所说的“遍”,是指对源程序或其内部表示从头到尾扫视一次,并进行有关的加工处理工作。

      从对源程序的词法分析开始到中间代码生成,编译程序所完成的处理工作只依赖于源语言,而与运行目标程序的计算机(或目标语言)无关,通常将上述各个环节统称为编译程序的前端(Front
End)。属于综合部分的代码优化和目标代码生成,一般只依赖于目标语言,通常将它称为编译程序的后端(Back End)。

      目前广泛流行的J A V A语言就是采用这种思想来实现的(解释执行),即对于不同的计算机,解释器的前端都相同(因为它与运行目标程序的计算机(或目标语言)无关),所产生的也都是同一种所谓字节码(Byte
Code)形式的中间代码,若在不同的计算机上配置了能解释执行这种中间代码的后端(通常称为JA
V A虚拟机),便能在这些计算机上解释执行JAVA程序,即实现了 JA V A语言的跨平台特性。(所以只需要安装其解释器的后端就可以实现其跨平台的特性)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息