«« ( Date ) »» // «« ( Thread ) »» // ir4pp1 - 2008

Re: Za asistenta :cudna greska

by Ivana
ponedeljak, 21. januar 2008 - 20:42.

Znam zbog ceka i na koji nacin shift/reduce konflikt nastaje. Problem je bio u tome sto u celom .cup file-u nije postojao ni jedan od takvih nacina.

Ja sam samo htela da proverim tacno znacenje one greske kako bi mi to pomoglo i bar malo priblizilo delu u fajlu gde se problem nalazi.

Sve u svemu, ja razresih problem koji nije imao veze sa shift/reduce conflict-om niti se nalazio u tom delu gde se greska javljala. Problem je bio sto sam iskoristila promenljivu koju nisam definisala.


Sasa Vitorovic <savitor85@gmail.com> wrote:
Pozdrav,

Ja ne znam za automatski nacin. Kad sam ja radio taj deo, posle svake izmene proverim da li i dalje mogu da prevedem program.

LR parser ti gleda unapred jedan simbol, pa recimo ako imas

simbol1 akcija1 simbol2 simbol444

i

simbol1 akcija2 simbol2 simbol555

javice ti gresku jer u trenutku kad se simbol1 uparuje, parser ne zna da li da ide prvim ili drugim putem. To se ne moze usput uraditi, jer jednom kad izvrsis akciju nazad vise nema! Zato ovo ne bi bio problem kad ne bi bilo akcije izmedju.

Pozdrav,
Sasa Vitorovic

P.S. Ovo je problem cak i kad su akcije iste, jer parser to ne zna. Resenje: staviti novi neterminal

POMOCNI1::=simbol1 akcija1
POMOCNI2::=simbol1 akcija2

----- Original Message -----
From: Ivana
To: ir4pp1@rti.etf.bg.ac.yu
Sent: Monday, January 21, 2008 1:03 PM
Subject: Re: [ir4pp1] Za asistenta :cudna greska


Dobro, posto si provalio o cemu se radi jel bi mogao sad meni da objasnis sta predstavlja ovo NT$21, tj. kako da provalim koji je to neterminal?
Javlja mi se shift/reduce conflict tipa:

*** Shift/Reduce conflict found in state #16
between NT$5 ::= (*)
and Type ::= (*) IDENT
under symbol IDENT
Resolved in favour of shifting

Pa mene sad interesuje sta oznacava state#16 a sta NT$5 kako bi uspela da pronadjem gde se tacno greska nalazi. Od ovog buljenja u ceo .cup file (koji je pri tom OGROMAN) nema svrhe, sve mi se cini u najboljem redu.

Ivan Luki� <ivan.lukic83@gmail.com> wrote:
Ako bi neko znao da mi objasni sta znaci ovo dole mnogo bih mu/joj bio zahvalan.
Najvise me interesuje ono : Production ... ... never reduced
Ako niko drugi pouzdam se u asistenta Glisu ;)
pozdrav svim ljudima dobre volje :)

unapred hvala

D:\Java>java -cp .;d:\; java_cup.Main n35103/MJparser.cup
Opening files...
Parsing specification from standard input...
Checking specification...
Building parse tables...
Computing non-terminal nullability...
Computing first sets...
Building state machine...
Filling in tables...
Checking for non-reduced productions...
*** Production "relop ::= GROREQ " never reduced
*** Production "relop ::= LESSOREQ " never reduced
*** Production "relop ::= LESS " never reduced
*** Production "relop ::= GREATER " never reduced
*** Production "relop ::= DIFFERS " never reduced
*** Production "relop ::= EQUALS " never reduced
*** Production "mulop ::= PERCENT " never reduced
*** Production "mulop ::= DIV " never reduced
*** Production "mulop ::= TIMES " never reduced
*** Production "addop ::= MINUS " never reduced
*** Production "addop ::= PLUS " never reduced
*** Production "NT$22 ::= " never reduced
*** Production "NT$21 ::= " never reduced
*** Production "f_type ::= IDENT " never reduced
*** Production "factor ::= LPAREN expr RPAREN " never reduced
*** Production "factor ::= NEW f_type NT$20 LSQUARE expr RSQUARE " never reduced

*** Production "NT$20 ::= " never reduced
*** Production "factor ::= NEW f_type " never reduced
*** Production "factor ::= CHARCONST " never reduced
*** Production "factor ::= NUMBER " never reduced
*** Production "factor ::= designator LPAREN RPAREN " never reduced
*** Production "factor ::= designator " never reduced
*** Production "factor ::= designator LPAREN NT$19 act_pars RPAREN " never reduc
ed
*** Production "NT$19 ::= " never reduced
*** Production "factor_list ::= MINUS factor " never reduced
*** Production "factor_list ::= factor " never reduced
*** Production "factor_list ::= factor_list mulop factor " never reduced
*** Production "term ::= factor_list " never reduced
*** Production "term_list ::= term " never reduced
*** Production "term_list ::= term_list addop term " never reduced
*** Production "NT$17 ::= " never reduced
*** Production "print_ispis ::= " never reduced
*** Production "NT$15 ::= " never reduced
*** Production "NT$13 ::= " never reduced
*** Production "NT$11 ::= " never reduced
*** Production "NT$9 ::= " never reduced
*** Production "NT$8 ::= " never reduced
Writing parser...
Closing files...
------- CUP v0.10k Parser Generation Summary -------
0 errors and 37 warnings
46 terminals, 87 non-terminals, and 166 productions declared,
producing 270 unique parse states.
0 terminals declared but not used.
0 non-terminals declared but not used.
0 productions never reduced.
0 conflicts detected (0 expected).
Code written to "parser.java", and "sym.java".
---------------------------------------------------- (v0.10k)

D:\Java>copy parser.java .\n35103\ /Y
1 file(s) copied.

D:\Java>
-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ir4pp1
-----------------------------------------------------------------



Pozdrav,
Ivana
---------------------------------
Looking for last minute shopping deals? Find them fast with Yahoo! Search.
---------------------------------

-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ir4pp1
-----------------------------------------------------------------
-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ir4pp1
-----------------------------------------------------------------



Pozdrav,
Ivana

---------------------------------
Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.