Prof. Simone Brunozzi ( email ) ( CV )
Docente a contratto per il corso di
LABORATORIO DI LINGUAGGI DI PROGRAMMAZIONE E COMPILATORI   [corso 231]
Anno accademico 2004/2005 - II semestre - Corso di laurea in informatica
ultimo aggiornamento: 20 febbraio 2006

Materiale didattico su dipmat.it : http://www.dipmat.it/corsi/lab_linguaggi_compilatori/

E' attivo il nuovo forum di informatica!

DIDATTICA
NOVITA'

ESAMI

SYLLABUS (informazioni sul corso) (vai)

DISPENSE
Nuove dispense a.a. 2004-2005 v 2.0.4:
COMPLETE (pdf 1100 Kb, sxw 1090 Kb)

ESERCIZI
Eserciziario a.a. 2004-2005:
v 1.0.0 (pdf 41 Kb, sxw 12 Kb)
Siete caldamente invitati a contribuire!

MAILING LIST
labcompilatoripg
APPELLI DELLA SESSIONE INVERNALE: alcuni studenti hanno chiesto una conferma, ed eccola qui: il sottoscritto sarà nella commissione degli appelli invernali (gen-feb 2006).

Risultati degli esami qui.

Informazioni sulle modalità di esame.

mercoledì 22 febbraio 2006

Esame SOLO ORALE in aula B3 dalle ore 13:30 alle ore 17:00 circa. Gli interessati sono pregati di confermare la loro partecipazione per email. Ricordatevi: dovete GIA' aver sostenuto e registrato l'esame di Programmazione I.
Questa sarà la mia ultima sessione d'esame.
In bocca al lupo al nuovo docente.



TESTI DI ESAMI PASSATI
Sono disponibili i testi degli esami passati:

22 giugno 2005 (pdf | sxw)

21 giugno 2004 (pdf | sxw)

7 luglio 2004 (pdf | sxw)

3 settembre 2004 (pdf | sxw)

22 settembre 2004 (pdf | sxw)


DIDATTICA (old)
NOVITA' (old)

ESAMI (old)

DISPENSE
Vecchie dispense a.a. 2003-2004 (pdf 1,01 MB)

ORARIO LEZIONI
Venerdì 11:00-12:00 Laboratorio
Venerdì 12:00-14:00 Lezione aula A2

CONSULTAZIONE
Venerdì 14:00-14:45
APPELLI DELLA SESSIONE INVERNALE: alcuni studenti hanno chiesto una conferma, ed eccola qui: il sottoscritto sarà nella commissione degli appelli invernali (gen-feb 2006).

mercoledì 15 giugno 2005

esercitazione pre-esame dalle 15:00 alle 18:00 in aula A0.
Gli studenti sono pregati di venire con proposte di esercizi da svolgere, e di discuterne prima in Mailing List in modo da dare la possibilità al docente di capire il problema sollevato.

mercoledì 1 giugno 2005

lezione dalle 16:00 alle 18:30 in aula A2.
Non verranno spiegate cose nuove, ma fatti esercizi.

mercole
dì 25 maggio 2005

lezione dalle 15:00 alle 18:00 in aula A0.

venerdì 20 maggio 2005

lezione dalle 11:00 alle 14:00 in aula A2 e in laboratorio.

venerdì 13 maggio 2005

lezione dalle 11:00 alle 14:00 in aula A2 e in laboratorio.

venerdì 6 maggio 2005

lezione dalle 11:00 alle 14:00 in aula A2 e in laboratorio.

venerdì 29 aprile 2005

lezione dalle 11:00 alle 14:00 in aula A2 e in laboratorio.

venerdì 22 aprile 2005

lezione dalle 11:00 alle 14:00 in aula A2.

venerdì 15 aprile 2005

Oggi non ci sarà lezione, il docente è fuori sede.

venerdì 8 aprile 2005
lezione dalle 11:00 alle 14:00 in aula A2.
Niente lezione in laboratorio.
Faremo una serie di esercizi pratici in aula.

venerdì 1 aprile 2005

Oggi non ci sarà lezione, in base ad una comunicazione rettorale che la sospende per ragioni elettorali.

venerdì 25 marzo 2005
Oggi non ci sarà lezione: vacanze di Pasqua. Auguri.

venerdì 18 marzo 2005

lezione dalle 11:00 alle 14:00 in aula A2.
Niente lezione in laboratorio.
Faremo una serie di esercizi pratici in aula.

venerdì 11 marzo 2005

lezione dalle 11:00 alle 14:00 in aula A2.
Niente lezione in laboratorio.

venerdì 4 marzo 2005

lezione dalle 11:00 alle 14:00 in aula A2.
Per questa volta niente lezione in laboratorio.

venerdì 26 gennaio 2006 (attenzione! La data era precedentemente fissata al 27 gennaio)
Esame SOLO ORALE in aula A3 dalle ore 14:00 alle ore 17:00 circa. Gli interessati sono pregati di confermare la loro partecipazione per email. Ricordatevi: dovete GIA' aver sostenuto e registrato l'esame di Programmazione I.

giovedì 22 settembre 2005

Esame SOLO ORALE in aula A2 dalle ore 14:00 alle ore 17:00 circa. Gli interessati sono pregati di confermare la loro partecipazione.

venerdì 9 settembre 2005
, alle ore 14:00 in aula A2, esame orale e/o apposizione del voto sul libretto universitario.

venerdì 2 settembre 2005

Esame scritto in aula I2 dalle ore 14:00 alle ore 17:00 circa. Gli interessati sono pregati di confermare la loro partecipazione.

giov
edì 14 luglio 2005

Esame scritto in aula A2 dalle ore 15:00 alle ore 17:00 circa. Gli interessati sono pregati di confermare la loro partecipazione.

Risultati degli esami del 7 luglio.

giovedì 7 luglio 2005, alle ore 15:00 in aula A2, esame orale e/o apposizione del voto sul libretto universitario.

martedì 28 giugno 2005, alle ore 15:00 in aula A2, esame orale e/o apposizione del voto sul libretto universitario.


Mercoledì 22 giugno 2005

Esame scritto in aula A2 dalle ore 15:00 alle ore 17:00 circa. Gli interessati sono pregati di confermare la loro partecipazione.
ATTENZIONE: L'APPELLO ERA STATO PRECEDENTEMENTE FISSATO PER IL 21 GIUGNO.

venerdì 11 marzo 2005

prova di esame (solo per i rimanenti esaminandi del 4 marzo 2005) ore 9:30, aula A0. La disponibilità dell'aula non è confermata, quindi se fosse occupata ci incontriamo di fronte alla A2 e poi scegliamo dove andare.

venerdì 4 marzo 2005
prova di esame ore 14:45, aula A3.

Se il numero di studenti presenti lo permette, si tratterà di una unica prova ORALE, più lunga ed approfondita di quelle solitamente affrontate nelle sessioni passate, dato che comprenderà anche una verifica di ciò che veniva messo nella prova scritta.
E' necessario avere con sè il libretto universitario.
Si pregano gli studenti interessati a sostenere l'esame di COMUNICARLO TEMPESTIVAMENTE AL DOCENTE.









torna su

SYLLABUS
Il Syllabus è una raccolta di tutte le informazioni utili per seguire il corso ed affrontare l'esame.

DOCENTE
Prof. Simone Brunozzi (labcompilatori@wedoit.us)
telefono: non disponibile
web: http://www.wedoit.us/labcompilatori/

ASSISTENTE
nessuno

ORARIO DELLE LEZIONI
Venerdì, 11:00 – 12:00, laboratorio
Venerdì, 12:00 – 14:00, aula A2

TESTI DI RIFERIMENTO
- Dispense del corso (la versione del file indica eventuali aggiornamenti o correzioni successivi alla prima pubblicazione); seguire la lezione e studiare le dispense è sufficiente per superare l'esame del corso;

TESTI DI APPROFONDIMENTO
- “Compilers – Principles, Techniques, and Tools” di Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman (il testo, in lingua inglese, è disponibile per la consultazione in biblioteca del dipartimento di Informatica e matematica; suggerisco agli studenti di acquistarlo solo se davvero necessario);
- testo: “Linguaggi formali e compilatori”, di Giorgio Bruno, ed. UTET, disponibile in italiano (questo testo è per eventuali approfondimenti personali).
- eventuali altri riferimenti bibliografici potranno essere comunicati a lezione.

ORARIO E LUOGO DI CONSULTAZIONE
dalle 14:00 alle 14:45, venerdì, aula A2 (subito dopo la lezione)

REPERIBILITA' DELLE DISPENSE
- Da fotocopiare, in portineria del Dipartimento di Informatica e Matematica.
- Su internet, all'indirizzo www.wedoit.us/labcompilatori/

Le dispense in portineria sono disponibili in due diversi layout: una pagina per foglio, due pagine per foglio (per chi volesse limitare l'ingombro delle dispense stesse).
Invito gli utilizzatori a riconsegnarle ordinate e pulite, e di segnalare al docente eventuali ammanchi o manomissioni.
Il primo foglio nel mazzo delle dispense indica l'ultima data di aggiornamento delle versione cartacea delle stesse, ad opera del docente.

CREDITI FORMATIVI
tre

MAILING LIST DEL CORSO
Tutti gli studenti sono invitati ad unirsi alla Mailing List del corso, in modo da poter rimanere aggiornati su eventuali notizie riguardanti il corso, e poter discutere pubblicamente dei propri dubbi sulle dispense o sullo svolgimento degli esercizi.

Home page: http://it.groups.yahoo.com/group/labcompilatoripg/
Invia messaggio: labcompilatoripg@yahoogroups.com
Iscriviti: labcompilatoripg-subscribe@yahoogroups.com
Annulla iscrizione: labcompilatoripg-unsubscribe@yahoogroups.com
Proprietario lista: labcompilatoripg-owner@yahoogroups.com
Regolamentazione: http://it.docs.yahoo.com/info/utos.html

MODALITA' DI ESAME
Esame scritto, che consiste in esercizi rivolti soprattutto ad aspetti pratici, ed alcuni esercizi di livello più teorico.
L'eventuale esame orale serve invece a valutare la preparazione globale dello studente.
Maggiori dettagli in fondo a queste dispense.

PROGRAMMA DIDATTICO DEL CORSO (riferito all'anno accademico 2003-2004)
01 - Introduzione ai compilatori
Compilatori, Il modello Analisi-Sintesi, Analisi del programma sorgente, Sintesi: dal codice intermedio al codice obiettivo
02 – Grammatiche e Turing Machine
Introduzione, Cenni sulle grammatiche, BNF: Backus-Naur Form, Cenni sulla macchina di Turing, Cenni sulla Gerarchia di Chomsky
03 – Espressioni regolari
Espressioni regolari, Sintassi delle espressioni regolari, storia di POSIX / SUS, Sintassi avanzata delle espressioni regolari, Esercizi
04 - Automi
Automa a stati finiti (finite state automaton), Trasformazione da regex a NFSA, Trasformazione da NFSA a DFSA, Minimizzazione di un DFSA
05 – Vim e grep
Introduzione, Editor vim, Comando grep
06 - flex
Introduzione, GNU flex, Alcuni usi avanzati di flex, Approfondimenti su flex
07 - Parsing
Analisi sintattica / parsing, bison, flex e bison insieme, VCG (Visualization of Compiler Graphs), conflitti, esempi
Importante: per l'anno accademico 2004-2005 sono previste alcune modifiche al programma didattico del corso, che verranno comunicate nel corso delle lezioni e aggiornate sulle dispense.
08 – Modalità di esame

OBIETTIVI DEL CORSO
Comprensione degli aspetti formali sintattico/semantici dei linguaggi e dei meccanismi di supporto per interpreti/compilatori. Capacità di utilizzare strumenti per la realizzazione di semplici interpreti/parser in ambiente linux.

PROPEDEUTICITA'
Corso di programmazione I

PREREQUISITI
Conoscenza dell'ambiente operativo linux, di un linguaggio di programmazione ad alto livello, dell'architettura dei sistemi di elaborazione.

torna su