opération |
prédicat |
opération analytique |
opération synthétique |
li a |
isli (s) |
arg (s) = a |
mkli (a) = s |
load x |
isload (s) |
adr (s) = x |
mkload (x) = s |
sto x |
issto (s) |
adr (s) = x |
mksto (x) = s |
add x |
isadd (s) |
adr (s) = x |
mkadd (x) = s |
programme = liste d'instructions
- null (p) : vrai si p est une liste vide
- first (p) : première instruction de p si non null (p)
- rest (p) : les instructions restantes de p
- p1 * p2 : le programme obtenu par les instructions de p1 puis celles de p2
Les opérations ci-dessus vérifient :
is... ( mk... (a))
a/x = arg/adr ( mk...( a/x)) 4
null ( rest (mk...( a/x))
si is... (s) alors first (s) = s
si non (null (p)) alors p = first (s) * rest (p)
si non (null (p1)) et null (rest (p1))) alors p1 = first (p1 * p2)
null (p1 * p2) = (null (p1) et null (p2))
- c (x , R) : valeur du registre x dans l'environnement machine R
- a (x , a , R) : l'environnement machine obtenu en changeant dans R la valeur du registre x par a
Ces fonctions vérifient :
-> donne l'environnement machine après exécution de l'instruction s
-> donne l'environnement machine après exécution du programme p
7 outcome (p1 * p2 , R) = outcome (p2 , outcome (p1 , R))
Dernières modifications : Fri Feb 11 18:53:48 MET 2000