COMPILATORI

Gennaro COSTAGLIOLA COMPILATORI

0522500069
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA MAGISTRALE
INFORMATICA
2016/2017



OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2016
PRIMO SEMESTRE
CFUOREATTIVITÀ
648LEZIONE
Obiettivi
CONOSCENZA ED APPRENDIMENTO:
- I CONCETTI PRINCIPALI DEI LINGUAGGI DI PROGRAMMAZIONE
- LE TECNICHE DI SVILUPPO PER L' IMPLEMENTAZIONE DI UN LINGUAGGIO DI PROGRAMMAZIONE
- LE FASI DI UN COMPILATORE
- I FORMALISMI NECESSARI PER LA SPECIFICA FORMALE DI UN LINGUAGGIO DI PROGRAMMAZIONE
- GLI ALGORITMI PRINCIPALI PER LA GENERAZIONE AUTOMATICA DI TRADUTTORI E COMPILATORI

CAPACITÀ DI APPLICARE LA CONOSCENZA E L’APPRENDIMENTO:

- L’USO DI TOOLS QUALI FLEX E JAVACUP PER L'IMPLEMENTAZIONE DEI LINGUAGGI DI PROGRAMMAZIONE
- LO SVILUPPO DELLE PRIME FASI DI UN COMPILATORE
Prerequisiti
SONO RACCOMANDATE CONOSCENZE DI BASE DI ALGORITMI, STRUTTURE DATI, ARCHITETTURE DEGLI ELABORATORI, LINGUAGGI DI PROGRAMMAZIONE DI ALTO LIVELLO.
Contenuti
- STORIA, PARADIGMI E CARATTERISTICHE DEI LINGUAGGI DI PROGRAMMAZIONE
- ANALISI LESSICALE
- SPECIFICA LESSICALE DEI LINGUAGGI DI PROGRAMMAZIONE, JFLEX
- CONCETTI BASE DELLE GRAMMATICHE
- PARSING
- SPECIFICA SINTATTICA DEI LINGUAGGI DI PROGRAMMAZIONE, JAVACUP
- TRADUZIONI GUIDATE DALLA SINTASSI
- RAPPRESENTAZIONI INTERMEDIE
- ANALISI SEMANTICA E TYPE CHECKING
- INTRODUZIONE ALLA GESTIONE DELLA MEMORIA A RUNTIME
- INTRODUZIONE ALLA GENERAZIONE DEL CODICE
Metodi Didattici
LEZIONI FRONTALI PER 48 ORE, DI CUI CIRCA 36 TRASCORSE PER LA PRESENTAZIONE DEGLI ARGOMENTI E CIRCA 12 RIVOLTE AD ESERCITAZIONI IN CLASSE. LO STUDIO INDIVIDUALE PREVEDE ANCHE UN’ATTIVITÀ PROGETTUALE PER L’UTILIZZO DEI TOOLS PRESENTATI.
Verifica dell'apprendimento
LA VALUTAZIONE DELLE CONOSCENZE E DELLE CAPACITÀ ACQUISITE DA PARTE DEGLI STUDENTI È BASATA SU UNA PROVA ORALE IN CUI SI DISCUTERÀ DEL MATERIALE ILLUSTRATO IN CLASSE E DELLA REALIZZAZIONE DI UN PROGETTO SULLO SVILUPPO DELLE PRIME FASI DI UN COMPILATORE.
Testi
V. AHO, R. SETHI, AND J. D. ULLMAN, COMPILERS: PRINCIPLES, TECHNIQUES, AND TOOLS, ADDISON-WESLEY, SECOND EDITION 2007.
PER CONSULTAZIONE:
PRATT, T. W. AND M. V. ZELKOWITZ, PROGRAMMING LANGUAGES: DESIGN AND IMPLEMENTATION, 4RD ED., PRENTICE-HALL, 2000
Altre Informazioni
LO SVOLGIMENTO DELLE ESERCITAZIONI E LA FREQUENZA DEL CORSO SONO FORTEMENTE CONSIGLIATE. GLI STUDENTI DEVONO ESSERE PREPARATI A TRASCORRERE UNA CONGRUA QUANTITÀ DI TEMPO NELLO STUDIO AL DI FUORI DELLE LEZIONI. UNA PREPARAZIONE SODDISFACENTE RICHIEDE IN MEDIA DUE ORE DI STUDIO PER CIASCUNA ORA TRASCORSA IN AULA.
IL CORSO È SUPPORTATO DALLA PIATTAFORMA WEB DI DIPARTIMENTO DOVE SONO PUBBLICATE TUTTE LE ATTIVITÀ ED I MATERIALI DEL CORSO.
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2019-03-11]