Antwort 1:

Der Übersetzer ist einfach ein Programm, das ein in einer Sprache geschriebenes Programm in eine andere konvertiert, ohne die Semantik zu ändern. Es ist ein Oberbegriff für Compiler, Interpreter und Assembler. Der Compiler konvertiert den Quellcode auf einmal in Maschinencode. Dies bedeutet nicht, dass er direkt Maschinencode erzeugt. Eine unbestimmte Anzahl von Zwischenprozessen (üblicherweise: Quellcode -> AST -> optimierter AST -> Assembly -> Maschinencode) ist zulässig als solange die endgültige Ausgabe Maschinencode ist.