Ein Compiler kann als ein Computerprogramm verstanden werden, welches den in einer bestimmten Programmiersprache erstellten Quellcode in einen Code übersetzt, der für Maschinen lesbar ist. Der übersetzte Code kann anschließend von einem Prozessor ausgeführt werden. Damit eine Maschine einen Code ausführen kann, kann neben einem Compiler auch ein Interpreter verwendet werden.
Bei einem Compiler wird der gesamte Quellcode einer Softwareanwendung übersetzt und anschließend ausgeführt. Dies ist bei einem Interpreter nicht der Fall, welcher den Quellcode Zeile für Zeile ausliest und diesen anschließend direkt ausführt. Bei einem Compiler werden also mehrere Schritte benötigt um einen Quellcode in maschinenlesbaren Code zu überführen, wohingegen bei einem Interpreter dies in einem Schritt geschieht.