1 |
/* A Bison parser, made by GNU Bison 1.875b. */ |
/* A Bison parser, made by GNU Bison 1.875c. */ |
2 |
|
|
3 |
/* Skeleton parser for Yacc-like parsing with Bison, |
/* Skeleton parser for Yacc-like parsing with Bison, |
4 |
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. |
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. |
84 |
PERCENT_EXPECT = 276, |
PERCENT_EXPECT = 276, |
85 |
PERCENT_FILE_PREFIX = 277, |
PERCENT_FILE_PREFIX = 277, |
86 |
PERCENT_GLR_PARSER = 278, |
PERCENT_GLR_PARSER = 278, |
87 |
PERCENT_LEX_PARAM = 279, |
PERCENT_INITIAL_ACTION = 279, |
88 |
PERCENT_LOCATIONS = 280, |
PERCENT_LEX_PARAM = 280, |
89 |
PERCENT_NAME_PREFIX = 281, |
PERCENT_LOCATIONS = 281, |
90 |
PERCENT_NO_LINES = 282, |
PERCENT_NAME_PREFIX = 282, |
91 |
PERCENT_NONDETERMINISTIC_PARSER = 283, |
PERCENT_NO_LINES = 283, |
92 |
PERCENT_OUTPUT = 284, |
PERCENT_NONDETERMINISTIC_PARSER = 284, |
93 |
PERCENT_PARSE_PARAM = 285, |
PERCENT_OUTPUT = 285, |
94 |
PERCENT_PURE_PARSER = 286, |
PERCENT_PARSE_PARAM = 286, |
95 |
PERCENT_SKELETON = 287, |
PERCENT_PURE_PARSER = 287, |
96 |
PERCENT_START = 288, |
PERCENT_SKELETON = 288, |
97 |
PERCENT_TOKEN_TABLE = 289, |
PERCENT_START = 289, |
98 |
PERCENT_VERBOSE = 290, |
PERCENT_TOKEN_TABLE = 290, |
99 |
PERCENT_YACC = 291, |
PERCENT_VERBOSE = 291, |
100 |
TYPE = 292, |
PERCENT_YACC = 292, |
101 |
EQUAL = 293, |
TYPE = 293, |
102 |
SEMICOLON = 294, |
EQUAL = 294, |
103 |
PIPE = 295, |
SEMICOLON = 295, |
104 |
ID = 296, |
PIPE = 296, |
105 |
ID_COLON = 297, |
ID = 297, |
106 |
PERCENT_PERCENT = 298, |
ID_COLON = 298, |
107 |
PROLOGUE = 299, |
PERCENT_PERCENT = 299, |
108 |
EPILOGUE = 300, |
PROLOGUE = 300, |
109 |
BRACED_CODE = 301 |
EPILOGUE = 301, |
110 |
|
BRACED_CODE = 302 |
111 |
}; |
}; |
112 |
#endif |
#endif |
113 |
#define GRAM_EOF 0 |
#define GRAM_EOF 0 |
132 |
#define PERCENT_EXPECT 276 |
#define PERCENT_EXPECT 276 |
133 |
#define PERCENT_FILE_PREFIX 277 |
#define PERCENT_FILE_PREFIX 277 |
134 |
#define PERCENT_GLR_PARSER 278 |
#define PERCENT_GLR_PARSER 278 |
135 |
#define PERCENT_LEX_PARAM 279 |
#define PERCENT_INITIAL_ACTION 279 |
136 |
#define PERCENT_LOCATIONS 280 |
#define PERCENT_LEX_PARAM 280 |
137 |
#define PERCENT_NAME_PREFIX 281 |
#define PERCENT_LOCATIONS 281 |
138 |
#define PERCENT_NO_LINES 282 |
#define PERCENT_NAME_PREFIX 282 |
139 |
#define PERCENT_NONDETERMINISTIC_PARSER 283 |
#define PERCENT_NO_LINES 283 |
140 |
#define PERCENT_OUTPUT 284 |
#define PERCENT_NONDETERMINISTIC_PARSER 284 |
141 |
#define PERCENT_PARSE_PARAM 285 |
#define PERCENT_OUTPUT 285 |
142 |
#define PERCENT_PURE_PARSER 286 |
#define PERCENT_PARSE_PARAM 286 |
143 |
#define PERCENT_SKELETON 287 |
#define PERCENT_PURE_PARSER 287 |
144 |
#define PERCENT_START 288 |
#define PERCENT_SKELETON 288 |
145 |
#define PERCENT_TOKEN_TABLE 289 |
#define PERCENT_START 289 |
146 |
#define PERCENT_VERBOSE 290 |
#define PERCENT_TOKEN_TABLE 290 |
147 |
#define PERCENT_YACC 291 |
#define PERCENT_VERBOSE 291 |
148 |
#define TYPE 292 |
#define PERCENT_YACC 292 |
149 |
#define EQUAL 293 |
#define TYPE 293 |
150 |
#define SEMICOLON 294 |
#define EQUAL 294 |
151 |
#define PIPE 295 |
#define SEMICOLON 295 |
152 |
#define ID 296 |
#define PIPE 296 |
153 |
#define ID_COLON 297 |
#define ID 297 |
154 |
#define PERCENT_PERCENT 298 |
#define ID_COLON 298 |
155 |
#define PROLOGUE 299 |
#define PERCENT_PERCENT 299 |
156 |
#define EPILOGUE 300 |
#define PROLOGUE 300 |
157 |
#define BRACED_CODE 301 |
#define EPILOGUE 301 |
158 |
|
#define BRACED_CODE 302 |
159 |
|
|
160 |
|
|
161 |
|
|
175 |
#include "reader.h" |
#include "reader.h" |
176 |
#include "symlist.h" |
#include "symlist.h" |
177 |
|
|
|
/* Produce verbose syntax errors. */ |
|
|
#define YYERROR_VERBOSE 1 |
|
|
|
|
178 |
#define YYLLOC_DEFAULT(Current, Rhs, N) (Current) = lloc_default (Rhs, N) |
#define YYLLOC_DEFAULT(Current, Rhs, N) (Current) = lloc_default (Rhs, N) |
179 |
static YYLTYPE lloc_default (YYLTYPE const *, int); |
static YYLTYPE lloc_default (YYLTYPE const *, int); |
180 |
|
|
209 |
# undef YYERROR_VERBOSE |
# undef YYERROR_VERBOSE |
210 |
# define YYERROR_VERBOSE 1 |
# define YYERROR_VERBOSE 1 |
211 |
#else |
#else |
212 |
# define YYERROR_VERBOSE 0 |
# define YYERROR_VERBOSE 1 |
213 |
#endif |
#endif |
214 |
|
|
215 |
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) |
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) |
216 |
#line 75 "parse-gram.y" |
#line 80 "parse-gram.y" |
217 |
typedef union YYSTYPE { |
typedef union YYSTYPE { |
218 |
symbol *symbol; |
symbol *symbol; |
219 |
symbol_list *list; |
symbol_list *list; |
223 |
uniqstr uniqstr; |
uniqstr uniqstr; |
224 |
} YYSTYPE; |
} YYSTYPE; |
225 |
/* Line 191 of yacc.c. */ |
/* Line 191 of yacc.c. */ |
226 |
#line 228 "parse-gram.c" |
#line 227 "parse-gram.c" |
227 |
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
228 |
# define YYSTYPE_IS_DECLARED 1 |
# define YYSTYPE_IS_DECLARED 1 |
229 |
# define YYSTYPE_IS_TRIVIAL 1 |
# define YYSTYPE_IS_TRIVIAL 1 |
247 |
|
|
248 |
|
|
249 |
/* Line 214 of yacc.c. */ |
/* Line 214 of yacc.c. */ |
250 |
#line 252 "parse-gram.c" |
#line 251 "parse-gram.c" |
251 |
|
|
252 |
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
253 |
|
|
254 |
|
# ifndef YYFREE |
255 |
|
# define YYFREE free |
256 |
|
# endif |
257 |
|
# ifndef YYMALLOC |
258 |
|
# define YYMALLOC malloc |
259 |
|
# endif |
260 |
|
|
261 |
/* The parser invokes alloca or malloc; define the necessary symbols. */ |
/* The parser invokes alloca or malloc; define the necessary symbols. */ |
262 |
|
|
263 |
# ifdef YYSTACK_USE_ALLOCA |
# ifdef YYSTACK_USE_ALLOCA |
282 |
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
283 |
# define YYSIZE_T size_t |
# define YYSIZE_T size_t |
284 |
# endif |
# endif |
285 |
# define YYSTACK_ALLOC malloc |
# define YYSTACK_ALLOC YYMALLOC |
286 |
# define YYSTACK_FREE free |
# define YYSTACK_FREE YYFREE |
287 |
# endif |
# endif |
288 |
#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ |
#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ |
289 |
|
|
355 |
/* YYFINAL -- State number of the termination state. */ |
/* YYFINAL -- State number of the termination state. */ |
356 |
#define YYFINAL 3 |
#define YYFINAL 3 |
357 |
/* YYLAST -- Last index in YYTABLE. */ |
/* YYLAST -- Last index in YYTABLE. */ |
358 |
#define YYLAST 148 |
#define YYLAST 150 |
359 |
|
|
360 |
/* YYNTOKENS -- Number of terminals. */ |
/* YYNTOKENS -- Number of terminals. */ |
361 |
#define YYNTOKENS 47 |
#define YYNTOKENS 48 |
362 |
/* YYNNTS -- Number of nonterminals. */ |
/* YYNNTS -- Number of nonterminals. */ |
363 |
#define YYNNTS 25 |
#define YYNNTS 25 |
364 |
/* YYNRULES -- Number of rules. */ |
/* YYNRULES -- Number of rules. */ |
365 |
#define YYNRULES 75 |
#define YYNRULES 76 |
366 |
/* YYNRULES -- Number of states. */ |
/* YYNRULES -- Number of states. */ |
367 |
#define YYNSTATES 103 |
#define YYNSTATES 104 |
368 |
|
|
369 |
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
370 |
#define YYUNDEFTOK 2 |
#define YYUNDEFTOK 2 |
371 |
#define YYMAXUTOK 301 |
#define YYMAXUTOK 302 |
372 |
|
|
373 |
#define YYTRANSLATE(YYX) \ |
#define YYTRANSLATE(YYX) \ |
374 |
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
406 |
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
407 |
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
408 |
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, |
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, |
409 |
45, 46 |
45, 46, 47 |
410 |
}; |
}; |
411 |
|
|
412 |
#if YYDEBUG |
#if YYDEBUG |
415 |
static const unsigned char yyprhs[] = |
static const unsigned char yyprhs[] = |
416 |
{ |
{ |
417 |
0, 0, 3, 8, 9, 12, 14, 16, 18, 22, |
0, 0, 3, 8, 9, 12, 14, 16, 18, 22, |
418 |
24, 26, 29, 33, 35, 37, 39, 43, 45, 47, |
24, 26, 29, 33, 35, 37, 39, 41, 45, 47, |
419 |
51, 53, 55, 58, 60, 62, 64, 66, 68, 70, |
49, 53, 55, 57, 60, 62, 64, 66, 68, 70, |
420 |
73, 75, 78, 81, 82, 86, 87, 91, 95, 99, |
72, 75, 77, 80, 83, 84, 88, 89, 93, 97, |
421 |
101, 103, 105, 106, 108, 110, 113, 115, 117, 120, |
101, 103, 105, 107, 108, 110, 112, 115, 117, 119, |
422 |
123, 127, 129, 132, 134, 137, 139, 142, 145, 146, |
122, 125, 129, 131, 134, 136, 139, 141, 144, 147, |
423 |
150, 152, 156, 159, 160, 163, 166, 170, 174, 178, |
148, 152, 154, 158, 161, 162, 165, 168, 172, 176, |
424 |
180, 182, 184, 186, 188, 189 |
180, 182, 184, 186, 188, 190, 191 |
425 |
}; |
}; |
426 |
|
|
427 |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
428 |
static const yysigned_char yyrhs[] = |
static const yysigned_char yyrhs[] = |
429 |
{ |
{ |
430 |
48, 0, -1, 49, 43, 61, 71, -1, -1, 49, |
49, 0, -1, 50, 44, 62, 72, -1, -1, 50, |
431 |
50, -1, 51, -1, 44, -1, 17, -1, 18, 70, |
51, -1, 52, -1, 45, -1, 17, -1, 18, 71, |
432 |
70, -1, 19, -1, 20, -1, 21, 4, -1, 22, |
71, -1, 19, -1, 20, -1, 21, 4, -1, 22, |
433 |
38, 70, -1, 23, -1, 24, -1, 25, -1, 26, |
39, 71, -1, 23, -1, 24, -1, 25, -1, 26, |
434 |
38, 70, -1, 27, -1, 28, -1, 29, 38, 70, |
-1, 27, 39, 71, -1, 28, -1, 29, -1, 30, |
435 |
-1, 30, -1, 31, -1, 32, 70, -1, 34, -1, |
39, 71, -1, 31, -1, 32, -1, 33, 71, -1, |
436 |
35, -1, 36, -1, 39, -1, 55, -1, 52, -1, |
35, -1, 36, -1, 37, -1, 40, -1, 56, -1, |
437 |
33, 67, -1, 10, -1, 8, 58, -1, 9, 58, |
53, -1, 34, 68, -1, 10, -1, 8, 59, -1, |
438 |
-1, -1, 6, 53, 60, -1, -1, 5, 54, 60, |
9, 59, -1, -1, 6, 54, 61, -1, -1, 5, |
439 |
-1, 7, 37, 58, -1, 56, 57, 58, -1, 11, |
55, 61, -1, 7, 38, 59, -1, 57, 58, 59, |
440 |
-1, 12, -1, 13, -1, -1, 37, -1, 67, -1, |
-1, 11, -1, 12, -1, 13, -1, -1, 38, -1, |
441 |
58, 67, -1, 37, -1, 41, -1, 41, 4, -1, |
68, -1, 59, 68, -1, 38, -1, 42, -1, 42, |
442 |
41, 69, -1, 41, 4, 69, -1, 59, -1, 60, |
4, -1, 42, 70, -1, 42, 4, 70, -1, 60, |
443 |
59, -1, 62, -1, 61, 62, -1, 63, -1, 51, |
-1, 61, 60, -1, 63, -1, 62, 63, -1, 64, |
444 |
39, -1, 1, 39, -1, -1, 42, 64, 65, -1, |
-1, 52, 40, -1, 1, 40, -1, -1, 43, 65, |
445 |
66, -1, 65, 40, 66, -1, 65, 39, -1, -1, |
66, -1, 67, -1, 66, 41, 67, -1, 66, 40, |
446 |
66, 67, -1, 66, 68, -1, 66, 14, 67, -1, |
-1, -1, 67, 68, -1, 67, 69, -1, 67, 14, |
447 |
66, 15, 4, -1, 66, 16, 37, -1, 41, -1, |
68, -1, 67, 15, 4, -1, 67, 16, 38, -1, |
448 |
69, -1, 46, -1, 3, -1, 3, -1, -1, 43, |
42, -1, 70, -1, 47, -1, 3, -1, 3, -1, |
449 |
45, -1 |
-1, 44, 46, -1 |
450 |
}; |
}; |
451 |
|
|
452 |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
453 |
static const unsigned short yyrline[] = |
static const unsigned short yyrline[] = |
454 |
{ |
{ |
455 |
0, 162, 162, 170, 172, 176, 177, 178, 179, 180, |
0, 170, 170, 178, 180, 184, 185, 186, 187, 188, |
456 |
181, 182, 183, 184, 186, 187, 188, 189, 190, 191, |
189, 190, 191, 192, 197, 201, 202, 203, 204, 205, |
457 |
192, 193, 194, 195, 196, 197, 198, 202, 203, 204, |
206, 207, 208, 209, 210, 211, 212, 213, 217, 218, |
458 |
208, 214, 221, 231, 231, 236, 236, 241, 251, 266, |
219, 223, 229, 236, 246, 246, 251, 251, 256, 266, |
459 |
267, 268, 272, 273, 279, 280, 285, 289, 294, 300, |
281, 282, 283, 287, 288, 294, 295, 300, 304, 309, |
460 |
306, 317, 318, 327, 328, 334, 335, 340, 347, 347, |
315, 321, 332, 333, 342, 343, 349, 350, 355, 362, |
461 |
351, 352, 353, 358, 359, 361, 363, 365, 367, 372, |
362, 366, 367, 368, 373, 374, 376, 378, 380, 382, |
462 |
373, 377, 383, 392, 399, 401 |
387, 388, 392, 398, 407, 414, 416 |
463 |
}; |
}; |
464 |
#endif |
#endif |
465 |
|
|
473 |
"\"%printer {...}\"", "\"%union {...}\"", "\"%left\"", "\"%right\"", |
"\"%printer {...}\"", "\"%union {...}\"", "\"%left\"", "\"%right\"", |
474 |
"\"%nonassoc\"", "\"%prec\"", "\"%dprec\"", "\"%merge\"", "\"%debug\"", |
"\"%nonassoc\"", "\"%prec\"", "\"%dprec\"", "\"%merge\"", "\"%debug\"", |
475 |
"\"%define\"", "\"%defines\"", "\"%error-verbose\"", "\"%expect\"", |
"\"%define\"", "\"%defines\"", "\"%error-verbose\"", "\"%expect\"", |
476 |
"\"%file-prefix\"", "\"%glr-parser\"", "\"%lex-param {...}\"", |
"\"%file-prefix\"", "\"%glr-parser\"", "\"%initial-action {...}\"", |
477 |
"\"%locations\"", "\"%name-prefix\"", "\"%no-lines\"", |
"\"%lex-param {...}\"", "\"%locations\"", "\"%name-prefix\"", |
478 |
"\"%nondeterministic-parser\"", "\"%output\"", "\"%parse-param {...}\"", |
"\"%no-lines\"", "\"%nondeterministic-parser\"", "\"%output\"", |
479 |
"\"%pure-parser\"", "\"%skeleton\"", "\"%start\"", "\"%token-table\"", |
"\"%parse-param {...}\"", "\"%pure-parser\"", "\"%skeleton\"", |
480 |
"\"%verbose\"", "\"%yacc\"", "\"type\"", "\"=\"", "\";\"", "\"|\"", |
"\"%start\"", "\"%token-table\"", "\"%verbose\"", "\"%yacc\"", |
481 |
"\"identifier\"", "\"identifier:\"", "\"%%\"", "\"%{...%}\"", |
"\"type\"", "\"=\"", "\";\"", "\"|\"", "\"identifier\"", |
482 |
"\"epilogue\"", "\"{...}\"", "$accept", "input", "declarations", |
"\"identifier:\"", "\"%%\"", "\"%{...%}\"", "\"epilogue\"", "\"{...}\"", |
483 |
"declaration", "grammar_declaration", "symbol_declaration", "@1", "@2", |
"$accept", "input", "declarations", "declaration", "grammar_declaration", |
484 |
"precedence_declaration", "precedence_declarator", "type.opt", |
"symbol_declaration", "@1", "@2", "precedence_declaration", |
485 |
"symbols.1", "symbol_def", "symbol_defs.1", "grammar", |
"precedence_declarator", "type.opt", "symbols.1", "symbol_def", |
486 |
"rules_or_grammar_declaration", "rules", "@3", "rhses.1", "rhs", |
"symbol_defs.1", "grammar", "rules_or_grammar_declaration", "rules", |
487 |
"symbol", "action", "string_as_id", "string_content", "epilogue.opt", 0 |
"@3", "rhses.1", "rhs", "symbol", "action", "string_as_id", |
488 |
|
"string_content", "epilogue.opt", 0 |
489 |
}; |
}; |
490 |
#endif |
#endif |
491 |
|
|
498 |
265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
499 |
275, 276, 277, 278, 279, 280, 281, 282, 283, 284, |
275, 276, 277, 278, 279, 280, 281, 282, 283, 284, |
500 |
285, 286, 287, 288, 289, 290, 291, 292, 293, 294, |
285, 286, 287, 288, 289, 290, 291, 292, 293, 294, |
501 |
295, 296, 297, 298, 299, 300, 301 |
295, 296, 297, 298, 299, 300, 301, 302 |
502 |
}; |
}; |
503 |
# endif |
# endif |
504 |
|
|
505 |
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
506 |
static const unsigned char yyr1[] = |
static const unsigned char yyr1[] = |
507 |
{ |
{ |
508 |
0, 47, 48, 49, 49, 50, 50, 50, 50, 50, |
0, 48, 49, 50, 50, 51, 51, 51, 51, 51, |
509 |
50, 50, 50, 50, 50, 50, 50, 50, 50, 50, |
51, 51, 51, 51, 51, 51, 51, 51, 51, 51, |
510 |
50, 50, 50, 50, 50, 50, 50, 51, 51, 51, |
51, 51, 51, 51, 51, 51, 51, 51, 52, 52, |
511 |
51, 51, 51, 53, 52, 54, 52, 52, 55, 56, |
52, 52, 52, 52, 54, 53, 55, 53, 53, 56, |
512 |
56, 56, 57, 57, 58, 58, 59, 59, 59, 59, |
57, 57, 57, 58, 58, 59, 59, 60, 60, 60, |
513 |
59, 60, 60, 61, 61, 62, 62, 62, 64, 63, |
60, 60, 61, 61, 62, 62, 63, 63, 63, 65, |
514 |
65, 65, 65, 66, 66, 66, 66, 66, 66, 67, |
64, 66, 66, 66, 67, 67, 67, 67, 67, 67, |
515 |
67, 68, 69, 70, 71, 71 |
68, 68, 69, 70, 71, 72, 72 |
516 |
}; |
}; |
517 |
|
|
518 |
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
519 |
static const unsigned char yyr2[] = |
static const unsigned char yyr2[] = |
520 |
{ |
{ |
521 |
0, 2, 4, 0, 2, 1, 1, 1, 3, 1, |
0, 2, 4, 0, 2, 1, 1, 1, 3, 1, |
522 |
1, 2, 3, 1, 1, 1, 3, 1, 1, 3, |
1, 2, 3, 1, 1, 1, 1, 3, 1, 1, |
523 |
1, 1, 2, 1, 1, 1, 1, 1, 1, 2, |
3, 1, 1, 2, 1, 1, 1, 1, 1, 1, |
524 |
1, 2, 2, 0, 3, 0, 3, 3, 3, 1, |
2, 1, 2, 2, 0, 3, 0, 3, 3, 3, |
525 |
1, 1, 0, 1, 1, 2, 1, 1, 2, 2, |
1, 1, 1, 0, 1, 1, 2, 1, 1, 2, |
526 |
3, 1, 2, 1, 2, 1, 2, 2, 0, 3, |
2, 3, 1, 2, 1, 2, 1, 2, 2, 0, |
527 |
1, 3, 2, 0, 2, 2, 3, 3, 3, 1, |
3, 1, 3, 2, 0, 2, 2, 3, 3, 3, |
528 |
1, 1, 1, 1, 0, 2 |
1, 1, 1, 1, 1, 0, 2 |
529 |
}; |
}; |
530 |
|
|
531 |
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
533 |
means the default is an error. */ |
means the default is an error. */ |
534 |
static const unsigned char yydefact[] = |
static const unsigned char yydefact[] = |
535 |
{ |
{ |
536 |
3, 0, 0, 1, 35, 33, 0, 0, 0, 30, |
3, 0, 0, 1, 36, 34, 0, 0, 0, 31, |
537 |
39, 40, 41, 7, 0, 9, 10, 0, 0, 13, |
40, 41, 42, 7, 0, 9, 10, 0, 0, 13, |
538 |
14, 15, 0, 17, 18, 0, 20, 21, 0, 0, |
14, 15, 16, 0, 18, 19, 0, 21, 22, 0, |
539 |
23, 24, 25, 26, 0, 6, 4, 5, 28, 27, |
0, 24, 25, 26, 27, 0, 6, 4, 5, 29, |
540 |
42, 0, 0, 0, 72, 69, 31, 44, 70, 32, |
28, 43, 0, 0, 0, 73, 70, 32, 45, 71, |
541 |
73, 0, 11, 0, 0, 0, 22, 29, 0, 58, |
33, 74, 0, 11, 0, 0, 0, 23, 30, 0, |
542 |
0, 0, 53, 55, 43, 0, 46, 47, 51, 36, |
59, 0, 0, 54, 56, 44, 0, 47, 48, 52, |
543 |
34, 37, 45, 8, 12, 16, 19, 57, 63, 56, |
37, 35, 38, 46, 8, 12, 17, 20, 58, 64, |
544 |
0, 54, 2, 38, 48, 49, 52, 59, 60, 75, |
57, 0, 55, 2, 39, 49, 50, 53, 60, 61, |
545 |
50, 62, 63, 0, 0, 0, 71, 64, 65, 61, |
76, 51, 63, 64, 0, 0, 0, 72, 65, 66, |
546 |
66, 67, 68 |
62, 67, 68, 69 |
547 |
}; |
}; |
548 |
|
|
549 |
/* YYDEFGOTO[NTERM-NUM]. */ |
/* YYDEFGOTO[NTERM-NUM]. */ |
550 |
static const yysigned_char yydefgoto[] = |
static const yysigned_char yydefgoto[] = |
551 |
{ |
{ |
552 |
-1, 1, 2, 36, 60, 38, 42, 41, 39, 40, |
-1, 1, 2, 37, 61, 39, 43, 42, 40, 41, |
553 |
65, 46, 68, 69, 61, 62, 63, 78, 87, 88, |
66, 47, 69, 70, 62, 63, 64, 79, 88, 89, |
554 |
47, 98, 48, 51, 82 |
48, 99, 49, 52, 83 |
555 |
}; |
}; |
556 |
|
|
557 |
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
559 |
#define YYPACT_NINF -64 |
#define YYPACT_NINF -64 |
560 |
static const yysigned_char yypact[] = |
static const yysigned_char yypact[] = |
561 |
{ |
{ |
562 |
-64, 32, 104, -64, -64, -64, -21, 16, 16, -64, |
-64, 21, 105, -64, -64, -64, -14, -2, -2, -64, |
563 |
-64, -64, -64, -64, 30, -64, -64, 33, -4, -64, |
-64, -64, -64, -64, 25, -64, -64, 30, -3, -64, |
564 |
-64, -64, 0, -64, -64, 1, -64, -64, 30, 16, |
-64, -64, -64, 0, -64, -64, 2, -64, -64, 25, |
565 |
-64, -64, -64, -64, 66, -64, -64, -64, -64, -64, |
-2, -64, -64, -64, -64, 66, -64, -64, -64, -64, |
566 |
3, -15, -15, 16, -64, -64, 16, -64, -64, 16, |
-64, 5, -19, -19, -2, -64, -64, -2, -64, -64, |
567 |
-64, 30, -64, 30, 30, 30, -64, -64, 4, -64, |
-2, -64, 25, -64, 25, 25, 25, -64, -64, -5, |
568 |
8, 2, -64, -64, -64, 16, -64, 21, -64, -15, |
-64, 4, 3, -64, -64, -64, -2, -64, 23, -64, |
569 |
-15, 16, -64, -64, -64, -64, -64, -64, -64, -64, |
-19, -19, -2, -64, -64, -64, -64, -64, -64, -64, |
570 |
6, -64, -64, 16, 38, -64, -64, -34, 15, -64, |
-64, -1, -64, -64, -2, 46, -64, -64, -34, 15, |
571 |
-64, -64, -64, 16, 48, 18, -64, -64, -64, 15, |
-64, -64, -64, -64, -2, 49, 17, -64, -64, -64, |
572 |
-64, -64, -64 |
15, -64, -64, -64 |
573 |
}; |
}; |
574 |
|
|
575 |
/* YYPGOTO[NTERM-NUM]. */ |
/* YYPGOTO[NTERM-NUM]. */ |
576 |
static const yysigned_char yypgoto[] = |
static const yysigned_char yypgoto[] = |
577 |
{ |
{ |
578 |
-64, -64, -64, -64, 51, -64, -64, -64, -64, -64, |
-64, -64, -64, -64, 54, -64, -64, -64, -64, -64, |
579 |
-64, -7, -42, 20, -64, -1, -64, -64, -64, -27, |
-64, -6, -38, 18, -64, 1, -64, -64, -64, -35, |
580 |
-29, -64, -63, -5, -64 |
-30, -64, -63, -4, -64 |
581 |
}; |
}; |
582 |
|
|
583 |
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
584 |
positive, shift that token. If negative, reduce the rule which |
positive, shift that token. If negative, reduce the rule which |
585 |
number is the opposite. If zero, do what YYDEFACT says. |
number is the opposite. If zero, do what YYDEFACT says. |
586 |
If YYTABLE_NINF, syntax error. */ |
If YYTABLE_NINF, syntax error. */ |
587 |
#define YYTABLE_NINF -75 |
#define YYTABLE_NINF -76 |
588 |
static const yysigned_char yytable[] = |
static const yysigned_char yytable[] = |
589 |
{ |
{ |
590 |
57, 49, -74, 58, 85, 91, 92, 4, 5, 6, |
58, 45, 50, -75, 59, 86, 92, 93, 4, 5, |
591 |
7, 8, 9, 10, 11, 12, 43, 72, 44, 44, |
6, 7, 8, 9, 10, 11, 12, 73, 45, 67, |
592 |
72, 90, 66, 56, 44, 84, 67, 86, 86, 93, |
73, 3, 91, 68, 44, 57, 45, 85, 51, 94, |
593 |
94, 95, 3, 50, 53, 29, 71, 52, 54, 55, |
95, 96, 87, 87, 53, 78, 54, 30, 72, 55, |
594 |
64, 44, 72, 77, 59, 80, 73, 79, 74, 75, |
46, 56, 73, 65, 80, 90, 60, 81, 74, 45, |
595 |
76, 89, 101, 37, 72, 102, 45, 45, 83, 97, |
75, 76, 77, 102, 73, 103, 38, 46, 100, 98, |
596 |
81, 96, 70, 0, 100, 99, 0, 58, 0, 0, |
84, 71, 97, 82, 101, 0, 0, 59, 0, 0, |
597 |
97, 4, 5, 6, 7, 8, 9, 10, 11, 12, |
98, 4, 5, 6, 7, 8, 9, 10, 11, 12, |
598 |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
599 |
0, 0, 0, 0, 0, 0, 0, 0, 0, 29, |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
600 |
0, 0, 0, 0, 0, 0, 0, 0, 59, 4, |
30, 0, 0, 0, 0, 0, 0, 0, 0, 60, |
601 |
5, 6, 7, 8, 9, 10, 11, 12, 0, 0, |
4, 5, 6, 7, 8, 9, 10, 11, 12, 0, |
602 |
0, 13, 14, 15, 16, 17, 18, 19, 20, 21, |
0, 0, 13, 14, 15, 16, 17, 18, 19, 20, |
603 |
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, |
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, |
604 |
32, 0, 0, 33, 0, 0, 0, 34, 35 |
31, 32, 33, 0, 0, 34, 0, 0, 0, 35, |
605 |
|
36 |
606 |
}; |
}; |
607 |
|
|
608 |
static const yysigned_char yycheck[] = |
static const yysigned_char yycheck[] = |
609 |
{ |
{ |
610 |
29, 8, 0, 1, 67, 39, 40, 5, 6, 7, |
30, 3, 8, 0, 1, 68, 40, 41, 5, 6, |
611 |
8, 9, 10, 11, 12, 13, 37, 46, 3, 3, |
7, 8, 9, 10, 11, 12, 13, 47, 3, 38, |
612 |
49, 84, 37, 28, 3, 4, 41, 69, 70, 14, |
50, 0, 85, 42, 38, 29, 3, 4, 3, 14, |
613 |
15, 16, 0, 3, 38, 33, 43, 4, 38, 38, |
15, 16, 70, 71, 4, 40, 39, 34, 44, 39, |
614 |
37, 3, 71, 39, 42, 43, 51, 39, 53, 54, |
42, 39, 72, 38, 40, 46, 43, 44, 52, 3, |
615 |
55, 45, 4, 2, 83, 37, 41, 41, 65, 88, |
54, 55, 56, 4, 84, 38, 2, 42, 93, 89, |
616 |
61, 46, 42, -1, 93, 92, -1, 1, -1, -1, |
66, 43, 47, 62, 94, -1, -1, 1, -1, -1, |
617 |
99, 5, 6, 7, 8, 9, 10, 11, 12, 13, |
100, 5, 6, 7, 8, 9, 10, 11, 12, 13, |
618 |
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
619 |
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
620 |
-1, -1, -1, -1, -1, -1, -1, -1, -1, 33, |
34, -1, -1, -1, -1, -1, -1, -1, -1, 43, |
621 |
-1, -1, -1, -1, -1, -1, -1, -1, 42, 5, |
5, 6, 7, 8, 9, 10, 11, 12, 13, -1, |
622 |
6, 7, 8, 9, 10, 11, 12, 13, -1, -1, |
-1, -1, 17, 18, 19, 20, 21, 22, 23, 24, |
623 |
-1, 17, 18, 19, 20, 21, 22, 23, 24, 25, |
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
624 |
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, |
35, 36, 37, -1, -1, 40, -1, -1, -1, 44, |
625 |
36, -1, -1, 39, -1, -1, -1, 43, 44 |
45 |
626 |
}; |
}; |
627 |
|
|
628 |
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
629 |
symbol of state STATE-NUM. */ |
symbol of state STATE-NUM. */ |
630 |
static const unsigned char yystos[] = |
static const unsigned char yystos[] = |
631 |
{ |
{ |
632 |
0, 48, 49, 0, 5, 6, 7, 8, 9, 10, |
0, 49, 50, 0, 5, 6, 7, 8, 9, 10, |
633 |
11, 12, 13, 17, 18, 19, 20, 21, 22, 23, |
11, 12, 13, 17, 18, 19, 20, 21, 22, 23, |
634 |
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, |
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, |
635 |
34, 35, 36, 39, 43, 44, 50, 51, 52, 55, |
34, 35, 36, 37, 40, 44, 45, 51, 52, 53, |
636 |
56, 54, 53, 37, 3, 41, 58, 67, 69, 58, |
56, 57, 55, 54, 38, 3, 42, 59, 68, 70, |
637 |
3, 70, 4, 38, 38, 38, 70, 67, 1, 42, |
59, 3, 71, 4, 39, 39, 39, 71, 68, 1, |
638 |
51, 61, 62, 63, 37, 57, 37, 41, 59, 60, |
43, 52, 62, 63, 64, 38, 58, 38, 42, 60, |
639 |
60, 58, 67, 70, 70, 70, 70, 39, 64, 39, |
61, 61, 59, 68, 71, 71, 71, 71, 40, 65, |
640 |
43, 62, 71, 58, 4, 69, 59, 65, 66, 45, |
40, 44, 63, 72, 59, 4, 70, 60, 66, 67, |
641 |
69, 39, 40, 14, 15, 16, 46, 67, 68, 66, |
46, 70, 40, 41, 14, 15, 16, 47, 68, 69, |
642 |
67, 4, 37 |
67, 68, 4, 38 |
643 |
}; |
}; |
644 |
|
|
645 |
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
700 |
are run). */ |
are run). */ |
701 |
|
|
702 |
#ifndef YYLLOC_DEFAULT |
#ifndef YYLLOC_DEFAULT |
703 |
# define YYLLOC_DEFAULT(Current, Rhs, N) \ |
# define YYLLOC_DEFAULT(Current, Rhs, N) \ |
704 |
Current.first_line = Rhs[1].first_line; \ |
((Current).first_line = (Rhs)[1].first_line, \ |
705 |
Current.first_column = Rhs[1].first_column; \ |
(Current).first_column = (Rhs)[1].first_column, \ |
706 |
Current.last_line = Rhs[N].last_line; \ |
(Current).last_line = (Rhs)[N].last_line, \ |
707 |
Current.last_column = Rhs[N].last_column; |
(Current).last_column = (Rhs)[N].last_column) |
708 |
#endif |
#endif |
709 |
|
|
710 |
/* YYLEX -- calling `yylex' with the right arguments. */ |
/* YYLEX -- calling `yylex' with the right arguments. */ |
748 |
|
|
749 |
/*------------------------------------------------------------------. |
/*------------------------------------------------------------------. |
750 |
| yy_stack_print -- Print the state stack from its BOTTOM up to its | |
| yy_stack_print -- Print the state stack from its BOTTOM up to its | |
751 |
| TOP (cinluded). | |
| TOP (included). | |
752 |
`------------------------------------------------------------------*/ |
`------------------------------------------------------------------*/ |
753 |
|
|
754 |
#if defined (__STDC__) || defined (__cplusplus) |
#if defined (__STDC__) || defined (__cplusplus) |
1074 |
yyssp = yyss; |
yyssp = yyss; |
1075 |
yyvsp = yyvs; |
yyvsp = yyvs; |
1076 |
yylsp = yyls; |
yylsp = yyls; |
1077 |
|
|
1078 |
|
/* User initialization code. */ |
1079 |
|
#line 70 "parse-gram.y" |
1080 |
|
{ |
1081 |
|
/* Bison's grammar can initial empty locations, hence a default |
1082 |
|
location is needed. */ |
1083 |
|
(*yylsp).start.file = (*yylsp).end.file = current_file; |
1084 |
|
(*yylsp).start.line = (*yylsp).end.line = 1; |
1085 |
|
(*yylsp).start.column = (*yylsp).end.column = 0; |
1086 |
|
} |
1087 |
|
/* Line 818 of yacc.c. */ |
1088 |
|
#line 1089 "parse-gram.c" |
1089 |
goto yysetstate; |
goto yysetstate; |
1090 |
|
|
1091 |
/*------------------------------------------------------------. |
/*------------------------------------------------------------. |
1268 |
yyval = yyvsp[1-yylen]; |
yyval = yyvsp[1-yylen]; |
1269 |
|
|
1270 |
/* Default location. */ |
/* Default location. */ |
1271 |
YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); |
YYLLOC_DEFAULT (yyloc, yylsp - yylen, yylen); |
1272 |
YY_REDUCE_PRINT (yyn); |
YY_REDUCE_PRINT (yyn); |
1273 |
switch (yyn) |
switch (yyn) |
1274 |
{ |
{ |
1275 |
case 6: |
case 6: |
1276 |
#line 177 "parse-gram.y" |
#line 185 "parse-gram.y" |
1277 |
{ prologue_augment (yyvsp[0].chars, yylsp[0]); } |
{ prologue_augment (yyvsp[0].chars, yylsp[0]); } |
1278 |
break; |
break; |
1279 |
|
|
1280 |
case 7: |
case 7: |
1281 |
#line 178 "parse-gram.y" |
#line 186 "parse-gram.y" |
1282 |
{ debug_flag = true; } |
{ debug_flag = true; } |
1283 |
break; |
break; |
1284 |
|
|
1285 |
case 8: |
case 8: |
1286 |
#line 179 "parse-gram.y" |
#line 187 "parse-gram.y" |
1287 |
{ muscle_insert (yyvsp[-1].chars, yyvsp[0].chars); } |
{ muscle_insert (yyvsp[-1].chars, yyvsp[0].chars); } |
1288 |
break; |
break; |
1289 |
|
|
1290 |
case 9: |
case 9: |
1291 |
#line 180 "parse-gram.y" |
#line 188 "parse-gram.y" |
1292 |
{ defines_flag = true; } |
{ defines_flag = true; } |
1293 |
break; |
break; |
1294 |
|
|
1295 |
case 10: |
case 10: |
1296 |
#line 181 "parse-gram.y" |
#line 189 "parse-gram.y" |
1297 |
{ error_verbose = true; } |
{ error_verbose = true; } |
1298 |
break; |
break; |
1299 |
|
|
1300 |
case 11: |
case 11: |
1301 |
#line 182 "parse-gram.y" |
#line 190 "parse-gram.y" |
1302 |
{ expected_conflicts = yyvsp[0].integer; } |
{ expected_conflicts = yyvsp[0].integer; } |
1303 |
break; |
break; |
1304 |
|
|
1305 |
case 12: |
case 12: |
1306 |
#line 183 "parse-gram.y" |
#line 191 "parse-gram.y" |
1307 |
{ spec_file_prefix = yyvsp[0].chars; } |
{ spec_file_prefix = yyvsp[0].chars; } |
1308 |
break; |
break; |
1309 |
|
|
1310 |
case 13: |
case 13: |
1311 |
#line 184 "parse-gram.y" |
#line 193 "parse-gram.y" |
1312 |
{ nondeterministic_parser = true; |
{ |
1313 |
glr_parser = true; } |
nondeterministic_parser = true; |
1314 |
|
glr_parser = true; |
1315 |
|
} |
1316 |
break; |
break; |
1317 |
|
|
1318 |
case 14: |
case 14: |
1319 |
#line 186 "parse-gram.y" |
#line 198 "parse-gram.y" |
1320 |
{ add_param ("lex_param", yyvsp[0].chars, yylsp[0]); } |
{ |
1321 |
|
muscle_code_grow ("initial_action", yyvsp[0].chars, yylsp[0]); |
1322 |
|
} |
1323 |
break; |
break; |
1324 |
|
|
1325 |
case 15: |
case 15: |
1326 |
#line 187 "parse-gram.y" |
#line 201 "parse-gram.y" |
1327 |
{ locations_flag = true; } |
{ add_param ("lex_param", yyvsp[0].chars, yylsp[0]); } |
1328 |
break; |
break; |
1329 |
|
|
1330 |
case 16: |
case 16: |
1331 |
#line 188 "parse-gram.y" |
#line 202 "parse-gram.y" |
1332 |
{ spec_name_prefix = yyvsp[0].chars; } |
{ locations_flag = true; } |
1333 |
break; |
break; |
1334 |
|
|
1335 |
case 17: |
case 17: |
1336 |
#line 189 "parse-gram.y" |
#line 203 "parse-gram.y" |
1337 |
{ no_lines_flag = true; } |
{ spec_name_prefix = yyvsp[0].chars; } |
1338 |
break; |
break; |
1339 |
|
|
1340 |
case 18: |
case 18: |
1341 |
#line 190 "parse-gram.y" |
#line 204 "parse-gram.y" |
1342 |
{ nondeterministic_parser = true; } |
{ no_lines_flag = true; } |
1343 |
break; |
break; |
1344 |
|
|
1345 |
case 19: |
case 19: |
1346 |
#line 191 "parse-gram.y" |
#line 205 "parse-gram.y" |
1347 |
{ spec_outfile = yyvsp[0].chars; } |
{ nondeterministic_parser = true; } |
1348 |
break; |
break; |
1349 |
|
|
1350 |
case 20: |
case 20: |
1351 |
#line 192 "parse-gram.y" |
#line 206 "parse-gram.y" |
1352 |
{ add_param ("parse_param", yyvsp[0].chars, yylsp[0]); } |
{ spec_outfile = yyvsp[0].chars; } |
1353 |
break; |
break; |
1354 |
|
|
1355 |
case 21: |
case 21: |
1356 |
#line 193 "parse-gram.y" |
#line 207 "parse-gram.y" |
1357 |
{ pure_parser = true; } |
{ add_param ("parse_param", yyvsp[0].chars, yylsp[0]); } |
1358 |
break; |
break; |
1359 |
|
|
1360 |
case 22: |
case 22: |
1361 |
#line 194 "parse-gram.y" |
#line 208 "parse-gram.y" |
1362 |
{ skeleton = yyvsp[0].chars; } |
{ pure_parser = true; } |
1363 |
break; |
break; |
1364 |
|
|
1365 |
case 23: |
case 23: |
1366 |
#line 195 "parse-gram.y" |
#line 209 "parse-gram.y" |
1367 |
{ token_table_flag = true; } |
{ skeleton = yyvsp[0].chars; } |
1368 |
break; |
break; |
1369 |
|
|
1370 |
case 24: |
case 24: |
1371 |
#line 196 "parse-gram.y" |
#line 210 "parse-gram.y" |
1372 |
{ report_flag = report_states; } |
{ token_table_flag = true; } |
1373 |
break; |
break; |
1374 |
|
|
1375 |
case 25: |
case 25: |
1376 |
#line 197 "parse-gram.y" |
#line 211 "parse-gram.y" |
1377 |
|
{ report_flag = report_states; } |
1378 |
|
break; |
1379 |
|
|
1380 |
|
case 26: |
1381 |
|
#line 212 "parse-gram.y" |
1382 |
{ yacc_flag = true; } |
{ yacc_flag = true; } |
1383 |
break; |
break; |
1384 |
|
|
1385 |
case 29: |
case 30: |
1386 |
#line 205 "parse-gram.y" |
#line 220 "parse-gram.y" |
1387 |
{ |
{ |
1388 |
grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]); |
grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]); |
1389 |
} |
} |
1390 |
break; |
break; |
1391 |
|
|
1392 |
case 30: |
case 31: |
1393 |
#line 209 "parse-gram.y" |
#line 224 "parse-gram.y" |
1394 |
{ |
{ |
1395 |
typed = true; |
typed = true; |
1396 |
MUSCLE_INSERT_INT ("stype_line", yylsp[0].start.line); |
MUSCLE_INSERT_INT ("stype_line", yylsp[0].start.line); |
1398 |
} |
} |
1399 |
break; |
break; |
1400 |
|
|
1401 |
case 31: |
case 32: |
1402 |
#line 215 "parse-gram.y" |
#line 230 "parse-gram.y" |
1403 |
{ |
{ |
1404 |
symbol_list *list; |
symbol_list *list; |
1405 |
for (list = yyvsp[0].list; list; list = list->next) |
for (list = yyvsp[0].list; list; list = list->next) |
1408 |
} |
} |
1409 |
break; |
break; |
1410 |
|
|
1411 |
case 32: |
case 33: |
1412 |
#line 222 "parse-gram.y" |
#line 237 "parse-gram.y" |
1413 |
{ |
{ |
1414 |
symbol_list *list; |
symbol_list *list; |
1415 |
for (list = yyvsp[0].list; list; list = list->next) |
for (list = yyvsp[0].list; list; list = list->next) |
1418 |
} |
} |
1419 |
break; |
break; |
1420 |
|
|
1421 |
case 33: |
case 34: |
1422 |
#line 231 "parse-gram.y" |
#line 246 "parse-gram.y" |
1423 |
{ current_class = nterm_sym; } |
{ current_class = nterm_sym; } |
1424 |
break; |
break; |
1425 |
|
|
1426 |
case 34: |
case 35: |
1427 |
#line 232 "parse-gram.y" |
#line 247 "parse-gram.y" |
1428 |
{ |
{ |
1429 |
current_class = unknown_sym; |
current_class = unknown_sym; |
1430 |
current_type = NULL; |
current_type = NULL; |
1431 |
} |
} |
1432 |
break; |
break; |
1433 |
|
|
1434 |
case 35: |
case 36: |
1435 |
#line 236 "parse-gram.y" |
#line 251 "parse-gram.y" |
1436 |
{ current_class = token_sym; } |
{ current_class = token_sym; } |
1437 |
break; |
break; |
1438 |
|
|
1439 |
case 36: |
case 37: |
1440 |
#line 237 "parse-gram.y" |
#line 252 "parse-gram.y" |
1441 |
{ |
{ |
1442 |
current_class = unknown_sym; |
current_class = unknown_sym; |
1443 |
current_type = NULL; |
current_type = NULL; |
1444 |
} |
} |
1445 |
break; |
break; |
1446 |
|
|
1447 |
case 37: |
case 38: |
1448 |
#line 242 "parse-gram.y" |
#line 257 "parse-gram.y" |
1449 |
{ |
{ |
1450 |
symbol_list *list; |
symbol_list *list; |
1451 |
for (list = yyvsp[0].list; list; list = list->next) |
for (list = yyvsp[0].list; list; list = list->next) |
1454 |
} |
} |
1455 |
break; |
break; |
1456 |
|
|
1457 |
case 38: |
case 39: |
1458 |
#line 252 "parse-gram.y" |
#line 267 "parse-gram.y" |
1459 |
{ |
{ |
1460 |
symbol_list *list; |
symbol_list *list; |
1461 |
++current_prec; |
++current_prec; |
1469 |
} |
} |
1470 |
break; |
break; |
1471 |
|
|
1472 |
case 39: |
case 40: |
1473 |
#line 266 "parse-gram.y" |
#line 281 "parse-gram.y" |
1474 |
{ yyval.assoc = left_assoc; } |
{ yyval.assoc = left_assoc; } |
1475 |
break; |
break; |
1476 |
|
|
1477 |
case 40: |
case 41: |
1478 |
#line 267 "parse-gram.y" |
#line 282 "parse-gram.y" |
1479 |
{ yyval.assoc = right_assoc; } |
{ yyval.assoc = right_assoc; } |
1480 |
break; |
break; |
1481 |
|
|
1482 |
case 41: |
case 42: |
1483 |
#line 268 "parse-gram.y" |
#line 283 "parse-gram.y" |
1484 |
{ yyval.assoc = non_assoc; } |
{ yyval.assoc = non_assoc; } |
1485 |
break; |
break; |
1486 |
|
|
1487 |
case 42: |
case 43: |
1488 |
#line 272 "parse-gram.y" |
#line 287 "parse-gram.y" |
1489 |
{ current_type = NULL; } |
{ current_type = NULL; } |
1490 |
break; |
break; |
1491 |
|
|
1492 |
case 43: |
case 44: |
1493 |
#line 273 "parse-gram.y" |
#line 288 "parse-gram.y" |
1494 |
{ current_type = yyvsp[0].uniqstr; } |
{ current_type = yyvsp[0].uniqstr; } |
1495 |
break; |
break; |
1496 |
|
|
1497 |
case 44: |
case 45: |
1498 |
#line 279 "parse-gram.y" |
#line 294 "parse-gram.y" |
1499 |
{ yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); } |
{ yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); } |
1500 |
break; |
break; |
1501 |
|
|
1502 |
case 45: |
case 46: |
1503 |
#line 280 "parse-gram.y" |
#line 295 "parse-gram.y" |
1504 |
{ 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]); } |
1505 |
break; |
break; |
1506 |
|
|
1507 |
case 46: |
case 47: |
1508 |
#line 286 "parse-gram.y" |
#line 301 "parse-gram.y" |
1509 |
{ |
{ |
1510 |
current_type = yyvsp[0].uniqstr; |
current_type = yyvsp[0].uniqstr; |
1511 |
} |
} |
1512 |
break; |
break; |
1513 |
|
|
1514 |
case 47: |
case 48: |
1515 |
#line 290 "parse-gram.y" |
#line 305 "parse-gram.y" |
1516 |
{ |
{ |
1517 |
symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]); |
symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]); |
1518 |
symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]); |
symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]); |
1519 |
} |
} |
1520 |
break; |
break; |
1521 |
|
|
1522 |
case 48: |
case 49: |
1523 |
#line 295 "parse-gram.y" |
#line 310 "parse-gram.y" |
1524 |
{ |
{ |
1525 |
symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]); |
symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]); |
1526 |
symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]); |
symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]); |
1528 |
} |
} |
1529 |
break; |
break; |
1530 |
|
|
1531 |
case 49: |
case 50: |
1532 |
#line 301 "parse-gram.y" |
#line 316 "parse-gram.y" |
1533 |
{ |
{ |
1534 |
symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]); |
symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]); |
1535 |
symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]); |
symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]); |
1537 |
} |
} |
1538 |
break; |
break; |
1539 |
|
|
1540 |
case 50: |
case 51: |
1541 |
#line 307 "parse-gram.y" |
#line 322 "parse-gram.y" |
1542 |
{ |
{ |
1543 |
symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]); |
symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]); |
1544 |
symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]); |
symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]); |
1547 |
} |
} |
1548 |
break; |
break; |
1549 |
|
|
1550 |
case 56: |
case 57: |
1551 |
#line 336 "parse-gram.y" |
#line 351 "parse-gram.y" |
1552 |
{ |
{ |
1553 |
if (yacc_flag) |
if (yacc_flag) |
1554 |
complain_at (yyloc, _("POSIX forbids declarations in the grammar")); |
complain_at (yyloc, _("POSIX forbids declarations in the grammar")); |
1555 |
} |
} |
1556 |
break; |
break; |
1557 |
|
|
1558 |
case 57: |
case 58: |
1559 |
#line 341 "parse-gram.y" |
#line 356 "parse-gram.y" |
1560 |
{ |
{ |
1561 |
yyerrok; |
yyerrok; |
1562 |
} |
} |
1563 |
break; |
break; |
1564 |
|
|
1565 |
case 58: |
case 59: |
1566 |
#line 347 "parse-gram.y" |
#line 362 "parse-gram.y" |
1567 |
{ current_lhs = yyvsp[0].symbol; current_lhs_location = yylsp[0]; } |
{ current_lhs = yyvsp[0].symbol; current_lhs_location = yylsp[0]; } |
1568 |
break; |
break; |
1569 |
|
|
1570 |
case 60: |
case 61: |
1571 |
#line 351 "parse-gram.y" |
#line 366 "parse-gram.y" |
1572 |
{ grammar_rule_end (yylsp[0]); } |
{ grammar_rule_end (yylsp[0]); } |
1573 |
break; |
break; |
1574 |
|
|
1575 |
case 61: |
case 62: |
1576 |
#line 352 "parse-gram.y" |
#line 367 "parse-gram.y" |
1577 |
{ grammar_rule_end (yylsp[0]); } |
{ grammar_rule_end (yylsp[0]); } |
1578 |
break; |
break; |
1579 |
|
|
1580 |
case 63: |
case 64: |
1581 |
#line 358 "parse-gram.y" |
#line 373 "parse-gram.y" |
1582 |
{ grammar_rule_begin (current_lhs, current_lhs_location); } |
{ grammar_rule_begin (current_lhs, current_lhs_location); } |
1583 |
break; |
break; |
1584 |
|
|
1585 |
case 64: |
case 65: |
1586 |
#line 360 "parse-gram.y" |
#line 375 "parse-gram.y" |
1587 |
{ grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); } |
{ grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); } |
1588 |
break; |
break; |
1589 |
|
|
1590 |
case 65: |
case 66: |
1591 |
#line 362 "parse-gram.y" |
#line 377 "parse-gram.y" |
1592 |
{ grammar_current_rule_action_append (yyvsp[0].chars, yylsp[0]); } |
{ grammar_current_rule_action_append (yyvsp[0].chars, yylsp[0]); } |
1593 |
break; |
break; |
1594 |
|
|
1595 |
case 66: |
case 67: |
1596 |
#line 364 "parse-gram.y" |
#line 379 "parse-gram.y" |
1597 |
{ grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); } |
{ grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); } |
1598 |
break; |
break; |
1599 |
|
|
1600 |
case 67: |
case 68: |
1601 |
#line 366 "parse-gram.y" |
#line 381 "parse-gram.y" |
1602 |
{ grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); } |
{ grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); } |
1603 |
break; |
break; |
1604 |
|
|
1605 |
case 68: |
case 69: |
1606 |
#line 368 "parse-gram.y" |
#line 383 "parse-gram.y" |
1607 |
{ grammar_current_rule_merge_set (yyvsp[0].uniqstr, yylsp[0]); } |
{ grammar_current_rule_merge_set (yyvsp[0].uniqstr, yylsp[0]); } |
1608 |
break; |
break; |
1609 |
|
|
1610 |
case 69: |
case 70: |
1611 |
#line 372 "parse-gram.y" |
#line 387 "parse-gram.y" |
1612 |
{ yyval.symbol = yyvsp[0].symbol; } |
{ yyval.symbol = yyvsp[0].symbol; } |
1613 |
break; |
break; |
1614 |
|
|
1615 |
case 70: |
case 71: |
1616 |
#line 373 "parse-gram.y" |
#line 388 "parse-gram.y" |
1617 |
{ yyval.symbol = yyvsp[0].symbol; } |
{ yyval.symbol = yyvsp[0].symbol; } |
1618 |
break; |
break; |
1619 |
|
|
1620 |
case 71: |
case 72: |
1621 |
#line 378 "parse-gram.y" |
#line 393 "parse-gram.y" |
1622 |
{ yyval.chars = yyvsp[0].chars; } |
{ yyval.chars = yyvsp[0].chars; } |
1623 |
break; |
break; |
1624 |
|
|
1625 |
case 72: |
case 73: |
1626 |
#line 384 "parse-gram.y" |
#line 399 "parse-gram.y" |
1627 |
{ |
{ |
1628 |
yyval.symbol = symbol_get (yyvsp[0].chars, yylsp[0]); |
yyval.symbol = symbol_get (yyvsp[0].chars, yylsp[0]); |
1629 |
symbol_class_set (yyval.symbol, token_sym, yylsp[0]); |
symbol_class_set (yyval.symbol, token_sym, yylsp[0]); |
1630 |
} |
} |
1631 |
break; |
break; |
1632 |
|
|
1633 |
case 73: |
case 74: |
1634 |
#line 393 "parse-gram.y" |
#line 408 "parse-gram.y" |
1635 |
{ |
{ |
1636 |
yyval.chars = yyvsp[0].chars + 1; |
yyval.chars = yyvsp[0].chars + 1; |
1637 |
yyval.chars[strlen (yyval.chars) - 1] = '\0'; |
yyval.chars[strlen (yyval.chars) - 1] = '\0'; |
1638 |
} |
} |
1639 |
break; |
break; |
1640 |
|
|
1641 |
case 75: |
case 76: |
1642 |
#line 402 "parse-gram.y" |
#line 417 "parse-gram.y" |
1643 |
{ |
{ |
1644 |
epilogue_augment (yyvsp[0].chars, yylsp[0]); |
muscle_code_grow ("epilogue", yyvsp[0].chars, yylsp[0]); |
1645 |
scanner_last_string_free (); |
scanner_last_string_free (); |
1646 |
} |
} |
1647 |
break; |
break; |
1649 |
|
|
1650 |
} |
} |
1651 |
|
|
1652 |
/* Line 993 of yacc.c. */ |
/* Line 1010 of yacc.c. */ |
1653 |
#line 1624 "parse-gram.c" |
#line 1654 "parse-gram.c" |
1654 |
|
|
1655 |
yyvsp -= yylen; |
yyvsp -= yylen; |
1656 |
yyssp -= yylen; |
yyssp -= yylen; |
1839 |
YYDPRINTF ((stderr, "Shifting error token, ")); |
YYDPRINTF ((stderr, "Shifting error token, ")); |
1840 |
|
|
1841 |
*++yyvsp = yylval; |
*++yyvsp = yylval; |
1842 |
YYLLOC_DEFAULT (yyloc, yylsp, (yylerrsp - yylsp)); |
YYLLOC_DEFAULT (yyloc, yylsp, yylerrsp - yylsp); |
1843 |
*++yylsp = yyloc; |
*++yylsp = yyloc; |
1844 |
|
|
1845 |
yystate = yyn; |
yystate = yyn; |
1879 |
} |
} |
1880 |
|
|
1881 |
|
|
1882 |
#line 408 "parse-gram.y" |
#line 423 "parse-gram.y" |
1883 |
|
|
1884 |
|
|
1885 |
|
|