Re: Ispis objekata neke klase
On 1/21/07, Marko Skocic <markos84@verat.net> wrote:
To je zbog iskusnog, "objektno dezorjentisanog", dizajna tabele simbola. To
je neka nova programska paradigma, cuo sam da ima mnogo potencijala.
Drugim recima, ako ne promenimo strukturu tabele simbola (sto ne smemo) ili
Nemoj da menjas strukturu, vec resis problem na "quick and dirty" nacin, to
ti je standardna praksa :)
Npr, dodas ovako nesto u klasu Tab.
public static String getClassName(Struct type) {
if (type.kind != Struct.Class) {
return "";
}
// find Type obj wihch points to given Struct object
// in order to retrieve class name
for (Scope s = topScope; s != null; s = s.outer)
for (Obj p = s.locals; p != null; p = p.next)
if (p.kind == Obj.Type && p.type == type)
return p.name;
return ""; //should never get here
}
--
Pozdrav,
Aleksandar Milicevic
aca.milicevic@gmail.com
Ne vidim kako se iz tabele simbola moze doci do imena klase. Od objekta
neke klase (lokalna promenljiva a) postoji referenca samo ka strukturnom
cvoru Class, koji poseduje referencu ka poljima klase, ali ne i ka objektnom
cvoru u kome se u polju name cuva trazeno ime.
To je zbog iskusnog, "objektno dezorjentisanog", dizajna tabele simbola. To
je neka nova programska paradigma, cuo sam da ima mnogo potencijala.
Drugim recima, ako ne promenimo strukturu tabele simbola (sto ne smemo) ili
ako ne iskoristimo/napravimo neku dodatnu strukturu u kojoj bi cuvali ovu
informaciju tesko da mozemo da izvedemo da se ispise kao sto ste vi naveli.
Nemoj da menjas strukturu, vec resis problem na "quick and dirty" nacin, to
ti je standardna praksa :)
Npr, dodas ovako nesto u klasu Tab.
public static String getClassName(Struct type) {
if (type.kind != Struct.Class) {
return "";
}
// find Type obj wihch points to given Struct object
// in order to retrieve class name
for (Scope s = topScope; s != null; s = s.outer)
for (Obj p = s.locals; p != null; p = p.next)
if (p.kind == Obj.Type && p.type == type)
return p.name;
return ""; //should never get here
}
--
Pozdrav,
Aleksandar Milicevic
aca.milicevic@gmail.com
- References:
- Re: Izvinjenje
- From: Marko Mitrovic <mitrovic_yu@yahoo.com>
- Re: Izvinjenje
- From: "Ivo Mihailovic" <ivonindza@gmail.com>
- Re: Izvinjenje
- From: Marko Bojovic <marko.bojovic@etf.bg.ac.yu>
- Ispis objekata neke klase
- From: Marko Skocic <markos84@verat.net>
- Re: Izvinjenje
Previous by date: Za asistenta: Re: Ispis objekata neke klase
Next by date: Re: Ispis objekata neke klase
Previous by thread: Re: Ispis objekata neke klase Next by thread: Semanticka analiza: provera poziva metode
Previous by thread: Re: Ispis objekata neke klase Next by thread: Semanticka analiza: provera poziva metode