Der Compiler ist ein Übersetzungsprogramm, das den programmierten Quellcode für die Prozessoren in einen maschinenlesbaren Maschinencode übersetzt.
Der Compiler übersetzt dabei, im Gegensatz zum Interpreter, das gesamte Programm der benutzten Programmiersprache in Maschinencode, bevor es ausgeführt wird. Dafür benötigt er zwar wesentlich mehr Zeit und auch Ressourcen, dafür geschieht der Prozess aber dann auch effizienter und schneller, weil alle Anweisungen bereits übersetzt worden sind.
Der Compiler setzt dabei einen Vorgang in Bewegung, der ‚Kompilieren‘ genannt wird. Allerdings wird der Code meist nicht direkt übersetzt, sondern der Compiler übersetzt ihn zunächst in einen Assemblercode. Das passiert etwa wegen der Plattformunabhängigkeit oder zur allgemeinen Optimierung. Assembler ist ein Übersetzungsprogramm, das den Quellcode letztendlich in den Maschinencode übersetzt bzw. assembliert. Nun kann der Compiler den hergestellten Maschinencode weitergeben.