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.