DOMENII DE VIZIBILITATE
Corpul unui program sau subprogram se numeste bloc.
Deoarece subprogramele sunt incluse in programul principal si pot contine la rindul lor alte subprograme, rezulta ca blocurile pot fi imbricate (incluse unul in altul). Aceasta imbricare de blocuri este denumita structura de bloc a programului PASCAL.
Intr-o structura fiecarui bloc i se ataseaza cite un nivel de imbricare. Programul principal este considerat de nivel 0, un bloc definit in programul principal este de nivel 1. In general, un bloc definit in nivelul n este de nivelul n + 1.
Pentru exemplificare, in figura de la pagina urmatoare este prezentata structura de bloc a programului P105.
De regula , un bloc PASCAL include declaratii de etichete, variabile, functii, parametri s.a.m.d. O declaratie introduce un nume, care poate fi o eticheta sau un identificator. O declaratie dintr-un bloc poate redefini un nume declarat in exteriorul lui. In consecinta , in diferite parti ale programului unul si acelasi nume poate desemna obiecte diferite.
Prin domeniul de vizibilitate al unei declaratii se intelege textul de program in care numele introdus desemneaza obiectul specificat de declaraţia in studiu.
Domeniul de vizibilitate incepe imediat dupa terminarea declaratiei şi se sfirseste odata cu textul blocului respectiv. Deoarece blocurile pot fi imbricate, domeniul de vizibilitate nu este neaparat o portiune continua din textul programului. Domeniul de vizibilitate al unei declaratii dintr-un bloc inclus acopera domeniul de vizibilitate al declaratiei ce implica acelaşi nume din blocul exterior.