• Non ci sono risultati.

Fondamenti dei linguaggi di programmazione Fondamenti dei linguaggi di Fondamenti dei linguaggi di programmazione programmazione

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti dei linguaggi di programmazione Fondamenti dei linguaggi di Fondamenti dei linguaggi di programmazione programmazione"

Copied!
2
0
0

Testo completo

(1)

1

Murano Aniello

Fond. LP - Quindicesima Lezione 1

Fondamenti dei linguaggi di programmazione

Fondamenti dei linguaggi di Fondamenti dei linguaggi di

programmazione programmazione

Aniello Murano Aniello Murano Universit

Universitààdegli Studi di Napolidegli Studi di Napoli

“Federico IIFederico II”

Murano Aniello

Fond. LP - Quindicesima Lezione 2

Esercitazione sulle semantiche operazionale e denotazionale Esercitazione sulle semantiche Esercitazione sulle semantiche

operazionale e denotazionale

operazionale e denotazionale

(2)

2

Murano Aniello

Fond. LP - Quindicesima Lezione 3

Scrivere la semantica operazionale e denotazionale del seguente comando da aggiungere al linguaggio IMP:

Do ≡ Do b1 Æ c1, b2 Æ c2 OD

dove b1 e b2sono espressioni booleane e c1 e c2 sono comandi e con la seguente semantica intuitiva:

“ad ogni iterazione del costrutto i comandi c1 e c2 vengono eseguiti (sequenzialmente) se le espressioni booleane associate valutano a vero. L'iterazione ed il singolo ciclo terminano non appena viene incontrata una espressione booleana che valuta a falso”

Verificare che le due semantiche sono equivalenti

Esercizio

Murano Aniello

Fond. LP - Quindicesima Lezione 4

Equivalenza delle semantiche

Dimostriamo che per il comando dato vale la proprietà P(c) (σ, σ’ ) ∈ C«Do¬ ⇔ < Do, σ > → σ’

Suggerimento: ricordare che (nel caso b1 e b2 sono valutate a true) Cn«Do¬ = {(σ,σ’ ) | (σ,σ’ ) ∈ Cn-1«Do¬ ◦ C«c2¬ ◦ C«c1¬}.

Per il verso “⇐ ” utilizzare una induzione sulle derivazioni Per il verso “⇒” è sufficiente provare per induzione su n che

∀σ,σ’ ∈ Σ. (σ,σ’) ∈ Cn«Do¬ ⇒ <Do, σ> → σ’.

Riferimenti

Documenti correlati

Induzione matematica e strutturale sono casi particolari di un potente metodo di prova chiamato induzione ben fondata In questa lezione vedremo in dettaglio:. ¾ Induzione

Supponiamo di voler estendere le espressioni aritmetiche di IMP includendo un nuovo operatore “^” con il significato di elevamento a potenza. La sintassi di Aexp di IMP verrà

Negli anni sessanta, Christopher Strachey e Dana Scott riuscirono a superare le limitazioni della semantica operazionale introducendo una semantica più astratta basata sull’utilizzo

La sintassi specifica sia la struttura lessicale del linguaggio (come costruire le parole a partire dai caratteri dell’alfabeto) sia le regole per la costruzione delle

Si noti che nel comando if, comunque sia valutato b in σ’, esso viene interrotto dopo l’esecuzione di c e dunque in questo caso &lt;w,σ&gt; è valutato σ’ sse &lt;if,σ&gt;.

Passo induttivo: supponendo che l’asserto sia vero per un albero di derivazione alto n e per n cicli di valutazioni nella denotazione del while (con n &gt; 0, quindi anche per

[r]

Ma siccome stiamo valutando l’equivalenza dei due comandi if nel senso di un utilizzo alternativo degli stessi (nello stesso istante), qualsiasi scelta venga effettuata tra c 0 e c