Re[3]: bison (конфликт сдвига/вывода)
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 21.06.10 05:33
Оценка:
Здравствуйте, andrey_egeg, Вы писали:

_>Здравствуйте, Кодт, Вы писали:


К>>Да, а поправить нужно так:

_>
_>na : nb
_>   | nb na
_>   ;
_>

_>Только и всего? Не смешно. :shuffle:
_>Мог бы придумать что нить пооригинальней.

Дело не в том, оригинальней или нет, а в том, что это действительно важная замена для таких простых парсеров, как bison. Левосторонняя рекурсия без оснований ему плохо удаётся.

А хорошую подсказку здесь дал Xeor: пример ac#b разбирается двумя возможными путями. Это в общем-то значит, что исходная грамматика некорректна, и пытаться выкрутить это задавливанием конфликтов бессмысленно — в лучшем случае получите reduce/reduce conflict и он откажет собираться. Исправь на корректную.

P.S. А твоя реплика про "Мог бы придумать что нить пооригинальней" слишком многими может быть воспринята как неконструктивный наезд.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.