Hinweis: Ich bin überrascht, dass dies noch nicht angefragt wurde, und wenn ja, konnte ich es bei einer Suche nicht finden.
Ich habe Tonnen von Websites besucht, Tonnen von Artikeln gelesen und Tonnen von Erklärungen gehört. Die meisten von ihnen waren gut, aber sie waren entweder zu breit oder zu kompliziert oder einfach nur schlecht. Meine Frage ist also, wie funktioniert ein Compiler?
Wenn dies eine schwierige, umfassende Frage ist, sagen Sie es mir bitte. Falls nicht, beantworten Sie bitte die Frage.
Antworten:
Ein Compiler ist ein Programm, das den Quellcode eines anderen Programms aus einer Programmiersprache in ausführbaren Code übersetzt.
Der Quellcode ist normalerweise in einer höheren Programmiersprache (z. B. Pascal, C, C ++, Java, Perl, C # usw.). Der ausführbare Code kann eine Folge von Maschinenbefehlen sein, die direkt von der CPU ausgeführt werden können, oder es kann sich um eine Zwischendarstellung handeln, die von einer virtuellen Maschine interpretiert wird (z. B. Java-Bytecode).
Kurz gesagt, ein Compiler konvertiert ein Programm von einem für Menschen lesbaren Format in ein maschinenlesbares Format.
Wie ein Compiler funktioniert, ist in der Tat kompliziert. Es gibt Bücher und Universitätskurse zu diesem Thema. Ich werde versuchen, die Hauptphasen des Prozesses kurz zu skizzieren, aber dies wird ein sehr flüchtiger Überblick sein.
Ich betone noch einmal, dass dies eine sehr kurze Beschreibung ist. Moderne Compiler sind sehr schlau und daher sehr kompliziert.
quelle
Ein Compiler ist ein Computerprogramm (oder eine Reihe von Anweisungen), das in einer Programmiersprache (der Quellsprache) geschriebenen Quellcode in eine andere Computersprache (die Zielsprache, die häufig eine binäre Form hat, die als Objektcode bezeichnet wird) umwandelt. Der häufigste Grund für die Transformation von Quellcode ist die Erstellung eines ausführbaren Programms.
Compiler verbinden Quellprogramme in Hochsprachen mit der zugrunde liegenden Hardware. Ein Compiler benötigt:
quelle