Linguaggi di Programmazione e Compilatori

Il corso presenta i vari linguaggi di programmazione, la loro specifica sintattica e semantica, le strutture per la gestione dei dati e del flusso di controllo. Vengono considerate le caratteristiche dei vari linguaggi, allo scopo di permettere allo studente di scegliere il linguaggio piú adatto alle proprie necessità. Vengono considerati linguaggi imperativi, logici e funzionali, soffermandosi in particolare sul paradigma dei linguaggi a oggetti. Si considerano poi le tecniche per la realizzazione di un compilatore, ovvero di uno strumento automatico di traduzione da un linguaggio di programmazione a un altro. I risultati teorici sono presentati insieme a degli strumenti standard che li sfruttano nell'implementazione dei compilatori. Il corso mostra l'applicazione di tali strumenti alla realizzazione di un compilatore da un semplice linguaggio di programmazione imperativo a un linguaggio macchina per un processore a registri.

Programma del corso

Parte I

Parte II

Testi di riferimento

Modalità d'esame

L'esame è formato da un progetto, uno scritto e un orale. Il progetto consiste in una modifica del compilatore per Tiger descritto durante il corso.



Fausto Spoto, 13 gennaio 2002