Я новичок в Bison и у меня возникают проблемы с конфликтов сдвиг/свёртка ...Конфликт Bison анализатор
Я пишу правила грамматики для языка C: ID является маркер, который идентифицирует переменной, и я написал это правило, чтобы убедиться, что идентификатор можно рассмотреть, даже если он записан в круглых скобках.
id : '(' ID ')' {printf("(ID) %s\n", $2);}
| ID {printf("ID %s\n", $1);}
;
Выход конфликтов зубра:
State 82
12 id: '(' ID . ')'
13 | ID .
')' shift, and go to state 22
')' [reduce using rule 13 (id)]
$default reduce using rule 13 (id)
Как разрешить этот конфликт?
Надеюсь, я был прост и благодарен вам за помощь.
Разве это весь выход бизона? Кроме того, можете ли вы предоставить его на английском языке? – melpomene
исправьте на английском –
Даже для грамматик нам нужен [минимальный, полный и проверенный пример] (/ help/mcve). –