Slides del corso
Programma. Obiettivi, Materiale didattico e strumenti, Inquadramento storico
Macchine astratte, interpretazione e compilazione
Elementi di semantica operazionale
OCAML
Tipi di dato
Espressioni e comandi (funzionale ed imperativo puri)
Blocchi e ambiente (linguaggio funzionale e imperativo)
Sottoprogrammi e funzioni nel linguaggio funzionale
Sottoprogrammi nel linguaggio imperativo
Classi e oggetti
Passaggio di parametri
Implementazione dell'ambiente in linguaggi funzionali
Implementazione della memoria a pila nel linguaggio imperativo
Implementazione degli oggetti
Gestione della memoria a heap
Supporto a tempo di esecuzione
Java 1
Java 2
Java3
Java 4
Astrazioni
Astrazioni procedurali
Eccezioni
Dimostrazioni sulle procedure
Specifica di astrazioni sui dati
Implementazione di astrazione sui dati
Un esempio: specifica ed implementazione dellÕambiente
Dimostrazioni sui tipi di dato
Esempio; S-espressioni
Esempio: lista ordinata
Iteratori
Esempio: iteratore per lista ordinata
Esempio: Iteratore per S-espressioni
Gerarchie di classi
Gerarchie di classi 2
Esempio: S-espressioni come classi astratte
Polimorfismo
Esempio: liste polimorfe
Programmi ML (da scaricare)
Programmi ML su Data Types
Programmi ML su Semantica di espressioni pure e comandi puri, blocchi funzionali e imperativi, funzioni e procedure, classi e oggetti; Implementazione dell'ambiente in linguaggi funzionali; Implementazione di memoria e heap in linguaggi imperativi e orientati ad oggetti (con istruzioni per l'uso)
Compiti vecchi