Re: Re: Kako izgleda u Byacc-u?
Ako radite u byaccu mozda je bolje da metode semantickog analizatora ne
definisete tako da primaju parametre tipa Item i Obj nego da primaju
parametre tipa java.lang.Object pa onda da ih kastujete u semantickom
analizatoru.
Mislim da je to bolje od kastovanja u byaccJ skriptu.
Metode semantickog Analizatora bi u tom slucaju bile:
Item checkAdd(Object l, Object r)
{
Item exp1 = (Item)l; Item exp2 = (Item)r;
...
}
Obj checkField(Object obj, Object name)
{
Item object = (Item)obj; Item fieldname = (String)name;
...
}
Kada u skriptu dodeljujete vrednosti atributima neterminala dodelite im
Item-e, Obj-ove, Stringove i tako ih predajte semantickom analizatoru.
Pozdrav,
Jovan
> Ne mozes da pises <Item>, vec samo ono sto generise byacc u parserVal.
> Dakle obj, sval, ival i to je to.
> Zato sam ti i napisao kasting sa uzvicnicima! Sve vreme radis sa
> baznom klasom java.lang.Object!
>
> On 5/28/06, Rade Jakovljević <radegm@gmail.com> wrote:
>> A jesi li u cup/byacc fajlu naveo komandu za import paketa koji sadrzi
>> klasu
>> Item?
>>
>> 2006/5/29, Jovanovic Nenad <nenad11@bankerinter.net>:
>> >
>> > I dalje se javlja problem...
>> > Za konkretan primer:
>> >
>> > factor : IDENT { Item res = Util.sem.checkName($1);
>> > $$ = res;}
>> >
>> > I kad uradim:
>> >
>> > %type <Item> factor
>> >
>> > ponovo mi prijavljuje:
>> >
>> > .\parser.java:945: cannot resolve symbol
>> > symbol : variable Item
>> > location: class parserVal
>> > yyval.Item = res;
>> > ^
>> > 1 error
>> >
>> > U svakom slucaju hvala,
>> >
>> > poz
>> >
>> >
>> >
>> > *-------Original Message-------*
>> >
>> > *From:* ri4pp@rti.etf.bg.ac.yu
>> > *Date:* 28 May 2006 20:59:44
>> > *To:* ri4pp@rti.etf.bg.ac.yu
>> > *Subject:* [ri4pp] Re: Kako izgleda u Byacc-u?
>> >
>> > U globalu sam ja prosledjivanje radio ovako: ako sam nonterm ubaci
>> > gore kao %type <obj> nonterm, onda posle mogu da pisem (kasting!!)
>> > smena : nonterm {$$=(ArrayList)$1;
>> > sto daje atributu neterminala smena vrednost atributa nonterm
>> > Provereno radi, slao sam hes tabele, simbole, tipove itd. Pazite sam
>> > da svi elementi kojima pristupate sa $ budu tipizovani sa %type, imat
>> > u uputstv
>> >
>> > poz, Mila
>> >
>> >
>> >
>> > [image: Add FUN to your email - CLICK
>> HERE!]<http://www.incredimail.com/index.asp?id=54475>
>> >
>> > -----------------------------------------------------------------
>> > unsubscribe:
>> > minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
>> > -----------------------------------------------------------------
>> >
>> >
>> >
>>
>
>
> --
> Milan Aleksić
> WebGrafit: http://galeb.etf.bg.ac.yu/~aleksicm/webgrafit.php
> email+jabber: milanaleksic@gmail.com
> web: http://drop.to/goblin
> ICQ: 53177884
>
definisete tako da primaju parametre tipa Item i Obj nego da primaju
parametre tipa java.lang.Object pa onda da ih kastujete u semantickom
analizatoru.
Mislim da je to bolje od kastovanja u byaccJ skriptu.
Metode semantickog Analizatora bi u tom slucaju bile:
Item checkAdd(Object l, Object r)
{
Item exp1 = (Item)l; Item exp2 = (Item)r;
...
}
Obj checkField(Object obj, Object name)
{
Item object = (Item)obj; Item fieldname = (String)name;
...
}
Kada u skriptu dodeljujete vrednosti atributima neterminala dodelite im
Item-e, Obj-ove, Stringove i tako ih predajte semantickom analizatoru.
Pozdrav,
Jovan
> Ne mozes da pises <Item>, vec samo ono sto generise byacc u parserVal.
> Dakle obj, sval, ival i to je to.
> Zato sam ti i napisao kasting sa uzvicnicima! Sve vreme radis sa
> baznom klasom java.lang.Object!
>
> On 5/28/06, Rade Jakovljević <radegm@gmail.com> wrote:
>> A jesi li u cup/byacc fajlu naveo komandu za import paketa koji sadrzi
>> klasu
>> Item?
>>
>> 2006/5/29, Jovanovic Nenad <nenad11@bankerinter.net>:
>> >
>> > I dalje se javlja problem...
>> > Za konkretan primer:
>> >
>> > factor : IDENT { Item res = Util.sem.checkName($1);
>> > $$ = res;}
>> >
>> > I kad uradim:
>> >
>> > %type <Item> factor
>> >
>> > ponovo mi prijavljuje:
>> >
>> > .\parser.java:945: cannot resolve symbol
>> > symbol : variable Item
>> > location: class parserVal
>> > yyval.Item = res;
>> > ^
>> > 1 error
>> >
>> > U svakom slucaju hvala,
>> >
>> > poz
>> >
>> >
>> >
>> > *-------Original Message-------*
>> >
>> > *From:* ri4pp@rti.etf.bg.ac.yu
>> > *Date:* 28 May 2006 20:59:44
>> > *To:* ri4pp@rti.etf.bg.ac.yu
>> > *Subject:* [ri4pp] Re: Kako izgleda u Byacc-u?
>> >
>> > U globalu sam ja prosledjivanje radio ovako: ako sam nonterm ubaci
>> > gore kao %type <obj> nonterm, onda posle mogu da pisem (kasting!!)
>> > smena : nonterm {$$=(ArrayList)$1;
>> > sto daje atributu neterminala smena vrednost atributa nonterm
>> > Provereno radi, slao sam hes tabele, simbole, tipove itd. Pazite sam
>> > da svi elementi kojima pristupate sa $ budu tipizovani sa %type, imat
>> > u uputstv
>> >
>> > poz, Mila
>> >
>> >
>> >
>> > [image: Add FUN to your email - CLICK
>> HERE!]<http://www.incredimail.com/index.asp?id=54475>
>> >
>> > -----------------------------------------------------------------
>> > unsubscribe:
>> > minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
>> > -----------------------------------------------------------------
>> >
>> >
>> >
>>
>
>
> --
> Milan Aleksić
> WebGrafit: http://galeb.etf.bg.ac.yu/~aleksicm/webgrafit.php
> email+jabber: milanaleksic@gmail.com
> web: http://drop.to/goblin
> ICQ: 53177884
>
- Follow-Ups:
- Re: Re: Kako izgleda u Byacc-u?
- From: "Milan Aleksic" <milanaleksic@gmail.com>
- Re: Re: Kako izgleda u Byacc-u?
- References:
- Re: Kako izgleda u Byacc-u?
- From: "Milan Aleksic" <milanaleksic@gmail.com>
- Re: Re: Kako izgleda u Byacc-u?
- From: "Jovanovic Nenad" <nenad11@bankerinter.net>
- Re: Re: Kako izgleda u Byacc-u?
- From: "Rade Jakovljević" <radegm@gmail.com>
- Re: Kako izgleda u Byacc-u?
- From: "Milan Aleksic" <milanaleksic@gmail.com>
- Re: Kako izgleda u Byacc-u?
Previous by date: Re: String
Next by date: Re: Velicine tipova
Previous by thread: Re: Kako izgleda u Byacc-u? Next by thread: Re: Re: Kako izgleda u Byacc-u?
Previous by thread: Re: Kako izgleda u Byacc-u? Next by thread: Re: Re: Kako izgleda u Byacc-u?