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

Re: domaci 2 problem

by Miroslav Slavkovic
subota, 12. januar 2008 - 22:50.

I meni ovo izgleda OK. A moglo bi to isto da se napise i ovako:

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);*

* if (o != null)
return o;*

}

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

return noObj;

}


Ovako je malo jednostavnije.





Sasa Vitorovic wrote:
Slazem se.

----- Original Message -----
*From:* Bojan <mailto:bojan23@sbb.co.yu>
*To:* ir4pp1@rti.etf.bg.ac.yu <mailto: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
-----------------------------------------------------------------

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

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

No virus found in this incoming message.
Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.19.1/1220 - Release Date: 11.1.2008 18:09