Compilation incrémentale
La compilation incrémentale est un type de calcul informatique qui intègre le compilateur du langage de programmation dans l'exécution d'un logiciel.
Il s'agit d'un travail d'ajout par palier, qui veille à ce que chaque élément ajouté apporte une amélioration sans créer de dysfonctionnement. Le code source peut être lu à tout moment, depuis un terminal, un fichier ou une structure de données construite par le programme en cours. En fin de processus, le code source est traduit en un code machine ou fonction (qui peut remplacer une fonction précédente du même nom) immédiatement disponible pour utilisation. Le développement de logiciel et les tests interactifs nécessitent une compilation rapide. Si le code produit par compilation incrémentale risque d'être moins optimal que le code produit par un compilateur en lot standard (dynamique), il fonctionne généralement plus rapidement et accélère l'exécution d'un programme. Ce type de compilation fournit ainsi un mélange des avantages des langages interprétés et compilés.
Pour faciliter la portabilité, le compilateur incrémentiel peut fonctionner en deux étapes : la compilation vers un langage indépendant de la plate-forme intermédiaire, puis la compilation de ce code en code machine pour la machine hôte. Dans ce cas, le portage ne nécessite que de changer le compilateur back end. Contrairement à la compilation dite dynamique, qui lit le code source et produit des fichiers objets qui peuvent ensuite être liés et être exécutés, la compilation incrémentale ne nécessite pas d'autres optimisations après la première application du programme. Son principal avantage est sa rapidité d'exécution.
Notes et références
Bibliographie
- (en) James Popple, Incremental Compilation and its Implementation in the PECAN Programming Environment Generator, Australian National University, 1987
- Marc Tejiogni, Compilation Incrémentale, University of Dschang, 2014
Liens externes
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.
