2 ** Inserted at beginning of c files generated by bison
3 ** REMEMBER: Change bison.reset too.
42 /*@-unqualifiedtrans@*/
49 /*drl added 11/27/2001*/
52 /*drl added 12/11/2002*/
57 /* < end of bison.head > */
59 /* A Bison parser, made by GNU Bison 2.3. */
61 /* Skeleton implementation for Bison's Yacc-like parsers in C
63 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
64 Free Software Foundation, Inc.
66 This program is free software; you can redistribute it and/or modify
67 it under the terms of the GNU General Public License as published by
68 the Free Software Foundation; either version 2, or (at your option)
71 This program is distributed in the hope that it will be useful,
72 but WITHOUT ANY WARRANTY; without even the implied warranty of
73 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
74 GNU General Public License for more details.
76 You should have received a copy of the GNU General Public License
77 along with this program; if not, write to the Free Software
78 Foundation, Inc., 51 Franklin Street, Fifth Floor,
79 Boston, MA 02110-1301, USA. */
81 /* As a special exception, you may create a larger work that contains
82 part or all of the Bison parser skeleton and distribute that work
83 under terms of your choice, so long as that work isn't itself a
84 parser generator using the skeleton or a modified version thereof
85 as a parser skeleton. Alternatively, if you modify or redistribute
86 the parser skeleton itself, you may (at your option) remove this
87 special exception, which will cause the skeleton and the resulting
88 Bison output files to be licensed under the GNU General Public
89 License without this special exception.
91 This special exception was added by the Free Software Foundation in
92 version 2.2 of Bison. */
94 /* C LALR(1) parser skeleton written by Richard Stallman, by
95 simplifying the original so-called "semantic" parser. */
97 /* All symbols defined below should begin with yy or YY, to avoid
98 infringing on user name space. This should be done even for local
99 variables, as they might otherwise be expanded by user macros.
100 There are some unavoidable exceptions within include files to
101 define necessary library symbols; they are noted "INFRINGES ON
102 USER NAME SPACE" below. */
104 /* Identify Bison output. */
108 #define YYBISON_VERSION "2.3"
111 #define YYSKELETON_NAME "yacc.c"
116 /* Using locations. */
117 #define YYLSP_NEEDED 0
119 /* Substitute the variable and function names. */
120 #define yyparse ylparse
122 #define yyerror ylerror
123 #define yylval yllval
124 #define yychar ylchar
125 #define yydebug yldebug
126 #define yynerrs ylnerrs
132 /* Put the tokens into the symbol table, so that GDB and other debuggers
140 LLT_VERTICALBAR = 263,
145 LLT_IF_THEN_ELSE = 268,
150 LLT_WHITESPACE = 273,
152 LLT_TYPEDEF_NAME = 275,
190 LLT_CONSTRAINT = 313,
221 LLT_CHECKEDSTRICT = 344,
229 LLT_REFCOUNTED = 352,
234 LLT_NULLTERMINATED = 357,
242 LLT_TAGGEDUNION = 365,
266 LLT_PRINTFLIKE = 389,
268 LLT_MESSAGELIKE = 391
273 #define PREFIX_OP 259
274 #define POSTFIX_OP 260
275 #define LLT_MULOP 261
277 #define LLT_VERTICALBAR 263
278 #define ITERATION_OP 264
279 #define selectSym 265
280 #define LLT_LBRACKET 266
282 #define LLT_IF_THEN_ELSE 268
283 #define logicalOp 269
285 #define equationSym 271
286 #define commentSym 272
287 #define LLT_WHITESPACE 273
289 #define LLT_TYPEDEF_NAME 275
290 #define quantifierSym 276
296 #define markerSym 282
300 #define LLT_COLON 286
301 #define LLT_COMMA 287
302 #define LLT_EQUALS 288
303 #define LLT_LBRACE 289
304 #define LLT_RBRACE 290
305 #define LLT_RBRACKET 291
307 #define LLT_QUOTE 293
309 #define LLT_CCHAR 295
310 #define LLT_CFLOAT 296
311 #define LLT_CINTEGER 297
312 #define LLT_LCSTRING 298
314 #define LLT_ANYTHING 300
317 #define LLT_CLAIMS 303
318 #define LLT_CHECKS 304
319 #define LLT_CONSTANT 305
321 #define LLT_ENSURES 307
323 #define LLT_FRESH 309
325 #define LLT_IMMUTABLE 311
326 #define LLT_IMPORTS 312
327 #define LLT_CONSTRAINT 313
328 #define LLT_ISSUB 314
330 #define LLT_MODIFIES 316
331 #define LLT_MUTABLE 317
332 #define LLT_NOTHING 318
333 #define LLT_INTERNAL 319
334 #define LLT_FILESYS 320
339 #define LLT_PARTIAL 325
340 #define LLT_OWNED 326
341 #define LLT_DEPENDENT 327
345 #define LLT_SHARED 331
346 #define LLT_UNIQUE 332
347 #define LLT_UNUSED 333
348 #define LLT_EXITS 334
349 #define LLT_MAYEXIT 335
350 #define LLT_NEVEREXIT 336
351 #define LLT_TRUEEXIT 337
352 #define LLT_FALSEEXIT 338
353 #define LLT_UNDEF 339
354 #define LLT_KILLED 340
355 #define LLT_CHECKMOD 341
356 #define LLT_CHECKED 342
357 #define LLT_UNCHECKED 343
358 #define LLT_CHECKEDSTRICT 344
359 #define LLT_TRUENULL 345
360 #define LLT_FALSENULL 346
361 #define LLT_LNULL 347
362 #define LLT_LNOTNULL 348
363 #define LLT_RETURNED 349
364 #define LLT_OBSERVER 350
365 #define LLT_EXPOSED 351
366 #define LLT_REFCOUNTED 352
368 #define LLT_RELNULL 354
369 #define LLT_RELDEF 355
370 #define LLT_KILLREF 356
371 #define LLT_NULLTERMINATED 357
372 #define LLT_TEMPREF 358
373 #define LLT_NEWREF 359
374 #define LLT_PRIVATE 360
375 #define LLT_REQUIRES 361
376 #define LLT_RESULT 362
377 #define LLT_SIZEOF 363
379 #define LLT_TAGGEDUNION 365
382 #define LLT_TYPEDEF 368
383 #define LLT_UNCHANGED 369
386 #define LLT_CONST 372
387 #define LLT_DOUBLE 373
389 #define LLT_FLOAT 375
392 #define LLT_YIELD 378
394 #define LLT_SHORT 380
395 #define LLT_SIGNED 381
396 #define LLT_UNKNOWN 382
397 #define LLT_STRUCT 383
398 #define LLT_TELIPSIS 384
399 #define LLT_UNION 385
400 #define LLT_UNSIGNED 386
402 #define LLT_VOLATILE 388
403 #define LLT_PRINTFLIKE 389
404 #define LLT_SCANFLIKE 390
405 #define LLT_MESSAGELIKE 391
410 /* Copy the first part of user declarations. */
414 # include "splintMacros.nf"
416 # include "lclscan.h"
417 # include "checking.h"
418 # include "lslparse.h"
420 # include "usymtab_interface.h"
423 static /*@unused@*/ void yyprint ();
427 void ylerror (char *) /*@modifies *g_warningstream@*/ ;
430 bool g_inTypeDef = FALSE;
432 /*@constant int YYDEBUG;@*/
436 # define YYPRINT(file, type, value) yyprint (file, type, value)
439 ** This is necessary, or else when the bison-generated code #include's malloc.h,
440 ** there will be a parse error.
442 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
443 ** in bison-generated files under Win32.
454 /* Enabling traces. */
459 /* Enabling verbose error messages. */
460 #ifdef YYERROR_VERBOSE
461 # undef YYERROR_VERBOSE
462 # define YYERROR_VERBOSE 1
464 # define YYERROR_VERBOSE 0
467 /* Enabling the token table. */
468 #ifndef YYTOKEN_TABLE
469 # define YYTOKEN_TABLE 0
472 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
473 typedef union YYSTYPE
476 ltoken ltok; /* a leaf is also an ltoken */
479 /*@only@*/ ltokenList ltokenList;
480 /*@only@*/ abstDeclaratorNode abstDecl;
481 /*@only@*/ declaratorNode declare;
482 /*@only@*/ declaratorNodeList declarelist;
483 /*@only@*/ typeExpr typeexpr;
484 /*@only@*/ arrayQualNode array;
485 /*@only@*/ quantifierNode quantifier;
486 /*@only@*/ quantifierNodeList quantifiers;
487 /*@only@*/ varNode var;
488 /*@only@*/ varNodeList vars;
489 /*@only@*/ storeRefNode storeref;
490 /*@only@*/ storeRefNodeList storereflist;
491 /*@only@*/ termNode term;
492 /*@only@*/ termNodeList termlist;
493 /*@only@*/ programNode program;
494 /*@only@*/ stmtNode stmt;
495 /*@only@*/ claimNode claim;
496 /*@only@*/ typeNode type;
497 /*@only@*/ iterNode iter;
498 /*@only@*/ fcnNode fcn;
499 /*@only@*/ fcnNodeList fcns;
500 /*@only@*/ letDeclNode letdecl;
501 /*@only@*/ letDeclNodeList letdecls;
502 /*@only@*/ lclPredicateNode lclpredicate;
503 /*@only@*/ modifyNode modify;
504 /*@only@*/ paramNode param;
505 /*@only@*/ paramNodeList paramlist;
506 /*@only@*/ declaratorInvNodeList declaratorinvs;
507 /*@only@*/ declaratorInvNode declaratorinv;
508 /*@only@*/ abstBodyNode abstbody;
509 /*@only@*/ abstractNode abstract;
510 /*@only@*/ exposedNode exposed;
511 /*@only@*/ pointers pointers;
512 /* taggedUnionNode taggedunion; */
513 /*@only@*/ globalList globals;
514 /*@only@*/ constDeclarationNode constdeclaration;
515 /*@only@*/ varDeclarationNode vardeclaration;
516 /*@only@*/ varDeclarationNodeList vardeclarationlist;
517 /*@only@*/ initDeclNodeList initdecls;
518 /*@only@*/ initDeclNode initdecl;
519 /*@only@*/ stDeclNodeList structdecls;
520 /*@only@*/ stDeclNode structdecl;
521 /*@only@*/ strOrUnionNode structorunion;
522 /*@only@*/ enumSpecNode enumspec;
523 /*@only@*/ lclTypeSpecNode lcltypespec;
524 /*@only@*/ typeNameNode typname;
525 /*@only@*/ opFormNode opform;
526 /*@only@*/ sigNode signature;
527 /*@only@*/ nameNode name;
528 /*@only@*/ typeNameNodeList namelist;
529 /*@only@*/ replaceNode replace;
530 /*@only@*/ replaceNodeList replacelist;
531 /*@only@*/ renamingNode renaming;
532 /*@only@*/ traitRefNode traitref;
533 /*@only@*/ traitRefNodeList traitreflist;
534 /*@only@*/ importNode import;
535 /*@only@*/ importNodeList importlist;
536 /*@only@*/ interfaceNode iface;
537 /*@only@*/ interfaceNodeList interfacelist;
538 /*@only@*/ CTypesNode ctypes;
541 /* Line 193 of yacc.c. */
544 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
545 # define YYSTYPE_IS_DECLARED 1
546 # define YYSTYPE_IS_TRIVIAL 1
551 /* Copy the second part of user declarations. */
554 /* Line 216 of yacc.c. */
562 typedef YYTYPE_UINT8 yytype_uint8;
564 typedef unsigned char yytype_uint8;
568 typedef YYTYPE_INT8 yytype_int8;
569 #elif (defined __STDC__ || defined __C99__FUNC__ \
570 || defined __cplusplus || defined _MSC_VER)
571 typedef signed char yytype_int8;
573 typedef short int yytype_int8;
577 typedef YYTYPE_UINT16 yytype_uint16;
579 typedef unsigned short int yytype_uint16;
583 typedef YYTYPE_INT16 yytype_int16;
585 typedef short int yytype_int16;
589 # ifdef __SIZE_TYPE__
590 # define YYSIZE_T __SIZE_TYPE__
591 # elif defined size_t
592 # define YYSIZE_T size_t
593 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
594 || defined __cplusplus || defined _MSC_VER)
595 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
596 # define YYSIZE_T size_t
598 # define YYSIZE_T unsigned int
602 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
607 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
608 # define YY_(msgid) dgettext ("bison-runtime", msgid)
612 # define YY_(msgid) msgid
616 /* Suppress unused-variable warnings by "using" E. */
617 #if ! defined lint || defined __GNUC__
618 # define YYUSE(e) ((void) (e))
620 # define YYUSE(e) /* empty */
623 /* Identity function, used to suppress warnings about constant conditions. */
627 #if (defined __STDC__ || defined __C99__FUNC__ \
628 || defined __cplusplus || defined _MSC_VER)
641 #if ! defined yyoverflow || YYERROR_VERBOSE
643 /* The parser invokes alloca or malloc; define the necessary symbols. */
645 # ifdef YYSTACK_USE_ALLOCA
646 # if YYSTACK_USE_ALLOCA
648 # define YYSTACK_ALLOC __builtin_alloca
649 # elif defined __BUILTIN_VA_ARG_INCR
650 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
652 # define YYSTACK_ALLOC __alloca
653 # elif defined _MSC_VER
654 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
655 # define alloca _alloca
657 # define YYSTACK_ALLOC alloca
658 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
659 || defined __cplusplus || defined _MSC_VER)
660 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
669 # ifdef YYSTACK_ALLOC
670 /* Pacify GCC's `empty if-body' warning. */
671 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
672 # ifndef YYSTACK_ALLOC_MAXIMUM
673 /* The OS might guarantee only one guard page at the bottom of the stack,
674 and a page size can be as small as 4096 bytes. So we cannot safely
675 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
676 to allow for a few compiler-allocated temporary stack slots. */
677 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
680 # define YYSTACK_ALLOC YYMALLOC
681 # define YYSTACK_FREE YYFREE
682 # ifndef YYSTACK_ALLOC_MAXIMUM
683 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
685 # if (defined __cplusplus && ! defined _STDLIB_H \
686 && ! ((defined YYMALLOC || defined malloc) \
687 && (defined YYFREE || defined free)))
688 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
694 # define YYMALLOC malloc
695 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
696 || defined __cplusplus || defined _MSC_VER)
697 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
702 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
703 || defined __cplusplus || defined _MSC_VER)
704 void free (void *); /* INFRINGES ON USER NAME SPACE */
708 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
711 #if (! defined yyoverflow \
712 && (! defined __cplusplus \
713 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
715 /* A type that is properly aligned for any stack member. */
722 /* The size of the maximum gap between one aligned stack and the next. */
723 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
725 /* The size of an array large to enough to hold all stacks, each with
727 # define YYSTACK_BYTES(N) \
728 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
729 + YYSTACK_GAP_MAXIMUM)
731 /* Copy COUNT objects from FROM to TO. The source and destination do
734 # if defined __GNUC__ && 1 < __GNUC__
735 # define YYCOPY(To, From, Count) \
736 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
738 # define YYCOPY(To, From, Count) \
742 for (yyi = 0; yyi < (Count); yyi++) \
743 (To)[yyi] = (From)[yyi]; \
749 /* Relocate STACK from its old location to the new one. The
750 local variables YYSIZE and YYSTACKSIZE give the old and new number of
751 elements in the stack, and YYPTR gives the new location of the
752 stack. Advance YYPTR to a properly aligned location for the next
754 # define YYSTACK_RELOCATE(Stack) \
757 YYSIZE_T yynewbytes; \
758 YYCOPY (&yyptr->Stack, Stack, yysize); \
759 Stack = &yyptr->Stack; \
760 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
761 yyptr += yynewbytes / sizeof (*yyptr); \
767 /* YYFINAL -- State number of the termination state. */
769 /* YYLAST -- Last index in YYTABLE. */
772 /* YYNTOKENS -- Number of terminals. */
773 #define YYNTOKENS 137
774 /* YYNNTS -- Number of nonterminals. */
776 /* YYNRULES -- Number of rules. */
778 /* YYNRULES -- Number of states. */
779 #define YYNSTATES 684
781 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
783 #define YYMAXUTOK 391
785 #define YYTRANSLATE(YYX) \
786 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
788 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
789 static const yytype_uint8 yytranslate[] =
791 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
792 2, 2, 2, 2, 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, 2, 2, 2, 2, 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, 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, 2, 2, 2, 2,
810 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
811 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
812 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
813 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
814 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
815 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
816 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
817 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
818 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
819 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
820 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
821 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
822 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
823 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
824 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
825 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
826 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
827 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
828 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
829 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
834 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
836 static const yytype_uint16 yyprhs[] =
838 0, 0, 3, 4, 8, 9, 12, 14, 16, 17,
839 20, 23, 24, 27, 29, 31, 33, 37, 41, 43,
840 45, 47, 49, 51, 53, 60, 61, 63, 65, 69,
841 72, 74, 75, 79, 81, 83, 85, 87, 92, 96,
842 101, 106, 108, 110, 112, 114, 116, 117, 131, 132,
843 147, 148, 162, 167, 168, 169, 176, 177, 178, 186,
844 187, 188, 196, 197, 198, 205, 206, 207, 214, 217,
845 220, 222, 226, 228, 232, 234, 236, 240, 242, 244,
846 248, 250, 255, 259, 266, 268, 272, 274, 276, 280,
847 282, 286, 288, 292, 296, 300, 305, 307, 309, 311,
848 313, 315, 319, 321, 325, 326, 329, 333, 336, 339,
849 340, 343, 348, 349, 353, 355, 359, 365, 369, 371,
850 372, 376, 377, 381, 382, 386, 390, 394, 396, 400,
851 402, 404, 407, 409, 411, 412, 416, 417, 421, 422,
852 424, 426, 428, 432, 434, 438, 439, 444, 450, 452,
853 456, 459, 463, 467, 472, 476, 482, 489, 491, 495,
854 497, 499, 502, 505, 509, 513, 517, 522, 524, 528,
855 533, 537, 538, 541, 542, 544, 545, 552, 554, 558,
856 559, 563, 564, 568, 570, 572, 574, 576, 578, 580,
857 582, 584, 586, 588, 590, 593, 595, 597, 599, 601,
858 603, 605, 607, 609, 611, 613, 615, 617, 619, 621,
859 623, 625, 627, 629, 631, 633, 635, 637, 639, 641,
860 643, 645, 647, 649, 651, 653, 655, 657, 659, 661,
861 663, 665, 667, 669, 671, 673, 675, 678, 684, 686,
862 689, 691, 694, 695, 702, 703, 710, 713, 716, 717,
863 719, 721, 724, 728, 730, 734, 735, 737, 744, 747,
864 749, 753, 755, 757, 759, 763, 766, 769, 773, 778,
865 780, 784, 787, 790, 794, 799, 801, 804, 807, 811,
866 816, 819, 822, 825, 828, 832, 834, 835, 837, 841,
867 844, 846, 848, 851, 855, 859, 864, 867, 871, 878,
868 880, 883, 886, 890, 894, 899, 904, 910, 914, 919,
869 924, 930, 933, 936, 940, 944, 946, 948, 950, 952,
870 954, 956, 958, 959, 961, 963, 967, 969, 971, 976,
871 977, 979, 981, 985, 987, 989, 996, 998, 1002, 1004,
872 1009, 1013, 1017, 1019, 1022, 1025, 1027, 1029, 1031, 1034,
873 1036, 1039, 1042, 1046, 1048, 1050, 1053, 1056, 1060, 1062,
874 1065, 1069, 1071, 1077, 1081, 1086, 1089, 1093, 1096, 1098,
875 1102, 1106, 1108, 1113, 1115, 1118, 1122, 1126, 1130, 1135,
876 1139, 1141, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1162,
877 1167, 1172, 1177, 1184, 1189, 1191, 1193, 1195, 1197, 1199,
878 1202, 1203, 1207, 1209, 1213, 1217, 1222, 1224, 1226, 1228,
879 1230, 1232, 1234, 1236, 1238
882 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
883 static const yytype_int16 yyrhs[] =
885 138, 0, -1, -1, 140, 139, 142, -1, -1, 140,
886 141, -1, 145, -1, 146, -1, -1, 147, 143, -1,
887 152, 143, -1, -1, 143, 144, -1, 147, -1, 152,
888 -1, 146, -1, 57, 176, 7, -1, 115, 180, 7,
889 -1, 155, -1, 156, -1, 157, -1, 159, -1, 162,
890 -1, 148, -1, 122, 286, 12, 149, 37, 7, -1,
891 -1, 150, -1, 151, -1, 150, 32, 151, -1, 123,
892 245, -1, 245, -1, -1, 109, 153, 154, -1, 155,
893 -1, 156, -1, 157, -1, 159, -1, 50, 228, 190,
894 7, -1, 228, 190, 7, -1, 117, 228, 190, 7,
895 -1, 133, 228, 190, 7, -1, 164, -1, 173, -1,
896 134, -1, 135, -1, 136, -1, -1, 228, 241, 192,
897 160, 34, 194, 196, 200, 201, 202, 205, 206, 35,
898 -1, -1, 158, 228, 241, 192, 161, 34, 194, 196,
899 200, 201, 202, 205, 206, 35, -1, -1, 48, 288,
900 12, 207, 37, 192, 163, 34, 196, 201, 210, 205,
901 35, -1, 48, 285, 288, 7, -1, -1, -1, 62,
902 165, 112, 20, 166, 215, -1, -1, -1, 62, 167,
903 97, 112, 20, 168, 215, -1, -1, -1, 97, 62,
904 169, 112, 20, 170, 215, -1, -1, -1, 56, 171,
905 112, 20, 172, 215, -1, -1, -1, 113, 228, 174,
906 220, 175, 7, -1, 231, 7, -1, 239, 7, -1,
907 177, -1, 176, 32, 177, -1, 179, -1, 3, 179,
908 3, -1, 43, -1, 179, -1, 178, 32, 179, -1,
909 284, -1, 181, -1, 180, 32, 181, -1, 290, -1,
910 290, 12, 183, 37, -1, 12, 182, 37, -1, 12,
911 182, 37, 12, 183, 37, -1, 290, -1, 182, 32,
912 290, -1, 185, -1, 184, -1, 184, 32, 185, -1,
913 246, -1, 184, 32, 246, -1, 186, -1, 185, 32,
914 186, -1, 246, 53, 224, -1, 246, 53, 187, -1,
915 246, 53, 187, 257, -1, 291, -1, 250, -1, 189,
916 -1, 261, -1, 191, -1, 190, 32, 191, -1, 241,
917 -1, 241, 33, 188, -1, -1, 192, 193, -1, 228,
918 190, 7, -1, 64, 7, -1, 65, 7, -1, -1,
919 194, 195, -1, 105, 228, 190, 7, -1, -1, 60,
920 197, 7, -1, 198, -1, 197, 32, 198, -1, 286,
921 31, 199, 46, 261, -1, 286, 46, 261, -1, 228,
922 -1, -1, 49, 260, 7, -1, -1, 106, 260, 7,
923 -1, -1, 61, 63, 7, -1, 61, 45, 7, -1,
924 61, 203, 7, -1, 204, -1, 203, 32, 204, -1,
925 261, -1, 229, -1, 66, 229, -1, 64, -1, 65,
926 -1, -1, 52, 260, 7, -1, -1, 48, 260, 7,
927 -1, -1, 208, -1, 209, -1, 129, -1, 209, 32,
928 129, -1, 245, -1, 209, 32, 245, -1, -1, 47,
929 34, 211, 35, -1, 47, 34, 211, 7, 35, -1,
930 212, -1, 12, 211, 37, -1, 211, 6, -1, 211,
931 8, 211, -1, 211, 7, 211, -1, 285, 12, 213,
932 37, -1, 285, 12, 37, -1, 286, 33, 285, 12,
933 37, -1, 286, 33, 285, 12, 213, 37, -1, 214,
934 -1, 213, 32, 214, -1, 278, -1, 286, -1, 3,
935 214, -1, 214, 3, -1, 214, 3, 214, -1, 12,
936 214, 37, -1, 285, 12, 37, -1, 285, 12, 213,
937 37, -1, 7, -1, 34, 216, 35, -1, 34, 178,
938 35, 7, -1, 34, 35, 7, -1, -1, 216, 159,
939 -1, -1, 218, -1, -1, 58, 219, 280, 12, 260,
940 37, -1, 221, -1, 220, 32, 221, -1, -1, 241,
941 222, 223, -1, -1, 34, 217, 35, -1, 132, -1,
942 116, -1, 118, -1, 120, -1, 121, -1, 124, -1,
943 125, -1, 126, -1, 131, -1, 127, -1, 224, -1,
944 225, 224, -1, 20, -1, 225, -1, 67, -1, 78,
945 -1, 68, -1, 69, -1, 71, -1, 72, -1, 73,
946 -1, 74, -1, 95, -1, 79, -1, 80, -1, 82,
947 -1, 83, -1, 81, -1, 75, -1, 76, -1, 77,
948 -1, 87, -1, 88, -1, 89, -1, 90, -1, 91,
949 -1, 99, -1, 100, -1, 97, -1, 98, -1, 104,
950 -1, 101, -1, 92, -1, 93, -1, 94, -1, 96,
951 -1, 70, -1, 102, -1, 84, -1, 85, -1, 226,
952 -1, 231, -1, 239, -1, 227, 228, -1, 8, 229,
953 31, 229, 8, -1, 228, -1, 228, 230, -1, 6,
954 -1, 230, 6, -1, -1, 128, 234, 232, 34, 235,
955 35, -1, -1, 130, 234, 233, 34, 235, 35, -1,
956 128, 287, -1, 130, 287, -1, -1, 287, -1, 236,
957 -1, 235, 236, -1, 228, 237, 7, -1, 241, -1,
958 237, 32, 241, -1, -1, 32, -1, 119, 234, 34,
959 240, 238, 35, -1, 119, 287, -1, 25, -1, 240,
960 32, 25, -1, 243, -1, 242, -1, 286, -1, 12,
961 242, 37, -1, 6, 242, -1, 242, 249, -1, 242,
962 12, 37, -1, 242, 12, 208, 37, -1, 20, -1,
963 12, 243, 37, -1, 6, 243, -1, 243, 249, -1,
964 243, 12, 37, -1, 243, 12, 208, 37, -1, 20,
965 -1, 6, 244, -1, 244, 249, -1, 244, 12, 37,
966 -1, 244, 12, 208, 37, -1, 228, 244, -1, 228,
967 242, -1, 228, 247, -1, 228, 247, -1, 66, 228,
968 247, -1, 250, -1, -1, 248, -1, 12, 248, 37,
969 -1, 6, 248, -1, 6, -1, 249, -1, 248, 249,
970 -1, 248, 12, 37, -1, 12, 208, 37, -1, 248,
971 12, 208, 37, -1, 11, 36, -1, 11, 189, 36,
972 -1, 55, 27, 111, 27, 51, 27, -1, 253, -1,
973 27, 253, -1, 253, 27, -1, 27, 253, 27, -1,
974 251, 254, 252, -1, 27, 251, 254, 252, -1, 251,
975 254, 252, 27, -1, 27, 251, 254, 252, 27, -1,
976 11, 254, 36, -1, 11, 254, 36, 27, -1, 27,
977 11, 254, 36, -1, 27, 11, 254, 36, 27, -1,
978 10, 284, -1, 26, 284, -1, 27, 10, 284, -1,
979 27, 26, 284, -1, 22, -1, 34, -1, 23, -1,
980 35, -1, 265, -1, 14, -1, 39, -1, -1, 255,
981 -1, 27, -1, 255, 256, 27, -1, 32, -1, 24,
982 -1, 31, 258, 26, 289, -1, -1, 259, -1, 289,
983 -1, 259, 32, 289, -1, 261, -1, 262, -1, 55,
984 262, 111, 262, 51, 262, -1, 263, -1, 262, 14,
985 262, -1, 264, -1, 279, 12, 260, 37, -1, 264,
986 39, 264, -1, 264, 33, 264, -1, 266, -1, 269,
987 267, -1, 269, 268, -1, 3, -1, 6, -1, 269,
988 -1, 265, 266, -1, 265, -1, 267, 265, -1, 265,
989 269, -1, 268, 265, 269, -1, 274, -1, 270, -1,
990 270, 274, -1, 274, 270, -1, 274, 270, 274, -1,
991 271, -1, 271, 274, -1, 272, 31, 289, -1, 272,
992 -1, 11, 273, 36, 31, 289, -1, 11, 273, 36,
993 -1, 11, 36, 31, 289, -1, 11, 36, -1, 251,
994 273, 252, -1, 251, 252, -1, 261, -1, 273, 256,
995 261, -1, 12, 262, 37, -1, 286, -1, 291, 12,
996 275, 37, -1, 277, -1, 274, 276, -1, 274, 10,
997 284, -1, 274, 26, 284, -1, 274, 11, 36, -1,
998 274, 11, 275, 36, -1, 274, 31, 289, -1, 262,
999 -1, 275, 32, 262, -1, 28, -1, 29, -1, 30,
1000 -1, 38, -1, 278, -1, 107, -1, 54, 12, 275,
1001 37, -1, 114, 12, 44, 37, -1, 114, 12, 203,
1002 37, -1, 108, 12, 261, 37, -1, 59, 12, 261,
1003 32, 261, 37, -1, 108, 12, 228, 37, -1, 42,
1004 -1, 43, -1, 40, -1, 41, -1, 280, -1, 279,
1005 280, -1, -1, 21, 281, 282, -1, 283, -1, 282,
1006 32, 283, -1, 286, 31, 199, -1, 286, 31, 66,
1007 199, -1, 25, -1, 20, -1, 25, -1, 25, -1,
1008 284, -1, 284, -1, 284, -1, 284, -1, 284, -1
1011 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1012 static const yytype_uint16 yyrline[] =
1014 0, 382, 382, 382, 387, 388, 392, 393, 397, 398,
1015 399, 403, 404, 408, 409, 410, 414, 421, 426, 428,
1016 430, 432, 434, 436, 441, 446, 447, 451, 453, 458,
1017 459, 463, 463, 468, 470, 472, 474, 479, 484, 486,
1018 488, 493, 494, 498, 499, 500, 504, 504, 512, 512,
1019 526, 525, 530, 535, 535, 535, 537, 538, 537, 540,
1020 541, 540, 543, 543, 543, 548, 549, 548, 551, 553,
1021 570, 572, 577, 578, 580, 584, 585, 589, 594, 596,
1022 601, 603, 605, 607, 612, 613, 617, 619, 621, 625,
1023 627, 631, 633, 637, 638, 639, 644, 645, 648, 651,
1024 655, 657, 662, 663, 668, 669, 674, 675, 676, 680,
1025 681, 685, 690, 691, 695, 696, 700, 701, 704, 708,
1026 709, 713, 714, 718, 719, 720, 721, 725, 726, 730,
1027 731, 732, 733, 734, 738, 739, 743, 744, 748, 749,
1028 753, 754, 755, 759, 760, 764, 765, 766, 770, 771,
1029 774, 779, 785, 794, 796, 798, 800, 805, 806, 810,
1030 811, 812, 813, 814, 815, 816, 818, 823, 824, 825,
1031 826, 830, 831, 835, 836, 840, 840, 850, 851, 856,
1032 856, 861, 862, 866, 867, 868, 869, 870, 871, 872,
1033 873, 874, 875, 884, 885, 891, 893, 900, 901, 902,
1034 903, 904, 905, 906, 907, 908, 909, 910, 911, 912,
1035 913, 914, 915, 916, 917, 918, 919, 920, 921, 922,
1036 923, 924, 925, 926, 927, 928, 929, 930, 931, 932,
1037 933, 934, 935, 939, 941, 943, 945, 947, 957, 958,
1038 964, 965, 970, 969, 974, 973, 977, 979, 984, 985,
1039 989, 990, 996, 1000, 1002, 1007, 1008, 1012, 1014, 1019,
1040 1020, 1031, 1032, 1036, 1037, 1038, 1039, 1040, 1041, 1045,
1041 1046, 1047, 1048, 1049, 1050, 1060, 1061, 1062, 1063, 1064,
1042 1071, 1072, 1073, 1084, 1085, 1086, 1092, 1093, 1097, 1098,
1043 1099, 1100, 1101, 1102, 1103, 1104, 1108, 1109, 1113, 1115,
1044 1117, 1119, 1121, 1124, 1126, 1128, 1130, 1132, 1134, 1142,
1045 1144, 1146, 1149, 1152, 1155, 1161, 1162, 1166, 1167, 1171,
1046 1172, 1173, 1177, 1178, 1182, 1183, 1187, 1188, 1192, 1196,
1047 1197, 1201, 1202, 1206, 1210, 1217, 1219, 1220, 1224, 1225,
1048 1230, 1232, 1237, 1238, 1239, 1243, 1244, 1248, 1249, 1253,
1049 1254, 1258, 1259, 1263, 1264, 1265, 1266, 1267, 1268, 1269,
1050 1273, 1274, 1278, 1281, 1283, 1287, 1292, 1293, 1297, 1298,
1051 1302, 1304, 1306, 1308, 1309, 1311, 1313, 1315, 1318, 1320,
1052 1325, 1326, 1330, 1331, 1332, 1333, 1337, 1338, 1339, 1340,
1053 1341, 1342, 1347, 1353, 1364, 1365, 1366, 1367, 1371, 1373,
1054 1378, 1378, 1386, 1387, 1391, 1392, 1396, 1397, 1401, 1402,
1055 1403, 1404, 1405, 1406, 1407
1059 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1060 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1061 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1062 static const char *const yytname[] =
1064 "$end", "error", "$undefined", "simpleOp", "PREFIX_OP", "POSTFIX_OP",
1065 "LLT_MULOP", "LLT_SEMI", "LLT_VERTICALBAR", "ITERATION_OP", "selectSym",
1066 "LLT_LBRACKET", "LLT_LPAR", "LLT_IF_THEN_ELSE", "logicalOp", "eqSepSym",
1067 "equationSym", "commentSym", "LLT_WHITESPACE", "LLT_EOL",
1068 "LLT_TYPEDEF_NAME", "quantifierSym", "openSym", "closeSym", "sepSym",
1069 "simpleId", "mapSym", "markerSym", "preSym", "postSym", "anySym",
1070 "LLT_COLON", "LLT_COMMA", "LLT_EQUALS", "LLT_LBRACE", "LLT_RBRACE",
1071 "LLT_RBRACKET", "LLT_RPAR", "LLT_QUOTE", "eqOp", "LLT_CCHAR",
1072 "LLT_CFLOAT", "LLT_CINTEGER", "LLT_LCSTRING", "LLT_ALL", "LLT_ANYTHING",
1073 "LLT_BE", "LLT_BODY", "LLT_CLAIMS", "LLT_CHECKS", "LLT_CONSTANT",
1074 "LLT_ELSE", "LLT_ENSURES", "LLT_FOR", "LLT_FRESH", "LLT_IF",
1075 "LLT_IMMUTABLE", "LLT_IMPORTS", "LLT_CONSTRAINT", "LLT_ISSUB", "LLT_LET",
1076 "LLT_MODIFIES", "LLT_MUTABLE", "LLT_NOTHING", "LLT_INTERNAL",
1077 "LLT_FILESYS", "LLT_OBJ", "LLT_OUT", "LLT_SEF", "LLT_ONLY",
1078 "LLT_PARTIAL", "LLT_OWNED", "LLT_DEPENDENT", "LLT_KEEP", "LLT_KEPT",
1079 "LLT_TEMP", "LLT_SHARED", "LLT_UNIQUE", "LLT_UNUSED", "LLT_EXITS",
1080 "LLT_MAYEXIT", "LLT_NEVEREXIT", "LLT_TRUEEXIT", "LLT_FALSEEXIT",
1081 "LLT_UNDEF", "LLT_KILLED", "LLT_CHECKMOD", "LLT_CHECKED",
1082 "LLT_UNCHECKED", "LLT_CHECKEDSTRICT", "LLT_TRUENULL", "LLT_FALSENULL",
1083 "LLT_LNULL", "LLT_LNOTNULL", "LLT_RETURNED", "LLT_OBSERVER",
1084 "LLT_EXPOSED", "LLT_REFCOUNTED", "LLT_REFS", "LLT_RELNULL", "LLT_RELDEF",
1085 "LLT_KILLREF", "LLT_NULLTERMINATED", "LLT_TEMPREF", "LLT_NEWREF",
1086 "LLT_PRIVATE", "LLT_REQUIRES", "LLT_RESULT", "LLT_SIZEOF", "LLT_SPEC",
1087 "LLT_TAGGEDUNION", "LLT_THEN", "LLT_TYPE", "LLT_TYPEDEF",
1088 "LLT_UNCHANGED", "LLT_USES", "LLT_CHAR", "LLT_CONST", "LLT_DOUBLE",
1089 "LLT_ENUM", "LLT_FLOAT", "LLT_INT", "LLT_ITER", "LLT_YIELD", "LLT_LONG",
1090 "LLT_SHORT", "LLT_SIGNED", "LLT_UNKNOWN", "LLT_STRUCT", "LLT_TELIPSIS",
1091 "LLT_UNION", "LLT_UNSIGNED", "LLT_VOID", "LLT_VOLATILE",
1092 "LLT_PRINTFLIKE", "LLT_SCANFLIKE", "LLT_MESSAGELIKE", "$accept",
1093 "interface", "@1", "externals", "external", "optDeclarations",
1094 "declarations", "declaration", "imports", "uses", "export", "iter",
1095 "iterParamList", "realIterParamList", "iterParam", "private", "@2",
1096 "private2", "constDeclaration", "varDeclaration", "type", "special",
1097 "fcn", "@3", "@4", "claim", "@5", "abstract", "@6", "@7", "@8", "@9",
1098 "@10", "@11", "@12", "@13", "exposed", "@14", "@15", "importNameList",
1099 "importName", "interfaceNameList", "interfaceName", "traitRefNodeList",
1100 "traitRef", "traitIdList", "renaming", "nameList", "replaceNodeList",
1101 "replace", "name", "initializer", "constLclExpr", "initDecls",
1102 "initDecl", "globals", "globalDecl", "privateInits", "privateInit",
1103 "optLetDecl", "beDeclList", "beDecl", "sortSpec", "optChecks",
1104 "optRequire", "optModify", "storeRefList", "storeRef", "optEnsure",
1105 "optClaim", "optParamList", "realParamList", "paramList", "optBody",
1106 "callExpr", "stmt", "valueList", "value", "abstBody", "fcns",
1107 "optTypeInv", "typeInv", "@16", "declaratorInvs", "declaratorInv", "@17",
1108 "optExposedBody", "CType", "CTypes", "typeSpecifier", "specialQualifier",
1109 "lclTypeSpec", "lclType", "pointers", "structOrUnionSpec", "@18", "@19",
1110 "optTagId", "structDecls", "structDecl", "declaratorList", "optCOMMA",
1111 "enumSpec", "enumeratorList", "declarator", "notype_decl",
1112 "after_type_decl", "parameter_decl", "param", "typeName",
1113 "optAbstDeclarator", "abstDeclarator", "arrayQual", "opForm", "open",
1114 "close", "anyOp", "middle", "placeList", "separator", "signature",
1115 "domain", "sortList", "lclPredicate", "term", "term0", "equalityTerm",
1116 "simpleOpTerm", "simpleOp2", "prefixOpTerm", "postfixOps", "infixOpPart",
1117 "secondary", "bracketed", "sqBracketed", "matched", "args", "primary",
1118 "termList", "stateFcn", "lclPrimary", "cLiteral", "quantifiers",
1119 "quantifier", "@20", "quantifiedList", "quantified",
1120 "simpleIdOrTypedefName", "fcnId", "varId", "tagId", "claimId", "sortId",
1121 "traitId", "opId", 0
1126 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1128 static const yytype_uint16 yytoknum[] =
1130 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1131 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1132 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1133 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1134 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1135 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1136 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1137 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1138 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1139 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1140 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1141 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1142 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1143 385, 386, 387, 388, 389, 390, 391
1147 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1148 static const yytype_uint16 yyr1[] =
1150 0, 137, 139, 138, 140, 140, 141, 141, 142, 142,
1151 142, 143, 143, 144, 144, 144, 145, 146, 147, 147,
1152 147, 147, 147, 147, 148, 149, 149, 150, 150, 151,
1153 151, 153, 152, 154, 154, 154, 154, 155, 156, 156,
1154 156, 157, 157, 158, 158, 158, 160, 159, 161, 159,
1155 163, 162, 162, 165, 166, 164, 167, 168, 164, 169,
1156 170, 164, 171, 172, 164, 174, 175, 173, 173, 173,
1157 176, 176, 177, 177, 177, 178, 178, 179, 180, 180,
1158 181, 181, 181, 181, 182, 182, 183, 183, 183, 184,
1159 184, 185, 185, 186, 186, 186, 187, 187, 188, 189,
1160 190, 190, 191, 191, 192, 192, 193, 193, 193, 194,
1161 194, 195, 196, 196, 197, 197, 198, 198, 199, 200,
1162 200, 201, 201, 202, 202, 202, 202, 203, 203, 204,
1163 204, 204, 204, 204, 205, 205, 206, 206, 207, 207,
1164 208, 208, 208, 209, 209, 210, 210, 210, 211, 211,
1165 211, 211, 211, 212, 212, 212, 212, 213, 213, 214,
1166 214, 214, 214, 214, 214, 214, 214, 215, 215, 215,
1167 215, 216, 216, 217, 217, 219, 218, 220, 220, 222,
1168 221, 223, 223, 224, 224, 224, 224, 224, 224, 224,
1169 224, 224, 224, 225, 225, 226, 226, 227, 227, 227,
1170 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1171 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1172 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1173 227, 227, 227, 228, 228, 228, 228, 228, 229, 229,
1174 230, 230, 232, 231, 233, 231, 231, 231, 234, 234,
1175 235, 235, 236, 237, 237, 238, 238, 239, 239, 240,
1176 240, 241, 241, 242, 242, 242, 242, 242, 242, 243,
1177 243, 243, 243, 243, 243, 244, 244, 244, 244, 244,
1178 245, 245, 245, 246, 246, 246, 247, 247, 248, 248,
1179 248, 248, 248, 248, 248, 248, 249, 249, 250, 250,
1180 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
1181 250, 250, 250, 250, 250, 251, 251, 252, 252, 253,
1182 253, 253, 254, 254, 255, 255, 256, 256, 257, 258,
1183 258, 259, 259, 260, 261, 262, 262, 262, 263, 263,
1184 263, 263, 264, 264, 264, 265, 265, 266, 266, 267,
1185 267, 268, 268, 269, 269, 269, 269, 269, 269, 269,
1186 270, 270, 271, 271, 271, 271, 272, 272, 273, 273,
1187 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
1188 275, 275, 276, 276, 276, 276, 277, 277, 277, 277,
1189 277, 277, 277, 277, 278, 278, 278, 278, 279, 279,
1190 281, 280, 282, 282, 283, 283, 284, 284, 285, 286,
1191 287, 288, 289, 290, 291
1194 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1195 static const yytype_uint8 yyr2[] =
1197 0, 2, 0, 3, 0, 2, 1, 1, 0, 2,
1198 2, 0, 2, 1, 1, 1, 3, 3, 1, 1,
1199 1, 1, 1, 1, 6, 0, 1, 1, 3, 2,
1200 1, 0, 3, 1, 1, 1, 1, 4, 3, 4,
1201 4, 1, 1, 1, 1, 1, 0, 13, 0, 14,
1202 0, 13, 4, 0, 0, 6, 0, 0, 7, 0,
1203 0, 7, 0, 0, 6, 0, 0, 6, 2, 2,
1204 1, 3, 1, 3, 1, 1, 3, 1, 1, 3,
1205 1, 4, 3, 6, 1, 3, 1, 1, 3, 1,
1206 3, 1, 3, 3, 3, 4, 1, 1, 1, 1,
1207 1, 3, 1, 3, 0, 2, 3, 2, 2, 0,
1208 2, 4, 0, 3, 1, 3, 5, 3, 1, 0,
1209 3, 0, 3, 0, 3, 3, 3, 1, 3, 1,
1210 1, 2, 1, 1, 0, 3, 0, 3, 0, 1,
1211 1, 1, 3, 1, 3, 0, 4, 5, 1, 3,
1212 2, 3, 3, 4, 3, 5, 6, 1, 3, 1,
1213 1, 2, 2, 3, 3, 3, 4, 1, 3, 4,
1214 3, 0, 2, 0, 1, 0, 6, 1, 3, 0,
1215 3, 0, 3, 1, 1, 1, 1, 1, 1, 1,
1216 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
1217 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1218 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1219 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1220 1, 1, 1, 1, 1, 1, 2, 5, 1, 2,
1221 1, 2, 0, 6, 0, 6, 2, 2, 0, 1,
1222 1, 2, 3, 1, 3, 0, 1, 6, 2, 1,
1223 3, 1, 1, 1, 3, 2, 2, 3, 4, 1,
1224 3, 2, 2, 3, 4, 1, 2, 2, 3, 4,
1225 2, 2, 2, 2, 3, 1, 0, 1, 3, 2,
1226 1, 1, 2, 3, 3, 4, 2, 3, 6, 1,
1227 2, 2, 3, 3, 4, 4, 5, 3, 4, 4,
1228 5, 2, 2, 3, 3, 1, 1, 1, 1, 1,
1229 1, 1, 0, 1, 1, 3, 1, 1, 4, 0,
1230 1, 1, 3, 1, 1, 6, 1, 3, 1, 4,
1231 3, 3, 1, 2, 2, 1, 1, 1, 2, 1,
1232 2, 2, 3, 1, 1, 2, 2, 3, 1, 2,
1233 3, 1, 5, 3, 4, 2, 3, 2, 1, 3,
1234 3, 1, 4, 1, 2, 3, 3, 3, 4, 3,
1235 1, 3, 1, 1, 1, 1, 1, 1, 4, 4,
1236 4, 4, 6, 4, 1, 1, 1, 1, 1, 2,
1237 0, 3, 1, 3, 3, 4, 1, 1, 1, 1,
1241 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1242 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1243 means the default is an error. */
1244 static const yytype_uint16 yydefact[] =
1246 4, 0, 2, 1, 0, 0, 8, 5, 6, 7,
1247 0, 407, 406, 74, 0, 70, 72, 77, 0, 0,
1248 78, 413, 80, 0, 195, 0, 0, 62, 53, 197,
1249 199, 200, 229, 201, 202, 203, 204, 211, 212, 213,
1250 198, 206, 207, 210, 208, 209, 231, 232, 214, 215,
1251 216, 217, 218, 225, 226, 227, 205, 228, 221, 222,
1252 219, 220, 224, 230, 223, 31, 0, 184, 0, 185,
1253 248, 186, 187, 0, 188, 189, 190, 192, 248, 248,
1254 191, 183, 0, 43, 44, 45, 3, 11, 23, 11,
1255 18, 19, 20, 0, 21, 22, 41, 42, 193, 196,
1256 233, 0, 0, 234, 235, 0, 16, 0, 0, 84,
1257 17, 0, 0, 221, 238, 0, 234, 235, 408, 411,
1258 0, 0, 0, 0, 0, 0, 59, 0, 65, 0,
1259 0, 410, 258, 409, 0, 242, 246, 244, 247, 0,
1260 9, 10, 0, 194, 236, 0, 0, 269, 0, 100,
1261 104, 262, 261, 263, 68, 69, 73, 71, 0, 82,
1262 79, 345, 346, 0, 322, 320, 315, 0, 0, 316,
1263 321, 0, 0, 0, 87, 86, 91, 286, 89, 285,
1264 322, 299, 319, 240, 239, 0, 0, 138, 0, 102,
1265 0, 0, 0, 0, 32, 33, 34, 35, 36, 0,
1266 0, 0, 25, 0, 0, 0, 12, 15, 13, 14,
1267 104, 265, 271, 0, 0, 38, 0, 0, 46, 0,
1268 0, 266, 0, 272, 85, 0, 311, 324, 0, 323,
1269 312, 0, 322, 0, 322, 300, 0, 286, 81, 0,
1270 0, 290, 0, 283, 287, 291, 0, 0, 301, 241,
1271 0, 52, 141, 0, 139, 140, 286, 143, 37, 63,
1272 54, 0, 0, 66, 177, 179, 39, 259, 255, 0,
1273 0, 26, 27, 30, 0, 0, 40, 48, 264, 270,
1274 101, 0, 0, 400, 409, 396, 397, 394, 395, 0,
1275 0, 0, 387, 0, 0, 103, 98, 0, 99, 334,
1276 336, 338, 0, 342, 347, 354, 358, 361, 353, 373,
1277 386, 0, 398, 414, 371, 0, 0, 0, 0, 105,
1278 0, 296, 0, 267, 0, 273, 0, 0, 307, 327,
1279 326, 0, 313, 0, 314, 0, 302, 0, 284, 88,
1280 90, 92, 0, 289, 0, 0, 0, 292, 94, 93,
1281 97, 96, 317, 318, 303, 237, 104, 0, 290, 0,
1282 275, 281, 280, 282, 0, 0, 57, 60, 0, 0,
1283 181, 256, 0, 29, 0, 0, 0, 0, 250, 0,
1284 0, 365, 368, 0, 0, 0, 0, 0, 0, 0,
1285 0, 367, 0, 0, 0, 0, 348, 347, 349, 343,
1286 344, 355, 359, 0, 0, 0, 0, 382, 383, 384,
1287 0, 385, 356, 374, 0, 399, 0, 107, 108, 109,
1288 0, 297, 268, 274, 83, 308, 325, 309, 304, 0,
1289 294, 288, 293, 0, 329, 95, 305, 50, 142, 144,
1290 276, 290, 0, 277, 167, 171, 64, 55, 0, 0,
1291 178, 67, 173, 180, 260, 257, 24, 28, 0, 253,
1292 243, 251, 245, 109, 0, 363, 0, 370, 401, 402,
1293 0, 380, 0, 0, 0, 195, 0, 0, 0, 132,
1294 133, 0, 0, 127, 130, 129, 366, 337, 341, 340,
1295 351, 350, 0, 412, 360, 375, 377, 0, 376, 379,
1296 357, 0, 333, 0, 112, 106, 310, 306, 0, 295,
1297 0, 330, 331, 0, 278, 0, 0, 0, 75, 0,
1298 58, 61, 175, 0, 174, 252, 0, 112, 364, 0,
1299 369, 0, 0, 0, 388, 0, 0, 393, 391, 389,
1300 131, 0, 390, 352, 378, 339, 372, 0, 0, 110,
1301 119, 298, 0, 0, 112, 279, 170, 0, 0, 168,
1302 172, 0, 0, 182, 254, 119, 362, 403, 0, 404,
1303 118, 381, 0, 0, 128, 0, 114, 0, 0, 0,
1304 121, 328, 332, 121, 76, 169, 104, 0, 121, 405,
1305 335, 392, 113, 0, 0, 0, 0, 0, 0, 123,
1306 145, 0, 123, 115, 0, 117, 111, 120, 0, 0,
1307 134, 0, 134, 0, 134, 0, 122, 0, 0, 0,
1308 0, 136, 0, 0, 176, 136, 116, 125, 124, 126,
1309 0, 0, 0, 0, 409, 0, 148, 0, 0, 51,
1310 0, 135, 0, 47, 0, 150, 0, 0, 146, 0,
1311 0, 49, 137, 0, 149, 147, 152, 151, 0, 0,
1312 154, 0, 157, 159, 0, 160, 408, 0, 161, 0,
1313 0, 153, 162, 0, 0, 164, 158, 163, 165, 0,
1317 /* YYDEFGOTO[NTERM-NUM]. */
1318 static const yytype_int16 yydefgoto[] =
1320 -1, 1, 6, 2, 7, 86, 140, 206, 8, 207,
1321 208, 88, 270, 271, 272, 209, 127, 194, 90, 91,
1322 92, 93, 94, 318, 380, 95, 513, 96, 124, 365,
1323 125, 448, 193, 449, 123, 364, 97, 199, 369, 14,
1324 15, 517, 16, 19, 20, 108, 173, 174, 175, 176,
1325 348, 295, 296, 148, 149, 218, 319, 504, 549, 550,
1326 575, 576, 569, 580, 599, 610, 482, 483, 621, 632,
1327 253, 344, 255, 612, 656, 636, 661, 662, 446, 519,
1328 523, 524, 562, 263, 264, 370, 453, 98, 99, 100,
1329 101, 256, 484, 184, 116, 203, 204, 130, 377, 378,
1330 458, 372, 117, 268, 189, 151, 152, 362, 257, 178,
1331 243, 244, 245, 179, 297, 354, 181, 228, 229, 466,
1332 435, 510, 511, 501, 502, 299, 300, 301, 302, 303,
1333 399, 400, 304, 305, 306, 307, 383, 308, 472, 413,
1334 309, 310, 311, 312, 385, 468, 469, 313, 664, 314,
1335 132, 121, 494, 22, 315
1338 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1340 #define YYPACT_NINF -607
1341 static const yytype_int16 yypact[] =
1343 -607, 50, -29, -607, 198, 89, 1350, -607, -607, -607,
1344 208, -607, -607, -607, 65, -607, -607, -607, 208, 110,
1345 -607, -607, 45, 2903, -607, 276, 2903, -607, 18, -607,
1346 -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
1347 -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
1348 -607, -607, -607, -607, -607, -607, -607, -607, 85, -607,
1349 -607, -607, -607, -607, -607, -607, 2903, -607, 2903, -607,
1350 208, -607, -607, 133, -607, -607, -607, -607, 208, 208,
1351 -607, -607, 2903, -607, -607, -607, -607, -607, -607, -607,
1352 -607, -607, -607, 2903, -607, -607, -607, -607, -607, 399,
1353 -607, 2903, 336, 155, 192, 185, -607, 198, 268, -607,
1354 -607, 89, 1152, -607, 213, 199, -607, -607, 297, -607,
1355 208, 305, 336, 240, 242, 273, -607, 1445, -607, 336,
1356 333, -607, 359, -607, 369, -607, 359, -607, 359, 336,
1357 1247, 1247, 336, -607, -607, 336, 336, -607, 139, -607,
1358 145, 416, 422, -607, -607, -607, -607, -607, 208, 388,
1359 -607, -607, -607, 208, 360, -607, -607, 208, 471, -607,
1360 -607, 376, 2903, 398, 393, 406, -607, 347, 387, -607,
1361 360, 445, -607, -607, 456, 2903, 476, 2319, 143, 457,
1362 474, 484, 397, 404, -607, -607, -607, -607, -607, 336,
1363 150, 481, 2414, 477, 488, 166, -607, -607, -607, -607,
1364 -607, 416, 422, 239, 279, -607, 336, 3150, 1836, 272,
1365 1933, -607, 2030, -607, -607, 1152, -607, -607, 482, 224,
1366 -607, 208, 360, 208, 360, 501, 418, 347, -607, 1152,
1367 1152, 347, 1741, -607, 433, -607, 453, 118, -607, -607,
1368 524, -607, -607, 496, -607, 503, 435, -607, -607, -607,
1369 -607, 517, 519, 508, -607, -607, -607, -607, 509, 2903,
1370 505, 512, -607, -607, 2903, 2903, -607, 1836, -607, -607,
1371 -607, 3059, 3150, -607, 297, -607, -607, -607, -607, 533,
1372 3150, 534, -607, 535, 536, -607, -607, 3033, -607, 537,
1373 -607, 304, 3200, -607, 329, 1155, 1155, 521, 654, -607,
1374 -607, 188, -607, -607, -607, 538, 547, 548, 522, -607,
1375 336, -607, 523, -607, 527, -607, 528, 529, 540, -607,
1376 -607, 541, -607, 525, -607, 118, -607, 543, -607, 406,
1377 387, -607, 387, 433, 539, 292, 2127, -607, 544, -607,
1378 -607, -607, -607, -607, 545, -607, -607, 2509, 435, 1644,
1379 -607, 416, 446, -607, 35, 35, -607, -607, 336, 553,
1380 549, 556, 551, -607, 580, 2414, 336, 2611, -607, 2713,
1381 554, 559, -607, 381, 44, 133, 3150, -1, 3150, 1022,
1382 762, -607, 375, 3150, 3200, 3200, -607, -607, 335, 329,
1383 329, 236, 236, 208, 208, 3109, 208, -607, -607, -607,
1384 208, -607, 1155, -607, 3150, -607, 3150, -607, -607, -607,
1385 189, -607, -607, -607, -607, -607, -607, 564, 565, 550,
1386 -607, -607, -607, 557, 208, -607, -607, 1836, -607, -607,
1387 446, 459, 2224, -607, -607, 182, -607, -607, 35, 35,
1388 -607, -607, 542, -607, -607, -607, -607, -607, 197, -607,
1389 -607, -607, -607, -607, 208, 567, 3150, -607, 563, -607,
1390 568, 537, 293, 3150, 570, 584, 566, 573, 574, -607,
1391 -607, 2903, 312, -607, -607, -607, -607, -607, -607, -607,
1392 -607, -607, 335, -607, -607, -607, -607, 394, -607, -607,
1393 236, 575, -607, 331, -15, -607, -607, -607, 578, -607,
1394 588, 583, -607, 582, -607, 586, 610, 247, -607, 1547,
1395 -607, -607, -607, 585, -607, -607, 336, -15, -607, 208,
1396 -607, 133, 2808, 3150, -607, 25, 3150, -607, -607, -607,
1397 -607, 892, -607, -607, -607, -607, -607, 133, 2903, -607,
1398 577, -607, 208, 208, 569, -607, -607, 208, 617, -607,
1399 -607, 336, 606, -607, -607, 577, -607, -607, 2903, -607,
1400 -607, 537, 3150, 594, -607, 270, -607, 77, 336, 3150,
1401 530, -607, -607, 530, -607, -607, -607, 625, 530, -607,
1402 537, -607, -607, 133, 2903, 3150, 278, 634, 3150, 581,
1403 592, 3150, 581, -607, 599, -607, -607, -607, 639, 632,
1404 595, 614, 595, 612, 595, 3150, -607, 643, 644, 288,
1405 3150, 607, 181, 621, -607, 607, -607, -607, -607, -607,
1406 651, 3150, 624, 181, 648, 126, -607, 649, 629, -607,
1407 628, -607, 660, -607, 48, -607, 299, 181, -607, 212,
1408 645, -607, -607, 181, -607, -607, 661, -607, 202, 202,
1409 -607, 351, 665, -607, 659, -607, -607, 666, -607, 43,
1410 202, -607, 246, 379, 411, -607, 665, -607, -607, 358,
1411 -607, 365, -607, -607
1414 /* YYPGOTO[NTERM-NUM]. */
1415 static const yytype_int16 yypgoto[] =
1417 -607, -607, -607, -607, -607, -607, 590, -607, -607, 679,
1418 683, -607, -607, -607, 315, 687, -607, -607, 591, 608,
1419 611, -607, -123, -607, -607, -607, -607, -607, -607, -607,
1420 -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
1421 587, -607, -8, -607, 626, -607, 516, -607, 504, 502,
1422 -607, -607, 526, -110, 531, -190, -607, 281, -607, -483,
1423 -607, 156, -520, 190, -159, 152, 157, 220, -353, 142,
1424 -607, -182, -607, -607, -554, -607, -185, -606, -322, -607,
1425 -607, -607, -607, -607, 401, -607, -607, -91, -607, -607,
1426 -607, -5, -20, -607, 29, -607, -607, 417, 497, -6,
1427 -607, -607, 54, -607, -95, -119, 353, 413, -178, 261,
1428 -137, -210, -22, 532, -14, -248, 609, -121, -607, 546,
1429 -607, -607, -607, -528, -203, -265, -607, 108, -101, 478,
1430 -607, -607, -280, 468, -607, -607, 489, -269, -285, -607,
1431 -607, -308, -607, -305, -607, -607, 248, 5, -25, -40,
1432 434, 668, -369, 16, 552
1435 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1436 positive, shift that token. If negative, reduce the rule which
1437 number is the opposite. If zero, do what YYDEFACT says.
1438 If YYTABLE_NINF, syntax error. */
1439 #define YYTABLE_NINF -409
1440 static const yytype_int16 yytable[] =
1442 120, 102, 105, 115, 198, 254, 415, 150, 143, 17,
1443 21, 182, 188, 393, 298, 17, 298, 384, 114, 200,
1444 277, 122, 397, 21, 273, 387, 211, 213, 4, 205,
1445 119, 343, 345, 134, 109, 103, 401, 402, 324, 393,
1446 326, 499, 444, 447, 565, 547, 672, 210, 589, 391,
1447 3, 597, 668, 669, 645, 653, 647, 112, 393, 247,
1448 104, 128, 153, 129, 676, 512, 677, 182, 635, 445,
1449 608, 583, 106, 613, 604, 131, 572, 139, 382, 644,
1450 675, 467, 153, 131, 131, 654, 5, 428, 142, 153,
1451 548, 373, 630, 657, 382, 528, 144, 107, 180, 153,
1452 338, 18, 153, 642, 265, 153, 153, 177, 594, 11,
1453 473, 333, 17, 335, 12, -56, 21, 110, 490, 363,
1454 497, 471, 102, 595, 182, 119, 520, 521, 487, 221,
1455 223, 503, 645, 646, 647, 102, 102, 361, 182, 182,
1456 471, 352, 111, 500, 486, 182, 215, 126, 343, 345,
1457 258, 471, -102, 353, 234, 349, 103, 266, 133, 153,
1458 566, 648, 154, 21, 433, 250, 437, 237, 226, 103,
1459 103, 216, 230, 276, 224, 216, 153, -102, 217, 439,
1460 114, 104, 216, 581, 582, 474, 477, 485, 156, 221,
1461 223, 221, 223, 633, 104, 104, 505, 273, 216, 155,
1462 414, 10, 11, 398, 525, 658, 634, 12, 535, 283,
1463 420, 180, 543, 320, 659, 658, 153, 516, 11, 183,
1464 177, 216, 347, 12, 659, 180, 180, 634, 11, 526,
1465 185, 343, 180, 12, 177, 177, 332, 634, 334, 211,
1466 213, 13, 285, 286, 287, 288, 404, 405, 329, 660,
1467 219, 220, 285, 286, 287, 288, 330, 587, 659, 623,
1468 515, 625, 406, 530, 407, 408, 409, 410, 571, 376,
1469 376, 634, 320, 265, 411, 161, 278, 592, 162, 557,
1470 153, 459, 558, 281, 282, 606, 285, 286, 287, 288,
1471 219, 222, 11, 283, 166, 629, 11, 284, 491, 492,
1472 158, 118, 593, 219, 346, 159, 169, 590, 321, -406,
1473 216, 633, 285, 286, 287, 288, 279, 187, 153, 153,
1474 541, 347, 211, 347, 634, 533, 289, 290, 153, 431,
1475 534, 291, 161, 573, 655, 162, 153, 394, 485, 221,
1476 443, 663, 145, 395, 541, 470, 281, 282, 146, 542,
1477 663, 663, 190, 241, 191, 11, 147, 166, 219, 242,
1478 284, 133, 663, 533, 663, 663, 663, 201, 546, 169,
1479 192, 461, 376, 461, 376, 285, 286, 287, 288, 292,
1480 293, 202, 658, 670, 476, 114, 294, 227, 671, 289,
1481 670, 659, 605, -249, 291, 682, 560, 670, 352, 329,
1482 225, 153, 683, 236, 634, 329, 485, 330, 493, 495,
1483 353, 498, 626, 330, 658, 493, 678, 465, 443, 285,
1484 286, 287, 288, 659, 600, 239, 533, 219, 220, 602,
1485 544, 564, 320, 219, 222, 238, 634, 518, 240, 493,
1486 246, 358, 292, 293, 219, 346, 219, 359, 680, 294,
1487 17, 285, 286, 287, 288, 360, 161, 219, 442, 162,
1488 133, 540, 249, 163, 164, 441, 586, 165, 596, 493,
1489 219, 359, 248, 11, 161, 166, 114, 162, 12, 167,
1490 168, 231, 232, 251, 133, 165, 153, 169, 679, 681,
1491 217, 470, 170, 166, 259, 135, 137, 233, 212, 214,
1492 340, 342, 488, 489, 260, 169, 267, 577, 171, 261,
1493 170, 274, 136, 138, 561, 67, 262, 69, 328, 71,
1494 72, 153, 275, 74, 75, 76, 77, 570, 336, 337,
1495 80, 81, 355, 356, 493, 357, 114, 366, 153, 367,
1496 368, 371, 374, 578, 375, 386, 388, 389, 390, 584,
1497 416, 393, 403, 577, 417, 418, 419, 493, 493, 421,
1498 451, 427, 17, 570, 422, 423, 424, 425, 426, 67,
1499 429, 69, 436, 71, 72, 434, 430, 74, 75, 76,
1500 77, 454, 638, 452, 80, 81, 455, 456, 463, 570,
1501 464, 506, 507, 638, 509, 531, -407, 637, 529, 532,
1502 522, 508, 536, 537, 114, 551, 638, 638, 637, 665,
1503 538, 539, 545, 638, 552, 553, 554, 556, 665, 665,
1504 563, 637, 637, 555, 585, 667, 579, 283, 637, 547,
1505 665, 591, 665, 665, 665, 161, 598, 601, 162, 611,
1506 23, 607, 609, 281, 282, 615, 616, 620, 622, 624,
1507 627, 628, 475, 283, 166, 631, 639, 284, 641, 643,
1508 -408, 649, 650, 651, 404, 405, 169, 652, 672, 647,
1509 666, 673, 285, 286, 287, 288, 166, 617, 674, 141,
1510 406, 9, 407, 408, 409, 410, 289, 290, 169, 87,
1511 457, 291, 411, 89, 157, 618, 479, 480, 481, 29,
1512 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1513 40, 41, 42, 43, 44, 45, 46, 47, 195, 48,
1514 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1515 59, 60, 61, 62, 63, 196, 64, 160, 197, 292,
1516 293, 327, 341, 339, 527, 322, 294, 280, 67, 603,
1517 69, 70, 71, 72, 614, 588, 74, 75, 76, 77,
1518 78, 574, 79, 80, 81, 161, 619, 640, 162, 450,
1519 23, 440, 379, 281, 282, 331, 412, 235, 350, 567,
1520 396, 0, 475, 283, 166, 0, 392, 284, 186, 0,
1521 0, 0, 0, 0, 0, 0, 169, 0, 351, 0,
1522 0, 0, 285, 286, 287, 288, 478, 0, 0, 0,
1523 0, 0, 0, 0, 0, 0, 289, 290, 0, 0,
1524 0, 291, 0, 0, 0, 0, 479, 480, 481, 29,
1525 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1526 40, 41, 42, 43, 44, 45, 46, 47, 0, 48,
1527 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1528 59, 60, 61, 62, 63, 0, 64, 0, 0, 292,
1529 293, 0, 0, 0, 0, 0, 294, 0, 67, 0,
1530 69, 70, 71, 72, 0, 0, 74, 75, 76, 77,
1531 78, 0, 79, 80, 81, 161, 0, 0, 162, 0,
1532 23, 0, 0, 281, 282, 0, 0, 0, 0, 0,
1533 0, 0, 475, 283, 166, 0, 0, 284, 0, 0,
1534 0, 0, 0, 0, 0, 0, 169, 0, 0, 0,
1535 0, 0, 285, 286, 287, 288, 0, 0, 0, 0,
1536 0, 0, 0, 0, 0, 0, 289, 290, 0, 0,
1537 0, 291, 0, 0, 0, 0, 479, 480, 481, 29,
1538 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1539 40, 41, 42, 43, 44, 45, 46, 47, 0, 48,
1540 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1541 59, 60, 61, 62, 63, 0, 64, 0, 0, 292,
1542 293, 0, 0, 0, 0, 0, 294, 0, 67, 0,
1543 69, 70, 71, 72, 0, 0, 74, 75, 76, 77,
1544 78, 0, 79, 80, 81, 161, 0, 0, 162, 0,
1545 23, 0, 0, 281, 282, 0, 0, 0, 0, 0,
1546 0, 0, 475, 283, 166, 0, 0, 284, 0, 0,
1547 0, 0, 0, 0, 0, 0, 169, 0, 0, 0,
1548 0, 0, 285, 286, 287, 288, 0, 0, 0, 0,
1549 0, 0, 0, 0, 0, 0, 289, 290, 0, 0,
1550 0, 291, 0, 0, 0, 0, 0, 0, 0, 29,
1551 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1552 40, 41, 42, 43, 44, 45, 46, 47, 0, 48,
1553 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1554 59, 60, 61, 62, 63, 0, 64, 0, 0, 292,
1555 293, 0, 0, 0, 0, 0, 294, 0, 67, 0,
1556 69, 70, 71, 72, 0, 0, 74, 75, 76, 77,
1557 78, 0, 79, 80, 81, 161, 0, 0, 162, 0,
1558 23, 0, 163, 164, 0, 0, 165, 282, 0, 0,
1559 0, 0, 24, 0, 166, 11, 0, 0, 167, 168,
1560 284, 0, 0, 0, 0, 0, 169, 0, 0, 0,
1561 0, 170, 0, 0, 0, 285, 286, 287, 288, 0,
1562 0, 0, 0, 0, 0, 0, 0, 171, 0, 289,
1563 0, 0, 0, 0, 291, 0, 0, 0, 172, 29,
1564 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1565 40, 41, 42, 43, 44, 45, 46, 47, 0, 48,
1566 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1567 59, 60, 61, 62, 63, 23, 64, 0, 0, 0,
1568 0, 0, 292, 293, 0, 0, 0, 24, 67, 294,
1569 69, 70, 71, 72, 0, 0, 74, 75, 76, 77,
1570 78, 0, 79, 80, 81, 0, 0, 0, 0, 0,
1571 0, 0, 0, 0, 0, 25, 0, 26, 0, 0,
1572 0, 0, 0, 27, 0, 0, 0, 0, 0, 28,
1573 0, 0, 0, 0, 29, 30, 31, 32, 33, 34,
1574 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1575 45, 46, 47, 0, 48, 49, 50, 51, 52, 53,
1576 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1577 0, 64, 0, 0, 0, 0, 65, 0, 23, 0,
1578 66, 0, 5, 67, 68, 69, 70, 71, 72, 73,
1579 24, 74, 75, 76, 77, 78, 0, 79, 80, 81,
1580 82, 83, 84, 85, 0, 0, 0, 0, 0, 0,
1581 0, 0, 0, 0, 0, 0, 0, 0, 25, 0,
1582 26, 0, 0, 0, 0, 0, 27, 0, 0, 0,
1583 0, 0, 28, 0, 0, 0, 0, 29, 30, 31,
1584 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1585 42, 43, 44, 45, 46, 47, 0, 48, 49, 50,
1586 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1587 61, 62, 63, 23, 64, 0, 0, 0, 0, 65,
1588 0, 0, 0, 66, 0, 24, 67, 68, 69, 70,
1589 71, 72, 73, 0, 74, 75, 76, 77, 78, 0,
1590 79, 80, 81, 82, 83, 84, 85, 0, 0, 0,
1591 0, 0, 0, 0, 0, 26, 0, 0, 0, 0,
1592 0, 27, 0, 0, 0, 0, 0, 28, 0, 0,
1593 0, 0, 29, 30, 31, 32, 33, 34, 35, 36,
1594 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1595 47, 0, 48, 49, 50, 51, 52, 53, 54, 55,
1596 56, 57, 58, 59, 60, 61, 62, 63, 0, 64,
1597 0, 0, 0, 0, 0, 23, 0, 0, 66, 0,
1598 0, 67, 68, 69, 70, 71, 72, 24, 0, 74,
1599 75, 76, 77, 78, 0, 79, 80, 81, 82, 83,
1600 84, 85, 559, 0, 0, 0, 0, 0, 0, 0,
1601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1603 0, 0, 0, 0, 29, 30, 31, 32, 33, 34,
1604 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1605 45, 46, 47, 0, 48, 49, 50, 51, 52, 53,
1606 54, 55, 56, 57, 113, 59, 60, 61, 62, 63,
1607 441, 64, 23, 0, 0, 219, 359, 0, 0, 0,
1608 0, 0, 0, 67, 24, 69, 70, 71, 72, 133,
1609 0, 74, 75, 76, 77, 78, 0, 79, 80, 81,
1610 0, 83, 84, 85, 0, 0, 0, 0, 0, 0,
1611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1613 0, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1614 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1615 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1616 57, 113, 59, 60, 61, 62, 63, 241, 64, 23,
1617 0, 0, 219, 242, 0, 0, 0, 0, 0, 0,
1618 67, 24, 69, 70, 71, 72, 0, 0, 74, 75,
1619 76, 77, 78, 252, 79, 80, 81, 0, 0, 0,
1620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1622 0, 0, 0, 0, 0, 0, 0, 0, 29, 30,
1623 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1624 41, 42, 43, 44, 45, 46, 47, 0, 48, 49,
1625 50, 51, 52, 53, 54, 55, 56, 57, 113, 59,
1626 60, 61, 62, 63, 23, 64, 0, 0, 0, 0,
1627 0, 0, 0, 0, 0, 0, 24, 67, 0, 69,
1628 70, 71, 72, 0, 0, 74, 75, 76, 77, 78,
1629 252, 79, 80, 81, 0, 0, 0, 0, 0, 0,
1630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1632 316, 317, 0, 29, 30, 31, 32, 33, 34, 35,
1633 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1634 46, 47, 0, 48, 49, 50, 51, 52, 53, 54,
1635 55, 56, 57, 113, 59, 60, 61, 62, 63, 0,
1636 64, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1637 0, 0, 67, 24, 69, 70, 71, 72, 0, 0,
1638 74, 75, 76, 77, 78, 0, 79, 80, 81, 0,
1639 323, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1642 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1643 39, 40, 41, 42, 43, 44, 45, 46, 47, 0,
1644 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1645 113, 59, 60, 61, 62, 63, 0, 64, 23, 0,
1646 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
1647 24, 69, 70, 71, 72, 0, 0, 74, 75, 76,
1648 77, 78, 252, 79, 80, 81, 0, 325, 0, 0,
1649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1651 0, 0, 0, 0, 0, 0, 0, 29, 30, 31,
1652 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1653 42, 43, 44, 45, 46, 47, 0, 48, 49, 50,
1654 51, 52, 53, 54, 55, 56, 57, 113, 59, 60,
1655 61, 62, 63, 0, 64, 23, 0, 0, 0, 0,
1656 0, 0, 0, 0, 0, 0, 67, 24, 69, 70,
1657 71, 72, 0, 0, 74, 75, 76, 77, 78, 252,
1658 79, 80, 81, 0, 432, 0, 0, 0, 0, 0,
1659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1661 0, 0, 0, 0, 29, 30, 31, 32, 33, 34,
1662 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1663 45, 46, 47, 0, 48, 49, 50, 51, 52, 53,
1664 54, 55, 56, 57, 113, 59, 60, 61, 62, 63,
1665 0, 64, 23, 0, 0, 0, 0, 0, 0, 0,
1666 0, 0, 0, 67, 24, 69, 70, 71, 72, 0,
1667 0, 74, 75, 76, 77, 78, 252, 79, 80, 81,
1668 0, 514, 0, 0, 0, 0, 0, 0, 0, 0,
1669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1671 0, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1672 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1673 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1674 57, 113, 59, 60, 61, 62, 63, 23, 64, 0,
1675 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
1676 67, 0, 69, 70, 71, 72, 0, 0, 74, 75,
1677 76, 77, 78, 252, 79, 80, 81, 0, 0, 0,
1678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1680 0, 0, 0, 0, 0, 0, 29, 30, 31, 32,
1681 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1682 43, 44, 45, 46, 47, 0, 48, 49, 50, 51,
1683 52, 53, 54, 55, 56, 57, 113, 59, 60, 61,
1684 62, 63, 23, 64, 0, 0, 0, 0, 0, 0,
1685 0, 0, 0, 0, 24, 67, 0, 69, 70, 71,
1686 72, 0, 0, 74, 75, 76, 77, 78, 252, 79,
1687 80, 81, 0, 0, 0, 0, 0, 0, 0, 0,
1688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1690 0, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1691 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1692 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1693 57, 113, 59, 60, 61, 62, 63, 23, 64, 0,
1694 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
1695 67, 0, 69, 70, 71, 72, 0, 269, 74, 75,
1696 76, 77, 78, 0, 79, 80, 81, 0, 0, 0,
1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1699 0, 0, 0, 0, 0, 0, 29, 30, 31, 32,
1700 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1701 43, 44, 45, 46, 47, 0, 48, 49, 50, 51,
1702 52, 53, 54, 55, 56, 57, 113, 59, 60, 61,
1703 62, 63, 0, 64, 0, 0, 0, 0, 0, 23,
1704 0, 0, 0, 0, 0, 67, 0, 69, 70, 71,
1705 72, 24, 0, 74, 75, 76, 77, 78, 438, 79,
1706 80, 81, 0, 0, 0, 0, 460, 0, 0, 0,
1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0, 29, 30,
1710 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1711 41, 42, 43, 44, 45, 46, 47, 0, 48, 49,
1712 50, 51, 52, 53, 54, 55, 56, 57, 113, 59,
1713 60, 61, 62, 63, 0, 64, 0, 0, 0, 0,
1714 0, 23, 0, 0, 0, 0, 0, 67, 0, 69,
1715 70, 71, 72, 24, 0, 74, 75, 76, 77, 78,
1716 0, 79, 80, 81, 0, 0, 0, 0, 462, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1721 39, 40, 41, 42, 43, 44, 45, 46, 47, 0,
1722 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1723 113, 59, 60, 61, 62, 63, 23, 64, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 24, 67,
1725 0, 69, 70, 71, 72, 0, 0, 74, 75, 76,
1726 77, 78, 0, 79, 80, 81, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1729 0, 0, 0, 0, 568, 29, 30, 31, 32, 33,
1730 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1731 44, 45, 46, 47, 0, 48, 49, 50, 51, 52,
1732 53, 54, 55, 56, 57, 113, 59, 60, 61, 62,
1733 63, 23, 64, 0, 0, 0, 0, 0, 0, 0,
1734 0, 0, 0, 24, 67, 0, 69, 70, 71, 72,
1735 0, 0, 74, 75, 76, 77, 78, 0, 79, 80,
1736 81, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1739 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1740 39, 40, 41, 42, 43, 44, 45, 46, 47, 0,
1741 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1742 113, 59, 60, 61, 62, 63, 0, 64, 0, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
1744 0, 69, 70, 71, 72, 0, 0, 74, 75, 76,
1745 77, 78, 0, 79, 80, 81, 161, 0, 0, 162,
1746 0, 0, 0, 0, 281, 282, 0, 0, 0, 0,
1747 0, 0, 0, 11, 283, 166, 352, 0, 284, 0,
1748 0, 0, 161, 0, 0, 162, 0, 169, 353, 0,
1749 281, 282, 0, 285, 286, 287, 288, 0, 0, 11,
1750 283, 166, 0, 0, 284, 0, 0, 289, 290, 0,
1751 0, 0, 291, 169, 0, 381, 0, 0, 0, 285,
1752 286, 287, 288, 0, 0, 0, 0, 0, 0, 0,
1753 0, 0, 161, 289, 290, 162, 0, 0, 291, 0,
1754 281, 282, 0, 0, 0, 0, 0, 0, 0, 11,
1755 283, 166, 0, 0, 284, 0, 0, 0, 0, 0,
1756 292, 293, 0, 169, 0, 496, 0, 294, 0, 285,
1757 286, 287, 288, 161, 0, 0, 162, 0, 0, 0,
1758 0, 281, 282, 289, 290, 0, 292, 293, 291, 0,
1759 11, 283, 166, 294, 0, 284, 0, 0, 0, 0,
1760 0, 0, 0, 0, 169, 0, 0, 0, 0, 0,
1761 285, 286, 287, 288, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 161, 289, 290, 162, 0, 0, 291,
1763 0, 281, 282, 0, 0, 0, 292, 293, 0, 0,
1764 11, 0, 166, 294, 0, 284, 0, 0, 0, 0,
1765 0, 0, 0, 0, 169, 0, 0, 0, 0, 0,
1766 285, 286, 287, 288, 0, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 289, 0, 0, 292, 293, 291,
1768 0, 0, 0, 0, 294, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 292, 293, 0,
1776 static const yytype_int16 yycheck[] =
1778 25, 6, 10, 23, 127, 187, 311, 102, 99, 4,
1779 5, 112, 122, 14, 217, 10, 219, 282, 23, 129,
1780 210, 26, 302, 18, 202, 290, 145, 146, 57, 139,
1781 25, 241, 242, 73, 18, 6, 305, 306, 220, 14,
1782 222, 410, 7, 365, 527, 60, 3, 142, 568, 297,
1783 0, 579, 658, 659, 6, 7, 8, 12, 14, 180,
1784 6, 66, 102, 68, 670, 434, 672, 168, 622, 34,
1785 598, 554, 7, 601, 594, 70, 51, 82, 281, 633,
1786 37, 37, 122, 78, 79, 37, 115, 335, 93, 129,
1787 105, 269, 620, 647, 297, 464, 101, 32, 112, 139,
1788 237, 12, 142, 631, 199, 145, 146, 112, 31, 20,
1789 111, 232, 107, 234, 25, 97, 111, 7, 398, 256,
1790 405, 386, 127, 46, 225, 120, 448, 449, 393, 151,
1791 152, 416, 6, 7, 8, 140, 141, 256, 239, 240,
1792 405, 23, 32, 412, 392, 246, 7, 62, 358, 359,
1793 7, 416, 7, 35, 168, 246, 127, 7, 25, 199,
1794 529, 35, 7, 158, 346, 185, 356, 172, 163, 140,
1795 141, 32, 167, 7, 158, 32, 216, 32, 33, 357,
1796 185, 127, 32, 552, 553, 388, 389, 390, 3, 211,
1797 212, 213, 214, 12, 140, 141, 7, 375, 32, 7,
1798 12, 3, 20, 304, 7, 3, 25, 25, 473, 21,
1799 320, 225, 492, 218, 12, 3, 256, 35, 20, 6,
1800 225, 32, 244, 25, 12, 239, 240, 25, 20, 32,
1801 31, 441, 246, 25, 239, 240, 231, 25, 233, 358,
1802 359, 43, 40, 41, 42, 43, 10, 11, 24, 37,
1803 11, 12, 40, 41, 42, 43, 32, 562, 12, 612,
1804 442, 614, 26, 466, 28, 29, 30, 31, 533, 274,
1805 275, 25, 277, 368, 38, 3, 37, 7, 6, 32,
1806 320, 376, 35, 11, 12, 7, 40, 41, 42, 43,
1807 11, 12, 20, 21, 22, 7, 20, 25, 399, 400,
1808 32, 25, 32, 11, 12, 37, 34, 572, 36, 12,
1809 32, 12, 40, 41, 42, 43, 37, 12, 358, 359,
1810 32, 343, 441, 345, 25, 32, 54, 55, 368, 37,
1811 37, 59, 3, 536, 35, 6, 376, 33, 541, 361,
1812 362, 649, 6, 39, 32, 385, 11, 12, 12, 37,
1813 658, 659, 112, 6, 112, 20, 20, 22, 11, 12,
1814 25, 25, 670, 32, 672, 673, 674, 34, 37, 34,
1815 97, 377, 377, 379, 379, 40, 41, 42, 43, 107,
1816 108, 12, 3, 32, 389, 390, 114, 27, 37, 54,
1817 32, 12, 595, 34, 59, 37, 519, 32, 23, 24,
1818 12, 441, 37, 27, 25, 24, 609, 32, 403, 404,
1819 35, 406, 615, 32, 3, 410, 37, 36, 440, 40,
1820 41, 42, 43, 12, 583, 32, 32, 11, 12, 588,
1821 36, 526, 437, 11, 12, 37, 25, 445, 32, 434,
1822 53, 6, 107, 108, 11, 12, 11, 12, 37, 114,
1823 445, 40, 41, 42, 43, 20, 3, 11, 12, 6,
1824 25, 481, 6, 10, 11, 6, 561, 14, 578, 464,
1825 11, 12, 27, 20, 3, 22, 481, 6, 25, 26,
1826 27, 10, 11, 7, 25, 14, 526, 34, 673, 674,
1827 33, 531, 39, 22, 20, 78, 79, 26, 145, 146,
1828 239, 240, 394, 395, 20, 34, 25, 547, 55, 112,
1829 39, 34, 78, 79, 519, 116, 112, 118, 36, 120,
1830 121, 561, 34, 124, 125, 126, 127, 532, 27, 111,
1831 131, 132, 8, 37, 529, 32, 541, 20, 578, 20,
1832 32, 32, 37, 548, 32, 12, 12, 12, 12, 557,
1833 12, 14, 31, 593, 7, 7, 34, 552, 553, 36,
1834 7, 36, 557, 568, 37, 37, 37, 27, 27, 116,
1835 27, 118, 27, 120, 121, 31, 37, 124, 125, 126,
1836 127, 25, 622, 34, 131, 132, 35, 7, 34, 594,
1837 31, 27, 27, 633, 37, 32, 12, 622, 31, 31,
1838 58, 51, 32, 37, 609, 27, 646, 647, 633, 649,
1839 37, 37, 37, 653, 26, 32, 34, 7, 658, 659,
1840 35, 646, 647, 37, 7, 650, 49, 21, 653, 60,
1841 670, 37, 672, 673, 674, 3, 106, 12, 6, 47,
1842 8, 7, 61, 11, 12, 46, 7, 52, 34, 37,
1843 7, 7, 20, 21, 22, 48, 35, 25, 7, 35,
1844 12, 12, 33, 35, 10, 11, 34, 7, 3, 8,
1845 25, 12, 40, 41, 42, 43, 22, 45, 12, 89,
1846 26, 2, 28, 29, 30, 31, 54, 55, 34, 6,
1847 375, 59, 38, 6, 107, 63, 64, 65, 66, 67,
1848 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1849 78, 79, 80, 81, 82, 83, 84, 85, 127, 87,
1850 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1851 98, 99, 100, 101, 102, 127, 104, 111, 127, 107,
1852 108, 225, 240, 239, 463, 219, 114, 216, 116, 593,
1853 118, 119, 120, 121, 602, 565, 124, 125, 126, 127,
1854 128, 541, 130, 131, 132, 3, 609, 625, 6, 368,
1855 8, 358, 275, 11, 12, 229, 308, 168, 246, 531,
1856 302, -1, 20, 21, 22, -1, 297, 25, 120, -1,
1857 -1, -1, -1, -1, -1, -1, 34, -1, 246, -1,
1858 -1, -1, 40, 41, 42, 43, 44, -1, -1, -1,
1859 -1, -1, -1, -1, -1, -1, 54, 55, -1, -1,
1860 -1, 59, -1, -1, -1, -1, 64, 65, 66, 67,
1861 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1862 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1863 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1864 98, 99, 100, 101, 102, -1, 104, -1, -1, 107,
1865 108, -1, -1, -1, -1, -1, 114, -1, 116, -1,
1866 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1867 128, -1, 130, 131, 132, 3, -1, -1, 6, -1,
1868 8, -1, -1, 11, 12, -1, -1, -1, -1, -1,
1869 -1, -1, 20, 21, 22, -1, -1, 25, -1, -1,
1870 -1, -1, -1, -1, -1, -1, 34, -1, -1, -1,
1871 -1, -1, 40, 41, 42, 43, -1, -1, -1, -1,
1872 -1, -1, -1, -1, -1, -1, 54, 55, -1, -1,
1873 -1, 59, -1, -1, -1, -1, 64, 65, 66, 67,
1874 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1875 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1876 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1877 98, 99, 100, 101, 102, -1, 104, -1, -1, 107,
1878 108, -1, -1, -1, -1, -1, 114, -1, 116, -1,
1879 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1880 128, -1, 130, 131, 132, 3, -1, -1, 6, -1,
1881 8, -1, -1, 11, 12, -1, -1, -1, -1, -1,
1882 -1, -1, 20, 21, 22, -1, -1, 25, -1, -1,
1883 -1, -1, -1, -1, -1, -1, 34, -1, -1, -1,
1884 -1, -1, 40, 41, 42, 43, -1, -1, -1, -1,
1885 -1, -1, -1, -1, -1, -1, 54, 55, -1, -1,
1886 -1, 59, -1, -1, -1, -1, -1, -1, -1, 67,
1887 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1888 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1889 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1890 98, 99, 100, 101, 102, -1, 104, -1, -1, 107,
1891 108, -1, -1, -1, -1, -1, 114, -1, 116, -1,
1892 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1893 128, -1, 130, 131, 132, 3, -1, -1, 6, -1,
1894 8, -1, 10, 11, -1, -1, 14, 12, -1, -1,
1895 -1, -1, 20, -1, 22, 20, -1, -1, 26, 27,
1896 25, -1, -1, -1, -1, -1, 34, -1, -1, -1,
1897 -1, 39, -1, -1, -1, 40, 41, 42, 43, -1,
1898 -1, -1, -1, -1, -1, -1, -1, 55, -1, 54,
1899 -1, -1, -1, -1, 59, -1, -1, -1, 66, 67,
1900 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1901 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1902 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1903 98, 99, 100, 101, 102, 8, 104, -1, -1, -1,
1904 -1, -1, 107, 108, -1, -1, -1, 20, 116, 114,
1905 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1906 128, -1, 130, 131, 132, -1, -1, -1, -1, -1,
1907 -1, -1, -1, -1, -1, 48, -1, 50, -1, -1,
1908 -1, -1, -1, 56, -1, -1, -1, -1, -1, 62,
1909 -1, -1, -1, -1, 67, 68, 69, 70, 71, 72,
1910 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1911 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
1912 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1913 -1, 104, -1, -1, -1, -1, 109, -1, 8, -1,
1914 113, -1, 115, 116, 117, 118, 119, 120, 121, 122,
1915 20, 124, 125, 126, 127, 128, -1, 130, 131, 132,
1916 133, 134, 135, 136, -1, -1, -1, -1, -1, -1,
1917 -1, -1, -1, -1, -1, -1, -1, -1, 48, -1,
1918 50, -1, -1, -1, -1, -1, 56, -1, -1, -1,
1919 -1, -1, 62, -1, -1, -1, -1, 67, 68, 69,
1920 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1921 80, 81, 82, 83, 84, 85, -1, 87, 88, 89,
1922 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1923 100, 101, 102, 8, 104, -1, -1, -1, -1, 109,
1924 -1, -1, -1, 113, -1, 20, 116, 117, 118, 119,
1925 120, 121, 122, -1, 124, 125, 126, 127, 128, -1,
1926 130, 131, 132, 133, 134, 135, 136, -1, -1, -1,
1927 -1, -1, -1, -1, -1, 50, -1, -1, -1, -1,
1928 -1, 56, -1, -1, -1, -1, -1, 62, -1, -1,
1929 -1, -1, 67, 68, 69, 70, 71, 72, 73, 74,
1930 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1931 85, -1, 87, 88, 89, 90, 91, 92, 93, 94,
1932 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
1933 -1, -1, -1, -1, -1, 8, -1, -1, 113, -1,
1934 -1, 116, 117, 118, 119, 120, 121, 20, -1, 124,
1935 125, 126, 127, 128, -1, 130, 131, 132, 133, 134,
1936 135, 136, 35, -1, -1, -1, -1, -1, -1, -1,
1937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1938 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1939 -1, -1, -1, -1, 67, 68, 69, 70, 71, 72,
1940 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1941 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
1942 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1943 6, 104, 8, -1, -1, 11, 12, -1, -1, -1,
1944 -1, -1, -1, 116, 20, 118, 119, 120, 121, 25,
1945 -1, 124, 125, 126, 127, 128, -1, 130, 131, 132,
1946 -1, 134, 135, 136, -1, -1, -1, -1, -1, -1,
1947 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1948 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1949 -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1950 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1951 -1, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1952 96, 97, 98, 99, 100, 101, 102, 6, 104, 8,
1953 -1, -1, 11, 12, -1, -1, -1, -1, -1, -1,
1954 116, 20, 118, 119, 120, 121, -1, -1, 124, 125,
1955 126, 127, 128, 129, 130, 131, 132, -1, -1, -1,
1956 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1957 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1958 -1, -1, -1, -1, -1, -1, -1, -1, 67, 68,
1959 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1960 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
1961 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1962 99, 100, 101, 102, 8, 104, -1, -1, -1, -1,
1963 -1, -1, -1, -1, -1, -1, 20, 116, -1, 118,
1964 119, 120, 121, -1, -1, 124, 125, 126, 127, 128,
1965 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
1966 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1967 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1968 64, 65, -1, 67, 68, 69, 70, 71, 72, 73,
1969 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1970 84, 85, -1, 87, 88, 89, 90, 91, 92, 93,
1971 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
1972 104, 8, -1, -1, -1, -1, -1, -1, -1, -1,
1973 -1, -1, 116, 20, 118, 119, 120, 121, -1, -1,
1974 124, 125, 126, 127, 128, -1, 130, 131, 132, -1,
1975 37, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1976 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1977 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1978 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1979 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
1980 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1981 97, 98, 99, 100, 101, 102, -1, 104, 8, -1,
1982 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
1983 20, 118, 119, 120, 121, -1, -1, 124, 125, 126,
1984 127, 128, 129, 130, 131, 132, -1, 37, -1, -1,
1985 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1987 -1, -1, -1, -1, -1, -1, -1, 67, 68, 69,
1988 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1989 80, 81, 82, 83, 84, 85, -1, 87, 88, 89,
1990 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1991 100, 101, 102, -1, 104, 8, -1, -1, -1, -1,
1992 -1, -1, -1, -1, -1, -1, 116, 20, 118, 119,
1993 120, 121, -1, -1, 124, 125, 126, 127, 128, 129,
1994 130, 131, 132, -1, 37, -1, -1, -1, -1, -1,
1995 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1996 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1997 -1, -1, -1, -1, 67, 68, 69, 70, 71, 72,
1998 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1999 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
2000 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2001 -1, 104, 8, -1, -1, -1, -1, -1, -1, -1,
2002 -1, -1, -1, 116, 20, 118, 119, 120, 121, -1,
2003 -1, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2004 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1,
2005 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2006 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2007 -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2008 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2009 -1, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2010 96, 97, 98, 99, 100, 101, 102, 8, 104, -1,
2011 -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
2012 116, -1, 118, 119, 120, 121, -1, -1, 124, 125,
2013 126, 127, 128, 129, 130, 131, 132, -1, -1, -1,
2014 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2015 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2016 -1, -1, -1, -1, -1, -1, 67, 68, 69, 70,
2017 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2018 81, 82, 83, 84, 85, -1, 87, 88, 89, 90,
2019 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2020 101, 102, 8, 104, -1, -1, -1, -1, -1, -1,
2021 -1, -1, -1, -1, 20, 116, -1, 118, 119, 120,
2022 121, -1, -1, 124, 125, 126, 127, 128, 129, 130,
2023 131, 132, -1, -1, -1, -1, -1, -1, -1, -1,
2024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2026 -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2027 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2028 -1, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2029 96, 97, 98, 99, 100, 101, 102, 8, 104, -1,
2030 -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
2031 116, -1, 118, 119, 120, 121, -1, 123, 124, 125,
2032 126, 127, 128, -1, 130, 131, 132, -1, -1, -1,
2033 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2034 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2035 -1, -1, -1, -1, -1, -1, 67, 68, 69, 70,
2036 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2037 81, 82, 83, 84, 85, -1, 87, 88, 89, 90,
2038 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2039 101, 102, -1, 104, -1, -1, -1, -1, -1, 8,
2040 -1, -1, -1, -1, -1, 116, -1, 118, 119, 120,
2041 121, 20, -1, 124, 125, 126, 127, 128, 129, 130,
2042 131, 132, -1, -1, -1, -1, 35, -1, -1, -1,
2043 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2044 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2045 -1, -1, -1, -1, -1, -1, -1, -1, 67, 68,
2046 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2047 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
2048 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2049 99, 100, 101, 102, -1, 104, -1, -1, -1, -1,
2050 -1, 8, -1, -1, -1, -1, -1, 116, -1, 118,
2051 119, 120, 121, 20, -1, 124, 125, 126, 127, 128,
2052 -1, 130, 131, 132, -1, -1, -1, -1, 35, -1,
2053 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2055 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2056 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2057 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
2058 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2059 97, 98, 99, 100, 101, 102, 8, 104, -1, -1,
2060 -1, -1, -1, -1, -1, -1, -1, -1, 20, 116,
2061 -1, 118, 119, 120, 121, -1, -1, 124, 125, 126,
2062 127, 128, -1, 130, 131, 132, -1, -1, -1, -1,
2063 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2064 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2065 -1, -1, -1, -1, 66, 67, 68, 69, 70, 71,
2066 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2067 82, 83, 84, 85, -1, 87, 88, 89, 90, 91,
2068 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2069 102, 8, 104, -1, -1, -1, -1, -1, -1, -1,
2070 -1, -1, -1, 20, 116, -1, 118, 119, 120, 121,
2071 -1, -1, 124, 125, 126, 127, 128, -1, 130, 131,
2072 132, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2073 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2074 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2075 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2076 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
2077 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2078 97, 98, 99, 100, 101, 102, -1, 104, -1, -1,
2079 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
2080 -1, 118, 119, 120, 121, -1, -1, 124, 125, 126,
2081 127, 128, -1, 130, 131, 132, 3, -1, -1, 6,
2082 -1, -1, -1, -1, 11, 12, -1, -1, -1, -1,
2083 -1, -1, -1, 20, 21, 22, 23, -1, 25, -1,
2084 -1, -1, 3, -1, -1, 6, -1, 34, 35, -1,
2085 11, 12, -1, 40, 41, 42, 43, -1, -1, 20,
2086 21, 22, -1, -1, 25, -1, -1, 54, 55, -1,
2087 -1, -1, 59, 34, -1, 36, -1, -1, -1, 40,
2088 41, 42, 43, -1, -1, -1, -1, -1, -1, -1,
2089 -1, -1, 3, 54, 55, 6, -1, -1, 59, -1,
2090 11, 12, -1, -1, -1, -1, -1, -1, -1, 20,
2091 21, 22, -1, -1, 25, -1, -1, -1, -1, -1,
2092 107, 108, -1, 34, -1, 36, -1, 114, -1, 40,
2093 41, 42, 43, 3, -1, -1, 6, -1, -1, -1,
2094 -1, 11, 12, 54, 55, -1, 107, 108, 59, -1,
2095 20, 21, 22, 114, -1, 25, -1, -1, -1, -1,
2096 -1, -1, -1, -1, 34, -1, -1, -1, -1, -1,
2097 40, 41, 42, 43, -1, -1, -1, -1, -1, -1,
2098 -1, -1, -1, 3, 54, 55, 6, -1, -1, 59,
2099 -1, 11, 12, -1, -1, -1, 107, 108, -1, -1,
2100 20, -1, 22, 114, -1, 25, -1, -1, -1, -1,
2101 -1, -1, -1, -1, 34, -1, -1, -1, -1, -1,
2102 40, 41, 42, 43, -1, -1, -1, -1, -1, -1,
2103 -1, -1, -1, -1, 54, -1, -1, 107, 108, 59,
2104 -1, -1, -1, -1, 114, -1, -1, -1, -1, -1,
2105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2108 -1, -1, -1, -1, -1, -1, -1, 107, 108, -1,
2112 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2113 symbol of state STATE-NUM. */
2114 static const yytype_uint16 yystos[] =
2116 0, 138, 140, 0, 57, 115, 139, 141, 145, 146,
2117 3, 20, 25, 43, 176, 177, 179, 284, 12, 180,
2118 181, 284, 290, 8, 20, 48, 50, 56, 62, 67,
2119 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2120 78, 79, 80, 81, 82, 83, 84, 85, 87, 88,
2121 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2122 99, 100, 101, 102, 104, 109, 113, 116, 117, 118,
2123 119, 120, 121, 122, 124, 125, 126, 127, 128, 130,
2124 131, 132, 133, 134, 135, 136, 142, 147, 148, 152,
2125 155, 156, 157, 158, 159, 162, 164, 173, 224, 225,
2126 226, 227, 228, 231, 239, 179, 7, 32, 182, 290,
2127 7, 32, 12, 97, 228, 229, 231, 239, 25, 284,
2128 285, 288, 228, 171, 165, 167, 62, 153, 228, 228,
2129 234, 284, 287, 25, 286, 234, 287, 234, 287, 228,
2130 143, 143, 228, 224, 228, 6, 12, 20, 190, 191,
2131 241, 242, 243, 286, 7, 7, 3, 177, 32, 37,
2132 181, 3, 6, 10, 11, 14, 22, 26, 27, 34,
2133 39, 55, 66, 183, 184, 185, 186, 228, 246, 250,
2134 251, 253, 265, 6, 230, 31, 288, 12, 190, 241,
2135 112, 112, 97, 169, 154, 155, 156, 157, 159, 174,
2136 190, 34, 12, 232, 233, 190, 144, 146, 147, 152,
2137 241, 242, 243, 242, 243, 7, 32, 33, 192, 11,
2138 12, 249, 12, 249, 290, 12, 284, 27, 254, 255,
2139 284, 10, 11, 26, 251, 253, 27, 228, 37, 32,
2140 32, 6, 12, 247, 248, 249, 53, 254, 27, 6,
2141 229, 7, 129, 207, 208, 209, 228, 245, 7, 20,
2142 20, 112, 112, 220, 221, 241, 7, 25, 240, 123,
2143 149, 150, 151, 245, 34, 34, 7, 192, 37, 37,
2144 191, 11, 12, 21, 25, 40, 41, 42, 43, 54,
2145 55, 59, 107, 108, 114, 188, 189, 251, 261, 262,
2146 263, 264, 265, 266, 269, 270, 271, 272, 274, 277,
2147 278, 279, 280, 284, 286, 291, 64, 65, 160, 193,
2148 228, 36, 189, 37, 208, 37, 208, 183, 36, 24,
2149 32, 256, 284, 254, 284, 254, 27, 111, 247, 185,
2150 246, 186, 246, 248, 208, 248, 12, 249, 187, 224,
2151 250, 291, 23, 35, 252, 8, 37, 32, 6, 12,
2152 20, 242, 244, 247, 172, 166, 20, 20, 32, 175,
2153 222, 32, 238, 245, 37, 32, 228, 235, 236, 235,
2154 161, 36, 261, 273, 262, 281, 12, 262, 12, 12,
2155 12, 252, 273, 14, 33, 39, 266, 269, 265, 267,
2156 268, 274, 274, 31, 10, 11, 26, 28, 29, 30,
2157 31, 38, 270, 276, 12, 280, 12, 7, 7, 34,
2158 190, 36, 37, 37, 37, 27, 27, 36, 252, 27,
2159 37, 37, 37, 208, 31, 257, 27, 192, 129, 245,
2160 244, 6, 12, 249, 7, 34, 215, 215, 168, 170,
2161 221, 7, 34, 223, 25, 35, 7, 151, 237, 241,
2162 35, 236, 35, 34, 31, 36, 256, 37, 282, 283,
2163 286, 262, 275, 111, 261, 20, 228, 261, 44, 64,
2164 65, 66, 203, 204, 229, 261, 252, 262, 264, 264,
2165 269, 265, 265, 284, 289, 284, 36, 275, 284, 289,
2166 274, 260, 261, 275, 194, 7, 27, 27, 51, 37,
2167 258, 259, 289, 163, 37, 208, 35, 178, 179, 216,
2168 215, 215, 58, 217, 218, 7, 32, 194, 289, 31,
2169 261, 32, 31, 32, 37, 262, 32, 37, 37, 37,
2170 229, 32, 37, 269, 36, 37, 37, 60, 105, 195,
2171 196, 27, 26, 32, 34, 37, 7, 32, 35, 35,
2172 159, 228, 219, 35, 241, 196, 289, 283, 66, 199,
2173 228, 262, 51, 261, 204, 197, 198, 286, 228, 49,
2174 200, 289, 289, 196, 179, 7, 241, 280, 200, 199,
2175 262, 37, 7, 32, 31, 46, 190, 260, 106, 201,
2176 201, 12, 201, 198, 199, 261, 7, 7, 260, 61,
2177 202, 47, 210, 260, 202, 46, 7, 45, 63, 203,
2178 52, 205, 34, 205, 37, 205, 261, 7, 7, 7,
2179 260, 48, 206, 12, 25, 211, 212, 285, 286, 35,
2180 206, 7, 260, 35, 211, 6, 7, 8, 35, 12,
2181 33, 35, 7, 7, 37, 35, 211, 211, 3, 12,
2182 37, 213, 214, 278, 285, 286, 25, 285, 214, 214,
2183 32, 37, 3, 12, 12, 37, 214, 214, 37, 213,
2187 #define yyerrok (yyerrstatus = 0)
2188 #define yyclearin (yychar = YYEMPTY)
2189 #define YYEMPTY (-2)
2192 #define YYACCEPT goto yyacceptlab
2193 #define YYABORT goto yyabortlab
2194 #define YYERROR goto yyerrorlab
2197 /* Like YYERROR except do call yyerror. This remains here temporarily
2198 to ease the transition to the new meaning of YYERROR, for GCC.
2199 Once GCC version 2 has supplanted version 1, this can go. */
2201 #define YYFAIL goto yyerrlab
2203 #define YYRECOVERING() (!!yyerrstatus)
2205 #define YYBACKUP(Token, Value) \
2207 if (yychar == YYEMPTY && yylen == 1) \
2211 yytoken = YYTRANSLATE (yychar); \
2217 yyerror (YY_("syntax error: cannot back up")); \
2224 #define YYERRCODE 256
2227 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2228 If N is 0, then set CURRENT to the empty location which ends
2229 the previous symbol: RHS[0] (always defined). */
2231 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2232 #ifndef YYLLOC_DEFAULT
2233 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2237 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2238 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2239 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2240 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2244 (Current).first_line = (Current).last_line = \
2245 YYRHSLOC (Rhs, 0).last_line; \
2246 (Current).first_column = (Current).last_column = \
2247 YYRHSLOC (Rhs, 0).last_column; \
2253 /* YY_LOCATION_PRINT -- Print the location on the stream.
2254 This macro was not mandated originally: define only if we know
2255 we won't break user code: when these are the locations we know. */
2257 #ifndef YY_LOCATION_PRINT
2258 # if YYLTYPE_IS_TRIVIAL
2259 # define YY_LOCATION_PRINT(File, Loc) \
2260 fprintf (File, "%d.%d-%d.%d", \
2261 (Loc).first_line, (Loc).first_column, \
2262 (Loc).last_line, (Loc).last_column)
2264 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2269 /* YYLEX -- calling `yylex' with the right arguments. */
2272 # define YYLEX yylex (YYLEX_PARAM)
2274 # define YYLEX yylex ()
2277 /* Enable debugging if requested. */
2281 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2282 # define YYFPRINTF fprintf
2285 # define YYDPRINTF(Args) \
2291 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2295 YYFPRINTF (stderr, "%s ", Title); \
2296 yy_symbol_print (stderr, \
2298 YYFPRINTF (stderr, "\n"); \
2303 /*--------------------------------.
2304 | Print this symbol on YYOUTPUT. |
2305 `--------------------------------*/
2308 #if (defined __STDC__ || defined __C99__FUNC__ \
2309 || defined __cplusplus || defined _MSC_VER)
2311 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2314 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2317 YYSTYPE const * const yyvaluep;
2323 if (yytype < YYNTOKENS)
2324 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2336 /*--------------------------------.
2337 | Print this symbol on YYOUTPUT. |
2338 `--------------------------------*/
2340 #if (defined __STDC__ || defined __C99__FUNC__ \
2341 || defined __cplusplus || defined _MSC_VER)
2343 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2346 yy_symbol_print (yyoutput, yytype, yyvaluep)
2349 YYSTYPE const * const yyvaluep;
2352 if (yytype < YYNTOKENS)
2353 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2355 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2357 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2358 YYFPRINTF (yyoutput, ")");
2361 /*------------------------------------------------------------------.
2362 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2364 `------------------------------------------------------------------*/
2366 #if (defined __STDC__ || defined __C99__FUNC__ \
2367 || defined __cplusplus || defined _MSC_VER)
2369 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2372 yy_stack_print (bottom, top)
2373 yytype_int16 *bottom;
2377 YYFPRINTF (stderr, "Stack now");
2378 for (; bottom <= top; ++bottom)
2379 YYFPRINTF (stderr, " %d", *bottom);
2380 YYFPRINTF (stderr, "\n");
2383 # define YY_STACK_PRINT(Bottom, Top) \
2386 yy_stack_print ((Bottom), (Top)); \
2390 /*------------------------------------------------.
2391 | Report that the YYRULE is going to be reduced. |
2392 `------------------------------------------------*/
2394 #if (defined __STDC__ || defined __C99__FUNC__ \
2395 || defined __cplusplus || defined _MSC_VER)
2397 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2400 yy_reduce_print (yyvsp, yyrule)
2405 int yynrhs = yyr2[yyrule];
2407 unsigned long int yylno = yyrline[yyrule];
2408 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2410 /* The symbols being reduced. */
2411 for (yyi = 0; yyi < yynrhs; yyi++)
2413 fprintf (stderr, " $%d = ", yyi + 1);
2414 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2415 &(yyvsp[(yyi + 1) - (yynrhs)])
2417 fprintf (stderr, "\n");
2421 # define YY_REDUCE_PRINT(Rule) \
2424 yy_reduce_print (yyvsp, Rule); \
2427 /* Nonzero means print parse trace. It is left uninitialized so that
2428 multiple parsers can coexist. */
2430 #else /* !YYDEBUG */
2431 # define YYDPRINTF(Args)
2432 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2433 # define YY_STACK_PRINT(Bottom, Top)
2434 # define YY_REDUCE_PRINT(Rule)
2435 #endif /* !YYDEBUG */
2438 /* YYINITDEPTH -- initial size of the parser's stacks. */
2440 # define YYINITDEPTH 200
2443 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2444 if the built-in stack extension method is used).
2446 Do not make this value too large; the results are undefined if
2447 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2448 evaluated with infinite-precision integer arithmetic. */
2451 # define YYMAXDEPTH 10000
2459 # if defined __GLIBC__ && defined _STRING_H
2460 # define yystrlen strlen
2462 /* Return the length of YYSTR. */
2463 #if (defined __STDC__ || defined __C99__FUNC__ \
2464 || defined __cplusplus || defined _MSC_VER)
2466 yystrlen (const char *yystr)
2474 for (yylen = 0; yystr[yylen]; yylen++)
2482 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2483 # define yystpcpy stpcpy
2485 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2487 #if (defined __STDC__ || defined __C99__FUNC__ \
2488 || defined __cplusplus || defined _MSC_VER)
2490 yystpcpy (char *yydest, const char *yysrc)
2493 yystpcpy (yydest, yysrc)
2499 const char *yys = yysrc;
2501 while ((*yyd++ = *yys++) != '\0')
2510 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2511 quotes and backslashes, so that it's suitable for yyerror. The
2512 heuristic is that double-quoting is unnecessary unless the string
2513 contains an apostrophe, a comma, or backslash (other than
2514 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2515 null, do not copy; instead, return the length of what the result
2518 yytnamerr (char *yyres, const char *yystr)
2523 char const *yyp = yystr;
2530 goto do_not_strip_quotes;
2534 goto do_not_strip_quotes;
2547 do_not_strip_quotes: ;
2551 return yystrlen (yystr);
2553 return yystpcpy (yyres, yystr) - yyres;
2557 /* Copy into YYRESULT an error message about the unexpected token
2558 YYCHAR while in state YYSTATE. Return the number of bytes copied,
2559 including the terminating null byte. If YYRESULT is null, do not
2560 copy anything; just return the number of bytes that would be
2561 copied. As a special case, return 0 if an ordinary "syntax error"
2562 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
2563 size calculation. */
2565 yysyntax_error (char *yyresult, int yystate, int yychar)
2567 int yyn = yypact[yystate];
2569 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2573 int yytype = YYTRANSLATE (yychar);
2574 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2575 YYSIZE_T yysize = yysize0;
2577 int yysize_overflow = 0;
2578 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2579 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2583 /* This is so xgettext sees the translatable formats that are
2584 constructed on the fly. */
2585 YY_("syntax error, unexpected %s");
2586 YY_("syntax error, unexpected %s, expecting %s");
2587 YY_("syntax error, unexpected %s, expecting %s or %s");
2588 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2589 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2593 static char const yyunexpected[] = "syntax error, unexpected %s";
2594 static char const yyexpecting[] = ", expecting %s";
2595 static char const yyor[] = " or %s";
2596 char yyformat[sizeof yyunexpected
2597 + sizeof yyexpecting - 1
2598 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2599 * (sizeof yyor - 1))];
2600 char const *yyprefix = yyexpecting;
2602 /* Start YYX at -YYN if negative to avoid negative indexes in
2604 int yyxbegin = yyn < 0 ? -yyn : 0;
2606 /* Stay within bounds of both yycheck and yytname. */
2607 int yychecklim = YYLAST - yyn + 1;
2608 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2611 yyarg[0] = yytname[yytype];
2612 yyfmt = yystpcpy (yyformat, yyunexpected);
2614 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2615 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2617 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2621 yyformat[sizeof yyunexpected - 1] = '\0';
2624 yyarg[yycount++] = yytname[yyx];
2625 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2626 yysize_overflow |= (yysize1 < yysize);
2628 yyfmt = yystpcpy (yyfmt, yyprefix);
2632 yyf = YY_(yyformat);
2633 yysize1 = yysize + yystrlen (yyf);
2634 yysize_overflow |= (yysize1 < yysize);
2637 if (yysize_overflow)
2638 return YYSIZE_MAXIMUM;
2642 /* Avoid sprintf, as that infringes on the user's name space.
2643 Don't have undefined behavior even if the translation
2644 produced a string with the wrong number of "%s"s. */
2645 char *yyp = yyresult;
2647 while ((*yyp = *yyf) != '\0')
2649 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2651 yyp += yytnamerr (yyp, yyarg[yyi++]);
2664 #endif /* YYERROR_VERBOSE */
2667 /*-----------------------------------------------.
2668 | Release the memory associated to this symbol. |
2669 `-----------------------------------------------*/
2672 #if (defined __STDC__ || defined __C99__FUNC__ \
2673 || defined __cplusplus || defined _MSC_VER)
2675 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2678 yydestruct (yymsg, yytype, yyvaluep)
2688 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2699 /* Prevent warnings from -Wmissing-prototypes. */
2701 #ifdef YYPARSE_PARAM
2702 #if defined __STDC__ || defined __cplusplus
2703 int yyparse (void *YYPARSE_PARAM);
2707 #else /* ! YYPARSE_PARAM */
2708 #if defined __STDC__ || defined __cplusplus
2713 #endif /* ! YYPARSE_PARAM */
2717 /* The look-ahead symbol. */
2720 /* The semantic value of the look-ahead symbol. */
2723 /* Number of syntax errors so far. */
2732 #ifdef YYPARSE_PARAM
2733 #if (defined __STDC__ || defined __C99__FUNC__ \
2734 || defined __cplusplus || defined _MSC_VER)
2736 yyparse (void *YYPARSE_PARAM)
2739 yyparse (YYPARSE_PARAM)
2740 void *YYPARSE_PARAM;
2742 #else /* ! YYPARSE_PARAM */
2743 #if (defined __STDC__ || defined __C99__FUNC__ \
2744 || defined __cplusplus || defined _MSC_VER)
2758 /* Number of tokens to shift before error messages enabled. */
2760 /* Look-ahead token as an internal (translated) token number. */
2763 /* Buffer for error messages, and its allocated size. */
2765 char *yymsg = yymsgbuf;
2766 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2769 /* Three stacks and their tools:
2770 `yyss': related to states,
2771 `yyvs': related to semantic values,
2772 `yyls': related to locations.
2774 Refer to the stacks thru separate pointers, to allow yyoverflow
2775 to reallocate them elsewhere. */
2777 /* The state stack. */
2778 yytype_int16 yyssa[YYINITDEPTH];
2779 yytype_int16 *yyss = yyssa;
2780 yytype_int16 *yyssp;
2782 /* The semantic value stack. */
2783 YYSTYPE yyvsa[YYINITDEPTH];
2784 YYSTYPE *yyvs = yyvsa;
2789 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
2791 YYSIZE_T yystacksize = YYINITDEPTH;
2793 /* The variables used to return semantic value and location from the
2798 /* The number of symbols on the RHS of the reduced rule.
2799 Keep to zero when no symbol should be popped. */
2802 YYDPRINTF ((stderr, "Starting parse\n"));
2807 yychar = YYEMPTY; /* Cause a token to be read. */
2809 /* Initialize stack pointers.
2810 Waste one element of value and location stack
2811 so that they stay on the same level as the state stack.
2812 The wasted elements are never initialized. */
2819 /*------------------------------------------------------------.
2820 | yynewstate -- Push a new state, which is found in yystate. |
2821 `------------------------------------------------------------*/
2823 /* In all cases, when you get here, the value and location stacks
2824 have just been pushed. So pushing a state here evens the stacks. */
2830 if (yyss + yystacksize - 1 <= yyssp)
2832 /* Get the current used size of the three stacks, in elements. */
2833 YYSIZE_T yysize = yyssp - yyss + 1;
2837 /* Give user a chance to reallocate the stack. Use copies of
2838 these so that the &'s don't force the real ones into
2840 YYSTYPE *yyvs1 = yyvs;
2841 yytype_int16 *yyss1 = yyss;
2844 /* Each stack pointer address is followed by the size of the
2845 data in use in that stack, in bytes. This used to be a
2846 conditional around just the two extra args, but that might
2847 be undefined if yyoverflow is a macro. */
2848 yyoverflow (YY_("memory exhausted"),
2849 &yyss1, yysize * sizeof (*yyssp),
2850 &yyvs1, yysize * sizeof (*yyvsp),
2857 #else /* no yyoverflow */
2858 # ifndef YYSTACK_RELOCATE
2859 goto yyexhaustedlab;
2861 /* Extend the stack our own way. */
2862 if (YYMAXDEPTH <= yystacksize)
2863 goto yyexhaustedlab;
2865 if (YYMAXDEPTH < yystacksize)
2866 yystacksize = YYMAXDEPTH;
2869 yytype_int16 *yyss1 = yyss;
2870 union yyalloc *yyptr =
2871 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2873 goto yyexhaustedlab;
2874 YYSTACK_RELOCATE (yyss);
2875 YYSTACK_RELOCATE (yyvs);
2877 # undef YYSTACK_RELOCATE
2879 YYSTACK_FREE (yyss1);
2882 #endif /* no yyoverflow */
2884 yyssp = yyss + yysize - 1;
2885 yyvsp = yyvs + yysize - 1;
2888 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2889 (unsigned long int) yystacksize));
2891 if (yyss + yystacksize - 1 <= yyssp)
2895 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2904 /* Do appropriate processing given the current state. Read a
2905 look-ahead token if we need one and don't already have one. */
2907 /* First try to decide what to do without reference to look-ahead token. */
2908 yyn = yypact[yystate];
2909 if (yyn == YYPACT_NINF)
2912 /* Not known => get a look-ahead token if don't already have one. */
2914 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
2915 if (yychar == YYEMPTY)
2917 YYDPRINTF ((stderr, "Reading a token: "));
2921 if (yychar <= YYEOF)
2923 yychar = yytoken = YYEOF;
2924 YYDPRINTF ((stderr, "Now at end of input.\n"));
2928 yytoken = YYTRANSLATE (yychar);
2929 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2932 /* If the proper action on seeing token YYTOKEN is to reduce or to
2933 detect an error, take that action. */
2935 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2940 if (yyn == 0 || yyn == YYTABLE_NINF)
2949 /* Count tokens shifted since error; after three, turn off error
2954 /* Shift the look-ahead token. */
2955 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2957 /* Discard the shifted token unless it is eof. */
2958 if (yychar != YYEOF)
2967 /*-----------------------------------------------------------.
2968 | yydefault -- do the default action for the current state. |
2969 `-----------------------------------------------------------*/
2971 yyn = yydefact[yystate];
2977 /*-----------------------------.
2978 | yyreduce -- Do a reduction. |
2979 `-----------------------------*/
2981 /* yyn is the number of a rule to reduce with. */
2984 /* If YYLEN is nonzero, implement the default value of the action:
2987 Otherwise, the following line sets YYVAL to garbage.
2988 This behavior is undocumented and Bison
2989 users should not rely upon it. Assigning to YYVAL
2990 unconditionally makes the parser a bit smaller, and it avoids a
2991 GCC warning that YYVAL may be used uninitialized. */
2992 yyval = yyvsp[1-yylen];
2995 YY_REDUCE_PRINT (yyn);
3000 { lhExternals ((yyvsp[(1) - (1)].interfacelist)); ;}
3005 { interfaceNodeList_free ((yyvsp[(1) - (3)].interfacelist)); interfaceNodeList_free ((yyvsp[(3) - (3)].interfacelist)); ;}
3010 { (yyval.interfacelist) = interfaceNodeList_new (); ;}
3015 { (yyval.interfacelist) = interfaceNodeList_addh ((yyvsp[(1) - (2)].interfacelist), (yyvsp[(2) - (2)].iface));;}
3020 { (yyval.interfacelist) = interfaceNodeList_new (); ;}
3025 { (yyval.interfacelist) = consInterfaceNode ((yyvsp[(1) - (2)].iface), (yyvsp[(2) - (2)].interfacelist));;}
3030 { (yyval.interfacelist) = consInterfaceNode ((yyvsp[(1) - (2)].iface), (yyvsp[(2) - (2)].interfacelist));;}
3035 { (yyval.interfacelist) = interfaceNodeList_new (); ;}
3040 { (yyval.interfacelist) = interfaceNodeList_addh ((yyvsp[(1) - (2)].interfacelist), (yyvsp[(2) - (2)].iface));;}
3045 { (yyval.iface) = makeInterfaceNodeImports ((yyvsp[(2) - (3)].importlist));
3046 /* assume subspecs are already processed, symbol table info in external file */
3052 { (yyval.iface) = makeInterfaceNodeUses ((yyvsp[(2) - (3)].traitreflist)); readlsignatures ((yyval.iface));;}
3057 { declareConstant ((yyvsp[(1) - (1)].constdeclaration)); (yyval.iface) = interfaceNode_makeConst ((yyvsp[(1) - (1)].constdeclaration)); ;}
3062 { declareVar ((yyvsp[(1) - (1)].vardeclaration)); (yyval.iface) = interfaceNode_makeVar ((yyvsp[(1) - (1)].vardeclaration)); ;}
3067 { declareType ((yyvsp[(1) - (1)].type)); (yyval.iface) = interfaceNode_makeType ((yyvsp[(1) - (1)].type)); ;}
3072 { declareFcn ((yyvsp[(1) - (1)].fcn), typeId_invalid); (yyval.iface) = interfaceNode_makeFcn ((yyvsp[(1) - (1)].fcn)); ;}
3077 { (yyval.iface) = interfaceNode_makeClaim ((yyvsp[(1) - (1)].claim)); ;}
3082 { declareIter ((yyvsp[(1) - (1)].iter)); (yyval.iface) = interfaceNode_makeIter ((yyvsp[(1) - (1)].iter)); ;}
3087 { (yyval.iter) = makeIterNode ((yyvsp[(2) - (6)].ltok), (yyvsp[(4) - (6)].paramlist)); ;}
3092 { (yyval.paramlist) = paramNodeList_new (); ;}
3097 { (yyval.paramlist) = (yyvsp[(1) - (1)].paramlist); ;}
3102 { (yyval.paramlist) = paramNodeList_add (paramNodeList_new (), (yyvsp[(1) - (1)].param)); ;}
3107 { (yyval.paramlist) = paramNodeList_add ((yyvsp[(1) - (3)].paramlist),(yyvsp[(3) - (3)].param)); ;}
3112 { (yyval.param) = markYieldParamNode ((yyvsp[(2) - (2)].param)); ;}
3117 { (yyval.param) = (yyvsp[(1) - (1)].param); ;}
3122 { symtable_export (g_symtab, FALSE); ;}
3127 { (yyval.iface) = (yyvsp[(3) - (3)].iface); symtable_export (g_symtab, TRUE); ;}
3132 { declarePrivConstant ((yyvsp[(1) - (1)].constdeclaration)); (yyval.iface) = interfaceNode_makePrivConst ((yyvsp[(1) - (1)].constdeclaration)); ;}
3137 { declarePrivVar ((yyvsp[(1) - (1)].vardeclaration)); (yyval.iface) = interfaceNode_makePrivVar ((yyvsp[(1) - (1)].vardeclaration)); ;}
3142 { declarePrivType ((yyvsp[(1) - (1)].type)); (yyval.iface) = interfaceNode_makePrivType ((yyvsp[(1) - (1)].type)); ;}
3147 { declarePrivFcn ((yyvsp[(1) - (1)].fcn), typeId_invalid); (yyval.iface) = interfaceNode_makePrivFcn ((yyvsp[(1) - (1)].fcn)); ;}
3152 { (yyval.constdeclaration) = makeConstDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls)); ;}
3157 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].initdecls), FALSE, FALSE); (yyval.vardeclaration)->qualifier = QLF_NONE; ;}
3162 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls), FALSE, FALSE); (yyval.vardeclaration)->qualifier = QLF_CONST; ;}
3167 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls), FALSE, FALSE); (yyval.vardeclaration)->qualifier = QLF_VOLATILE; ;}
3172 { (yyval.type) = makeAbstractTypeNode ((yyvsp[(1) - (1)].abstract)); ;}
3177 { (yyval.type) = makeExposedTypeNode ((yyvsp[(1) - (1)].exposed)); ;}
3182 { (yyval.typequal) = qual_createPrintfLike (); ;}
3187 { (yyval.typequal) = qual_createScanfLike (); ;}
3192 { (yyval.typequal) = qual_createMessageLike (); ;}
3197 { enteringFcnScope ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].declare), (yyvsp[(3) - (3)].globals)); ;}
3202 { (yyval.fcn) = makeFcnNode (qual_createUnknown (), (yyvsp[(1) - (13)].lcltypespec), (yyvsp[(2) - (13)].declare), (yyvsp[(3) - (13)].globals), (yyvsp[(6) - (13)].vardeclarationlist), (yyvsp[(7) - (13)].letdecls),
3203 (yyvsp[(8) - (13)].lclpredicate), (yyvsp[(9) - (13)].lclpredicate), (yyvsp[(10) - (13)].modify), (yyvsp[(11) - (13)].lclpredicate), (yyvsp[(12) - (13)].lclpredicate));
3204 /* type, declarator, glovbls, privateinits,
3205 lets, checks, requires, modifies, ensures, claims */
3206 symtable_exitScope (g_symtab);
3212 { enteringFcnScope ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].declare), (yyvsp[(4) - (4)].globals)); ;}
3217 { (yyval.fcn) = makeFcnNode ((yyvsp[(1) - (14)].typequal), (yyvsp[(2) - (14)].lcltypespec), (yyvsp[(3) - (14)].declare), (yyvsp[(4) - (14)].globals), (yyvsp[(7) - (14)].vardeclarationlist),
3218 (yyvsp[(8) - (14)].letdecls), (yyvsp[(9) - (14)].lclpredicate), (yyvsp[(10) - (14)].lclpredicate), (yyvsp[(11) - (14)].modify), (yyvsp[(12) - (14)].lclpredicate), (yyvsp[(13) - (14)].lclpredicate));
3219 /* type, declarator, glovbls, privateinits,
3220 lets, checks, requires, modifies, ensures, claims */
3221 symtable_exitScope (g_symtab);
3227 { enteringClaimScope ((yyvsp[(4) - (6)].paramlist), (yyvsp[(6) - (6)].globals)); ;}
3232 { (yyval.claim) = makeClaimNode ((yyvsp[(2) - (13)].ltok), (yyvsp[(4) - (13)].paramlist), (yyvsp[(6) - (13)].globals), (yyvsp[(9) - (13)].letdecls), (yyvsp[(10) - (13)].lclpredicate), (yyvsp[(11) - (13)].program), (yyvsp[(12) - (13)].lclpredicate));
3233 symtable_exitScope (g_symtab); ;}
3238 { (yyval.claim) = (claimNode) 0; ;}
3243 {g_inTypeDef = TRUE; ;}
3248 {g_inTypeDef = FALSE; ;}
3253 { (yyval.abstract) = makeAbstractNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(4) - (6)].ltok), TRUE, FALSE, (yyvsp[(6) - (6)].abstbody)); ;}
3258 {g_inTypeDef = TRUE; ;}
3263 {g_inTypeDef = FALSE; ;}
3268 { (yyval.abstract) = makeAbstractNode ((yyvsp[(1) - (7)].ltok), (yyvsp[(5) - (7)].ltok), TRUE, TRUE, (yyvsp[(7) - (7)].abstbody)); ;}
3273 {g_inTypeDef = TRUE; ;}
3278 {g_inTypeDef = FALSE; ;}
3283 { (yyval.abstract) = makeAbstractNode ((yyvsp[(2) - (7)].ltok), (yyvsp[(5) - (7)].ltok), TRUE, TRUE, (yyvsp[(7) - (7)].abstbody)); ;}
3288 {g_inTypeDef = TRUE; ;}
3293 {g_inTypeDef = FALSE; ;}
3298 { (yyval.abstract) = makeAbstractNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(4) - (6)].ltok), FALSE, FALSE, (yyvsp[(6) - (6)].abstbody)); ;}
3303 { g_inTypeDef = TRUE; setExposedType ((yyvsp[(2) - (2)].lcltypespec)); ;}
3308 { g_inTypeDef = FALSE; ;}
3313 { (yyval.exposed) = makeExposedNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(2) - (6)].lcltypespec), (yyvsp[(4) - (6)].declaratorinvs)); /* to support mutually recursive types */ ;}
3318 { (yyval.exposed) = makeExposedNode ((yyvsp[(2) - (2)].ltok), makeLclTypeSpecNodeSU ((yyvsp[(1) - (2)].structorunion)), declaratorInvNodeList_new ()); ;}
3323 { (yyval.exposed) = makeExposedNode ((yyvsp[(2) - (2)].ltok), makeLclTypeSpecNodeEnum ((yyvsp[(1) - (2)].enumspec)), declaratorInvNodeList_new ()); ;}
3328 { (yyval.importlist) = importNodeList_add (importNodeList_new (), (yyvsp[(1) - (1)].import)); ;}
3333 { (yyval.importlist) = importNodeList_add ((yyvsp[(1) - (3)].importlist), (yyvsp[(3) - (3)].import)); ;}
3338 { (yyval.import) = importNode_makePlain ((yyvsp[(1) - (1)].ltok)); ;}
3343 { checkBrackets ((yyvsp[(1) - (3)].ltok), (yyvsp[(3) - (3)].ltok)); (yyval.import) = importNode_makeBracketed ((yyvsp[(2) - (3)].ltok)); ;}
3348 { (yyval.import) = importNode_makeQuoted ((yyvsp[(1) - (1)].ltok)); ;}
3353 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
3358 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;}
3363 { (yyval.traitreflist) = traitRefNodeList_add (traitRefNodeList_new (), (yyvsp[(1) - (1)].traitref)); ;}
3368 { (yyval.traitreflist) = traitRefNodeList_add ((yyvsp[(1) - (3)].traitreflist), (yyvsp[(3) - (3)].traitref)); ;}
3373 { (yyval.traitref) = makeTraitRefNode (ltokenList_singleton ((yyvsp[(1) - (1)].ltok)), (renamingNode)0); ;}
3378 { (yyval.traitref) = makeTraitRefNode (ltokenList_singleton ((yyvsp[(1) - (4)].ltok)), (yyvsp[(3) - (4)].renaming)); ;}
3383 { (yyval.traitref) = makeTraitRefNode ((yyvsp[(2) - (3)].ltokenList), (renamingNode)0); ;}
3388 { (yyval.traitref) = makeTraitRefNode ((yyvsp[(2) - (6)].ltokenList), (yyvsp[(5) - (6)].renaming)); ;}
3393 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
3398 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;}
3403 { (yyval.renaming) = makeRenamingNode (typeNameNodeList_new (), (yyvsp[(1) - (1)].replacelist)); ;}
3408 { (yyval.renaming) = makeRenamingNode ((yyvsp[(1) - (1)].namelist), replaceNodeList_new ()); ;}
3413 { (yyval.renaming) = makeRenamingNode ((yyvsp[(1) - (3)].namelist), (yyvsp[(3) - (3)].replacelist)); ;}
3418 { (yyval.namelist) = typeNameNodeList_add (typeNameNodeList_new (), (yyvsp[(1) - (1)].typname)); ;}
3423 { (yyval.namelist) = typeNameNodeList_add ((yyvsp[(1) - (3)].namelist), (yyvsp[(3) - (3)].typname)); ;}
3428 { (yyval.replacelist) = replaceNodeList_add (replaceNodeList_new (), (yyvsp[(1) - (1)].replace)); ;}
3433 { (yyval.replacelist) = replaceNodeList_add ((yyvsp[(1) - (3)].replacelist), (yyvsp[(3) - (3)].replace)); ;}
3438 { (yyval.replace) = makeReplaceNode ((yyvsp[(2) - (3)].ltok), (yyvsp[(1) - (3)].typname), TRUE, (yyvsp[(3) - (3)].ltok), NULL, NULL); ;}
3443 { (yyval.replace) = makeReplaceNameNode ((yyvsp[(2) - (3)].ltok), (yyvsp[(1) - (3)].typname), (yyvsp[(3) - (3)].name)); ;}
3448 { (yyval.replace) = makeReplaceNode ((yyvsp[(2) - (4)].ltok), (yyvsp[(1) - (4)].typname), FALSE, ltoken_undefined,
3449 (yyvsp[(3) - (4)].name), (yyvsp[(4) - (4)].signature)); ;}
3454 { (yyval.name) = makeNameNodeId ((yyvsp[(1) - (1)].ltok)); ;}
3459 { (yyval.name) = makeNameNodeForm ((yyvsp[(1) - (1)].opform)); ;}
3464 { (yyval.initdecls) = initDeclNodeList_add (initDeclNodeList_new (), (yyvsp[(1) - (1)].initdecl)); ;}
3469 { (yyval.initdecls) = initDeclNodeList_add ((yyvsp[(1) - (3)].initdecls), (yyvsp[(3) - (3)].initdecl)); ;}
3474 { (yyval.initdecl) = makeInitDeclNode ((yyvsp[(1) - (1)].declare), (termNode)0); ;}
3479 { (yyval.initdecl) = makeInitDeclNode ((yyvsp[(1) - (3)].declare), (yyvsp[(3) - (3)].term)); ;}
3484 { (yyval.globals) = varDeclarationNodeList_new (); ;}
3489 { varDeclarationNodeList_addh ((yyvsp[(1) - (2)].globals), (yyvsp[(2) - (2)].vardeclaration)); (yyval.globals) = (yyvsp[(1) - (2)].globals); ;}
3494 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].initdecls), TRUE, FALSE); ;}
3499 { (yyval.vardeclaration) = makeInternalStateNode (); ;}
3504 { (yyval.vardeclaration) = makeFileSystemNode (); ;}
3509 { (yyval.vardeclarationlist) = varDeclarationNodeList_new (); ;}
3514 { varDeclarationNodeList_addh ((yyvsp[(1) - (2)].vardeclarationlist), (yyvsp[(2) - (2)].vardeclaration)); (yyval.vardeclarationlist) = (yyvsp[(1) - (2)].vardeclarationlist); ;}
3519 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls), FALSE, TRUE); ;}
3524 { (yyval.letdecls) = letDeclNodeList_new (); ;}
3529 { (yyval.letdecls) = (yyvsp[(2) - (3)].letdecls); ;}
3534 { (yyval.letdecls) = letDeclNodeList_add (letDeclNodeList_new (), (yyvsp[(1) - (1)].letdecl)); ;}
3539 { (yyval.letdecls) = letDeclNodeList_add ((yyvsp[(1) - (3)].letdecls), (yyvsp[(3) - (3)].letdecl)); ;}
3544 { (yyval.letdecl) = makeLetDeclNode ((yyvsp[(1) - (5)].ltok), (yyvsp[(3) - (5)].lcltypespec), (yyvsp[(5) - (5)].term)); ;}
3549 { (yyval.letdecl) = makeLetDeclNode ((yyvsp[(1) - (3)].ltok), (lclTypeSpecNode)0, (yyvsp[(3) - (3)].term)); ;}
3554 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3559 { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeChecksNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); ;}
3564 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3569 { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeRequiresNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate));;}
3574 { (yyval.modify) = (modifyNode)0; ;}
3579 { (yyval.modify) = makeModifyNodeSpecial ((yyvsp[(1) - (3)].ltok), TRUE); ;}
3584 { (yyval.modify) = makeModifyNodeSpecial ((yyvsp[(1) - (3)].ltok), FALSE); ;}
3589 { (yyval.modify) = makeModifyNodeRef ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].storereflist)); ;}
3594 { (yyval.storereflist) = storeRefNodeList_add (storeRefNodeList_new (), (yyvsp[(1) - (1)].storeref)); ;}
3599 { (yyval.storereflist) = storeRefNodeList_add ((yyvsp[(1) - (3)].storereflist), (yyvsp[(3) - (3)].storeref)); ;}
3604 { (yyval.storeref) = makeStoreRefNodeTerm ((yyvsp[(1) - (1)].term)); ;}
3609 { (yyval.storeref) = makeStoreRefNodeType ((yyvsp[(1) - (1)].lcltypespec), FALSE); ;}
3614 { (yyval.storeref) = makeStoreRefNodeType ((yyvsp[(2) - (2)].lcltypespec), TRUE); ;}
3619 { (yyval.storeref) = makeStoreRefNodeInternal (); ;}
3624 { (yyval.storeref) = makeStoreRefNodeSystem (); ;}
3629 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3634 { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeEnsuresNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate));;}
3639 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3644 { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeIntraClaimNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate));;}
3649 { (yyval.paramlist) = paramNodeList_new (); ;}
3654 { (yyval.paramlist) = (yyvsp[(1) - (1)].paramlist); ;}
3659 { (yyval.paramlist) = paramNodeList_add (paramNodeList_new (), paramNode_elipsis ()); ;}
3664 { (yyval.paramlist) = paramNodeList_add ((yyvsp[(1) - (3)].paramlist), paramNode_elipsis ()); ;}
3669 { (yyval.paramlist) = paramNodeList_single ((yyvsp[(1) - (1)].param)); ;}
3674 { (yyval.paramlist) = paramNodeList_add ((yyvsp[(1) - (3)].paramlist), (yyvsp[(3) - (3)].param)); ;}
3679 { (yyval.program) = (programNode)0; ;}
3684 { (yyval.program) = (yyvsp[(3) - (4)].program); ;}
3689 { (yyval.program) = (yyvsp[(3) - (5)].program); ;}
3694 { (yyval.program) = makeProgramNode ((yyvsp[(1) - (1)].stmt)); ;}
3699 { (yyval.program) = (yyvsp[(2) - (3)].program); (yyval.program)->wrapped = (yyval.program)->wrapped + 1; ;}
3704 { programNodeList x = programNodeList_new ();
3705 programNodeList_addh (x, (yyvsp[(1) - (2)].program));
3706 (yyval.program) = makeProgramNodeAction (x, ACT_ITER);
3712 { programNodeList x = programNodeList_new ();
3713 programNodeList_addh (x, (yyvsp[(1) - (3)].program));
3714 programNodeList_addh (x, (yyvsp[(3) - (3)].program));
3715 (yyval.program) = makeProgramNodeAction (x, ACT_ALTERNATE);
3721 { programNodeList x = programNodeList_new ();
3722 programNodeList_addh (x, (yyvsp[(1) - (3)].program));
3723 programNodeList_addh (x, (yyvsp[(3) - (3)].program));
3724 (yyval.program) = makeProgramNodeAction (x, ACT_SEQUENCE);
3730 { (yyval.stmt) = makeStmtNode (ltoken_undefined, (yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].termlist)); ;}
3735 { (yyval.stmt) = makeStmtNode (ltoken_undefined, (yyvsp[(1) - (3)].ltok), termNodeList_new ()); ;}
3740 { (yyval.stmt) = makeStmtNode ((yyvsp[(1) - (5)].ltok), (yyvsp[(3) - (5)].ltok), termNodeList_new ()); ;}
3745 { (yyval.stmt) = makeStmtNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(3) - (6)].ltok), (yyvsp[(5) - (6)].termlist)); ;}
3750 { (yyval.termlist) = termNodeList_push (termNodeList_new (), (yyvsp[(1) - (1)].term)); ;}
3755 { (yyval.termlist) = termNodeList_push ((yyvsp[(1) - (3)].termlist), (yyvsp[(3) - (3)].term)); ;}
3760 { (yyval.term) = makeSimpleTermNode ((yyvsp[(1) - (1)].ltok)); ;}
3765 { (yyval.term) = makePrefixTermNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].term)); ;}
3770 { (yyval.term) = makePostfixTermNode2 ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].ltok)); ;}
3775 { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term)); ;}
3780 { (yyval.term) = (yyvsp[(2) - (3)].term); (yyval.term)->wrapped = (yyval.term)->wrapped + 1; ;}
3785 { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].ltok), termNodeList_new (), (yyvsp[(3) - (3)].ltok)); ;}
3790 { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)); ;}
3795 { (yyval.abstbody) = (abstBodyNode)0; ;}
3800 { (yyval.abstbody) = makeAbstBodyNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].fcns)); ;}
3805 { (yyval.abstbody) = makeAbstBodyNode2 ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltokenList)); ;}
3810 { (yyval.abstbody) = (abstBodyNode)0; ;}
3815 { (yyval.fcns) = fcnNodeList_new (); ;}
3820 { (yyval.fcns) = fcnNodeList_add ((yyvsp[(1) - (2)].fcns), (yyvsp[(2) - (2)].fcn)); ;}
3825 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3830 { g_inTypeDef = FALSE; ;}
3835 { (yyvsp[(5) - (6)].lclpredicate)->tok = (yyvsp[(1) - (6)].ltok); (yyvsp[(5) - (6)].lclpredicate)->kind = LPD_CONSTRAINT;
3836 checkLclPredicate ((yyvsp[(1) - (6)].ltok), (yyvsp[(5) - (6)].lclpredicate));
3837 (yyval.lclpredicate) = (yyvsp[(5) - (6)].lclpredicate);
3838 symtable_exitScope (g_symtab);
3845 { (yyval.declaratorinvs) = declaratorInvNodeList_add (declaratorInvNodeList_new (), (yyvsp[(1) - (1)].declaratorinv)); ;}
3850 { (yyval.declaratorinvs) = declaratorInvNodeList_add ((yyvsp[(1) - (3)].declaratorinvs), (yyvsp[(3) - (3)].declaratorinv)); ;}
3855 { declareForwardType ((yyvsp[(1) - (1)].declare)); ;}
3860 { (yyval.declaratorinv) = makeDeclaratorInvNode ((yyvsp[(1) - (3)].declare), (yyvsp[(3) - (3)].abstbody)); ;}
3865 { (yyval.abstbody) = (abstBodyNode)0; ;}
3870 { (yyval.abstbody) = makeExposedBodyNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); ;}
3875 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_VOID, 0)); ;}
3880 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_CHAR, 0)); ;}
3885 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_DOUBLE, 0)); ;}
3890 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_FLOAT, 0)); ;}
3895 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_INT, 0)); ;}
3900 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_LONG, 0)); ;}
3905 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_SHORT, 0)); ;}
3910 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_SIGNED, 0)); ;}
3915 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_UNSIGNED, 0)); ;}
3920 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_UNKNOWN, 0)); ;}
3925 { (yyval.ctypes) = makeCTypesNode ((CTypesNode)0, (yyvsp[(1) - (1)].ltok)); ;}
3930 { (yyval.ctypes) = makeCTypesNode ((yyvsp[(1) - (2)].ctypes), (yyvsp[(2) - (2)].ltok)); ;}
3935 { (yyval.ctypes) = makeTypeSpecifier ((yyvsp[(1) - (1)].ltok)); ;}
3940 { (yyval.ctypes) = (yyvsp[(1) - (1)].ctypes); (yyval.ctypes)->sort = sort_lookupName (lclctype_toSort ((yyvsp[(1) - (1)].ctypes)->intfield)); ;}
3945 { (yyval.typequal) = qual_createOut (); ;}
3950 { (yyval.typequal) = qual_createUnused (); ;}
3955 { (yyval.typequal) = qual_createSef (); ;}
3960 { (yyval.typequal) = qual_createOnly (); ;}
3965 { (yyval.typequal) = qual_createOwned (); ;}
3970 { (yyval.typequal) = qual_createDependent (); ;}
3975 { (yyval.typequal) = qual_createKeep (); ;}
3980 { (yyval.typequal) = qual_createKept (); ;}
3985 { (yyval.typequal) = qual_createObserver (); ;}
3990 { (yyval.typequal) = qual_createExits (); ;}
3995 { (yyval.typequal) = qual_createMayExit (); ;}
4000 { (yyval.typequal) = qual_createTrueExit (); ;}
4005 { (yyval.typequal) = qual_createFalseExit (); ;}
4010 { (yyval.typequal) = qual_createNeverExit (); ;}
4015 { (yyval.typequal) = qual_createOnly (); ;}
4020 { (yyval.typequal) = qual_createShared (); ;}
4025 { (yyval.typequal) = qual_createUnique (); ;}
4030 { (yyval.typequal) = qual_createChecked (); ;}
4035 { (yyval.typequal) = qual_createUnchecked (); ;}
4040 { (yyval.typequal) = qual_createCheckedStrict (); ;}
4045 { (yyval.typequal) = qual_createTrueNull (); ;}
4050 { (yyval.typequal) = qual_createFalseNull (); ;}
4055 { (yyval.typequal) = qual_createRelNull (); ;}
4060 { (yyval.typequal) = qual_createRelDef (); ;}
4065 { (yyval.typequal) = qual_createRefCounted (); ;}
4070 { (yyval.typequal) = qual_createRefs (); ;}
4075 { (yyval.typequal) = qual_createNewRef (); ;}
4080 { (yyval.typequal) = qual_createKillRef (); ;}
4085 { (yyval.typequal) = qual_createNull (); ;}
4090 { (yyval.typequal) = qual_createNotNull (); ;}
4095 { (yyval.typequal) = qual_createReturned (); ;}
4100 { (yyval.typequal) = qual_createExposed (); ;}
4105 { (yyval.typequal) = qual_createPartial (); ;}
4110 { (yyval.typequal) = qual_createNullTerminated () ; ;}
4115 { (yyval.typequal) = qual_createUndef (); ;}
4120 { (yyval.typequal) = qual_createKilled (); ;}
4125 { (yyval.lcltypespec) = makeLclTypeSpecNodeType ((yyvsp[(1) - (1)].ctypes)); ;}
4130 { (yyval.lcltypespec) = makeLclTypeSpecNodeSU ((yyvsp[(1) - (1)].structorunion)); ;}
4135 { (yyval.lcltypespec) = makeLclTypeSpecNodeEnum ((yyvsp[(1) - (1)].enumspec)); ;}
4140 { (yyval.lcltypespec) = lclTypeSpecNode_addQual ((yyvsp[(2) - (2)].lcltypespec), (yyvsp[(1) - (2)].typequal)); ;}
4145 { (yyval.lcltypespec) = makeLclTypeSpecNodeConj ((yyvsp[(2) - (5)].lcltypespec), (yyvsp[(4) - (5)].lcltypespec)); ;}
4150 { llassert (lclTypeSpecNode_isDefined ((yyvsp[(1) - (2)].lcltypespec)));
4151 (yyvsp[(1) - (2)].lcltypespec)->pointers = (yyvsp[(2) - (2)].pointers); (yyval.lcltypespec) = (yyvsp[(1) - (2)].lcltypespec); ;}
4156 { (yyval.pointers) = pointers_createLt ((yyvsp[(1) - (1)].ltok)); ;}
4161 { (yyval.pointers) = pointers_extend ((yyvsp[(1) - (2)].pointers), pointers_createLt ((yyvsp[(2) - (2)].ltok))); ;}
4166 { (void) checkAndEnterTag (TAG_FWDSTRUCT, ltoken_copy ((yyvsp[(2) - (2)].ltok))); ;}
4171 { (yyval.structorunion) = makestrOrUnionNode ((yyvsp[(1) - (6)].ltok), SU_STRUCT, (yyvsp[(2) - (6)].ltok), (yyvsp[(5) - (6)].structdecls)); ;}
4176 { (void) checkAndEnterTag (TAG_FWDUNION, ltoken_copy ((yyvsp[(2) - (2)].ltok))); ;}
4181 { (yyval.structorunion) = makestrOrUnionNode ((yyvsp[(1) - (6)].ltok), SU_UNION, (yyvsp[(2) - (6)].ltok), (yyvsp[(5) - (6)].structdecls)); ;}
4186 { (yyval.structorunion) = makeForwardstrOrUnionNode ((yyvsp[(1) - (2)].ltok), SU_STRUCT, (yyvsp[(2) - (2)].ltok)); ;}
4191 { (yyval.structorunion) = makeForwardstrOrUnionNode ((yyvsp[(1) - (2)].ltok), SU_UNION, (yyvsp[(2) - (2)].ltok)); ;}
4196 { (yyval.ltok) = ltoken_undefined; ;}
4201 { (yyval.structdecls) = stDeclNodeList_add (stDeclNodeList_new (), (yyvsp[(1) - (1)].structdecl)); ;}
4206 { (yyval.structdecls) = stDeclNodeList_add ((yyvsp[(1) - (2)].structdecls), (yyvsp[(2) - (2)].structdecl)); ;}
4211 { (yyval.structdecl) = makestDeclNode ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].declarelist)); ;}
4216 { (yyval.declarelist) = declaratorNodeList_add (declaratorNodeList_new (), (yyvsp[(1) - (1)].declare)); ;}
4221 { (yyval.declarelist) = declaratorNodeList_add ((yyvsp[(1) - (3)].declarelist), (yyvsp[(3) - (3)].declare)); ;}
4236 { (yyval.enumspec) = makeEnumSpecNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(2) - (6)].ltok), (yyvsp[(4) - (6)].ltokenList)); ;}
4241 { (yyval.enumspec) = makeEnumSpecNode2 ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].ltok)); ;}
4246 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
4251 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;}
4256 { (yyval.declare) = makeDeclaratorNode ((yyvsp[(1) - (1)].typeexpr)); ;}
4261 { (yyval.declare) = makeDeclaratorNode ((yyvsp[(1) - (1)].typeexpr)); ;}
4266 { (yyval.typeexpr) = makeTypeExpr ((yyvsp[(1) - (1)].ltok)); ;}
4271 { (yyval.typeexpr) = (yyvsp[(2) - (3)].typeexpr); (yyval.typeexpr)->wrapped = (yyval.typeexpr)->wrapped + 1; ;}
4276 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;}
4281 { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;}
4286 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;}
4291 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;}
4296 { (yyval.typeexpr) = makeTypeExpr ((yyvsp[(1) - (1)].ltok)); ;}
4301 { (yyval.typeexpr) = (yyvsp[(2) - (3)].typeexpr); (yyval.typeexpr)->wrapped = (yyval.typeexpr)->wrapped + 1; ;}
4306 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;}
4311 { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;}
4316 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;}
4321 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;}
4326 { (yyval.typeexpr) = makeTypeExpr ((yyvsp[(1) - (1)].ltok)); ;}
4331 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;}
4336 { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;}
4341 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;}
4346 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;}
4351 { (yyval.param) = makeParamNode ((yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].typeexpr)); ;}
4356 { (yyval.param) = makeParamNode ((yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].typeexpr)); ;}
4361 { (yyval.param) = makeParamNode ((yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].abstDecl)); ;}
4366 { (yyval.typname) = makeTypeNameNode (FALSE, (yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].abstDecl)); ;}
4371 { (yyval.typname) = makeTypeNameNode (TRUE, (yyvsp[(2) - (3)].lcltypespec), (yyvsp[(3) - (3)].abstDecl)); ;}
4376 { (yyval.typname) = makeTypeNameNodeOp ((yyvsp[(1) - (1)].opform)); ;}
4381 { (yyval.abstDecl) = (abstDeclaratorNode)0; ;}
4386 { (yyval.abstDecl) = (abstDeclaratorNode)(yyvsp[(1) - (1)].typeexpr); ;}
4391 { (yyval.typeexpr) = (yyvsp[(2) - (3)].typeexpr); (yyval.typeexpr)->wrapped = (yyval.typeexpr)->wrapped + 1; ;}
4396 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;}
4401 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (1)].ltok), (typeExpr)0); ;}
4406 { (yyval.typeexpr) = makeArrayNode ((typeExpr)0, (yyvsp[(1) - (1)].array)); ;}
4411 { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;}
4416 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;}
4421 { (yyval.typeexpr) = makeFunctionNode ((typeExpr)0, (yyvsp[(2) - (3)].paramlist)); ;}
4426 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;}
4431 { (yyval.array) = makeArrayQualNode ((yyvsp[(1) - (2)].ltok), (termNode)0); ;}
4436 { (yyval.array) = makeArrayQualNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].term)); ;}
4441 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (6)].ltok), OPF_IF, opFormUnion_createMiddle (0), ltoken_undefined); ;}
4446 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (1)].ltok), OPF_ANYOP, opFormUnion_createAnyOp ((yyvsp[(1) - (1)].ltok)), ltoken_undefined); ;}
4451 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_MANYOP, opFormUnion_createAnyOp ((yyvsp[(2) - (2)].ltok)), ltoken_undefined); ;}
4456 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_ANYOPM, opFormUnion_createAnyOp ((yyvsp[(1) - (2)].ltok)), ltoken_undefined); ;}
4461 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MANYOPM,
4462 opFormUnion_createAnyOp ((yyvsp[(2) - (3)].ltok)), ltoken_undefined); ;}
4467 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MIDDLE, opFormUnion_createMiddle ((yyvsp[(2) - (3)].count)), (yyvsp[(3) - (3)].ltok)); ;}
4472 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (4)].ltok), OPF_MMIDDLE, opFormUnion_createMiddle ((yyvsp[(3) - (4)].count)), (yyvsp[(4) - (4)].ltok)); ;}
4477 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (4)].ltok), OPF_MIDDLEM, opFormUnion_createMiddle ((yyvsp[(2) - (4)].count)), (yyvsp[(3) - (4)].ltok)); ;}
4482 { (yyval.opform) = makeOpFormNode ((yyvsp[(2) - (5)].ltok), OPF_MMIDDLEM, opFormUnion_createMiddle ((yyvsp[(3) - (5)].count)), (yyvsp[(4) - (5)].ltok)); ;}
4487 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_BMIDDLE, opFormUnion_createMiddle ((yyvsp[(2) - (3)].count)), (yyvsp[(3) - (3)].ltok)); ;}
4492 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (4)].ltok), OPF_BMIDDLEM, opFormUnion_createMiddle ((yyvsp[(2) - (4)].count)), (yyvsp[(3) - (4)].ltok)); ;}
4497 { (yyval.opform) = makeOpFormNode ((yyvsp[(2) - (4)].ltok), OPF_BMMIDDLE, opFormUnion_createMiddle ((yyvsp[(3) - (4)].count)), (yyvsp[(4) - (4)].ltok)); ;}
4502 { (yyval.opform) = makeOpFormNode ((yyvsp[(2) - (5)].ltok), OPF_BMMIDDLEM, opFormUnion_createMiddle ((yyvsp[(3) - (5)].count)), (yyvsp[(4) - (5)].ltok)); ;}
4507 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_SELECT,
4508 opFormUnion_createAnyOp ((yyvsp[(2) - (2)].ltok)), ltoken_undefined); ;}
4513 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_MAP,
4514 opFormUnion_createAnyOp ((yyvsp[(2) - (2)].ltok)), ltoken_undefined); ;}
4519 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MSELECT,
4520 opFormUnion_createAnyOp ((yyvsp[(3) - (3)].ltok)), ltoken_undefined); ;}
4525 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MMAP,
4526 opFormUnion_createAnyOp ((yyvsp[(3) - (3)].ltok)), ltoken_undefined); ;}
4531 { (yyval.count) = 0; ;}
4536 { (yyval.count) = 1; ;}
4541 { (yyval.count) = (yyvsp[(1) - (3)].count) + 1; ;}
4546 { (yyval.signature) = makesigNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltokenList), (yyvsp[(4) - (4)].ltok)); ;}
4551 { (yyval.ltokenList) = ltokenList_new (); ;}
4556 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
4561 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;}
4566 { (yyval.lclpredicate) = makeLclPredicateNode (ltoken_undefined, (yyvsp[(1) - (1)].term), LPD_PLAIN);;}
4571 { (yyval.term) = checkSort ((yyvsp[(1) - (1)].term)); ;}
4576 { (yyval.term) = makeIfTermNode ((yyvsp[(1) - (6)].ltok),(yyvsp[(2) - (6)].term),(yyvsp[(3) - (6)].ltok),(yyvsp[(4) - (6)].term),(yyvsp[(5) - (6)].ltok),(yyvsp[(6) - (6)].term)); ;}
4581 { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term)); ;}
4586 { checkLclPredicate ((yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].lclpredicate)); (yyval.term) = makeQuantifiedTermNode ((yyvsp[(1) - (4)].quantifiers), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].lclpredicate)->predicate, (yyvsp[(4) - (4)].ltok));
4587 symtable_exitScope (g_symtab);
4593 { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term));;}
4598 { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term));;}
4603 { (yyval.term) = makePostfixTermNode ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].ltokenList)); ;}
4608 { (yyval.term) = CollapseInfixTermNode ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].termlist)); ;}
4613 { (yyval.term) = makePrefixTermNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].term)); ;}
4618 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
4623 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (2)].ltokenList), (yyvsp[(2) - (2)].ltok)); ;}
4628 { (yyval.termlist) = pushInfixOpPartNode (termNodeList_new (), (yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].term)); ;}
4633 { (yyval.termlist) = pushInfixOpPartNode ((yyvsp[(1) - (3)].termlist), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term)); ;}
4638 { (yyval.term) = computePossibleSorts ((yyvsp[(1) - (1)].term)); ;}
4643 { (yyval.term) = updateMatchedNode ((termNode)0, (yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].term)); ;}
4648 { (yyval.term) = updateMatchedNode ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].term), (termNode)0); ;}
4653 { (yyval.term) = updateMatchedNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].term), (yyvsp[(3) - (3)].term)); ;}
4658 { (yyval.term) = computePossibleSorts ((yyvsp[(1) - (1)].term)); ;}
4663 { (yyval.term) = updateSqBracketedNode ((termNode)0, (yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].term)); ;}
4668 { (yyval.term) = (yyvsp[(1) - (3)].term); (yyval.term)->sort = sort_lookupName (ltoken_getText ((yyvsp[(3) - (3)].ltok))); ;}
4673 { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (5)].ltok), (yyvsp[(2) - (5)].termlist), (yyvsp[(3) - (5)].ltok));
4674 (yyval.term)->given = sort_lookupName (ltoken_getText ((yyvsp[(5) - (5)].ltok))); ;}
4679 { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].termlist), (yyvsp[(3) - (3)].ltok)); ;}
4684 { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (4)].ltok), termNodeList_new (), (yyvsp[(2) - (4)].ltok));
4685 (yyval.term)->given = sort_lookupName (ltoken_getText ((yyvsp[(4) - (4)].ltok)));
4691 { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (2)].ltok), termNodeList_new (), (yyvsp[(2) - (2)].ltok)); ;}
4696 { (yyval.term) = makeMatchedNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].termlist), (yyvsp[(3) - (3)].ltok)); ;}
4701 { (yyval.term) = makeMatchedNode ((yyvsp[(1) - (2)].ltok), termNodeList_new (), (yyvsp[(2) - (2)].ltok)); ;}
4706 { (yyval.termlist) = termNodeList_push (termNodeList_new (), (yyvsp[(1) - (1)].term)); ;}
4711 { (yyval.termlist) = termNodeList_push ((yyvsp[(1) - (3)].termlist), (yyvsp[(3) - (3)].term)); ;}
4716 { (yyval.term) = (yyvsp[(2) - (3)].term); (yyval.term)->wrapped = (yyval.term)->wrapped + 1; ;}
4721 { (yyval.term) = makeSimpleTermNode ((yyvsp[(1) - (1)].ltok)); ;}
4726 { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)); ;}
4731 { (yyval.term) = makePostfixTermNode2 ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].ltok)); ;}
4736 { ltoken_markOwned ((yyvsp[(3) - (3)].ltok)); (yyval.term) = makeSelectTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].ltok)); ;}
4741 { ltoken_markOwned ((yyvsp[(3) - (3)].ltok)); (yyval.term) = makeMapTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].ltok)); ;}
4746 { (yyval.term) = updateSqBracketedNode ((yyvsp[(1) - (3)].term), makeSqBracketedNode ((yyvsp[(2) - (3)].ltok), termNodeList_new (), (yyvsp[(3) - (3)].ltok)),
4752 { (yyval.term) = updateSqBracketedNode ((yyvsp[(1) - (4)].term), makeSqBracketedNode ((yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)), (termNode)0); ;}
4757 { (yyval.term) = (yyvsp[(1) - (3)].term); (yyval.term)->given = sort_lookupName (ltoken_getText ((yyvsp[(3) - (3)].ltok))); ;}
4762 { (yyval.termlist) = termNodeList_push (termNodeList_new (), (yyvsp[(1) - (1)].term)); ;}
4767 { (yyval.termlist) = termNodeList_push ((yyvsp[(1) - (3)].termlist), (yyvsp[(3) - (3)].term)); ;}
4772 { (yyval.term) = makeSimpleTermNode ((yyvsp[(1) - (1)].ltok)); ;}
4777 { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)); ;}
4782 { (yyval.term) = makeUnchangedTermNode1 ((yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].ltok)); ;}
4787 { (yyval.term) = makeUnchangedTermNode2 ((yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].storereflist)); ;}
4792 { termNodeList x = termNodeList_new ();
4793 termNodeList_addh (x, (yyvsp[(3) - (4)].term));
4794 (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), x, (yyvsp[(4) - (4)].ltok));
4800 { termNodeList x = termNodeList_new ();
4801 termNodeList_addh (x, (yyvsp[(3) - (6)].term));
4802 termNodeList_addh (x, (yyvsp[(5) - (6)].term));
4803 (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(2) - (6)].ltok), x, (yyvsp[(6) - (6)].ltok));
4809 { (yyval.term) = makeSizeofTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].lcltypespec)); ;}
4814 { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortInt); ;}
4819 { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortCstring); ;}
4824 { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortChar); ;}
4829 { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortDouble); ;}
4834 { (yyval.quantifiers) = quantifierNodeList_add (quantifierNodeList_new (), (yyvsp[(1) - (1)].quantifier)); ;}
4839 { (yyval.quantifiers) = quantifierNodeList_add ((yyvsp[(1) - (2)].quantifiers), (yyvsp[(2) - (2)].quantifier)); ;}
4844 { scopeInfo si = (scopeInfo) dmalloc (sizeof (*si));
4845 si->kind = SPE_QUANT;
4846 symtable_enterScope (g_symtab, si); ;}
4851 { (yyval.quantifier) = makeQuantifierNode ((yyvsp[(3) - (3)].vars), (yyvsp[(1) - (3)].ltok)); ;}
4856 { (yyval.vars) = varNodeList_add (varNodeList_new (), (yyvsp[(1) - (1)].var)); ;}
4861 { (yyval.vars) = varNodeList_add ((yyvsp[(1) - (3)].vars), (yyvsp[(3) - (3)].var)); ;}
4866 { (yyval.var) = makeVarNode ((yyvsp[(1) - (3)].ltok), FALSE, (yyvsp[(3) - (3)].lcltypespec)); ;}
4871 { (yyval.var) = makeVarNode ((yyvsp[(1) - (4)].ltok), TRUE, (yyvsp[(4) - (4)].lcltypespec)); ;}
4875 /* Line 1267 of yacc.c. */
4879 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
4883 YY_STACK_PRINT (yyss, yyssp);
4888 /* Now `shift' the result of the reduction. Determine what state
4889 that goes to, based on the state we popped back to and the rule
4890 number reduced by. */
4894 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
4895 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
4896 yystate = yytable[yystate];
4898 yystate = yydefgoto[yyn - YYNTOKENS];
4903 /*------------------------------------.
4904 | yyerrlab -- here on detecting error |
4905 `------------------------------------*/
4907 /* If not already recovering from an error, report this error. */
4911 #if ! YYERROR_VERBOSE
4912 yyerror (YY_("syntax error"));
4915 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
4916 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
4918 YYSIZE_T yyalloc = 2 * yysize;
4919 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
4920 yyalloc = YYSTACK_ALLOC_MAXIMUM;
4921 if (yymsg != yymsgbuf)
4922 YYSTACK_FREE (yymsg);
4923 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
4925 yymsg_alloc = yyalloc;
4929 yymsg_alloc = sizeof yymsgbuf;
4933 if (0 < yysize && yysize <= yymsg_alloc)
4935 (void) yysyntax_error (yymsg, yystate, yychar);
4940 yyerror (YY_("syntax error"));
4942 goto yyexhaustedlab;
4950 if (yyerrstatus == 3)
4952 /* If just tried and failed to reuse look-ahead token after an
4953 error, discard it. */
4955 if (yychar <= YYEOF)
4957 /* Return failure if at end of input. */
4958 if (yychar == YYEOF)
4963 yydestruct ("Error: discarding",
4969 /* Else will try to reuse look-ahead token after shifting the error
4974 /*---------------------------------------------------.
4975 | yyerrorlab -- error raised explicitly by YYERROR. |
4976 `---------------------------------------------------*/
4979 /* Pacify compilers like GCC when the user code never invokes
4980 YYERROR and the label yyerrorlab therefore never appears in user
4982 if (/*CONSTCOND*/ 0)
4985 /* Do not reclaim the symbols of the rule which action triggered
4989 YY_STACK_PRINT (yyss, yyssp);
4994 /*-------------------------------------------------------------.
4995 | yyerrlab1 -- common code for both syntax error and YYERROR. |
4996 `-------------------------------------------------------------*/
4998 yyerrstatus = 3; /* Each real token shifted decrements this. */
5002 yyn = yypact[yystate];
5003 if (yyn != YYPACT_NINF)
5006 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
5014 /* Pop the current state because it cannot handle the error token. */
5019 yydestruct ("Error: popping",
5020 yystos[yystate], yyvsp);
5023 YY_STACK_PRINT (yyss, yyssp);
5032 /* Shift the error token. */
5033 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5039 /*-------------------------------------.
5040 | yyacceptlab -- YYACCEPT comes here. |
5041 `-------------------------------------*/
5046 /*-----------------------------------.
5047 | yyabortlab -- YYABORT comes here. |
5048 `-----------------------------------*/
5054 /*-------------------------------------------------.
5055 | yyexhaustedlab -- memory exhaustion comes here. |
5056 `-------------------------------------------------*/
5058 yyerror (YY_("memory exhausted"));
5064 if (yychar != YYEOF && yychar != YYEMPTY)
5065 yydestruct ("Cleanup: discarding lookahead",
5067 /* Do not reclaim the symbols of the rule which action triggered
5068 this YYABORT or YYACCEPT. */
5070 YY_STACK_PRINT (yyss, yyssp);
5071 while (yyssp != yyss)
5073 yydestruct ("Cleanup: popping",
5074 yystos[*yyssp], yyvsp);
5079 YYSTACK_FREE (yyss);
5082 if (yymsg != yymsgbuf)
5083 YYSTACK_FREE (yymsg);
5085 /* Make sure YYID is used. */
5086 return YYID (yyresult);
5093 # include "bison.reset"
5096 ** yytext is set in lex scanner
5097 ** extern YYSTYPE yylval;
5098 ** yylval is defined by code generated by bison
5101 void ylerror (char *s)
5104 ** This resetting of the left context is very important when multiple
5105 ** files are to be parsed. We do not want failures to propagate.
5106 ** Lex/Yacc does not reset the flags when the parsing goes bad.
5111 lclfatalerror (yllval.ltok,
5112 message ("%s: Token code: %s, Token String: %s",
5113 cstring_fromChars (s),
5114 ltoken_unparseCodeName (yllval.ltok),
5115 ltoken_getRawString (yllval.ltok)));
5119 static void yyprint (FILE *f, int t, YYSTYPE value)
5121 fprintf (f, " type: %d (%s)", t,
5122 cstring_toCharsSafe (ltoken_getRawString (value.ltok)));
5133 ** Resets all flags in bison.head
5155 /*@=evalorderuncon@*/
5164 /*@=elseifcomplete@*/
5168 /*@=readonlytrans@*/
5171 /*@=systemunrecog@*/
5172 /*@=dependenttrans@*/
5173 /*@=unqualifiedtrans@*/
5177 /*drl added 11/27/2001*/
5180 /*drl added 12/11/2002*/