25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

304 Unità di Programma<br />

Tutte le variabili, i tipi di dati, le etichette, i nomi di procedura, etc. all’interno della stessa<br />

unità di visibilità devono avere nomi differenti. Le entità, invece, aventi lo stesso nome ma che<br />

si trovino in differenti unità di visibilità, sono sempre entità separate l’una dall’altra.<br />

5.18.1 Visibilità di una etichetta<br />

Ogni programma e ogni procedura, sia essa interna o esterna, ha un proprio set di etichette<br />

(in sostanza, quelle delle istruzioni FORMAT). La visibilità di un’etichetta è l’intero programma<br />

principale o l’intera procedura, ad eccezione delle eventuali procedure interne. Pertanto è<br />

possibile per la stessa etichetta apparire in differenti unità di uno stesso programma senza<br />

alcuna ambiguità.<br />

5.18.2 Visibilità di un nome<br />

Del tutto in generale si può dire che i nomi sono detti accessibili o per host association o per<br />

use association:<br />

• Host association - La visibilità di un nome dichiarato in un’unità di programma si estende<br />

dalla ”testa” dell’unità di programma fino alla istruzione END.<br />

• Use association - La visibilità di un nome dichiarato in un modulo si estende a qualsiasi<br />

unità di programma che usi quel modulo.<br />

Si noti che nessuno dei due tipi di associazione si estende alle eventuali procedure esterne<br />

invocate, ed inoltre essi non includono le procedure interne in cui il nome venga ridichiarato.<br />

<strong>Il</strong> significato delle precedenti definizioni è meglio chiarito se si discutono, caso per caso, tutte<br />

le possibilità connesse alla visibilità di un nome in una unità di programma.<br />

• La visibilità di un nome (ad esempio di una variabile) dichiarato in una unità di programma<br />

si estende dall’inizio dell’unità di programma fino all’istruzione END.<br />

• La visibilità di un nome dichiarato in un programma principale o in una procedura esterna<br />

si estende a tutte le procedure interne a meno che non venga ridefinito nella procedura<br />

stessa.<br />

• La visibilità di un nome dichiarato in una procedura interna è limitata alla procedura<br />

stessa.<br />

• La visibilità di un nome dichiarato in un modulo si estende a tutte le unità di programma<br />

che usino quel modulo, fatta eccezione per quei casi in cui una procedura interna ridichiara<br />

quel nome.<br />

• I nomi delle unità di programma sono globali e pertanto devono essere unici. <strong>Il</strong> nome di<br />

un’unità di programma deve, inoltre, essere differente da quello di tutte le entità locali a<br />

quella unità.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!