Re: domaci 2 problem
I ja sam to primetila i slicno dodala (o != null) , ali u for petlju...
Mislim da bi moralo tako da se radi...
Medjim, ovo se javlja jer mi pretrazujemo hes tabelu u samo 1 nivou
(sa metodom searchKey), ne gledajuci pritom locals od Obj iz te
hashTable.
Kad bi ovo gledali, ne bi imali gore navedeni problem, ali bi
verovatno imali lose rezultate pri trazenju predefinisanih metoda....
Medjutim, mi nemamo Obj u HashTable, a samim tim ne mozemo dohvatiti
locals, i zbog toga je valjda ok da pretrazujemo HashTable u jednom
nivou i uvedemo gore navedenu izmenu...
Valjda nisam mnogo zbunila ljude...
Jel imao neko slicnu dilemu? Jel smemo dodati gore navedenu izmenu?
Pozdrav, Marina
On 1/10/08, Bojan <bojan23@sbb.co.yu> wrote:
> 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.
>
>
Mislim da bi moralo tako da se radi...
Medjim, ovo se javlja jer mi pretrazujemo hes tabelu u samo 1 nivou
(sa metodom searchKey), ne gledajuci pritom locals od Obj iz te
hashTable.
Kad bi ovo gledali, ne bi imali gore navedeni problem, ali bi
verovatno imali lose rezultate pri trazenju predefinisanih metoda....
Medjutim, mi nemamo Obj u HashTable, a samim tim ne mozemo dohvatiti
locals, i zbog toga je valjda ok da pretrazujemo HashTable u jednom
nivou i uvedemo gore navedenu izmenu...
Valjda nisam mnogo zbunila ljude...
Jel imao neko slicnu dilemu? Jel smemo dodati gore navedenu izmenu?
Pozdrav, Marina
On 1/10/08, Bojan <bojan23@sbb.co.yu> wrote:
> 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.
>
>
- References:
- array
- From: masa h <masah@EUnet.yu>
- domaci 2 problem
- From: "Bojan" <bojan23@sbb.co.yu>
- array
Previous by date: Pitanje za asistenta: Izgubljeni poeni - prvi domaci
Next by date: [no subject]
Previous by thread: Re: jos jedno pitanje i jedan veeeeeliki problem... Next by thread: Re: domaci 2 problem
Previous by thread: Re: jos jedno pitanje i jedan veeeeeliki problem... Next by thread: Re: domaci 2 problem