[IR4PP1] SHIFT/REDUCE konflikt - Pitanje za asistenta a i ostale
Pitanje za asistenta a i ostale.
1) ExpressionList ::= ExpressionList COMMA Expression
| Expression;
2) Expression ::= TermList;
3) TermList ::= TermList AdditionOperator Term
| Term;
4) Term ::= FactorList;
5) FactorList ::= FactorList MultiplicationOperator Factor
| Factor
| OP_MINUS Factor;
6) Factor ::= Designator LPAREN ActualParametars RPAREN
| Designator
| Designator LPAREN RPAREN
| NUMBER
| CHARCONST
| NEW Type
| NEW Type LSQUAREBRACKET Expression RSQUAREBRACKET
| LPAREN Expression RPAREN;
CUP pokrecem sa -dump_states.
*** Shift/Reduce conflict found in state #149
between ExpressionList ::= Expression (*)
and Factor ::= LPAREN Expression (*) RPAREN
under symbol RPAREN
Resolved in favor of shifting.
U ovim smenama postoji SHIFT/REDUCE konflikt kada parser dobije token RPAREN u smeni
za Factor opcija "LPAREN Expression RPAREN". Tada ne zna da li treba da radi REDUCE
prema prvoj smeni (ExpressionList) ili SHIFT (smena za Factor "LPAREN Expression RPAREN").
CUP resava ovaj konflikt u korist SHIFT i ja smatram da je to ispravno ali nisam siguran,
pa bih zeleo da neko potvrdi.
Smatram da je ispravno da ostavim resenje konflikta u korist SHIFT jer mi se cini da
problematicna smena za Factor sluzi za "rucno" namestanje prioriteta operatora u izrazima.
Na primer var1 = (a+b)*c;
Parser bi a+b prepoznao kao expression i ako bi odlucio da ga reduce-uje sa steka na steku bi
ostale prazne zagrade u sred veceg expressiona koje ne mogu da se upare sto bi dovelo do greske.
Da li sam u pravu ili ne?
Hvala,
Ivan
---------------------------------
Access over 1 million songs - Yahoo! Music Unlimited.
1) ExpressionList ::= ExpressionList COMMA Expression
| Expression;
2) Expression ::= TermList;
3) TermList ::= TermList AdditionOperator Term
| Term;
4) Term ::= FactorList;
5) FactorList ::= FactorList MultiplicationOperator Factor
| Factor
| OP_MINUS Factor;
6) Factor ::= Designator LPAREN ActualParametars RPAREN
| Designator
| Designator LPAREN RPAREN
| NUMBER
| CHARCONST
| NEW Type
| NEW Type LSQUAREBRACKET Expression RSQUAREBRACKET
| LPAREN Expression RPAREN;
CUP pokrecem sa -dump_states.
*** Shift/Reduce conflict found in state #149
between ExpressionList ::= Expression (*)
and Factor ::= LPAREN Expression (*) RPAREN
under symbol RPAREN
Resolved in favor of shifting.
U ovim smenama postoji SHIFT/REDUCE konflikt kada parser dobije token RPAREN u smeni
za Factor opcija "LPAREN Expression RPAREN". Tada ne zna da li treba da radi REDUCE
prema prvoj smeni (ExpressionList) ili SHIFT (smena za Factor "LPAREN Expression RPAREN").
CUP resava ovaj konflikt u korist SHIFT i ja smatram da je to ispravno ali nisam siguran,
pa bih zeleo da neko potvrdi.
Smatram da je ispravno da ostavim resenje konflikta u korist SHIFT jer mi se cini da
problematicna smena za Factor sluzi za "rucno" namestanje prioriteta operatora u izrazima.
Na primer var1 = (a+b)*c;
Parser bi a+b prepoznao kao expression i ako bi odlucio da ga reduce-uje sa steka na steku bi
ostale prazne zagrade u sred veceg expressiona koje ne mogu da se upare sto bi dovelo do greske.
Da li sam u pravu ili ne?
Hvala,
Ivan
---------------------------------
Access over 1 million songs - Yahoo! Music Unlimited.
- Follow-Ups:
- Re: [IR4PP1] SHIFT/REDUCE konflikt - Pitanje za asistenta a i ostale
- From: Marko Bojovic <marko.bojovic@etf.bg.ac.yu>
- Re: [IR4PP1] SHIFT/REDUCE konflikt - Pitanje za asistenta a i ostale
- References:
- Re: pitanje!!
- From: ivan dan <tekarh@yahoo.com>
- Re: pitanje!!
Previous by date: Re: pitanje!!
Next by date: Re: [IR4PP1] SHIFT/REDUCE konflikt - Pitanje za asistenta a i ostale
Previous by thread: Re: pitanje!! Next by thread: Re: [IR4PP1] SHIFT/REDUCE konflikt - Pitanje za asistenta a i ostale
Previous by thread: Re: pitanje!! Next by thread: Re: [IR4PP1] SHIFT/REDUCE konflikt - Pitanje za asistenta a i ostale