Ein
Compiler
(zu deutsch: Übersetzer oder Kompilator)
ist ein Programm, das Programme aus einer Programmiersprache
A
in eine Programmiersprache
B
übersetzt.
Die Programmiersprache
A,
aus der die zu übersetzenden Programme stammen, wird dabei als
Quellsprache,
die Programmiersprache
B
als
Zielsprache
des Übersetzers bezeichnet.
Entsprechend nennt man das zu übersetzende Programm
Quellprogramm
und das übersetzte Programm
Zielprogramm.
[INFODUDEN S. 745]
Primäres Ziel bei der Erstellung eines Compilers ist es,
eine neue Programmiersprache auf dem Computer ausführbar machen zu können.
Für Hochsprachen werden üblicherweise Compiler entwickelt, welche in eine Low-Level-Sprache
(Assemblersprache)
übersetzen,
die wiederum in eine Maschinensprache übersetzt werden kann.
Maschinenprogramme können nämlich direkt auf einem Rechner,
welcher natürlich mit einem passenden Betriebssystem ausgerüstet sein muss, ausgeführt werden.
Sekundäres Ziel bei der Erstellung eines Compilers ist die Erzeugung eines effizienten Zielprogramms,
welches bzgl. seiner Ausführungsgeschwindigkeit und bzgl. seiner Speichergröße optimiert ist.