编译器前端(compiler front-end),理学-计算机科学技术-计算机软件-系统软件-编译系统,编译器中负责将高级语言书写的源程序翻译成等价的中间表示的软件模块集合。编译器通常可以划分为前端、中端和后端结构,与输入的源语言密切相关的部分称为编译器前端,负责将源语言程序转换为中间表示;编译器中端在中间表示上执行和机器无关的分析与优化,例如冗余删除、循环优化等;编译器后端则执行与机器密切相关的优化(例如窥孔优化、指令调度等)和代码生成。前端、中端和后端结构使编译器可以支持多种源语言或者多个目标平台。如图所示:多语言多目标编译系统编译器前端由编译器中同源语言有关但是同目标机无关的部分组成,包括:词法分析(又称扫描,英文scanning)、语法分析(又称解析,英文parsing)、语义分析以及中间表示生成。词法分析是编译过程的第一阶段,其任务是输入源程序,对构成源程序的字符流进行扫描,将字符组成有意义的单词符号序列。这些序列可以是标识符(用户定义的名称)、保留字、整数、双精度或浮点数、分隔符、运算符和特殊符号等。