A utility for converting the source code of a program into commands for execution by the processor. Compilers create an executable file from an algorithm described by means of a programming language. Compiled programs cannot be changed; only the source code can be altered and recompiled.