Compilation incrémentale
La compilation incrémentale est un type de calcul informatique qui intègre le compilateur du langage de programmation dans le d'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