[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
23-fyi-fix-output.patch
From: |
Akim Demaille |
Subject: |
23-fyi-fix-output.patch |
Date: |
Thu, 27 Dec 2001 19:02:40 +0100 |
Index: ChangeLog
from Akim Demaille <address@hidden>
* src/output.c (output_gram): Rely on nritems, not the
0-sentinel. See below.
Use -1 as separator, not 0.
* src/bison.simple (yyparse): Subtract 1 to the rule numbers.
Rely on -1 as separator in yyrhs, instead of 0.
* tests/calc.at (AT_CHECK_CALC): Now, the parsers no longer issue
twice `Now at end of input', therefore there are two lines less to
expect.
Index: src/bison.simple
--- src/bison.simple Sun, 23 Dec 2001 11:51:18 +0100 akim
+++ src/bison.simple Thu, 27 Dec 2001 17:58:29 +0100 akim
@@ -222,7 +222,7 @@
%%prhs
};
-/* YYRHS -- A `0'-separated list of the rules' RHS. */
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const short yyrhs[] =
{
%%rhs
@@ -899,10 +899,10 @@ yyreduce:
int yyi;
YYFPRINTF (YYSTDERR, "Reducing via rule %d (line %d), ",
- yyn, yyrline[yyn]);
+ yyn - 1, yyrline[yyn]);
/* Print the symbols being reduced, and their result. */
- for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
+ for (yyi = yyprhs[yyn]; yyrhs[yyi] >= 0; yyi++)
YYFPRINTF (YYSTDERR, "%s ", yytname[yyrhs[yyi]]);
YYFPRINTF (YYSTDERR, " -> %s\n", yytname[yyr1[yyn]]);
}
Index: src/output.c
--- src/output.c Thu, 27 Dec 2001 16:33:48 +0100 akim
+++ src/output.c Thu, 27 Dec 2001 17:57:46 +0100 akim
@@ -195,19 +195,16 @@
muscle_insert ("prhs", obstack_finish (&format_obstack));
{
- size_t yyrhs_size = 1;
short *yyrhs, *sp;
int i;
- for (sp = ritem + 1; *sp; sp++)
- ++yyrhs_size;
- yyrhs = XMALLOC (short, yyrhs_size);
+ yyrhs = XMALLOC (short, nritems);
- for (sp = ritem + 1, i = 1; *sp; ++sp, ++i)
- yyrhs[i] = *sp >= 0 ? *sp : 0;
+ for (i = 1; i < nritems; ++i)
+ yyrhs[i] = ritem[i] >= 0 ? ritem[i] : -1;
output_table_data (&format_obstack, yyrhs,
- ritem[0], 1, yyrhs_size);
+ ritem[0], 1, nritems);
muscle_insert ("rhs", obstack_finish (&format_obstack));
XFREE (yyrhs);
Index: tests/calc.at
--- tests/calc.at Thu, 27 Dec 2001 14:58:13 +0100 akim
+++ tests/calc.at Thu, 27 Dec 2001 17:53:56 +0100 akim
@@ -371,7 +371,7 @@ m4_define([AT_CHECK_CALC],
1 - (2 - 3) = 2
2^2^3 = 256
-(2^2)^3 = 64], [488])
+(2^2)^3 = 64], [486])
# Some parse errors.
_AT_CHECK_CALC_ERROR([$1], [0 0], [10],
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- 23-fyi-fix-output.patch,
Akim Demaille <=