Linguaggi e traduttori:
programma del corso

Anno accademico 1997/1998

Orario delle lezioni: lunedi 16-19, martedi 9-11

1. Introduzione ai traduttori e compilatori

  1. Fasi di compilazione.
  2. Analisi lessicale.
  3. Analisi sintattica.
  4. Analisi semantica.
  5. Generazione del codice intermedio.
  6. Ottimizzazione (cenni).

2. Linguaggi formali

  1. Stringhe, linguaggi.
  2. Grammatiche non contestuali e regolari.
  3. Linguaggio definito da una grammatica.
  4. Alberi di derivazione.
  5. Grammatiche ambigue.
  6. Extended Backus-Naur Form (EBNF).

3. Analisi lessicale

  1. Automi a stati finiti.
  2. Espressioni regolari.
  3. Grep.
  4. Lex/Flex.

4. Analisi sintattica

  1. Analisi bottom-up.
  2. Grammatiche LR(1).
  3. Trattamento degli errori.
  4. Yacc/Bison.

5. Traduzione guidata dalla sintassi

  1. Grammatiche ad attributi.
  2. Attributi sintetizzati ed ereditati.
  3. Traduzione con azioni semantiche nell'analisi bottom-up.

6. Compilatori

  1. Tabella dei simboli e formato intermedio
  2. Analisi semantica e traduzione
  3. Ottimizzazione

Testi consigliati:

  1. Giorgio Bruno, Linguaggi formali e compilatori. UTET.
  2. A. Aho, R. Sethi, J. Ullman, Compilers: principles, techniques, and tools. Addison-Wesley.

Manuali:

  1. Manuale GrepPostscript, solo testo
  2. Manuale Flex: Postscript, solo testo
  3. Manuale Bison: Postscript, solo testo