Generazione del Codice


 

Esercizio 6

Si consideri il linguaggio di assegnamenti di espressioni intere e relazionali a variabili di tipo intero e booleano, rispettivamente, descritto dalla grammatica seguente:

S ::= id := A
S ::= id := B
A ::= A * P
A ::= P
P ::= id
P ::= (A)
B ::= A = A

Si supponga di avere nella tabella dei simboli i tipi degli identificatori. Si scriva uno schema per l'analisi ascendente deterministica che generi il codice a tre indirizzi, verificando la compatibilità dei tipi e calcolando come attributo del non terminale S o il tipo dell'espressione assegnata oppure errore.
 
 


 
 
Ultimo aggiornamento 3 Maggio 1999