| Nome del Corso |
Linguaggi di Programmazione: Compilatori
|
| Codice del Corso |
04138
|
| Grado |
Laurea e Laurea Magistrale
|
| Semestre |
Secondo Semestre
|
| Docente |
Prof. Cosimo Laneve
|
| Linguaggio di Insegnamento |
Italiano
|
| Crediti |
12
|
| Ore di Insegnamento |
60
|
| Ore di Esercitazione |
24
|
| Orario |
vai a
http://www.informatica.unibo.it/cdl/informatica/
|
| Orario di Ricevimento |
Martedì 12,00 -- 13.30
|
| Obiettivi |
Questo corso consente di sviluppare una
profonda comprensione delle tecnologie di compilazione. Gli
studenti apprenderanno le tecniche più importanti
per la rappresentazione, l'analisi e la generazione del codice
dei Linguaggi di Programmazione. Le tecniche saranno applicate
per costruire un compilatore di un linguaggio.
|
| Syllabus |
- Introduzione a Compilatori e Interpreti
- Grammatiche e Analizzatori Lessicali
- Analisi sintattica e la costruzione di Parser
- Top-Down Parser: discesa ricorsiva e LL(1)
- Bottom-Up Parser: LR(0), SLR, LR(1), LALR(1)
- Grammatiche con attributi: attributi sintetizzati e ereditati
- Analisi semantica: Type Checking
- Ambienti al tempo di esecuzione: memoria al tempo di esecuzione, pila e heap, ambienti statici e dinamici, display, garbage-collection
- Generazione di codice intermedio
|
| Tipo di insegnamento |
Lezioni frontali
|
| Giudizio |
- Progetto: Compiler Development (10%)
- Esame scritto (90%)
|
| Testi di riferimento |
- Modern
Compiler Implementation in C
Andrew W. Appel, Maia Ginsburg
Hardcover - 560 pages (January 1998)
Cambridge University Press
ISBN: 052158390X
- Compilers:
Principles, Techniques, and Tools
Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman
Addison-Wesley Pub Co
ISBN: 0201100886
- Compiler Construction: Principles and Practice, Kenneth C. Louden. Brooks Cole, 1997.
- Advanced Compiler Design and Implementation, Steven Muchnick. Morgan Kaufmann, 1997.
|
| Software usato |
Lex - A Lexical Analyzer Generator, M. E. Lesk and E. Schmidt
Yacc: Yet Another Compiler-Compiler, Stephen C. Johnson
Flex, A fast scanner generator, Vern Paxson
Bison, The YACC-compatible Parser Generator, Charles Donnelly and Richard Stallman
SPIM, A MIPS R2000/R3000 Simulator, James Larus
|
| Lucidi delle Lezioni |
Introduction ;
Lexical analysis ;
Top-Down parsing ;
Bottom-up parsing ;
Abstract Syntax Trees ;
Type Checking ;
Runtime environments .
Code Generation .
|
| Risultati del corso |
Dopo questo corso, gli studenti comprenderanno
le tecniche usate per generare codice macchina da un programma sorgente. Essi saranno in grado di costruire compilatori e
scrivere traduttori.
|
| Newsgroup |
unibo.cs.lfc
|
|