Перемещение / уменьшение конфликта в java cup - еще одна проблема
Я получаю следующую ошибку:
Warning : *** Shift/Reduce conflict found in state #116
between Statement ::= Matched (*)
and Unmatched ::= IF LPAREN Condition RPAREN Matched (*) ELSE Unmatched
and Matched ::= IF LPAREN Condition RPAREN Matched (*) ELSE Matched
under symbol ELSE
Resolved in favor of shifting.
Теперь я знаю о висящей проблеме еще, и я попытался сделать грамматику однозначной:
Statement ::= Matched | Unmatched ;
Matched ::= IF LPAREN Condition RPAREN Matched ELSE Matched
|
Others
;
Unmatched ::= IF LPAREN Condition RPAREN Statement
|
IF LPAREN Condition RPAREN Matched ELSE Unmatched
;
Есть ли способ решить эту проблему без оператора приоритета, или что-то еще не так с грамматикой?