Compilation incrémentale

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche

La compilation incrémentale nécessite que le compilateur du langage de programmation fasse partie du système d'exécution. En conséquence, le code source peut être lu à tout moment, depuis le terminal, depuis un fichier, ou éventuellement depuis une structure de données construite par le programme en cours, et traduit en un code machine ou fonction (qui peut remplacer une fonction précédente du même nom), qui est immédiatement disponible pour utilisation par le programme. En raison du besoin de rapidité de compilation pendant le développement et les tests interactifs, le code compilé ne sera probablement pas aussi optimisé que le code produit par un compilateur en lot (batch) standard, qui lit le code source et produit des fichiers objets qui peuvent ensuite être liés et être exécutés. Cependant, un programme compilé de façon incrémentielle fonctionnera généralement beaucoup plus rapidement qu'une version interprétée du même programme. La compilation incrémentale fournit ainsi un mélange des avantages des langages interprétés et compilés. Pour faciliter la portabilité, il est généralement souhaitable que le compilateur incrémentiel fonctionne en deux étapes, à savoir la première 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, telle que définie ci-dessus, la compilation incrémentielle n'implique pas d'autres optimisations après la première exécution du programme.

Notes et références[modifier | modifier le code]