A definição que você citou acima é muito geral para um iniciante entender completamente, então deixe-me simplificá-la para algo que vemos na prática.
Compilador: é um termo abrangente para descrever um programa que pega o código-fonte escrito em uma linguagem e produz um (ou vários) arquivo de saída em alguma outra linguagem. Na prática, usamos esse termo principalmente para descrever um compilador como o gcc, que recebe o código C como entrada e produz um executável binário (código de máquina) como saída.
Os transpiladores também são conhecidos como compiladores fonte-a-fonte. Então, em essência, eles são um subconjunto de compiladores que pegam um arquivo de código-fonte e o convertem em outro arquivo de código-fonte em alguma outra linguagem ou em uma versão diferente da mesma linguagem. A saída é geralmente compreensível por um ser humano. Essa saída ainda precisa passar por um compilador ou interpretador para poder ser executada na máquina.
Alguns exemplos de transpiladores:
- Emscripten : Transpiles C / C ++ para JavaScript
- Babel : Transpila o código ES6 + para ES5 (ES6 e ES5 são versões ou gerações diferentes da linguagem JavaScript)
Agora, o que eles querem dizer com "nível semelhante de abstração": como eu disse que compila / transpila para um arquivo de origem, pode-se argumentar que a linguagem assembly também é um arquivo de origem e, portanto, o gcc também é um transpilador. Então, esse argumento é o que esse nível semelhante de vazios de abstração.
A noção de categorizar as linguagens em níveis inferior, médio e superior é baseada no nível de abstração que fornecem a partir do funcionamento real da máquina / arquitetura.
Linguagens de nível inferior como assembly são muito próximas da arquitetura do processador, ou seja, têm instruções diferentes para processadores diferentes. Enquanto C / C ++ / Java / JavaScript, abstraia tudo isso fornecendo mais abstração.
Portanto, um transpiler compila para uma linguagem que está mais próxima da linguagem com a qual você começou nos termos dessa abstração (ou está mais perto do nível dessa linguagem na escada de linguagem de nível inferior-médio-superior).
Espero que isto ajude!