У меня есть ситуация, когда есть правило с конфликтом сдвига / уменьшения, которое я понимаю. Я хочу, чтобы правило никогда не сокращалось до последнего возможного момента (конца строки). Так что я хотел бы сказать всегда сдвиг. Как мне это сделать?
2 ответа
Как отмечает Крейг, когда возникает конфликт уменьшения сдвига, бизон делает сдвиг. Если предупреждение об этом вас беспокоит, вы можете использовать директиву bison% expect, чтобы указать ожидаемое количество конфликтов сдвиг-уменьшение. Таким образом, он будет молчать, если это единственный конфликт, но если есть дополнительные конфликты, предупреждение вернется.
По умолчанию Bison будет сдвигаться при конфликте сдвига / уменьшения. Вы можете использовать объявления приоритета, чтобы изменить поведение.
Похожие вопросы
Новые вопросы
yacc
Компьютерная программа yacc - это генератор синтаксических анализаторов, разработанный Стивеном Джонсоном из AT & T для операционной системы Unix.