的目的是将便于人编写、阅读、维护的高级计算机语言所写作的原始码程式，翻译为计算机能解读、运行的低阶机器语言的程序，也就是执行档。编译器将原始程序（source program）作为输入，翻译产生使用目标语言（target language）的等价程序。源代码一般为高阶语言（High-level language），如Pascal、C、C++、C# 、Java等，而目标语言则是汇编语言或目标机器的目标代码（Object code），有时也称作机器代码（Machine code）。一个现代编译器的主要工作流