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.
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.
- Follow-Ups:
- Re: domaci 2 problem
- From: "Sasa Vitorovic" <savitor85@gmail.com>
- Re: domaci 2 problem
- From: "Marina Bjegovic" <bjegovic@gmail.com>
- jos jedno pitanje
- From: "Bojan" <bojan23@sbb.co.yu>
- Re: domaci 2 problem
- References:
- array
- From: masa h <masah@EUnet.yu>
- array
Previous by date: array
Next by date: Re: Par pitanja za asistenta
Previous by thread: array Next by thread: jos jedno pitanje
Previous by thread: array Next by thread: jos jedno pitanje