«« ( Date ) »» // «« ( Thread ) »» // ir4pp1 - 2008

Re: domaci 2 problem

by Sasa Vitorovic
subota, 12. januar 2008 - 17:34.

Slazem se.
----- Original Message -----
From: Bojan
To: ir4pp1@rti.etf.bg.ac.yu
Sent: Thursday, January 10, 2008 5:29 PM
Subject: [ir4pp1] domaci 2 problem


Meni se cini da postoji greska u kodu metode u fajlu Tab.java



public static Obj find(String name) {

HashTable scopeSyms;

Obj o = null;

for (Scope s = topScope; s != null; s = s.outer) {

scopeSyms = s.locals;

if (scopeSyms != null) {

o = (Obj) scopeSyms.searchKey(name);

// ovde bih dodao

//if(o != null) break;

} else {

o = null;

}

}

if (o == null) {

error("GRESKA: Simbol " + name + " nije pronadjeno.");

return noObj;

} else {

return o;

}

}



Naime ako bi se pretrazivao neki scopeSyms i pronasao Obj sa trazenim kljucem, algoritam nastavlja dalje sa pretragom i prelazi na outerScope.locals i ako tu ne pronadje trazeni kljuc on vraca null iako je pronasao kljuc u nekom predhodnom scope-u, (prakticno on ce ovde vratiti Obj samo ako ga pronadje u universe scope-u !) Dodavanjem linije koda koju sam zakomentarisao bi se resio taj problem.

Zamolio bih asistenta da proveri ovo i odgovori da li sam u pravu.

Hvala.



------------------------------------------------------------------------------


-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ir4pp1
-----------------------------------------------------------------