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

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

by Rade Martinovic
subota, 17. jun 2006 - 23:58.

Poz!


A zašto samo ne pogledati opseg klase, pošto kad za neki Item provališ da je klasnog tipa, možeš da pogledaš da li se to polje nalazi u opsegu te klase, tačnije u symbols ArrayListi. Posle proslediš kao $$= ili kao RESULT = novi Item koji je tipa onog DESNO od tačke. Pa ako je klasnog tipa, kada dođe nova tačka, ti pogledaš u opseg za TU klasu. Itd.

Nego, kako učitati a.b.c.d
Nisam siguran da li sam ovo tačno rešio pošto sad nisam kod kuće. Pogledaću kad se vratim.

Dana 17. jun 2006, u 22:19:07, Sasa napisa:

> 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




--
Pozdrav,
Rade mailto:rocky303@gmail.com