Compilation incrémentale

La compilation incrémentale est un type de calcul informatique qui intègre le compilateur du langage de programmation dans le système d'exécution d'un logiciel.

Il s'agit d'un travail d'ajout par palier, qui veille à ce que chaque valeur ajoutée 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

    • Incremental Compilation and its Implementation in the PECAN Programming Environment Generator, James Popple, Australian National Univ, 1987
    • Compilation Incrementale, Marc Tejiogni, University of Dschang, 2014

    Lien externe

    • Portail de l’informatique
    Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.