编译器(Compiler)是一种计算机程序,它可以把一种计算机语言翻译成另一种计算机语言。编译器的输入叫做源代码,输出叫做目标代码。通常,编译器的输出往往能够被其它程序处理(例如链接器),不过也有些编译器输出可读的文本文件。翻译源代码通常是为了创建可执行程序。“编译器”最初是指那些高级语言代码翻译成较低级语言(如汇编语言或机器码)的程序。把低级语言翻译成高级语言的程序叫做反编译器。编译器通常需要进行这些操作:词法分析、预处理、解析、文法分析、代码生成以及代码优化。