Compilateur source à source
Un compilateur source à source, transpileur ou transcompilateur est un type de compilateur qui prend le code source d'un langage de programmation et le compile dans un autre langage de programmation. Un compilateur source-à-source opère sur deux langages avec approximativement le même niveau d'abstraction, alors qu'un compilateur traditionnel compile un langage de haut niveau vers un langage de bas niveau.
Historique
Un des premiers compilateurs de ce type était le XLT86 de Digital Research en 1981, un programme écrit par Gary Kildall qui compilait du code .ASM pour le processeur Intel 8080 en code source .A86 pour le processeur Intel 8086.
Implémentations
Certains langages de programmation étaient avant des transpileurs et c'est parfois toujours le cas.
- C++ (à cette époque "C avec classes") transcompilait en C avec le transpileur cfront.
- CoffeeScript, TypeScript, et toute la famille, vers du JavaScript.
- Efene, vers de l'Erlang.
- Eiffel vers du C.
- Haxe, vers JavaScript, PHP, C++, C#, et Java. Aussi compilable vers du bytecode comme celui d'ActionScript.
- Lisaac, vers du C.
- Mirah, vers du Java.
- PHP, vers le C++ via HipHop.
- Vala, vers du C.
- Xtend, vers du Java[1]
De plus en plus de langages aussi se compilent en JavaScript, une liste[2] existe classant ces transpileurs par famille et langages.