According to Wikipedia a tanspiler is: > A source-to-source translator converts between programming languages that > operate at approximately the same level of abstraction.
And this definition is flawed. Let's consider TinyC and GCC, TinyC proves that C is very easy to directly translate into assembler so it's not unreasonable to call TinyC a "transpiler", GCC proves that optimizing C code can take millions of lines of code so we call GCC a "compiler". So both the transpiler and the compiler translate from C to x86 code... What the definition is missing is that compiler vs transpiler is not about the involved programming languages at all (!) but it's about the complexity of the language translator.