elenco   
        corso   

Linguaggi di Programmazione: Linguaggi Formali e Compilatori A

(Corso di Laurea in Informatica (quinquennale))

Codice: 4I058Crediti: 6Semestre: 2Sigla: LFC 

Docente

Marco Bellia   bellia@di.unipi.it  Stanza 330  Tel. 0502212781

Prerequisiti

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: 25Ore 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

Ulteriore pagina web del corso: http://www.di.unipi.it/didadoc/lfc/


home


email