116 |
location_t current_lhs_location; |
location_t current_lhs_location; |
117 |
associativity current_assoc; |
associativity current_assoc; |
118 |
int current_prec = 0; |
int current_prec = 0; |
119 |
|
braced_code_t current_braced_code = action_braced_code; |
120 |
|
|
121 |
|
|
122 |
/* Tokens. */ |
/* Tokens. */ |
132 |
PERCENT_TOKEN = 261, |
PERCENT_TOKEN = 261, |
133 |
PERCENT_NTERM = 262, |
PERCENT_NTERM = 262, |
134 |
PERCENT_TYPE = 263, |
PERCENT_TYPE = 263, |
135 |
PERCENT_UNION = 264, |
PERCENT_DESTRUCTOR = 264, |
136 |
PERCENT_LEFT = 265, |
PERCENT_UNION = 265, |
137 |
PERCENT_RIGHT = 266, |
PERCENT_LEFT = 266, |
138 |
PERCENT_NONASSOC = 267, |
PERCENT_RIGHT = 267, |
139 |
PERCENT_EXPECT = 268, |
PERCENT_NONASSOC = 268, |
140 |
PERCENT_START = 269, |
PERCENT_EXPECT = 269, |
141 |
PERCENT_PREC = 270, |
PERCENT_START = 270, |
142 |
PERCENT_VERBOSE = 271, |
PERCENT_PREC = 271, |
143 |
PERCENT_ERROR_VERBOSE = 272, |
PERCENT_VERBOSE = 272, |
144 |
PERCENT_OUTPUT = 273, |
PERCENT_ERROR_VERBOSE = 273, |
145 |
PERCENT_FILE_PREFIX = 274, |
PERCENT_OUTPUT = 274, |
146 |
PERCENT_NAME_PREFIX = 275, |
PERCENT_FILE_PREFIX = 275, |
147 |
PERCENT_DEFINE = 276, |
PERCENT_NAME_PREFIX = 276, |
148 |
PERCENT_PURE_PARSER = 277, |
PERCENT_DEFINE = 277, |
149 |
PERCENT_DEFINES = 278, |
PERCENT_PURE_PARSER = 278, |
150 |
PERCENT_YACC = 279, |
PERCENT_DEFINES = 279, |
151 |
PERCENT_DEBUG = 280, |
PERCENT_YACC = 280, |
152 |
PERCENT_LOCATIONS = 281, |
PERCENT_DEBUG = 281, |
153 |
PERCENT_NO_LINES = 282, |
PERCENT_LOCATIONS = 282, |
154 |
PERCENT_SKELETON = 283, |
PERCENT_NO_LINES = 283, |
155 |
PERCENT_TOKEN_TABLE = 284, |
PERCENT_SKELETON = 284, |
156 |
TYPE = 285, |
PERCENT_TOKEN_TABLE = 285, |
157 |
EQUAL = 286, |
TYPE = 286, |
158 |
SEMICOLON = 287, |
EQUAL = 287, |
159 |
COLON = 288, |
SEMICOLON = 288, |
160 |
PIPE = 289, |
COLON = 289, |
161 |
ID = 290, |
PIPE = 290, |
162 |
PERCENT_PERCENT = 291, |
ID = 291, |
163 |
PROLOGUE = 292, |
PERCENT_PERCENT = 292, |
164 |
EPILOGUE = 293, |
PROLOGUE = 293, |
165 |
BRACED_CODE = 294 |
EPILOGUE = 294, |
166 |
|
BRACED_CODE = 295 |
167 |
}; |
}; |
168 |
# endif |
# endif |
169 |
/* POSIX requires `int' for tokens in interfaces. */ |
/* POSIX requires `int' for tokens in interfaces. */ |
176 |
#define PERCENT_TOKEN 261 |
#define PERCENT_TOKEN 261 |
177 |
#define PERCENT_NTERM 262 |
#define PERCENT_NTERM 262 |
178 |
#define PERCENT_TYPE 263 |
#define PERCENT_TYPE 263 |
179 |
#define PERCENT_UNION 264 |
#define PERCENT_DESTRUCTOR 264 |
180 |
#define PERCENT_LEFT 265 |
#define PERCENT_UNION 265 |
181 |
#define PERCENT_RIGHT 266 |
#define PERCENT_LEFT 266 |
182 |
#define PERCENT_NONASSOC 267 |
#define PERCENT_RIGHT 267 |
183 |
#define PERCENT_EXPECT 268 |
#define PERCENT_NONASSOC 268 |
184 |
#define PERCENT_START 269 |
#define PERCENT_EXPECT 269 |
185 |
#define PERCENT_PREC 270 |
#define PERCENT_START 270 |
186 |
#define PERCENT_VERBOSE 271 |
#define PERCENT_PREC 271 |
187 |
#define PERCENT_ERROR_VERBOSE 272 |
#define PERCENT_VERBOSE 272 |
188 |
#define PERCENT_OUTPUT 273 |
#define PERCENT_ERROR_VERBOSE 273 |
189 |
#define PERCENT_FILE_PREFIX 274 |
#define PERCENT_OUTPUT 274 |
190 |
#define PERCENT_NAME_PREFIX 275 |
#define PERCENT_FILE_PREFIX 275 |
191 |
#define PERCENT_DEFINE 276 |
#define PERCENT_NAME_PREFIX 276 |
192 |
#define PERCENT_PURE_PARSER 277 |
#define PERCENT_DEFINE 277 |
193 |
#define PERCENT_DEFINES 278 |
#define PERCENT_PURE_PARSER 278 |
194 |
#define PERCENT_YACC 279 |
#define PERCENT_DEFINES 279 |
195 |
#define PERCENT_DEBUG 280 |
#define PERCENT_YACC 280 |
196 |
#define PERCENT_LOCATIONS 281 |
#define PERCENT_DEBUG 281 |
197 |
#define PERCENT_NO_LINES 282 |
#define PERCENT_LOCATIONS 282 |
198 |
#define PERCENT_SKELETON 283 |
#define PERCENT_NO_LINES 283 |
199 |
#define PERCENT_TOKEN_TABLE 284 |
#define PERCENT_SKELETON 284 |
200 |
#define TYPE 285 |
#define PERCENT_TOKEN_TABLE 285 |
201 |
#define EQUAL 286 |
#define TYPE 286 |
202 |
#define SEMICOLON 287 |
#define EQUAL 287 |
203 |
#define COLON 288 |
#define SEMICOLON 288 |
204 |
#define PIPE 289 |
#define COLON 289 |
205 |
#define ID 290 |
#define PIPE 290 |
206 |
#define PERCENT_PERCENT 291 |
#define ID 291 |
207 |
#define PROLOGUE 292 |
#define PERCENT_PERCENT 292 |
208 |
#define EPILOGUE 293 |
#define PROLOGUE 293 |
209 |
#define BRACED_CODE 294 |
#define EPILOGUE 294 |
210 |
|
#define BRACED_CODE 295 |
211 |
|
|
212 |
|
|
213 |
|
|
226 |
#endif |
#endif |
227 |
|
|
228 |
#ifndef YYSTYPE |
#ifndef YYSTYPE |
229 |
#line 90 "parse-gram.y" |
#line 91 "parse-gram.y" |
230 |
typedef union { |
typedef union { |
231 |
symbol_t *symbol; |
symbol_t *symbol; |
232 |
symbol_list_t *list; |
symbol_list_t *list; |
235 |
associativity assoc; |
associativity assoc; |
236 |
} yystype; |
} yystype; |
237 |
/* Line 199 of /usr/local/share/bison/bison.simple. */ |
/* Line 199 of /usr/local/share/bison/bison.simple. */ |
238 |
#line 236 "parse-gram.c" |
#line 239 "parse-gram.c" |
239 |
# define YYSTYPE yystype |
# define YYSTYPE yystype |
240 |
# define YYSTYPE_IS_TRIVIAL 1 |
# define YYSTYPE_IS_TRIVIAL 1 |
241 |
#endif |
#endif |
256 |
|
|
257 |
|
|
258 |
/* Line 219 of /usr/local/share/bison/bison.simple. */ |
/* Line 219 of /usr/local/share/bison/bison.simple. */ |
259 |
#line 257 "parse-gram.c" |
#line 260 "parse-gram.c" |
260 |
|
|
261 |
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
262 |
|
|
358 |
/* YYFINAL -- State number of the termination state. */ |
/* YYFINAL -- State number of the termination state. */ |
359 |
#define YYFINAL 3 |
#define YYFINAL 3 |
360 |
#define YYFLAG -32768 |
#define YYFLAG -32768 |
361 |
#define YYLAST 111 |
#define YYLAST 115 |
362 |
|
|
363 |
/* YYNTOKENS -- Number of terminals. */ |
/* YYNTOKENS -- Number of terminals. */ |
364 |
#define YYNTOKENS 40 |
#define YYNTOKENS 41 |
365 |
/* YYNNTS -- Number of nonterminals. */ |
/* YYNNTS -- Number of nonterminals. */ |
366 |
#define YYNNTS 26 |
#define YYNNTS 27 |
367 |
/* YYNRULES -- Number of rules. */ |
/* YYNRULES -- Number of rules. */ |
368 |
#define YYNRULES 67 |
#define YYNRULES 69 |
369 |
/* YYNRULES -- Number of states. */ |
/* YYNRULES -- Number of states. */ |
370 |
#define YYNSTATES 93 |
#define YYNSTATES 97 |
371 |
|
|
372 |
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
373 |
#define YYUNDEFTOK 2 |
#define YYUNDEFTOK 2 |
374 |
#define YYMAXUTOK 294 |
#define YYMAXUTOK 295 |
375 |
|
|
376 |
#define YYTRANSLATE(X) \ |
#define YYTRANSLATE(X) \ |
377 |
((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK) |
((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK) |
408 |
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
409 |
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
410 |
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
411 |
35, 36, 37, 38, 39 |
35, 36, 37, 38, 39, 40 |
412 |
}; |
}; |
413 |
|
|
414 |
#if YYDEBUG |
#if YYDEBUG |
418 |
{ |
{ |
419 |
0, 0, 3, 8, 9, 13, 15, 17, 19, 23, |
0, 0, 3, 8, 9, 13, 15, 17, 19, 23, |
420 |
25, 27, 30, 34, 36, 40, 42, 46, 48, 51, |
25, 27, 30, 34, 36, 40, 42, 46, 48, 51, |
421 |
53, 55, 57, 59, 61, 64, 67, 68, 72, 73, |
53, 55, 57, 59, 61, 64, 67, 68, 73, 74, |
422 |
77, 81, 85, 87, 89, 91, 92, 94, 96, 99, |
78, 79, 83, 87, 91, 93, 95, 97, 98, 100, |
423 |
101, 103, 106, 109, 113, 115, 118, 120, 123, 125, |
102, 105, 107, 109, 112, 115, 119, 121, 124, 126, |
424 |
128, 129, 135, 137, 141, 142, 145, 148, 152, 154, |
129, 131, 134, 135, 141, 143, 147, 148, 151, 154, |
425 |
156, 158, 160, 162, 164, 165, 168, 169 |
158, 160, 162, 164, 166, 168, 170, 171, 174, 175 |
426 |
}; |
}; |
427 |
|
|
428 |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
429 |
static const signed char yyrhs[] = |
static const signed char yyrhs[] = |
430 |
{ |
{ |
431 |
41, 0, -1, 42, 36, 54, 64, -1, -1, 42, |
42, 0, -1, 43, 37, 56, 66, -1, -1, 43, |
432 |
43, 65, -1, 44, -1, 37, -1, 25, -1, 21, |
44, 67, -1, 45, -1, 38, -1, 26, -1, 22, |
433 |
63, 63, -1, 23, -1, 17, -1, 13, 5, -1, |
65, 65, -1, 24, -1, 18, -1, 14, 5, -1, |
434 |
19, 31, 63, -1, 26, -1, 20, 31, 63, -1, |
20, 32, 65, -1, 27, -1, 21, 32, 65, -1, |
435 |
27, -1, 18, 31, 63, -1, 22, -1, 28, 63, |
28, -1, 19, 32, 65, -1, 23, -1, 29, 65, |
436 |
-1, 29, -1, 16, -1, 24, -1, 48, -1, 45, |
-1, 30, -1, 17, -1, 25, -1, 50, -1, 47, |
437 |
-1, 14, 60, -1, 9, 39, -1, -1, 7, 46, |
-1, 15, 62, -1, 10, 40, -1, -1, 9, 46, |
438 |
53, -1, -1, 6, 47, 53, -1, 8, 30, 51, |
40, 53, -1, -1, 7, 48, 55, -1, -1, 6, |
439 |
-1, 49, 50, 51, -1, 10, -1, 11, -1, 12, |
49, 55, -1, 8, 31, 53, -1, 51, 52, 53, |
440 |
-1, -1, 30, -1, 60, -1, 51, 60, -1, 30, |
-1, 11, -1, 12, -1, 13, -1, -1, 31, -1, |
441 |
-1, 35, -1, 35, 5, -1, 35, 62, -1, 35, |
62, -1, 53, 62, -1, 31, -1, 36, -1, 36, |
442 |
5, 62, -1, 52, -1, 53, 52, -1, 55, -1, |
5, -1, 36, 64, -1, 36, 5, 64, -1, 54, |
443 |
54, 55, -1, 56, -1, 44, 32, -1, -1, 35, |
-1, 55, 54, -1, 57, -1, 56, 57, -1, 58, |
444 |
33, 57, 58, 32, -1, 59, -1, 58, 34, 59, |
-1, 45, 33, -1, -1, 36, 34, 59, 60, 33, |
445 |
-1, -1, 59, 60, -1, 59, 61, -1, 59, 15, |
-1, 61, -1, 60, 35, 61, -1, -1, 61, 62, |
446 |
60, -1, 35, -1, 62, -1, 4, -1, 39, -1, |
-1, 61, 63, -1, 61, 16, 62, -1, 36, -1, |
447 |
3, -1, 3, -1, -1, 36, 38, -1, -1, 32, |
64, -1, 4, -1, 40, -1, 3, -1, 3, -1, |
448 |
-1 |
-1, 37, 39, -1, -1, 33, -1 |
449 |
}; |
}; |
450 |
|
|
451 |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
452 |
static const unsigned short yyrline[] = |
static const unsigned short yyrline[] = |
453 |
{ |
{ |
454 |
0, 152, 152, 165, 167, 170, 172, 173, 174, 175, |
0, 154, 154, 167, 169, 172, 174, 175, 176, 177, |
455 |
176, 177, 178, 179, 180, 181, 182, 183, 184, 185, |
178, 179, 180, 181, 182, 183, 184, 185, 186, 187, |
456 |
186, 187, 190, 192, 193, 197, 205, 205, 211, 211, |
188, 189, 192, 194, 195, 199, 205, 205, 217, 217, |
457 |
216, 225, 240, 242, 243, 246, 248, 253, 255, 259, |
223, 223, 228, 237, 252, 254, 255, 258, 260, 265, |
458 |
264, 269, 275, 281, 291, 294, 303, 305, 311, 313, |
267, 271, 276, 281, 287, 293, 303, 306, 315, 317, |
459 |
316, 316, 321, 323, 326, 329, 331, 333, 337, 339, |
323, 325, 328, 328, 333, 335, 338, 341, 343, 345, |
460 |
340, 343, 349, 358, 366, 371, 377, 379 |
349, 351, 352, 355, 361, 370, 378, 383, 389, 391 |
461 |
}; |
}; |
462 |
#endif |
#endif |
463 |
|
|
467 |
static const char *const yytname[] = |
static const char *const yytname[] = |
468 |
{ |
{ |
469 |
"\"end of string\"", "error", "$undefined.", "STRING", "CHARACTER", "INT", |
"\"end of string\"", "error", "$undefined.", "STRING", "CHARACTER", "INT", |
470 |
"\"%token\"", "\"%nterm\"", "\"%type\"", "\"%union\"", "\"%left\"", |
"\"%token\"", "\"%nterm\"", "\"%type\"", "\"%destructor\"", |
471 |
"\"%right\"", "\"%nonassoc\"", "\"%expect\"", "\"%start\"", "\"%prec\"", |
"\"%union\"", "\"%left\"", "\"%right\"", "\"%nonassoc\"", "\"%expect\"", |
472 |
"\"%verbose\"", "\"%error-verbose\"", "\"%output\"", "\"%file-prefix\"", |
"\"%start\"", "\"%prec\"", "\"%verbose\"", "\"%error-verbose\"", |
473 |
"\"%name-prefix\"", "\"%define\"", "\"%pure-parser\"", "\"%defines\"", |
"\"%output\"", "\"%file-prefix\"", "\"%name-prefix\"", "\"%define\"", |
474 |
"\"%yacc\"", "\"%debug\"", "\"%locations\"", "\"%no-lines\"", |
"\"%pure-parser\"", "\"%defines\"", "\"%yacc\"", "\"%debug\"", |
475 |
"\"%skeleton\"", "\"%token-table\"", "TYPE", "\"=\"", "\";\"", "\":\"", |
"\"%locations\"", "\"%no-lines\"", "\"%skeleton\"", "\"%token-table\"", |
476 |
"\"|\"", "\"identifier\"", "\"%%\"", "PROLOGUE", "EPILOGUE", |
"TYPE", "\"=\"", "\";\"", "\":\"", "\"|\"", "\"identifier\"", "\"%%\"", |
477 |
"BRACED_CODE", "$axiom", "input", "declarations", "declaration", |
"PROLOGUE", "EPILOGUE", "BRACED_CODE", "$axiom", "input", |
478 |
"grammar_declaration", "symbol_declaration", "@1", "@2", |
"declarations", "declaration", "grammar_declaration", "@1", |
479 |
"precedence_declaration", "precedence_declarator", "type.opt", |
"symbol_declaration", "@2", "@3", "precedence_declaration", |
480 |
"symbols.1", "symbol_def", "symbol_defs.1", "grammar", |
"precedence_declarator", "type.opt", "symbols.1", "symbol_def", |
481 |
"rules_or_grammar_declaration", "rules", "@3", "rhses.1", "rhs", |
"symbol_defs.1", "grammar", "rules_or_grammar_declaration", "rules", |
482 |
"symbol", "action", "string_as_id", "string_content", "epilogue.opt", |
"@4", "rhses.1", "rhs", "symbol", "action", "string_as_id", |
483 |
"semi_colon.opt", 0 |
"string_content", "epilogue.opt", "semi_colon.opt", 0 |
484 |
}; |
}; |
485 |
#endif |
#endif |
486 |
|
|
492 |
265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
493 |
275, 276, 277, 278, 279, 280, 281, 282, 283, 284, |
275, 276, 277, 278, 279, 280, 281, 282, 283, 284, |
494 |
285, 286, 287, 288, 289, 290, 291, 292, 293, 294, |
285, 286, 287, 288, 289, 290, 291, 292, 293, 294, |
495 |
-1 |
295, -1 |
496 |
}; |
}; |
497 |
|
|
498 |
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
499 |
static const unsigned char yyr1[] = |
static const unsigned char yyr1[] = |
500 |
{ |
{ |
501 |
0, 40, 41, 42, 42, 43, 43, 43, 43, 43, |
0, 41, 42, 43, 43, 44, 44, 44, 44, 44, |
502 |
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, |
44, 44, 44, 44, 44, 44, 44, 44, 44, 44, |
503 |
43, 43, 44, 44, 44, 44, 46, 45, 47, 45, |
44, 44, 45, 45, 45, 45, 46, 45, 48, 47, |
504 |
45, 48, 49, 49, 49, 50, 50, 51, 51, 52, |
49, 47, 47, 50, 51, 51, 51, 52, 52, 53, |
505 |
52, 52, 52, 52, 53, 53, 54, 54, 55, 55, |
53, 54, 54, 54, 54, 54, 55, 55, 56, 56, |
506 |
57, 56, 58, 58, 59, 59, 59, 59, 60, 60, |
57, 57, 59, 58, 60, 60, 61, 61, 61, 61, |
507 |
60, 61, 62, 63, 64, 64, 65, 65 |
62, 62, 62, 63, 64, 65, 66, 66, 67, 67 |
508 |
}; |
}; |
509 |
|
|
510 |
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
512 |
{ |
{ |
513 |
0, 2, 4, 0, 3, 1, 1, 1, 3, 1, |
0, 2, 4, 0, 3, 1, 1, 1, 3, 1, |
514 |
1, 2, 3, 1, 3, 1, 3, 1, 2, 1, |
1, 2, 3, 1, 3, 1, 3, 1, 2, 1, |
515 |
1, 1, 1, 1, 2, 2, 0, 3, 0, 3, |
1, 1, 1, 1, 2, 2, 0, 4, 0, 3, |
516 |
3, 3, 1, 1, 1, 0, 1, 1, 2, 1, |
0, 3, 3, 3, 1, 1, 1, 0, 1, 1, |
517 |
1, 2, 2, 3, 1, 2, 1, 2, 1, 2, |
2, 1, 1, 2, 2, 3, 1, 2, 1, 2, |
518 |
0, 5, 1, 3, 0, 2, 2, 3, 1, 1, |
1, 2, 0, 5, 1, 3, 0, 2, 2, 3, |
519 |
1, 1, 1, 1, 0, 2, 0, 1 |
1, 1, 1, 1, 1, 1, 0, 2, 0, 1 |
520 |
}; |
}; |
521 |
|
|
522 |
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
524 |
means the default is an error. */ |
means the default is an error. */ |
525 |
static const short yydefact[] = |
static const short yydefact[] = |
526 |
{ |
{ |
527 |
3, 0, 0, 0, 28, 26, 0, 0, 32, 33, |
3, 0, 0, 0, 30, 28, 0, 26, 0, 34, |
528 |
34, 0, 0, 20, 10, 0, 0, 0, 0, 17, |
35, 36, 0, 0, 20, 10, 0, 0, 0, 0, |
529 |
9, 21, 7, 13, 15, 0, 19, 0, 6, 66, |
17, 9, 21, 7, 13, 15, 0, 19, 0, 6, |
530 |
5, 23, 22, 35, 0, 0, 0, 25, 11, 62, |
68, 5, 23, 22, 37, 0, 0, 0, 0, 25, |
531 |
60, 58, 24, 59, 0, 0, 0, 63, 0, 18, |
11, 64, 62, 60, 24, 61, 0, 0, 0, 65, |
532 |
0, 0, 64, 46, 48, 67, 4, 36, 0, 39, |
0, 18, 0, 0, 66, 48, 50, 69, 4, 38, |
533 |
40, 44, 29, 27, 30, 37, 16, 12, 14, 8, |
0, 41, 42, 46, 31, 29, 32, 39, 0, 16, |
534 |
50, 49, 0, 47, 2, 31, 41, 42, 45, 38, |
12, 14, 8, 52, 51, 0, 49, 2, 33, 43, |
535 |
54, 65, 43, 0, 52, 51, 54, 0, 61, 55, |
44, 47, 40, 27, 56, 67, 45, 0, 54, 53, |
536 |
56, 53, 57 |
56, 0, 63, 57, 58, 55, 59 |
537 |
}; |
}; |
538 |
|
|
539 |
/* YYPGOTO[NTERM-NUM]. */ |
/* YYPGOTO[NTERM-NUM]. */ |
540 |
static const short yydefgoto[] = |
static const short yydefgoto[] = |
541 |
{ |
{ |
542 |
-1, 1, 2, 29, 51, 31, 35, 34, 32, 33, |
-1, 1, 2, 30, 53, 38, 32, 36, 35, 33, |
543 |
58, 64, 61, 62, 52, 53, 54, 80, 83, 84, |
34, 60, 66, 63, 64, 54, 55, 56, 84, 87, |
544 |
65, 90, 43, 48, 74, 56 |
88, 67, 94, 45, 50, 77, 58 |
545 |
}; |
}; |
546 |
|
|
547 |
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
548 |
STATE-NUM. */ |
STATE-NUM. */ |
549 |
static const short yypact[] = |
static const short yypact[] = |
550 |
{ |
{ |
551 |
-32768, 23, 74,-32768,-32768,-32768, 1, -31,-32768,-32768, |
-32768, 25, 77,-32768,-32768,-32768, -20,-32768, -31,-32768, |
552 |
-32768, 29, 0,-32768,-32768, 7, 10, 14, 39,-32768, |
-32768,-32768, 35, 0,-32768,-32768, 12, 15, 16, 46, |
553 |
-32768,-32768,-32768,-32768,-32768, 39,-32768, 18,-32768, 15, |
-32768,-32768,-32768,-32768,-32768,-32768, 46,-32768, 20,-32768, |
554 |
-32768,-32768,-32768, 16, -24, -24, 0,-32768,-32768,-32768, |
17,-32768,-32768,-32768, 21, -24, -24, 0, 14,-32768, |
555 |
-32768,-32768,-32768,-32768, 39, 39, 39,-32768, 39,-32768, |
-32768,-32768,-32768,-32768,-32768,-32768, 46, 46, 46,-32768, |
556 |
17, 19, 8,-32768,-32768,-32768,-32768,-32768, 0,-32768, |
46,-32768, 26, 18, 9,-32768,-32768,-32768,-32768,-32768, |
557 |
4,-32768, -24, -24, 0,-32768,-32768,-32768,-32768,-32768, |
0,-32768, 5,-32768, -24, -24, 0,-32768, 0,-32768, |
558 |
-32768,-32768, 20,-32768,-32768, 0, 45,-32768,-32768,-32768, |
-32768,-32768,-32768,-32768,-32768, 23,-32768,-32768, 0, 52, |
559 |
-32768,-32768,-32768, -22, -2,-32768,-32768, 0,-32768,-32768, |
-32768,-32768,-32768, 0,-32768,-32768,-32768, 6, -2,-32768, |
560 |
-32768, -2,-32768 |
-32768, 0,-32768,-32768,-32768, -2,-32768 |
561 |
}; |
}; |
562 |
|
|
563 |
/* YYPGOTO[NTERM-NUM]. */ |
/* YYPGOTO[NTERM-NUM]. */ |
564 |
static const short yypgoto[] = |
static const short yypgoto[] = |
565 |
{ |
{ |
566 |
-32768,-32768,-32768,-32768, 47,-32768,-32768,-32768,-32768,-32768, |
-32768,-32768,-32768,-32768, 61,-32768,-32768,-32768,-32768,-32768, |
567 |
-32768, -4, -23, 25,-32768, 9,-32768,-32768,-32768, -21, |
-32768,-32768, -55, -22, 28,-32768, 13,-32768,-32768,-32768, |
568 |
-12,-32768, -55, 11,-32768,-32768 |
-21, -13,-32768, -56, 11,-32768,-32768 |
569 |
}; |
}; |
570 |
|
|
571 |
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
573 |
number is the opposite. If zero, do what YYDEFACT says. */ |
number is the opposite. If zero, do what YYDEFACT says. */ |
574 |
static const short yytable[] = |
static const short yytable[] = |
575 |
{ |
{ |
576 |
42, 39, 40, 39, 40, 77, 59, 39, 37, 76, |
44, 41, 42, 41, 42, 78, 80, 61, 41, 39, |
577 |
85, 60, 86, 87, 4, 5, 6, 7, 8, 9, |
79, 37, 62, 83, 91, 4, 5, 6, 7, 8, |
578 |
10, 82, 12, 3, 4, 5, 6, 7, 8, 9, |
9, 10, 11, 86, 13, 3, 4, 5, 6, 7, |
579 |
10, 36, 12, 41, 38, 41, 49, 88, 44, 78, |
8, 9, 10, 11, 43, 13, 43, 51, 92, 89, |
580 |
78, 45, 47, 50, 72, 46, 57, 55, 39, 30, |
40, 90, 81, 81, 46, 52, 75, 47, 48, 49, |
581 |
70, 71, 79, 50, 75, 66, 67, 68, 81, 69, |
57, 74, 59, 82, 68, 41, 52, 69, 70, 71, |
582 |
63, 73, 0, 79, 0, 91, 0, 0, 0, 0, |
73, 72, 85, 31, 65, 82, 0, 76, 0, 95, |
583 |
0, 0, 89, 0, 0, 92, 0, 0, 0, 89, |
82, 0, 0, 0, 0, 93, 0, 0, 96, 0, |
584 |
4, 5, 6, 7, 8, 9, 10, 11, 12, 0, |
0, 0, 93, 4, 5, 6, 7, 8, 9, 10, |
585 |
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, |
11, 12, 13, 0, 14, 15, 16, 17, 18, 19, |
586 |
23, 24, 25, 26, 0, 0, 0, 0, 0, 0, |
20, 21, 22, 23, 24, 25, 26, 27, 0, 0, |
587 |
27, 28 |
0, 0, 0, 0, 28, 29 |
588 |
}; |
}; |
589 |
|
|
590 |
static const short yycheck[] = |
static const short yycheck[] = |
591 |
{ |
{ |
592 |
12, 3, 4, 3, 4, 60, 30, 3, 39, 5, |
13, 3, 4, 3, 4, 60, 62, 31, 3, 40, |
593 |
32, 35, 34, 15, 6, 7, 8, 9, 10, 11, |
5, 31, 36, 68, 16, 6, 7, 8, 9, 10, |
594 |
12, 76, 14, 0, 6, 7, 8, 9, 10, 11, |
11, 12, 13, 79, 15, 0, 6, 7, 8, 9, |
595 |
12, 30, 14, 35, 5, 35, 25, 39, 31, 62, |
10, 11, 12, 13, 36, 15, 36, 26, 40, 33, |
596 |
63, 31, 3, 35, 36, 31, 30, 32, 3, 2, |
5, 35, 64, 65, 32, 36, 37, 32, 32, 3, |
597 |
33, 32, 64, 35, 58, 44, 45, 46, 38, 48, |
33, 33, 31, 66, 40, 3, 36, 46, 47, 48, |
598 |
35, 52, -1, 75, -1, 86, -1, -1, -1, -1, |
34, 50, 39, 2, 36, 78, -1, 54, -1, 90, |
599 |
-1, -1, 84, -1, -1, 87, -1, -1, -1, 91, |
83, -1, -1, -1, -1, 88, -1, -1, 91, -1, |
600 |
6, 7, 8, 9, 10, 11, 12, 13, 14, -1, |
-1, -1, 95, 6, 7, 8, 9, 10, 11, 12, |
601 |
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, |
13, 14, 15, -1, 17, 18, 19, 20, 21, 22, |
602 |
26, 27, 28, 29, -1, -1, -1, -1, -1, -1, |
23, 24, 25, 26, 27, 28, 29, 30, -1, -1, |
603 |
36, 37 |
-1, -1, -1, -1, 37, 38 |
604 |
}; |
}; |
605 |
|
|
606 |
#if YYDEBUG |
#if YYDEBUG |
608 |
symbol of state STATE-NUM. */ |
symbol of state STATE-NUM. */ |
609 |
static const unsigned char yystos[] = |
static const unsigned char yystos[] = |
610 |
{ |
{ |
611 |
0, 41, 42, 0, 6, 7, 8, 9, 10, 11, |
0, 42, 43, 0, 6, 7, 8, 9, 10, 11, |
612 |
12, 13, 14, 16, 17, 18, 19, 20, 21, 22, |
12, 13, 14, 15, 17, 18, 19, 20, 21, 22, |
613 |
23, 24, 25, 26, 27, 28, 29, 36, 37, 43, |
23, 24, 25, 26, 27, 28, 29, 30, 37, 38, |
614 |
44, 45, 48, 49, 47, 46, 30, 39, 5, 3, |
44, 45, 47, 50, 51, 49, 48, 31, 46, 40, |
615 |
4, 35, 60, 62, 31, 31, 31, 3, 63, 63, |
5, 3, 4, 36, 62, 64, 32, 32, 32, 3, |
616 |
35, 44, 54, 55, 56, 32, 65, 30, 50, 30, |
65, 65, 36, 45, 56, 57, 58, 33, 67, 31, |
617 |
35, 52, 53, 53, 51, 60, 63, 63, 63, 63, |
52, 31, 36, 54, 55, 55, 53, 62, 40, 65, |
618 |
33, 32, 36, 55, 64, 51, 5, 62, 52, 60, |
65, 65, 65, 34, 33, 37, 57, 66, 53, 5, |
619 |
57, 38, 62, 58, 59, 32, 34, 15, 39, 60, |
64, 54, 62, 53, 59, 39, 64, 60, 61, 33, |
620 |
61, 59, 60 |
35, 16, 40, 62, 63, 61, 62 |
621 |
}; |
}; |
622 |
#endif |
#endif |
623 |
|
|
1187 |
switch (yyn) |
switch (yyn) |
1188 |
{ |
{ |
1189 |
case 2: |
case 2: |
1190 |
#line 154 "parse-gram.y" |
#line 156 "parse-gram.y" |
1191 |
{ |
{ |
1192 |
yycontrol->errcode = 0; |
yycontrol->errcode = 0; |
1193 |
epilogue_set (yyvsp[0].string, yylsp[0]); |
epilogue_set (yyvsp[0].string, yylsp[0]); |
1195 |
break; |
break; |
1196 |
|
|
1197 |
case 6: |
case 6: |
1198 |
#line 172 "parse-gram.y" |
#line 174 "parse-gram.y" |
1199 |
{ prologue_augment (yyvsp[0].string, yylsp[0]); } |
{ prologue_augment (yyvsp[0].string, yylsp[0]); } |
1200 |
break; |
break; |
1201 |
|
|
1202 |
case 7: |
case 7: |
1203 |
#line 173 "parse-gram.y" |
#line 175 "parse-gram.y" |
1204 |
{ debug_flag = 1; } |
{ debug_flag = 1; } |
1205 |
break; |
break; |
1206 |
|
|
1207 |
case 8: |
case 8: |
1208 |
#line 174 "parse-gram.y" |
#line 176 "parse-gram.y" |
1209 |
{ muscle_insert (yyvsp[-1].string, yyvsp[0].string); } |
{ muscle_insert (yyvsp[-1].string, yyvsp[0].string); } |
1210 |
break; |
break; |
1211 |
|
|
1212 |
case 9: |
case 9: |
1213 |
#line 175 "parse-gram.y" |
#line 177 "parse-gram.y" |
1214 |
{ defines_flag = 1; } |
{ defines_flag = 1; } |
1215 |
break; |
break; |
1216 |
|
|
1217 |
case 10: |
case 10: |
1218 |
#line 176 "parse-gram.y" |
#line 178 "parse-gram.y" |
1219 |
{ error_verbose = 1; } |
{ error_verbose = 1; } |
1220 |
break; |
break; |
1221 |
|
|
1222 |
case 11: |
case 11: |
1223 |
#line 177 "parse-gram.y" |
#line 179 "parse-gram.y" |
1224 |
{ expected_conflicts = yyvsp[0].integer; } |
{ expected_conflicts = yyvsp[0].integer; } |
1225 |
break; |
break; |
1226 |
|
|
1227 |
case 12: |
case 12: |
1228 |
#line 178 "parse-gram.y" |
#line 180 "parse-gram.y" |
1229 |
{ spec_file_prefix = yyvsp[0].string; } |
{ spec_file_prefix = yyvsp[0].string; } |
1230 |
break; |
break; |
1231 |
|
|
1232 |
case 13: |
case 13: |
1233 |
#line 179 "parse-gram.y" |
#line 181 "parse-gram.y" |
1234 |
{ locations_flag = 1; } |
{ locations_flag = 1; } |
1235 |
break; |
break; |
1236 |
|
|
1237 |
case 14: |
case 14: |
1238 |
#line 180 "parse-gram.y" |
#line 182 "parse-gram.y" |
1239 |
{ spec_name_prefix = yyvsp[0].string; } |
{ spec_name_prefix = yyvsp[0].string; } |
1240 |
break; |
break; |
1241 |
|
|
1242 |
case 15: |
case 15: |
1243 |
#line 181 "parse-gram.y" |
#line 183 "parse-gram.y" |
1244 |
{ no_lines_flag = 1; } |
{ no_lines_flag = 1; } |
1245 |
break; |
break; |
1246 |
|
|
1247 |
case 16: |
case 16: |
1248 |
#line 182 "parse-gram.y" |
#line 184 "parse-gram.y" |
1249 |
{ spec_outfile = yyvsp[0].string; } |
{ spec_outfile = yyvsp[0].string; } |
1250 |
break; |
break; |
1251 |
|
|
1252 |
case 17: |
case 17: |
1253 |
#line 183 "parse-gram.y" |
#line 185 "parse-gram.y" |
1254 |
{ pure_parser = 1; } |
{ pure_parser = 1; } |
1255 |
break; |
break; |
1256 |
|
|
1257 |
case 18: |
case 18: |
1258 |
#line 184 "parse-gram.y" |
#line 186 "parse-gram.y" |
1259 |
{ skeleton = yyvsp[0].string; } |
{ skeleton = yyvsp[0].string; } |
1260 |
break; |
break; |
1261 |
|
|
1262 |
case 19: |
case 19: |
1263 |
#line 185 "parse-gram.y" |
#line 187 "parse-gram.y" |
1264 |
{ token_table_flag = 1; } |
{ token_table_flag = 1; } |
1265 |
break; |
break; |
1266 |
|
|
1267 |
case 20: |
case 20: |
1268 |
#line 186 "parse-gram.y" |
#line 188 "parse-gram.y" |
1269 |
{ report_flag = 1; } |
{ report_flag = 1; } |
1270 |
break; |
break; |
1271 |
|
|
1272 |
case 21: |
case 21: |
1273 |
#line 187 "parse-gram.y" |
#line 189 "parse-gram.y" |
1274 |
{ yacc_flag = 1; } |
{ yacc_flag = 1; } |
1275 |
break; |
break; |
1276 |
|
|
1277 |
case 24: |
case 24: |
1278 |
#line 194 "parse-gram.y" |
#line 196 "parse-gram.y" |
1279 |
{ |
{ |
1280 |
grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]); |
grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]); |
1281 |
} |
} |
1282 |
break; |
break; |
1283 |
|
|
1284 |
case 25: |
case 25: |
1285 |
#line 198 "parse-gram.y" |
#line 200 "parse-gram.y" |
1286 |
{ |
{ |
1287 |
typed = 1; |
typed = 1; |
1288 |
MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line); |
MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line); |
1292 |
|
|
1293 |
case 26: |
case 26: |
1294 |
#line 206 "parse-gram.y" |
#line 206 "parse-gram.y" |
1295 |
{ current_class = nterm_sym; } |
{ current_braced_code = destructor_braced_code; } |
1296 |
break; |
break; |
1297 |
|
|
1298 |
case 27: |
case 27: |
1299 |
#line 207 "parse-gram.y" |
#line 208 "parse-gram.y" |
1300 |
{ |
{ |
1301 |
current_class = unknown_sym; |
symbol_list_t *list; |
1302 |
current_type = NULL; |
for (list = yyvsp[0].list; list; list = list->next) |
1303 |
|
symbol_destructor_set (list->sym, list->location, yyvsp[-1].string); |
1304 |
|
symbol_list_free (yyvsp[0].list); |
1305 |
|
current_braced_code = action_braced_code; |
1306 |
} |
} |
1307 |
break; |
break; |
1308 |
|
|
1309 |
case 28: |
case 28: |
1310 |
#line 211 "parse-gram.y" |
#line 218 "parse-gram.y" |
1311 |
{ current_class = token_sym; } |
{ current_class = nterm_sym; } |
1312 |
break; |
break; |
1313 |
|
|
1314 |
case 29: |
case 29: |
1315 |
#line 212 "parse-gram.y" |
#line 219 "parse-gram.y" |
1316 |
{ |
{ |
1317 |
current_class = unknown_sym; |
current_class = unknown_sym; |
1318 |
current_type = NULL; |
current_type = NULL; |
1320 |
break; |
break; |
1321 |
|
|
1322 |
case 30: |
case 30: |
1323 |
#line 217 "parse-gram.y" |
#line 223 "parse-gram.y" |
1324 |
|
{ current_class = token_sym; } |
1325 |
|
break; |
1326 |
|
|
1327 |
|
case 31: |
1328 |
|
#line 224 "parse-gram.y" |
1329 |
|
{ |
1330 |
|
current_class = unknown_sym; |
1331 |
|
current_type = NULL; |
1332 |
|
} |
1333 |
|
break; |
1334 |
|
|
1335 |
|
case 32: |
1336 |
|
#line 229 "parse-gram.y" |
1337 |
{ |
{ |
1338 |
symbol_list_t *list; |
symbol_list_t *list; |
1339 |
for (list = yyvsp[0].list; list; list = list->next) |
for (list = yyvsp[0].list; list; list = list->next) |
1342 |
} |
} |
1343 |
break; |
break; |
1344 |
|
|
1345 |
case 31: |
case 33: |
1346 |
#line 227 "parse-gram.y" |
#line 239 "parse-gram.y" |
1347 |
{ |
{ |
1348 |
symbol_list_t *list; |
symbol_list_t *list; |
1349 |
++current_prec; |
++current_prec; |
1357 |
} |
} |
1358 |
break; |
break; |
1359 |
|
|
1360 |
case 32: |
case 34: |
1361 |
#line 241 "parse-gram.y" |
#line 253 "parse-gram.y" |
1362 |
{ yyval.assoc = left_assoc; } |
{ yyval.assoc = left_assoc; } |
1363 |
break; |
break; |
1364 |
|
|
1365 |
case 33: |
case 35: |
1366 |
#line 242 "parse-gram.y" |
#line 254 "parse-gram.y" |
1367 |
{ yyval.assoc = right_assoc; } |
{ yyval.assoc = right_assoc; } |
1368 |
break; |
break; |
1369 |
|
|
1370 |
case 34: |
case 36: |
1371 |
#line 243 "parse-gram.y" |
#line 255 "parse-gram.y" |
1372 |
{ yyval.assoc = non_assoc; } |
{ yyval.assoc = non_assoc; } |
1373 |
break; |
break; |
1374 |
|
|
1375 |
case 35: |
case 37: |
1376 |
#line 247 "parse-gram.y" |
#line 259 "parse-gram.y" |
1377 |
{ current_type = NULL;} |
{ current_type = NULL;} |
1378 |
break; |
break; |
1379 |
|
|
1380 |
case 36: |
case 38: |
1381 |
#line 248 "parse-gram.y" |
#line 260 "parse-gram.y" |
1382 |
{ current_type = yyvsp[0].string; } |
{ current_type = yyvsp[0].string; } |
1383 |
break; |
break; |
1384 |
|
|
1385 |
case 37: |
case 39: |
1386 |
#line 254 "parse-gram.y" |
#line 266 "parse-gram.y" |
1387 |
{ yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); } |
{ yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); } |
1388 |
break; |
break; |
1389 |
|
|
1390 |
case 38: |
case 40: |
1391 |
#line 255 "parse-gram.y" |
#line 267 "parse-gram.y" |
1392 |
{ yyval.list = symbol_list_prepend (yyvsp[-1].list, yyvsp[0].symbol, yylsp[0]); } |
{ yyval.list = symbol_list_prepend (yyvsp[-1].list, yyvsp[0].symbol, yylsp[0]); } |
1393 |
break; |
break; |
1394 |
|
|
1395 |
case 39: |
case 41: |
1396 |
#line 261 "parse-gram.y" |
#line 273 "parse-gram.y" |
1397 |
{ |
{ |
1398 |
current_type = yyvsp[0].string; |
current_type = yyvsp[0].string; |
1399 |
} |
} |
1400 |
break; |
break; |
1401 |
|
|
1402 |
case 40: |
case 42: |
1403 |
#line 265 "parse-gram.y" |
#line 277 "parse-gram.y" |
1404 |
{ |
{ |
1405 |
symbol_class_set (yyvsp[0].symbol, current_class); |
symbol_class_set (yyvsp[0].symbol, current_class); |
1406 |
symbol_type_set (yyvsp[0].symbol, yylsp[0], current_type); |
symbol_type_set (yyvsp[0].symbol, yylsp[0], current_type); |
1407 |
} |
} |
1408 |
break; |
break; |
1409 |
|
|
1410 |
case 41: |
case 43: |
1411 |
#line 270 "parse-gram.y" |
#line 282 "parse-gram.y" |
1412 |
{ |
{ |
1413 |
symbol_class_set (yyvsp[-1].symbol, current_class); |
symbol_class_set (yyvsp[-1].symbol, current_class); |
1414 |
symbol_type_set (yyvsp[-1].symbol, yylsp[-1], current_type); |
symbol_type_set (yyvsp[-1].symbol, yylsp[-1], current_type); |
1416 |
} |
} |
1417 |
break; |
break; |
1418 |
|
|
1419 |
case 42: |
case 44: |
1420 |
#line 276 "parse-gram.y" |
#line 288 "parse-gram.y" |
1421 |
{ |
{ |
1422 |
symbol_class_set (yyvsp[-1].symbol, current_class); |
symbol_class_set (yyvsp[-1].symbol, current_class); |
1423 |
symbol_type_set (yyvsp[-1].symbol, yylsp[-1], current_type); |
symbol_type_set (yyvsp[-1].symbol, yylsp[-1], current_type); |
1425 |
} |
} |
1426 |
break; |
break; |
1427 |
|
|
1428 |
case 43: |
case 45: |
1429 |
#line 282 "parse-gram.y" |
#line 294 "parse-gram.y" |
1430 |
{ |
{ |
1431 |
symbol_class_set (yyvsp[-2].symbol, current_class); |
symbol_class_set (yyvsp[-2].symbol, current_class); |
1432 |
symbol_type_set (yyvsp[-2].symbol, yylsp[-2], current_type); |
symbol_type_set (yyvsp[-2].symbol, yylsp[-2], current_type); |
1435 |
} |
} |
1436 |
break; |
break; |
1437 |
|
|
1438 |
case 44: |
case 46: |
1439 |
#line 293 "parse-gram.y" |
#line 305 "parse-gram.y" |
1440 |
{;} |
{;} |
1441 |
break; |
break; |
1442 |
|
|
1443 |
case 45: |
case 47: |
1444 |
#line 295 "parse-gram.y" |
#line 307 "parse-gram.y" |
1445 |
{;} |
{;} |
1446 |
break; |
break; |
1447 |
|
|
1448 |
case 50: |
case 52: |
1449 |
#line 317 "parse-gram.y" |
#line 329 "parse-gram.y" |
1450 |
{ current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; } |
{ current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; } |
1451 |
break; |
break; |
1452 |
|
|
1453 |
case 51: |
case 53: |
1454 |
#line 318 "parse-gram.y" |
#line 330 "parse-gram.y" |
1455 |
{;} |
{;} |
1456 |
break; |
break; |
1457 |
|
|
1458 |
case 52: |
case 54: |
1459 |
#line 322 "parse-gram.y" |
#line 334 "parse-gram.y" |
1460 |
{ grammar_rule_end (yylsp[0]); } |
{ grammar_rule_end (yylsp[0]); } |
1461 |
break; |
break; |
1462 |
|
|
1463 |
case 53: |
case 55: |
1464 |
#line 323 "parse-gram.y" |
#line 335 "parse-gram.y" |
1465 |
{ grammar_rule_end (yylsp[0]); } |
{ grammar_rule_end (yylsp[0]); } |
1466 |
break; |
break; |
1467 |
|
|
1468 |
case 54: |
case 56: |
1469 |
#line 328 "parse-gram.y" |
#line 340 "parse-gram.y" |
1470 |
{ grammar_rule_begin (current_lhs, current_lhs_location); } |
{ grammar_rule_begin (current_lhs, current_lhs_location); } |
1471 |
break; |
break; |
1472 |
|
|
1473 |
case 55: |
case 57: |
1474 |
#line 330 "parse-gram.y" |
#line 342 "parse-gram.y" |
1475 |
{ grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); } |
{ grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); } |
1476 |
break; |
break; |
1477 |
|
|
1478 |
case 56: |
case 58: |
1479 |
#line 332 "parse-gram.y" |
#line 344 "parse-gram.y" |
1480 |
{ grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); } |
{ grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); } |
1481 |
break; |
break; |
1482 |
|
|
1483 |
case 57: |
case 59: |
1484 |
#line 334 "parse-gram.y" |
#line 346 "parse-gram.y" |
1485 |
{ grammar_current_rule_prec_set (yyvsp[0].symbol); } |
{ grammar_current_rule_prec_set (yyvsp[0].symbol); } |
1486 |
break; |
break; |
1487 |
|
|
1488 |
case 58: |
case 60: |
1489 |
#line 338 "parse-gram.y" |
#line 350 "parse-gram.y" |
1490 |
{ yyval.symbol = yyvsp[0].symbol; } |
{ yyval.symbol = yyvsp[0].symbol; } |
1491 |
break; |
break; |
1492 |
|
|
1493 |
case 59: |
case 61: |
1494 |
#line 339 "parse-gram.y" |
#line 351 "parse-gram.y" |
1495 |
{ yyval.symbol = yyvsp[0].symbol; } |
{ yyval.symbol = yyvsp[0].symbol; } |
1496 |
break; |
break; |
1497 |
|
|
1498 |
case 60: |
case 62: |
1499 |
#line 340 "parse-gram.y" |
#line 352 "parse-gram.y" |
1500 |
{ yyval.symbol = getsym (yyvsp[0].string, yylsp[0]); } |
{ yyval.symbol = getsym (yyvsp[0].string, yylsp[0]); } |
1501 |
break; |
break; |
1502 |
|
|
1503 |
case 61: |
case 63: |
1504 |
#line 345 "parse-gram.y" |
#line 357 "parse-gram.y" |
1505 |
{ yyval.string = yyvsp[0].string; } |
{ yyval.string = yyvsp[0].string; } |
1506 |
break; |
break; |
1507 |
|
|
1508 |
case 62: |
case 64: |
1509 |
#line 351 "parse-gram.y" |
#line 363 "parse-gram.y" |
1510 |
{ |
{ |
1511 |
yyval.symbol = getsym (yyvsp[0].string, yylsp[0]); |
yyval.symbol = getsym (yyvsp[0].string, yylsp[0]); |
1512 |
symbol_class_set (yyval.symbol, token_sym); |
symbol_class_set (yyval.symbol, token_sym); |
1513 |
} |
} |
1514 |
break; |
break; |
1515 |
|
|
1516 |
case 63: |
case 65: |
1517 |
#line 360 "parse-gram.y" |
#line 372 "parse-gram.y" |
1518 |
{ |
{ |
1519 |
yyval.string = yyvsp[0].string + 1; |
yyval.string = yyvsp[0].string + 1; |
1520 |
yyval.string[strlen (yyval.string) - 1] = '\0'; |
yyval.string[strlen (yyval.string) - 1] = '\0'; |
1521 |
} |
} |
1522 |
break; |
break; |
1523 |
|
|
1524 |
case 64: |
case 66: |
1525 |
#line 368 "parse-gram.y" |
#line 380 "parse-gram.y" |
1526 |
{ |
{ |
1527 |
yyval.string = xstrdup (""); |
yyval.string = xstrdup (""); |
1528 |
} |
} |
1529 |
break; |
break; |
1530 |
|
|
1531 |
case 65: |
case 67: |
1532 |
#line 372 "parse-gram.y" |
#line 384 "parse-gram.y" |
1533 |
{ |
{ |
1534 |
yyval.string = yyvsp[0].string; |
yyval.string = yyvsp[0].string; |
1535 |
} |
} |
1539 |
} |
} |
1540 |
|
|
1541 |
/* Line 1012 of /usr/local/share/bison/bison.simple. */ |
/* Line 1012 of /usr/local/share/bison/bison.simple. */ |
1542 |
#line 1524 "parse-gram.c" |
#line 1543 "parse-gram.c" |
1543 |
|
|
1544 |
yyvsp -= yylen; |
yyvsp -= yylen; |
1545 |
yyssp -= yylen; |
yyssp -= yylen; |
1760 |
return yyresult; |
return yyresult; |
1761 |
} |
} |
1762 |
|
|
1763 |
#line 381 "parse-gram.y" |
#line 393 "parse-gram.y" |
1764 |
|
|
1765 |
/*------------------------------------------------------------------. |
/*------------------------------------------------------------------. |
1766 |
| When debugging the parser, display tokens' locations and values. | |
| When debugging the parser, display tokens' locations and values. | |