Re: check(funct|method)call za situacije p.q.r( )
Ja sam ovo resio cackanjem po parserovom steku.
U trenutku kada treba da verifikujes da li je b objekat stanje je ovakvo
na vrhu steka je "c", (ako imas smenu tipa: <designator> TACKA ID:id)
<designator>:d TACKA ID:id
e sad posto je ovo designator Item, a na vrhu steka je id, onda na top-1 je
TACKA, a na top-2 je Item d.
U stvari na steku se nalaze java_cup.runtime.Symbol objekti koji u val polju
cuvaju ovaj Item, TACKU...
Kod koji dohvata Symbol s koji u val polju ima Item d je ovakav za ovu
smenu:
Symbol s =
(java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2);
Ako radis sa byacc-om onda ne znam kako tacno da dohvatis element.
Ako imas drugaciju smenu onda prilagodi ovaj gore kod da dohvati ono sto
treba.
P.S. u debageru (ako koristis eclipse - onda je lako) pogledaj sta imas u s
posle izvrsene gornje instrukcije za dohvatanje s-a.
Tako mozes da provalis koji po redu elem. sa steka treba da uzmes.
Pozdrav
2006/6/16, Sasa Ninkovic <sninkovic@gmail.com>:
U trenutku kada treba da verifikujes da li je b objekat stanje je ovakvo
na vrhu steka je "c", (ako imas smenu tipa: <designator> TACKA ID:id)
<designator>:d TACKA ID:id
e sad posto je ovo designator Item, a na vrhu steka je id, onda na top-1 je
TACKA, a na top-2 je Item d.
U stvari na steku se nalaze java_cup.runtime.Symbol objekti koji u val polju
cuvaju ovaj Item, TACKU...
Kod koji dohvata Symbol s koji u val polju ima Item d je ovakav za ovu
smenu:
Symbol s =
(java_cup.runtime.Symbol)CUP$parser$stack.elementAt(CUP$parser$top-2);
Ako radis sa byacc-om onda ne znam kako tacno da dohvatis element.
Ako imas drugaciju smenu onda prilagodi ovaj gore kod da dohvati ono sto
treba.
P.S. u debageru (ako koristis eclipse - onda je lako) pogledaj sta imas u s
posle izvrsene gornje instrukcije za dohvatanje s-a.
Tako mozes da provalis koji po redu elem. sa steka treba da uzmes.
Pozdrav
2006/6/16, Sasa Ninkovic <sninkovic@gmail.com>:
jel imo neko problem za verifikovanjem objekata prilikom poziva tipa
a.b.c ili a.b.c( ) .
problem je u tome sto to parser pakuje u designator, i u trenutku kad
znamo da li je metoda ili field , to je vec prilicno zapakovano (u
designatoru),pa je potrebno je mnogo rudarskog posla ne bi li se sve
verifikovalo...
designator mora da pamti sve idente koji ulaze u njega i tek prilikom
uparivanja designatora u nesto (a toga ima podosta), moze da se vrsi
provera (koja bas zamara...).
Jel to mora ovako, ili moze nesto elegantnije?
poz,
sale
On 6/16/06, Rade Martinovic <rocky303@gmail.com> wrote:
>
>
>
> Poz!
>
>
>
>
> Dana 16. jun 2006, u 17:28:27, Ana napisa:
>
>
>
>
>
> > Srećom te je pomereno... Danas od dobrih 13 i kusur nije bilo
> administratpra
>
> > (valjda čovek otišao na utakmicu...), tako da nas je dosta čekalo
danas -
>
> > neuspešno...
>
> > Sva sreća da je ponedeljak opcija, inače bi u vetar otishao sav rad...
>
>
>
>
> Do sada je Korolija prihvatao da mu se rad pošalje na mail, a on bi
> prekopirao tamo gde već treba.
>
> Ali produženje je exxxtra palo.
>
>
>
>
> Još samo da provalim rad sa stringovima i milina ;)
>
>
>
>
> --
>
> Pozdrav,
>
> Rade mailto:rocky303@gmail.com
> -----------------------------------------------------------------
> unsubscribe:
> minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
> -----------------------------------------------------------------
>
>
>
-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
-----------------------------------------------------------------
- Follow-Ups:
- Re: check(funct|method)call za situacije p.q.r( )
- From: "Sasa Ninkovic" <sninkovic@gmail.com>
- Re: check(funct|method)call za situacije p.q.r( )
- References:
- check(funct|method)call za situacije p.q.r( )
- From: "Sasa Ninkovic" <sninkovic@gmail.com>
- check(funct|method)call za situacije p.q.r( )
Previous by date: Pomeranje roka za predaju - nije fer!
Next by date: format invokvirtual instrukcije?
Previous by thread: check(funct|method)call za situacije p.q.r( ) Next by thread: Re: check(funct|method)call za situacije p.q.r( )
Previous by thread: check(funct|method)call za situacije p.q.r( ) Next by thread: Re: check(funct|method)call za situacije p.q.r( )