02.11.2014 Views

Proceduralni jezici - FESB

Proceduralni jezici - FESB

Proceduralni jezici - FESB

SHOW MORE
SHOW LESS

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

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

Saved successfully!

Ooh no, something went wrong!