1 | /* A Bison parser, made by GNU Bison 1.875a. */
2 |
3 | /* Skeleton parser for Yacc-like parsing with Bison,
4 | Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
5 |
6 | This program is free software; you can redistribute it and/or modify
7 | it under the terms of the GNU General Public License as published by
8 | the Free Software Foundation; either version 2, or (at your option)
9 | any later version.
10 |
11 | This program is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 |
16 | You should have received a copy of the GNU General Public License
17 | along with this program; if not, write to the Free Software
18 | Foundation, Inc., 59 Temple Place - Suite 330,
19 | Boston, MA 02111-1307, USA. */
20 |
21 | /* As a special exception, when this file is copied by Bison into a
22 | Bison output file, you may use that output file without restriction.
23 | This special exception was added by the Free Software Foundation
24 | in version 1.24 of Bison. */
25 |
26 | /* Written by Richard Stallman by simplifying the original so called
27 | ``semantic'' parser. */
28 |
29 | /* All symbols defined below should begin with yy or YY, to avoid
30 | infringing on user name space. This should be done even for local
31 | variables, as they might otherwise be expanded by user macros.
32 | There are some unavoidable exceptions within include files to
33 | define necessary library symbols; they are noted "INFRINGES ON
34 | USER NAME SPACE" below. */
35 |
36 | /* Identify Bison output. */
37 | #define YYBISON 1
38 |
39 | /* Skeleton name. */
40 | #define YYSKELETON_NAME "yacc.c"
41 |
42 | /* Pure parsers. */
43 | #define YYPURE 0
44 |
45 | /* Using locations. */
46 | #define YYLSP_NEEDED 0
47 |
48 |
49 |
50 | /* Tokens. */
51 | #ifndef YYTOKENTYPE
52 | # define YYTOKENTYPE
53 | /* Put the tokens into the symbol table, so that GDB and other debuggers
54 | know about them. */
55 | enum yytokentype {
56 | IDENTIFIER = 258,
57 | TYPE_NAME = 259,
58 | LITERAL = 260,
59 | STRING_LITERAL = 261,
60 | ELLIPSES = 262,
61 | MUL_ASSIGN = 263,
62 | DIV_ASSIGN = 264,
63 | MOD_ASSIGN = 265,
64 | ADD_ASSIGN = 266,
65 | SUB_ASSIGN = 267,
66 | LEFT_ASSIGN = 268,
67 | RIGHT_ASSIGN = 269,
68 | AND_ASSIGN = 270,
69 | XOR_ASSIGN = 271,
70 | OR_ASSIGN = 272,
71 | EQ_OP = 273,
72 | NE_OP = 274,
73 | PTR_OP = 275,
74 | AND_OP = 276,
75 | OR_OP = 277,
76 | DEC_OP = 278,
77 | INC_OP = 279,
78 | LE_OP = 280,
79 | GE_OP = 281,
80 | LEFT_SHIFT = 282,
81 | RIGHT_SHIFT = 283,
82 | SIZEOF = 284,
83 | TYPEDEF = 285,
84 | EXTERN = 286,
85 | STATIC = 287,
86 | AUTO = 288,
87 | REGISTER = 289,
88 | CONST = 290,
89 | VOLATILE = 291,
90 | VOID = 292,
91 | INLINE = 293,
92 | CHAR = 294,
93 | SHORT = 295,
94 | INT = 296,
95 | LONG = 297,
96 | SIGNED = 298,
97 | UNSIGNED = 299,
98 | FLOAT = 300,
99 | DOUBLE = 301,
100 | BOOL = 302,
101 | STRUCT = 303,
102 | UNION = 304,
103 | ENUM = 305,
104 | CASE = 306,
105 | DEFAULT = 307,
106 | IF = 308,
107 | ELSE = 309,
108 | SWITCH = 310,
109 | WHILE = 311,
110 | DO = 312,
111 | FOR = 313,
112 | GOTO = 314,
113 | CONTINUE = 315,
114 | BREAK = 316,
115 | RETURN = 317,
116 | ASM = 318
117 | };
118 | #endif
119 | #define IDENTIFIER 258
120 | #define TYPE_NAME 259
121 | #define LITERAL 260
122 | #define STRING_LITERAL 261
123 | #define ELLIPSES 262
124 | #define MUL_ASSIGN 263
125 | #define DIV_ASSIGN 264
126 | #define MOD_ASSIGN 265
127 | #define ADD_ASSIGN 266
128 | #define SUB_ASSIGN 267
129 | #define LEFT_ASSIGN 268
130 | #define RIGHT_ASSIGN 269
131 | #define AND_ASSIGN 270
132 | #define XOR_ASSIGN 271
133 | #define OR_ASSIGN 272
134 | #define EQ_OP 273
135 | #define NE_OP 274
136 | #define PTR_OP 275
137 | #define AND_OP 276
138 | #define OR_OP 277
139 | #define DEC_OP 278
140 | #define INC_OP 279
141 | #define LE_OP 280
142 | #define GE_OP 281
143 | #define LEFT_SHIFT 282
144 | #define RIGHT_SHIFT 283
145 | #define SIZEOF 284
146 | #define TYPEDEF 285
147 | #define EXTERN 286
148 | #define STATIC 287
149 | #define AUTO 288
150 | #define REGISTER 289
151 | #define CONST 290
152 | #define VOLATILE 291
153 | #define VOID 292
154 | #define INLINE 293
155 | #define CHAR 294
156 | #define SHORT 295
157 | #define INT 296
158 | #define LONG 297
159 | #define SIGNED 298
160 | #define UNSIGNED 299
161 | #define FLOAT 300
162 | #define DOUBLE 301
163 | #define BOOL 302
164 | #define STRUCT 303
165 | #define UNION 304
166 | #define ENUM 305
167 | #define CASE 306
168 | #define DEFAULT 307
169 | #define IF 308
170 | #define ELSE 309
171 | #define SWITCH 310
172 | #define WHILE 311
173 | #define DO 312
174 | #define FOR 313
175 | #define GOTO 314
176 | #define CONTINUE 315
177 | #define BREAK 316
178 | #define RETURN 317
179 | #define ASM 318
180 |
181 |
182 |
183 |
184 | /* Copy the first part of user declarations. */
185 | #line 1 "./parse.y"
186 |
187 | /***************************************
188 | $Header: /home/amb/cxref/src/RCS/parse.y 1.49 2004/09/04 16:15:40 amb Exp $
189 |
190 | C Cross Referencing & Documentation tool. Version 1.6.
191 |
192 | C parser.
193 | ******************/ /******************
194 | Written by Andrew M. Bishop
195 |
196 | This file Copyright 1995,96,97,98,99,2000,01,02,03,04 Andrew M. Bishop
197 | It may be distributed under the GNU Public License, version 2, or
198 | any higher version. See section COPYING of the GNU Public license
199 | for conditions under which this file may be redistributed.
200 | ***************************************/
201 |
202 | #include <string.h>
203 | #include "parse-yy.h"
204 | #include "cxref.h"
205 | #include "memory.h"
206 |
207 | /*+ A structure to hold the information about an object. +*/
208 | typedef struct _stack
209 | {
210 | char *name; /*+ The name of the object. +*/
211 | char *type; /*+ The type of the object. +*/
212 | char *qual; /*+ The type qualifier of the object. +*/
213 | }
214 | stack;
215 |
216 | #define yylex cxref_yylex
217 |
218 | static int cxref_yylex(void);
219 |
220 | static void yyerror(char *s);
221 |
222 | /*+ When in a header file, some stuff can be skipped over quickly. +*/
223 | extern int in_header;
224 |
225 | /*+ A flag that is set to true when typedef is seen in a statement. +*/
226 | int in_typedef=0;
227 |
228 | /*+ The scope of the function / variable that is being examined. +*/
229 | static int scope;
230 |
231 | /*+ The variable must be LOCAL or EXTERNAL or GLOBAL, so this checks and sets that. +*/
232 | #define SCOPE ( scope&(LOCAL|EXTERNAL|EXTERN_H|EXTERN_F) ? scope : scope|GLOBAL )
233 |
234 | /*+ When in a function or a function definition, the behaviour is different. +*/
235 | static int in_function=0,in_funcdef=0,in_funcbody=0;
236 |
237 | /*+ The parsing stack +*/
238 | static stack first={NULL,NULL,NULL}, /*+ first value. +*/
239 | *list=NULL, /*+ list of all values. +*/
240 | *current=&first; /*+ current values. +*/
241 |
242 | /*+ The depth of the stack +*/
243 | static int depth=0, /*+ currently in use. +*/
244 | maxdepth=0; /*+ total malloced. +*/
245 |
246 | /*+ Declarations that are in the same statement share this comment. +*/
247 | static char* common_comment=NULL;
248 |
249 | /*+ When inside a struct / union / enum definition, this is the depth. +*/
250 | static int in_structunion=0;
251 |
252 | /*+ When inside a struct / union definition, this is the component type. +*/
253 | static char *comp_type=NULL;
254 |
255 | /*+ To solve the problem where a type name is used as an identifier. +*/
256 | static int in_type_spec=0;
257 |
258 |
259 | /*++++++++++++++++++++++++++++++++++++++
260 | Reset the current level on the stack.
261 | ++++++++++++++++++++++++++++++++++++++*/
262 |
263 | static void reset(void)
264 | {
265 | current->name=NULL;
266 | current->type=NULL;
267 | current->qual=NULL;
268 | }
269 |
270 |
271 | /*++++++++++++++++++++++++++++++++++++++
272 | Push a level onto the stack.
273 | ++++++++++++++++++++++++++++++++++++++*/
274 |
275 | static void push(void)
276 | {
277 | if(list==NULL)
278 | {
279 | list=(stack*)Malloc(8*sizeof(struct _stack));
280 | list[0]=first;
281 | maxdepth=8;
282 | }
283 | else if(depth==(maxdepth-1))
284 | {
285 | list=Realloc(list,(maxdepth+8)*sizeof(struct _stack));
286 | maxdepth+=8;
287 | }
288 |
289 | depth++;
290 | current=&list[depth];
291 |
292 | reset();
293 | }
294 |
295 |
296 | /*++++++++++++++++++++++++++++++++++++++
297 | Pop a level from the stack.
298 | ++++++++++++++++++++++++++++++++++++++*/
299 |
300 | static void pop(void)
301 | {
302 | reset();
303 |
304 | depth--;
305 | current=&list[depth];
306 | }
307 |
308 |
309 | /*++++++++++++++++++++++++++++++++++++++
310 | Reset the Parser, ready for the next file.
311 | ++++++++++++++++++++++++++++++++++++++*/
312 |
313 | void ResetParser(void)
314 | {
315 | in_typedef=0;
316 | scope=0;
317 | in_function=0;
318 | in_funcdef=0;
319 | in_funcbody=0;
320 | depth=0;
321 | maxdepth=0;
322 | if(list) Free(list);
323 | list=NULL;
324 | current=&first;
325 | reset();
326 | common_comment=NULL;
327 | in_structunion=0;
328 | comp_type=NULL;
329 | in_type_spec=0;
330 | }
331 |
332 |
333 |
334 | /* Enabling traces. */
335 | #ifndef YYDEBUG
336 | # define YYDEBUG 0
337 | #endif
338 |
339 | /* Enabling verbose error messages. */
340 | #ifdef YYERROR_VERBOSE
341 | # undef YYERROR_VERBOSE
342 | # define YYERROR_VERBOSE 1
343 | #else
344 | # define YYERROR_VERBOSE 0
345 | #endif
346 |
347 | #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
348 | typedef int YYSTYPE;
349 | # define yystype YYSTYPE /* obsolescent; will be withdrawn */
350 | # define YYSTYPE_IS_DECLARED 1
351 | # define YYSTYPE_IS_TRIVIAL 1
352 | #endif
353 |
354 |
355 |
356 | /* Copy the second part of user declarations. */
357 |
358 |
359 | /* Line 214 of yacc.c. */
360 | #line 361 "y.tab.c"
361 |
362 | #if ! defined (yyoverflow) || YYERROR_VERBOSE
363 |
364 | /* The parser invokes alloca or malloc; define the necessary symbols. */
365 |
366 | # if YYSTACK_USE_ALLOCA
367 | # define YYSTACK_ALLOC alloca
368 | # else
369 | # ifndef YYSTACK_USE_ALLOCA
370 | # if defined (alloca) || defined (_ALLOCA_H)
371 | # define YYSTACK_ALLOC alloca
372 | # else
373 | # ifdef __GNUC__
374 | # define YYSTACK_ALLOC __builtin_alloca
375 | # endif
376 | # endif
377 | # endif
378 | # endif
379 |
380 | # ifdef YYSTACK_ALLOC
381 | /* Pacify GCC's `empty if-body' warning. */
382 | # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
383 | # else
384 | # if defined (__STDC__) || defined (__cplusplus)
385 | # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
386 | # define YYSIZE_T size_t
387 | # endif
388 | # define YYSTACK_ALLOC malloc
389 | # define YYSTACK_FREE free
390 | # endif
391 | #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
392 |
393 |
394 | #if (! defined (yyoverflow) \
395 | && (! defined (__cplusplus) \
396 | || (YYSTYPE_IS_TRIVIAL)))
397 |
398 | /* A type that is properly aligned for any stack member. */
399 | union yyalloc
400 | {
401 | short yyss;
402 | YYSTYPE yyvs;
403 | };
404 |
405 | /* The size of the maximum gap between one aligned stack and the next. */
406 | # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
407 |
408 | /* The size of an array large to enough to hold all stacks, each with
409 | N elements. */
410 | # define YYSTACK_BYTES(N) \
411 | ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
412 | + YYSTACK_GAP_MAXIMUM)
413 |
414 | /* Copy COUNT objects from FROM to TO. The source and destination do
415 | not overlap. */
416 | # ifndef YYCOPY
417 | # if 1 < __GNUC__
418 | # define YYCOPY(To, From, Count) \
419 | __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
420 | # else
421 | # define YYCOPY(To, From, Count) \
422 | do \
423 | { \
424 | register YYSIZE_T yyi; \
425 | for (yyi = 0; yyi < (Count); yyi++) \
426 | (To)[yyi] = (From)[yyi]; \
427 | } \
428 | while (0)
429 | # endif
430 | # endif
431 |
432 | /* Relocate STACK from its old location to the new one. The
433 | local variables YYSIZE and YYSTACKSIZE give the old and new number of
434 | elements in the stack, and YYPTR gives the new location of the
435 | stack. Advance YYPTR to a properly aligned location for the next
436 | stack. */
437 | # define YYSTACK_RELOCATE(Stack) \
438 | do \
439 | { \
440 | YYSIZE_T yynewbytes; \
441 | YYCOPY (&yyptr->Stack, Stack, yysize); \
442 | Stack = &yyptr->Stack; \
443 | yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
444 | yyptr += yynewbytes / sizeof (*yyptr); \
445 | } \
446 | while (0)
447 |
448 | #endif
449 |
450 | #if defined (__STDC__) || defined (__cplusplus)
451 | typedef signed char yysigned_char;
452 | #else
453 | typedef short yysigned_char;
454 | #endif
455 |
456 | /* YYFINAL -- State number of the termination state. */
457 | #define YYFINAL 92
458 | /* YYLAST -- Last index in YYTABLE. */
459 | #define YYLAST 1744
460 |
461 | /* YYNTOKENS -- Number of terminals. */
462 | #define YYNTOKENS 88
463 | /* YYNNTS -- Number of nonterminals. */
464 | #define YYNNTS 172
465 | /* YYNRULES -- Number of rules. */
466 | #define YYNRULES 383
467 | /* YYNRULES -- Number of states. */
468 | #define YYNSTATES 582
469 |
470 | /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
471 | #define YYUNDEFTOK 2
472 | #define YYMAXUTOK 318
473 |
474 | #define YYTRANSLATE(YYX) \
475 | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
476 |
477 | /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
478 | static const unsigned char yytranslate[] =
479 | {
480 | 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
481 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
482 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
483 | 2, 2, 2, 87, 2, 2, 2, 85, 79, 2,
484 | 73, 74, 75, 82, 65, 83, 70, 84, 2, 2,
485 | 2, 2, 2, 2, 2, 2, 2, 2, 69, 64,
486 | 80, 66, 81, 76, 2, 2, 2, 2, 2, 2,
487 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
488 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
489 | 2, 71, 2, 72, 78, 2, 2, 2, 2, 2,
490 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
491 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
492 | 2, 2, 2, 67, 77, 68, 86, 2, 2, 2,
493 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
494 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
495 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
496 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
497 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
498 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
499 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
500 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
501 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
502 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
503 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
504 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
505 | 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
506 | 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
507 | 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
508 | 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
509 | 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
510 | 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
511 | 55, 56, 57, 58, 59, 60, 61, 62, 63
512 | };
513 |
514 | #if YYDEBUG
515 | /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
516 | YYRHS. */
517 | static const unsigned short yyprhs[] =
518 | {
519 | 0, 0, 3, 4, 6, 8, 11, 13, 15, 17,
520 | 19, 21, 24, 28, 31, 33, 35, 38, 40, 43,
521 | 45, 48, 50, 51, 56, 58, 60, 63, 66, 70,
522 | 73, 75, 78, 82, 87, 89, 93, 95, 99, 104,
523 | 109, 115, 117, 121, 123, 126, 128, 132, 135, 139,
524 | 143, 148, 151, 155, 159, 164, 166, 169, 171, 174,
525 | 177, 181, 183, 187, 189, 191, 193, 197, 198, 199,
526 | 206, 208, 210, 212, 214, 216, 218, 220, 222, 225,
527 | 227, 229, 231, 233, 235, 237, 239, 241, 243, 245,
528 | 247, 249, 251, 254, 257, 259, 262, 265, 267, 269,
529 | 271, 273, 275, 277, 279, 281, 283, 285, 288, 290,
530 | 292, 293, 299, 300, 307, 309, 312, 314, 318, 320,
531 | 324, 326, 329, 331, 333, 335, 337, 338, 344, 345,
532 | 352, 355, 357, 359, 361, 363, 364, 370, 371, 378,
533 | 381, 383, 385, 386, 388, 390, 393, 395, 398, 401,
534 | 403, 404, 409, 410, 416, 417, 423, 425, 429, 431,
535 | 433, 435, 438, 442, 444, 446, 448, 449, 453, 455,
536 | 457, 460, 463, 467, 469, 471, 475, 478, 483, 484,
537 | 490, 492, 493, 495, 497, 499, 503, 505, 509, 511,
538 | 515, 518, 520, 523, 525, 527, 529, 531, 533, 535,
539 | 537, 539, 541, 543, 545, 547, 548, 549, 555, 556,
540 | 558, 560, 563, 565, 567, 569, 571, 579, 585, 587,
541 | 589, 591, 599, 605, 608, 612, 616, 620, 625, 630,
542 | 635, 641, 647, 650, 653, 656, 659, 664, 666, 668,
543 | 670, 676, 679, 682, 685, 689, 691, 694, 698, 700,
544 | 702, 706, 708, 710, 714, 720, 722, 724, 726, 728,
545 | 730, 732, 734, 736, 738, 740, 742, 744, 750, 755,
546 | 757, 761, 763, 767, 769, 773, 775, 779, 781, 785,
547 | 787, 791, 793, 795, 797, 801, 803, 805, 807, 809,
548 | 811, 815, 817, 819, 821, 825, 827, 829, 831, 835,
549 | 837, 839, 841, 843, 845, 847, 849, 851, 853, 855,
550 | 857, 859, 861, 863, 866, 869, 874, 881, 888, 891,
551 | 894, 897, 900, 905, 908, 911, 914, 916, 918, 920,
552 | 922, 924, 926, 928, 930, 932, 936, 940, 944, 949,
553 | 953, 958, 961, 964, 969, 971, 973, 975, 977, 979,
554 | 982, 986, 987, 988, 994, 996, 998, 1002, 1008, 1016,
555 | 1026, 1038, 1040, 1043, 1046, 1047, 1049, 1053, 1058, 1059,
556 | 1061, 1065, 1070, 1073, 1075, 1079, 1080, 1082, 1086, 1090,
557 | 1096, 1101, 1108, 1110
558 | };
559 |
560 | /* YYRHS -- A `-1'-separated list of the rules' RHS. */
561 | static const short yyrhs[] =
562 | {
563 | 89, 0, -1, -1, 90, -1, 91, -1, 90, 91,
564 | -1, 93, -1, 162, -1, 249, -1, 200, -1, 93,
565 | -1, 92, 93, -1, 94, 96, 64, -1, 94, 64,
566 | -1, 95, -1, 115, -1, 115, 95, -1, 118, -1,
567 | 118, 95, -1, 117, -1, 117, 95, -1, 98, -1,
568 | -1, 96, 65, 97, 98, -1, 99, -1, 107, -1,
569 | 107, 254, -1, 107, 100, -1, 107, 254, 100, -1,
570 | 66, 101, -1, 204, -1, 67, 68, -1, 67, 102,
571 | 68, -1, 67, 102, 65, 68, -1, 103, -1, 102,
572 | 65, 103, -1, 101, -1, 161, 69, 101, -1, 70,
573 | 161, 66, 101, -1, 71, 104, 72, 101, -1, 71,
574 | 104, 72, 66, 101, -1, 247, -1, 247, 7, 247,
575 | -1, 108, -1, 108, 106, -1, 106, -1, 73, 105,
576 | 74, -1, 71, 72, -1, 106, 71, 72, -1, 71,
577 | 247, 72, -1, 106, 71, 247, 72, -1, 73, 74,
578 | -1, 106, 73, 74, -1, 73, 173, 74, -1, 106,
579 | 73, 173, 74, -1, 109, -1, 108, 109, -1, 75,
580 | -1, 75, 116, -1, 75, 108, -1, 75, 116, 108,
581 | -1, 110, -1, 73, 107, 74, -1, 111, -1, 168,
582 | -1, 3, -1, 109, 71, 72, -1, -1, -1, 109,
583 | 71, 112, 247, 113, 72, -1, 3, -1, 33, -1,
584 | 31, -1, 34, -1, 32, -1, 30, -1, 38, -1,
585 | 117, -1, 116, 117, -1, 35, -1, 36, -1, 119,
586 | -1, 127, -1, 120, -1, 121, -1, 123, -1, 137,
587 | -1, 124, -1, 143, -1, 125, -1, 45, -1, 46,
588 | -1, 46, 42, -1, 42, 46, -1, 122, -1, 122,
589 | 117, -1, 121, 122, -1, 43, -1, 44, -1, 39,
590 | -1, 40, -1, 41, -1, 42, -1, 47, -1, 4,
591 | -1, 37, -1, 94, -1, 94, 105, -1, 128, -1,
592 | 135, -1, -1, 50, 67, 129, 131, 68, -1, -1,
593 | 50, 136, 67, 130, 131, 68, -1, 132, -1, 132,
594 | 65, -1, 133, -1, 132, 65, 133, -1, 134, -1,
595 | 134, 66, 204, -1, 3, -1, 50, 136, -1, 3,
596 | -1, 4, -1, 138, -1, 141, -1, -1, 48, 67,
597 | 139, 149, 68, -1, -1, 48, 142, 67, 140, 149,
598 | 68, -1, 48, 142, -1, 3, -1, 4, -1, 144,
599 | -1, 147, -1, -1, 49, 67, 145, 149, 68, -1,
600 | -1, 49, 148, 67, 146, 149, 68, -1, 49, 148,
601 | -1, 3, -1, 4, -1, -1, 150, -1, 151, -1,
602 | 150, 151, -1, 64, -1, 138, 64, -1, 144, 64,
603 | -1, 152, -1, -1, 118, 153, 156, 64, -1, -1,
604 | 116, 118, 154, 156, 64, -1, -1, 118, 116, 155,
605 | 156, 64, -1, 157, -1, 156, 65, 157, -1, 158,
606 | -1, 159, -1, 107, -1, 69, 160, -1, 107, 69,
607 | 160, -1, 204, -1, 3, -1, 4, -1, -1, 164,
608 | 163, 177, -1, 165, -1, 166, -1, 94, 166, -1,
609 | 166, 92, -1, 94, 166, 92, -1, 167, -1, 168,
610 | -1, 73, 168, 74, -1, 108, 168, -1, 108, 73,
611 | 168, 74, -1, -1, 170, 73, 169, 171, 74, -1,
612 | 109, -1, -1, 173, -1, 172, -1, 3, -1, 172,
613 | 65, 3, -1, 174, -1, 174, 65, 7, -1, 175,
614 | -1, 174, 65, 175, -1, 94, 107, -1, 94, -1,
615 | 94, 105, -1, 249, -1, 177, -1, 183, -1, 186,
616 | -1, 191, -1, 195, -1, 196, -1, 197, -1, 198,
617 | -1, 199, -1, 200, -1, 201, -1, -1, -1, 67,
618 | 178, 180, 179, 68, -1, -1, 181, -1, 182, -1,
619 | 181, 182, -1, 176, -1, 93, -1, 185, -1, 184,
620 | -1, 53, 73, 202, 74, 176, 54, 176, -1, 53,
621 | 73, 202, 74, 176, -1, 187, -1, 188, -1, 190,
622 | -1, 57, 176, 56, 73, 202, 74, 64, -1, 58,
623 | 73, 189, 74, 176, -1, 64, 64, -1, 202, 64,
624 | 64, -1, 64, 202, 64, -1, 64, 64, 202, -1,
625 | 64, 202, 64, 202, -1, 202, 64, 64, 202, -1,
626 | 202, 64, 202, 64, -1, 202, 64, 202, 64, 202,
627 | -1, 56, 73, 202, 74, 176, -1, 192, 69, -1,
628 | 194, 69, -1, 193, 69, -1, 51, 247, -1, 51,
629 | 247, 7, 247, -1, 52, -1, 3, -1, 4, -1,
630 | 55, 73, 202, 74, 176, -1, 61, 64, -1, 60,
631 | 64, -1, 202, 64, -1, 59, 3, 64, -1, 64,
632 | -1, 62, 64, -1, 62, 202, 64, -1, 203, -1,
633 | 204, -1, 203, 65, 204, -1, 206, -1, 255, -1,
634 | 222, 205, 204, -1, 222, 205, 67, 256, 68, -1,
635 | 66, -1, 8, -1, 9, -1, 10, -1, 11, -1,
636 | 12, -1, 13, -1, 14, -1, 15, -1, 16, -1,
637 | 17, -1, 207, -1, 207, 76, 202, 69, 206, -1,
638 | 207, 76, 69, 206, -1, 208, -1, 207, 22, 208,
639 | -1, 209, -1, 208, 21, 209, -1, 210, -1, 209,
640 | 77, 210, -1, 211, -1, 210, 78, 211, -1, 212,
641 | -1, 211, 79, 212, -1, 214, -1, 212, 213, 214,
642 | -1, 18, -1, 19, -1, 216, -1, 214, 215, 216,
643 | -1, 80, -1, 25, -1, 81, -1, 26, -1, 218,
644 | -1, 216, 217, 218, -1, 27, -1, 28, -1, 220,
645 | -1, 218, 219, 220, -1, 82, -1, 83, -1, 222,
646 | -1, 220, 221, 222, -1, 75, -1, 84, -1, 85,
647 | -1, 223, -1, 224, -1, 225, -1, 226, -1, 227,
648 | -1, 228, -1, 229, -1, 230, -1, 231, -1, 232,
649 | -1, 233, -1, 79, 222, -1, 86, 222, -1, 73,
650 | 126, 74, 222, -1, 73, 126, 74, 67, 256, 68,
651 | -1, 73, 126, 74, 67, 259, 68, -1, 75, 222,
652 | -1, 87, 222, -1, 23, 222, -1, 24, 222, -1,
653 | 29, 73, 126, 74, -1, 29, 222, -1, 83, 222,
654 | -1, 82, 222, -1, 234, -1, 237, -1, 238, -1,
655 | 239, -1, 240, -1, 241, -1, 242, -1, 235, -1,
656 | 236, -1, 233, 70, 161, -1, 233, 20, 161, -1,
657 | 233, 73, 74, -1, 233, 73, 248, 74, -1, 114,
658 | 73, 74, -1, 114, 73, 248, 74, -1, 233, 23,
659 | -1, 233, 24, -1, 233, 71, 202, 72, -1, 114,
660 | -1, 5, -1, 243, -1, 244, -1, 6, -1, 243,
661 | 6, -1, 73, 202, 74, -1, -1, -1, 73, 245,
662 | 177, 246, 74, -1, 202, -1, 204, -1, 248, 65,
663 | 204, -1, 250, 73, 243, 74, 64, -1, 250, 73,
664 | 243, 69, 251, 74, 64, -1, 250, 73, 243, 69,
665 | 251, 69, 251, 74, 64, -1, 250, 73, 243, 69,
666 | 251, 69, 251, 69, 253, 74, 64, -1, 63, -1,
667 | 63, 36, -1, 36, 63, -1, -1, 252, -1, 251,
668 | 65, 252, -1, 243, 73, 202, 74, -1, -1, 243,
669 | -1, 253, 65, 243, -1, 63, 73, 243, 74, -1,
670 | 21, 194, -1, 257, -1, 256, 65, 257, -1, -1,
671 | 204, -1, 67, 256, 68, -1, 161, 69, 204, -1,
672 | 161, 69, 67, 256, 68, -1, 70, 161, 66, 204,
673 | -1, 70, 161, 66, 67, 256, 68, -1, 258, -1,
674 | 259, 65, 258, -1
675 | };
676 |
677 | /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
678 | static const unsigned short yyrline[] =
679 | {
680 | 0, 168, 168, 170, 174, 175, 179, 181, 183, 184,
681 | 190, 192, 198, 200, 205, 211, 212, 214, 216, 219,
682 | 220, 227, 228, 228, 232, 278, 279, 280, 281, 285,
683 | 289, 290, 291, 292, 296, 297, 301, 302, 303, 304,
684 | 305, 309, 310, 317, 318, 320, 324, 327, 329, 331,
685 | 333, 335, 337, 339, 341, 348, 350, 355, 356, 358,
686 | 360, 365, 366, 370, 371, 375, 382, 384, 384, 384,
687 | 391, 395, 397, 402, 404, 406, 410, 415, 416, 421,
688 | 423, 430, 435, 436, 437, 438, 439, 440, 441, 442,
689 | 446, 447, 448, 450, 455, 456, 458, 463, 464, 465,
690 | 466, 467, 468, 472, 476, 480, 484, 486, 493, 494,
691 | 499, 498, 512, 511, 527, 528, 532, 533, 538, 540,
692 | 545, 549, 554, 555, 561, 562, 567, 566, 580, 579,
693 | 595, 600, 601, 607, 608, 613, 612, 626, 625, 641,
694 | 646, 647, 652, 654, 658, 659, 664, 665, 668, 671,
695 | 676, 675, 680, 679, 684, 683, 690, 692, 698, 699,
696 | 703, 708, 710, 715, 719, 720, 729, 728, 735, 757,
697 | 758, 760, 761, 768, 773, 774, 775, 777, 783, 782,
698 | 793, 802, 804, 805, 809, 811, 817, 818, 824, 827,
699 | 833, 835, 837, 844, 845, 846, 847, 848, 849, 850,
700 | 851, 852, 853, 854, 855, 862, 864, 861, 868, 870,
701 | 874, 875, 879, 880, 887, 888, 892, 896, 902, 903,
702 | 904, 908, 912, 916, 917, 918, 919, 920, 921, 922,
703 | 923, 927, 933, 934, 935, 939, 940, 944, 948, 949,
704 | 955, 961, 965, 969, 973, 977, 981, 982, 988, 994,
705 | 995, 1002, 1003, 1004, 1005, 1008, 1009, 1010, 1011, 1012,
706 | 1013, 1014, 1015, 1016, 1017, 1018, 1024, 1025, 1027, 1034,
707 | 1035, 1042, 1043, 1050, 1051, 1058, 1059, 1066, 1067, 1074,
708 | 1075, 1079, 1080, 1086, 1087, 1091, 1092, 1093, 1094, 1100,
709 | 1101, 1105, 1106, 1112, 1113, 1117, 1118, 1124, 1125, 1129,
710 | 1130, 1131, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144,
711 | 1145, 1146, 1147, 1151, 1155, 1160, 1162, 1163, 1167, 1171,
712 | 1176, 1180, 1184, 1186, 1191, 1196, 1203, 1204, 1205, 1207,
713 | 1208, 1209, 1210, 1214, 1215, 1219, 1223, 1227, 1228, 1232,
714 | 1233, 1237, 1241, 1245, 1249, 1251, 1252, 1253, 1256, 1257,
715 | 1261, 1263, 1263, 1263, 1269, 1273, 1274, 1282, 1283, 1284,
716 | 1285, 1289, 1290, 1291, 1294, 1296, 1297, 1301, 1304, 1306,
717 | 1307, 1311, 1317, 1323, 1324, 1327, 1329, 1330, 1334, 1335,
718 | 1336, 1337, 1341, 1342
719 | };
720 | #endif
721 |
722 | #if YYDEBUG || YYERROR_VERBOSE
723 | /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
724 | First, the terminals, then, starting at YYNTOKENS, nonterminals. */
725 | static const char *const yytname[] =
726 | {
727 | "$end", "error", "$undefined", "IDENTIFIER", "TYPE_NAME", "LITERAL",
728 | "STRING_LITERAL", "ELLIPSES", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN",
729 | "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
730 | "XOR_ASSIGN", "OR_ASSIGN", "EQ_OP", "NE_OP", "PTR_OP", "AND_OP",
731 | "OR_OP", "DEC_OP", "INC_OP", "LE_OP", "GE_OP", "LEFT_SHIFT",
732 | "RIGHT_SHIFT", "SIZEOF", "TYPEDEF", "EXTERN", "STATIC", "AUTO",
733 | "REGISTER", "CONST", "VOLATILE", "VOID", "INLINE", "CHAR", "SHORT",
734 | "INT", "LONG", "SIGNED", "UNSIGNED", "FLOAT", "DOUBLE", "BOOL",
735 | "STRUCT", "UNION", "ENUM", "CASE", "DEFAULT", "IF", "ELSE", "SWITCH",
736 | "WHILE", "DO", "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "ASM",
737 | "';'", "','", "'='", "'{'", "'}'", "':'", "'.'", "'['", "']'", "'('",
738 | "')'", "'*'", "'?'", "'|'", "'^'", "'&'", "'<'", "'>'", "'+'", "'-'",
739 | "'/'", "'%'", "'~'", "'!'", "$accept", "file", "program",
740 | "top_level_declaration", "declaration_list", "declaration",
741 | "declaration_specifiers", "declaration_specifiers1",
742 | "initialized_declarator_list", "@1", "initialized_declarator",
743 | "initialized_declarator1", "initializer_part", "initializer",
744 | "initializer_list", "named_initializer", "named_initializer_index",
745 | "abstract_declarator", "direct_abstract_declarator", "declarator",
746 | "pointer", "direct_declarator", "simple_declarator", "array_declarator",
747 | "@2", "@3", "name", "storage_class_specifier", "type_qualifier_list",
748 | "type_qualifier", "type_specifier", "type_specifier1",
749 | "floating_type_specifier", "integer_type_specifier",
750 | "integer_type_specifier_part", "boolean_type_specifier", "typedef_name",
751 | "void_type_specifier", "type_name", "enumeration_type_specifier",
752 | "enumeration_type_definition", "@4", "@5",
753 | "enumeration_definition_list", "enumeration_definition_list1",
754 | "enumeration_constant_definition", "enumeration_constant",
755 | "enumeration_type_reference", "enumeration_tag",
756 | "structure_type_specifier", "structure_type_definition", "@6", "@7",
757 | "structure_type_reference", "structure_tag", "union_type_specifier",
758 | "union_type_definition", "@8", "@9", "union_type_reference",
759 | "union_tag", "field_list", "field_list1", "field_list2",
760 | "component_declaration", "@10", "@11", "@12",
761 | "component_declarator_list", "component_declarator", "simple_component",
762 | "bit_field", "width", "component_name", "function_definition", "@13",
763 | "function_specifier", "function_specifier1", "function_declarator",
764 | "function_declarator0", "function_direct_declarator", "@14",
765 | "function_declarator1", "function_declarator2", "identifier_list",
766 | "parameter_type_list", "parameter_list", "parameter_declaration",
767 | "statement", "compound_statement", "@15", "@16",
768 | "compound_statement_body", "block_item_list", "block_item",
769 | "conditional_statement", "if_else_statement", "if_statement",
770 | "iterative_statement", "do_statement", "for_statement",
771 | "for_expressions", "while_statement", "labeled_statement", "case_label",
772 | "default_label", "named_label", "switch_statement", "break_statement",
773 | "continue_statement", "expression_statement", "goto_statement",
774 | "null_statement", "return_statement", "expression", "comma_expression",
775 | "assignment_expression", "assignment_op", "conditional_expression",
776 | "logical_or_expression", "logical_and_expression",
777 | "bitwise_or_expression", "bitwise_xor_expression",
778 | "bitwise_and_expression", "equality_expression", "equality_op",
779 | "relational_expression", "relational_op", "shift_expression",
780 | "shift_op", "additive_expression", "add_op",
781 | "multiplicative_expression", "mult_op", "unary_expression",
782 | "address_expression", "bitwise_negation_expression", "cast_expression",
783 | "indirection_expression", "logical_negation_expression",
784 | "predecrement_expression", "preincrement_expression",
785 | "sizeof_expression", "unary_minus_expression", "unary_plus_expression",
786 | "postfix_expression", "component_selection_expression",
787 | "direct_component_selection", "indirect_component_selection",
788 | "function_call", "function_call_direct", "postdecrement_expression",
789 | "postincrement_expression", "subscript_expression",
790 | "primary_expression", "string_literal", "parenthesized_expression",
791 | "@17", "@18", "constant_expression", "expression_list", "asm_statement",
792 | "asm_type", "asm_inout_list", "asm_inout", "asm_clobber_list",
793 | "asm_label", "named_label_address", "assignment_expression_list",
794 | "assignment_expression_list_item", "named_assignment",
795 | "named_assignment_list", 0
796 | };
797 | #endif
798 |
799 | # ifdef YYPRINT
800 | /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
801 | token YYLEX-NUM. */
802 | static const unsigned short yytoknum[] =
803 | {
804 | 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
805 | 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
806 | 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
807 | 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
808 | 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
809 | 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
810 | 315, 316, 317, 318, 59, 44, 61, 123, 125, 58,
811 | 46, 91, 93, 40, 41, 42, 63, 124, 94, 38,
812 | 60, 62, 43, 45, 47, 37, 126, 33
813 | };
814 | # endif
815 |
816 | /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
817 | static const unsigned short yyr1[] =
818 | {
819 | 0, 88, 89, 89, 90, 90, 91, 91, 91, 91,
820 | 92, 92, 93, 93, 94, 95, 95, 95, 95, 95,
821 | 95, 96, 97, 96, 98, 99, 99, 99, 99, 100,
822 | 101, 101, 101, 101, 102, 102, 103, 103, 103, 103,
823 | 103, 104, 104, 105, 105, 105, 106, 106, 106, 106,
824 | 106, 106, 106, 106, 106, 107, 107, 108, 108, 108,
825 | 108, 109, 109, 109, 109, 110, 111, 112, 113, 111,
826 | 114, 115, 115, 115, 115, 115, 115, 116, 116, 117,
827 | 117, 118, 119, 119, 119, 119, 119, 119, 119, 119,
828 | 120, 120, 120, 120, 121, 121, 121, 122, 122, 122,
829 | 122, 122, 122, 123, 124, 125, 126, 126, 127, 127,
830 | 129, 128, 130, 128, 131, 131, 132, 132, 133, 133,
831 | 134, 135, 136, 136, 137, 137, 139, 138, 140, 138,
832 | 141, 142, 142, 143, 143, 145, 144, 146, 144, 147,
833 | 148, 148, 149, 149, 150, 150, 151, 151, 151, 151,
834 | 153, 152, 154, 152, 155, 152, 156, 156, 157, 157,
835 | 158, 159, 159, 160, 161, 161, 163, 162, 164, 165,
836 | 165, 165, 165, 166, 167, 167, 167, 167, 169, 168,
837 | 170, 171, 171, 171, 172, 172, 173, 173, 174, 174,
838 | 175, 175, 175, 176, 176, 176, 176, 176, 176, 176,
839 | 176, 176, 176, 176, 176, 178, 179, 177, 180, 180,
840 | 181, 181, 182, 182, 183, 183, 184, 185, 186, 186,
841 | 186, 187, 188, 189, 189, 189, 189, 189, 189, 189,
842 | 189, 190, 191, 191, 191, 192, 192, 193, 194, 194,
843 | 195, 196, 197, 198, 199, 200, 201, 201, 202, 203,
844 | 203, 204, 204, 204, 204, 205, 205, 205, 205, 205,
845 | 205, 205, 205, 205, 205, 205, 206, 206, 206, 207,
846 | 207, 208, 208, 209, 209, 210, 210, 211, 211, 212,
847 | 212, 213, 213, 214, 214, 215, 215, 215, 215, 216,
848 | 216, 217, 217, 218, 218, 219, 219, 220, 220, 221,
849 | 221, 221, 222, 222, 222, 222, 222, 222, 222, 222,
850 | 222, 222, 222, 223, 224, 225, 225, 225, 226, 227,
851 | 228, 229, 230, 230, 231, 232, 233, 233, 233, 233,
852 | 233, 233, 233, 234, 234, 235, 236, 237, 237, 238,
853 | 238, 239, 240, 241, 242, 242, 242, 242, 243, 243,
854 | 244, 245, 246, 244, 247, 248, 248, 249, 249, 249,
855 | 249, 250, 250, 250, 251, 251, 251, 252, 253, 253,
856 | 253, 254, 255, 256, 256, 257, 257, 257, 258, 258,
857 | 258, 258, 259, 259
858 | };
859 |
860 | /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
861 | static const unsigned char yyr2[] =
862 | {
863 | 0, 2, 0, 1, 1, 2, 1, 1, 1, 1,
864 | 1, 2, 3, 2, 1, 1, 2, 1, 2, 1,
865 | 2, 1, 0, 4, 1, 1, 2, 2, 3, 2,
866 | 1, 2, 3, 4, 1, 3, 1, 3, 4, 4,
867 | 5, 1, 3, 1, 2, 1, 3, 2, 3, 3,
868 | 4, 2, 3, 3, 4, 1, 2, 1, 2, 2,
869 | 3, 1, 3, 1, 1, 1, 3, 0, 0, 6,
870 | 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
871 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
872 | 1, 1, 2, 2, 1, 2, 2, 1, 1, 1,
873 | 1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
874 | 0, 5, 0, 6, 1, 2, 1, 3, 1, 3,
875 | 1, 2, 1, 1, 1, 1, 0, 5, 0, 6,
876 | 2, 1, 1, 1, 1, 0, 5, 0, 6, 2,
877 | 1, 1, 0, 1, 1, 2, 1, 2, 2, 1,
878 | 0, 4, 0, 5, 0, 5, 1, 3, 1, 1,
879 | 1, 2, 3, 1, 1, 1, 0, 3, 1, 1,
880 | 2, 2, 3, 1, 1, 3, 2, 4, 0, 5,
881 | 1, 0, 1, 1, 1, 3, 1, 3, 1, 3,
882 | 2, 1, 2, 1, 1, 1, 1, 1, 1, 1,
883 | 1, 1, 1, 1, 1, 0, 0, 5, 0, 1,
884 | 1, 2, 1, 1, 1, 1, 7, 5, 1, 1,
885 | 1, 7, 5, 2, 3, 3, 3, 4, 4, 4,
886 | 5, 5, 2, 2, 2, 2, 4, 1, 1, 1,
887 | 5, 2, 2, 2, 3, 1, 2, 3, 1, 1,
888 | 3, 1, 1, 3, 5, 1, 1, 1, 1, 1,
889 | 1, 1, 1, 1, 1, 1, 1, 5, 4, 1,
890 | 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
891 | 3, 1, 1, 1, 3, 1, 1, 1, 1, 1,
892 | 3, 1, 1, 1, 3, 1, 1, 1, 3, 1,
893 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
894 | 1, 1, 1, 2, 2, 4, 6, 6, 2, 2,
895 | 2, 2, 4, 2, 2, 2, 1, 1, 1, 1,
896 | 1, 1, 1, 1, 1, 3, 3, 3, 4, 3,
897 | 4, 2, 2, 4, 1, 1, 1, 1, 1, 2,
898 | 3, 0, 0, 5, 1, 1, 3, 5, 7, 9,
899 | 11, 1, 2, 2, 0, 1, 3, 4, 0, 1,
900 | 3, 4, 2, 1, 3, 0, 1, 3, 3, 5,
901 | 4, 6, 1, 3
902 | };
903 |
904 | /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
905 | STATE-NUM when YYTABLE doesn't specify something else to do. Zero
906 | means the default is an error. */
907 | static const unsigned short yydefact[] =
908 | {
909 | 2, 65, 104, 75, 72, 74, 71, 73, 79, 80,
910 | 105, 76, 99, 100, 101, 102, 97, 98, 90, 91,
911 | 103, 0, 0, 0, 361, 245, 0, 57, 0, 3,
912 | 4, 6, 0, 14, 0, 180, 61, 63, 15, 19,
913 | 17, 81, 83, 84, 94, 85, 87, 89, 82, 108,
914 | 109, 86, 124, 125, 88, 133, 134, 7, 166, 168,
915 | 169, 173, 174, 0, 9, 8, 0, 363, 93, 92,
916 | 131, 132, 126, 130, 140, 141, 135, 139, 122, 123,
917 | 110, 121, 362, 0, 0, 0, 55, 64, 80, 59,
918 | 58, 77, 1, 5, 13, 0, 21, 24, 25, 0,
919 | 170, 0, 176, 67, 16, 20, 18, 102, 96, 95,
920 | 0, 171, 10, 0, 178, 0, 142, 128, 142, 137,
921 | 0, 112, 64, 62, 56, 175, 60, 78, 12, 22,
922 | 0, 0, 27, 26, 172, 64, 66, 0, 205, 167,
923 | 11, 181, 348, 0, 146, 0, 150, 124, 133, 0,
924 | 143, 144, 149, 142, 0, 142, 120, 0, 114, 116,
925 | 118, 0, 0, 0, 70, 345, 0, 0, 0, 0,
926 | 0, 351, 0, 0, 0, 0, 0, 0, 29, 344,
927 | 30, 251, 266, 269, 271, 273, 275, 277, 279, 283,
928 | 289, 293, 297, 302, 303, 304, 305, 306, 307, 308,
929 | 309, 310, 311, 312, 326, 333, 334, 327, 328, 329,
930 | 330, 331, 332, 346, 347, 252, 28, 177, 354, 248,
931 | 249, 68, 208, 184, 191, 0, 183, 182, 186, 188,
932 | 349, 364, 0, 152, 154, 0, 147, 148, 127, 145,
933 | 0, 136, 0, 111, 115, 0, 0, 23, 0, 238,
934 | 239, 372, 320, 321, 351, 323, 70, 165, 31, 0,
935 | 0, 36, 0, 34, 0, 106, 0, 0, 0, 318,
936 | 313, 325, 324, 314, 319, 0, 0, 0, 0, 0,
937 | 0, 0, 281, 282, 0, 286, 288, 285, 287, 0,
938 | 291, 292, 0, 295, 296, 0, 299, 300, 301, 0,
939 | 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
940 | 255, 0, 0, 341, 342, 0, 0, 0, 0, 0,
941 | 70, 104, 0, 237, 0, 0, 0, 0, 0, 0,
942 | 0, 0, 0, 213, 212, 194, 206, 209, 210, 195,
943 | 215, 214, 196, 218, 219, 220, 197, 0, 0, 0,
944 | 198, 199, 200, 201, 202, 203, 204, 0, 193, 0,
945 | 0, 192, 45, 190, 43, 179, 0, 0, 0, 0,
946 | 365, 357, 0, 0, 0, 160, 0, 156, 158, 159,
947 | 129, 138, 117, 119, 113, 371, 0, 164, 0, 0,
948 | 41, 0, 32, 0, 0, 107, 43, 0, 350, 352,
949 | 339, 355, 0, 270, 297, 0, 0, 272, 274, 276,
950 | 278, 280, 284, 290, 294, 298, 375, 253, 336, 335,
951 | 0, 337, 0, 250, 69, 235, 0, 0, 0, 0,
952 | 0, 0, 0, 242, 241, 246, 0, 0, 211, 232,
953 | 234, 233, 243, 47, 0, 51, 0, 0, 0, 0,
954 | 44, 185, 187, 189, 0, 0, 364, 0, 0, 0,
955 | 161, 163, 0, 151, 0, 322, 0, 0, 0, 33,
956 | 35, 37, 375, 315, 0, 0, 340, 268, 0, 375,
957 | 376, 0, 373, 343, 338, 0, 0, 0, 0, 0,
958 | 0, 0, 0, 244, 247, 207, 49, 46, 53, 48,
959 | 0, 52, 0, 0, 366, 0, 358, 153, 155, 162,
960 | 157, 38, 0, 39, 42, 0, 0, 0, 382, 0,
961 | 353, 356, 267, 0, 375, 254, 236, 0, 0, 0,
962 | 0, 223, 0, 0, 0, 50, 54, 367, 368, 0,
963 | 40, 0, 0, 316, 0, 317, 377, 374, 217, 240,
964 | 231, 0, 226, 225, 222, 224, 0, 369, 0, 359,
965 | 0, 375, 378, 383, 0, 0, 227, 228, 229, 0,
966 | 0, 375, 380, 0, 216, 221, 230, 370, 360, 0,
967 | 379, 381
968 | };
969 |
970 | /* YYDEFGOTO[NTERM-NUM]. */
971 | static const short yydefgoto[] =
972 | {
973 | -1, 28, 29, 30, 111, 31, 113, 33, 95, 162,
974 | 96, 97, 132, 261, 262, 263, 389, 446, 362, 84,
975 | 85, 86, 36, 37, 137, 319, 179, 38, 145, 39,
976 | 40, 41, 42, 43, 44, 45, 46, 47, 266, 48,
977 | 49, 120, 161, 157, 158, 159, 160, 50, 81, 51,
978 | 52, 116, 153, 53, 73, 54, 55, 118, 155, 56,
979 | 77, 149, 150, 151, 152, 235, 372, 373, 376, 377,
980 | 378, 379, 460, 264, 57, 110, 58, 59, 60, 61,
981 | 122, 141, 63, 225, 226, 447, 228, 229, 334, 335,
982 | 222, 437, 336, 337, 338, 339, 340, 341, 342, 343,
983 | 344, 491, 345, 346, 347, 348, 349, 350, 351, 352,
984 | 353, 354, 355, 356, 357, 219, 220, 311, 181, 182,
985 | 183, 184, 185, 186, 187, 284, 188, 289, 189, 292,
986 | 190, 295, 191, 299, 192, 193, 194, 195, 196, 197,
987 | 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
988 | 208, 209, 210, 211, 212, 213, 214, 268, 474, 221,
989 | 402, 358, 66, 369, 370, 558, 133, 215, 481, 482,
990 | 518, 519
991 | };
992 |
993 | /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
994 | STATE-NUM. */
995 | #define YYPACT_NINF -458
996 | static const short yypact[] =
997 | {
998 | 1436, -458, -458, -458, -458, -458, -458, -458, -458, -44,
999 | -458, -458, -458, -458, -458, -13, -458, -458, -458, 2,
1000 | -458, 70, 130, 140, 35, -458, 46, 124, 50, 1436,
1001 | -458, -458, 15, -458, 29, 68, -458, -458, 1694, 1694,
1002 | 1694, -458, -458, 237, 22, -458, -458, -458, -458, -458,
1003 | -458, -458, -458, -458, -458, -458, -458, -458, -458, -458,
1004 | 1694, -458, 354, 19, -458, -458, 79, -458, -458, -458,
1005 | -458, -458, -458, 91, -458, -458, -458, 95, -458, -458,
1006 | -458, 110, -458, 46, 118, 32, 55, 126, -458, -458,
1007 | 124, -458, -458, -458, -458, 131, -458, -458, -43, 29,
1008 | 1694, 46, 354, 134, -458, -458, -458, -458, -458, -458,
1009 | 154, 1694, -458, 18, -458, 219, 666, -458, 666, -458,
1010 | 226, -458, -458, -458, 55, -458, -458, -458, -458, -458,
1011 | 170, 768, -458, 182, 1694, 209, -458, 1344, -458, -458,
1012 | -458, 1626, -458, 41, -458, 1501, 22, 192, 247, 258,
1013 | 666, -458, -458, 666, 261, 666, -458, 264, 257, -458,
1014 | 269, 226, 46, 219, -458, -458, 213, 151, 151, 1378,
1015 | 304, 520, 151, 151, 151, 151, 151, 151, -458, 272,
1016 | -458, -458, 4, 303, 259, 268, 271, 255, 123, 263,
1017 | 211, 127, 396, -458, -458, -458, -458, -458, -458, -458,
1018 | -458, -458, -458, 216, -458, -458, -458, -458, -458, -458,
1019 | -458, -458, -458, 347, -458, -458, -458, -458, -458, 290,
1020 | -458, -458, 435, -458, 25, 282, 292, -458, 293, -458,
1021 | -458, 219, 296, -458, 22, 38, -458, -458, -458, -458,
1022 | 294, -458, 295, -458, 226, 1344, 298, -458, 21, -458,
1023 | -458, -458, -458, -458, 520, -458, 300, -458, -458, 310,
1024 | 1344, -458, 57, -458, 301, 178, 302, 306, 154, -458,
1025 | -458, -458, -458, -458, -458, 793, 151, 868, 151, 151,
1026 | 151, 151, -458, -458, 151, -458, -458, -458, -458, 151,
1027 | -458, -458, 151, -458, -458, 151, -458, -458, -458, 151,
1028 | -458, -458, -458, -458, -458, -458, -458, -458, -458, -458,
1029 | -458, 890, 310, -458, -458, 310, 1344, 915, 1344, 309,
1030 | 313, 316, 1344, -458, 291, 305, 315, 568, 319, 386,
1031 | 329, 333, 990, -458, -458, -458, -458, 435, -458, -458,
1032 | -458, -458, -458, -458, -458, -458, -458, 346, 352, 357,
1033 | -458, -458, -458, -458, -458, -458, -458, 334, -458, 1012,
1034 | 1484, -458, 189, -458, 14, -458, 399, 1647, 45, 76,
1035 | -458, -458, 38, 38, 1344, 359, 251, -458, -458, -458,
1036 | -458, -458, -458, -458, -458, -458, 342, -458, 363, 358,
1037 | 424, 653, -458, 768, 1531, -458, 196, 1313, -458, -458,
1038 | -458, -458, 62, 303, -458, 151, 366, 259, 268, 271,
1039 | 255, 123, 263, 211, 127, -458, 1037, -458, -458, -458,
1040 | 364, -458, 90, -458, -458, 437, 1344, 1344, 1344, -44,
1041 | 389, 1108, 378, -458, -458, -458, 382, 379, -458, -458,
1042 | -458, -458, -458, -458, 376, -458, 375, 377, 1130, 1578,
1043 | 189, -458, -458, -458, 1344, 219, 219, 388, 254, 256,
1044 | -458, -458, 1344, -458, 38, 1313, 768, 746, 1344, -458,
1045 | -458, -458, 675, -458, 381, 1344, -458, -458, 151, 1037,
1046 | -458, 105, -458, -458, -458, 1344, 383, 387, 415, 380,
1047 | 1155, 426, 439, -458, -458, -458, -458, -458, -458, -458,
1048 | 391, -458, 427, 430, -458, 119, -458, -458, -458, -458,
1049 | -458, -458, 768, -458, -458, 310, 436, 113, -458, 176,
1050 | -458, -458, -458, 193, 1037, -458, -458, 568, 568, 568,
1051 | 1344, 1344, 442, 568, 1226, -458, -458, -458, 219, 443,
1052 | -458, 394, 1248, -458, 42, -458, -458, -458, 455, -458,
1053 | -458, 438, -458, 1344, -458, 1344, 447, 347, 158, -458,
1054 | 1273, 1037, -458, -458, 568, 449, -458, -458, 1344, 219,
1055 | 451, 1037, -458, 203, -458, -458, -458, 347, -458, 217,
1056 | -458, -458
1057 | };
1058 |
1059 | /* YYPGOTO[NTERM-NUM]. */
1060 | static const short yypgoto[] =
1061 | {
1062 | -458, -458, -458, 487, 419, -35, 1, 266, -458, -458,
1063 | 365, -458, 395, -118, -458, 129, -458, -104, -327, -30,
1064 | 7, 9, -458, -458, -458, -458, -458, -458, -22, -15,
1065 | 97, -458, -458, -458, 486, -458, -458, -458, 276, -458,
1066 | -458, -458, -458, 370, -458, 288, -458, -458, -458, -458,
1067 | 104, -458, -458, -458, -458, -458, 148, -458, -458, -458,
1068 | -458, -87, -458, 384, -458, -458, -458, -458, -42, 69,
1069 | -458, -458, 73, -245, -458, -458, -458, -458, 504, -458,
1070 | 52, -458, -458, -458, -458, -137, -458, 171, -319, -99,
1071 | -458, -458, -458, -458, 200, -458, -458, -458, -458, -458,
1072 | -458, -458, -458, -458, -458, -458, 373, -458, -458, -458,
1073 | -458, -458, 24, -458, -131, -458, -128, -458, -389, -458,
1074 | 270, 262, 297, 265, 267, -458, 299, -458, 253, -458,
1075 | 283, -458, 252, -458, -113, -458, -458, -458, -458, -458,
1076 | -458, -458, -458, -458, -458, -458, -458, -458, -458, -458,
1077 | -458, -458, -458, -458, -458, -115, -458, -458, -458, -250,
1078 | 260, 77, -458, 122, 125, -458, -458, -458, -457, 58,
1079 | 37, -458
1080 | };
1081 |
1082 | /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1083 | positive, shift that token. If negative, reduce the rule which
1084 | number is the opposite. If zero, do what YYDEFACT says.
1085 | If YYTABLE_NINF, syntax error. */
1086 | #define YYTABLE_NINF -240
1087 | static const short yytable[] =
1088 | {
1089 | 143, 32, 98, 180, 227, 90, 218, 34, 430, 35,
1090 | 390, 139, 91, 178, 388, 517, 477, 1, 1, 67,
1091 | 130, 1, 523, 131, 64, 112, 276, 230, 1, 109,
1092 | 32, 154, 1, 68, 89, 1, 34, 450, 35, 99,
1093 | 267, 1, 180, 35, 69, 387, 257, 230, 248, 1,
1094 | 92, 230, 62, 64, 252, 253, 255, 8, 88, 269,
1095 | 270, 271, 272, 273, 274, 112, 240, 418, 242, 450,
1096 | 419, 82, 425, 70, 71, 127, 140, 65, 87, 94,
1097 | 277, 62, 94, 98, 62, 359, 102, 360, 26, 522,
1098 | 27, 83, 114, 27, 124, 385, 359, 126, 360, 140,
1099 | 27, 91, 101, 91, 573, 83, 65, 374, 124, 444,
1100 | 231, 83, 515, 27, 579, 232, 368, 383, 454, 83,
1101 | 361, 27, 391, 267, 234, 392, 103, 475, -180, 218,
1102 | 127, 91, 98, 74, 75, 91, 476, 72, 91, 103,
1103 | 91, 455, 224, 78, 79, 456, 406, 401, 285, 286,
1104 | 457, 102, 115, 135, 164, 475, 165, 142, 117, 8,
1105 | 88, 395, 119, 404, 484, 404, 404, 404, 404, 399,
1106 | 524, 404, 265, 525, 167, 168, 404, 121, 524, 404,
1107 | 169, 543, 404, 417, 455, 420, 415, 333, 538, 401,
1108 | 423, 218, 123, 539, 363, 128, 129, 76, 500, 27,
1109 | 125, 436, 296, 287, 288, 375, 136, 80, 548, 549,
1110 | 550, 297, 298, 146, 554, 146, 249, 250, 514, 127,
1111 | 147, 138, 147, 569, 171, 142, 172, 516, 218, 156,
1112 | 173, 364, 570, 174, 175, 526, 312, 176, 177, 313,
1113 | 314, 544, 233, 163, 545, 574, 461, 146, 131, 359,
1114 | 146, 394, 146, 27, 147, 265, 236, 147, 524, 147,
1115 | 448, 546, 449, 180, 148, 180, 148, 359, 524, 394,
1116 | 541, 580, 396, 282, 283, 471, 12, 13, 14, 107,
1117 | 16, 17, 524, 217, 473, 581, 315, 316, 480, 317,
1118 | 290, 291, 404, 293, 294, 486, 487, 488, 148, 516,
1119 | 492, 148, 333, 148, 104, 105, 106, 256, 257, 165,
1120 | 142, 237, 502, 387, 257, 463, 464, 218, 507, 464,
1121 | 508, 464, 244, 503, 278, 166, 238, 167, 168, 241,
1122 | 458, 459, 243, 169, 461, 245, 279, 218, 180, 180,
1123 | 368, 368, 375, 375, 480, 275, 280, 521, 511, 513,
1124 | 281, 480, 473, 230, 218, 318, 365, 366, 367, 532,
1125 | 371, 224, 380, 381, 426, 404, 384, 364, 224, -164,
1126 | 393, 170, 258, 124, 259, 260, 397, 171, 427, 172,
1127 | 398, 424, -238, 173, 180, -239, 174, 175, 428, 432,
1128 | 176, 177, 431, 433, 540, 224, 480, 434, 442, 551,
1129 | 552, 396, 451, 556, 300, 301, 302, 303, 304, 305,
1130 | 306, 307, 308, 309, 562, 439, 465, -64, -64, -64,
1131 | -64, 440, 566, 557, 567, -64, 441, -64, 462, 466,
1132 | 467, 468, 572, 480, 375, 478, 483, 576, 320, 321,
1133 | 165, 142, 493, 480, 485, 489, 494, 495, 496, 497,
1134 | 224, 498, 506, 530, 577, 520, 166, 527, 167, 168,
1135 | 560, 528, 310, 535, 169, 3, 4, 5, 6, 7,
1136 | 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1137 | 18, 19, 20, 21, 22, 23, 322, 323, 324, 529,
1138 | 325, 326, 327, 328, 329, 330, 331, 332, 24, 25,
1139 | 533, 536, 138, 534, 537, 542, 553, 559, 171, 564,
1140 | 172, 568, 565, 575, 173, 578, 93, 174, 175, 134,
1141 | 470, 176, 177, 164, 2, 165, 142, 247, 216, 108,
1142 | 386, 246, 382, 510, 239, 509, 100, 438, 453, 251,
1143 | 407, 166, 412, 167, 168, 409, 403, 414, 410, 169,
1144 | 3, 4, 5, 6, 7, 8, 88, 10, 11, 12,
1145 | 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1146 | 23, 320, 250, 165, 142, 413, 408, 422, 505, 0,
1147 | 504, 563, 547, 411, 0, 0, 0, 0, 0, 166,
1148 | 0, 167, 168, 171, 0, 172, 0, 169, 0, 173,
1149 | 0, 0, 174, 175, 429, 0, 176, 177, 0, 0,
1150 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 322,
1151 | 323, 324, 0, 325, 326, 327, 328, 329, 330, 331,
1152 | 332, 24, 25, 0, 0, 138, 0, 0, 0, 0,
1153 | 0, 171, 0, 172, 0, 0, 0, 173, 0, 0,
1154 | 174, 175, 0, 0, 176, 177, 256, 257, 165, 142,
1155 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1156 | 2, 0, 0, 0, 166, 0, 167, 168, 256, 257,
1157 | 165, 142, 169, 0, 0, 0, 0, 0, 0, 0,
1158 | 0, 0, 0, 0, 0, 0, 166, 0, 167, 168,
1159 | 0, 8, 88, 10, 169, 12, 13, 14, 15, 16,
1160 | 17, 18, 19, 20, 21, 22, 23, 0, 0, 0,
1161 | 170, 469, 0, 259, 260, 0, 171, 0, 172, 0,
1162 | 144, 0, 173, 0, 0, 174, 175, 0, 0, 176,
1163 | 177, 0, 479, 0, 0, 515, 0, 0, 171, 164,
1164 | 172, 165, 142, 0, 173, 0, 0, 174, 175, 0,
1165 | 0, 176, 177, 0, 0, 0, 0, 166, 0, 167,
1166 | 168, 164, 0, 165, 142, 169, 0, 0, 0, 0,
1167 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
1168 | 0, 167, 168, 0, 0, 0, 164, 169, 165, 142,
1169 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1170 | 0, 0, 512, 170, 166, 0, 167, 168, 0, 171,
1171 | 0, 172, 169, 0, 0, 173, 0, 0, 174, 175,
1172 | 0, 0, 176, 177, 0, 170, 0, 0, 0, 0,
1173 | 0, 171, 0, 172, 0, 0, 0, 173, 0, 0,
1174 | 174, 175, 0, 0, 176, 177, 0, 0, 0, 0,
1175 | 0, 0, 0, 0, 0, 0, 171, 400, 172, 0,
1176 | 0, 164, 173, 165, 142, 174, 175, 0, 0, 176,
1177 | 177, 0, 0, 0, 0, 0, 0, 0, 0, 166,
1178 | 0, 167, 168, 164, 0, 165, 142, 169, 0, 0,
1179 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1180 | 0, 166, 0, 167, 168, 0, 0, 0, 164, 169,
1181 | 165, 142, 0, 0, 0, 0, 0, 0, 0, 0,
1182 | 0, 0, 0, 0, 0, 0, 166, 405, 167, 168,
1183 | 0, 171, 0, 172, 169, 0, 0, 173, 0, 0,
1184 | 174, 175, 0, 0, 176, 177, 0, 416, 0, 0,
1185 | 0, 0, 0, 171, 0, 172, 0, 0, 0, 173,
1186 | 0, 0, 174, 175, 0, 0, 176, 177, 0, 0,
1187 | 0, 0, 0, 0, 0, 0, 0, 0, 171, 421,
1188 | 172, 0, 0, 164, 173, 165, 142, 174, 175, 0,
1189 | 0, 176, 177, 0, 0, 0, 0, 0, 0, 0,
1190 | 0, 166, 0, 167, 168, 164, 0, 165, 142, 169,
1191 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1192 | 0, 0, 0, 166, 0, 167, 168, 0, 0, 0,
1193 | 164, 169, 165, 142, 0, 0, 0, 0, 0, 0,
1194 | 0, 0, 0, 0, 435, 0, 0, 0, 166, 0,
1195 | 167, 168, 0, 171, 0, 172, 169, 0, 0, 173,
1196 | 0, 0, 174, 175, 0, 0, 176, 177, 0, 0,
1197 | 0, 0, 0, 0, 443, 171, 0, 172, 0, 0,
1198 | 0, 173, 0, 0, 174, 175, 0, 0, 176, 177,
1199 | 0, 0, 0, 0, 479, 0, 0, 0, 0, 0,
1200 | 171, 164, 172, 165, 142, 0, 173, 0, 0, 174,
1201 | 175, 0, 0, 176, 177, 0, 0, 0, 0, 166,
1202 | 0, 167, 168, 164, 0, 165, 142, 169, 0, 0,
1203 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1204 | 0, 166, 0, 167, 168, 0, 0, 0, 164, 169,
1205 | 165, 142, 0, 0, 0, 0, 0, 0, 0, 0,
1206 | 0, 0, 490, 0, 0, 0, 166, 0, 167, 168,
1207 | 0, 171, 0, 172, 169, 0, 0, 173, 0, 0,
1208 | 174, 175, 0, 0, 176, 177, 0, 0, 0, 0,
1209 | 0, 0, 499, 171, 0, 172, 0, 0, 0, 173,
1210 | 0, 0, 174, 175, 0, 0, 176, 177, 0, 531,
1211 | 0, 0, 0, 0, 0, 0, 0, 0, 171, 164,
1212 | 172, 165, 142, 0, 173, 0, 0, 174, 175, 0,
1213 | 0, 176, 177, 0, 0, 0, 0, 166, 0, 167,
1214 | 168, 164, 0, 165, 142, 169, 0, 0, 0, 0,
1215 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
1216 | 0, 167, 168, 0, 0, 0, 164, 169, 165, 142,
1217 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1218 | 555, 0, 0, 0, 166, 0, 167, 168, 0, 171,
1219 | 0, 172, 169, 0, 0, 173, 0, 0, 174, 175,
1220 | 0, 0, 176, 177, 0, 561, 164, 0, 165, 142,
1221 | 0, 171, 0, 172, 0, 0, 0, 173, 0, 0,
1222 | 174, 175, 0, 0, 176, 177, 167, 168, 0, 0,
1223 | 571, 0, 169, 0, 0, 0, 171, 164, 172, 165,
1224 | 142, 0, 173, 0, 0, 174, 175, 0, 0, 176,
1225 | 177, 0, 0, 0, 0, 166, 0, 167, 168, 0,
1226 | 0, 0, 0, 169, 0, 0, 0, 0, 0, 0,
1227 | 472, 164, 0, 165, 142, 0, 171, 0, 172, 0,
1228 | 0, 0, 173, 0, 0, 174, 175, 0, 0, 176,
1229 | 177, 167, 168, 0, 0, 0, 0, 169, 0, 0,
1230 | 0, 0, 0, 0, 0, 0, 0, 171, 0, 172,
1231 | 0, 0, 0, 173, 0, 0, 174, 175, 0, 0,
1232 | 176, 177, 0, 0, 0, 0, 0, 0, 0, 1,
1233 | 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1234 | 0, 254, 0, 172, 0, 0, 0, 173, 0, 0,
1235 | 174, 175, 0, 0, 176, 177, 3, 4, 5, 6,
1236 | 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1237 | 17, 18, 19, 20, 21, 22, 23, 1, 2, 0,
1238 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
1239 | 25, 0, 0, 0, 0, 2, 0, 0, 0, 26,
1240 | 0, 27, 0, 0, 3, 4, 5, 6, 7, 8,
1241 | 88, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1242 | 19, 20, 21, 22, 23, 2, 8, 88, 10, 0,
1243 | 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1244 | 22, 23, 0, 0, 0, 359, 0, 360, 445, 27,
1245 | 0, 3, 4, 5, 6, 7, 8, 88, 10, 11,
1246 | 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1247 | 22, 23, 2, 0, 0, 0, 0, 0, 0, 0,
1248 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1249 | 0, 0, 359, 0, 394, 445, 27, 0, 3, 4,
1250 | 5, 6, 7, 8, 88, 10, 11, 12, 13, 14,
1251 | 15, 16, 17, 18, 19, 20, 21, 22, 23, 223,
1252 | 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1253 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1254 | 0, 2, 501, 0, 452, 0, 3, 4, 5, 6,
1255 | 7, 8, 88, 10, 11, 12, 13, 14, 15, 16,
1256 | 17, 18, 19, 20, 21, 22, 23, 3, 4, 5,
1257 | 6, 7, 8, 88, 10, 11, 12, 13, 14, 15,
1258 | 16, 17, 18, 19, 20, 21, 22, 23, 2, 0,
1259 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1260 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1261 | 0, 0, 0, 0, 3, 4, 5, 6, 7, 8,
1262 | 88, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1263 | 19, 20, 21, 22, 23
1264 | };
1265 |
1266 | static const short yycheck[] =
1267 | {
1268 | 115, 0, 32, 131, 141, 27, 137, 0, 327, 0,
1269 | 260, 110, 27, 131, 259, 472, 405, 3, 3, 63,
1270 | 63, 3, 479, 66, 0, 60, 22, 6, 3, 44,
1271 | 29, 118, 3, 46, 27, 3, 29, 364, 29, 32,
1272 | 171, 3, 170, 34, 42, 3, 4, 6, 163, 3,
1273 | 0, 6, 0, 29, 167, 168, 169, 35, 36, 172,
1274 | 173, 174, 175, 176, 177, 100, 153, 312, 155, 396,
1275 | 315, 36, 322, 3, 4, 90, 111, 0, 26, 64,
1276 | 76, 29, 64, 113, 32, 71, 34, 73, 73, 478,
1277 | 75, 73, 73, 75, 85, 74, 71, 90, 73, 134,
1278 | 75, 116, 73, 118, 561, 73, 29, 69, 99, 359,
1279 | 69, 73, 70, 75, 571, 74, 231, 245, 73, 73,
1280 | 224, 75, 65, 254, 146, 68, 71, 65, 73, 260,
1281 | 145, 146, 162, 3, 4, 150, 74, 67, 153, 71,
1282 | 155, 65, 141, 3, 4, 69, 277, 275, 25, 26,
1283 | 74, 99, 73, 101, 3, 65, 5, 6, 67, 35,
1284 | 36, 265, 67, 276, 74, 278, 279, 280, 281, 268,
1285 | 65, 284, 171, 68, 23, 24, 289, 67, 65, 292,
1286 | 29, 68, 295, 311, 65, 316, 299, 222, 69, 317,
1287 | 318, 322, 74, 74, 224, 64, 65, 67, 448, 75,
1288 | 74, 332, 75, 80, 81, 235, 72, 67, 527, 528,
1289 | 529, 84, 85, 116, 533, 118, 3, 4, 468, 234,
1290 | 116, 67, 118, 65, 73, 6, 75, 472, 359, 3,
1291 | 79, 224, 74, 82, 83, 485, 20, 86, 87, 23,
1292 | 24, 65, 145, 73, 68, 564, 374, 150, 66, 71,
1293 | 153, 73, 155, 75, 150, 254, 64, 153, 65, 155,
1294 | 71, 68, 73, 391, 116, 393, 118, 71, 65, 73,
1295 | 515, 68, 265, 18, 19, 393, 39, 40, 41, 42,
1296 | 43, 44, 65, 74, 397, 68, 70, 71, 416, 73,
1297 | 27, 28, 405, 82, 83, 426, 427, 428, 150, 544,
1298 | 431, 153, 337, 155, 38, 39, 40, 3, 4, 5,
1299 | 6, 64, 449, 3, 4, 64, 65, 448, 64, 65,
1300 | 64, 65, 65, 454, 21, 21, 68, 23, 24, 68,
1301 | 372, 373, 68, 29, 462, 66, 77, 468, 466, 467,
1302 | 455, 456, 372, 373, 472, 73, 78, 475, 466, 467,
1303 | 79, 479, 465, 6, 485, 65, 74, 65, 65, 490,
1304 | 64, 360, 68, 68, 73, 478, 68, 360, 367, 69,
1305 | 69, 67, 68, 364, 70, 71, 74, 73, 73, 75,
1306 | 74, 72, 69, 79, 512, 69, 82, 83, 73, 3,
1307 | 86, 87, 73, 64, 512, 394, 524, 64, 64, 530,
1308 | 531, 394, 3, 534, 8, 9, 10, 11, 12, 13,
1309 | 14, 15, 16, 17, 542, 69, 74, 63, 64, 65,
1310 | 66, 69, 553, 538, 555, 71, 69, 73, 69, 66,
1311 | 72, 7, 560, 561, 464, 69, 72, 568, 3, 4,
1312 | 5, 6, 64, 571, 7, 56, 64, 68, 72, 74,
1313 | 449, 74, 64, 73, 569, 74, 21, 74, 23, 24,
1314 | 66, 74, 66, 72, 29, 30, 31, 32, 33, 34,
1315 | 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1316 | 45, 46, 47, 48, 49, 50, 51, 52, 53, 74,
1317 | 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1318 | 74, 74, 67, 64, 74, 69, 64, 64, 73, 54,
1319 | 75, 64, 74, 64, 79, 64, 29, 82, 83, 100,
1320 | 391, 86, 87, 3, 4, 5, 6, 162, 133, 43,
1321 | 254, 161, 244, 464, 150, 462, 32, 337, 367, 166,
1322 | 278, 21, 289, 23, 24, 280, 276, 295, 281, 29,
1323 | 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1324 | 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1325 | 50, 3, 4, 5, 6, 292, 279, 317, 456, -1,
1326 | 455, 544, 524, 284, -1, -1, -1, -1, -1, 21,
1327 | -1, 23, 24, 73, -1, 75, -1, 29, -1, 79,
1328 | -1, -1, 82, 83, 36, -1, 86, 87, -1, -1,
1329 | -1, -1, -1, -1, -1, -1, -1, -1, -1, 51,
1330 | 52, 53, -1, 55, 56, 57, 58, 59, 60, 61,
1331 | 62, 63, 64, -1, -1, 67, -1, -1, -1, -1,
1332 | -1, 73, -1, 75, -1, -1, -1, 79, -1, -1,
1333 | 82, 83, -1, -1, 86, 87, 3, 4, 5, 6,
1334 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1335 | 4, -1, -1, -1, 21, -1, 23, 24, 3, 4,
1336 | 5, 6, 29, -1, -1, -1, -1, -1, -1, -1,
1337 | -1, -1, -1, -1, -1, -1, 21, -1, 23, 24,
1338 | -1, 35, 36, 37, 29, 39, 40, 41, 42, 43,
1339 | 44, 45, 46, 47, 48, 49, 50, -1, -1, -1,
1340 | 67, 68, -1, 70, 71, -1, 73, -1, 75, -1,
1341 | 64, -1, 79, -1, -1, 82, 83, -1, -1, 86,
1342 | 87, -1, 67, -1, -1, 70, -1, -1, 73, 3,
1343 | 75, 5, 6, -1, 79, -1, -1, 82, 83, -1,
1344 | -1, 86, 87, -1, -1, -1, -1, 21, -1, 23,
1345 | 24, 3, -1, 5, 6, 29, -1, -1, -1, -1,
1346 | -1, -1, -1, -1, -1, -1, -1, -1, -1, 21,
1347 | -1, 23, 24, -1, -1, -1, 3, 29, 5, 6,
1348 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1349 | -1, -1, 66, 67, 21, -1, 23, 24, -1, 73,
1350 | -1, 75, 29, -1, -1, 79, -1, -1, 82, 83,
1351 | -1, -1, 86, 87, -1, 67, -1, -1, -1, -1,
1352 | -1, 73, -1, 75, -1, -1, -1, 79, -1, -1,
1353 | 82, 83, -1, -1, 86, 87, -1, -1, -1, -1,
1354 | -1, -1, -1, -1, -1, -1, 73, 74, 75, -1,
1355 | -1, 3, 79, 5, 6, 82, 83, -1, -1, 86,
1356 | 87, -1, -1, -1, -1, -1, -1, -1, -1, 21,
1357 | -1, 23, 24, 3, -1, 5, 6, 29, -1, -1,
1358 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1359 | -1, 21, -1, 23, 24, -1, -1, -1, 3, 29,
1360 | 5, 6, -1, -1, -1, -1, -1, -1, -1, -1,
1361 | -1, -1, -1, -1, -1, -1, 21, 69, 23, 24,
1362 | -1, 73, -1, 75, 29, -1, -1, 79, -1, -1,
1363 | 82, 83, -1, -1, 86, 87, -1, 67, -1, -1,
1364 | -1, -1, -1, 73, -1, 75, -1, -1, -1, 79,
1365 | -1, -1, 82, 83, -1, -1, 86, 87, -1, -1,
1366 | -1, -1, -1, -1, -1, -1, -1, -1, 73, 74,
1367 | 75, -1, -1, 3, 79, 5, 6, 82, 83, -1,
1368 | -1, 86, 87, -1, -1, -1, -1, -1, -1, -1,
1369 | -1, 21, -1, 23, 24, 3, -1, 5, 6, 29,
1370 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1371 | -1, -1, -1, 21, -1, 23, 24, -1, -1, -1,
1372 | 3, 29, 5, 6, -1, -1, -1, -1, -1, -1,
1373 | -1, -1, -1, -1, 64, -1, -1, -1, 21, -1,
1374 | 23, 24, -1, 73, -1, 75, 29, -1, -1, 79,
1375 | -1, -1, 82, 83, -1, -1, 86, 87, -1, -1,
1376 | -1, -1, -1, -1, 72, 73, -1, 75, -1, -1,
1377 | -1, 79, -1, -1, 82, 83, -1, -1, 86, 87,
1378 | -1, -1, -1, -1, 67, -1, -1, -1, -1, -1,
1379 | 73, 3, 75, 5, 6, -1, 79, -1, -1, 82,
1380 | 83, -1, -1, 86, 87, -1, -1, -1, -1, 21,
1381 | -1, 23, 24, 3, -1, 5, 6, 29, -1, -1,
1382 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1383 | -1, 21, -1, 23, 24, -1, -1, -1, 3, 29,
1384 | 5, 6, -1, -1, -1, -1, -1, -1, -1, -1,
1385 | -1, -1, 64, -1, -1, -1, 21, -1, 23, 24,
1386 | -1, 73, -1, 75, 29, -1, -1, 79, -1, -1,
1387 | 82, 83, -1, -1, 86, 87, -1, -1, -1, -1,
1388 | -1, -1, 72, 73, -1, 75, -1, -1, -1, 79,
1389 | -1, -1, 82, 83, -1, -1, 86, 87, -1, 64,
1390 | -1, -1, -1, -1, -1, -1, -1, -1, 73, 3,
1391 | 75, 5, 6, -1, 79, -1, -1, 82, 83, -1,
1392 | -1, 86, 87, -1, -1, -1, -1, 21, -1, 23,
1393 | 24, 3, -1, 5, 6, 29, -1, -1, -1, -1,
1394 | -1, -1, -1, -1, -1, -1, -1, -1, -1, 21,
1395 | -1, 23, 24, -1, -1, -1, 3, 29, 5, 6,
1396 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1397 | 64, -1, -1, -1, 21, -1, 23, 24, -1, 73,
1398 | -1, 75, 29, -1, -1, 79, -1, -1, 82, 83,
1399 | -1, -1, 86, 87, -1, 67, 3, -1, 5, 6,
1400 | -1, 73, -1, 75, -1, -1, -1, 79, -1, -1,
1401 | 82, 83, -1, -1, 86, 87, 23, 24, -1, -1,
1402 | 67, -1, 29, -1, -1, -1, 73, 3, 75, 5,
1403 | 6, -1, 79, -1, -1, 82, 83, -1, -1, 86,
1404 | 87, -1, -1, -1, -1, 21, -1, 23, 24, -1,
1405 | -1, -1, -1, 29, -1, -1, -1, -1, -1, -1,
1406 | 67, 3, -1, 5, 6, -1, 73, -1, 75, -1,
1407 | -1, -1, 79, -1, -1, 82, 83, -1, -1, 86,
1408 | 87, 23, 24, -1, -1, -1, -1, 29, -1, -1,
1409 | -1, -1, -1, -1, -1, -1, -1, 73, -1, 75,
1410 | -1, -1, -1, 79, -1, -1, 82, 83, -1, -1,
1411 | 86, 87, -1, -1, -1, -1, -1, -1, -1, 3,
1412 | 4, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1413 | -1, 73, -1, 75, -1, -1, -1, 79, -1, -1,
1414 | 82, 83, -1, -1, 86, 87, 30, 31, 32, 33,
1415 | 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1416 | 44, 45, 46, 47, 48, 49, 50, 3, 4, -1,
1417 | -1, -1, -1, -1, -1, -1, -1, -1, -1, 63,
1418 | 64, -1, -1, -1, -1, 4, -1, -1, -1, 73,
1419 | -1, 75, -1, -1, 30, 31, 32, 33, 34, 35,
1420 | 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1421 | 46, 47, 48, 49, 50, 4, 35, 36, 37, -1,
1422 | 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1423 | 49, 50, -1, -1, -1, 71, -1, 73, 74, 75,
1424 | -1, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1425 | 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1426 | 49, 50, 4, -1, -1, -1, -1, -1, -1, -1,
1427 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1428 | -1, -1, 71, -1, 73, 74, 75, -1, 30, 31,
1429 | 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1430 | 42, 43, 44, 45, 46, 47, 48, 49, 50, 3,
1431 | 4, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1432 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1433 | -1, 4, 74, -1, 7, -1, 30, 31, 32, 33,
1434 | 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1435 | 44, 45, 46, 47, 48, 49, 50, 30, 31, 32,
1436 | 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1437 | 43, 44, 45, 46, 47, 48, 49, 50, 4, -1,
1438 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1439 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1440 | -1, -1, -1, -1, 30, 31, 32, 33, 34, 35,
1441 | 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1442 | 46, 47, 48, 49, 50
1443 | };
1444 |
1445 | /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1446 | symbol of state STATE-NUM. */
1447 | static const unsigned short yystos[] =
1448 | {
1449 | 0, 3, 4, 30, 31, 32, 33, 34, 35, 36,
1450 | 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1451 | 47, 48, 49, 50, 63, 64, 73, 75, 89, 90,
1452 | 91, 93, 94, 95, 108, 109, 110, 111, 115, 117,
1453 | 118, 119, 120, 121, 122, 123, 124, 125, 127, 128,
1454 | 135, 137, 138, 141, 143, 144, 147, 162, 164, 165,
1455 | 166, 167, 168, 170, 200, 249, 250, 63, 46, 42,
1456 | 3, 4, 67, 142, 3, 4, 67, 148, 3, 4,
1457 | 67, 136, 36, 73, 107, 108, 109, 168, 36, 108,
1458 | 116, 117, 0, 91, 64, 96, 98, 99, 107, 108,
1459 | 166, 73, 168, 71, 95, 95, 95, 42, 122, 117,
1460 | 163, 92, 93, 94, 73, 73, 139, 67, 145, 67,
1461 | 129, 67, 168, 74, 109, 74, 108, 117, 64, 65,
1462 | 63, 66, 100, 254, 92, 168, 72, 112, 67, 177,
1463 | 93, 169, 6, 243, 64, 116, 118, 138, 144, 149,
1464 | 150, 151, 152, 140, 149, 146, 3, 131, 132, 133,
1465 | 134, 130, 97, 73, 3, 5, 21, 23, 24, 29,
1466 | 67, 73, 75, 79, 82, 83, 86, 87, 101, 114,
1467 | 204, 206, 207, 208, 209, 210, 211, 212, 214, 216,
1468 | 218, 220, 222, 223, 224, 225, 226, 227, 228, 229,
1469 | 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1470 | 240, 241, 242, 243, 244, 255, 100, 74, 202, 203,
1471 | 204, 247, 178, 3, 94, 171, 172, 173, 174, 175,
1472 | 6, 69, 74, 118, 116, 153, 64, 64, 68, 151,
1473 | 149, 68, 149, 68, 65, 66, 131, 98, 243, 3,
1474 | 4, 194, 222, 222, 73, 222, 3, 4, 68, 70,
1475 | 71, 101, 102, 103, 161, 94, 126, 202, 245, 222,
1476 | 222, 222, 222, 222, 222, 73, 22, 76, 21, 77,
1477 | 78, 79, 18, 19, 213, 25, 26, 80, 81, 215,
1478 | 27, 28, 217, 82, 83, 219, 75, 84, 85, 221,
1479 | 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1480 | 66, 205, 20, 23, 24, 70, 71, 73, 65, 113,
1481 | 3, 4, 51, 52, 53, 55, 56, 57, 58, 59,
1482 | 60, 61, 62, 93, 176, 177, 180, 181, 182, 183,
1483 | 184, 185, 186, 187, 188, 190, 191, 192, 193, 194,
1484 | 195, 196, 197, 198, 199, 200, 201, 202, 249, 71,
1485 | 73, 105, 106, 107, 108, 74, 65, 65, 243, 251,
1486 | 252, 64, 154, 155, 69, 107, 156, 157, 158, 159,
1487 | 68, 68, 133, 204, 68, 74, 126, 3, 161, 104,
1488 | 247, 65, 68, 69, 73, 105, 108, 74, 74, 177,
1489 | 74, 204, 248, 208, 222, 69, 202, 209, 210, 211,
1490 | 212, 214, 216, 218, 220, 222, 67, 204, 161, 161,
1491 | 202, 74, 248, 204, 72, 247, 73, 73, 73, 36,
1492 | 176, 73, 3, 64, 64, 64, 202, 179, 182, 69,
1493 | 69, 69, 64, 72, 247, 74, 105, 173, 71, 73,
1494 | 106, 3, 7, 175, 73, 65, 69, 74, 156, 156,
1495 | 160, 204, 69, 64, 65, 74, 66, 72, 7, 68,
1496 | 103, 101, 67, 222, 246, 65, 74, 206, 69, 67,
1497 | 204, 256, 257, 72, 74, 7, 202, 202, 202, 56,
1498 | 64, 189, 202, 64, 64, 68, 72, 74, 74, 72,
1499 | 247, 74, 173, 202, 252, 251, 64, 64, 64, 160,
1500 | 157, 101, 66, 101, 247, 70, 161, 256, 258, 259,
1501 | 74, 204, 206, 256, 65, 68, 247, 74, 74, 74,
1502 | 73, 64, 202, 74, 64, 72, 74, 74, 69, 74,
1503 | 101, 161, 69, 68, 65, 68, 68, 257, 176, 176,
1504 | 176, 202, 202, 64, 176, 64, 202, 243, 253, 64,
1505 | 66, 67, 204, 258, 54, 74, 202, 202, 64, 65,
1506 | 74, 67, 204, 256, 176, 64, 202, 243, 64, 256,
1507 | 68, 68
1508 | };
1509 |
1510 | #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
1511 | # define YYSIZE_T __SIZE_TYPE__
1512 | #endif
1513 | #if ! defined (YYSIZE_T) && defined (size_t)
1514 | # define YYSIZE_T size_t
1515 | #endif
1516 | #if ! defined (YYSIZE_T)
1517 | # if defined (__STDC__) || defined (__cplusplus)
1518 | # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
1519 | # define YYSIZE_T size_t
1520 | # endif
1521 | #endif
1522 | #if ! defined (YYSIZE_T)
1523 | # define YYSIZE_T unsigned int
1524 | #endif
1525 |
1526 | #define yyerrok (yyerrstatus = 0)
1527 | #define yyclearin (yychar = YYEMPTY)
1528 | #define YYEMPTY (-2)
1529 | #define YYEOF 0
1530 |
1531 | #define YYACCEPT goto yyacceptlab
1532 | #define YYABORT goto yyabortlab
1533 | #define YYERROR goto yyerrlab1
1534 |
1535 |
1536 | /* Like YYERROR except do call yyerror. This remains here temporarily
1537 | to ease the transition to the new meaning of YYERROR, for GCC.
1538 | Once GCC version 2 has supplanted version 1, this can go. */
1539 |
1540 | #define YYFAIL goto yyerrlab
1541 |
1542 | #define YYRECOVERING() (!!yyerrstatus)
1543 |
1544 | #define YYBACKUP(Token, Value) \
1545 | do \
1546 | if (yychar == YYEMPTY && yylen == 1) \
1547 | { \
1548 | yychar = (Token); \
1549 | yylval = (Value); \
1550 | yytoken = YYTRANSLATE (yychar); \
1551 | YYPOPSTACK; \
1552 | goto yybackup; \
1553 | } \
1554 | else \
1555 | { \
1556 | yyerror ("syntax error: cannot back up");\
1557 | YYERROR; \
1558 | } \
1559 | while (0)
1560 |
1561 | #define YYTERROR 1
1562 | #define YYERRCODE 256
1563 |
1564 | /* YYLLOC_DEFAULT -- Compute the default location (before the actions
1565 | are run). */
1566 |
1567 | #ifndef YYLLOC_DEFAULT
1568 | # define YYLLOC_DEFAULT(Current, Rhs, N) \
1569 | Current.first_line = Rhs[1].first_line; \
1570 | Current.first_column = Rhs[1].first_column; \
1571 | Current.last_line = Rhs[N].last_line; \
1572 | Current.last_column = Rhs[N].last_column;
1573 | #endif
1574 |
1575 | /* YYLEX -- calling `yylex' with the right arguments. */
1576 |
1577 | #ifdef YYLEX_PARAM
1578 | # define YYLEX yylex (YYLEX_PARAM)
1579 | #else
1580 | # define YYLEX yylex ()
1581 | #endif
1582 |
1583 | /* Enable debugging if requested. */
1584 | #if YYDEBUG
1585 |
1586 | # ifndef YYFPRINTF
1587 | # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1588 | # define YYFPRINTF fprintf
1589 | # endif
1590 |
1591 | # define YYDPRINTF(Args) \