Programma di Linguaggi E Traduttori:

 

Linguaggi formali e compilatori. Automi a stati finiti ed espressioni regolari. Algoritmi su automi. Strumenti di  manipolazione dei testi basati su automi a stati finiti ed espressioni regolari: grep e programmi derivati. Grammatiche context-free. Forme normali. Problema del parsing e algoritmo. Algoritmo di riconoscimento di CockeKasami-Young. Fasi della compilazione. Analisi lessicale: token, pattern, lessemi. Il compilatore LEX. Analisi sintattica: parsing top-down e bottom-up. Parsing predittivo non ricorsivo. Parsing LR: tecniche SLR, LALR, LR  canonica. Generazione automatica di compilatori. Il compilatore YACC. Traduzione guidata dalla sintassi: definizioni dirette dalla sintassi, schemi di traduzione. Analisi semantica e type checking. Codice intermedio.