Assembler vs Interpreter
Im Allgemeinen ist 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. Die Quellsprache ist traditionell eine Hochsprache wie C ++ und die Zielsprache ist eine Niedrigsprache wie die Assembler. Es gibt jedoch Compiler, die ein in Assembler geschriebenes Quellprogramm konvertieren und 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 bestimmten Programmiersprache geschrieben sind. Der Interpreter kann entweder direkten Quellcode direkt ausführen oder in Zwischencode übersetzen und diesen dann interpretieren oder vorkompilierten Code ausführen.
Was ist ein Assembler??
Assembler ist eine Software oder ein Tool, das Assemblersprache in Maschinencode übersetzt. Ein Assembler ist also ein Typ eines Compilers und der Quellcode ist in Assembler geschrieben. Assembler ist eine von Menschen lesbare Sprache, hat jedoch normalerweise eine Eins-zu-Eins-Beziehung zu dem entsprechenden Maschinencode. Daher wird von einem Assembler gesagt, dass er eine isomorphe (Eins-zu-Eins-Zuordnung) Übersetzung durchführt. Fortgeschrittene Assembler bieten zusätzliche Funktionen, die die Entwicklung und das Debuggen von Programmen unterstützen. Beispielsweise bietet der Assemblertyp, Makroassembler genannt, eine Makrofunktion.
Was ist ein Dolmetscher??
Ein Interpreter ist ein Computerprogramm oder ein Programm, das Programmieranweisungen ausführt. Ein Interpreter kann entweder den Quellcode direkt ausführen oder die Quelle in einen Zwischencode umwandeln und direkt ausführen oder vorkompilierten Code ausführen, der von einem Compiler erzeugt wurde (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 in einen als Bytecode bezeichneten Zwischencode und interpretieren ihn dann.
Was ist der Unterschied zwischen einem Assembler und einem Interpreter??
Ein Assembler kann als spezieller Compiler-Typ betrachtet werden, der nur Assembler in Maschinencode übersetzt. Dolmetscher sind Werkzeuge, die Anweisungen ausführen, die in einer Sprache geschrieben sind. Dolmetschersysteme können einen Compiler enthalten, um Code vor der Interpretation vorzukompilieren. Ein Interpreter kann jedoch nicht als spezieller Typ eines Compilers bezeichnet werden. Assembler erzeugen einen Objektcode, der möglicherweise über Linker-Programme verknüpft werden muss, um auf einer Maschine ausgeführt zu werden. Die meisten Interpreter können jedoch die Ausführung eines Programms selbst abschließen. Ein Assembler führt normalerweise eine Eins-zu-Eins-Übersetzung durch, dies gilt jedoch nicht für die meisten Interpreter. Da die Assemblersprache eine Eins-zu-Eins-Zuordnung mit Maschinencode hat, kann ein Assembler zum Erzeugen von Code verwendet werden, der sehr effizient ausgeführt wird, wenn die Leistung sehr wichtig ist (z. B. Grafik-Engines, eingebettete Systeme mit im Vergleich zu einem Personalcomputer begrenzten Hardwareressourcen) wie Mikrowellen, Waschmaschinen usw.). Auf der anderen Seite werden Dolmetscher verwendet, wenn Sie eine hohe Portabilität benötigen. Zum Beispiel kann der gleiche Java-Bytecode auf verschiedenen Plattformen ausgeführt werden, indem der entsprechende Interpreter (JVM) verwendet wird..