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

Re: jos uvek problem sa designatorom

by Rade Jakovljević
četvrtak, 08. jun 2006 - 17:05.

Mada mi jos uvek nije jasno kako je Igor resio ovaj problem. Jer ja sam
stavio njegove smene kao sto je naveo gore.
Znaci konktretno imam ove smene koje su u vezi sa problemom:

1. designator ::= IDENT;
2. designator ::= designator TACKA IDENT;
3. designator ::= designator ZAGRADALS expression ZAGRADADS;


4. expression ::= term; //+ jos par smena za expression

5. term ::= factor;

6. factor ::= designator;
7. factor ::= func_call:fc;
8. factor ::= meth_call;

9. func_call ::= IDENT ZAGRADALM ZAGRADADM;
10. func_call ::= IDENT ZAGRADALM act_pars ZAGRADADM;

11. meth_call ::= designator TACKA IDENT ZAGRADALM ZAGRADADM;
12. meth_call ::= designator TACKA IDENT ZAGRADALM act_pars ZAGRADADM;

Ono sto me "zeza" ovde je sto se smena 1. ili 2. (za ulaze npr. x(2)
ili a.b(3))
redukuju pre smena 9, 10, 11 ili 12 i to u trenutku kada se obradjuje ulazni
token x ili b u drugom slucaju.
Jako me zanima kako bi ovo moglo da se resi i da li asistent moze da
pomogne.

Hvala i izvinite ako smaram :).

Pozdrav

2006/6/8, Rade Jakovljević <radegm@gmail.com>:

Mislim da cu morati da uradim kao ti. Hvala na pomoci, nisi me zbunio.

Pozdrav

2006/6/8, Milan Aleksic <milanaleksic@gmail.com>:
>
> ja sam radio kao ti (mislim na smene) i imao sam puno problema. Ja
> uradim sledecu stvar: prodjem kroz listu elemenata i proverim da li postoji
> neko polje sa tim imenom. u smeni za poziv metode pokupim deisgnator i vidim
> da li je u pitanju pronadjeni field ili nevalidno (sto znaci da je ili metod
> posto takvo polje ne postoji). Bitno je da za pretragu polja ne radis Find
> da ne bi doslo do greske (jer pitanje je da li je to zaista pristup polju,
> mozda je upravo poziv metoda)
> ukoliko se ispostavi da je ovo metod (tek sada u smeni za metod radis
> pretragu za metod) radis poziv checkmethodcall (ovo je analogno
> checkfunctioncall samo se pretraga radi pocev od klasnog opsega klase iz
> koje se poziva).
> Kasnije sam se cuo sa Igorom i pricao bas na ovu temu i mislim da je
> njegov nacin mnogo elegantniji. Ali ako si kao ja dosta toga uradio onda
> probaj ove moje akrobacije
>
> nadam se da nisam odmogao ukoliko sam zbunio,
>
> pozdrav, Milan
>
> On 6/8/06, Rade Jakovljević < radegm@gmail.com> wrote:
>
> > Ipak ovo nije resilo moje probleme ;(.
> >
> > Smena <designator> ::= <designator> TACKA IDENT pravi probleme, jer se
> > ona redukuje pre nego sto dodje na red methcall;
> >
> > Npr. x.a(); Kada je na ulazu x.a odmah se redukuje gore navedena
> > smena, a ne bi trebalo. Ima li mozda neko jos koju ideju. :)
> >
> > 2006/6/7, Rade Jakovljević <radegm@gmail.com>:
> >
> > > Hvala ti puno. "Veliki" problemi uvek imaju jednostavna resenja.
> > >
> > > Pozdrav
> > >
> > > 2006/6/7, Igor Stojkovic < stojkovic.igor@gmail.com >:
> > > >
> > > > On 6/7/06, Rade Jakovljević < radegm@gmail.com > wrote:
> > > > > Izvinjavam se ako sam dosadan, ali jos uvek ne uspevam da resim
> > > > raniji
> > > > > problem.
> > > > > Naime imam ovakve smene:
> > > > >
> > > > > <designator>::=IDENT;
> > > > > <designator>::=<designator> TACKA IDENT;
> > > > > ...
> > > > > <factor>::=<designator> LEVAMALAZAGRADA <act_par>
> > > > DESNAMALAZAGRADA;
> > > > >
> > > > > Problem je sledeci: Ako u <designator>::=IDENT stavim akciju
> > > > koja proverava
> > > > > da li je IDENT Variable objekat (VAR, FIELD, FPAR ili LVAR) onda
> > > > ce u
> > > > > poslednjoj smeni <designator> da bude tipa Variabla, jer ce
> > > > parser da izvrsi
> > > > > prvu smenu pre nego sto naidje na LEVAMALAZAGRADA (npr. za ulaz:
> > > > x.f()). Za
> > > > > ovaj primer ce se traziti polje x, a ne metoda. Pa me zanima
> > > > kako ovaj
> > > > > problem da resim?
> > > > >
> > > > > Pozdrav i hvala svima
> > > > >
> > > >
> > > > Ja sam stavio ovako:
> > > >
> > > > factor : funccall;
> > > > factor: methcall;
> > > > funccall: IDENT '(' actparams ')'
> > > > methcall: designator '.' IDENT '(' actparams ')'
> > > >
> > > > i nemam nikakvih problema.
> > > >
> > > > --
> > > > Best regards,
> > > > Igor Stojkovic mailto: stojkovic.igor@gmail.com
> > > >
> > > > -----------------------------------------------------------------
> > > > unsubscribe:
> > > > minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
> > > > -----------------------------------------------------------------
> > > >
> > > >
> > > >
> > >
> >
> > -----------------------------------------------------------------
> > unsubscribe:
> > minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
> > -----------------------------------------------------------------
> >
> >
> >
>
>
> --
> Milan Aleksić
> WebGrafit: http://galeb.etf.bg.ac.yu/~aleksicm/webgrafit.php<http://galeb.etf.bg.ac.yu/%7Ealeksicm/webgrafit.php>
> email+jabber: milanaleksic@gmail.com
> web: http://drop.to/goblin
> ICQ: 53177884
> -----------------------------------------------------------------
> unsubscribe:
> minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
> -----------------------------------------------------------------
>
>
>