У меня есть правило Bison
block: LBRACE { some code } decls stmts RBRACE {more code }
;
Проблема в разделе "больше кода", у меня есть
$$ = $3 ;
В принципе, я хочу, чтобы возвращаемое значение блока былоstmts.Когда я делаю это, Бизон говорит: «У блока $ 3 нет типа».Если я удалю блок кода, содержащий некоторый код, и вставлю его в последний блок, бизон не будет жаловатьсяУ меня есть stmts и все его производные, объявленные как типы.Значит, это не разрешено Бизоном?Я могу внести изменения в грамматику, чтобы приспособиться к этому, но это будет утомительно и намного проще просто использовать выше.