Diario delle lezioni

  1. 5/3/09. Presentazione del corso. Struttura di un compilatore. Le fasi della compilazione.
  2. 12/3/09. Automi finiti: deterministici, non-deterministici e con epsilon-transizioni.
  3. 17/3/09. Espressioni regolari. Conversione di espressioni regolari in epsilon-NFA. Il pumping lemma per i linguaggi regolari.
  4. 19/3/09. Esercizi sul pumping lemma. Analizzatori lessicali: lessemi e token.
  5. 23/3/09. Il generatore di analizzatori lessicali (f)lex.
  6. 26/3/09. Caratteristiche avanzate di (f)lex: starting conditions.
  7. 30/3/09. Grammatiche context-free. Derivazioni e alberi di derivazione. Ambiguità.
  8. 2/4/09. Il pumping lemma per i linguaggi context-free. Esercizi sul pumping lemma. Derivazioni left-most e right-most.
  9. 6/4/09. Esercitazione sull'analisi lessicale. Esercitazione sul pumping lemma context-free.
  10. 16/4/09. Prova di verifica.
  11. 20/4/09. Automi push-down. Esercitazione sull'implementazione di un automa finito.
  12. 23/4/09. Algoritmi di parsing. Accenni al parsing top-down. Introduzione al parsing bottom-up. I parser shift-reduce.
  13. 27/4/09. Funzioni FIRST e FOLLOW. Gli item LR(0).
  14. 29/4/09. (ore 16:15 in 0M04) Parser SLR(1).
  15. 4/5/09. Il generatore di analizzatori sintattici yacc/bison.
  16. 7/5/09. Gestione dei conflitti in yacc/bison. La tabella dei simboli.
  17. 13/5/09. (ore 16:15 in 0M02) Esercitazione. Grammatiche con attributi.
  18. 14/5/09. Attributi sintetizzati ed ereditati.
  19. 20/5/09. (ore 16:15 in 0M02) Prima fase di analisi semantica: ricognizione dell'interfaccia pubblica di una classe.
  20. 21/5/09. Analisi delle dipendenze tra classi.
  21. 25/5/09. "Il cast è un incubo sintattico".
  22. 27/5/09. (ore 16:15 in 0M02)
  23. 28/5/09. Seconda fase di analisi semantica: ricognizione delle variabili locali; type checking.
  24. 4/6/09. Ultima lezione.