Was ist ein Compiler?
Ein Compiler ist eine spezielle Art von Computerprogramm, das eine für Menschen lesbare Textdatei in eine Form übersetzt, die der Computer leichter verstehen kann. Auf der einfachsten Ebene kann ein Computer nur zwei Dinge verstehen, eine 1 und eine 0. Auf dieser Ebene arbeitet ein Mensch sehr langsam und findet die Informationen in der langen Folge von Einsen und Nullen unverständlich. Ein Compiler ist ein Computerprogramm, das diese Lücke schließt.
Am Anfang waren Compiler sehr einfache Programme, die nur Symbole in die Bits , die Einsen und Nullen, übersetzen konnten, wie der Computer verstand. Die Programme waren auch sehr einfach und bestanden aus einer Reihe von Schritten, die ursprünglich von Hand in Daten übersetzt wurden, die der Computer verstehen konnte. Dies war eine sehr zeitaufwendige Aufgabe, sodass Teile dieser Aufgabe automatisiert oder programmiert wurden und der erste Compiler geschrieben wurde. Dieses Programm hat die Schritte zusammengestellt oder kompiliert, die zum Ausführen des schrittweisen Programms erforderlich sind.
Diese einfachen Compiler wurden verwendet, um einen komplexeren Compiler zu schreiben. Mit der neueren Version könnten dem Compiler-Programm mehr Regeln hinzugefügt werden, um eine natürlichere Sprachstruktur für den menschlichen Programmierer zu ermöglichen. Dies erleichterte das Schreiben von Programmen und ermöglichte es mehr Menschen, mit dem Schreiben von Programmen zu beginnen. Als immer mehr Leute anfingen, Programme zu schreiben, wurden immer mehr Ideen zum Schreiben von Programmen angeboten und dazu verwendet, anspruchsvollere Compiler zu erstellen. Auf diese Weise werden Compiler-Programme weiterentwickelt, verbessert und benutzerfreundlicher.
Compiler-Programme können auch spezialisiert werden. Bestimmte Sprachstrukturen eignen sich besser für eine bestimmte Aufgabe als andere. Daher wurden spezielle Compiler für bestimmte Aufgaben oder Sprachen entwickelt. Einige Compiler sind mehrstufig oder mehrstufig . Ein erster Durchgang könnte eine sehr natürliche Sprache annehmen und näher an eine computerverständliche Sprache rücken. Ein zweiter oder sogar ein dritter Durchgang könnte die ausführbare Datei zum Abschluss bringen.
Die Zwischenausgabe in einem mehrstufigen Compiler wird normalerweise als Pseudocode bezeichnet , da sie vom Computer nicht verwendet werden kann. Pseudocode ist wie ein Computerprogramm sehr strukturiert, nicht frei fließend und wortreich wie eine natürlichere Sprache. Die endgültige Ausgabe wird als ausführbare Datei bezeichnet , da sie tatsächlich vom Computer ausgeführt oder ausgeführt wird. Die Aufteilung der Aufgabe auf diese Weise machte es einfacher, komplexere Compiler zu schreiben, da jede Unteraufgabe anders ist. Dies erleichterte es dem Computer auch, darauf hinzuweisen, wo Probleme beim Verstehen der Aufgaben aufgetreten waren.
Fehler, die den Compiler beim Verständnis eines Programms einschränken, werden als Syntaxfehler bezeichnet . Fehler in der Art und Weise, wie die Programmfunktionen ausgeführt werden, werden als logische Fehler bezeichnet . Logikfehler sind viel schwerer zu erkennen und zu korrigieren. Syntaxfehler sind wie Rechtschreibfehler, während logische Fehler eher wie grammatikalische Fehler sind.
Es wurden auch Cross-Compiler-Programme entwickelt. Ein Cross-Compiler ermöglicht das Kompilieren und Ausführen eines Textdateisatzes von Anweisungen, die für einen Computer eines bestimmten Herstellers geschrieben wurden, für einen anderen Computer eines anderen Herstellers. Zum Beispiel kann ein Programm, das für die Ausführung auf einem Intel-Computer geschrieben wurde, manchmal so kompiliert werden, dass es auf einem von Motorola entwickelten Computer ausgeführt wird. Dies funktioniert häufig nicht sehr gut. Auf der Ebene, auf der Computerprogramme ausgeführt werden, kann die Computerhardware sehr unterschiedlich aussehen, auch wenn sie Ihnen möglicherweise ähnelt.
Die Cross-Kompilierung unterscheidet sich davon, dass ein Computer einen anderen Computer emuliert. Wenn ein Computer einen anderen Computer emuliert, gibt er vor, dieser andere Computer zu sein. Die Emulation ist häufig langsamer als die Cross-Kompilierung, da zwei Programme gleichzeitig ausgeführt werden, das Programm, das vorgibt, der andere Computer zu sein, und das Programm, das ausgeführt wird. Damit die Cross-Kompilierung funktioniert, benötigen Sie sowohl den Originaltext in natürlicher Sprache, der das Programm beschreibt, als auch einen Computer, der dem Originalcomputer ausreichend ähnlich ist, auf dem das Programm ausgeführt werden kann, um auf einem anderen Computer zu funktionieren. Dies ist nicht immer möglich, daher werden beide Techniken verwendet.