«« ( Date ) »» // «« ( Thread ) »» // ri4pp - 2006

Re: check(funct|method)call za situacije p.q.r( )

by Sasa Ninkovic
subota, 17. jun 2006 - 22:19.

uf, i to je budzenje...

mi smo proglasili designator ArrayListom i prilikom smena je punili. a
u sem analizi izvlacili podatke iz te liste...

poz,
sale

On 6/17/06, Rade Jakovljević <radegm@gmail.com> wrote:
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