Бизонная петля для конфликта

Чтобы решить проблему висячей еще, я использовал следующее решение:

stmt            : stmt_matched
                | stmt_unmatched
                ;
stmt_unmatched  : IF '(' exp ')' stmt
                | IF '(' exp ')' stmt_matched ELSE stmt_unmatched
                ;
stmt_matched    : IF '(' exp ')' stmt_matched ELSE stmt_matched
                | stmt_for
                | ...
                ;

Для определения правил грамматики в цикле for я создаю конфликты смещение / уменьшение из-за той же проблемы:

stmt_for        : FOR '(' exp ';' exp ';' exp ')' stmt
            ;

Как я могу решить эту проблему?

Ответы на вопрос(1)

Ваш ответ на вопрос