Semantica (2005/2006)

Corso a esaurimento

Codice insegnamento
4S00065
Docente
Andrea Masini
crediti
5
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Sede
VERONA
Periodo
non ancora assegnato

Obiettivi formativi

Scopo del corso è quello di introdurre le principali tecniche matematiche usate nello studio dei linguaggi di programmazione:

* sistemi di tipi
* semantica operazionale
* domini
* semantica denotazionale

Il corso si rivolge a studenti con uno spiccato interesse per l'informatica teorica.

Il corso presuppone le competenze acquisite nei corsi di "Programmazione", "Logica", "Algebra", "Linguaggi di Programmazione" e "Fondamenti dell'informatica" della laurea triennale in informatica.

Programma

1 semantica operazionale
1.1 il linguaggio IMP
1.2 regole di valutazione
2 principi di induzione
2.1 induzione matematica, strutturale e ben fondata
2.2 induzione sulle derivazioni
2.3 definizioni per induzione
3 definizioni induttive
3.1 regole e induzione
3.2 regole di prova per la semantica operazionale
3.3 operatori e punti fissi
4 semantica denotazionale di IMP
4.1 semantica denotazionale
4.2 confronto con la semantica operazionale
4.3 ordini parziali completi (cpo)
4.4 teorema di Knaster-Tarski di punto fisso
5 introduzione alla teoria dei domini
5.1 costruzione di cpo
5.2 un metalinguaggio per la teoria dei domini
6 la ricorsione
6.1 il linguaggio REC
6.1 call-by value e call-by-name (semantiche operazionali e denotazionali)
7 linguaggi tipati
7.1 tipi
7.2 un linguaggio call-by-value: semantica operazionale e denotazionale
7.3 un linguaggio call-by-name: semantica operazionale e denotazionale
7.5 confronto delle semantiche operazionali e denotazionali

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
G. Winskel The formal Semantics of Programming Languages MIT Press 1993

Modalità d'esame

L'esame consiste in una prova orale

Condividi