Compilateur source à source
Cet article est une ébauche concernant l’informatique.
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 ont été supportés par un transpileur avant de l'être par un compilateur. Parfois un compilateur ne voit jamais le jour.
- Babel.js[1] est un transpileur qui permet de convertir du JavaScript (version ES2015 ou supérieure), CoffeeScript ou TypeScript en code compatible avec les navigateurs du marché (en ES5 par exemple).
- 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[2].
- Python peut être compilé vers du C grâce au compilateur Nuitka.
De plus en plus de langages aussi se compilent en JavaScript, une liste[3] existe classant ces transpileurs par famille et langages.
Références
- ↑ « Babel · The compiler for writing next generation JavaScript », sur babeljs.io (consulté le ).
- ↑ Eclipse Xtend
- ↑ (en) List of languages that compile to JS, sur GitHub
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
