Linguaggi di programmazione (2004/2005)

Corso a esaurimento

Codice insegnamento
4S00042
Docente
Roberto Giacobazzi
crediti
5
Altri corsi di studio in cui è offerto
Lingua di erogazione
Italiano
Periodo
2° Q dal 10-gen-2005 al 11-mar-2005.
Pagina Web
http://profs.sci.univr.it/~giaco/linguaggi.html

Orario lezioni

2° Q
Giorno Ora Tipo Luogo Note
giovedì 10.30 - 12.30 lezione Aula D  
venerdì 10.30 - 13.30 lezione Aula D  

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

# Interpreti e macchine astratte: interpretazione, compilazione, specializzazione
# Definizioni induttive, sistemi di transizione, teoremi di punto fisso
# Sintassi concreta, sintassi astratta, ambiente e memoria: i tipi di dato
# Semantica denotazionale ed operazionale
# Il linguaggio ML: specifica dell'interprete denotazionale ed operazionale
# L'interprete per un linguaggio di programmazione: interprete denotazionale, operazionale, iterativo.
# La gestione degli ambienti: linguaggi a blocchi
# L'interprete per un lunguaggio con funzioni e procedure
# L'interprete per un linguaggio ad oggetti
# Semantica statica e interpretazione: linguaggi fortemente tipati
# Gestione della memoria e del controllo

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. Il progetto di Linguaggi ha validita' annuale, ovvero fino al I appello del II quadrimestre A.A. 2005-06 escluso. La consegna del progetto, redatto secondo le seguenti specifiche ovvero composto dalle specifiche date dal docente, dalle specifiche che descrivano le scelte progettuali indivuduali operate, ed il codice sorgente in OCAML del progetto con eventuali esempi di funzionamento, e' fissata ad ogni appello dell'esame di Linguaggi presso lo studio del docente o presso un'aula da destinarsi. Oltre al I appello del II quadrimestre (Aprile 2005) e' fissata una consegna straordinaria a 2 settimane dal I appello, presso lo studio del Docente. L'esame consiste in una discussione del progetto con domande sul programma del corso. I gruppi non possono essere formati da piu' di 4 studenti. La formazione dei gruppi deve essere stabilita prima della fine del corso, ovvero prima del 15 Marzo 2005.

Materiale didattico

Documenti