Re[4]: bison (конфликт сдвига/вывода)
От: Кодт Россия  
Дата: 21.06.10 06:44
Оценка:
Здравствуйте, netch80, Вы писали:

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


Поскольку контекста из одного символа недостаточно для спуска туда или сюда — это не LL(1)-грамматика (да?)

Если мы сделаем фокус, и склеим токены #b и #e на стадии лексера, то всё будет хорошо.

Может быть, ещё какие-то фокусы возможны — как, например, разруливается if-then/if-then-else.
Может быть, нужно ввести приоритеты...
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.