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

Re: problem sa yacc

by Goran Rakocevic
utorak, 17. januar 2006 - 12:45.

Probaj ovako (ja sam tako radio, sve radi lepo)
da uvedes npr:

telo: elementi
elemnti: element elementi
element: statement
element: assignment




Pozz
G.


--- Predrag Popovic <popovic_predrag@yahoo.com> wrote:

> Jel moze neko da pomogne. Imam problem sa yacc-om
> (uzeo sam deo primera na kome testiram) problem je
> sto gl. program nece da prolazi(da broji) kroz
> ulazni niz ako se definicije ne nadovezuju jedne na
> drugu sto povlaci cinjenicu da npr kad pocne telo
> funkcije ako (u ovom primeru) bira mi ili
> assignment ili statement jedino kad ce da broji i
> assignment i statement je kad stavim statemnt :
> assignment statement ali tad u gl programu mora
> ulaz da bude neka od statement pa onda assignment.
> POMOZITE NEUKOM.(ako ce neko da testira neka
> iskoristi otale klase iz jocinog primera za yacc)
> file : PROGRAM ime ';' line
> ime : NUM { System.out.println("Pocetak
> Programa");} // samo ovako ispisje
>
>
> line : decl line
>
> decl : body // kad pustim gl.program on da bi
> posle deklaracije nastavio, body mora da bude ovako
> definisan
>
> decl : var_decl decl
>
>
> var_decl : VAR ID ';' { log.Log.vardecl++
> ; System.out.println("Povecao je vardec"); }
>
> {
> System.out.println("Deklaracija promomenljive:"
> +$2); }
>
>
>
>
>
>
> body : BEGIN telo // isto je i nadalje sad ce
> izabrati ili satement ili assignment u probaj u gl
> program da stavis posle begin sledeci unos :
> \nprint(x) chr(x) x=1 \nord(y)- samo prihvata do
> print i chr ili probaj ovo posle begin :\n x=1
> print(x) chr(x)\nord(y) jedin da stavis da je
> statemnt : assignment statement i onda print(x)
> chr(x) x=1 i to samo u ovom redosledu
>
> telo : statement telo
>
> telo : statement
>
> telo : assignment telo
>
> telo : assignment
>
>
> assignment : dodela assignment
>
> dodela : ID '=' NUM { log.Log.assign++ ; }
>
>
>
> statement : funct_call statement
>
> funct_call : funct_name'(' ID ')' {
> log.Log.functdecl++ ; }
> funct_name : READ
>
> funct_name : PRINT
>
> funct_name : CHR
>
> funct_name : ORD
>
>
>
>
>
>
> ;


__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com