* doc/bison.texinfo (Decl Summary): s/$illegal/$undefined./.
* tests/regression.at (Web2c Actions): Adjust.
+2002-07-25 Akim Demaille <akim@epita.fr>
+
+ * src/output.c (prepare_tokens): Go up to ntokens, not ntokens + 1.
+ * doc/bison.texinfo (Decl Summary): s/$illegal/$undefined./.
+ * tests/regression.at (Web2c Actions): Adjust.
+
2002-07-25 Akim Demaille <akim@epita.fr>
Stop storing rules from 1 to nrules + 1.
@item %token-table
Generate an array of token names in the parser file. The name of the
array is @code{yytname}; @code{yytname[@var{i}]} is the name of the
-token whose internal Bison token code number is @var{i}. The first three
-elements of @code{yytname} are always @code{"$"}, @code{"error"}, and
-@code{"$illegal"}; after these come the symbols defined in the grammar
-file.
+token whose internal Bison token code number is @var{i}. The first
+three elements of @code{yytname} are always @code{"$"}, @code{"error"},
+and @code{"$undefined."}; after these come the symbols defined in the
+grammar file.
For single-character literal tokens and literal string tokens, the name
in the table includes the single-quote or double-quote characters: for
/* Output YYTOKNUM. */
{
int i;
- int *values = XCALLOC (int, ntokens + 1);
- for (i = 0; i < ntokens + 1; ++i)
+ int *values = XCALLOC (int, ntokens);
+ for (i = 0; i < ntokens; ++i)
values[i] = symbols[i]->user_token_number;
muscle_insert_int_table ("toknum", values,
- 0, 1, ntokens + 1);
+ values[0], 1, ntokens);
free (values);
}
}
"$", "error", "$undefined.", "\"if\"", "\"const\"", "\"then\"",
"\"else\"", "$axiom", "statement", "struct_stat", "if", "else", 0
};
-static const short yytoknum[] =
+static const unsigned short yytoknum[] =
{
- 0, 256, 257, 258, 259, 260, 261, -1
+ 0, 256, 257, 258, 259, 260, 261
};
static const unsigned char yyr1[] =
{