Assembler gegen Dolmetscher
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 ist 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. Auf der anderen Seite sind Dolmetscher Werkzeuge, die Anweisungen ausführen, die in einer Programmiersprache geschrieben sind. Der Interpreter kann entweder direkt Quellcode auf hoher Ebene ausführen oder ihn in Zwischencode übersetzen und dann interpretieren oder vorkompilierten Code ausführen.
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 ein Dolmetscher?
Ein Interpreter ist ein Computerprogramm oder ein Werkzeug, das Programmieranweisungen ausführt. Ein Interpreter kann entweder den Quellcode direkt ausführen oder die Quelle in einen Zwischencode konvertieren und direkt ausführen oder von einem Compiler erzeugten vorkompilierten Code ausführen (einige Interpretersysteme enthalten einen Compiler für diese Aufgabe). Sprachen wie Perl, Python, MATLAB und Ruby sind Beispiele für Programmiersprachen, die einen Zwischencode verwenden. UCSD Pascal interpretiert einen vorkompilierten Code. Sprachen wie Java, BASIC und Samlltalk kompilieren die Quelle zunächst zu einem Zwischencode namens Bytecode und interpretieren ihn dann.
Was ist der Unterschied zwischen einem Assembler und einem Interpreter?
Ein Assembler kann als spezieller Compilertyp betrachtet werden, der nur die Assemblersprache in Maschinencode übersetzt. Dolmetscher sind Werkzeuge, die Anweisungen ausführen, die in einer bestimmten Sprache geschrieben sind. Interpretersysteme können einen Compiler enthalten, um Code vor der Interpretation vorkompilieren zu können, aber ein Interpreter kann nicht als spezieller Typ eines Compilers bezeichnet werden. Assembler erstellen einen Objektcode, der möglicherweise mit Linkerprogrammen verknüpft werden muss, um auf einem Computer ausgeführt zu werden. Die meisten Interpreter können die Ausführung eines Programms jedoch selbst durchführen. Ein Assembler führt normalerweise eine Eins-zu-Eins-Übersetzung durch, dies gilt jedoch nicht für die meisten Dolmetscher. 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 (z. B. Grafik-Engines, sehr effizient), sehr effizient ausgeführt wird.eingebettete Systeme mit begrenzten Hardwareressourcen im Vergleich zu einem Personal Computer wie Mikrowellen, Waschmaschinen usw.). Auf der anderen Seite werden Dolmetscher verwendet, wenn Sie eine hohe Portabilität benötigen. Beispielsweise kann derselbe Java-Bytecode mit dem entsprechenden Interpreter (JVM) auf verschiedenen Plattformen ausgeführt werden.