У меня конфликт сдвига / уменьшения в зубрах.
Я проверил файл parser.output:
State 0
0 $accept: . Prog $end
STRUCT shift, and go to state 1
$default reduce using rule 6 (Structs)
Prog go to state 2
Structs go to state 3
StructDec go to state 4
У меня есть правила:
Prog : Structs Funcs {};
Structs : StructDec Structs | {};
StructDec : STRUCT ID LB StrctMmLst RB SC{};
ИProg - это начальный символ.
%start Prog
Я предполагаю, что причина в эпсилонном правиле структур.Как я могу решить это, не меняя смысла?