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: Unterschied zwischen Compiler und Interpreter 2024, April
Anonim

Assembler gegen Compiler

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

Was ist ein Compiler?

Der Compiler ist ein Computerprogramm, das ein in einer Sprache geschriebenes Programm, das als Ausgangssprache bezeichnet wird, liest und in eine andere Sprache übersetzt, die als Zielsprache bezeichnet wird. Meistens ist die Ausgangssprache eine Hochsprache und die Zielsprache eine Niedrigsprache. Im Allgemeinen können Compiler 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 als lexikalischer Analysator bekannt). Der Scanner liest das Programm und konvertiert es in eine Zeichenfolge. Die zweite Komponente ist der Parser. Es konvertiert die Token-Zeichenfolge in einen Analysebaum (oder einen abstrakten Syntaxbaum), 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 endgültige Codegenerierung.

Was ist ein Assembler?

Assembler ist eine Software oder ein Tool, das die Assemblersprache in Maschinencode übersetzt. Ein Assembler ist also eine Art Compiler, und der Quellcode ist in Assemblersprache geschrieben. Assembly ist eine von Menschen lesbare Sprache, hat jedoch normalerweise eine Eins-zu-Eins-Beziehung zum entsprechenden Maschinencode. Daher soll ein Assembler eine isomorphe Übersetzung (Eins-zu-Eins-Zuordnung) durchführen. Erweiterte Assembler bieten zusätzliche Funktionen, die Programmentwicklungs- und Debugging-Prozesse unterstützen. Beispielsweise bietet der Assemblertyp, der als Makroassembler bezeichnet wird, 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 in eine andere Sprache übersetzt, während ein Assembler als spezieller Compilertyp betrachtet werden kann, der nur Assemblersprache in Maschinencode übersetzt. Compiler erzeugen den ausführbaren Code der Maschine normalerweise direkt aus einer höheren Sprache, Assembler erzeugen jedoch einen Objektcode, der möglicherweise mit Linkerprogrammen verknüpft werden muss, um auf einer Maschine ausgeführt zu werden. Da die Assemblersprache eine Eins-zu-Eins-Zuordnung mit Maschinencode aufweist, kann ein Assembler zum Erstellen von Code verwendet werden, der in Situationen, in denen die Leistung sehr wichtig ist, sehr effizient ausgeführt wird (z. B. Grafik-Engines, eingebettete Systeme mit begrenzten Hardwareressourcen im Vergleich zu einem Personal Computer) wie Mikrowellen, Waschmaschinen usw.).

Empfohlen: