Pok-13-wyk-Slajd28
Środowisko czasu wykonania – zmienne nielokalne
Reguły widzialności języka wyznaczają sposób interpretacji odniesień do nazw nielokalnych.
Najczęściej wykorzystywane są reguły widzialności leksykalnej (statycznej), które określają wiązanie nazwy z deklaracją na podstawie analizy tekstu programu (tak jest w Adzie, C, Pascalu i innych popularnych językach imperatywnych).
W przedstawionym w przykładzie programie w języku Pascal zilustrowano związek zagnieżdżenia podprogramów w podprogramach i deklaracji lokalnych zmiennych podprogramów z przesłanianiem zmiennych na kolejnych poziomach zagnieżdżenia. Po prawej stronie tabeli znajduje się szkielet programu w Pascalu, po lewej – informacja o tym, które zmienne i z jakiego poziomu deklaracji są w danej chwili widoczne.
Statyczne ustalenie do których zmiennych odwołujemy się w przypisaniu „p:=q+s” nie stanowi istotnego problemu, ale odnalezienie odpowiednich zmiennych w stosie rekordów aktywacji podprogramów w trakcie działania programu jest nietrywialnym zadaniem dla środowiska czasu wykonania.