[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Interpreting shift/reduce conflicts from .output file
From: |
Frans Englich |
Subject: |
Interpreting shift/reduce conflicts from .output file |
Date: |
Sun, 12 Jun 2005 13:04:02 +0000 |
User-agent: |
KMail/1.8.50 |
Hi,
In my grammar I have 2 shift/reduce conflicts. I could find those by staring
at my grammar until I find where I introduced it, but I thought I could learn
to make use of Bison's nifty debugging -- the output file.
At the top of my .output file it says:
State 118 conflicts: 2 shift/reduce
And state 118 looks like this:
---------------------------------------------------
state 118
72 SequenceType: ItemType .
73 | ItemType . STAR
74 | ItemType . PLUS
75 | ItemType . QUESTION_MARK
PLUS shift, and go to state 134
STAR shift, and go to state 135
QUESTION_MARK shift, and go to state 136
PLUS [reduce using rule 72 (SequenceType)]
STAR [reduce using rule 72 (SequenceType)]
$default reduce using rule 72 (SequenceType)
---------------------------------------------------
State 134, 135, and 136 looks all very similar. For example, state 134 looks
like this:
state 134
74 SequenceType: ItemType PLUS .
$default reduce using rule 74 (SequenceType)
I fail to understand what is the problem, and hence how to fix it. AFAICT,
both (for example) state 134 and 118 reduces the tokens to a SequenceType. I
don't see where the ambiguity is. I'm neither fully sure about what the
brackets are communicating in state 118.
Perhaps my confusion can be cleared from what I've written so far?
For those interested, the grammar can be found here:
http://websvn.kde.org/*checkout*/branches/work/kdom/xpath/impl/parser/Parser.output?rev=424401
http://websvn.kde.org/*checkout*/branches/work/kdom/xpath/impl/parser/Parser.ypp?rev=424401
Cheers,
Frans
- Interpreting shift/reduce conflicts from .output file,
Frans Englich <=