Re: Kako izgleda u Byacc-u?
Svaka cast na lepom objasnjenju.
2006/5/28, Marko Zivic <marko.zivic@gmail.com>:
2006/5/28, Marko Zivic <marko.zivic@gmail.com>:
I ja bih to voleo da znam.
Imam utisak da je to znatno lakse u CUP-u, samo stavis RESULT = ..., ali
byacc zahteva da se prethodno definise tip tog rezultata.
Voleo bih da vidim preradjen na byacc asistentov primer
<type> treba da ima atribut tipa Struct tj.
non terminal symblolTablePackage.Struct type;
U primeru se uzima naziv tipa u terminalu ID (npr. "int") u metodi
checkType se proverava da li u T.S. postoji simbol tog imena i da li je
taj simbol tip i nadjeni simbol se prosledjuje gornjoj smeni.
Taj atribut se prosledjuje recimo smeni var_decl:
var_decl ::= VAR type:tip var_list:lista SEMI
{:
for each(id in lista)
sem.checkDeclaration(tip, id);
:}
gde metoda:
checkDeclaration(Struct tip, String id)
proverava da li postoji promenljiva id a ako ne postoji ubacuje je u T.S.
sa tipom <tip>.
U ovom primeru sam pretpostavio da var_list ima atribut tipa ArrayList u
kome se stavljaju svi identifikatori u jednoj deklaraciji
int x,y,z; => lista ={"x","y","z"}
i onda se za svaki od identifikatora u listi poziva
sem.checkDeclaration (tip, id);
Smene u kojima se gradi lista identifikatora na osnovu promenljivih u
deklaraciji izgledaju ovako:
var_list ::= var_list:lista COMMA var_part:id
{: lista.add(id);
RESULT = lista
:}
var_list ::= var_part:id {: RESULT = new ArrayList(id) :}
Pozdrav
Током 5/28/06, Jovanovic Nenad <nenad11@bankerinter.net> је написао:
>
> non terminal Item des;
> ...
> des ::= ID:name {:
> Item res = Util.sem.checkName(name);
> RESULT = res;
> :};
>
>
> Da li bi neko hteo da napise kako ovaj CUP-kod izgleda u Byacc-u,
> narocito prvi red gde se navodi kog je tipa neterminal des? Ovo (vracanje
> Itema kao atributa) mi je potrebno u izrazima, da bih ispitivao
> kompatibilnost tipova.
>
> poz
>
>
>
> [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
> -----------------------------------------------------------------
>
>
>
-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
-----------------------------------------------------------------
- References:
- Kako izgleda u Byacc-u?
- From: "Jovanovic Nenad" <nenad11@bankerinter.net>
- Re: Kako izgleda u Byacc-u?
- From: "Marko Zivic" <marko.zivic@gmail.com>
- Kako izgleda u Byacc-u?
Previous by date: Re: Kako izgleda u Byacc-u?
Next by date: Re: Kako izgleda u Byacc-u?
Previous by thread: Re: Kako izgleda u Byacc-u? Next by thread: Re: Kako izgleda u Byacc-u?
Previous by thread: Re: Kako izgleda u Byacc-u? Next by thread: Re: Kako izgleda u Byacc-u?