Когда я запускаю вашу грамматику через bison
(после добавления отсутствующих %token
определений), я получаю следующий вывод:
bla.y: warning: 1 nonterminal useless in grammar [-Wother]
bla.y: warning: 2 rules useless in grammar [-Wother]
bla.y:17.1-9: warning: nonterminal useless in grammar: Statement [-Wother]
Statement : Assignment
Таким образом, согласно последней части вывода, Statement
это тот, который бесполезен.Итак, давайте посмотрим, где Statement
используется в грамматике: это не так.Вы определяете Statement
, но никогда нигде не используете его.Вот почему это бесполезно, и почему вы получаете это предупреждение.