Linguaggi formali e compilazione

 29.00 IVA assolta

Autori: Stefano CRESPI REGHIZZI
2006, 368 pagine, formato 17x24
ISBN: 88-371-1632-2
COD: 1632
Argomento: Informatica

Descrizione

I compilatori traducono i linguaggi artificiali (come Java e XML) nelle rappresentazioni usate dalle macchine di calcolo: senza di essi non ci sarebbe l’informatica. I concetti della compilazione hanno avuto origine nella linguistica strutturale e nella logica matematica, da cui si sono sviluppati gli algoritmi e i metodi di progetto che hanno permesso la realizzazione di innumerevoli linguaggi. Il testo espone in modo piano e rigoroso le grammatiche formali, gli automi, gli algoritmi di analisi sintattica, le relazioni di traduzione e gli automi traduttori, le traduzioni guidate dalla sintassi e le funzioni semantiche, terminando con l’analisi statica del flusso nei programmi. Molti esempi, semplici ma realistici, conducono il lettore verso la comprensione analitica e la capacità progettuale delle tecniche elementari di compilazione. L’esperienza dell’autore nella ricerca e sviluppo sui linguaggi e sui compilatori si riflette nella selezione degli argomenti, sempre motivata da finalità applicativa e da economia concettuale. L’opera vuole trovare un giusto medio tra i testi di orientamento puramente teorico e i manuali realizzativi dei compilatori. Il passaggio dagli algoritmi alla realizzazione è sufficientemente delineato, senza cadere nella prolissità della programmazione, affinché un lettore di cultura informatica possa compierlo da solo. Al termine del percorso, il lettore comprenderà il funzionamento delle parti essenziali di un compilatore, conoscerà gli algoritmi usati negli attrezzi (scanner parser generator) e potrà progettare semplici linguaggi e traduttori sintattici. Il testo è adatto a un corso universitario di cinque crediti per studenti con almeno due anni di nformatica alle spalle. Esso è la base per approfondimenti specialistici in più direzioni: le tecniche avanzate di ottimizzazione del codice, i linguaggi per la progettazione hardware-software, i metodi per il trattamento del linguaggio naturale e il trattamento delle risorse documentarie della Rete.
Stefano Crespi Reghizzi lavora nel Dipartimento di Elettronica e Informazione del Politecnico di Milano. Svolge ricerche sui linguaggi artificiali e sulla compilazione. Coordina il dottorato di ricerca in Ingegneria dell’Informazione: automatica, elettronica, informatica e telecomunicazioni. Insegna i corsi di Linguaggi formali e compilatori e di Analisi e ottimizzazione dei programmi per la laurea in ingegneria informatica. Ingegnere elettronico, ha conseguito il dottorato in computer science alla University della California di Los Angeles. Ha insegnato e svolto ricerche presso le università di Berkeley, Lugano, Pisa, Santiago de Chile, Stanford e Parigi.