]> git.saurik.com Git - bison.git/blobdiff - src/scan-gram.c
* data/yacc.c: Guard the declaration of yytoknum also with
[bison.git] / src / scan-gram.c
index a107a68aaa76b20c875d66f41e176cf57075719b..7457d9498869ae705f5631d2448c8a1d56abc717 100644 (file)
@@ -499,7 +499,7 @@ static yyconst short int yy_nxt[891] =
     {   0,
        20,   21,   22,   23,   24,   20,   25,   26,   20,   20,
        27,   28,   29,   29,   30,   31,   32,   33,   20,   20,
     {   0,
        20,   21,   22,   23,   24,   20,   25,   26,   20,   20,
        27,   28,   29,   29,   30,   31,   32,   33,   20,   20,
-       27,   20,   20,   20,   20,   27,   27,   27,   27,   27,
+       27,   20,   20,   20,   27,   27,   27,   27,   27,   27,
        27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
        27,   27,   27,   27,   27,   27,   27,   34,   35,   20,
        37,   38,  112,   37,   38,  113,   39,   89,   90,   39,
        27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
        27,   27,   27,   27,   27,   27,   27,   34,   35,   20,
        37,   38,  112,   37,   38,  113,   39,   89,   90,   39,
@@ -705,16 +705,16 @@ int yy_flex_debug = 1;
 
 static yyconst short int yy_rule_linenum[101] =
     {   0,
 
 static yyconst short int yy_rule_linenum[101] =
     {   0,
-      121,  122,  123,  124,  125,  126,  127,  128,  129,  130,
-      131,  132,  133,  134,  135,  136,  137,  138,  139,  140,
-      141,  142,  143,  144,  145,  146,  147,  148,  149,  150,
-      151,  152,  154,  155,  156,  157,  159,  160,  161,  166,
-      169,  172,  175,  176,  179,  182,  185,  193,  199,  215,
-      216,  227,  239,  240,  241,  258,  267,  269,  289,  304,
-      306,  326,  338,  342,  343,  344,  345,  346,  347,  348,
-      349,  350,  356,  367,  373,  374,  376,  378,  396,  402,
-      403,  405,  407,  425,  428,  431,  432,  435,  446,  457,
-      459,  461,  464,  465,  468,  488,  495,  496,  497,  517
+      122,  123,  124,  125,  126,  127,  128,  129,  130,  131,
+      132,  133,  134,  135,  136,  137,  138,  139,  140,  141,
+      142,  143,  144,  145,  146,  147,  148,  149,  150,  151,
+      152,  153,  155,  156,  157,  158,  160,  161,  162,  167,
+      170,  173,  176,  177,  180,  183,  186,  194,  200,  216,
+      217,  228,  240,  241,  242,  259,  268,  270,  290,  305,
+      307,  327,  339,  343,  344,  345,  346,  347,  348,  349,
+      350,  351,  357,  368,  374,  375,  377,  379,  397,  403,
+      404,  406,  408,  426,  429,  432,  433,  436,  447,  458,
+      460,  462,  465,  466,  469,  489,  496,  497,  498,  518
 
     } ;
 
 
     } ;
 
@@ -763,13 +763,14 @@ char *yytext;
 #define YY_USER_INIT                           \
 do {                                           \
   LOCATION_RESET (*yylloc);                    \
 #define YY_USER_INIT                           \
 do {                                           \
   LOCATION_RESET (*yylloc);                    \
+  yylloc->file = infile;                       \
    /* This is only to avoid GCC warnings. */   \
   if (yycontrol) {;};                          \
 } while (0)
 
    /* This is only to avoid GCC warnings. */   \
   if (yycontrol) {;};                          \
 } while (0)
 
-#define YY_USER_ACTION  LOCATION_COLUMNS (*yylloc, yyleng)
+#define YY_USER_ACTION  LOCATION_COLUMNS (*yylloc, yyleng);
 #define YY_LINES        LOCATION_LINES (*yylloc, yyleng);
 #define YY_LINES        LOCATION_LINES (*yylloc, yyleng);
-#define YY_STEP         LOCATION_STEP (*yylloc)
+#define YY_STEP         LOCATION_STEP (*yylloc);
 
 /* STRING_OBSTACK -- Used to store all the characters that we need to
    keep (to construct ID, STRINGS etc.).  Use the following macros to
 
 /* STRING_OBSTACK -- Used to store all the characters that we need to
    keep (to construct ID, STRINGS etc.).  Use the following macros to
@@ -824,7 +825,7 @@ static void handle_at PARAMS ((braced_code_t code_kind,
 #define SC_PROLOGUE 7
 #define SC_EPILOGUE 8
 
 #define SC_PROLOGUE 7
 #define SC_EPILOGUE 8
 
-#line 828 "lex.yy.c"
+#line 829 "lex.yy.c"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -986,7 +987,7 @@ YY_DECL
        register char *yy_cp, *yy_bp;
        register int yy_act;
 
        register char *yy_cp, *yy_bp;
        register int yy_act;
 
-#line 97 "scan-gram.l"
+#line 98 "scan-gram.l"
 
 
   /* At each yylex invocation, mark the current position as the
 
 
   /* At each yylex invocation, mark the current position as the
@@ -1009,7 +1010,7 @@ YY_DECL
   /*----------------------------.
   | Scanning Bison directives.  |
   `----------------------------*/
   /*----------------------------.
   | Scanning Bison directives.  |
   `----------------------------*/
-#line 1013 "lex.yy.c"
+#line 1014 "lex.yy.c"
 
        if ( yy_init )
                {
 
        if ( yy_init )
                {
@@ -1111,197 +1112,197 @@ do_action:    /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
 
 case 1:
 YY_RULE_SETUP
-#line 121 "scan-gram.l"
+#line 122 "scan-gram.l"
 return PERCENT_NONASSOC;
        YY_BREAK
 case 2:
 YY_RULE_SETUP
 return PERCENT_NONASSOC;
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 122 "scan-gram.l"
+#line 123 "scan-gram.l"
 return PERCENT_DEBUG;
        YY_BREAK
 case 3:
 YY_RULE_SETUP
 return PERCENT_DEBUG;
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 123 "scan-gram.l"
+#line 124 "scan-gram.l"
 return PERCENT_DEFINE;
        YY_BREAK
 case 4:
 YY_RULE_SETUP
 return PERCENT_DEFINE;
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 124 "scan-gram.l"
+#line 125 "scan-gram.l"
 return PERCENT_DEFINES;
        YY_BREAK
 case 5:
 YY_RULE_SETUP
 return PERCENT_DEFINES;
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 125 "scan-gram.l"
+#line 126 "scan-gram.l"
 return PERCENT_DESTRUCTOR;
        YY_BREAK
 case 6:
 YY_RULE_SETUP
 return PERCENT_DESTRUCTOR;
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 126 "scan-gram.l"
+#line 127 "scan-gram.l"
 return PERCENT_DPREC;
        YY_BREAK
 case 7:
 YY_RULE_SETUP
 return PERCENT_DPREC;
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 127 "scan-gram.l"
+#line 128 "scan-gram.l"
 return PERCENT_ERROR_VERBOSE;
        YY_BREAK
 case 8:
 YY_RULE_SETUP
 return PERCENT_ERROR_VERBOSE;
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 128 "scan-gram.l"
+#line 129 "scan-gram.l"
 return PERCENT_EXPECT;
        YY_BREAK
 case 9:
 YY_RULE_SETUP
 return PERCENT_EXPECT;
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 129 "scan-gram.l"
+#line 130 "scan-gram.l"
 return PERCENT_FILE_PREFIX;
        YY_BREAK
 case 10:
 YY_RULE_SETUP
 return PERCENT_FILE_PREFIX;
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 130 "scan-gram.l"
+#line 131 "scan-gram.l"
 return PERCENT_YACC;
        YY_BREAK
 case 11:
 YY_RULE_SETUP
 return PERCENT_YACC;
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 131 "scan-gram.l"
+#line 132 "scan-gram.l"
 return PERCENT_GLR_PARSER;
        YY_BREAK
 case 12:
 YY_RULE_SETUP
 return PERCENT_GLR_PARSER;
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 132 "scan-gram.l"
+#line 133 "scan-gram.l"
 return PERCENT_LEFT;
        YY_BREAK
 case 13:
 YY_RULE_SETUP
 return PERCENT_LEFT;
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 133 "scan-gram.l"
+#line 134 "scan-gram.l"
 return PERCENT_LOCATIONS;
        YY_BREAK
 case 14:
 YY_RULE_SETUP
 return PERCENT_LOCATIONS;
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 134 "scan-gram.l"
+#line 135 "scan-gram.l"
 return PERCENT_MERGE;
        YY_BREAK
 case 15:
 YY_RULE_SETUP
 return PERCENT_MERGE;
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 135 "scan-gram.l"
+#line 136 "scan-gram.l"
 return PERCENT_NAME_PREFIX;
        YY_BREAK
 case 16:
 YY_RULE_SETUP
 return PERCENT_NAME_PREFIX;
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 136 "scan-gram.l"
+#line 137 "scan-gram.l"
 return PERCENT_NO_LINES;
        YY_BREAK
 case 17:
 YY_RULE_SETUP
 return PERCENT_NO_LINES;
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 137 "scan-gram.l"
+#line 138 "scan-gram.l"
 return PERCENT_NONASSOC;
        YY_BREAK
 case 18:
 YY_RULE_SETUP
 return PERCENT_NONASSOC;
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 138 "scan-gram.l"
+#line 139 "scan-gram.l"
 return PERCENT_NTERM;
        YY_BREAK
 case 19:
 YY_RULE_SETUP
 return PERCENT_NTERM;
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 139 "scan-gram.l"
+#line 140 "scan-gram.l"
 return PERCENT_OUTPUT;
        YY_BREAK
 case 20:
 YY_RULE_SETUP
 return PERCENT_OUTPUT;
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 140 "scan-gram.l"
+#line 141 "scan-gram.l"
 return PERCENT_PREC;
        YY_BREAK
 case 21:
 YY_RULE_SETUP
 return PERCENT_PREC;
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 141 "scan-gram.l"
+#line 142 "scan-gram.l"
 return PERCENT_PRINTER;
        YY_BREAK
 case 22:
 YY_RULE_SETUP
 return PERCENT_PRINTER;
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 142 "scan-gram.l"
+#line 143 "scan-gram.l"
 return PERCENT_PURE_PARSER;
        YY_BREAK
 case 23:
 YY_RULE_SETUP
 return PERCENT_PURE_PARSER;
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 143 "scan-gram.l"
+#line 144 "scan-gram.l"
 return PERCENT_RIGHT;
        YY_BREAK
 case 24:
 YY_RULE_SETUP
 return PERCENT_RIGHT;
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 144 "scan-gram.l"
+#line 145 "scan-gram.l"
 return PERCENT_SKELETON;
        YY_BREAK
 case 25:
 YY_RULE_SETUP
 return PERCENT_SKELETON;
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 145 "scan-gram.l"
+#line 146 "scan-gram.l"
 return PERCENT_START;
        YY_BREAK
 case 26:
 YY_RULE_SETUP
 return PERCENT_START;
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 146 "scan-gram.l"
+#line 147 "scan-gram.l"
 return PERCENT_TOKEN;
        YY_BREAK
 case 27:
 YY_RULE_SETUP
 return PERCENT_TOKEN;
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 147 "scan-gram.l"
+#line 148 "scan-gram.l"
 return PERCENT_TOKEN;
        YY_BREAK
 case 28:
 YY_RULE_SETUP
 return PERCENT_TOKEN;
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 148 "scan-gram.l"
+#line 149 "scan-gram.l"
 return PERCENT_TOKEN_TABLE;
        YY_BREAK
 case 29:
 YY_RULE_SETUP
 return PERCENT_TOKEN_TABLE;
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 149 "scan-gram.l"
+#line 150 "scan-gram.l"
 return PERCENT_TYPE;
        YY_BREAK
 case 30:
 YY_RULE_SETUP
 return PERCENT_TYPE;
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 150 "scan-gram.l"
+#line 151 "scan-gram.l"
 return PERCENT_UNION;
        YY_BREAK
 case 31:
 YY_RULE_SETUP
 return PERCENT_UNION;
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 151 "scan-gram.l"
+#line 152 "scan-gram.l"
 return PERCENT_VERBOSE;
        YY_BREAK
 case 32:
 YY_RULE_SETUP
 return PERCENT_VERBOSE;
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 152 "scan-gram.l"
+#line 153 "scan-gram.l"
 return PERCENT_YACC;
        YY_BREAK
 case 33:
 YY_RULE_SETUP
 return PERCENT_YACC;
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 154 "scan-gram.l"
+#line 155 "scan-gram.l"
 return EQUAL;
        YY_BREAK
 case 34:
 YY_RULE_SETUP
 return EQUAL;
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 155 "scan-gram.l"
+#line 156 "scan-gram.l"
 return COLON;
        YY_BREAK
 case 35:
 YY_RULE_SETUP
 return COLON;
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 156 "scan-gram.l"
+#line 157 "scan-gram.l"
 return PIPE;
        YY_BREAK
 case 36:
 YY_RULE_SETUP
 return PIPE;
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 157 "scan-gram.l"
+#line 158 "scan-gram.l"
 return SEMICOLON;
        YY_BREAK
 case 37:
 YY_RULE_SETUP
 return SEMICOLON;
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 159 "scan-gram.l"
+#line 160 "scan-gram.l"
 YY_LINES; YY_STEP;
        YY_BREAK
 case 38:
 YY_RULE_SETUP
 YY_LINES; YY_STEP;
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 160 "scan-gram.l"
+#line 161 "scan-gram.l"
 YY_STEP;
        YY_BREAK
 case 39:
 YY_RULE_SETUP
 YY_STEP;
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 161 "scan-gram.l"
+#line 162 "scan-gram.l"
 {
     yylval->symbol = symbol_get (yytext, *yylloc);
     return ID;
 {
     yylval->symbol = symbol_get (yytext, *yylloc);
     return ID;
@@ -1309,48 +1310,48 @@ YY_RULE_SETUP
        YY_BREAK
 case 40:
 YY_RULE_SETUP
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 166 "scan-gram.l"
+#line 167 "scan-gram.l"
 yylval->integer = strtol (yytext, 0, 10); return INT;
        YY_BREAK
 /* Characters.  We don't check there is only one.  */
 case 41:
 YY_RULE_SETUP
 yylval->integer = strtol (yytext, 0, 10); return INT;
        YY_BREAK
 /* Characters.  We don't check there is only one.  */
 case 41:
 YY_RULE_SETUP
-#line 169 "scan-gram.l"
+#line 170 "scan-gram.l"
 YY_OBS_GROW; yy_push_state (SC_ESCAPED_CHARACTER);
        YY_BREAK
 /* Strings. */
 case 42:
 YY_RULE_SETUP
 YY_OBS_GROW; yy_push_state (SC_ESCAPED_CHARACTER);
        YY_BREAK
 /* Strings. */
 case 42:
 YY_RULE_SETUP
-#line 172 "scan-gram.l"
+#line 173 "scan-gram.l"
 YY_OBS_GROW; yy_push_state (SC_ESCAPED_STRING);
        YY_BREAK
 /* Comments. */
 case 43:
 YY_RULE_SETUP
 YY_OBS_GROW; yy_push_state (SC_ESCAPED_STRING);
        YY_BREAK
 /* Comments. */
 case 43:
 YY_RULE_SETUP
-#line 175 "scan-gram.l"
+#line 176 "scan-gram.l"
 yy_push_state (SC_COMMENT);
        YY_BREAK
 case 44:
 YY_RULE_SETUP
 yy_push_state (SC_COMMENT);
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 176 "scan-gram.l"
+#line 177 "scan-gram.l"
 YY_STEP;
        YY_BREAK
 /* Prologue. */
 case 45:
 YY_RULE_SETUP
 YY_STEP;
        YY_BREAK
 /* Prologue. */
 case 45:
 YY_RULE_SETUP
-#line 179 "scan-gram.l"
+#line 180 "scan-gram.l"
 yy_push_state (SC_PROLOGUE);
        YY_BREAK
 /* Code in between braces.  */
 case 46:
 YY_RULE_SETUP
 yy_push_state (SC_PROLOGUE);
        YY_BREAK
 /* Code in between braces.  */
 case 46:
 YY_RULE_SETUP
-#line 182 "scan-gram.l"
+#line 183 "scan-gram.l"
 YY_OBS_GROW; ++braces_level; yy_push_state (SC_BRACED_CODE);
        YY_BREAK
 /* A type. */
 case 47:
 YY_RULE_SETUP
 YY_OBS_GROW; ++braces_level; yy_push_state (SC_BRACED_CODE);
        YY_BREAK
 /* A type. */
 case 47:
 YY_RULE_SETUP
-#line 185 "scan-gram.l"
+#line 186 "scan-gram.l"
 {
     obstack_grow (&string_obstack, yytext + 1, yyleng - 2);
     YY_OBS_FINISH;
 {
     obstack_grow (&string_obstack, yytext + 1, yyleng - 2);
     YY_OBS_FINISH;
@@ -1360,7 +1361,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 48:
 YY_RULE_SETUP
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 193 "scan-gram.l"
+#line 194 "scan-gram.l"
 {
     if (++percent_percent_count == 2)
       yy_push_state (SC_EPILOGUE);
 {
     if (++percent_percent_count == 2)
       yy_push_state (SC_EPILOGUE);
@@ -1369,10 +1370,10 @@ YY_RULE_SETUP
        YY_BREAK
 case 49:
 YY_RULE_SETUP
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 199 "scan-gram.l"
+#line 200 "scan-gram.l"
 {
     LOCATION_PRINT (stderr, *yylloc);
 {
     LOCATION_PRINT (stderr, *yylloc);
-    fprintf (stderr, ": invalid character: `%c'\n", *yytext);
+    fprintf (stderr, _(": invalid character: `%c'\n"), *yytext);
     YY_STEP;
   }
        YY_BREAK
     YY_STEP;
   }
        YY_BREAK
@@ -1386,12 +1387,12 @@ YY_RULE_SETUP
 
 case 50:
 YY_RULE_SETUP
 
 case 50:
 YY_RULE_SETUP
-#line 215 "scan-gram.l"
+#line 216 "scan-gram.l"
 if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@<:@");
        YY_BREAK
 case 51:
 YY_RULE_SETUP
 if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@<:@");
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 216 "scan-gram.l"
+#line 217 "scan-gram.l"
 if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@:>@");
        YY_BREAK
 
 if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@:>@");
        YY_BREAK
 
@@ -1402,7 +1403,7 @@ if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@:>@");
 
 case 52:
 YY_RULE_SETUP
 
 case 52:
 YY_RULE_SETUP
-#line 227 "scan-gram.l"
+#line 228 "scan-gram.l"
 { /* End of the comment. */
     if (yy_top_state () == INITIAL)
       {
 { /* End of the comment. */
     if (yy_top_state () == INITIAL)
       {
@@ -1417,24 +1418,24 @@ YY_RULE_SETUP
        YY_BREAK
 case 53:
 YY_RULE_SETUP
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 239 "scan-gram.l"
+#line 240 "scan-gram.l"
 if (yy_top_state () != INITIAL) YY_OBS_GROW;
        YY_BREAK
 case 54:
 YY_RULE_SETUP
 if (yy_top_state () != INITIAL) YY_OBS_GROW;
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 240 "scan-gram.l"
+#line 241 "scan-gram.l"
 if (yy_top_state () != INITIAL) YY_OBS_GROW; YY_LINES;
        YY_BREAK
 case 55:
 YY_RULE_SETUP
 if (yy_top_state () != INITIAL) YY_OBS_GROW; YY_LINES;
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 241 "scan-gram.l"
+#line 242 "scan-gram.l"
 /* Stray `*'. */if (yy_top_state () != INITIAL) YY_OBS_GROW;
        YY_BREAK
 case YY_STATE_EOF(SC_COMMENT):
 /* Stray `*'. */if (yy_top_state () != INITIAL) YY_OBS_GROW;
        YY_BREAK
 case YY_STATE_EOF(SC_COMMENT):
-#line 243 "scan-gram.l"
+#line 244 "scan-gram.l"
 {
     LOCATION_PRINT (stderr, *yylloc);
 {
     LOCATION_PRINT (stderr, *yylloc);
-    fprintf (stderr, ": unexpected end of file in a comment\n");
+    fprintf (stderr, _(": unexpected end of file in a comment\n"));
     yy_pop_state ();
   }
        YY_BREAK
     yy_pop_state ();
   }
        YY_BREAK
@@ -1447,7 +1448,7 @@ case YY_STATE_EOF(SC_COMMENT):
 
 case 56:
 YY_RULE_SETUP
 
 case 56:
 YY_RULE_SETUP
-#line 258 "scan-gram.l"
+#line 259 "scan-gram.l"
 {
     assert (yy_top_state () == INITIAL);
     YY_OBS_GROW;
 {
     assert (yy_top_state () == INITIAL);
     YY_OBS_GROW;
@@ -1459,19 +1460,19 @@ YY_RULE_SETUP
        YY_BREAK
 case 57:
 YY_RULE_SETUP
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 267 "scan-gram.l"
+#line 268 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 case 58:
 YY_RULE_SETUP
 YY_OBS_GROW;
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 269 "scan-gram.l"
+#line 270 "scan-gram.l"
 obstack_1grow (&string_obstack, '\n'); YY_LINES;
        YY_BREAK
 case YY_STATE_EOF(SC_ESCAPED_STRING):
 obstack_1grow (&string_obstack, '\n'); YY_LINES;
        YY_BREAK
 case YY_STATE_EOF(SC_ESCAPED_STRING):
-#line 271 "scan-gram.l"
+#line 272 "scan-gram.l"
 {
     LOCATION_PRINT (stderr, *yylloc);
 {
     LOCATION_PRINT (stderr, *yylloc);
-    fprintf (stderr, ": unexpected end of file in a string\n");
+    fprintf (stderr, _(": unexpected end of file in a string\n"));
     assert (yy_top_state () == INITIAL);
     YY_OBS_FINISH;
     yylval->string = last_string;
     assert (yy_top_state () == INITIAL);
     YY_OBS_FINISH;
     yylval->string = last_string;
@@ -1488,7 +1489,7 @@ case YY_STATE_EOF(SC_ESCAPED_STRING):
 
 case 59:
 YY_RULE_SETUP
 
 case 59:
 YY_RULE_SETUP
-#line 289 "scan-gram.l"
+#line 290 "scan-gram.l"
 {
     YY_OBS_GROW;
     assert (yy_top_state () == INITIAL);
 {
     YY_OBS_GROW;
     assert (yy_top_state () == INITIAL);
@@ -1506,19 +1507,19 @@ YY_RULE_SETUP
        YY_BREAK
 case 60:
 YY_RULE_SETUP
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 304 "scan-gram.l"
+#line 305 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 case 61:
 YY_RULE_SETUP
 YY_OBS_GROW;
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 306 "scan-gram.l"
+#line 307 "scan-gram.l"
 obstack_1grow (&string_obstack, '\n'); YY_LINES;
        YY_BREAK
 case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
 obstack_1grow (&string_obstack, '\n'); YY_LINES;
        YY_BREAK
 case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
-#line 308 "scan-gram.l"
+#line 309 "scan-gram.l"
 {
     LOCATION_PRINT (stderr, *yylloc);
 {
     LOCATION_PRINT (stderr, *yylloc);
-    fprintf (stderr, ": unexpected end of file in a character\n");
+    fprintf (stderr, _(": unexpected end of file in a character\n"));
     assert (yy_top_state () == INITIAL);
     YY_OBS_FINISH;
     yylval->string = last_string;
     assert (yy_top_state () == INITIAL);
     YY_OBS_FINISH;
     yylval->string = last_string;
@@ -1534,13 +1535,13 @@ case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
 
 case 62:
 YY_RULE_SETUP
 
 case 62:
 YY_RULE_SETUP
-#line 326 "scan-gram.l"
+#line 327 "scan-gram.l"
 {
     long c = strtol (yytext + 1, 0, 8);
     if (c > 255)
       {
        LOCATION_PRINT (stderr, *yylloc);
 {
     long c = strtol (yytext + 1, 0, 8);
     if (c > 255)
       {
        LOCATION_PRINT (stderr, *yylloc);
-       fprintf (stderr, ": invalid escape: %s\n", quote (yytext));
+       fprintf (stderr, _(": invalid escape: %s\n"), quote (yytext));
        YY_STEP;
       }
     else
        YY_STEP;
       }
     else
@@ -1549,64 +1550,64 @@ YY_RULE_SETUP
        YY_BREAK
 case 63:
 YY_RULE_SETUP
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 338 "scan-gram.l"
+#line 339 "scan-gram.l"
 {
     obstack_1grow (&string_obstack, strtol (yytext + 2, 0, 16));
   }
        YY_BREAK
 case 64:
 YY_RULE_SETUP
 {
     obstack_1grow (&string_obstack, strtol (yytext + 2, 0, 16));
   }
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 342 "scan-gram.l"
+#line 343 "scan-gram.l"
 obstack_1grow (&string_obstack, '\a');
        YY_BREAK
 case 65:
 YY_RULE_SETUP
 obstack_1grow (&string_obstack, '\a');
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 343 "scan-gram.l"
+#line 344 "scan-gram.l"
 obstack_1grow (&string_obstack, '\b');
        YY_BREAK
 case 66:
 YY_RULE_SETUP
 obstack_1grow (&string_obstack, '\b');
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 344 "scan-gram.l"
+#line 345 "scan-gram.l"
 obstack_1grow (&string_obstack, '\f');
        YY_BREAK
 case 67:
 YY_RULE_SETUP
 obstack_1grow (&string_obstack, '\f');
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 345 "scan-gram.l"
+#line 346 "scan-gram.l"
 obstack_1grow (&string_obstack, '\n');
        YY_BREAK
 case 68:
 YY_RULE_SETUP
 obstack_1grow (&string_obstack, '\n');
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 346 "scan-gram.l"
+#line 347 "scan-gram.l"
 obstack_1grow (&string_obstack, '\r');
        YY_BREAK
 case 69:
 YY_RULE_SETUP
 obstack_1grow (&string_obstack, '\r');
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 347 "scan-gram.l"
+#line 348 "scan-gram.l"
 obstack_1grow (&string_obstack, '\t');
        YY_BREAK
 case 70:
 YY_RULE_SETUP
 obstack_1grow (&string_obstack, '\t');
        YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 348 "scan-gram.l"
+#line 349 "scan-gram.l"
 obstack_1grow (&string_obstack, '\v');
        YY_BREAK
 case 71:
 YY_RULE_SETUP
 obstack_1grow (&string_obstack, '\v');
        YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 349 "scan-gram.l"
+#line 350 "scan-gram.l"
 obstack_1grow (&string_obstack, yytext[1]);
        YY_BREAK
 case 72:
 YY_RULE_SETUP
 obstack_1grow (&string_obstack, yytext[1]);
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 350 "scan-gram.l"
+#line 351 "scan-gram.l"
 {
     LOCATION_PRINT (stderr, *yylloc);
 {
     LOCATION_PRINT (stderr, *yylloc);
-    fprintf (stderr, ": unrecognized escape: %s\n", quote (yytext));
+    fprintf (stderr, _(": unrecognized escape: %s\n"), quote (yytext));
     YY_OBS_GROW;
   }
        YY_BREAK
 /* FLex wants this rule, in case of a `\<<EOF>>'. */
 case 73:
 YY_RULE_SETUP
     YY_OBS_GROW;
   }
        YY_BREAK
 /* FLex wants this rule, in case of a `\<<EOF>>'. */
 case 73:
 YY_RULE_SETUP
-#line 356 "scan-gram.l"
+#line 357 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 
 YY_OBS_GROW;
        YY_BREAK
 
@@ -1618,7 +1619,7 @@ YY_OBS_GROW;
 
 case 74:
 YY_RULE_SETUP
 
 case 74:
 YY_RULE_SETUP
-#line 367 "scan-gram.l"
+#line 368 "scan-gram.l"
 {
     YY_OBS_GROW;
     assert (yy_top_state () != INITIAL);
 {
     YY_OBS_GROW;
     assert (yy_top_state () != INITIAL);
@@ -1627,30 +1628,30 @@ YY_RULE_SETUP
        YY_BREAK
 case 75:
 YY_RULE_SETUP
        YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 373 "scan-gram.l"
+#line 374 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 case 76:
 YY_RULE_SETUP
 YY_OBS_GROW;
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 374 "scan-gram.l"
+#line 375 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 /* FLex wants this rule, in case of a `\<<EOF>>'. */
 case 77:
 YY_RULE_SETUP
 YY_OBS_GROW;
        YY_BREAK
 /* FLex wants this rule, in case of a `\<<EOF>>'. */
 case 77:
 YY_RULE_SETUP
-#line 376 "scan-gram.l"
+#line 377 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 case 78:
 YY_RULE_SETUP
 YY_OBS_GROW;
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 378 "scan-gram.l"
+#line 379 "scan-gram.l"
 YY_OBS_GROW; YY_LINES;
        YY_BREAK
 case YY_STATE_EOF(SC_CHARACTER):
 YY_OBS_GROW; YY_LINES;
        YY_BREAK
 case YY_STATE_EOF(SC_CHARACTER):
-#line 380 "scan-gram.l"
+#line 381 "scan-gram.l"
 {
     LOCATION_PRINT (stderr, *yylloc);
 {
     LOCATION_PRINT (stderr, *yylloc);
-    fprintf (stderr, ": unexpected end of file in a character\n");
+    fprintf (stderr, _(": unexpected end of file in a character\n"));
     assert (yy_top_state () != INITIAL);
     yy_pop_state ();
   }
     assert (yy_top_state () != INITIAL);
     yy_pop_state ();
   }
@@ -1664,7 +1665,7 @@ case YY_STATE_EOF(SC_CHARACTER):
 
 case 79:
 YY_RULE_SETUP
 
 case 79:
 YY_RULE_SETUP
-#line 396 "scan-gram.l"
+#line 397 "scan-gram.l"
 {
     assert (yy_top_state () != INITIAL);
     YY_OBS_GROW;
 {
     assert (yy_top_state () != INITIAL);
     YY_OBS_GROW;
@@ -1673,30 +1674,30 @@ YY_RULE_SETUP
        YY_BREAK
 case 80:
 YY_RULE_SETUP
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 402 "scan-gram.l"
+#line 403 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 case 81:
 YY_RULE_SETUP
 YY_OBS_GROW;
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 403 "scan-gram.l"
+#line 404 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 /* FLex wants this rule, in case of a `\<<EOF>>'. */
 case 82:
 YY_RULE_SETUP
 YY_OBS_GROW;
        YY_BREAK
 /* FLex wants this rule, in case of a `\<<EOF>>'. */
 case 82:
 YY_RULE_SETUP
-#line 405 "scan-gram.l"
+#line 406 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 case 83:
 YY_RULE_SETUP
 YY_OBS_GROW;
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 407 "scan-gram.l"
+#line 408 "scan-gram.l"
 YY_OBS_GROW; YY_LINES;
        YY_BREAK
 case YY_STATE_EOF(SC_STRING):
 YY_OBS_GROW; YY_LINES;
        YY_BREAK
 case YY_STATE_EOF(SC_STRING):
-#line 409 "scan-gram.l"
+#line 410 "scan-gram.l"
 {
     LOCATION_PRINT (stderr, *yylloc);
 {
     LOCATION_PRINT (stderr, *yylloc);
-    fprintf (stderr, ": unexpected end of file in a string\n");
+    fprintf (stderr, _(": unexpected end of file in a string\n"));
     assert (yy_top_state () != INITIAL);
     yy_pop_state ();
   }
     assert (yy_top_state () != INITIAL);
     yy_pop_state ();
   }
@@ -1710,30 +1711,30 @@ case YY_STATE_EOF(SC_STRING):
 /* Characters.  We don't check there is only one.  */
 case 84:
 YY_RULE_SETUP
 /* Characters.  We don't check there is only one.  */
 case 84:
 YY_RULE_SETUP
-#line 425 "scan-gram.l"
+#line 426 "scan-gram.l"
 YY_OBS_GROW; yy_push_state (SC_CHARACTER);
        YY_BREAK
 /* Strings. */
 case 85:
 YY_RULE_SETUP
 YY_OBS_GROW; yy_push_state (SC_CHARACTER);
        YY_BREAK
 /* Strings. */
 case 85:
 YY_RULE_SETUP
-#line 428 "scan-gram.l"
+#line 429 "scan-gram.l"
 YY_OBS_GROW; yy_push_state (SC_STRING);
        YY_BREAK
 /* Comments. */
 case 86:
 YY_RULE_SETUP
 YY_OBS_GROW; yy_push_state (SC_STRING);
        YY_BREAK
 /* Comments. */
 case 86:
 YY_RULE_SETUP
-#line 431 "scan-gram.l"
+#line 432 "scan-gram.l"
 YY_OBS_GROW; yy_push_state (SC_COMMENT);
        YY_BREAK
 case 87:
 YY_RULE_SETUP
 YY_OBS_GROW; yy_push_state (SC_COMMENT);
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 432 "scan-gram.l"
+#line 433 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 /* Not comments. */
 case 88:
 YY_RULE_SETUP
 YY_OBS_GROW;
        YY_BREAK
 /* Not comments. */
 case 88:
 YY_RULE_SETUP
-#line 435 "scan-gram.l"
+#line 436 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 
 YY_OBS_GROW;
        YY_BREAK
 
@@ -1745,7 +1746,7 @@ YY_OBS_GROW;
 
 case 89:
 YY_RULE_SETUP
 
 case 89:
 YY_RULE_SETUP
-#line 446 "scan-gram.l"
+#line 447 "scan-gram.l"
 {
     YY_OBS_GROW;
     if (--braces_level == 0)
 {
     YY_OBS_GROW;
     if (--braces_level == 0)
@@ -1759,42 +1760,42 @@ YY_RULE_SETUP
        YY_BREAK
 case 90:
 YY_RULE_SETUP
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 457 "scan-gram.l"
+#line 458 "scan-gram.l"
 YY_OBS_GROW; braces_level++;
        YY_BREAK
 case 91:
 YY_RULE_SETUP
 YY_OBS_GROW; braces_level++;
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 459 "scan-gram.l"
+#line 460 "scan-gram.l"
 { handle_dollar (current_braced_code,
                                                   yytext, *yylloc); }
        YY_BREAK
 case 92:
 YY_RULE_SETUP
 { handle_dollar (current_braced_code,
                                                   yytext, *yylloc); }
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 461 "scan-gram.l"
+#line 462 "scan-gram.l"
 { handle_at (current_braced_code,
                                               yytext, *yylloc); }
        YY_BREAK
 case 93:
 YY_RULE_SETUP
 { handle_at (current_braced_code,
                                               yytext, *yylloc); }
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 464 "scan-gram.l"
+#line 465 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 case 94:
 YY_RULE_SETUP
 YY_OBS_GROW;
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 465 "scan-gram.l"
+#line 466 "scan-gram.l"
 YY_OBS_GROW; YY_LINES;
        YY_BREAK
 /* A lose $, or /, or etc. */
 case 95:
 YY_RULE_SETUP
 YY_OBS_GROW; YY_LINES;
        YY_BREAK
 /* A lose $, or /, or etc. */
 case 95:
 YY_RULE_SETUP
-#line 468 "scan-gram.l"
+#line 469 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 case YY_STATE_EOF(SC_BRACED_CODE):
 YY_OBS_GROW;
        YY_BREAK
 case YY_STATE_EOF(SC_BRACED_CODE):
-#line 470 "scan-gram.l"
+#line 471 "scan-gram.l"
 {
     LOCATION_PRINT (stderr, *yylloc);
 {
     LOCATION_PRINT (stderr, *yylloc);
-    fprintf (stderr, ": unexpected end of file in a braced code\n");
+    fprintf (stderr, _(": unexpected end of file in a braced code\n"));
     yy_pop_state ();
     YY_OBS_FINISH;
     yylval->string = last_string;
     yy_pop_state ();
     YY_OBS_FINISH;
     yylval->string = last_string;
@@ -1809,7 +1810,7 @@ case YY_STATE_EOF(SC_BRACED_CODE):
 
 case 96:
 YY_RULE_SETUP
 
 case 96:
 YY_RULE_SETUP
-#line 488 "scan-gram.l"
+#line 489 "scan-gram.l"
 {
     yy_pop_state ();
     YY_OBS_FINISH;
 {
     yy_pop_state ();
     YY_OBS_FINISH;
@@ -1819,24 +1820,24 @@ YY_RULE_SETUP
        YY_BREAK
 case 97:
 YY_RULE_SETUP
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 495 "scan-gram.l"
+#line 496 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 case 98:
 YY_RULE_SETUP
 YY_OBS_GROW;
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 496 "scan-gram.l"
+#line 497 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 case 99:
 YY_RULE_SETUP
 YY_OBS_GROW;
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 497 "scan-gram.l"
+#line 498 "scan-gram.l"
 YY_OBS_GROW; YY_LINES;
        YY_BREAK
 case YY_STATE_EOF(SC_PROLOGUE):
 YY_OBS_GROW; YY_LINES;
        YY_BREAK
 case YY_STATE_EOF(SC_PROLOGUE):
-#line 499 "scan-gram.l"
+#line 500 "scan-gram.l"
 {
     LOCATION_PRINT (stderr, *yylloc);
 {
     LOCATION_PRINT (stderr, *yylloc);
-    fprintf (stderr, ": unexpected end of file in a prologue\n");
+    fprintf (stderr, _(": unexpected end of file in a prologue\n"));
     yy_pop_state ();
     YY_OBS_FINISH;
     yylval->string = last_string;
     yy_pop_state ();
     YY_OBS_FINISH;
     yylval->string = last_string;
@@ -1852,11 +1853,11 @@ case YY_STATE_EOF(SC_PROLOGUE):
 
 case 100:
 YY_RULE_SETUP
 
 case 100:
 YY_RULE_SETUP
-#line 517 "scan-gram.l"
+#line 518 "scan-gram.l"
 YY_OBS_GROW;
        YY_BREAK
 case YY_STATE_EOF(SC_EPILOGUE):
 YY_OBS_GROW;
        YY_BREAK
 case YY_STATE_EOF(SC_EPILOGUE):
-#line 519 "scan-gram.l"
+#line 520 "scan-gram.l"
 {
     yy_pop_state ();
     YY_OBS_FINISH;
 {
     yy_pop_state ();
     YY_OBS_FINISH;
@@ -1867,10 +1868,10 @@ case YY_STATE_EOF(SC_EPILOGUE):
 
 case 101:
 YY_RULE_SETUP
 
 case 101:
 YY_RULE_SETUP
-#line 528 "scan-gram.l"
+#line 529 "scan-gram.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
-#line 1874 "lex.yy.c"
+#line 1875 "lex.yy.c"
 case YY_STATE_EOF(INITIAL):
        yyterminate();
 
 case YY_STATE_EOF(INITIAL):
        yyterminate();
 
@@ -2760,7 +2761,7 @@ int main()
        return 0;
        }
 #endif
        return 0;
        }
 #endif
-#line 528 "scan-gram.l"
+#line 529 "scan-gram.l"
 
 
 /*------------------------------------------------------------------.
 
 
 /*------------------------------------------------------------------.
@@ -2799,7 +2800,7 @@ handle_action_dollar (char *text, location_t location)
       obstack_fgrow1 (&string_obstack,
                      "]b4_lhs_value([%s])[", type_name);
     }
       obstack_fgrow1 (&string_obstack,
                      "]b4_lhs_value([%s])[", type_name);
     }
-  else if (isdigit (*cp) || *cp == '-')
+  else if (('0' <= *cp && *cp <= '9') || *cp == '-')
     {
       /* RULE_LENGTH is the number of values in the current rule so
         far, which says where to find `$0' with respect to the top of
     {
       /* RULE_LENGTH is the number of values in the current rule so
         far, which says where to find `$0' with respect to the top of
@@ -2886,7 +2887,7 @@ handle_action_at (char *text, location_t location)
     {
       obstack_sgrow (&string_obstack, "]b4_lhs_location[");
     }
     {
       obstack_sgrow (&string_obstack, "]b4_lhs_location[");
     }
-  else if (isdigit (*cp) || *cp == '-')
+  else if (('0' <= *cp && *cp <= '9') || *cp == '-')
     {
       /* RULE_LENGTH is the number of values in the current rule so
         far, which says where to find `$0' with respect to the top of
     {
       /* RULE_LENGTH is the number of values in the current rule so
         far, which says where to find `$0' with respect to the top of