Re:A Simple Compiler in JavaScript
by tomsmeding on Sunday January 21, 2018 @03:16AM
(#16197297)
The interpreter is certainly an interpreter, but a transpiler is arguably also a compiler, be it maybe with an easier target than most conventional compilers. Assembly language and machine code are also languages you can program in; in that sense you'd also have to call gcc a transpiler ;)
[ Parent
| on HN ]
Indeed, every compiler is a transpiler: it transpiles into asm. But not every transpiler is a compiler in the truest sense of the term. IMO only transpiling to machine language qualifies as compiling.
But we're just arguing about semantics here :) My comment was more directed towards the interpreter part of things.
> Indeed, every compiler is a transpiler: it transpiles into asm. But not every transpiler is a compiler in the truest sense of the term.
I think you have it backwards. Every transpiler is a compiler, but the reverse is not necessarily true.
> IMO only transpiling to machine language qualifies as compiling.
It is not black and white, compiling to IL or bytecode qualifies as compiling. Perhaps compiling means compilation to a binary executable format?
Bytecode is machine language, specially on mainframes and computer architectures up to early 80's.
It is all a matter how the CPU executes it, direct mapping of machine code into gates, or micro-coded translation layer.