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

problem sa yacc

by Predrag Popovic
utorak, 17. januar 2006 - 11:53.

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






;


---------------------------------
Yahoo! Photos – Showcase holiday pictures in hardcover
Photo Books. You design it and we’ll bind it!