(1) Software, die eine Reihe von Anweisungen auf hoher Ebene in eine Darstellung auf niedrigerer Ebene konvertiert. Ein Hilfe-Compiler konvertiert beispielsweise ein Textdokument, das mit entsprechenden Befehlen eingebettet ist, in ein Online-Hilfesystem. Ein Wörterbuch-Compiler konvertiert Begriffe und Definitionen in ein Wörterbuch-Lookup-System.
(2) Software, die ein Programm in einer High-Level-Programmiersprache (C/C++, COBOL, etc.) geschrieben übersetzt.) in Maschinensprache. Ein Compiler generiert normalerweise zuerst Assemblersprache und übersetzt dann die Assemblersprache in Maschinensprache. Ein als „Linker“ bezeichnetes Dienstprogramm kombiniert dann alle erforderlichen Maschinensprachenmodule zu einem ausführbaren Programm, das auf dem Computer ausgeführt werden kann. Siehe Compiler optimieren.
Das Folgende ist ein konzeptionelles Beispiel für Quellcode, der vom Compiler in Assemblersprache und Maschinencode konvertiert wird:

 Source Code IF COUNT=10 GOTO END-OF-JOB ELSE GOTO COMPUTE-AGAIN ENDIF Assembly Language Machine Language Compare A to B Compare 3477 2883 If equal go to C If = go to 23732 Go to D Go to 23119 Machine Code 10010101001010001010100 10101010010101001001010 10100101010001010010010

_compasm.gif

Von C in Assemblersprache

Ein C / C ++ – Compiler konvertiert C- und C ++ – Code in Assemblersprache, wie in diesem Beispiel gezeigt. Die roten Pfeile zeigen auf verschiedene Funktionsaufrufe, und der Assemblercode zum Ausführen dieser Aufrufe folgt jeder Anweisung.

compile2.jpg

Compiler und Interpreter

Kompilierte Programme (rechts) werden in die Maschinensprache des Zielcomputers übersetzt. Interpretierte Programme (links und in der Mitte) werden entweder in ihrem ursprünglichen Quellcode beibehalten oder in eine Zwischenform vorkompiliert. In beiden Fällen ist ein Interpreter erforderlich, um das Programm zur Laufzeit in Maschinensprache zu übersetzen, während das kompilierte Programm „ready to go“ ist.“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.