]> git.saurik.com Git - bison.git/blobdiff - tests/regression.at
(yyparse): Correct error handling to conform to
[bison.git] / tests / regression.at
index 51c87ca27e77c788d57b46e77fd167b802946818..6d73aaafcc1820356958005041d13425666041ae 100644 (file)
@@ -287,6 +287,36 @@ AT_CLEANUP
 
 
 
+## ------------------- ##
+## Token definitions.  ##
+## ------------------- ##
+
+
+AT_SETUP([Token definitions])
+
+# Bison managed, when fed with `%token 'f' "f"' to #define 'f'!
+AT_DATA([input.y],
+[%{
+void yyerror (const char *s);
+int yylex (void);
+%}
+[%token "end of file"
+%token 'a' "a"
+%token "b" 'b'
+%token "c" c
+%token d "d"
+%token e 'e'
+%token 'f' e
+%%
+exp: "a";
+]])
+
+AT_CHECK([bison input.y -o input.c])
+AT_CHECK([$CC $CFLAGS $CPPFLAGS input.c -c])
+AT_CLEANUP
+
+
+
 ## -------------- ##
 ## Web2c Report.  ##
 ## -------------- ##
@@ -336,8 +366,8 @@ $ (0) 0
 ';' (59) 5
 '=' (61) 5
 error (256)
-undef_id_tok (257) 5
-const_id_tok (258) 5
+undef_id_tok (258) 5
+const_id_tok (259) 5
 Nonterminals, with rules where they appear
 $axiom (7)
     on left: 0
@@ -433,7 +463,7 @@ AT_CHECK([bison -v input.y -o input.c])
 # Check only the tables.  We don't use --no-parser, because it is
 # still to be implemented in the experimental branch of Bison.
 AT_CHECK([[sed -n 's/  *$//;/^static const.*\[\] =/,/^}/p' input.c]], 0,
-[[static const yy_token_number_type yytranslate[] =
+[[static const unsigned char yytranslate[] =
 {
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -460,19 +490,19 @@ AT_CHECK([[sed -n 's/  *$//;/^static const.*\[\] =/,/^}/p' input.c]], 0,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
-       6
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6
 };
-static const short yyprhs[] =
+static const unsigned char yyprhs[] =
 {
        0,     0,     3,     5,     6,     9,    14
 };
-static const yyrhs_t yyrhs[] =
+static const signed char yyrhs[] =
 {
        8,     0,    -1,     9,    -1,    -1,    10,    11,    -1,     3,
        4,     5,     8,    -1,     6,     8,    -1
 };
-static const short yyrline[] =
+static const unsigned char yyrline[] =
 {
        0,     2,     2,     3,     3,     4,     5
 };
@@ -483,13 +513,13 @@ static const char *const yytname[] =
 };
 static const short yytoknum[] =
 {
-       0,   256,     2,   257,   258,   259,   260,    -1
+       0,   256,   257,   258,   259,   260,   261,    -1
 };
-static const short yyr1[] =
+static const unsigned char yyr1[] =
 {
        0,     7,     8,     9,     9,    10,    11
 };
-static const short yyr2[] =
+static const unsigned char yyr2[] =
 {
        0,     2,     1,     0,     2,     4,     2
 };