Obiettivi formativi: Scopo del corso è quello di introdurre i concetti fondamentali che stanno alla base della progettazione ed implementazione di un linguaggio di programmazione moderno. In particolare si porrà l'attenzione sul ruolo centrale che hanno i tipi e la semantica (operazionale e denotazionale) nella fase di comprensione e progettazione di un linguaggio di programmazione, e di come sia possibile derivare sistematicamente interpreti e macchine astratte a partire da una corretta e ben formalizzata definizione del linguaggio.

Propedeuticità consigliate: Il corso ha come prerequisiti i corsi del I e II anno e la parte di linguaggi formali ed automi del corso di Fondamenti dell'Informatica. Il corso è propedeutico al corso di Compilatori.

Programma dettagliato

Modalità d'esame

Realizzazione di un progetto implementativo su specifiche fornite dal docente. Il progetto consiste nello sviluppo in OCAML di un interprete. L'esame consiste nella discussione del progetto.

My Home page