[WIDL] Sync with Wine Staging 2.9. CORE-13362
[reactos.git] / reactos / sdk / tools / widl / parser.tab.c
1 /* A Bison parser, made by GNU Bison 3.0. */
2
3 /* Bison implementation for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34 simplifying the original so-called "semantic" parser. */
35
36 /* All symbols defined below should begin with yy or YY, to avoid
37 infringing on user name space. This should be done even for local
38 variables, as they might otherwise be expanded by user macros.
39 There are some unavoidable exceptions within include files to
40 define necessary library symbols; they are noted "INFRINGES ON
41 USER NAME SPACE" below. */
42
43 /* Identify Bison output. */
44 #define YYBISON 1
45
46 /* Bison version. */
47 #define YYBISON_VERSION "3.0"
48
49 /* Skeleton name. */
50 #define YYSKELETON_NAME "yacc.c"
51
52 /* Pure parsers. */
53 #define YYPURE 0
54
55 /* Push parsers. */
56 #define YYPUSH 0
57
58 /* Pull parsers. */
59 #define YYPULL 1
60
61
62 /* Substitute the variable and function names. */
63 #define yyparse parser_parse
64 #define yylex parser_lex
65 #define yyerror parser_error
66 #define yydebug parser_debug
67 #define yynerrs parser_nerrs
68
69 #define yylval parser_lval
70 #define yychar parser_char
71
72 /* Copy the first part of user declarations. */
73 #line 1 "parser.y" /* yacc.c:339 */
74
75 /*
76 * IDL Compiler
77 *
78 * Copyright 2002 Ove Kaaven
79 * Copyright 2006-2008 Robert Shearman
80 *
81 * This library is free software; you can redistribute it and/or
82 * modify it under the terms of the GNU Lesser General Public
83 * License as published by the Free Software Foundation; either
84 * version 2.1 of the License, or (at your option) any later version.
85 *
86 * This library is distributed in the hope that it will be useful,
87 * but WITHOUT ANY WARRANTY; without even the implied warranty of
88 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
89 * Lesser General Public License for more details.
90 *
91 * You should have received a copy of the GNU Lesser General Public
92 * License along with this library; if not, write to the Free Software
93 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
94 */
95
96 #include "config.h"
97
98 #include <stdio.h>
99 #include <stdlib.h>
100 #include <stdarg.h>
101 #include <assert.h>
102 #include <ctype.h>
103 #include <string.h>
104
105 #include "widl.h"
106 #include "utils.h"
107 #include "parser.h"
108 #include "header.h"
109 #include "typelib.h"
110 #include "typegen.h"
111 #include "expr.h"
112 #include "typetree.h"
113
114 static unsigned char pointer_default = RPC_FC_UP;
115
116 typedef struct list typelist_t;
117 struct typenode {
118 type_t *type;
119 struct list entry;
120 };
121
122 struct _import_t
123 {
124 char *name;
125 int import_performed;
126 };
127
128 typedef struct _decl_spec_t
129 {
130 type_t *type;
131 attr_list_t *attrs;
132 enum storage_class stgclass;
133 } decl_spec_t;
134
135 typelist_t incomplete_types = LIST_INIT(incomplete_types);
136
137 static void fix_incomplete(void);
138 static void fix_incomplete_types(type_t *complete_type);
139
140 static str_list_t *append_str(str_list_t *list, char *str);
141 static attr_list_t *append_attr(attr_list_t *list, attr_t *attr);
142 static attr_list_t *append_attr_list(attr_list_t *new_list, attr_list_t *old_list);
143 static decl_spec_t *make_decl_spec(type_t *type, decl_spec_t *left, decl_spec_t *right, attr_t *attr, enum storage_class stgclass);
144 static attr_t *make_attr(enum attr_type type);
145 static attr_t *make_attrv(enum attr_type type, unsigned int val);
146 static attr_t *make_attrp(enum attr_type type, void *val);
147 static expr_list_t *append_expr(expr_list_t *list, expr_t *expr);
148 static array_dims_t *append_array(array_dims_t *list, expr_t *expr);
149 static var_t *declare_var(attr_list_t *attrs, decl_spec_t *decl_spec, const declarator_t *decl, int top);
150 static var_list_t *set_var_types(attr_list_t *attrs, decl_spec_t *decl_spec, declarator_list_t *decls);
151 static ifref_list_t *append_ifref(ifref_list_t *list, ifref_t *iface);
152 static ifref_t *make_ifref(type_t *iface);
153 static var_list_t *append_var_list(var_list_t *list, var_list_t *vars);
154 static declarator_list_t *append_declarator(declarator_list_t *list, declarator_t *p);
155 static declarator_t *make_declarator(var_t *var);
156 static type_t *make_safearray(type_t *type);
157 static typelib_t *make_library(const char *name, const attr_list_t *attrs);
158 static type_t *append_ptrchain_type(type_t *ptrchain, type_t *type);
159 static warning_list_t *append_warning(warning_list_t *, int);
160
161 static type_t *reg_typedefs(decl_spec_t *decl_spec, var_list_t *names, attr_list_t *attrs);
162 static type_t *find_type_or_error(const char *name, int t);
163 static type_t *find_type_or_error2(char *name, int t);
164
165 static var_t *reg_const(var_t *var);
166
167 static void push_namespace(const char *name);
168 static void pop_namespace(const char *name);
169
170 static char *gen_name(void);
171 static void check_arg_attrs(const var_t *arg);
172 static void check_statements(const statement_list_t *stmts, int is_inside_library);
173 static void check_all_user_types(const statement_list_t *stmts);
174 static attr_list_t *check_iface_attrs(const char *name, attr_list_t *attrs);
175 static attr_list_t *check_function_attrs(const char *name, attr_list_t *attrs);
176 static attr_list_t *check_typedef_attrs(attr_list_t *attrs);
177 static attr_list_t *check_enum_attrs(attr_list_t *attrs);
178 static attr_list_t *check_struct_attrs(attr_list_t *attrs);
179 static attr_list_t *check_union_attrs(attr_list_t *attrs);
180 static attr_list_t *check_field_attrs(const char *name, attr_list_t *attrs);
181 static attr_list_t *check_library_attrs(const char *name, attr_list_t *attrs);
182 static attr_list_t *check_dispiface_attrs(const char *name, attr_list_t *attrs);
183 static attr_list_t *check_module_attrs(const char *name, attr_list_t *attrs);
184 static attr_list_t *check_coclass_attrs(const char *name, attr_list_t *attrs);
185 const char *get_attr_display_name(enum attr_type type);
186 static void add_explicit_handle_if_necessary(const type_t *iface, var_t *func);
187 static void check_def(const type_t *t);
188
189 static statement_t *make_statement(enum statement_type type);
190 static statement_t *make_statement_type_decl(type_t *type);
191 static statement_t *make_statement_reference(type_t *type);
192 static statement_t *make_statement_declaration(var_t *var);
193 static statement_t *make_statement_library(typelib_t *typelib);
194 static statement_t *make_statement_pragma(const char *str);
195 static statement_t *make_statement_cppquote(const char *str);
196 static statement_t *make_statement_importlib(const char *str);
197 static statement_t *make_statement_module(type_t *type);
198 static statement_t *make_statement_typedef(var_list_t *names);
199 static statement_t *make_statement_import(const char *str);
200 static statement_list_t *append_statement(statement_list_t *list, statement_t *stmt);
201 static statement_list_t *append_statements(statement_list_t *, statement_list_t *);
202 static attr_list_t *append_attribs(attr_list_t *, attr_list_t *);
203
204 static struct namespace global_namespace = {
205 NULL, NULL, LIST_INIT(global_namespace.entry), LIST_INIT(global_namespace.children)
206 };
207
208 static struct namespace *current_namespace = &global_namespace;
209
210
211 #line 212 "parser.tab.c" /* yacc.c:339 */
212
213 # ifndef YY_NULL
214 # if defined __cplusplus && 201103L <= __cplusplus
215 # define YY_NULL nullptr
216 # else
217 # define YY_NULL 0
218 # endif
219 # endif
220
221 /* Enabling verbose error messages. */
222 #ifdef YYERROR_VERBOSE
223 # undef YYERROR_VERBOSE
224 # define YYERROR_VERBOSE 1
225 #else
226 # define YYERROR_VERBOSE 1
227 #endif
228
229 /* In a future release of Bison, this section will be replaced
230 by #include "parser.tab.h". */
231 #ifndef YY_PARSER_E_REACTOS_SYNC_GCC_HOST_TOOLS_SDK_TOOLS_WIDL_PARSER_TAB_H_INCLUDED
232 # define YY_PARSER_E_REACTOS_SYNC_GCC_HOST_TOOLS_SDK_TOOLS_WIDL_PARSER_TAB_H_INCLUDED
233 /* Debug traces. */
234 #ifndef YYDEBUG
235 # define YYDEBUG 0
236 #endif
237 #if YYDEBUG
238 extern int parser_debug;
239 #endif
240
241 /* Token type. */
242 #ifndef YYTOKENTYPE
243 # define YYTOKENTYPE
244 enum yytokentype
245 {
246 aIDENTIFIER = 258,
247 aPRAGMA = 259,
248 aKNOWNTYPE = 260,
249 aNUM = 261,
250 aHEXNUM = 262,
251 aDOUBLE = 263,
252 aSTRING = 264,
253 aWSTRING = 265,
254 aSQSTRING = 266,
255 aUUID = 267,
256 aEOF = 268,
257 SHL = 269,
258 SHR = 270,
259 MEMBERPTR = 271,
260 EQUALITY = 272,
261 INEQUALITY = 273,
262 GREATEREQUAL = 274,
263 LESSEQUAL = 275,
264 LOGICALOR = 276,
265 LOGICALAND = 277,
266 ELLIPSIS = 278,
267 tAGGREGATABLE = 279,
268 tALLOCATE = 280,
269 tANNOTATION = 281,
270 tAPPOBJECT = 282,
271 tASYNC = 283,
272 tASYNCUUID = 284,
273 tAUTOHANDLE = 285,
274 tBINDABLE = 286,
275 tBOOLEAN = 287,
276 tBROADCAST = 288,
277 tBYTE = 289,
278 tBYTECOUNT = 290,
279 tCALLAS = 291,
280 tCALLBACK = 292,
281 tCASE = 293,
282 tCDECL = 294,
283 tCHAR = 295,
284 tCOCLASS = 296,
285 tCODE = 297,
286 tCOMMSTATUS = 298,
287 tCONST = 299,
288 tCONTEXTHANDLE = 300,
289 tCONTEXTHANDLENOSERIALIZE = 301,
290 tCONTEXTHANDLESERIALIZE = 302,
291 tCONTROL = 303,
292 tCPPQUOTE = 304,
293 tDECODE = 305,
294 tDEFAULT = 306,
295 tDEFAULTBIND = 307,
296 tDEFAULTCOLLELEM = 308,
297 tDEFAULTVALUE = 309,
298 tDEFAULTVTABLE = 310,
299 tDISABLECONSISTENCYCHECK = 311,
300 tDISPLAYBIND = 312,
301 tDISPINTERFACE = 313,
302 tDLLNAME = 314,
303 tDOUBLE = 315,
304 tDUAL = 316,
305 tENABLEALLOCATE = 317,
306 tENCODE = 318,
307 tENDPOINT = 319,
308 tENTRY = 320,
309 tENUM = 321,
310 tERRORSTATUST = 322,
311 tEXPLICITHANDLE = 323,
312 tEXTERN = 324,
313 tFALSE = 325,
314 tFASTCALL = 326,
315 tFAULTSTATUS = 327,
316 tFLOAT = 328,
317 tFORCEALLOCATE = 329,
318 tHANDLE = 330,
319 tHANDLET = 331,
320 tHELPCONTEXT = 332,
321 tHELPFILE = 333,
322 tHELPSTRING = 334,
323 tHELPSTRINGCONTEXT = 335,
324 tHELPSTRINGDLL = 336,
325 tHIDDEN = 337,
326 tHYPER = 338,
327 tID = 339,
328 tIDEMPOTENT = 340,
329 tIGNORE = 341,
330 tIIDIS = 342,
331 tIMMEDIATEBIND = 343,
332 tIMPLICITHANDLE = 344,
333 tIMPORT = 345,
334 tIMPORTLIB = 346,
335 tIN = 347,
336 tIN_LINE = 348,
337 tINLINE = 349,
338 tINPUTSYNC = 350,
339 tINT = 351,
340 tINT3264 = 352,
341 tINT64 = 353,
342 tINTERFACE = 354,
343 tLCID = 355,
344 tLENGTHIS = 356,
345 tLIBRARY = 357,
346 tLICENSED = 358,
347 tLOCAL = 359,
348 tLONG = 360,
349 tMAYBE = 361,
350 tMESSAGE = 362,
351 tMETHODS = 363,
352 tMODULE = 364,
353 tNAMESPACE = 365,
354 tNOCODE = 366,
355 tNONBROWSABLE = 367,
356 tNONCREATABLE = 368,
357 tNONEXTENSIBLE = 369,
358 tNOTIFY = 370,
359 tNOTIFYFLAG = 371,
360 tNULL = 372,
361 tOBJECT = 373,
362 tODL = 374,
363 tOLEAUTOMATION = 375,
364 tOPTIMIZE = 376,
365 tOPTIONAL = 377,
366 tOUT = 378,
367 tPARTIALIGNORE = 379,
368 tPASCAL = 380,
369 tPOINTERDEFAULT = 381,
370 tPRAGMA_WARNING = 382,
371 tPROGID = 383,
372 tPROPERTIES = 384,
373 tPROPGET = 385,
374 tPROPPUT = 386,
375 tPROPPUTREF = 387,
376 tPROXY = 388,
377 tPTR = 389,
378 tPUBLIC = 390,
379 tRANGE = 391,
380 tREADONLY = 392,
381 tREF = 393,
382 tREGISTER = 394,
383 tREPRESENTAS = 395,
384 tREQUESTEDIT = 396,
385 tRESTRICTED = 397,
386 tRETVAL = 398,
387 tSAFEARRAY = 399,
388 tSHORT = 400,
389 tSIGNED = 401,
390 tSIZEIS = 402,
391 tSIZEOF = 403,
392 tSMALL = 404,
393 tSOURCE = 405,
394 tSTATIC = 406,
395 tSTDCALL = 407,
396 tSTRICTCONTEXTHANDLE = 408,
397 tSTRING = 409,
398 tSTRUCT = 410,
399 tSWITCH = 411,
400 tSWITCHIS = 412,
401 tSWITCHTYPE = 413,
402 tTHREADING = 414,
403 tTRANSMITAS = 415,
404 tTRUE = 416,
405 tTYPEDEF = 417,
406 tUIDEFAULT = 418,
407 tUNION = 419,
408 tUNIQUE = 420,
409 tUNSIGNED = 421,
410 tUSESGETLASTERROR = 422,
411 tUSERMARSHAL = 423,
412 tUUID = 424,
413 tV1ENUM = 425,
414 tVARARG = 426,
415 tVERSION = 427,
416 tVIPROGID = 428,
417 tVOID = 429,
418 tWCHAR = 430,
419 tWIREMARSHAL = 431,
420 tAPARTMENT = 432,
421 tNEUTRAL = 433,
422 tSINGLE = 434,
423 tFREE = 435,
424 tBOTH = 436,
425 CAST = 437,
426 PPTR = 438,
427 POS = 439,
428 NEG = 440,
429 ADDRESSOF = 441
430 };
431 #endif
432
433 /* Value type. */
434 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
435 typedef union YYSTYPE YYSTYPE;
436 union YYSTYPE
437 {
438 #line 138 "parser.y" /* yacc.c:355 */
439
440 attr_t *attr;
441 attr_list_t *attr_list;
442 str_list_t *str_list;
443 expr_t *expr;
444 expr_list_t *expr_list;
445 array_dims_t *array_dims;
446 type_t *type;
447 var_t *var;
448 var_list_t *var_list;
449 declarator_t *declarator;
450 declarator_list_t *declarator_list;
451 statement_t *statement;
452 statement_list_t *stmt_list;
453 warning_t *warning;
454 warning_list_t *warning_list;
455 ifref_t *ifref;
456 ifref_list_t *ifref_list;
457 char *str;
458 UUID *uuid;
459 unsigned int num;
460 double dbl;
461 interface_info_t ifinfo;
462 typelib_t *typelib;
463 struct _import_t *import;
464 struct _decl_spec_t *declspec;
465 enum storage_class stgclass;
466
467 #line 468 "parser.tab.c" /* yacc.c:355 */
468 };
469 # define YYSTYPE_IS_TRIVIAL 1
470 # define YYSTYPE_IS_DECLARED 1
471 #endif
472
473
474 extern YYSTYPE parser_lval;
475
476 int parser_parse (void);
477
478 #endif /* !YY_PARSER_E_REACTOS_SYNC_GCC_HOST_TOOLS_SDK_TOOLS_WIDL_PARSER_TAB_H_INCLUDED */
479
480 /* Copy the second part of user declarations. */
481
482 #line 483 "parser.tab.c" /* yacc.c:358 */
483
484 #ifdef short
485 # undef short
486 #endif
487
488 #ifdef YYTYPE_UINT8
489 typedef YYTYPE_UINT8 yytype_uint8;
490 #else
491 typedef unsigned char yytype_uint8;
492 #endif
493
494 #ifdef YYTYPE_INT8
495 typedef YYTYPE_INT8 yytype_int8;
496 #else
497 typedef signed char yytype_int8;
498 #endif
499
500 #ifdef YYTYPE_UINT16
501 typedef YYTYPE_UINT16 yytype_uint16;
502 #else
503 typedef unsigned short int yytype_uint16;
504 #endif
505
506 #ifdef YYTYPE_INT16
507 typedef YYTYPE_INT16 yytype_int16;
508 #else
509 typedef short int yytype_int16;
510 #endif
511
512 #ifndef YYSIZE_T
513 # ifdef __SIZE_TYPE__
514 # define YYSIZE_T __SIZE_TYPE__
515 # elif defined size_t
516 # define YYSIZE_T size_t
517 # elif ! defined YYSIZE_T
518 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
519 # define YYSIZE_T size_t
520 # else
521 # define YYSIZE_T unsigned int
522 # endif
523 #endif
524
525 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
526
527 #ifndef YY_
528 # if defined YYENABLE_NLS && YYENABLE_NLS
529 # if ENABLE_NLS
530 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
531 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
532 # endif
533 # endif
534 # ifndef YY_
535 # define YY_(Msgid) Msgid
536 # endif
537 #endif
538
539 #ifndef __attribute__
540 /* This feature is available in gcc versions 2.5 and later. */
541 # if (! defined __GNUC__ || __GNUC__ < 2 \
542 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
543 # define __attribute__(Spec) /* empty */
544 # endif
545 #endif
546
547 /* Suppress unused-variable warnings by "using" E. */
548 #if ! defined lint || defined __GNUC__
549 # define YYUSE(E) ((void) (E))
550 #else
551 # define YYUSE(E) /* empty */
552 #endif
553
554 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
555 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
556 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
557 _Pragma ("GCC diagnostic push") \
558 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
559 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
560 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
561 _Pragma ("GCC diagnostic pop")
562 #else
563 # define YY_INITIAL_VALUE(Value) Value
564 #endif
565 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
566 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
567 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
568 #endif
569 #ifndef YY_INITIAL_VALUE
570 # define YY_INITIAL_VALUE(Value) /* Nothing. */
571 #endif
572
573
574 #if ! defined yyoverflow || YYERROR_VERBOSE
575
576 /* The parser invokes alloca or malloc; define the necessary symbols. */
577
578 # ifdef YYSTACK_USE_ALLOCA
579 # if YYSTACK_USE_ALLOCA
580 # ifdef __GNUC__
581 # define YYSTACK_ALLOC __builtin_alloca
582 # elif defined __BUILTIN_VA_ARG_INCR
583 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
584 # elif defined _AIX
585 # define YYSTACK_ALLOC __alloca
586 # elif defined _MSC_VER
587 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
588 # define alloca _alloca
589 # else
590 # define YYSTACK_ALLOC alloca
591 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
592 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
593 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
594 # ifndef EXIT_SUCCESS
595 # define EXIT_SUCCESS 0
596 # endif
597 # endif
598 # endif
599 # endif
600 # endif
601
602 # ifdef YYSTACK_ALLOC
603 /* Pacify GCC's 'empty if-body' warning. */
604 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
605 # ifndef YYSTACK_ALLOC_MAXIMUM
606 /* The OS might guarantee only one guard page at the bottom of the stack,
607 and a page size can be as small as 4096 bytes. So we cannot safely
608 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
609 to allow for a few compiler-allocated temporary stack slots. */
610 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
611 # endif
612 # else
613 # define YYSTACK_ALLOC YYMALLOC
614 # define YYSTACK_FREE YYFREE
615 # ifndef YYSTACK_ALLOC_MAXIMUM
616 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
617 # endif
618 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
619 && ! ((defined YYMALLOC || defined malloc) \
620 && (defined YYFREE || defined free)))
621 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
622 # ifndef EXIT_SUCCESS
623 # define EXIT_SUCCESS 0
624 # endif
625 # endif
626 # ifndef YYMALLOC
627 # define YYMALLOC malloc
628 # if ! defined malloc && ! defined EXIT_SUCCESS
629 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
630 # endif
631 # endif
632 # ifndef YYFREE
633 # define YYFREE free
634 # if ! defined free && ! defined EXIT_SUCCESS
635 void free (void *); /* INFRINGES ON USER NAME SPACE */
636 # endif
637 # endif
638 # endif
639 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
640
641
642 #if (! defined yyoverflow \
643 && (! defined __cplusplus \
644 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
645
646 /* A type that is properly aligned for any stack member. */
647 union yyalloc
648 {
649 yytype_int16 yyss_alloc;
650 YYSTYPE yyvs_alloc;
651 };
652
653 /* The size of the maximum gap between one aligned stack and the next. */
654 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
655
656 /* The size of an array large to enough to hold all stacks, each with
657 N elements. */
658 # define YYSTACK_BYTES(N) \
659 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
660 + YYSTACK_GAP_MAXIMUM)
661
662 # define YYCOPY_NEEDED 1
663
664 /* Relocate STACK from its old location to the new one. The
665 local variables YYSIZE and YYSTACKSIZE give the old and new number of
666 elements in the stack, and YYPTR gives the new location of the
667 stack. Advance YYPTR to a properly aligned location for the next
668 stack. */
669 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
670 do \
671 { \
672 YYSIZE_T yynewbytes; \
673 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
674 Stack = &yyptr->Stack_alloc; \
675 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
676 yyptr += yynewbytes / sizeof (*yyptr); \
677 } \
678 while (0)
679
680 #endif
681
682 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
683 /* Copy COUNT objects from SRC to DST. The source and destination do
684 not overlap. */
685 # ifndef YYCOPY
686 # if defined __GNUC__ && 1 < __GNUC__
687 # define YYCOPY(Dst, Src, Count) \
688 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
689 # else
690 # define YYCOPY(Dst, Src, Count) \
691 do \
692 { \
693 YYSIZE_T yyi; \
694 for (yyi = 0; yyi < (Count); yyi++) \
695 (Dst)[yyi] = (Src)[yyi]; \
696 } \
697 while (0)
698 # endif
699 # endif
700 #endif /* !YYCOPY_NEEDED */
701
702 /* YYFINAL -- State number of the termination state. */
703 #define YYFINAL 3
704 /* YYLAST -- Last index in YYTABLE. */
705 #define YYLAST 2995
706
707 /* YYNTOKENS -- Number of terminals. */
708 #define YYNTOKENS 211
709 /* YYNNTS -- Number of nonterminals. */
710 #define YYNNTS 105
711 /* YYNRULES -- Number of rules. */
712 #define YYNRULES 394
713 /* YYNSTATES -- Number of states. */
714 #define YYNSTATES 691
715
716 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
717 by yylex, with out-of-bounds checking. */
718 #define YYUNDEFTOK 2
719 #define YYMAXUTOK 441
720
721 #define YYTRANSLATE(YYX) \
722 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
723
724 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
725 as returned by yylex, without out-of-bounds checking. */
726 static const yytype_uint8 yytranslate[] =
727 {
728 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
729 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
730 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
731 2, 2, 2, 195, 2, 2, 2, 194, 187, 2,
732 208, 209, 192, 191, 182, 190, 202, 193, 2, 2,
733 2, 2, 2, 2, 2, 2, 2, 2, 184, 207,
734 188, 210, 189, 183, 2, 2, 2, 2, 2, 2,
735 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
736 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
737 2, 203, 2, 204, 186, 2, 2, 2, 2, 2,
738 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
739 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
740 2, 2, 2, 205, 185, 206, 196, 2, 2, 2,
741 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
742 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
743 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
744 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
745 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
746 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
747 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
748 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
749 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
750 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
751 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
752 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
753 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
754 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
755 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
756 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
757 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
758 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
759 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
760 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
761 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
762 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
763 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
764 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
765 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
766 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
767 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
768 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
769 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
770 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
771 175, 176, 177, 178, 179, 180, 181, 197, 198, 199,
772 200, 201
773 };
774
775 #if YYDEBUG
776 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
777 static const yytype_uint16 yyrline[] =
778 {
779 0, 321, 321, 335, 336, 336, 338, 339, 340, 343,
780 346, 347, 348, 351, 352, 353, 353, 355, 356, 357,
781 360, 361, 362, 363, 366, 367, 370, 371, 375, 376,
782 377, 378, 379, 380, 381, 384, 395, 396, 400, 401,
783 402, 403, 404, 405, 406, 407, 408, 411, 413, 421,
784 427, 431, 432, 434, 438, 445, 446, 449, 450, 453,
785 454, 458, 463, 470, 474, 475, 478, 479, 483, 486,
786 487, 488, 491, 492, 495, 496, 497, 498, 499, 500,
787 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
788 511, 512, 513, 514, 515, 516, 517, 518, 519, 520,
789 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
790 531, 532, 533, 534, 535, 536, 537, 538, 539, 540,
791 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
792 551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
793 561, 562, 563, 564, 565, 566, 567, 568, 569, 570,
794 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
795 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
796 594, 595, 596, 597, 601, 602, 607, 608, 609, 610,
797 613, 614, 617, 621, 627, 628, 629, 632, 636, 648,
798 652, 657, 660, 661, 664, 665, 668, 669, 670, 671,
799 672, 673, 674, 675, 676, 677, 678, 679, 680, 681,
800 682, 683, 684, 685, 686, 687, 688, 689, 690, 691,
801 692, 693, 694, 695, 696, 697, 698, 699, 700, 701,
802 702, 703, 704, 705, 707, 709, 710, 713, 714, 717,
803 723, 729, 730, 733, 738, 745, 746, 749, 750, 754,
804 755, 758, 762, 768, 776, 780, 785, 786, 789, 790,
805 791, 794, 796, 799, 800, 801, 802, 803, 804, 805,
806 806, 807, 808, 809, 812, 813, 816, 817, 818, 819,
807 820, 821, 822, 823, 826, 827, 835, 841, 845, 848,
808 849, 853, 856, 857, 860, 869, 870, 873, 874, 877,
809 883, 889, 890, 893, 894, 897, 907, 916, 922, 926,
810 927, 930, 931, 934, 939, 946, 947, 948, 952, 956,
811 959, 960, 963, 964, 968, 969, 973, 974, 975, 979,
812 981, 983, 987, 988, 989, 990, 998, 1000, 1002, 1007,
813 1009, 1014, 1015, 1020, 1021, 1022, 1023, 1028, 1037, 1039,
814 1040, 1045, 1047, 1051, 1052, 1059, 1060, 1061, 1062, 1063,
815 1068, 1076, 1077, 1080, 1081, 1084, 1091, 1092, 1097, 1098,
816 1102, 1103, 1104, 1105, 1106, 1110, 1111, 1112, 1115, 1118,
817 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1130,
818 1137, 1139, 1145, 1146, 1147
819 };
820 #endif
821
822 #if YYDEBUG || YYERROR_VERBOSE || 1
823 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
824 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
825 static const char *const yytname[] =
826 {
827 "$end", "error", "$undefined", "aIDENTIFIER", "aPRAGMA", "aKNOWNTYPE",
828 "aNUM", "aHEXNUM", "aDOUBLE", "aSTRING", "aWSTRING", "aSQSTRING",
829 "aUUID", "aEOF", "SHL", "SHR", "MEMBERPTR", "EQUALITY", "INEQUALITY",
830 "GREATEREQUAL", "LESSEQUAL", "LOGICALOR", "LOGICALAND", "ELLIPSIS",
831 "tAGGREGATABLE", "tALLOCATE", "tANNOTATION", "tAPPOBJECT", "tASYNC",
832 "tASYNCUUID", "tAUTOHANDLE", "tBINDABLE", "tBOOLEAN", "tBROADCAST",
833 "tBYTE", "tBYTECOUNT", "tCALLAS", "tCALLBACK", "tCASE", "tCDECL",
834 "tCHAR", "tCOCLASS", "tCODE", "tCOMMSTATUS", "tCONST", "tCONTEXTHANDLE",
835 "tCONTEXTHANDLENOSERIALIZE", "tCONTEXTHANDLESERIALIZE", "tCONTROL",
836 "tCPPQUOTE", "tDECODE", "tDEFAULT", "tDEFAULTBIND", "tDEFAULTCOLLELEM",
837 "tDEFAULTVALUE", "tDEFAULTVTABLE", "tDISABLECONSISTENCYCHECK",
838 "tDISPLAYBIND", "tDISPINTERFACE", "tDLLNAME", "tDOUBLE", "tDUAL",
839 "tENABLEALLOCATE", "tENCODE", "tENDPOINT", "tENTRY", "tENUM",
840 "tERRORSTATUST", "tEXPLICITHANDLE", "tEXTERN", "tFALSE", "tFASTCALL",
841 "tFAULTSTATUS", "tFLOAT", "tFORCEALLOCATE", "tHANDLE", "tHANDLET",
842 "tHELPCONTEXT", "tHELPFILE", "tHELPSTRING", "tHELPSTRINGCONTEXT",
843 "tHELPSTRINGDLL", "tHIDDEN", "tHYPER", "tID", "tIDEMPOTENT", "tIGNORE",
844 "tIIDIS", "tIMMEDIATEBIND", "tIMPLICITHANDLE", "tIMPORT", "tIMPORTLIB",
845 "tIN", "tIN_LINE", "tINLINE", "tINPUTSYNC", "tINT", "tINT3264", "tINT64",
846 "tINTERFACE", "tLCID", "tLENGTHIS", "tLIBRARY", "tLICENSED", "tLOCAL",
847 "tLONG", "tMAYBE", "tMESSAGE", "tMETHODS", "tMODULE", "tNAMESPACE",
848 "tNOCODE", "tNONBROWSABLE", "tNONCREATABLE", "tNONEXTENSIBLE", "tNOTIFY",
849 "tNOTIFYFLAG", "tNULL", "tOBJECT", "tODL", "tOLEAUTOMATION", "tOPTIMIZE",
850 "tOPTIONAL", "tOUT", "tPARTIALIGNORE", "tPASCAL", "tPOINTERDEFAULT",
851 "tPRAGMA_WARNING", "tPROGID", "tPROPERTIES", "tPROPGET", "tPROPPUT",
852 "tPROPPUTREF", "tPROXY", "tPTR", "tPUBLIC", "tRANGE", "tREADONLY",
853 "tREF", "tREGISTER", "tREPRESENTAS", "tREQUESTEDIT", "tRESTRICTED",
854 "tRETVAL", "tSAFEARRAY", "tSHORT", "tSIGNED", "tSIZEIS", "tSIZEOF",
855 "tSMALL", "tSOURCE", "tSTATIC", "tSTDCALL", "tSTRICTCONTEXTHANDLE",
856 "tSTRING", "tSTRUCT", "tSWITCH", "tSWITCHIS", "tSWITCHTYPE",
857 "tTHREADING", "tTRANSMITAS", "tTRUE", "tTYPEDEF", "tUIDEFAULT", "tUNION",
858 "tUNIQUE", "tUNSIGNED", "tUSESGETLASTERROR", "tUSERMARSHAL", "tUUID",
859 "tV1ENUM", "tVARARG", "tVERSION", "tVIPROGID", "tVOID", "tWCHAR",
860 "tWIREMARSHAL", "tAPARTMENT", "tNEUTRAL", "tSINGLE", "tFREE", "tBOTH",
861 "','", "'?'", "':'", "'|'", "'^'", "'&'", "'<'", "'>'", "'-'", "'+'",
862 "'*'", "'/'", "'%'", "'!'", "'~'", "CAST", "PPTR", "POS", "NEG",
863 "ADDRESSOF", "'.'", "'['", "']'", "'{'", "'}'", "';'", "'('", "')'",
864 "'='", "$accept", "input", "gbl_statements", "$@1", "imp_statements",
865 "$@2", "int_statements", "semicolon_opt", "statement", "pragma_warning",
866 "warnings", "typedecl", "cppquote", "import_start", "import",
867 "importlib", "libraryhdr", "library_start", "librarydef", "m_args",
868 "arg_list", "args", "arg", "array", "m_attributes", "attributes",
869 "attrib_list", "str_list", "attribute", "uuid_string", "callconv",
870 "cases", "case", "enums", "enum_list", "enum", "enumdef", "m_exprs",
871 "m_expr", "expr", "expr_list_int_const", "expr_int_const", "expr_const",
872 "fields", "field", "ne_union_field", "ne_union_fields", "union_field",
873 "s_field", "funcdef", "declaration", "m_ident", "t_ident", "ident",
874 "base_type", "m_int", "int_std", "coclass", "coclasshdr", "coclassdef",
875 "namespacedef", "coclass_ints", "coclass_int", "dispinterface",
876 "dispinterfacehdr", "dispint_props", "dispint_meths", "dispinterfacedef",
877 "inherit", "interface", "interfacehdr", "interfacedef", "interfacedec",
878 "module", "modulehdr", "moduledef", "storage_cls_spec",
879 "function_specifier", "type_qualifier", "m_type_qual_list", "decl_spec",
880 "m_decl_spec_no_type", "decl_spec_no_type", "declarator",
881 "direct_declarator", "abstract_declarator",
882 "abstract_declarator_no_direct", "m_abstract_declarator",
883 "abstract_direct_declarator", "any_declarator",
884 "any_declarator_no_direct", "m_any_declarator", "any_direct_declarator",
885 "declarator_list", "m_bitfield", "struct_declarator",
886 "struct_declarator_list", "init_declarator", "threading_type",
887 "pointer_type", "structdef", "type", "typedef", "uniondef", "version", YY_NULL
888 };
889 #endif
890
891 # ifdef YYPRINT
892 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
893 (internal) symbol number NUM (which must be that of a token). */
894 static const yytype_uint16 yytoknum[] =
895 {
896 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
897 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
898 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
899 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
900 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
901 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
902 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
903 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
904 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
905 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
906 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
907 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
908 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
909 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
910 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
911 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
912 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
913 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
914 435, 436, 44, 63, 58, 124, 94, 38, 60, 62,
915 45, 43, 42, 47, 37, 33, 126, 437, 438, 439,
916 440, 441, 46, 91, 93, 123, 125, 59, 40, 41,
917 61
918 };
919 # endif
920
921 #define YYPACT_NINF -521
922
923 #define yypact_value_is_default(Yystate) \
924 (!!((Yystate) == (-521)))
925
926 #define YYTABLE_NINF -260
927
928 #define yytable_value_is_error(Yytable_value) \
929 0
930
931 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
932 STATE-NUM. */
933 static const yytype_int16 yypact[] =
934 {
935 -521, 89, 1646, -521, -521, -521, -521, -521, -521, 156,
936 -521, -136, 172, -521, 181, -521, -521, -521, -521, -6,
937 87, -521, -521, -521, -521, 218, -6, 105, -99, -521,
938 -75, -6, 384, -521, -521, 223, 255, 384, -521, -521,
939 2819, -521, -521, -39, -521, -521, -521, -521, -521, 25,
940 2519, -19, -15, -521, -521, -11, 6, -521, 24, 3,
941 27, 15, 29, 21, -521, -521, 66, -521, 44, 44,
942 44, 162, 2667, 79, 44, 106, 109, -521, -521, 208,
943 -521, -521, 94, -521, 74, -521, -521, 119, -521, -521,
944 -521, -521, 279, 2667, -521, -521, 97, 107, -127, -120,
945 -521, -521, 122, -521, -521, 125, -521, -521, -521, 126,
946 131, -521, -521, -521, -521, -521, -521, -521, -521, -521,
947 -521, 155, -521, -521, -521, 160, -521, -521, -521, 161,
948 173, -521, -521, -521, -521, 179, 180, 183, 184, 192,
949 -521, 193, -521, -521, 195, -521, 196, -521, -521, 197,
950 205, -521, -521, -521, -521, -521, -521, -521, -521, -521,
951 -521, -521, -521, -521, 211, -521, -521, -521, 212, 213,
952 -521, -521, -521, -521, -521, -521, 214, -521, -521, 215,
953 -521, -521, -521, 217, -521, -521, -521, 222, 246, 247,
954 251, -521, -521, -521, 252, 260, -521, -521, 261, 263,
955 264, -121, -521, -521, -521, 1528, 791, 177, 319, 322,
956 337, 343, 347, 207, 182, -521, -521, -521, -521, 162,
957 209, 268, -521, -521, -521, -521, -521, -55, -521, -521,
958 -521, 350, 271, -521, -521, -521, -521, -521, -521, -521,
959 -521, -521, -521, -521, -521, 162, 162, -521, 267, -96,
960 -521, -521, -521, 44, -521, -521, -521, 269, 355, -521,
961 289, 270, -521, 276, -521, 477, 61, 355, 646, 646,
962 478, 479, 646, 646, 482, 491, 646, 493, 646, 646,
963 2080, 646, 646, 494, -78, 497, 646, 2667, 646, 646,
964 2667, 194, 2667, 2667, 61, 75, 501, 2667, 2819, 308,
965 -521, 309, -521, -521, -521, 311, -521, 314, -521, -521,
966 -521, 15, 2593, -521, 326, -521, -521, -521, -521, 326,
967 -102, -521, -521, -37, -521, 332, -66, 320, 329, -521,
968 -521, 1130, 72, 327, -521, 646, 266, 2080, -521, -521,
969 -521, 333, 353, -521, 328, 534, -521, -30, 177, -21,
970 335, -521, -521, 336, 341, -521, -521, -521, -521, -521,
971 -521, -521, -521, -521, 339, -521, 646, 646, 646, 646,
972 646, 646, 575, 2328, -143, -521, 2328, 342, 344, -521,
973 -123, 346, 348, 349, 351, 352, 354, 357, 1334, 358,
974 2593, 159, 359, -118, -521, 2328, 362, 363, 364, 367,
975 365, -114, 2001, 368, -521, -521, -521, -521, -521, 370,
976 378, 379, 380, 374, -521, 381, 382, 383, -521, 2819,
977 543, -521, -521, -521, 162, 15, -23, -521, 1027, -521,
978 375, 2593, 387, 1410, 389, 474, 1233, 15, -521, 2593,
979 -521, -521, -521, -521, 594, -521, 2242, 390, 414, -521,
980 -521, -521, 355, 646, -521, 18, -521, 2593, -521, 397,
981 -521, 391, -521, 401, -521, -521, -521, 2593, 12, 12,
982 12, 12, 12, 12, 2111, 338, 646, 646, 607, 646,
983 646, 646, 646, 646, 646, 646, 646, 646, 646, 646,
984 646, 646, 646, 646, 646, 646, 608, 646, 646, -521,
985 -521, -521, 604, -521, -521, -521, -521, -521, -521, -521,
986 -521, -521, -521, 159, -521, 1775, -521, 159, -521, -521,
987 -521, -93, -521, 646, -521, -521, -521, -521, 646, -521,
988 -521, -521, -521, -521, -521, -521, -521, 610, -521, -521,
989 -521, -521, 405, -521, -521, 435, -521, -521, -521, -521,
990 162, 169, -521, -521, 2593, 413, -521, -521, -521, 15,
991 -521, -521, -521, -521, 2006, -521, -521, -521, -521, 159,
992 419, 355, -521, -521, 338, -521, -521, 1903, -521, 338,
993 -521, 420, -58, 204, 204, -521, 718, 718, 305, 305,
994 2198, 2347, 2307, 103, 506, 2354, 305, 305, 115, 115,
995 12, 12, 12, -521, 2270, -521, -521, -521, 340, -521,
996 421, 159, 423, -521, 2080, -521, -521, 425, -521, 15,
997 909, 162, -521, -521, 1336, -521, -521, -521, 444, -521,
998 -115, -521, 431, -521, 429, 498, -521, 430, 159, 434,
999 -521, 646, 2080, -521, 646, -521, -521, 340, -521, -521,
1000 -521, 437, -521, -521, -521, -521, 15, 646, -521, 159,
1001 -521, -521, -521, -521, 340, -521, -521, -521, 12, 438,
1002 2328, -521, -521, -521, -521, -521, -13, -521, -521, 646,
1003 475, -521, -521, 476, -52, -52, -521, -521, 454, -521,
1004 -521
1005 };
1006
1007 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1008 Performed when YYTABLE does not specify something else to do. Zero
1009 means the default is an error. */
1010 static const yytype_uint16 yydefact[] =
1011 {
1012 3, 0, 2, 1, 33, 380, 271, 263, 282, 0,
1013 319, 0, 0, 270, 258, 272, 315, 269, 273, 274,
1014 0, 318, 276, 283, 281, 0, 274, 0, 0, 317,
1015 0, 274, 0, 278, 316, 258, 258, 268, 379, 264,
1016 74, 12, 34, 0, 28, 13, 31, 13, 11, 0,
1017 67, 382, 0, 381, 265, 0, 0, 9, 0, 0,
1018 0, 26, 0, 301, 7, 6, 0, 10, 324, 324,
1019 324, 0, 0, 384, 324, 0, 386, 284, 285, 0,
1020 292, 293, 383, 260, 0, 275, 280, 0, 303, 304,
1021 279, 288, 0, 0, 277, 266, 385, 0, 387, 0,
1022 267, 75, 0, 77, 78, 0, 79, 80, 81, 0,
1023 0, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1024 93, 0, 95, 96, 97, 0, 99, 100, 101, 0,
1025 0, 104, 105, 106, 107, 0, 0, 0, 0, 0,
1026 113, 0, 115, 116, 0, 118, 0, 120, 121, 124,
1027 0, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1028 134, 135, 136, 137, 0, 139, 140, 141, 0, 0,
1029 144, 145, 146, 147, 377, 148, 0, 150, 375, 0,
1030 152, 153, 154, 0, 156, 157, 158, 0, 0, 0,
1031 0, 163, 376, 164, 0, 0, 168, 169, 0, 0,
1032 0, 0, 69, 173, 29, 66, 66, 66, 258, 0,
1033 0, 258, 258, 0, 382, 286, 294, 305, 313, 0,
1034 384, 386, 30, 8, 289, 4, 310, 0, 27, 308,
1035 309, 0, 0, 24, 328, 325, 327, 326, 261, 262,
1036 176, 177, 178, 179, 320, 0, 0, 332, 368, 331,
1037 255, 382, 384, 324, 386, 322, 32, 0, 184, 48,
1038 0, 0, 241, 0, 247, 0, 0, 0, 0, 0,
1039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1040 0, 0, 194, 0, 0, 0, 0, 0, 194, 0,
1041 0, 0, 0, 0, 0, 0, 0, 0, 74, 68,
1042 49, 0, 21, 22, 23, 0, 19, 0, 17, 14,
1043 20, 26, 0, 67, 383, 51, 52, 311, 312, 385,
1044 387, 53, 254, 66, 3, 0, 66, 0, 0, 302,
1045 24, 66, 0, 0, 330, 0, 0, 55, 334, 323,
1046 47, 0, 186, 187, 190, 0, 388, 66, 66, 66,
1047 0, 175, 174, 0, 0, 205, 196, 197, 198, 202,
1048 203, 204, 199, 200, 0, 201, 0, 0, 0, 0,
1049 0, 0, 0, 239, 0, 237, 240, 0, 0, 72,
1050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1051 0, 353, 0, 0, 192, 195, 0, 0, 0, 0,
1052 0, 0, 0, 0, 370, 371, 372, 373, 374, 0,
1053 0, 0, 0, 392, 394, 0, 0, 0, 70, 74,
1054 0, 18, 15, 54, 0, 26, 0, 290, 66, 295,
1055 0, 0, 0, 0, 0, 0, 66, 26, 25, 67,
1056 321, 329, 333, 369, 0, 65, 0, 0, 59, 56,
1057 57, 191, 185, 0, 36, 0, 378, 0, 242, 0,
1058 390, 67, 248, 0, 76, 167, 82, 0, 229, 228,
1059 227, 230, 225, 226, 0, 341, 0, 0, 0, 0,
1060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1061 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,
1062 94, 98, 0, 102, 103, 108, 109, 110, 111, 112,
1063 114, 117, 119, 353, 320, 55, 358, 353, 355, 354,
1064 62, 350, 123, 194, 122, 138, 142, 143, 0, 151,
1065 155, 159, 160, 162, 161, 165, 166, 0, 170, 171,
1066 172, 71, 0, 13, 361, 389, 287, 291, 5, 297,
1067 0, 384, 296, 299, 0, 0, 253, 300, 24, 26,
1068 314, 64, 63, 335, 0, 188, 189, 37, 35, 0,
1069 386, 256, 246, 245, 341, 236, 320, 55, 345, 341,
1070 342, 0, 338, 218, 219, 231, 212, 213, 216, 217,
1071 207, 208, 0, 209, 210, 211, 215, 214, 221, 220,
1072 223, 224, 222, 232, 0, 238, 73, 61, 353, 320,
1073 0, 353, 0, 349, 55, 357, 193, 0, 393, 26,
1074 66, 0, 251, 298, 66, 306, 60, 58, 363, 366,
1075 0, 244, 0, 257, 0, 341, 320, 0, 353, 0,
1076 337, 0, 55, 344, 0, 235, 348, 353, 359, 352,
1077 356, 0, 149, 50, 16, 362, 26, 0, 365, 0,
1078 243, 180, 234, 336, 353, 346, 340, 343, 233, 0,
1079 206, 351, 360, 307, 364, 367, 0, 339, 347, 0,
1080 0, 391, 181, 0, 66, 66, 250, 183, 0, 182,
1081 249
1082 };
1083
1084 /* YYPGOTO[NTERM-NUM]. */
1085 static const yytype_int16 yypgoto[] =
1086 {
1087 -521, -521, 360, -521, -42, -521, -304, -291, 0, -521,
1088 -521, -521, -521, -521, 227, -521, -521, -521, 10, -472,
1089 -521, -521, -266, -218, -191, -2, -521, -521, -275, 369,
1090 -65, -521, -521, -521, -521, 216, 13, 377, 143, -242,
1091 -521, -228, -264, -521, -521, -521, -521, -18, -177, -521,
1092 237, -521, -3, -67, -521, 110, 116, 5, -521, 11,
1093 17, -521, -521, 624, -521, -521, -521, -521, -521, -33,
1094 -521, 19, 16, -521, -521, 20, -521, -521, -298, -462,
1095 -49, 32, 30, -235, -521, -521, -521, -495, -521, -520,
1096 -521, -448, -521, -521, -521, 22, -521, 456, -521, 392,
1097 1, -31, -521, 7, -521
1098 };
1099
1100 /* YYDEFGOTO[NTERM-NUM]. */
1101 static const yytype_int16 yydefgoto[] =
1102 {
1103 -1, 1, 2, 324, 205, 543, 331, 229, 302, 42,
1104 455, 43, 44, 45, 46, 303, 213, 47, 304, 447,
1105 448, 449, 450, 516, 49, 313, 201, 380, 202, 353,
1106 517, 676, 682, 341, 342, 343, 251, 393, 394, 373,
1107 374, 375, 377, 347, 458, 462, 349, 687, 688, 555,
1108 52, 632, 84, 518, 53, 86, 54, 305, 56, 306,
1109 307, 323, 427, 59, 60, 326, 433, 61, 232, 62,
1110 63, 308, 309, 218, 66, 310, 68, 69, 70, 332,
1111 71, 234, 72, 248, 249, 580, 639, 581, 582, 519,
1112 612, 520, 521, 545, 658, 629, 630, 250, 409, 203,
1113 252, 74, 75, 254, 415
1114 };
1115
1116 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
1117 positive, shift that token. If negative, reduce the rule whose
1118 number is the opposite. If YYTABLE_NINF, syntax error. */
1119 static const yytype_int16 yytable[] =
1120 {
1121 50, 219, 41, 73, 247, 206, 246, 55, 381, 76,
1122 333, 334, 48, 57, 389, 51, 312, 217, 65, 58,
1123 423, 64, 67, 418, 567, 679, 436, 376, 478, -259,
1124 376, 338, 97, 99, 440, 12, 263, 388, 680, 498,
1125 395, 253, 430, 610, 25, 382, 395, 402, 385, 628,
1126 387, 220, 608, 392, -259, 215, 174, 221, 399, 502,
1127 178, 298, 261, 214, 523, 607, 499, 659, 523, 613,
1128 351, 443, 79, 352, 325, 238, 25, 239, -259, 634,
1129 -43, 413, 414, 299, 640, 264, 503, 192, 10, 3,
1130 85, 524, 660, 376, 446, 530, 87, 441, 235, 235,
1131 235, 236, 237, -259, 235, 637, 255, 336, 91, 92,
1132 336, 240, 337, 16, 635, 614, 10, 476, 477, 478,
1133 479, 480, 481, 482, 468, 469, 470, 471, 472, 473,
1134 474, 478, 426, 93, 546, 431, 90, 40, 21, 628,
1135 663, 94, 651, 241, 541, 336, 560, 647, 95, 432,
1136 642, 40, 247, 100, 246, 686, 457, 431, 431, 77,
1137 646, 78, 238, 649, 239, 238, 40, 239, 204, 425,
1138 669, 459, 463, 40, 664, 80, 456, 81, 247, 247,
1139 246, 246, 40, 29, 82, 460, 83, 207, -38, 544,
1140 666, 344, 222, 681, 327, 34, 223, 242, 240, 671,
1141 354, 240, 471, 50, 50, 231, 73, 73, 97, 99,
1142 226, 224, 76, 76, 496, 497, 677, 257, 51, 51,
1143 478, 88, 228, 89, 243, 566, 96, 568, 83, 225,
1144 241, 391, 227, 241, 583, 584, 230, 586, 587, 588,
1145 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
1146 599, 600, 601, 602, 624, 604, 400, 578, 98, 403,
1147 83, 410, 411, 424, 244, 247, 417, 246, 625, 355,
1148 605, 233, 356, 357, 358, 359, 360, 361, 390, 258,
1149 245, 395, 260, 235, 242, 339, -40, 242, 391, 487,
1150 488, 489, 490, 491, 492, 493, 494, 495, 627, -259,
1151 617, -39, -259, 615, -41, 496, 497, 493, 494, 495,
1152 440, 243, 262, 256, 243, 622, -42, 496, 497, 476,
1153 477, 478, 314, 475, 83, 315, 259, 316, 653, 439,
1154 265, 438, 73, 266, 267, 390, 362, 440, 76, 268,
1155 317, 513, 318, 238, 51, 239, 319, 461, 83, 440,
1156 320, 514, 83, 328, 244, 329, 578, 247, 238, 246,
1157 239, 578, 336, 269, 643, 673, 440, 515, 270, 271,
1158 245, 404, 405, 406, 407, 408, -252, 240, -252, 240,
1159 40, 272, 550, 363, 10, 344, 655, 273, 274, -44,
1160 219, 275, 276, 674, 491, 492, 493, 494, 495, 668,
1161 277, 278, 670, 279, 280, 281, 496, 497, 569, 241,
1162 579, 241, 321, 282, 364, 376, -45, 578, 574, 283,
1163 284, 285, 286, 287, 8, 288, 50, 365, 41, 73,
1164 289, 554, 551, 55, 439, 76, 438, 73, 48, 57,
1165 220, 51, 547, 76, 65, 58, 221, 64, 67, 51,
1166 611, 683, 214, 366, 290, 291, 367, 368, 444, 292,
1167 293, 370, 371, 242, 570, 242, 391, 19, 294, 295,
1168 445, 296, 297, 345, 372, -46, 330, 335, 340, 346,
1169 22, 23, 24, 247, 348, 246, 350, 378, 379, 26,
1170 243, 383, 243, 431, 431, 491, 492, 493, 494, 495,
1171 384, 620, 386, 396, 633, 219, 398, 496, 497, 579,
1172 416, 419, 638, 390, 579, 391, 429, 420, 421, 422,
1173 476, 477, 478, 479, 480, 481, 482, 434, 391, 31,
1174 576, -259, 514, 33, 435, 452, 442, 240, 453, 451,
1175 454, 336, 10, 336, 464, 465, 577, 467, 515, 528,
1176 466, 500, 542, 501, 247, 504, 246, 505, 506, 549,
1177 507, 508, 390, 509, 20, 391, 510, 512, 522, 241,
1178 579, 525, 526, 527, 529, 390, 537, 532, 355, 533,
1179 5, 356, 357, 358, 359, 360, 361, 534, 535, 536,
1180 538, 539, 540, 391, 552, 557, 564, 355, 572, 563,
1181 356, 357, 358, 359, 360, 361, 571, 6, 573, 7,
1182 585, 603, 390, 606, 619, 8, 618, 621, 50, 10,
1183 623, 73, 439, 242, 438, 73, 631, 76, 657, 641,
1184 648, 76, 650, 51, 652, 13, 661, 51, 662, 665,
1185 390, 208, 15, 667, 16, 362, 672, 678, 17, 355,
1186 243, 18, 356, 357, 358, 359, 360, 361, 19, 684,
1187 685, 690, 558, 412, 362, 401, 616, 689, 565, 21,
1188 556, 22, 23, 24, 216, 322, 397, 0, 0, 0,
1189 26, 675, 0, 0, 428, 0, 0, 0, 0, 0,
1190 576, 0, 363, 488, 489, 490, 491, 492, 493, 494,
1191 495, 336, 0, 0, 0, 0, 577, 0, 496, 497,
1192 0, 363, 0, 0, 29, 0, 362, 0, 0, 30,
1193 31, 32, 0, 364, 33, 0, 34, 0, 0, 0,
1194 211, 0, 476, 477, 478, 0, 365, 481, 482, 212,
1195 0, 37, 364, 0, 0, 0, 0, 0, 0, 38,
1196 39, 0, 0, 0, 0, 365, 0, 0, 0, 0,
1197 0, 0, 366, 363, 0, 367, 368, 369, 0, 0,
1198 370, 371, 0, 0, 0, 0, 0, 0, 0, 0,
1199 0, 366, 0, 372, 367, 368, 369, 0, 0, 370,
1200 371, 0, 0, 0, 364, 4, 5, 0, 561, 0,
1201 0, 0, 372, 0, 0, 0, 0, 365, 0, 0,
1202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1203 0, 0, 0, 6, 0, 7, 0, 0, 0, 0,
1204 0, 8, 9, 366, 0, 10, 367, 368, 369, 0,
1205 11, 370, 371, 0, 0, 0, 0, 0, 0, 12,
1206 0, 13, 0, 0, 372, 0, 0, 14, 15, 0,
1207 16, 0, 0, 0, 17, 0, 0, 18, 0, 0,
1208 0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
1209 0, 20, 301, 0, 0, 21, 0, 22, 23, 24,
1210 25, 0, 0, 0, 0, 0, 26, 0, 0, 0,
1211 0, 27, 0, 0, 0, 0, 489, 490, 491, 492,
1212 493, 494, 495, 4, 5, 0, 0, 0, 28, 0,
1213 496, 497, 0, 0, 0, 0, 0, 0, 0, 0,
1214 29, 0, 0, 0, 0, 30, 31, 32, 0, 0,
1215 33, 6, 34, 7, 0, 0, 35, 0, 0, 8,
1216 9, 0, 0, 10, 0, 36, 0, 37, 11, 0,
1217 0, 0, 0, 0, 0, 38, 39, 12, 0, 13,
1218 0, 0, 0, 0, 0, 14, 15, 0, 16, 0,
1219 0, 0, 17, 0, 0, 18, 0, 0, 0, 0,
1220 0, 0, 19, 0, 40, 0, 0, 311, 0, 20,
1221 301, 0, 0, 21, 0, 22, 23, 24, 25, 0,
1222 0, 0, 0, 0, 26, 0, 0, 0, 0, 27,
1223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1224 0, 4, 5, 0, 0, 0, 28, 0, 0, 0,
1225 0, 0, 0, 0, 0, 0, 0, 0, 29, 0,
1226 0, 0, 0, 30, 31, 32, 0, 0, 33, 6,
1227 34, 7, 0, 0, 35, 0, 0, 8, 9, 0,
1228 0, 10, 0, 36, 0, 37, 11, 0, 0, 0,
1229 0, 0, 0, 38, 39, 12, 0, 13, 0, 0,
1230 0, 0, 0, 14, 15, 0, 16, 0, 0, 0,
1231 17, 0, 0, 18, 0, 0, 0, 0, 0, 0,
1232 19, 0, 40, 0, 0, 654, 0, 20, 0, 0,
1233 0, 21, 0, 22, 23, 24, 25, 0, 0, 0,
1234 0, 0, 26, 0, 4, 5, 0, 27, 0, 0,
1235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1236 0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
1237 0, 0, 6, 0, 7, 0, 29, 0, 0, 0,
1238 8, 30, 31, 32, 10, 0, 33, 0, 34, 11,
1239 0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
1240 13, 36, 0, 37, 0, 0, 14, 15, 0, 16,
1241 0, 38, 39, 17, 0, 0, 18, 0, 0, 0,
1242 0, 0, 0, 19, 0, 0, 0, 0, 0, 0,
1243 20, 0, 0, 0, 21, 0, 22, 23, 24, 0,
1244 40, 0, 0, 548, 0, 26, 0, 4, 5, 0,
1245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1246 0, 0, 0, 0, 0, 0, 0, 28, 0, 0,
1247 0, 0, 0, 0, 0, 6, 0, 7, 0, 29,
1248 0, 0, 0, 8, 30, 31, 32, 10, 0, 33,
1249 0, 34, 11, 0, 0, 35, 0, 0, 0, 0,
1250 0, 0, 0, 13, 36, 0, 37, 0, 0, 14,
1251 15, 0, 16, 0, 38, 39, 17, 0, 0, 18,
1252 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
1253 0, 0, 0, 20, 0, 0, 0, 21, 0, 22,
1254 23, 24, 0, 40, 0, 0, 437, 0, 26, 0,
1255 4, 5, 0, 0, 0, 0, 0, 0, 476, 477,
1256 478, 479, 480, 481, 482, 483, 484, 0, 0, 0,
1257 28, 0, 0, 0, 0, 0, 0, 0, 6, 0,
1258 7, 0, 29, 0, 0, 0, 8, 30, 31, 32,
1259 10, 0, 33, 0, 34, 11, 0, 0, 35, 0,
1260 0, 0, 0, 0, 0, 0, 13, 36, 0, 37,
1261 0, 0, 14, 15, 0, 16, 0, 38, 39, 17,
1262 0, 0, 18, 0, 0, 5, 0, 0, 0, 19,
1263 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
1264 21, 0, 22, 23, 24, 0, 40, 0, 0, 559,
1265 0, 26, 6, 0, 7, 0, 0, 0, 0, 0,
1266 8, 0, 0, 0, 10, 0, 0, 0, 0, 0,
1267 0, 0, 0, 28, 0, 0, 0, 0, 0, 0,
1268 13, 0, 0, 0, 0, 29, 208, 15, 0, 16,
1269 30, 31, 32, 17, 0, 33, 18, 34, 0, 0,
1270 0, 35, 0, 19, 0, 0, 0, 0, 0, 0,
1271 36, 0, 37, 0, 21, 0, 22, 23, 24, 0,
1272 38, 39, 0, 0, 0, 26, 0, 485, 0, 486,
1273 487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
1274 0, 0, 4, 5, 0, 0, 496, 497, 0, 40,
1275 0, 300, 656, 511, 0, 0, 0, 0, 0, 29,
1276 0, 0, 0, 0, 30, 31, 32, 0, 0, 33,
1277 6, 34, 7, 0, 0, 211, 0, 0, 8, 9,
1278 0, 0, 10, 0, 212, 0, 37, 11, 0, 0,
1279 0, 0, 0, 0, 38, 39, 12, 0, 13, 0,
1280 0, 0, 0, 0, 14, 15, 0, 16, 0, 0,
1281 0, 17, 0, 0, 18, 0, 0, 0, 0, 0,
1282 0, 19, 0, 40, 0, 0, 553, 0, 20, 301,
1283 0, 0, 21, 0, 22, 23, 24, 25, 0, 0,
1284 0, 0, 0, 26, 0, 0, 0, 0, 27, 0,
1285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1286 4, 5, 0, 0, 0, 28, 0, 0, 0, 0,
1287 0, 0, 0, 0, 0, 0, 0, 29, 0, 0,
1288 0, 0, 30, 31, 32, 0, 0, 33, 6, 34,
1289 7, 0, 0, 35, 0, 0, 8, 9, 0, 0,
1290 10, 0, 36, 0, 37, 11, 0, 0, 0, 0,
1291 0, 0, 38, 39, 12, 0, 13, 0, 0, 0,
1292 0, 0, 14, 15, 0, 16, 0, 0, 0, 17,
1293 0, 0, 18, 0, 0, 0, 0, 0, 0, 19,
1294 0, 40, 0, 0, 0, 0, 20, 0, 0, 0,
1295 21, 0, 22, 23, 24, 25, 0, 0, 0, 0,
1296 0, 26, 0, 0, 0, 0, 27, 0, 0, 0,
1297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1298 0, 0, 0, 28, 0, 0, 0, 0, 0, 0,
1299 5, 0, 0, 0, 0, 29, 0, 0, 0, 0,
1300 30, 31, 32, 0, 0, 33, 0, 34, 0, 0,
1301 0, 35, 0, 0, 0, 0, 0, 6, -66, 7,
1302 36, 0, 37, 0, 240, 8, 0, 0, 0, 10,
1303 38, 39, 0, 0, 0, 0, 0, 0, 0, 0,
1304 0, 0, 0, 0, 0, 13, 0, 0, 0, 0,
1305 0, 208, 15, 0, 16, 0, 241, 0, 17, 40,
1306 0, 18, 0, 0, 0, 0, 0, 0, 19, 0,
1307 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
1308 0, 22, 23, 24, 0, 0, 0, 0, 0, 0,
1309 26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1311 242, 0, 0, 0, 0, 0, 0, 0, 5, 0,
1312 0, 0, 0, 0, 29, 0, 0, 0, 0, 30,
1313 31, 32, 0, 0, 33, 0, 34, 243, 0, 0,
1314 211, 0, 0, 0, 0, 6, 0, 7, 0, 212,
1315 0, 37, 240, 8, 0, 0, 0, 10, 0, 38,
1316 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1317 0, 0, 0, 13, 0, 0, 0, 609, 0, 208,
1318 15, 0, 16, 0, 241, 0, 17, 0, 40, 18,
1319 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
1320 0, 0, 0, 0, 0, 0, 0, 21, 0, 22,
1321 23, 24, 0, 0, 0, 0, 0, 0, 26, 0,
1322 0, 5, 0, 0, 0, 476, 477, 478, 479, 480,
1323 481, 482, 483, 484, 0, 0, 0, 0, 242, 626,
1324 0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
1325 7, 0, 29, 0, 0, 0, 8, 30, 31, 32,
1326 10, 0, 33, 0, 34, 243, 0, 0, 211, 0,
1327 0, 0, 0, 0, 0, 0, 13, 212, 0, 37,
1328 0, 0, 208, 15, 0, 16, 0, 38, 39, 17,
1329 0, 0, 18, 0, 0, 5, 0, 0, 0, 19,
1330 0, 0, 0, 0, 0, 636, 0, 0, 0, 0,
1331 21, 0, 22, 23, 24, 0, 40, 0, 0, 0,
1332 0, 26, 6, 0, 7, 0, 0, 0, 0, 0,
1333 8, 0, 0, 0, 10, 476, 477, 478, 479, 480,
1334 481, 482, 483, 484, 0, 0, 0, 0, 0, 0,
1335 13, 0, 0, 0, 0, 29, 208, 15, 0, 16,
1336 30, 31, 32, 17, 0, 33, 18, 34, 0, 0,
1337 0, 211, 0, 19, 0, 0, 0, 0, 0, 0,
1338 212, 0, 37, 0, 21, 0, 22, 23, 24, 0,
1339 38, 39, 0, 0, 485, 26, 486, 487, 488, 489,
1340 490, 491, 492, 493, 494, 495, 0, 0, 0, 0,
1341 0, 0, 0, 496, 497, 0, 0, 0, 0, 40,
1342 531, 0, 476, 477, 478, 479, 480, 481, 482, 29,
1343 484, 0, 0, 0, 30, 31, 32, 0, 0, 33,
1344 0, 34, 0, 0, 0, 211, 0, 0, 0, 0,
1345 0, 0, 0, 0, 212, 0, 37, 0, 0, 0,
1346 0, 0, 0, 0, 38, 39, 476, 477, 478, 479,
1347 480, 481, 482, 483, 484, 0, 0, 0, 0, 0,
1348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1349 0, 0, 0, 40, 476, 477, 478, 479, 480, 481,
1350 482, 483, 484, 0, 485, 0, 486, 487, 488, 489,
1351 490, 491, 492, 493, 494, 495, 0, 0, 0, 0,
1352 0, 0, 0, 496, 497, 0, 0, 0, 0, 0,
1353 575, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1355 0, 0, 476, 477, 478, 479, 480, 481, 482, 483,
1356 484, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1357 0, 476, 477, 478, 479, 480, 481, 482, 476, 477,
1358 478, 479, 480, 481, 482, 0, 0, 0, 0, 0,
1359 0, 0, 0, 486, 487, 488, 489, 490, 491, 492,
1360 493, 494, 495, 0, 0, 0, 0, 0, 0, 0,
1361 496, 497, 0, 0, 0, 0, 0, 0, 0, 0,
1362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1363 0, 0, 0, 0, 0, 485, 0, 486, 487, 488,
1364 489, 490, 491, 492, 493, 494, 495, 0, 0, 0,
1365 0, 0, 0, 0, 496, 497, 562, 0, 0, 0,
1366 0, 0, 0, 485, 0, 486, 487, 488, 489, 490,
1367 491, 492, 493, 494, 495, 0, 0, 0, 0, 0,
1368 0, 0, 496, 497, 645, 0, 0, 0, 0, 0,
1369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1370 485, 644, 486, 487, 488, 489, 490, 491, 492, 493,
1371 494, 495, 0, 0, 0, 0, 0, 0, 0, 496,
1372 497, 485, 0, 486, 487, 488, 489, 490, 491, 492,
1373 493, 494, 495, 0, 5, 0, 0, 0, 0, 0,
1374 496, 497, 486, 487, 488, 489, 490, 491, 492, 493,
1375 494, 495, 489, 490, 491, 492, 493, 494, 495, 496,
1376 497, 6, 0, 7, 0, 0, 496, 497, 0, 8,
1377 9, 0, 0, 10, 0, 0, 0, 0, 0, 0,
1378 0, 0, 0, 0, 0, 0, 0, 12, 0, 13,
1379 0, 0, 0, 0, 0, 208, 15, 0, 16, 0,
1380 0, 0, 17, 0, 0, 18, 0, 0, 5, 0,
1381 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
1382 0, 0, 0, 21, 0, 22, 23, 24, 25, 0,
1383 0, 209, 0, 0, 26, 6, 0, 7, 210, 0,
1384 0, 0, 0, 8, 0, 0, 0, 10, 0, 0,
1385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1386 0, 0, 0, 13, 0, 0, 0, 0, 29, 208,
1387 15, 0, 16, 30, 31, 32, 17, 0, 33, 18,
1388 34, 0, 5, 0, 211, 0, 19, 0, 0, 0,
1389 0, 0, 0, 212, 0, 37, 0, 21, 0, 22,
1390 23, 24, 0, 38, 39, 0, 0, 0, 26, 6,
1391 0, 7, 0, 0, 0, 0, 0, 8, 0, 0,
1392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1393 0, 0, 0, 0, 0, 0, 0, 13, 0, 0,
1394 0, 0, 29, 208, 15, 0, 0, 30, 31, 32,
1395 17, 0, 33, 18, 34, 0, 0, 0, 211, 0,
1396 19, 0, 0, 0, 0, 0, 0, 212, 0, 37,
1397 0, 0, 0, 22, 23, 24, 0, 38, 39, 0,
1398 0, 0, 26, 0, 0, 0, 0, 0, 0, 0,
1399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1402 0, 30, 31, 32, 0, 0, 33, 0, 0, 0,
1403 0, 0, 211, 0, 0, 0, 0, 0, 0, 0,
1404 0, 212, 0, 37, 0, 0, 0, 0, 0, 0,
1405 0, 38, 39, 101, 0, 102, 103, 104, 105, 106,
1406 107, 0, 108, 0, 0, 109, 0, 110, 0, 0,
1407 0, 111, 112, 0, 113, 114, 115, 116, 0, 117,
1408 118, 119, 120, 121, 122, 123, 124, 0, 125, 0,
1409 126, 127, 128, 129, 130, 0, 0, 131, 0, 0,
1410 0, 132, 0, 133, 134, 0, 135, 136, 137, 138,
1411 139, 140, 0, 141, 142, 143, 144, 145, 146, 0,
1412 0, 147, 0, 0, 148, 0, 0, 0, 0, 149,
1413 150, 0, 151, 152, 0, 153, 154, 0, 0, 0,
1414 155, 156, 157, 158, 159, 160, 0, 161, 162, 163,
1415 164, 165, 166, 167, 0, 168, 0, 169, 0, 170,
1416 171, 172, 173, 174, 175, 176, 177, 178, 0, 179,
1417 180, 181, 182, 0, 0, 0, 183, 0, 0, 184,
1418 0, 0, 185, 186, 0, 0, 187, 188, 189, 190,
1419 0, 0, 191, 0, 192, 0, 193, 194, 195, 196,
1420 197, 198, 199, 0, 0, 200
1421 };
1422
1423 static const yytype_int16 yycheck[] =
1424 {
1425 2, 50, 2, 2, 71, 47, 71, 2, 272, 2,
1426 245, 246, 2, 2, 280, 2, 207, 50, 2, 2,
1427 311, 2, 2, 298, 6, 38, 330, 269, 16, 156,
1428 272, 249, 35, 36, 332, 58, 156, 279, 51, 182,
1429 282, 72, 108, 515, 99, 273, 288, 289, 276, 569,
1430 278, 50, 514, 281, 156, 50, 134, 50, 286, 182,
1431 138, 182, 93, 50, 182, 513, 209, 182, 182, 517,
1432 9, 335, 208, 12, 129, 3, 99, 5, 205, 574,
1433 207, 6, 7, 204, 579, 205, 209, 165, 44, 0,
1434 96, 209, 207, 335, 336, 209, 9, 332, 68, 69,
1435 70, 69, 70, 205, 74, 577, 74, 203, 3, 208,
1436 203, 39, 208, 69, 576, 208, 44, 14, 15, 16,
1437 17, 18, 19, 20, 366, 367, 368, 369, 370, 371,
1438 372, 16, 323, 208, 425, 326, 26, 203, 94, 659,
1439 635, 31, 614, 71, 419, 203, 437, 609, 32, 326,
1440 208, 203, 219, 37, 219, 207, 347, 348, 349, 3,
1441 608, 5, 3, 611, 5, 3, 203, 5, 207, 206,
1442 642, 348, 349, 203, 636, 3, 206, 5, 245, 246,
1443 245, 246, 203, 139, 3, 206, 5, 162, 207, 424,
1444 638, 258, 207, 206, 227, 151, 207, 125, 39, 647,
1445 267, 39, 444, 205, 206, 184, 205, 206, 211, 212,
1446 207, 205, 205, 206, 202, 203, 664, 9, 205, 206,
1447 16, 3, 207, 5, 152, 453, 3, 209, 5, 205,
1448 71, 280, 205, 71, 476, 477, 207, 479, 480, 481,
1449 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
1450 492, 493, 494, 495, 558, 497, 287, 475, 3, 290,
1451 5, 292, 293, 312, 192, 332, 297, 332, 559, 3,
1452 498, 205, 6, 7, 8, 9, 10, 11, 280, 205,
1453 208, 523, 3, 253, 125, 253, 207, 125, 337, 186,
1454 187, 188, 189, 190, 191, 192, 193, 194, 564, 205,
1455 528, 207, 205, 521, 207, 202, 203, 192, 193, 194,
1456 608, 152, 205, 207, 152, 550, 207, 202, 203, 14,
1457 15, 16, 3, 372, 5, 3, 207, 5, 619, 331,
1458 208, 331, 331, 208, 208, 337, 70, 635, 331, 208,
1459 3, 390, 5, 3, 331, 5, 3, 349, 5, 647,
1460 3, 192, 5, 3, 192, 5, 574, 424, 3, 424,
1461 5, 579, 203, 208, 582, 656, 664, 208, 208, 208,
1462 208, 177, 178, 179, 180, 181, 207, 39, 209, 39,
1463 203, 208, 431, 117, 44, 452, 621, 208, 208, 207,
1464 439, 208, 208, 657, 190, 191, 192, 193, 194, 641,
1465 208, 208, 644, 208, 208, 208, 202, 203, 457, 71,
1466 475, 71, 205, 208, 148, 657, 207, 635, 467, 208,
1467 208, 208, 208, 208, 40, 208, 428, 161, 428, 428,
1468 208, 433, 431, 428, 436, 428, 436, 436, 428, 428,
1469 439, 428, 426, 436, 428, 428, 439, 428, 428, 436,
1470 515, 679, 439, 187, 208, 208, 190, 191, 192, 208,
1471 208, 195, 196, 125, 457, 125, 515, 83, 208, 208,
1472 204, 208, 208, 184, 208, 207, 205, 210, 209, 209,
1473 96, 97, 98, 550, 208, 550, 9, 9, 9, 105,
1474 152, 9, 152, 684, 685, 190, 191, 192, 193, 194,
1475 9, 543, 9, 9, 571, 554, 9, 202, 203, 574,
1476 9, 203, 577, 515, 579, 564, 184, 208, 207, 205,
1477 14, 15, 16, 17, 18, 19, 20, 207, 577, 145,
1478 192, 205, 192, 149, 205, 182, 209, 39, 210, 206,
1479 6, 203, 44, 203, 209, 209, 208, 208, 208, 182,
1480 209, 209, 9, 209, 621, 209, 621, 209, 209, 184,
1481 209, 209, 564, 209, 90, 614, 209, 209, 209, 71,
1482 635, 209, 209, 209, 209, 577, 202, 209, 3, 209,
1483 5, 6, 7, 8, 9, 10, 11, 209, 209, 209,
1484 209, 209, 209, 642, 207, 206, 182, 3, 207, 209,
1485 6, 7, 8, 9, 10, 11, 209, 32, 207, 34,
1486 3, 3, 614, 9, 209, 40, 6, 182, 620, 44,
1487 207, 620, 624, 125, 624, 624, 207, 620, 184, 209,
1488 209, 624, 209, 620, 209, 60, 205, 624, 209, 209,
1489 642, 66, 67, 209, 69, 70, 209, 209, 73, 3,
1490 152, 76, 6, 7, 8, 9, 10, 11, 83, 184,
1491 184, 207, 435, 294, 70, 288, 523, 685, 452, 94,
1492 433, 96, 97, 98, 50, 219, 284, -1, -1, -1,
1493 105, 659, -1, -1, 324, -1, -1, -1, -1, -1,
1494 192, -1, 117, 187, 188, 189, 190, 191, 192, 193,
1495 194, 203, -1, -1, -1, -1, 208, -1, 202, 203,
1496 -1, 117, -1, -1, 139, -1, 70, -1, -1, 144,
1497 145, 146, -1, 148, 149, -1, 151, -1, -1, -1,
1498 155, -1, 14, 15, 16, -1, 161, 19, 20, 164,
1499 -1, 166, 148, -1, -1, -1, -1, -1, -1, 174,
1500 175, -1, -1, -1, -1, 161, -1, -1, -1, -1,
1501 -1, -1, 187, 117, -1, 190, 191, 192, -1, -1,
1502 195, 196, -1, -1, -1, -1, -1, -1, -1, -1,
1503 -1, 187, -1, 208, 190, 191, 192, -1, -1, 195,
1504 196, -1, -1, -1, 148, 4, 5, -1, 204, -1,
1505 -1, -1, 208, -1, -1, -1, -1, 161, -1, -1,
1506 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1507 -1, -1, -1, 32, -1, 34, -1, -1, -1, -1,
1508 -1, 40, 41, 187, -1, 44, 190, 191, 192, -1,
1509 49, 195, 196, -1, -1, -1, -1, -1, -1, 58,
1510 -1, 60, -1, -1, 208, -1, -1, 66, 67, -1,
1511 69, -1, -1, -1, 73, -1, -1, 76, -1, -1,
1512 -1, -1, -1, -1, 83, -1, -1, -1, -1, -1,
1513 -1, 90, 91, -1, -1, 94, -1, 96, 97, 98,
1514 99, -1, -1, -1, -1, -1, 105, -1, -1, -1,
1515 -1, 110, -1, -1, -1, -1, 188, 189, 190, 191,
1516 192, 193, 194, 4, 5, -1, -1, -1, 127, -1,
1517 202, 203, -1, -1, -1, -1, -1, -1, -1, -1,
1518 139, -1, -1, -1, -1, 144, 145, 146, -1, -1,
1519 149, 32, 151, 34, -1, -1, 155, -1, -1, 40,
1520 41, -1, -1, 44, -1, 164, -1, 166, 49, -1,
1521 -1, -1, -1, -1, -1, 174, 175, 58, -1, 60,
1522 -1, -1, -1, -1, -1, 66, 67, -1, 69, -1,
1523 -1, -1, 73, -1, -1, 76, -1, -1, -1, -1,
1524 -1, -1, 83, -1, 203, -1, -1, 206, -1, 90,
1525 91, -1, -1, 94, -1, 96, 97, 98, 99, -1,
1526 -1, -1, -1, -1, 105, -1, -1, -1, -1, 110,
1527 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1528 -1, 4, 5, -1, -1, -1, 127, -1, -1, -1,
1529 -1, -1, -1, -1, -1, -1, -1, -1, 139, -1,
1530 -1, -1, -1, 144, 145, 146, -1, -1, 149, 32,
1531 151, 34, -1, -1, 155, -1, -1, 40, 41, -1,
1532 -1, 44, -1, 164, -1, 166, 49, -1, -1, -1,
1533 -1, -1, -1, 174, 175, 58, -1, 60, -1, -1,
1534 -1, -1, -1, 66, 67, -1, 69, -1, -1, -1,
1535 73, -1, -1, 76, -1, -1, -1, -1, -1, -1,
1536 83, -1, 203, -1, -1, 206, -1, 90, -1, -1,
1537 -1, 94, -1, 96, 97, 98, 99, -1, -1, -1,
1538 -1, -1, 105, -1, 4, 5, -1, 110, -1, -1,
1539 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1540 -1, -1, -1, -1, 127, -1, -1, -1, -1, -1,
1541 -1, -1, 32, -1, 34, -1, 139, -1, -1, -1,
1542 40, 144, 145, 146, 44, -1, 149, -1, 151, 49,
1543 -1, -1, 155, -1, -1, -1, -1, -1, -1, -1,
1544 60, 164, -1, 166, -1, -1, 66, 67, -1, 69,
1545 -1, 174, 175, 73, -1, -1, 76, -1, -1, -1,
1546 -1, -1, -1, 83, -1, -1, -1, -1, -1, -1,
1547 90, -1, -1, -1, 94, -1, 96, 97, 98, -1,
1548 203, -1, -1, 206, -1, 105, -1, 4, 5, -1,
1549 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1550 -1, -1, -1, -1, -1, -1, -1, 127, -1, -1,
1551 -1, -1, -1, -1, -1, 32, -1, 34, -1, 139,
1552 -1, -1, -1, 40, 144, 145, 146, 44, -1, 149,
1553 -1, 151, 49, -1, -1, 155, -1, -1, -1, -1,
1554 -1, -1, -1, 60, 164, -1, 166, -1, -1, 66,
1555 67, -1, 69, -1, 174, 175, 73, -1, -1, 76,
1556 -1, -1, -1, -1, -1, -1, 83, -1, -1, -1,
1557 -1, -1, -1, 90, -1, -1, -1, 94, -1, 96,
1558 97, 98, -1, 203, -1, -1, 206, -1, 105, -1,
1559 4, 5, -1, -1, -1, -1, -1, -1, 14, 15,
1560 16, 17, 18, 19, 20, 21, 22, -1, -1, -1,
1561 127, -1, -1, -1, -1, -1, -1, -1, 32, -1,
1562 34, -1, 139, -1, -1, -1, 40, 144, 145, 146,
1563 44, -1, 149, -1, 151, 49, -1, -1, 155, -1,
1564 -1, -1, -1, -1, -1, -1, 60, 164, -1, 166,
1565 -1, -1, 66, 67, -1, 69, -1, 174, 175, 73,
1566 -1, -1, 76, -1, -1, 5, -1, -1, -1, 83,
1567 -1, -1, -1, -1, -1, -1, 90, -1, -1, -1,
1568 94, -1, 96, 97, 98, -1, 203, -1, -1, 206,
1569 -1, 105, 32, -1, 34, -1, -1, -1, -1, -1,
1570 40, -1, -1, -1, 44, -1, -1, -1, -1, -1,
1571 -1, -1, -1, 127, -1, -1, -1, -1, -1, -1,
1572 60, -1, -1, -1, -1, 139, 66, 67, -1, 69,
1573 144, 145, 146, 73, -1, 149, 76, 151, -1, -1,
1574 -1, 155, -1, 83, -1, -1, -1, -1, -1, -1,
1575 164, -1, 166, -1, 94, -1, 96, 97, 98, -1,
1576 174, 175, -1, -1, -1, 105, -1, 183, -1, 185,
1577 186, 187, 188, 189, 190, 191, 192, 193, 194, -1,
1578 -1, -1, 4, 5, -1, -1, 202, 203, -1, 203,
1579 -1, 13, 206, 209, -1, -1, -1, -1, -1, 139,
1580 -1, -1, -1, -1, 144, 145, 146, -1, -1, 149,
1581 32, 151, 34, -1, -1, 155, -1, -1, 40, 41,
1582 -1, -1, 44, -1, 164, -1, 166, 49, -1, -1,
1583 -1, -1, -1, -1, 174, 175, 58, -1, 60, -1,
1584 -1, -1, -1, -1, 66, 67, -1, 69, -1, -1,
1585 -1, 73, -1, -1, 76, -1, -1, -1, -1, -1,
1586 -1, 83, -1, 203, -1, -1, 206, -1, 90, 91,
1587 -1, -1, 94, -1, 96, 97, 98, 99, -1, -1,
1588 -1, -1, -1, 105, -1, -1, -1, -1, 110, -1,
1589 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1590 4, 5, -1, -1, -1, 127, -1, -1, -1, -1,
1591 -1, -1, -1, -1, -1, -1, -1, 139, -1, -1,
1592 -1, -1, 144, 145, 146, -1, -1, 149, 32, 151,
1593 34, -1, -1, 155, -1, -1, 40, 41, -1, -1,
1594 44, -1, 164, -1, 166, 49, -1, -1, -1, -1,
1595 -1, -1, 174, 175, 58, -1, 60, -1, -1, -1,
1596 -1, -1, 66, 67, -1, 69, -1, -1, -1, 73,
1597 -1, -1, 76, -1, -1, -1, -1, -1, -1, 83,
1598 -1, 203, -1, -1, -1, -1, 90, -1, -1, -1,
1599 94, -1, 96, 97, 98, 99, -1, -1, -1, -1,
1600 -1, 105, -1, -1, -1, -1, 110, -1, -1, -1,
1601 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1602 -1, -1, -1, 127, -1, -1, -1, -1, -1, -1,
1603 5, -1, -1, -1, -1, 139, -1, -1, -1, -1,
1604 144, 145, 146, -1, -1, 149, -1, 151, -1, -1,
1605 -1, 155, -1, -1, -1, -1, -1, 32, 162, 34,
1606 164, -1, 166, -1, 39, 40, -1, -1, -1, 44,
1607 174, 175, -1, -1, -1, -1, -1, -1, -1, -1,
1608 -1, -1, -1, -1, -1, 60, -1, -1, -1, -1,
1609 -1, 66, 67, -1, 69, -1, 71, -1, 73, 203,
1610 -1, 76, -1, -1, -1, -1, -1, -1, 83, -1,
1611 -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
1612 -1, 96, 97, 98, -1, -1, -1, -1, -1, -1,
1613 105, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1614 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1615 125, -1, -1, -1, -1, -1, -1, -1, 5, -1,
1616 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
1617 145, 146, -1, -1, 149, -1, 151, 152, -1, -1,
1618 155, -1, -1, -1, -1, 32, -1, 34, -1, 164,
1619 -1, 166, 39, 40, -1, -1, -1, 44, -1, 174,
1620 175, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1621 -1, -1, -1, 60, -1, -1, -1, 192, -1, 66,
1622 67, -1, 69, -1, 71, -1, 73, -1, 203, 76,
1623 -1, -1, -1, -1, -1, -1, 83, -1, -1, -1,
1624 -1, -1, -1, -1, -1, -1, -1, 94, -1, 96,
1625 97, 98, -1, -1, -1, -1, -1, -1, 105, -1,
1626 -1, 5, -1, -1, -1, 14, 15, 16, 17, 18,
1627 19, 20, 21, 22, -1, -1, -1, -1, 125, 23,
1628 -1, -1, -1, -1, -1, -1, -1, -1, 32, -1,
1629 34, -1, 139, -1, -1, -1, 40, 144, 145, 146,
1630 44, -1, 149, -1, 151, 152, -1, -1, 155, -1,
1631 -1, -1, -1, -1, -1, -1, 60, 164, -1, 166,
1632 -1, -1, 66, 67, -1, 69, -1, 174, 175, 73,
1633 -1, -1, 76, -1, -1, 5, -1, -1, -1, 83,
1634 -1, -1, -1, -1, -1, 192, -1, -1, -1, -1,
1635 94, -1, 96, 97, 98, -1, 203, -1, -1, -1,
1636 -1, 105, 32, -1, 34, -1, -1, -1, -1, -1,
1637 40, -1, -1, -1, 44, 14, 15, 16, 17, 18,
1638 19, 20, 21, 22, -1, -1, -1, -1, -1, -1,
1639 60, -1, -1, -1, -1, 139, 66, 67, -1, 69,
1640 144, 145, 146, 73, -1, 149, 76, 151, -1, -1,
1641 -1, 155, -1, 83, -1, -1, -1, -1, -1, -1,
1642 164, -1, 166, -1, 94, -1, 96, 97, 98, -1,
1643 174, 175, -1, -1, 183, 105, 185, 186, 187, 188,
1644 189, 190, 191, 192, 193, 194, -1, -1, -1, -1,
1645 -1, -1, -1, 202, 203, -1, -1, -1, -1, 203,
1646 209, -1, 14, 15, 16, 17, 18, 19, 20, 139,
1647 22, -1, -1, -1, 144, 145, 146, -1, -1, 149,
1648 -1, 151, -1, -1, -1, 155, -1, -1, -1, -1,
1649 -1, -1, -1, -1, 164, -1, 166, -1, -1, -1,
1650 -1, -1, -1, -1, 174, 175, 14, 15, 16, 17,
1651 18, 19, 20, 21, 22, -1, -1, -1, -1, -1,
1652 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1653 -1, -1, -1, 203, 14, 15, 16, 17, 18, 19,
1654 20, 21, 22, -1, 183, -1, 185, 186, 187, 188,
1655 189, 190, 191, 192, 193, 194, -1, -1, -1, -1,
1656 -1, -1, -1, 202, 203, -1, -1, -1, -1, -1,
1657 209, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1658 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1659 -1, -1, 14, 15, 16, 17, 18, 19, 20, 21,
1660 22, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1661 -1, 14, 15, 16, 17, 18, 19, 20, 14, 15,
1662 16, 17, 18, 19, 20, -1, -1, -1, -1, -1,
1663 -1, -1, -1, 185, 186, 187, 188, 189, 190, 191,
1664 192, 193, 194, -1, -1, -1, -1, -1, -1, -1,
1665 202, 203, -1, -1, -1, -1, -1, -1, -1, -1,
1666 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1667 -1, -1, -1, -1, -1, 183, -1, 185, 186, 187,
1668 188, 189, 190, 191, 192, 193, 194, -1, -1, -1,
1669 -1, -1, -1, -1, 202, 203, 204, -1, -1, -1,
1670 -1, -1, -1, 183, -1, 185, 186, 187, 188, 189,
1671 190, 191, 192, 193, 194, -1, -1, -1, -1, -1,
1672 -1, -1, 202, 203, 204, -1, -1, -1, -1, -1,
1673 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1674 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
1675 193, 194, -1, -1, -1, -1, -1, -1, -1, 202,
1676 203, 183, -1, 185, 186, 187, 188, 189, 190, 191,
1677 192, 193, 194, -1, 5, -1, -1, -1, -1, -1,
1678 202, 203, 185, 186, 187, 188, 189, 190, 191, 192,
1679 193, 194, 188, 189, 190, 191, 192, 193, 194, 202,
1680 203, 32, -1, 34, -1, -1, 202, 203, -1, 40,
1681 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
1682 -1, -1, -1, -1, -1, -1, -1, 58, -1, 60,
1683 -1, -1, -1, -1, -1, 66, 67, -1, 69, -1,
1684 -1, -1, 73, -1, -1, 76, -1, -1, 5, -1,
1685 -1, -1, 83, -1, -1, -1, -1, -1, -1, -1,
1686 -1, -1, -1, 94, -1, 96, 97, 98, 99, -1,
1687 -1, 102, -1, -1, 105, 32, -1, 34, 109, -1,
1688 -1, -1, -1, 40, -1, -1, -1, 44, -1, -1,
1689 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1690 -1, -1, -1, 60, -1, -1, -1, -1, 139, 66,
1691 67, -1, 69, 144, 145, 146, 73, -1, 149, 76,
1692 151, -1, 5, -1, 155, -1, 83, -1, -1, -1,
1693 -1, -1, -1, 164, -1, 166, -1, 94, -1, 96,
1694 97, 98, -1, 174, 175, -1, -1, -1, 105, 32,
1695 -1, 34, -1, -1, -1, -1, -1, 40, -1, -1,
1696 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1697 -1, -1, -1, -1, -1, -1, -1, 60, -1, -1,
1698 -1, -1, 139, 66, 67, -1, -1, 144, 145, 146,
1699 73, -1, 149, 76, 151, -1, -1, -1, 155, -1,
1700 83, -1, -1, -1, -1, -1, -1, 164, -1, 166,
1701 -1, -1, -1, 96, 97, 98, -1, 174, 175, -1,
1702 -1, -1, 105, -1, -1, -1, -1, -1, -1, -1,
1703 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1704 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1705 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1706 -1, 144, 145, 146, -1, -1, 149, -1, -1, -1,
1707 -1, -1, 155, -1, -1, -1, -1, -1, -1, -1,
1708 -1, 164, -1, 166, -1, -1, -1, -1, -1, -1,
1709 -1, 174, 175, 24, -1, 26, 27, 28, 29, 30,
1710 31, -1, 33, -1, -1, 36, -1, 38, -1, -1,
1711 -1, 42, 43, -1, 45, 46, 47, 48, -1, 50,
1712 51, 52, 53, 54, 55, 56, 57, -1, 59, -1,
1713 61, 62, 63, 64, 65, -1, -1, 68, -1, -1,
1714 -1, 72, -1, 74, 75, -1, 77, 78, 79, 80,
1715 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
1716 -1, 92, -1, -1, 95, -1, -1, -1, -1, 100,
1717 101, -1, 103, 104, -1, 106, 107, -1, -1, -1,
1718 111, 112, 113, 114, 115, 116, -1, 118, 119, 120,
1719 121, 122, 123, 124, -1, 126, -1, 128, -1, 130,
1720 131, 132, 133, 134, 135, 136, 137, 138, -1, 140,
1721 141, 142, 143, -1, -1, -1, 147, -1, -1, 150,
1722 -1, -1, 153, 154, -1, -1, 157, 158, 159, 160,
1723 -1, -1, 163, -1, 165, -1, 167, 168, 169, 170,
1724 171, 172, 173, -1, -1, 176
1725 };
1726
1727 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1728 symbol of state STATE-NUM. */
1729 static const yytype_uint16 yystos[] =
1730 {
1731 0, 212, 213, 0, 4, 5, 32, 34, 40, 41,
1732 44, 49, 58, 60, 66, 67, 69, 73, 76, 83,
1733 90, 94, 96, 97, 98, 99, 105, 110, 127, 139,
1734 144, 145, 146, 149, 151, 155, 164, 166, 174, 175,
1735 203, 219, 220, 222, 223, 224, 225, 228, 229, 235,
1736 236, 247, 261, 265, 267, 268, 269, 270, 271, 274,
1737 275, 278, 280, 281, 282, 283, 285, 286, 287, 288,
1738 289, 291, 293, 311, 312, 313, 314, 3, 5, 208,
1739 3, 5, 3, 5, 263, 96, 266, 9, 3, 5,
1740 266, 3, 208, 208, 266, 267, 3, 263, 3, 263,
1741 267, 24, 26, 27, 28, 29, 30, 31, 33, 36,
1742 38, 42, 43, 45, 46, 47, 48, 50, 51, 52,
1743 53, 54, 55, 56, 57, 59, 61, 62, 63, 64,
1744 65, 68, 72, 74, 75, 77, 78, 79, 80, 81,
1745 82, 84, 85, 86, 87, 88, 89, 92, 95, 100,
1746 101, 103, 104, 106, 107, 111, 112, 113, 114, 115,
1747 116, 118, 119, 120, 121, 122, 123, 124, 126, 128,
1748 130, 131, 132, 133, 134, 135, 136,