Compiler

Was ist ein Compiler?

Compiler wird eine Software genannt, die einen in einer Programmiersprache geschrieben Quellcode so √ľbersetzt, dass sie von Maschinen verstanden werden k√∂nnen. Der Begriff Compiler stammt aus dem Englischen und leitet sich vom “compile” (zusammenf√ľhren) ab. Da die Software allerdings den Quellcode √ľbersetzt, w√§re die korrekte Bezeichnung “Translator”. Im Laufe der Zeit hat sich aber Compiler als Synonym f√ľr √úbersetzer durchgesetzt. Der eigentliche Prozess der √úbersetzung wird als Kompilierung bezeichnet.

Compiler

Copyright ©/ https://blog.programminghub.io/blog/2017/02/28/offline-compiler-apps-solution/

Erst durch die Kompilierung versteht die Maschine

Maschinen – wie zum Beispiel Computer – sind recht einfache Ger√§te. Im Grunde verstehen sie nur Nullen und Einsen und ein paar spezifische Befehle. Dementsprechend umst√§ndlich w√ľrde die Programmierung von Software aussehen. So wurden in der Anfangszeit tats√§chlich von Rechenmaschinen auszuf√ľhrende T√§tigkeiten in Maschinensprache programmiert. Um die Softwareprogrammierung zu vereinfachen, hat man schon sehr fr√ľh damit begonnen unterschiedliche Programmiersprachen zu entwickeln. Die Bekanntesten sind sicherlich C, C++ und Basic. Diese erlauben es, ein Programm in einer mehr oder weniger verst√§ndlichen Sprache zu erstellen. Im Anschluss wird dieser Quellcode in Maschinensprache √ľbersetzt. Dabei √ľbernehmen moderne Compiler gleich mehrere Aufgaben, beziehungsweise erfolgt die √úbersetzung in mehreren Schritten.

Die Schritte bis zum fertigen Programm

Der erste Schritt ist die sogenannte Syntaxpr√ľfung. Hier wird der Quellcode auf Fehler gepr√ľft und die √úbersetzung gegebenenfalls angehalten. Die gefundenen Fehlerstellen werden bei modernen Compilern protokolliert, um die Korrektur zu erleichtern. Ist der Quellcode fehlerfrei wird ein Zwischencode erzeugt, der die Basis f√ľr die Analyse sowie die Codeoptimierung darstellt. Wie weit die Codeoptimierung geht, ist von den Compiler sowie von den Benutzereinstellungen abh√§ngig. Im dritten und letzten Schritt werden aus dem Zwischencode Befehle f√ľr die jeweilige Maschine √ľbersetzt. Wobei moderne Compiler heute kaum noch selbst Codes generieren. So erfolgt bei C++ die Codegenerierung w√§hrend des Linkens. Bei C# wird der Code w√§hrend der Laufzeit durch die NET-Laufzeitbibliothek generiert. Bei Java erfolgt die Kompilierung ebenfalls erst w√§hrend der Programmlaufzeit des erstellten Programms.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte