[英]Shift/Reduce conflict in first state due to epsilon rule
我在野牛中有轉移/減少沖突。
我檢查了 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
我認為原因是結構的 epsilon 規則。 如何在不改變含義的情況下解決它?
解決方案實際上是查看文件的開頭。 在那里你可以看到沖突狀態的數量。 我正在看的那個根本不是沖突。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.