Definitionen durchsuchen :
Definition

Compiler (Kompiler)

Ein Compiler (manchmal auch Kompiler) ist ein spezielles Programm, das die in einer bestimmten Programmiersprache geschriebenen Anweisungen verarbeitet und sie in eine Maschinensprache oder Code übersetzt, die ein Computer-Prozessor ausführen kann. Typischerweise schreibt ein Programmierer seine Anweisungen (Statements) mit einem zeilenorientierten Editor in einer Programmiersprache wie Pascal oder C. Die so erstellte Datei enthält den sogenannten Quellcode. Der Programmierer ruft dann den für die gewählte Sprache passenden Compiler auf und gibt dabei den Dateinamen an, in dem der Quellcode enthalten ist.

Bei der Ausführung prüft der Compiler zuerst alle Statements auf syntaktische Richtigkeit. Anschließend wird in einer oder mehreren aufeinanderfolgenden Phasen der Ausgabecode generiert. Der Compiler stellt dabei sicher, dass Anweisungen, die auf andere Anweisungen Bezug nehmen, im endgültigen Code auch richtig verknüpft sind. Traditionell wurde die Ausgabe der Kompilierung als Objektcode oder manchmal auch als Objektmodul bezeichnet. (Bitte beachten, dass der Begriff Objekthier in keinem Zusammenhang mit der objektorientierten Programmierung steht.) Der Objektcode ist ein Maschinencode, den der Prozessor sequentiell abarbeiten kann.

Die Programmiersprache Java, die in der objektorientierten Programmierung verwendet wird, bietet die Möglichkeit bei der Kompilierung einen Zwischencode zu generieren (sogenannter Bytecode). Dieser kann auf jedem Computersystem ausgeführt werden, auf dem eine Java Virtual Machine oder ein Bytecode-Interpreter vorhanden ist.

Beide Systeme übersetzen den Bytecode in Anweisungen, die dann vom eigentlichen Hardwareprozessor direkt ausgeführt werden können. Mit dieser virtuellen Maschine kann der Bytecode optional auf der Ausführungsplattform auch von einem Just-in-Time-Compiler neu kompiliert werden.

Früher war in einigen Betriebssystemen nach der Kompilierung ein zusätzlicher Schritt erforderlich. Hier wurden die relativen Adressen von Daten und Anweisungen in absolute Adressen umgewandelt, falls mehr als ein Objektmodul gleichzeitig ausgeführt wird und diese Module gegenseitige Verknüpfungen enthalten. Dieser Vorgang wurde manchmal als Verlinken bezeichnet und die dabei entstehende Ausgabedatei war das Load-Modul.

Ein Compiler arbeitet mit so genannten 3GL- und höheren Sprachen. Ein Assembler arbeitet mit Programmen, die mit der Assembler-Sprache eines Prozessors geschrieben wurden.

Diese Definition wurde zuletzt im April 2018 aktualisiert

- GOOGLE-ANZEIGEN

SearchDataCenter.de

SearchEnterpriseSoftware.de

SearchNetworking.de

SearchSecurity.de

SearchStorage.de

Close