“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 61 — #71
i
i
i
i
i
i
i
i
2.4 La sémantique du langage noyau
61
– Une instruction sémantique est une paire (s, E) où s est une instruction et
E est un environnement. L’instruction sémantique montre la relation entre une
instruction et ce qu’elle référence en mémoire. Les instructions possibles sont
énumérées dans la section 2.3.
– Un état d’exécution est une paire (ST, s) où ST est une pile d’instructions
sémantiques et s est une mémoire à affectation unique. La figure 2.17 montre un
état d’exécution.
– Un calcul est une séquence d’états d’exécution qui commence par un état initial :
(ST 0 , s 0 ) → (ST 1 , s 1 ) → (ST 2 , s 2 ) → · · · .
Chaque transition dans un calcul s’appelle un pas d’exécution. Il est atomique : aucun
état intermédiaire n’est visible. C’est comme si le pas était fait « d’un seul coup ».
Dans ce chapitre, tous les calculs sont séquentiels, c’est-à-dire que l’état d’exécution
contient une seule pile d’instructions qui est transformée successivement par une
séquence de pas d’exécution.
U=Z.age X=U+1 if X<2 then ...
Pile sémantique
(instruction en cours d’exécution)
Mémoire à affectation unique
(mémoire à valeurs étendue
avec des variables dataflow)
U
Z=person(age: Y)
W=atom
Y=42
X
Figure 2.17 Le modèle de calcul déclaratif.
L’exécution d’un programme
Nous exécutons un programme avec cette sémantique. Un programme est une instruction s sans références externes. Voici comment l’exécuter :
– L’état d’exécution initial est :
([(s, f)], f)
La mémoire initiale est vide (pas de variables, s est l’ensemble vide f) et il y a
une seule instruction sémantique (s, f) sur la pile ST. L’instruction sémantique
contient s et un environnement vide (f). Nous utilisons des crochets [. . .] pour
représenter la pile.
– À chaque pas, le premier élément de ST est dépilé et l’exécution continue selon
sa forme.
© Dunod – La photocopie non autorisée est un délit
i
i
i
i
i
i
i
i
2.4 La sémantique du langage noyau
61
– Une instruction sémantique est une paire (s, E) où s est une instruction et
E est un environnement. L’instruction sémantique montre la relation entre une
instruction et ce qu’elle référence en mémoire. Les instructions possibles sont
énumérées dans la section 2.3.
– Un état d’exécution est une paire (ST, s) où ST est une pile d’instructions
sémantiques et s est une mémoire à affectation unique. La figure 2.17 montre un
état d’exécution.
– Un calcul est une séquence d’états d’exécution qui commence par un état initial :
(ST 0 , s 0 ) → (ST 1 , s 1 ) → (ST 2 , s 2 ) → · · · .
Chaque transition dans un calcul s’appelle un pas d’exécution. Il est atomique : aucun
état intermédiaire n’est visible. C’est comme si le pas était fait « d’un seul coup ».
Dans ce chapitre, tous les calculs sont séquentiels, c’est-à-dire que l’état d’exécution
contient une seule pile d’instructions qui est transformée successivement par une
séquence de pas d’exécution.
U=Z.age X=U+1 if X<2 then ...
Pile sémantique
(instruction en cours d’exécution)
Mémoire à affectation unique
(mémoire à valeurs étendue
avec des variables dataflow)
U
Z=person(age: Y)
W=atom
Y=42
X
Figure 2.17 Le modèle de calcul déclaratif.
L’exécution d’un programme
Nous exécutons un programme avec cette sémantique. Un programme est une instruction s sans références externes. Voici comment l’exécuter :
– L’état d’exécution initial est :
([(s, f)], f)
La mémoire initiale est vide (pas de variables, s est l’ensemble vide f) et il y a
une seule instruction sémantique (s, f) sur la pile ST. L’instruction sémantique
contient s et un environnement vide (f). Nous utilisons des crochets [. . .] pour
représenter la pile.
– À chaque pas, le premier élément de ST est dépilé et l’exécution continue selon
sa forme.
© Dunod – La photocopie non autorisée est un délit
