编译器是将一种语言翻译为另一种语言的计算机程序。编译器将源程序(sourcelanguage)编写的程序作为输入,而产生用目标语言(targetlanguage)编写的等价程序。通常地,源程序为高级语言(high-levellanguage),如C或C++,而目标语言则是目标机器的目标代码(objectcode,有时也称作机器代码(machinecode)),也就是写在计算机机器指令中的用于运行的代码。