5. Modèle d’exécution
Avant d’aborder la génération de code, il nous faut encore parler de ce que sera l’exécution du programme actuellement en cours de compilation. En effet, nous venons de voir l’adressage des objets locaux lors de l’activation d’une fonction mais les choses sont plus complexes car il peut y avoir à un instant donné plus d’une activation de fonctions en cours.
Les fonctions peuvent s’appeler mutuellement et on peut même avoir des appels récursifs de fonctions. Il faut donc prévoir un mécanisme qui permette de lancer une activation, de l’abandonner provisoirement pour en lancer une autre mais avec l’obligation de pouvoir retrouver, lorsque l’activation plus récente sera achevée, l’activation suspendue dans le même état où on l’a laissée. Nous avons déjà vu une organisation de l’information qui réalise cette contrainte, la notion de pile. On doit donc organiser en pile la mémoire des différentes fonctions actives.
HAUT DE PAGELa suite de cet article est réservée aux abonnés
Vous n'êtes pas abonné ?
Consultez gratuitement cet article.
votre période de consultation gratuite
Découvrez le plus important corpus scientifique et technique francophone
Plus de 8 000 articles, 13 univers, 400 bases documentaires, les plus grands auteurs, un enrichissement permanent et un éventail de services associés.
