Analisi Statica


 

Esercizio 17

Si considerino programmi consistenti di una dichiarazione di ambiente globale di dati e di una lista di procedure, tutte allo stesso livello, di cui l'ultima è il programma principale. Il corpo delle procedure è una sequenza di istruzioni etichettate: assegnamenti di espressioni e di chiamate di procedura. Le procedure possono avere dati locali e le modalita' di passaggio dei parametri sono per riferimento e per valore. Una procedura può invocare solo se stessa o procedure già dichiarate passando costanti, variabili, ed espressioni aritmetiche. Dati globali, dati locali e parametri sono tutti di tipo intero. I parametri possono essere passati per valore e per riferimento. Si vuole uno schema deterministico discendente che calcoli come attributo del programma la lista delle etichette delle istruzioni di chiamata di procedura che passano un numero di attuali diverso da quello atteso o attuali inappropriati alla modalità di passaggio.
 
 
 
 
Ultimo aggiornamento 3 Maggio 1999