Un transpilateur est un outil qui traduit du code source écrit dans un langage de programmation vers du code source sémantiquement équivalent dans un autre langage de même niveau d’abstraction — souvent un langage plus largement supporté ou plus ancien.
Contrairement à un compilateur classique, qui produit du code machine (ou bytecode exécutable), un transpilateur génère du code lisible, maintenable et destiné à être relu ou exécuté par un autre moteur d’exécution.
Exemple clé :
tsc(TypeScript Compiler) → transforme TypeScript (langage typé, moderne) en JavaScript (langage interprété par les navigateurs).
→ Il ne produit pas de langage machine, mais du code source JavaScript fonctionnellement équivalent.
D’autres exemples :
- Babel : transpile JavaScript moderne (ES2022+) en JavaScript compatible avec les anciens navigateurs.
- JSX (dans React) : transpilé en appels
React.createElement(). - Certains outils convertissent Python en JavaScript (ex. : Transcrypt), ou C++ en WebAssembly texte (
wat).
Règle simple :
- Si la sortie est du code machine → compilateur.
- Si la sortie est du code source dans un autre langage de haut niveau → transpilateur.