Я работаю над парсером в Bison.При анализе тестового примера Bison выдает синтаксическую ошибку, говоря, что ожидал $ end, но токенов было больше.Я искал в руководстве по Bison значение $ end, но, похоже, оно не указывает, в каких именно условиях он будет ожидать этот токен.Я использовал рекурсивное правило вида
%start program
%%
program
: rule
| program rule;
, чтобы определить корень моей грамматики.Бизон радостно совпадает с первыми тремя вызовами rule
, но бросает четвертый, говоря, что ожидал конца $.Как я могу указать Bison, что он должен ожидать и соответствовать большему количеству токенов?