La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Semantica Denotazionale. Tino CortesiTecniche di Analisi di Programmi 2 Semantica Denotazionale Ad ogni costrutto sintattico (parte del programma) P viene.

Presentazioni simili


Presentazione sul tema: "Semantica Denotazionale. Tino CortesiTecniche di Analisi di Programmi 2 Semantica Denotazionale Ad ogni costrutto sintattico (parte del programma) P viene."— Transcript della presentazione:

1 Semantica Denotazionale

2 Tino CortesiTecniche di Analisi di Programmi 2 Semantica Denotazionale Ad ogni costrutto sintattico (parte del programma) P viene associata la sua denotazione [| P |], un oggetto matematico che rappresenta il contributo di P al significato di un qualsiasi programma che contenga P. Composizionalità: la denotazione di un costrutto linguistico (parte del programma) dipende unicamente dalla denotazione delle sue sotto-componenti

3 Tino CortesiTecniche di Analisi di Programmi 3 Il linguaggio while Notazione BNF Elementi sintattici

4 Tino CortesiTecniche di Analisi di Programmi 4 Semantica dei numerali La funzione semantica associa ad ogni numerale (in forma binaria) il suo significato (un elemento dellinsieme dei numeri interi Z) Ad esempio,

5 Tino CortesiTecniche di Analisi di Programmi 5 Stato ed Espressioni Il significato dei una espressione aritmetica dipende dallo stato delle variabili che vi appaiono. Uno stato è una funzione che associa ad un insieme di variabili un corrispondente insieme di valori Data unespressione aritmetica ed uno stato possiamo determinare il valore di questa espressione

6 Tino CortesiTecniche di Analisi di Programmi 6 Semantica delle Espressioni

7 Tino CortesiTecniche di Analisi di Programmi 7 Esempio Consideriamo lespressione aritmetica (x+1), valutata in uno stato s tale che s x = 3

8 Tino CortesiTecniche di Analisi di Programmi 8 Semantica delle espressioni booleane

9 Tino CortesiTecniche di Analisi di Programmi 9 Semantica dei comandi Un comando è un costrutto che può modificare lo stato della memoria: è quindi una funzione parziale tra stati La semantica dellassegnamento assicura che se allora

10 Tino CortesiTecniche di Analisi di Programmi 10 Comando sequenziale La semantica del comando sequenziale considera il caso In cui una ddelle due funzioni non sia definita riespetto agli argomenti:

11 Tino CortesiTecniche di Analisi di Programmi 11 Comando condizionale

12 Tino CortesiTecniche di Analisi di Programmi 12 Comando while La semantica del comando deve essere la stessa di Quindi la semantica di deve essere il punto fisso del funzionale F definito da

13 Tino CortesiTecniche di Analisi di Programmi 13 Comando while La semantica del comando while è quindi: dove loperatore di punto fisso FIX è del tipo: ma cosa ci assicura che il punto fisso esista?

14 Tino CortesiTecniche di Analisi di Programmi 14 Cè un minimo punto fisso? Operazionalmente possono verificarsi tre casi nellesecuzione del comando while b do S a partire da uno stato s 0 : Il comando termina Cè un loop interno (ce un comando allinterno di S che non termina) E il loop while che non termina

15 Tino CortesiTecniche di Analisi di Programmi 15 Esempio Se è lo stato in cui x vale 5, ecco un esempio per ognuno dei tre casi precedenti: while x>0 do x:=x-1 while x>0 do if (x=1) then (while true do skip) else x:= x-1 While true do skip

16 Tino CortesiTecniche di Analisi di Programmi 16 Problema… Per garantire lesistenza di soluzioni a questa equazione di punto fisso sono necessarie condizioni: Sul dominio: un ordine parziale? un CPO? un reticolo completo? Sul funzionale: monotono? continuo?


Scaricare ppt "Semantica Denotazionale. Tino CortesiTecniche di Analisi di Programmi 2 Semantica Denotazionale Ad ogni costrutto sintattico (parte del programma) P viene."

Presentazioni simili


Annunci Google