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