Сдвиг / уменьшение конфликта в первом состоянии благодаря правилу эпсилон - PullRequest
0 голосов
/ 04 декабря 2018

У меня конфликт сдвига / уменьшения в зубрах.

Я проверил файл 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

Я предполагаю, что причина в эпсилонном правиле структур.Как я могу решить это, не меняя смысла?

1 Ответ

0 голосов
/ 07 декабря 2018

В действительности решение было посмотреть на начало файла.там вы можете увидеть номера конфликтующих государств.Тот, на которого я смотрел, вообще не был конфликтом.

...