| | | corso | | | |
Linguaggi di Programmazione: Linguaggi Formali e Compilatori A
(Corso di Laurea in Informatica (quinquennale))
Codice: | 4I058 | Crediti: | 6 | Semestre: | 2 | Sigla: | LFC | |
Docente
Marco Bellia
Tel. 0502212781Prerequisiti
Obiettivi di apprendimento
Descrivere principi e tecniche della realizzazione di macchine astratte
per formalismi di calcolo, con applicazione alla costruzione di interpreti
e compilatori di linguaggi di programmazione.
Descrizione
Il corso introdurr=E0 mezzi per descrivere formalmente la sintassi e la sema=
ntica
dei costrutti dei programmi (espressioni regolari, grammatiche, definizioni
guidate dalla sintassi) e dar=E0 gli algoritmi per realizzare le fasi del
processo di traduzione da linguaggio ad alto livello a linguaggio intermedi=
o.
English Description
The course will introduce means to formally describe syntax and semantics of
program constructs (regular expressions, grammars, syntax directed
definitions)
and give algorithms to realize the phases of the translation process from
high-level to intermediate language
Programma
Introduzione (2 ore):
Linguaggi e macchine astratte loro associate.
Modalit=E0 di realizzazione: interpretazione, compilazione, supporto a tempo
di esecuzione.
Struttura delle realizzazioni classiche (compilatori e interpreti),
ambienti di programmazione.
I parte: Analisi sintattica (12 ore):
Automi a stati finiti, espressioni regolari.
Analisi lessicale e generatori di analizzatori lessicali.
Grammatiche libere e aspetti sintattici dei linguaggi di
programmazione.
Tecniche di analisi sintattica LL e LR e generatori di analizzatori
sintattici.
II parte: Traduzione (11 ore):
=46orme intermedie e traduzione diretta dalle sintassi.
Cenno all'ottimizzazione del codice e alla gestione degli errori.
Ore lezione: | 25 | Ore esercitazione: | 15 | | | |
Bibliografia
Aho A.V., Sethi R. , Ullman J.D., Compilers. Principles, Techniques and
Tools, Addison Wesley, Reading, Mass., 1986.
Modalità di esame
Scritto e orale