25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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!