私は初めてでBison
、シフト/削減の競合に問題があります...ファイルから次の場所にロードしようとしていますarray data[]
:
struct _data
{
char name[50];
char surname[50];
int year;
} data[1000];
ここに私のバイソンコードの一部があります:
%token ID NUM NL EOF
%%
File : List EOF
;
List : Record
| List Record
;
Record : Name Surname Year NL { count++; }
| NL { count++; }
| /*empty*/
;
Name : ID { strcpy(data[count].name, yytext); }
;
Surname: ID { strcpy(data[count].surname, yytext); }
;
Year : NUM { data[count].year= atoi(yytext); }
;
%%
次のエラーが表示されます。
conflicts: 5 shift/reduce
私がどこで間違ったのか分かりますか?