Studiare
In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.
Piano Didattico
Queste informazioni sono destinate esclusivamente agli studenti e alle studentesse già iscritti a questo corso.Se sei un nuovo studente interessato all'immatricolazione, trovi le informazioni sul percorso di studi alla pagina del corso:
Laurea in Informatica - Immatricolazione dal 2025/2026Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.
1° Anno
Insegnamenti | Crediti | TAF | SSD |
---|
2° Anno Attivato nell'A.A. 2016/2017
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta tra i seguenti
3° Anno Attivato nell'A.A. 2017/2018
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta tra i seguenti
Insegnamenti | Crediti | TAF | SSD |
---|
Legenda | Tipo Attività Formativa (TAF)
TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.
Compilatori (2017/2018)
Codice insegnamento
4S00041
Docente
Coordinatore
Crediti
6
Lingua di erogazione
Italiano
Settore Scientifico Disciplinare (SSD)
INF/01 - INFORMATICA
Periodo
II sem. dal 1 mar 2018 al 15 giu 2018.
Obiettivi formativi
Il corso introduce gli elementi di base della teoria della compilazione dei linguaggi di programmazione. L'obiettivo del corso e' fornire agli studenti le competenze necessarie per lo sviluppo e l'implementazione di compilatori o interpreti per linguaggi semplici, le capacita' per l'utilizzo consapevole di strumenti per la generazione di parser e la conoscenza delle nozioni teoriche alla base delle varie fasi del processo di compilazione.
Lo studente che segue questo corso avrà le competenze necessarie per l'implementazione di semplici traduttori o interpreti e per l'uso di strumenti per l'analisi e l'ottimizzazione di semplici linguaggi o applicazioni.
Programma
Il corso prevede 44 ore di lezioni frontali destinate a coprire il programma schematizzato di seguito. Per gli ultimi due argomenti dell'elenco riportato, sono previste ulteriori 12 ore di attività in laboratorio con esercitazioni al computer sotto la supervisione del docente. Oltre ai libri di testo, viene usata la piattaforma e-learning per mettere a disposizione degli studenti materiale didattico aggiuntivo, e.g. lucidi delle lezioni, esercizi e soluzioni, materiale di supporto per le attività in laboratorio.
Programma
* Introduzione al corso e alla tecnologia dei compilatori.
* Analisi lessicale.
* Analisi sintattica.
* Sintassi astratta.
* Analisi semantica (type-checking).
* Codice intermedio.
* Generazione del codice intermedio.
* Utilizzo di strumenti automatici per la generazione di analizzatori sintattici.
* Sviluppo in laboratorio di un compilatore per un semplice linguaggio funzionale.
Autore | Titolo | Casa editrice | Anno | ISBN | Note |
---|---|---|---|---|---|
Aho, A.V. and Lam, M.S. and Sethi, R. and Ullman, J.D. | Compilatori: Principi, tecniche e strumenti (Edizione 2) | Pearson | 2009 | 978-88-7192-559-2 | |
Torben Egidius Mogensen | Introduction to Compiler Design | Springer-Verlag London | 2011 | 978-0-85729-828-7 |
Modalità d'esame
L'esame e' inteso come una verifica dell'apprendimento delle nozioni fondamentali per la costruzione di un compilatore, nonché della conoscenza del particolare compilatore sviluppato in laboratorio.
Gli studenti devono rispondere per iscritto a quattro domande con risposta aperta di cui una e' riservata al lavoro svolto in laboratorio. Il punteggio assegnato ad ogni esercizio varia tra 0 (zero) e 7,5 per un totale massimo di 30/30.
La lode viene assegnata esclusivamente ad elaborati svolti correttamente che dimostrino con l'accuratezza dei dettagli e della presentazione piena padronanza della materia.