Unterschied zwischen Assembler und Compiler

Unterschied zwischen Assembler und Compiler
Unterschied zwischen Assembler und Compiler

Video: Unterschied zwischen Assembler und Compiler

Video: Unterschied zwischen Assembler und Compiler
Video: Deutschlernen zu Hause - 11. Aussprache - Die Umlaute Ä Ö Ü 2024, November
Anonim

Assembler vs. Compiler

Im Allgemeinen ist ein Compiler ein Computerprogramm, das ein Programm liest, das in einer Sprache geschrieben ist, die als Ausgangssprache bezeichnet wird, und es in eine andere Sprache übersetzt, die als Zielsprache bezeichnet wird. Traditionell war die Quellsprache eine Hochsprache wie C++ und die Zielsprache eine Niedrigsprache wie die Assemblersprache. Es gibt jedoch Compiler, die ein in Assembler-Sprache geschriebenes Quellprogramm konvertieren und es in Maschinencode oder Objektcode konvertieren können. Assembler sind solche Werkzeuge. Sowohl Assembler als auch Compiler produzieren also letztendlich Code, der direkt auf einer Maschine ausgeführt werden kann.

Was ist ein Compiler?

Compiler ist ein Computerprogramm, das ein Programm liest, das in einer Sprache geschrieben ist, die Quellsprache genannt wird, und es in eine andere Sprache übersetzt, die Zielsprache genannt wird. Meistens ist die Ausgangssprache eine Hochsprache und die Zielsprache eine Niedrigsprache. Im Allgemeinen können Compiler also als Übersetzer angesehen werden, die von einer Sprache in eine andere übersetzen. Darüber hinaus führen Compiler einige Optimierungen am Code durch. Ein typischer Compiler besteht aus mehreren Hauptkomponenten. Die erste Komponente ist der Scanner (auch bekannt als lexikalischer Analysator). Der Scanner liest das Programm und wandelt es in eine Zeichenfolge von Tokens um. Die zweite Komponente ist der Parser. Es wandelt die Zeichenkette in einen Analysebaum (oder einen abstrakten Syntaxbaum) um, der die syntaktische Struktur des Programms erfasst. Die nächste Komponente sind die semantischen Routinen, die die Semantik der syntaktischen Struktur interpretieren. Darauf folgen die Codeoptimierungen und die finale Codegenerierung.

Was ist ein Assembler?

Assembler ist eine Software oder ein Werkzeug, das die Assemblersprache in Maschinencode übersetzt. Ein Assembler ist also eine Art Compiler und der Quellcode ist in Assemblersprache geschrieben. Assembler ist eine für Menschen lesbare Sprache, hat aber typischerweise eine Eins-zu-eins-Beziehung mit dem entsprechenden Maschinencode. Daher wird von einem Assembler gesagt, dass er eine isomorphe Übersetzung (Eins-zu-Eins-Abbildung) durchführt. Fortgeschrittene Assembler bieten zusätzliche Funktionen, die die Programmentwicklung und Debugging-Prozesse unterstützen. Zum Beispiel bietet der Typ von Assemblern, die als Makro-Assembler bezeichnet werden, eine Makrofunktion.

Was ist der Unterschied zwischen einem Assembler und einem Compiler?

Compiler ist ein Computerprogramm, das ein in einer Sprache geschriebenes Programm liest und es in eine andere Sprache übersetzt, während ein Assembler als eine spezielle Art von Compiler angesehen werden kann, der nur die Assemblersprache in Maschinencode übersetzt. Compiler erzeugen normalerweise den maschinenausführbaren Code direkt aus einer Hochsprache, aber Assembler erzeugen einen Objektcode, der möglicherweise unter Verwendung von Linkerprogrammen verknüpft werden muss, um auf einer Maschine zu laufen. Da die Assemblersprache eine Eins-zu-Eins-Zuordnung zum Maschinencode hat, kann ein Assembler zum Produzieren von Code verwendet werden, der sehr effizient für Gelegenheiten läuft, in denen Leistung sehr wichtig ist (z. B. Grafik-Engines, eingebettete Systeme mit begrenzten Hardwareressourcen im Vergleich zu einem Personal Computer). wie Mikrowellen, Waschmaschinen etc.).

Empfohlen: