Assembler vs. Interpreter
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 ist 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. Auf der anderen Seite sind Interpreter Werkzeuge, die Anweisungen ausführen, die in einer Programmiersprache geschrieben sind. Der Interpreter kann entweder High-Level-Quellcode direkt ausführen oder ihn in Zwischencode übersetzen und ihn dann interpretieren oder vorkompilierten Code ausführen.
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 ein Dolmetscher?
Ein Interpreter ist ein Computerprogramm oder ein Werkzeug, das Programmieranweisungen ausführt. Ein Interpreter kann den Quellcode entweder direkt ausführen oder die Quelle in einen Zwischencode umwandeln und ihn direkt ausführen oder vorkompilierten Code ausführen, der von einem Compiler erzeugt wurde (einige Interpretersysteme enth alten 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 zuerst die Quelle zu einem Zwischencode namens Bytecode und interpretieren ihn dann.
Was ist der Unterschied zwischen einem Assembler und einem Interpreter?
Ein Assembler kann als spezielle Art von Compiler 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 enth alten, um Code vor der Interpretation vorzukompilieren, aber ein Interpreter kann nicht als spezieller Typ eines Compilers bezeichnet werden. Assembler erzeugen einen Objektcode, der möglicherweise mit Linkerprogrammen verknüpft werden muss, um auf einer Maschine ausgeführt zu werden, aber die meisten Interpreter können die Ausführung eines Programms selbst vervollständigen. Ein Assembler führt normalerweise eine Eins-zu-eins-Übersetzung durch, aber das gilt nicht für die meisten Dolmetscher. 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 usw.). Auf der anderen Seite werden Dolmetscher eingesetzt, wenn Sie eine hohe Portabilität benötigen. Beispielsweise kann derselbe Java-Bytecode auf verschiedenen Plattformen ausgeführt werden, indem der entsprechende Interpreter (JVM) verwendet wird.