(yyparse): Rewrite to avoid "comparison is always true due to limited

range of data type" warning from GCC in synclines.at test.
This commit is contained in:
Paul Eggert
2002-10-14 06:54:41 +00:00
parent cc0f0794b8
commit e5cfd9d8af

View File

@@ -918,27 +918,19 @@ yybackup:
YYDPRINTF ((stderr, "\n"));
}
/* Set YYN to the action to take in STATE on seeing token YYCHAR1.
Result YYN means
- YYN < 0: Reduce on rule -YYN.
- YYN = 0: Error.
- YYN > 0: Shift to state YYN. */
/* If the proper action on seeing token YYCHAR1 is to reduce or to
detect an error, take that action. */
yyn += yychar1;
if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yychar1)
/* Defaulted action (reduction). */
yyn = -yydefact[yystate];
else if (yytable[yyn] != YYTABLE_NINF)
yyn = yytable[yyn];
else
yyn = 0;
if (yyn < 0)
goto yydefault;
yyn = yytable[yyn];
if (yyn <= 0)
{
if (yyn == 0 || yyn == YYTABLE_NINF)
goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
else if (yyn == 0)
goto yyerrlab;
if (yyn == YYFINAL)
YYACCEPT;