Obiettivi formativi.
Far conoscere alcuni elementi di base della
teoria dei linguaggi e permettere di comprendere e utilizzare la tecnologia
dei compilatori.
Attività formative.
Il corso si svolge in 40 lezioni, due terzi delle quali frontali,
e un terzo delle quali in laboratorio.
Programma del corso.
Introduzione al corso e alla tecnologia dei compilatori.
Analisi lessicale.
Analisi sintattica e classi di linguaggi.
Sintassi Astratta.
Analisi semantica (type-checking).
Meccanismi di scope e record di attivazione.
Codice intermedio.
Fattorizzazione in blocchi di base.
Scelta delle istruzioni.
Analisi di liveness e allocazione dei registri.