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
|
|
DIDATTICA |
NOVITA' |
ESAMI |
|
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. |
|
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. mercoledì 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) |
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. |