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