编译原理:第一节
编译程序:
把用某一种程序设计语言写的源程序翻译成等价的另一种语言程序(目标程序)的程序,称之为编译程序或翻译程序
源程序的执行:
一个源程序编写后要投入运行,需要编译程序支持的执行过程分为两个阶段:编译阶段和运行阶段
编译程序的总体结构:
整个结构可以分为前端(front end )和 后端 (back end )亦即分析阶段和综合阶段
为什么要分为前端和后端呢?自然这样有很多好处:
由两幅图可以看出,对于不同的前端,我们可以使用同一个后端来支持同一个平台,对于同一个前端我们也可以使用不同的后端来支持不同的平台,
这对可移植性是非常重要的
编译程序的分类:
1. 从源语言类型或实现机制角度可分为:汇编程序
编译程序
解释程序
2. 从对源程序执行途径的角度不同分为:解释执行
编译执行
3. 从编译程序的用途,实现技术等侧重面可分为: 并行编译器
优化型编译器 交叉性编译程序(交叉编译器) 诊断型编译器 可重定向型编译器