根据完成任务不同,可以将编译器的组成部分划分为前端(Front End)与后端(Back End)。
前端主要指与源语言有关但与目标机无关的部分,包括词法分析、语法分析、语义分析与中间表示生成。
后端主要指与目标机有关的部分,包括代码优化和目标代码生成等。
"端"概念的提出对于编译技术的发展起到了至关重要的作用,它使编译器的框架更明晰,更利于集成与构造。