This commit is contained in:
Akim Demaille
2002-11-07 12:50:34 +00:00
parent 58918640ad
commit 0e25cad542

View File

@@ -734,18 +734,18 @@ int yy_flex_debug = 1;
static yyconst short int yy_rule_linenum[104] = static yyconst short int yy_rule_linenum[104] =
{ 0, { 0,
218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
248, 249, 250, 251, 253, 258, 260, 261, 262, 263, 261, 262, 263, 264, 266, 271, 273, 274, 275, 276,
264, 266, 268, 274, 288, 291, 294, 295, 298, 301, 277, 279, 281, 287, 301, 304, 307, 308, 311, 314,
304, 312, 318, 333, 334, 344, 349, 364, 365, 380, 317, 325, 331, 346, 347, 357, 362, 377, 378, 393,
381, 393, 403, 422, 438, 457, 469, 483, 484, 485, 394, 406, 416, 435, 451, 470, 482, 496, 497, 498,
486, 487, 488, 489, 490, 491, 502, 508, 519, 525, 499, 500, 501, 502, 503, 504, 515, 521, 532, 538,
526, 527, 529, 546, 552, 553, 554, 556, 573, 576, 539, 540, 542, 559, 565, 566, 567, 569, 586, 589,
579, 580, 583, 594, 595, 596, 609, 611, 616, 635, 592, 593, 596, 607, 608, 609, 622, 624, 629, 648,
642, 643, 662 655, 656, 675
} ; } ;
/* The intent behind this definition is that it'll catch /* The intent behind this definition is that it'll catch
@@ -888,6 +888,19 @@ extend_location (location_t *loc, char const *token, int size)
} }
/* Report an unexpected end of file at LOC. A token or comment began
with TOKEN_START, but an end of file was encountered and the
expected TOKEN_END was missing. */
static void
unexpected_end_of_file (location_t loc,
char const *token_start, char const *token_end)
{
complain_at (loc, _("unexpected end of file in `%s ... %s'"),
token_start, token_end);
}
/* STRING_OBSTACK -- Used to store all the characters that we need to /* STRING_OBSTACK -- Used to store all the characters that we need to
keep (to construct ID, STRINGS etc.). Use the following macros to keep (to construct ID, STRINGS etc.). Use the following macros to
@@ -958,7 +971,7 @@ static int convert_ucn_to_byte (char const *hex_text);
NUL and newline, as this simplifies our implementation. */ NUL and newline, as this simplifies our implementation. */
/* Zero or more instances of backslash-newline. Following GCC, allow /* Zero or more instances of backslash-newline. Following GCC, allow
white space between the backslash and the newline. */ white space between the backslash and the newline. */
#line 962 "scan-gram.c" #line 975 "scan-gram.c"
/* Macros after this point can all be overridden by user definitions in /* Macros after this point can all be overridden by user definitions in
* section 1. * section 1.
@@ -1123,7 +1136,7 @@ YY_DECL
register char *yy_cp, *yy_bp; register char *yy_cp, *yy_bp;
register int yy_act; register int yy_act;
#line 203 "scan-gram.l" #line 216 "scan-gram.l"
int braces_level IF_LINT (= 0); int braces_level IF_LINT (= 0);
@@ -1137,7 +1150,7 @@ YY_DECL
/*----------------------------. /*----------------------------.
| Scanning Bison directives. | | Scanning Bison directives. |
`----------------------------*/ `----------------------------*/
#line 1141 "scan-gram.c" #line 1154 "scan-gram.c"
if ( yy_init ) if ( yy_init )
{ {
@@ -1240,177 +1253,177 @@ do_action: /* This label is used only to access EOF actions. */
case 1: case 1:
YY_RULE_SETUP YY_RULE_SETUP
#line 218 "scan-gram.l" #line 231 "scan-gram.l"
return PERCENT_NONASSOC; return PERCENT_NONASSOC;
YY_BREAK YY_BREAK
case 2: case 2:
YY_RULE_SETUP YY_RULE_SETUP
#line 219 "scan-gram.l" #line 232 "scan-gram.l"
return PERCENT_DEBUG; return PERCENT_DEBUG;
YY_BREAK YY_BREAK
case 3: case 3:
YY_RULE_SETUP YY_RULE_SETUP
#line 220 "scan-gram.l" #line 233 "scan-gram.l"
return PERCENT_DEFINE; return PERCENT_DEFINE;
YY_BREAK YY_BREAK
case 4: case 4:
YY_RULE_SETUP YY_RULE_SETUP
#line 221 "scan-gram.l" #line 234 "scan-gram.l"
return PERCENT_DEFINES; return PERCENT_DEFINES;
YY_BREAK YY_BREAK
case 5: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 222 "scan-gram.l" #line 235 "scan-gram.l"
return PERCENT_DESTRUCTOR; return PERCENT_DESTRUCTOR;
YY_BREAK YY_BREAK
case 6: case 6:
YY_RULE_SETUP YY_RULE_SETUP
#line 223 "scan-gram.l" #line 236 "scan-gram.l"
return PERCENT_DPREC; return PERCENT_DPREC;
YY_BREAK YY_BREAK
case 7: case 7:
YY_RULE_SETUP YY_RULE_SETUP
#line 224 "scan-gram.l" #line 237 "scan-gram.l"
return PERCENT_ERROR_VERBOSE; return PERCENT_ERROR_VERBOSE;
YY_BREAK YY_BREAK
case 8: case 8:
YY_RULE_SETUP YY_RULE_SETUP
#line 225 "scan-gram.l" #line 238 "scan-gram.l"
return PERCENT_EXPECT; return PERCENT_EXPECT;
YY_BREAK YY_BREAK
case 9: case 9:
YY_RULE_SETUP YY_RULE_SETUP
#line 226 "scan-gram.l" #line 239 "scan-gram.l"
return PERCENT_FILE_PREFIX; return PERCENT_FILE_PREFIX;
YY_BREAK YY_BREAK
case 10: case 10:
YY_RULE_SETUP YY_RULE_SETUP
#line 227 "scan-gram.l" #line 240 "scan-gram.l"
return PERCENT_YACC; return PERCENT_YACC;
YY_BREAK YY_BREAK
case 11: case 11:
YY_RULE_SETUP YY_RULE_SETUP
#line 228 "scan-gram.l" #line 241 "scan-gram.l"
return PERCENT_GLR_PARSER; return PERCENT_GLR_PARSER;
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
#line 229 "scan-gram.l" #line 242 "scan-gram.l"
return PERCENT_LEFT; return PERCENT_LEFT;
YY_BREAK YY_BREAK
case 13: case 13:
YY_RULE_SETUP YY_RULE_SETUP
#line 230 "scan-gram.l" #line 243 "scan-gram.l"
return PERCENT_LOCATIONS; return PERCENT_LOCATIONS;
YY_BREAK YY_BREAK
case 14: case 14:
YY_RULE_SETUP YY_RULE_SETUP
#line 231 "scan-gram.l" #line 244 "scan-gram.l"
return PERCENT_MERGE; return PERCENT_MERGE;
YY_BREAK YY_BREAK
case 15: case 15:
YY_RULE_SETUP YY_RULE_SETUP
#line 232 "scan-gram.l" #line 245 "scan-gram.l"
return PERCENT_NAME_PREFIX; return PERCENT_NAME_PREFIX;
YY_BREAK YY_BREAK
case 16: case 16:
YY_RULE_SETUP YY_RULE_SETUP
#line 233 "scan-gram.l" #line 246 "scan-gram.l"
return PERCENT_NO_LINES; return PERCENT_NO_LINES;
YY_BREAK YY_BREAK
case 17: case 17:
YY_RULE_SETUP YY_RULE_SETUP
#line 234 "scan-gram.l" #line 247 "scan-gram.l"
return PERCENT_NONASSOC; return PERCENT_NONASSOC;
YY_BREAK YY_BREAK
case 18: case 18:
YY_RULE_SETUP YY_RULE_SETUP
#line 235 "scan-gram.l" #line 248 "scan-gram.l"
return PERCENT_NTERM; return PERCENT_NTERM;
YY_BREAK YY_BREAK
case 19: case 19:
YY_RULE_SETUP YY_RULE_SETUP
#line 236 "scan-gram.l" #line 249 "scan-gram.l"
return PERCENT_OUTPUT; return PERCENT_OUTPUT;
YY_BREAK YY_BREAK
case 20: case 20:
YY_RULE_SETUP YY_RULE_SETUP
#line 237 "scan-gram.l" #line 250 "scan-gram.l"
return PERCENT_PARSE_PARAM; return PERCENT_PARSE_PARAM;
YY_BREAK YY_BREAK
case 21: case 21:
YY_RULE_SETUP YY_RULE_SETUP
#line 238 "scan-gram.l" #line 251 "scan-gram.l"
rule_length--; return PERCENT_PREC; rule_length--; return PERCENT_PREC;
YY_BREAK YY_BREAK
case 22: case 22:
YY_RULE_SETUP YY_RULE_SETUP
#line 239 "scan-gram.l" #line 252 "scan-gram.l"
return PERCENT_PRINTER; return PERCENT_PRINTER;
YY_BREAK YY_BREAK
case 23: case 23:
YY_RULE_SETUP YY_RULE_SETUP
#line 240 "scan-gram.l" #line 253 "scan-gram.l"
return PERCENT_PURE_PARSER; return PERCENT_PURE_PARSER;
YY_BREAK YY_BREAK
case 24: case 24:
YY_RULE_SETUP YY_RULE_SETUP
#line 241 "scan-gram.l" #line 254 "scan-gram.l"
return PERCENT_RIGHT; return PERCENT_RIGHT;
YY_BREAK YY_BREAK
case 25: case 25:
YY_RULE_SETUP YY_RULE_SETUP
#line 242 "scan-gram.l" #line 255 "scan-gram.l"
return PERCENT_LEX_PARAM; return PERCENT_LEX_PARAM;
YY_BREAK YY_BREAK
case 26: case 26:
YY_RULE_SETUP YY_RULE_SETUP
#line 243 "scan-gram.l" #line 256 "scan-gram.l"
return PERCENT_SKELETON; return PERCENT_SKELETON;
YY_BREAK YY_BREAK
case 27: case 27:
YY_RULE_SETUP YY_RULE_SETUP
#line 244 "scan-gram.l" #line 257 "scan-gram.l"
return PERCENT_START; return PERCENT_START;
YY_BREAK YY_BREAK
case 28: case 28:
YY_RULE_SETUP YY_RULE_SETUP
#line 245 "scan-gram.l" #line 258 "scan-gram.l"
return PERCENT_TOKEN; return PERCENT_TOKEN;
YY_BREAK YY_BREAK
case 29: case 29:
YY_RULE_SETUP YY_RULE_SETUP
#line 246 "scan-gram.l" #line 259 "scan-gram.l"
return PERCENT_TOKEN; return PERCENT_TOKEN;
YY_BREAK YY_BREAK
case 30: case 30:
YY_RULE_SETUP YY_RULE_SETUP
#line 247 "scan-gram.l" #line 260 "scan-gram.l"
return PERCENT_TOKEN_TABLE; return PERCENT_TOKEN_TABLE;
YY_BREAK YY_BREAK
case 31: case 31:
YY_RULE_SETUP YY_RULE_SETUP
#line 248 "scan-gram.l" #line 261 "scan-gram.l"
return PERCENT_TYPE; return PERCENT_TYPE;
YY_BREAK YY_BREAK
case 32: case 32:
YY_RULE_SETUP YY_RULE_SETUP
#line 249 "scan-gram.l" #line 262 "scan-gram.l"
return PERCENT_UNION; return PERCENT_UNION;
YY_BREAK YY_BREAK
case 33: case 33:
YY_RULE_SETUP YY_RULE_SETUP
#line 250 "scan-gram.l" #line 263 "scan-gram.l"
return PERCENT_VERBOSE; return PERCENT_VERBOSE;
YY_BREAK YY_BREAK
case 34: case 34:
YY_RULE_SETUP YY_RULE_SETUP
#line 251 "scan-gram.l" #line 264 "scan-gram.l"
return PERCENT_YACC; return PERCENT_YACC;
YY_BREAK YY_BREAK
case 35: case 35:
YY_RULE_SETUP YY_RULE_SETUP
#line 253 "scan-gram.l" #line 266 "scan-gram.l"
{ {
complain_at (*yylloc, _("invalid directive: %s"), quote (yytext)); complain_at (*yylloc, _("invalid directive: %s"), quote (yytext));
YY_STEP; YY_STEP;
@@ -1418,42 +1431,42 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 36: case 36:
YY_RULE_SETUP YY_RULE_SETUP
#line 258 "scan-gram.l" #line 271 "scan-gram.l"
handle_syncline (yytext + strlen ("#line "), yylloc); YY_STEP; handle_syncline (yytext + strlen ("#line "), yylloc); YY_STEP;
YY_BREAK YY_BREAK
case 37: case 37:
YY_RULE_SETUP YY_RULE_SETUP
#line 260 "scan-gram.l" #line 273 "scan-gram.l"
return EQUAL; return EQUAL;
YY_BREAK YY_BREAK
case 38: case 38:
YY_RULE_SETUP YY_RULE_SETUP
#line 261 "scan-gram.l" #line 274 "scan-gram.l"
rule_length = 0; return COLON; rule_length = 0; return COLON;
YY_BREAK YY_BREAK
case 39: case 39:
YY_RULE_SETUP YY_RULE_SETUP
#line 262 "scan-gram.l" #line 275 "scan-gram.l"
rule_length = 0; return PIPE; rule_length = 0; return PIPE;
YY_BREAK YY_BREAK
case 40: case 40:
YY_RULE_SETUP YY_RULE_SETUP
#line 263 "scan-gram.l" #line 276 "scan-gram.l"
return COMMA; return COMMA;
YY_BREAK YY_BREAK
case 41: case 41:
YY_RULE_SETUP YY_RULE_SETUP
#line 264 "scan-gram.l" #line 277 "scan-gram.l"
return SEMICOLON; return SEMICOLON;
YY_BREAK YY_BREAK
case 42: case 42:
YY_RULE_SETUP YY_RULE_SETUP
#line 266 "scan-gram.l" #line 279 "scan-gram.l"
YY_STEP; YY_STEP;
YY_BREAK YY_BREAK
case 43: case 43:
YY_RULE_SETUP YY_RULE_SETUP
#line 268 "scan-gram.l" #line 281 "scan-gram.l"
{ {
yylval->symbol = symbol_get (yytext, *yylloc); yylval->symbol = symbol_get (yytext, *yylloc);
rule_length++; rule_length++;
@@ -1462,7 +1475,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 44: case 44:
YY_RULE_SETUP YY_RULE_SETUP
#line 274 "scan-gram.l" #line 287 "scan-gram.l"
{ {
unsigned long num; unsigned long num;
errno = 0; errno = 0;
@@ -1479,42 +1492,42 @@ YY_RULE_SETUP
/* Characters. We don't check there is only one. */ /* Characters. We don't check there is only one. */
case 45: case 45:
YY_RULE_SETUP YY_RULE_SETUP
#line 288 "scan-gram.l" #line 301 "scan-gram.l"
YY_OBS_GROW; yy_push_state (SC_ESCAPED_CHARACTER); YY_OBS_GROW; yy_push_state (SC_ESCAPED_CHARACTER);
YY_BREAK YY_BREAK
/* Strings. */ /* Strings. */
case 46: case 46:
YY_RULE_SETUP YY_RULE_SETUP
#line 291 "scan-gram.l" #line 304 "scan-gram.l"
YY_OBS_GROW; yy_push_state (SC_ESCAPED_STRING); YY_OBS_GROW; yy_push_state (SC_ESCAPED_STRING);
YY_BREAK YY_BREAK
/* Comments. */ /* Comments. */
case 47: case 47:
YY_RULE_SETUP YY_RULE_SETUP
#line 294 "scan-gram.l" #line 307 "scan-gram.l"
BEGIN SC_YACC_COMMENT; BEGIN SC_YACC_COMMENT;
YY_BREAK YY_BREAK
case 48: case 48:
YY_RULE_SETUP YY_RULE_SETUP
#line 295 "scan-gram.l" #line 308 "scan-gram.l"
YY_STEP; YY_STEP;
YY_BREAK YY_BREAK
/* Prologue. */ /* Prologue. */
case 49: case 49:
YY_RULE_SETUP YY_RULE_SETUP
#line 298 "scan-gram.l" #line 311 "scan-gram.l"
yy_push_state (SC_PROLOGUE); yy_push_state (SC_PROLOGUE);
YY_BREAK YY_BREAK
/* Code in between braces. */ /* Code in between braces. */
case 50: case 50:
YY_RULE_SETUP YY_RULE_SETUP
#line 301 "scan-gram.l" #line 314 "scan-gram.l"
YY_OBS_GROW; braces_level = 0; yy_push_state (SC_BRACED_CODE); YY_OBS_GROW; braces_level = 0; yy_push_state (SC_BRACED_CODE);
YY_BREAK YY_BREAK
/* A type. */ /* A type. */
case 51: case 51:
YY_RULE_SETUP YY_RULE_SETUP
#line 304 "scan-gram.l" #line 317 "scan-gram.l"
{ {
obstack_grow (&string_obstack, yytext + 1, yyleng - 2); obstack_grow (&string_obstack, yytext + 1, yyleng - 2);
YY_OBS_FINISH; YY_OBS_FINISH;
@@ -1524,7 +1537,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 52: case 52:
YY_RULE_SETUP YY_RULE_SETUP
#line 312 "scan-gram.l" #line 325 "scan-gram.l"
{ {
if (++percent_percent_count == 2) if (++percent_percent_count == 2)
yy_push_state (SC_EPILOGUE); yy_push_state (SC_EPILOGUE);
@@ -1533,7 +1546,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 53: case 53:
YY_RULE_SETUP YY_RULE_SETUP
#line 318 "scan-gram.l" #line 331 "scan-gram.l"
{ {
complain_at (*yylloc, _("invalid character: %s"), quote (yytext)); complain_at (*yylloc, _("invalid character: %s"), quote (yytext));
YY_STEP; YY_STEP;
@@ -1549,12 +1562,12 @@ YY_RULE_SETUP
case 54: case 54:
YY_RULE_SETUP YY_RULE_SETUP
#line 333 "scan-gram.l" #line 346 "scan-gram.l"
obstack_sgrow (&string_obstack, "@<:@"); obstack_sgrow (&string_obstack, "@<:@");
YY_BREAK YY_BREAK
case 55: case 55:
YY_RULE_SETUP YY_RULE_SETUP
#line 334 "scan-gram.l" #line 347 "scan-gram.l"
obstack_sgrow (&string_obstack, "@:>@"); obstack_sgrow (&string_obstack, "@:>@");
YY_BREAK YY_BREAK
@@ -1565,7 +1578,7 @@ obstack_sgrow (&string_obstack, "@:>@");
case 56: case 56:
YY_RULE_SETUP YY_RULE_SETUP
#line 344 "scan-gram.l" #line 357 "scan-gram.l"
{ {
YY_STEP; YY_STEP;
BEGIN INITIAL; BEGIN INITIAL;
@@ -1573,13 +1586,13 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 57: case 57:
YY_RULE_SETUP YY_RULE_SETUP
#line 349 "scan-gram.l" #line 362 "scan-gram.l"
; ;
YY_BREAK YY_BREAK
case YY_STATE_EOF(SC_YACC_COMMENT): case YY_STATE_EOF(SC_YACC_COMMENT):
#line 351 "scan-gram.l" #line 364 "scan-gram.l"
{ {
complain_at (*yylloc, _("unexpected end of file in a comment")); unexpected_end_of_file (*yylloc, "/*", "*/");
BEGIN INITIAL; BEGIN INITIAL;
} }
YY_BREAK YY_BREAK
@@ -1591,18 +1604,18 @@ case YY_STATE_EOF(SC_YACC_COMMENT):
case 58: case 58:
YY_RULE_SETUP YY_RULE_SETUP
#line 364 "scan-gram.l" #line 377 "scan-gram.l"
YY_OBS_GROW; yy_pop_state (); YY_OBS_GROW; yy_pop_state ();
YY_BREAK YY_BREAK
case 59: case 59:
YY_RULE_SETUP YY_RULE_SETUP
#line 365 "scan-gram.l" #line 378 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case YY_STATE_EOF(SC_COMMENT): case YY_STATE_EOF(SC_COMMENT):
#line 367 "scan-gram.l" #line 380 "scan-gram.l"
{ {
complain_at (*yylloc, _("unexpected end of file in a comment")); unexpected_end_of_file (*yylloc, "/*", "*/");
yy_pop_state (); yy_pop_state ();
} }
YY_BREAK YY_BREAK
@@ -1614,16 +1627,16 @@ case YY_STATE_EOF(SC_COMMENT):
case 60: case 60:
YY_RULE_SETUP YY_RULE_SETUP
#line 380 "scan-gram.l" #line 393 "scan-gram.l"
YY_OBS_GROW; yy_pop_state (); YY_OBS_GROW; yy_pop_state ();
YY_BREAK YY_BREAK
case 61: case 61:
YY_RULE_SETUP YY_RULE_SETUP
#line 381 "scan-gram.l" #line 394 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case YY_STATE_EOF(SC_LINE_COMMENT): case YY_STATE_EOF(SC_LINE_COMMENT):
#line 382 "scan-gram.l" #line 395 "scan-gram.l"
yy_pop_state (); yy_pop_state ();
YY_BREAK YY_BREAK
@@ -1635,7 +1648,7 @@ yy_pop_state ();
case 62: case 62:
YY_RULE_SETUP YY_RULE_SETUP
#line 393 "scan-gram.l" #line 406 "scan-gram.l"
{ {
assert (yy_top_state () == INITIAL); assert (yy_top_state () == INITIAL);
YY_OBS_GROW; YY_OBS_GROW;
@@ -1648,13 +1661,13 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 63: case 63:
YY_RULE_SETUP YY_RULE_SETUP
#line 403 "scan-gram.l" #line 416 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case YY_STATE_EOF(SC_ESCAPED_STRING): case YY_STATE_EOF(SC_ESCAPED_STRING):
#line 405 "scan-gram.l" #line 418 "scan-gram.l"
{ {
complain_at (*yylloc, _("unexpected end of file in a string")); unexpected_end_of_file (*yylloc, "\"", "\"");
assert (yy_top_state () == INITIAL); assert (yy_top_state () == INITIAL);
YY_OBS_FINISH; YY_OBS_FINISH;
yylval->string = last_string; yylval->string = last_string;
@@ -1671,7 +1684,7 @@ case YY_STATE_EOF(SC_ESCAPED_STRING):
case 64: case 64:
YY_RULE_SETUP YY_RULE_SETUP
#line 422 "scan-gram.l" #line 435 "scan-gram.l"
{ {
YY_OBS_GROW; YY_OBS_GROW;
assert (yy_top_state () == INITIAL); assert (yy_top_state () == INITIAL);
@@ -1690,13 +1703,13 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 65: case 65:
YY_RULE_SETUP YY_RULE_SETUP
#line 438 "scan-gram.l" #line 451 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case YY_STATE_EOF(SC_ESCAPED_CHARACTER): case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
#line 440 "scan-gram.l" #line 453 "scan-gram.l"
{ {
complain_at (*yylloc, _("unexpected end of file in a character literal")); unexpected_end_of_file (*yylloc, "'", "'");
assert (yy_top_state () == INITIAL); assert (yy_top_state () == INITIAL);
YY_OBS_FINISH; YY_OBS_FINISH;
yylval->string = last_string; yylval->string = last_string;
@@ -1712,7 +1725,7 @@ case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
case 66: case 66:
YY_RULE_SETUP YY_RULE_SETUP
#line 457 "scan-gram.l" #line 470 "scan-gram.l"
{ {
unsigned long c = strtoul (yytext + 1, 0, 8); unsigned long c = strtoul (yytext + 1, 0, 8);
if (UCHAR_MAX < c) if (UCHAR_MAX < c)
@@ -1727,7 +1740,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 67: case 67:
YY_RULE_SETUP YY_RULE_SETUP
#line 469 "scan-gram.l" #line 482 "scan-gram.l"
{ {
unsigned long c; unsigned long c;
errno = 0; errno = 0;
@@ -1744,47 +1757,47 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 68: case 68:
YY_RULE_SETUP YY_RULE_SETUP
#line 483 "scan-gram.l" #line 496 "scan-gram.l"
obstack_1grow (&string_obstack, '\a'); obstack_1grow (&string_obstack, '\a');
YY_BREAK YY_BREAK
case 69: case 69:
YY_RULE_SETUP YY_RULE_SETUP
#line 484 "scan-gram.l" #line 497 "scan-gram.l"
obstack_1grow (&string_obstack, '\b'); obstack_1grow (&string_obstack, '\b');
YY_BREAK YY_BREAK
case 70: case 70:
YY_RULE_SETUP YY_RULE_SETUP
#line 485 "scan-gram.l" #line 498 "scan-gram.l"
obstack_1grow (&string_obstack, '\f'); obstack_1grow (&string_obstack, '\f');
YY_BREAK YY_BREAK
case 71: case 71:
YY_RULE_SETUP YY_RULE_SETUP
#line 486 "scan-gram.l" #line 499 "scan-gram.l"
obstack_1grow (&string_obstack, '\n'); obstack_1grow (&string_obstack, '\n');
YY_BREAK YY_BREAK
case 72: case 72:
YY_RULE_SETUP YY_RULE_SETUP
#line 487 "scan-gram.l" #line 500 "scan-gram.l"
obstack_1grow (&string_obstack, '\r'); obstack_1grow (&string_obstack, '\r');
YY_BREAK YY_BREAK
case 73: case 73:
YY_RULE_SETUP YY_RULE_SETUP
#line 488 "scan-gram.l" #line 501 "scan-gram.l"
obstack_1grow (&string_obstack, '\t'); obstack_1grow (&string_obstack, '\t');
YY_BREAK YY_BREAK
case 74: case 74:
YY_RULE_SETUP YY_RULE_SETUP
#line 489 "scan-gram.l" #line 502 "scan-gram.l"
obstack_1grow (&string_obstack, '\v'); obstack_1grow (&string_obstack, '\v');
YY_BREAK YY_BREAK
case 75: case 75:
YY_RULE_SETUP YY_RULE_SETUP
#line 490 "scan-gram.l" #line 503 "scan-gram.l"
obstack_1grow (&string_obstack, yytext[1]); obstack_1grow (&string_obstack, yytext[1]);
YY_BREAK YY_BREAK
case 76: case 76:
YY_RULE_SETUP YY_RULE_SETUP
#line 491 "scan-gram.l" #line 504 "scan-gram.l"
{ {
int c = convert_ucn_to_byte (yytext); int c = convert_ucn_to_byte (yytext);
if (c < 0) if (c < 0)
@@ -1799,7 +1812,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 77: case 77:
YY_RULE_SETUP YY_RULE_SETUP
#line 502 "scan-gram.l" #line 515 "scan-gram.l"
{ {
complain_at (*yylloc, _("unrecognized escape sequence: %s"), complain_at (*yylloc, _("unrecognized escape sequence: %s"),
quote (yytext)); quote (yytext));
@@ -1809,7 +1822,7 @@ YY_RULE_SETUP
/* FLex wants this rule, in case of a `\<<EOF>>'. */ /* FLex wants this rule, in case of a `\<<EOF>>'. */
case 78: case 78:
YY_RULE_SETUP YY_RULE_SETUP
#line 508 "scan-gram.l" #line 521 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
@@ -1821,7 +1834,7 @@ YY_OBS_GROW;
case 79: case 79:
YY_RULE_SETUP YY_RULE_SETUP
#line 519 "scan-gram.l" #line 532 "scan-gram.l"
{ {
YY_OBS_GROW; YY_OBS_GROW;
assert (yy_top_state () != INITIAL); assert (yy_top_state () != INITIAL);
@@ -1830,29 +1843,29 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 80: case 80:
YY_RULE_SETUP YY_RULE_SETUP
#line 525 "scan-gram.l" #line 538 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case 81: case 81:
YY_RULE_SETUP YY_RULE_SETUP
#line 526 "scan-gram.l" #line 539 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case 82: case 82:
YY_RULE_SETUP YY_RULE_SETUP
#line 527 "scan-gram.l" #line 540 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
/* Needed for `\<<EOF>>', `\\<<newline>>[', and `\\<<newline>>]'. */ /* Needed for `\<<EOF>>', `\\<<newline>>[', and `\\<<newline>>]'. */
case 83: case 83:
YY_RULE_SETUP YY_RULE_SETUP
#line 529 "scan-gram.l" #line 542 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case YY_STATE_EOF(SC_CHARACTER): case YY_STATE_EOF(SC_CHARACTER):
#line 531 "scan-gram.l" #line 544 "scan-gram.l"
{ {
complain_at (*yylloc, _("unexpected end of file in a character literal")); unexpected_end_of_file (*yylloc, "'", "'");
assert (yy_top_state () != INITIAL); assert (yy_top_state () != INITIAL);
yy_pop_state (); yy_pop_state ();
} }
@@ -1866,7 +1879,7 @@ case YY_STATE_EOF(SC_CHARACTER):
case 84: case 84:
YY_RULE_SETUP YY_RULE_SETUP
#line 546 "scan-gram.l" #line 559 "scan-gram.l"
{ {
assert (yy_top_state () != INITIAL); assert (yy_top_state () != INITIAL);
YY_OBS_GROW; YY_OBS_GROW;
@@ -1875,29 +1888,29 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 85: case 85:
YY_RULE_SETUP YY_RULE_SETUP
#line 552 "scan-gram.l" #line 565 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case 86: case 86:
YY_RULE_SETUP YY_RULE_SETUP
#line 553 "scan-gram.l" #line 566 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case 87: case 87:
YY_RULE_SETUP YY_RULE_SETUP
#line 554 "scan-gram.l" #line 567 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
/* Needed for `\<<EOF>>', `\\<<newline>>[', and `\\<<newline>>]'. */ /* Needed for `\<<EOF>>', `\\<<newline>>[', and `\\<<newline>>]'. */
case 88: case 88:
YY_RULE_SETUP YY_RULE_SETUP
#line 556 "scan-gram.l" #line 569 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case YY_STATE_EOF(SC_STRING): case YY_STATE_EOF(SC_STRING):
#line 558 "scan-gram.l" #line 571 "scan-gram.l"
{ {
complain_at (*yylloc, _("unexpected end of file in a string")); unexpected_end_of_file (*yylloc, "\"", "\"");
assert (yy_top_state () != INITIAL); assert (yy_top_state () != INITIAL);
yy_pop_state (); yy_pop_state ();
} }
@@ -1911,30 +1924,30 @@ case YY_STATE_EOF(SC_STRING):
/* Characters. We don't check there is only one. */ /* Characters. We don't check there is only one. */
case 89: case 89:
YY_RULE_SETUP YY_RULE_SETUP
#line 573 "scan-gram.l" #line 586 "scan-gram.l"
YY_OBS_GROW; yy_push_state (SC_CHARACTER); YY_OBS_GROW; yy_push_state (SC_CHARACTER);
YY_BREAK YY_BREAK
/* Strings. */ /* Strings. */
case 90: case 90:
YY_RULE_SETUP YY_RULE_SETUP
#line 576 "scan-gram.l" #line 589 "scan-gram.l"
YY_OBS_GROW; yy_push_state (SC_STRING); YY_OBS_GROW; yy_push_state (SC_STRING);
YY_BREAK YY_BREAK
/* Comments. */ /* Comments. */
case 91: case 91:
YY_RULE_SETUP YY_RULE_SETUP
#line 579 "scan-gram.l" #line 592 "scan-gram.l"
YY_OBS_GROW; yy_push_state (SC_COMMENT); YY_OBS_GROW; yy_push_state (SC_COMMENT);
YY_BREAK YY_BREAK
case 92: case 92:
YY_RULE_SETUP YY_RULE_SETUP
#line 580 "scan-gram.l" #line 593 "scan-gram.l"
YY_OBS_GROW; yy_push_state (SC_LINE_COMMENT); YY_OBS_GROW; yy_push_state (SC_LINE_COMMENT);
YY_BREAK YY_BREAK
/* Not comments. */ /* Not comments. */
case 93: case 93:
YY_RULE_SETUP YY_RULE_SETUP
#line 583 "scan-gram.l" #line 596 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
@@ -1946,17 +1959,17 @@ YY_OBS_GROW;
case 94: case 94:
YY_RULE_SETUP YY_RULE_SETUP
#line 594 "scan-gram.l" #line 607 "scan-gram.l"
YY_OBS_GROW; braces_level++; YY_OBS_GROW; braces_level++;
YY_BREAK YY_BREAK
case 95: case 95:
YY_RULE_SETUP YY_RULE_SETUP
#line 595 "scan-gram.l" #line 608 "scan-gram.l"
YY_OBS_GROW; braces_level--; YY_OBS_GROW; braces_level--;
YY_BREAK YY_BREAK
case 96: case 96:
YY_RULE_SETUP YY_RULE_SETUP
#line 596 "scan-gram.l" #line 609 "scan-gram.l"
{ {
YY_OBS_GROW; YY_OBS_GROW;
braces_level--; braces_level--;
@@ -1972,13 +1985,13 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 97: case 97:
YY_RULE_SETUP YY_RULE_SETUP
#line 609 "scan-gram.l" #line 622 "scan-gram.l"
{ handle_dollar (current_braced_code, { handle_dollar (current_braced_code,
yytext, *yylloc); } yytext, *yylloc); }
YY_BREAK YY_BREAK
case 98: case 98:
YY_RULE_SETUP YY_RULE_SETUP
#line 611 "scan-gram.l" #line 624 "scan-gram.l"
{ handle_at (current_braced_code, { handle_at (current_braced_code,
yytext, *yylloc); } yytext, *yylloc); }
YY_BREAK YY_BREAK
@@ -1986,13 +1999,13 @@ YY_RULE_SETUP
than incorrrectly (as `<' `<%'). */ than incorrrectly (as `<' `<%'). */
case 99: case 99:
YY_RULE_SETUP YY_RULE_SETUP
#line 616 "scan-gram.l" #line 629 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case YY_STATE_EOF(SC_BRACED_CODE): case YY_STATE_EOF(SC_BRACED_CODE):
#line 618 "scan-gram.l" #line 631 "scan-gram.l"
{ {
complain_at (*yylloc, _("unexpected end of file in `{ ... }'")); unexpected_end_of_file (*yylloc, "{", "}");
yy_pop_state (); yy_pop_state ();
YY_OBS_FINISH; YY_OBS_FINISH;
yylval->string = last_string; yylval->string = last_string;
@@ -2007,7 +2020,7 @@ case YY_STATE_EOF(SC_BRACED_CODE):
case 100: case 100:
YY_RULE_SETUP YY_RULE_SETUP
#line 635 "scan-gram.l" #line 648 "scan-gram.l"
{ {
yy_pop_state (); yy_pop_state ();
YY_OBS_FINISH; YY_OBS_FINISH;
@@ -2017,18 +2030,18 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 101: case 101:
YY_RULE_SETUP YY_RULE_SETUP
#line 642 "scan-gram.l" #line 655 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case 102: case 102:
YY_RULE_SETUP YY_RULE_SETUP
#line 643 "scan-gram.l" #line 656 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case YY_STATE_EOF(SC_PROLOGUE): case YY_STATE_EOF(SC_PROLOGUE):
#line 645 "scan-gram.l" #line 658 "scan-gram.l"
{ {
complain_at (*yylloc, _("unexpected end of file in `%%{ ... %%}'")); unexpected_end_of_file (*yylloc, "%{", "%}");
yy_pop_state (); yy_pop_state ();
YY_OBS_FINISH; YY_OBS_FINISH;
yylval->string = last_string; yylval->string = last_string;
@@ -2044,11 +2057,11 @@ case YY_STATE_EOF(SC_PROLOGUE):
case 103: case 103:
YY_RULE_SETUP YY_RULE_SETUP
#line 662 "scan-gram.l" #line 675 "scan-gram.l"
YY_OBS_GROW; YY_OBS_GROW;
YY_BREAK YY_BREAK
case YY_STATE_EOF(SC_EPILOGUE): case YY_STATE_EOF(SC_EPILOGUE):
#line 664 "scan-gram.l" #line 677 "scan-gram.l"
{ {
yy_pop_state (); yy_pop_state ();
YY_OBS_FINISH; YY_OBS_FINISH;
@@ -2059,10 +2072,10 @@ case YY_STATE_EOF(SC_EPILOGUE):
case 104: case 104:
YY_RULE_SETUP YY_RULE_SETUP
#line 673 "scan-gram.l" #line 686 "scan-gram.l"
YY_FATAL_ERROR( "flex scanner jammed" ); YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK YY_BREAK
#line 2066 "scan-gram.c" #line 2079 "scan-gram.c"
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
yyterminate(); yyterminate();
@@ -2954,7 +2967,7 @@ int main()
return 0; return 0;
} }
#endif #endif
#line 673 "scan-gram.l" #line 686 "scan-gram.l"
/*------------------------------------------------------------------. /*------------------------------------------------------------------.
@@ -3156,7 +3169,7 @@ convert_ucn_to_byte (char const *ucn)
/* A non-ASCII host. Use CODE to index into a table of the C /* A non-ASCII host. Use CODE to index into a table of the C
basic execution character set, which is guaranteed to exist on basic execution character set, which is guaranteed to exist on
all Standard C platforms. This table also includes '$', '@', all Standard C platforms. This table also includes '$', '@',
and '`', which not in the basic execution character set but and '`', which are not in the basic execution character set but
which are unibyte characters on all the platforms that we know which are unibyte characters on all the platforms that we know
about. */ about. */
static signed char const table[] = static signed char const table[] =