2 ms·
The assembler is not an interpreter because it doesn't produce the output of the program it assembles. However indeed it's usually called a translator (or, wel
by bonzini 4y ago
The assembler is not an interpreter because it doesn't produce the output of the program it assembles.
However indeed it's usually called a translator (or, well, an assembler) rather than a compiler, exactly because its algorithms are simpler, and (even if it does things like resolving labels) the way a human looks at the output is as a 1:1 translation of the input.
- kragen 4y agoIt produces the output of running the program it assembles under the nonstandard semantics Koshkin is suggesting. I think assemblers are not called "compilers" purely for historical reasons: they existed for a decade or so before compilers, and initially the "compiler" was more like what we would call a linker (thus the name "compiler").