Un ambiente, in informatica e nell'ambito della programmazione, è definito come l'insieme di tutte le associazioni tra identificatori e posizioni di memoria. Più formalmente, l'ambiente è una funzione che associa il dominio semantico degli identificatori (Id
) a quello dei valori denotabili da identificatori (valori denotabili, DVal
), quali ad esempio le posizioni di memoria, le procedure, le funzioni:
Env = Id DVal
Si noti che, poiché le posizioni di memoria contengono dei valori, esiste un'ulteriore funzione, detta store, che lega il dominio delle posizioni di memoria (Loc
, sottoinsieme di DVal
) in quello dei valori memorizzabili SVal
, come ad esempio un intero o un file di input o output:
Store = Loc SVal
Ovviamente l'associazione tra identificatore e valore associato, come ad esempio in una variabile, necessita dell'applicazione in sequenza delle due funzioni:
dove
i: identificatore
ρ: ambiente
l: posizione
σ: store
v: valore
In definitiva, si può dire che gli identificatori fanno riferimento, tramite l'ambiente, ad una posizione, ed a questa viene associato un valore, che può variare dinamicamente, attraverso lo store.