Proceduralni jezici - FESB
Proceduralni jezici - FESB
Proceduralni jezici - FESB
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Dinamički doseg<br />
Pod dinamičkim dosegom podrazumijeva se da se za identifikator uzima deklaracija koja je najbliţe prema vremenu<br />
izvršenja programa. Taj se princip koristio u ranim verzijama jezika Lisp.<br />
Problem nastaje ako varijabla nije lokalno deklarirana. Primjerice, problem je ilustriran s kvazi-C jezikom<br />
int x;<br />
void print()<br />
{<br />
write(x);<br />
}<br />
main () {<br />
bool x;<br />
print();<br />
}<br />
Kod statičkog povezivanja x se ispisuje u funkciji print() kao tip int, jer je int x, globalno deklariran.<br />
Kod dinamičkog povezivanja, pošto print nema lokalnu deklaraciju za x, ispituje se pozvana funkcija u kojoj je x tipa<br />
bool.<br />
Dinamičko povezivanje je vrlo teško provesti, stoga se ono izbjegava. Ono čak izgleda i bizarno, ali se ipak koristi, i to kod<br />
virtualnih funkcija u C++, C# i Java jeziku.<br />
23