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*/
55 /* < end of bison.head > */
57 /* A Bison parser, made by GNU Bison 2.3. */
59 /* Skeleton implementation for Bison's Yacc-like parsers in C
61 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
62 Free Software Foundation, Inc.
64 This program is free software; you can redistribute it and/or modify
65 it under the terms of the GNU General Public License as published by
66 the Free Software Foundation; either version 2, or (at your option)
69 This program is distributed in the hope that it will be useful,
70 but WITHOUT ANY WARRANTY; without even the implied warranty of
71 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
72 GNU General Public License for more details.
74 You should have received a copy of the GNU General Public License
75 along with this program; if not, write to the Free Software
76 Foundation, Inc., 51 Franklin Street, Fifth Floor,
77 Boston, MA 02110-1301, USA. */
79 /* As a special exception, you may create a larger work that contains
80 part or all of the Bison parser skeleton and distribute that work
81 under terms of your choice, so long as that work isn't itself a
82 parser generator using the skeleton or a modified version thereof
83 as a parser skeleton. Alternatively, if you modify or redistribute
84 the parser skeleton itself, you may (at your option) remove this
85 special exception, which will cause the skeleton and the resulting
86 Bison output files to be licensed under the GNU General Public
87 License without this special exception.
89 This special exception was added by the Free Software Foundation in
90 version 2.2 of Bison. */
92 /* C LALR(1) parser skeleton written by Richard Stallman, by
93 simplifying the original so-called "semantic" parser. */
95 /* All symbols defined below should begin with yy or YY, to avoid
96 infringing on user name space. This should be done even for local
97 variables, as they might otherwise be expanded by user macros.
98 There are some unavoidable exceptions within include files to
99 define necessary library symbols; they are noted "INFRINGES ON
100 USER NAME SPACE" below. */
102 /* Identify Bison output. */
106 #define YYBISON_VERSION "2.3"
109 #define YYSKELETON_NAME "yacc.c"
114 /* Using locations. */
115 #define YYLSP_NEEDED 0
117 /* Substitute the variable and function names. */
118 #define yyparse ylparse
120 #define yyerror ylerror
121 #define yylval yllval
122 #define yychar ylchar
123 #define yydebug yldebug
124 #define yynerrs ylnerrs
130 /* Put the tokens into the symbol table, so that GDB and other debuggers
138 LLT_VERTICALBAR = 263,
143 LLT_IF_THEN_ELSE = 268,
148 LLT_WHITESPACE = 273,
150 LLT_TYPEDEF_NAME = 275,
188 LLT_CONSTRAINT = 313,
219 LLT_CHECKEDSTRICT = 344,
227 LLT_REFCOUNTED = 352,
232 LLT_NULLTERMINATED = 357,
240 LLT_TAGGEDUNION = 365,
264 LLT_PRINTFLIKE = 389,
266 LLT_MESSAGELIKE = 391
271 #define PREFIX_OP 259
272 #define POSTFIX_OP 260
273 #define LLT_MULOP 261
275 #define LLT_VERTICALBAR 263
276 #define ITERATION_OP 264
277 #define selectSym 265
278 #define LLT_LBRACKET 266
280 #define LLT_IF_THEN_ELSE 268
281 #define logicalOp 269
283 #define equationSym 271
284 #define commentSym 272
285 #define LLT_WHITESPACE 273
287 #define LLT_TYPEDEF_NAME 275
288 #define quantifierSym 276
294 #define markerSym 282
298 #define LLT_COLON 286
299 #define LLT_COMMA 287
300 #define LLT_EQUALS 288
301 #define LLT_LBRACE 289
302 #define LLT_RBRACE 290
303 #define LLT_RBRACKET 291
305 #define LLT_QUOTE 293
307 #define LLT_CCHAR 295
308 #define LLT_CFLOAT 296
309 #define LLT_CINTEGER 297
310 #define LLT_LCSTRING 298
312 #define LLT_ANYTHING 300
315 #define LLT_CLAIMS 303
316 #define LLT_CHECKS 304
317 #define LLT_CONSTANT 305
319 #define LLT_ENSURES 307
321 #define LLT_FRESH 309
323 #define LLT_IMMUTABLE 311
324 #define LLT_IMPORTS 312
325 #define LLT_CONSTRAINT 313
326 #define LLT_ISSUB 314
328 #define LLT_MODIFIES 316
329 #define LLT_MUTABLE 317
330 #define LLT_NOTHING 318
331 #define LLT_INTERNAL 319
332 #define LLT_FILESYS 320
337 #define LLT_PARTIAL 325
338 #define LLT_OWNED 326
339 #define LLT_DEPENDENT 327
343 #define LLT_SHARED 331
344 #define LLT_UNIQUE 332
345 #define LLT_UNUSED 333
346 #define LLT_EXITS 334
347 #define LLT_MAYEXIT 335
348 #define LLT_NEVEREXIT 336
349 #define LLT_TRUEEXIT 337
350 #define LLT_FALSEEXIT 338
351 #define LLT_UNDEF 339
352 #define LLT_KILLED 340
353 #define LLT_CHECKMOD 341
354 #define LLT_CHECKED 342
355 #define LLT_UNCHECKED 343
356 #define LLT_CHECKEDSTRICT 344
357 #define LLT_TRUENULL 345
358 #define LLT_FALSENULL 346
359 #define LLT_LNULL 347
360 #define LLT_LNOTNULL 348
361 #define LLT_RETURNED 349
362 #define LLT_OBSERVER 350
363 #define LLT_EXPOSED 351
364 #define LLT_REFCOUNTED 352
366 #define LLT_RELNULL 354
367 #define LLT_RELDEF 355
368 #define LLT_KILLREF 356
369 #define LLT_NULLTERMINATED 357
370 #define LLT_TEMPREF 358
371 #define LLT_NEWREF 359
372 #define LLT_PRIVATE 360
373 #define LLT_REQUIRES 361
374 #define LLT_RESULT 362
375 #define LLT_SIZEOF 363
377 #define LLT_TAGGEDUNION 365
380 #define LLT_TYPEDEF 368
381 #define LLT_UNCHANGED 369
384 #define LLT_CONST 372
385 #define LLT_DOUBLE 373
387 #define LLT_FLOAT 375
390 #define LLT_YIELD 378
392 #define LLT_SHORT 380
393 #define LLT_SIGNED 381
394 #define LLT_UNKNOWN 382
395 #define LLT_STRUCT 383
396 #define LLT_TELIPSIS 384
397 #define LLT_UNION 385
398 #define LLT_UNSIGNED 386
400 #define LLT_VOLATILE 388
401 #define LLT_PRINTFLIKE 389
402 #define LLT_SCANFLIKE 390
403 #define LLT_MESSAGELIKE 391
408 /* Copy the first part of user declarations. */
412 # include "splintMacros.nf"
414 # include "lclscan.h"
415 # include "checking.h"
416 # include "lslparse.h"
418 # include "usymtab_interface.h"
421 static /*@unused@*/ void yyprint ();
425 void ylerror (char *) /*@modifies *g_warningstream@*/ ;
428 bool g_inTypeDef = FALSE;
430 /*@constant int YYDEBUG;@*/
434 # define YYPRINT(file, type, value) yyprint (file, type, value)
437 ** This is necessary, or else when the bison-generated code #include's malloc.h,
438 ** there will be a parse error.
440 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
441 ** in bison-generated files under Win32.
452 /* Enabling traces. */
457 /* Enabling verbose error messages. */
458 #ifdef YYERROR_VERBOSE
459 # undef YYERROR_VERBOSE
460 # define YYERROR_VERBOSE 1
462 # define YYERROR_VERBOSE 0
465 /* Enabling the token table. */
466 #ifndef YYTOKEN_TABLE
467 # define YYTOKEN_TABLE 0
470 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
471 typedef union YYSTYPE
474 ltoken ltok; /* a leaf is also an ltoken */
477 /*@only@*/ ltokenList ltokenList;
478 /*@only@*/ abstDeclaratorNode abstDecl;
479 /*@only@*/ declaratorNode declare;
480 /*@only@*/ declaratorNodeList declarelist;
481 /*@only@*/ typeExpr typeexpr;
482 /*@only@*/ arrayQualNode array;
483 /*@only@*/ quantifierNode quantifier;
484 /*@only@*/ quantifierNodeList quantifiers;
485 /*@only@*/ varNode var;
486 /*@only@*/ varNodeList vars;
487 /*@only@*/ storeRefNode storeref;
488 /*@only@*/ storeRefNodeList storereflist;
489 /*@only@*/ termNode term;
490 /*@only@*/ termNodeList termlist;
491 /*@only@*/ programNode program;
492 /*@only@*/ stmtNode stmt;
493 /*@only@*/ claimNode claim;
494 /*@only@*/ typeNode type;
495 /*@only@*/ iterNode iter;
496 /*@only@*/ fcnNode fcn;
497 /*@only@*/ fcnNodeList fcns;
498 /*@only@*/ letDeclNode letdecl;
499 /*@only@*/ letDeclNodeList letdecls;
500 /*@only@*/ lclPredicateNode lclpredicate;
501 /*@only@*/ modifyNode modify;
502 /*@only@*/ paramNode param;
503 /*@only@*/ paramNodeList paramlist;
504 /*@only@*/ declaratorInvNodeList declaratorinvs;
505 /*@only@*/ declaratorInvNode declaratorinv;
506 /*@only@*/ abstBodyNode abstbody;
507 /*@only@*/ abstractNode abstract;
508 /*@only@*/ exposedNode exposed;
509 /*@only@*/ pointers pointers;
510 /* taggedUnionNode taggedunion; */
511 /*@only@*/ globalList globals;
512 /*@only@*/ constDeclarationNode constdeclaration;
513 /*@only@*/ varDeclarationNode vardeclaration;
514 /*@only@*/ varDeclarationNodeList vardeclarationlist;
515 /*@only@*/ initDeclNodeList initdecls;
516 /*@only@*/ initDeclNode initdecl;
517 /*@only@*/ stDeclNodeList structdecls;
518 /*@only@*/ stDeclNode structdecl;
519 /*@only@*/ strOrUnionNode structorunion;
520 /*@only@*/ enumSpecNode enumspec;
521 /*@only@*/ lclTypeSpecNode lcltypespec;
522 /*@only@*/ typeNameNode typname;
523 /*@only@*/ opFormNode opform;
524 /*@only@*/ sigNode signature;
525 /*@only@*/ nameNode name;
526 /*@only@*/ typeNameNodeList namelist;
527 /*@only@*/ replaceNode replace;
528 /*@only@*/ replaceNodeList replacelist;
529 /*@only@*/ renamingNode renaming;
530 /*@only@*/ traitRefNode traitref;
531 /*@only@*/ traitRefNodeList traitreflist;
532 /*@only@*/ importNode import;
533 /*@only@*/ importNodeList importlist;
534 /*@only@*/ interfaceNode iface;
535 /*@only@*/ interfaceNodeList interfacelist;
536 /*@only@*/ CTypesNode ctypes;
539 /* Line 193 of yacc.c. */
542 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
543 # define YYSTYPE_IS_DECLARED 1
544 # define YYSTYPE_IS_TRIVIAL 1
549 /* Copy the second part of user declarations. */
552 /* Line 216 of yacc.c. */
560 typedef YYTYPE_UINT8 yytype_uint8;
562 typedef unsigned char yytype_uint8;
566 typedef YYTYPE_INT8 yytype_int8;
567 #elif (defined __STDC__ || defined __C99__FUNC__ \
568 || defined __cplusplus || defined _MSC_VER)
569 typedef signed char yytype_int8;
571 typedef short int yytype_int8;
575 typedef YYTYPE_UINT16 yytype_uint16;
577 typedef unsigned short int yytype_uint16;
581 typedef YYTYPE_INT16 yytype_int16;
583 typedef short int yytype_int16;
587 # ifdef __SIZE_TYPE__
588 # define YYSIZE_T __SIZE_TYPE__
589 # elif defined size_t
590 # define YYSIZE_T size_t
591 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
592 || defined __cplusplus || defined _MSC_VER)
593 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
594 # define YYSIZE_T size_t
596 # define YYSIZE_T unsigned int
600 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
605 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
606 # define YY_(msgid) dgettext ("bison-runtime", msgid)
610 # define YY_(msgid) msgid
614 /* Suppress unused-variable warnings by "using" E. */
615 #if ! defined lint || defined __GNUC__
616 # define YYUSE(e) ((void) (e))
618 # define YYUSE(e) /* empty */
621 /* Identity function, used to suppress warnings about constant conditions. */
625 #if (defined __STDC__ || defined __C99__FUNC__ \
626 || defined __cplusplus || defined _MSC_VER)
639 #if ! defined yyoverflow || YYERROR_VERBOSE
641 /* The parser invokes alloca or malloc; define the necessary symbols. */
643 # ifdef YYSTACK_USE_ALLOCA
644 # if YYSTACK_USE_ALLOCA
646 # define YYSTACK_ALLOC __builtin_alloca
647 # elif defined __BUILTIN_VA_ARG_INCR
648 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
650 # define YYSTACK_ALLOC __alloca
651 # elif defined _MSC_VER
652 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
653 # define alloca _alloca
655 # define YYSTACK_ALLOC alloca
656 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
657 || defined __cplusplus || defined _MSC_VER)
658 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
667 # ifdef YYSTACK_ALLOC
668 /* Pacify GCC's `empty if-body' warning. */
669 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
670 # ifndef YYSTACK_ALLOC_MAXIMUM
671 /* The OS might guarantee only one guard page at the bottom of the stack,
672 and a page size can be as small as 4096 bytes. So we cannot safely
673 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
674 to allow for a few compiler-allocated temporary stack slots. */
675 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
678 # define YYSTACK_ALLOC YYMALLOC
679 # define YYSTACK_FREE YYFREE
680 # ifndef YYSTACK_ALLOC_MAXIMUM
681 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
683 # if (defined __cplusplus && ! defined _STDLIB_H \
684 && ! ((defined YYMALLOC || defined malloc) \
685 && (defined YYFREE || defined free)))
686 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
692 # define YYMALLOC malloc
693 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
694 || defined __cplusplus || defined _MSC_VER)
695 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
700 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
701 || defined __cplusplus || defined _MSC_VER)
702 void free (void *); /* INFRINGES ON USER NAME SPACE */
706 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
709 #if (! defined yyoverflow \
710 && (! defined __cplusplus \
711 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
713 /* A type that is properly aligned for any stack member. */
720 /* The size of the maximum gap between one aligned stack and the next. */
721 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
723 /* The size of an array large to enough to hold all stacks, each with
725 # define YYSTACK_BYTES(N) \
726 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
727 + YYSTACK_GAP_MAXIMUM)
729 /* Copy COUNT objects from FROM to TO. The source and destination do
732 # if defined __GNUC__ && 1 < __GNUC__
733 # define YYCOPY(To, From, Count) \
734 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
736 # define YYCOPY(To, From, Count) \
740 for (yyi = 0; yyi < (Count); yyi++) \
741 (To)[yyi] = (From)[yyi]; \
747 /* Relocate STACK from its old location to the new one. The
748 local variables YYSIZE and YYSTACKSIZE give the old and new number of
749 elements in the stack, and YYPTR gives the new location of the
750 stack. Advance YYPTR to a properly aligned location for the next
752 # define YYSTACK_RELOCATE(Stack) \
755 YYSIZE_T yynewbytes; \
756 YYCOPY (&yyptr->Stack, Stack, yysize); \
757 Stack = &yyptr->Stack; \
758 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
759 yyptr += yynewbytes / sizeof (*yyptr); \
765 /* YYFINAL -- State number of the termination state. */
767 /* YYLAST -- Last index in YYTABLE. */
770 /* YYNTOKENS -- Number of terminals. */
771 #define YYNTOKENS 137
772 /* YYNNTS -- Number of nonterminals. */
774 /* YYNRULES -- Number of rules. */
776 /* YYNRULES -- Number of states. */
777 #define YYNSTATES 684
779 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
781 #define YYMAXUTOK 391
783 #define YYTRANSLATE(YYX) \
784 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
786 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
787 static const yytype_uint8 yytranslate[] =
789 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
790 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
791 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
792 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
793 2, 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, 1, 2, 3, 4,
815 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
816 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
817 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
818 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
819 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
820 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
821 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
822 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
823 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
824 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
825 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
826 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
827 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
832 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
834 static const yytype_uint16 yyprhs[] =
836 0, 0, 3, 4, 8, 9, 12, 14, 16, 17,
837 20, 23, 24, 27, 29, 31, 33, 37, 41, 43,
838 45, 47, 49, 51, 53, 60, 61, 63, 65, 69,
839 72, 74, 75, 79, 81, 83, 85, 87, 92, 96,
840 101, 106, 108, 110, 112, 114, 116, 117, 131, 132,
841 147, 148, 162, 167, 168, 169, 176, 177, 178, 186,
842 187, 188, 196, 197, 198, 205, 206, 207, 214, 217,
843 220, 222, 226, 228, 232, 234, 236, 240, 242, 244,
844 248, 250, 255, 259, 266, 268, 272, 274, 276, 280,
845 282, 286, 288, 292, 296, 300, 305, 307, 309, 311,
846 313, 315, 319, 321, 325, 326, 329, 333, 336, 339,
847 340, 343, 348, 349, 353, 355, 359, 365, 369, 371,
848 372, 376, 377, 381, 382, 386, 390, 394, 396, 400,
849 402, 404, 407, 409, 411, 412, 416, 417, 421, 422,
850 424, 426, 428, 432, 434, 438, 439, 444, 450, 452,
851 456, 459, 463, 467, 472, 476, 482, 489, 491, 495,
852 497, 499, 502, 505, 509, 513, 517, 522, 524, 528,
853 533, 537, 538, 541, 542, 544, 545, 552, 554, 558,
854 559, 563, 564, 568, 570, 572, 574, 576, 578, 580,
855 582, 584, 586, 588, 590, 593, 595, 597, 599, 601,
856 603, 605, 607, 609, 611, 613, 615, 617, 619, 621,
857 623, 625, 627, 629, 631, 633, 635, 637, 639, 641,
858 643, 645, 647, 649, 651, 653, 655, 657, 659, 661,
859 663, 665, 667, 669, 671, 673, 675, 678, 684, 686,
860 689, 691, 694, 695, 702, 703, 710, 713, 716, 717,
861 719, 721, 724, 728, 730, 734, 735, 737, 744, 747,
862 749, 753, 755, 757, 759, 763, 766, 769, 773, 778,
863 780, 784, 787, 790, 794, 799, 801, 804, 807, 811,
864 816, 819, 822, 825, 828, 832, 834, 835, 837, 841,
865 844, 846, 848, 851, 855, 859, 864, 867, 871, 878,
866 880, 883, 886, 890, 894, 899, 904, 910, 914, 919,
867 924, 930, 933, 936, 940, 944, 946, 948, 950, 952,
868 954, 956, 958, 959, 961, 963, 967, 969, 971, 976,
869 977, 979, 981, 985, 987, 989, 996, 998, 1002, 1004,
870 1009, 1013, 1017, 1019, 1022, 1025, 1027, 1029, 1031, 1034,
871 1036, 1039, 1042, 1046, 1048, 1050, 1053, 1056, 1060, 1062,
872 1065, 1069, 1071, 1077, 1081, 1086, 1089, 1093, 1096, 1098,
873 1102, 1106, 1108, 1113, 1115, 1118, 1122, 1126, 1130, 1135,
874 1139, 1141, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1162,
875 1167, 1172, 1177, 1184, 1189, 1191, 1193, 1195, 1197, 1199,
876 1202, 1203, 1207, 1209, 1213, 1217, 1222, 1224, 1226, 1228,
877 1230, 1232, 1234, 1236, 1238
880 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
881 static const yytype_int16 yyrhs[] =
883 138, 0, -1, -1, 140, 139, 142, -1, -1, 140,
884 141, -1, 145, -1, 146, -1, -1, 147, 143, -1,
885 152, 143, -1, -1, 143, 144, -1, 147, -1, 152,
886 -1, 146, -1, 57, 176, 7, -1, 115, 180, 7,
887 -1, 155, -1, 156, -1, 157, -1, 159, -1, 162,
888 -1, 148, -1, 122, 286, 12, 149, 37, 7, -1,
889 -1, 150, -1, 151, -1, 150, 32, 151, -1, 123,
890 245, -1, 245, -1, -1, 109, 153, 154, -1, 155,
891 -1, 156, -1, 157, -1, 159, -1, 50, 228, 190,
892 7, -1, 228, 190, 7, -1, 117, 228, 190, 7,
893 -1, 133, 228, 190, 7, -1, 164, -1, 173, -1,
894 134, -1, 135, -1, 136, -1, -1, 228, 241, 192,
895 160, 34, 194, 196, 200, 201, 202, 205, 206, 35,
896 -1, -1, 158, 228, 241, 192, 161, 34, 194, 196,
897 200, 201, 202, 205, 206, 35, -1, -1, 48, 288,
898 12, 207, 37, 192, 163, 34, 196, 201, 210, 205,
899 35, -1, 48, 285, 288, 7, -1, -1, -1, 62,
900 165, 112, 20, 166, 215, -1, -1, -1, 62, 167,
901 97, 112, 20, 168, 215, -1, -1, -1, 97, 62,
902 169, 112, 20, 170, 215, -1, -1, -1, 56, 171,
903 112, 20, 172, 215, -1, -1, -1, 113, 228, 174,
904 220, 175, 7, -1, 231, 7, -1, 239, 7, -1,
905 177, -1, 176, 32, 177, -1, 179, -1, 3, 179,
906 3, -1, 43, -1, 179, -1, 178, 32, 179, -1,
907 284, -1, 181, -1, 180, 32, 181, -1, 290, -1,
908 290, 12, 183, 37, -1, 12, 182, 37, -1, 12,
909 182, 37, 12, 183, 37, -1, 290, -1, 182, 32,
910 290, -1, 185, -1, 184, -1, 184, 32, 185, -1,
911 246, -1, 184, 32, 246, -1, 186, -1, 185, 32,
912 186, -1, 246, 53, 224, -1, 246, 53, 187, -1,
913 246, 53, 187, 257, -1, 291, -1, 250, -1, 189,
914 -1, 261, -1, 191, -1, 190, 32, 191, -1, 241,
915 -1, 241, 33, 188, -1, -1, 192, 193, -1, 228,
916 190, 7, -1, 64, 7, -1, 65, 7, -1, -1,
917 194, 195, -1, 105, 228, 190, 7, -1, -1, 60,
918 197, 7, -1, 198, -1, 197, 32, 198, -1, 286,
919 31, 199, 46, 261, -1, 286, 46, 261, -1, 228,
920 -1, -1, 49, 260, 7, -1, -1, 106, 260, 7,
921 -1, -1, 61, 63, 7, -1, 61, 45, 7, -1,
922 61, 203, 7, -1, 204, -1, 203, 32, 204, -1,
923 261, -1, 229, -1, 66, 229, -1, 64, -1, 65,
924 -1, -1, 52, 260, 7, -1, -1, 48, 260, 7,
925 -1, -1, 208, -1, 209, -1, 129, -1, 209, 32,
926 129, -1, 245, -1, 209, 32, 245, -1, -1, 47,
927 34, 211, 35, -1, 47, 34, 211, 7, 35, -1,
928 212, -1, 12, 211, 37, -1, 211, 6, -1, 211,
929 8, 211, -1, 211, 7, 211, -1, 285, 12, 213,
930 37, -1, 285, 12, 37, -1, 286, 33, 285, 12,
931 37, -1, 286, 33, 285, 12, 213, 37, -1, 214,
932 -1, 213, 32, 214, -1, 278, -1, 286, -1, 3,
933 214, -1, 214, 3, -1, 214, 3, 214, -1, 12,
934 214, 37, -1, 285, 12, 37, -1, 285, 12, 213,
935 37, -1, 7, -1, 34, 216, 35, -1, 34, 178,
936 35, 7, -1, 34, 35, 7, -1, -1, 216, 159,
937 -1, -1, 218, -1, -1, 58, 219, 280, 12, 260,
938 37, -1, 221, -1, 220, 32, 221, -1, -1, 241,
939 222, 223, -1, -1, 34, 217, 35, -1, 132, -1,
940 116, -1, 118, -1, 120, -1, 121, -1, 124, -1,
941 125, -1, 126, -1, 131, -1, 127, -1, 224, -1,
942 225, 224, -1, 20, -1, 225, -1, 67, -1, 78,
943 -1, 68, -1, 69, -1, 71, -1, 72, -1, 73,
944 -1, 74, -1, 95, -1, 79, -1, 80, -1, 82,
945 -1, 83, -1, 81, -1, 75, -1, 76, -1, 77,
946 -1, 87, -1, 88, -1, 89, -1, 90, -1, 91,
947 -1, 99, -1, 100, -1, 97, -1, 98, -1, 104,
948 -1, 101, -1, 92, -1, 93, -1, 94, -1, 96,
949 -1, 70, -1, 102, -1, 84, -1, 85, -1, 226,
950 -1, 231, -1, 239, -1, 227, 228, -1, 8, 229,
951 31, 229, 8, -1, 228, -1, 228, 230, -1, 6,
952 -1, 230, 6, -1, -1, 128, 234, 232, 34, 235,
953 35, -1, -1, 130, 234, 233, 34, 235, 35, -1,
954 128, 287, -1, 130, 287, -1, -1, 287, -1, 236,
955 -1, 235, 236, -1, 228, 237, 7, -1, 241, -1,
956 237, 32, 241, -1, -1, 32, -1, 119, 234, 34,
957 240, 238, 35, -1, 119, 287, -1, 25, -1, 240,
958 32, 25, -1, 243, -1, 242, -1, 286, -1, 12,
959 242, 37, -1, 6, 242, -1, 242, 249, -1, 242,
960 12, 37, -1, 242, 12, 208, 37, -1, 20, -1,
961 12, 243, 37, -1, 6, 243, -1, 243, 249, -1,
962 243, 12, 37, -1, 243, 12, 208, 37, -1, 20,
963 -1, 6, 244, -1, 244, 249, -1, 244, 12, 37,
964 -1, 244, 12, 208, 37, -1, 228, 244, -1, 228,
965 242, -1, 228, 247, -1, 228, 247, -1, 66, 228,
966 247, -1, 250, -1, -1, 248, -1, 12, 248, 37,
967 -1, 6, 248, -1, 6, -1, 249, -1, 248, 249,
968 -1, 248, 12, 37, -1, 12, 208, 37, -1, 248,
969 12, 208, 37, -1, 11, 36, -1, 11, 189, 36,
970 -1, 55, 27, 111, 27, 51, 27, -1, 253, -1,
971 27, 253, -1, 253, 27, -1, 27, 253, 27, -1,
972 251, 254, 252, -1, 27, 251, 254, 252, -1, 251,
973 254, 252, 27, -1, 27, 251, 254, 252, 27, -1,
974 11, 254, 36, -1, 11, 254, 36, 27, -1, 27,
975 11, 254, 36, -1, 27, 11, 254, 36, 27, -1,
976 10, 284, -1, 26, 284, -1, 27, 10, 284, -1,
977 27, 26, 284, -1, 22, -1, 34, -1, 23, -1,
978 35, -1, 265, -1, 14, -1, 39, -1, -1, 255,
979 -1, 27, -1, 255, 256, 27, -1, 32, -1, 24,
980 -1, 31, 258, 26, 289, -1, -1, 259, -1, 289,
981 -1, 259, 32, 289, -1, 261, -1, 262, -1, 55,
982 262, 111, 262, 51, 262, -1, 263, -1, 262, 14,
983 262, -1, 264, -1, 279, 12, 260, 37, -1, 264,
984 39, 264, -1, 264, 33, 264, -1, 266, -1, 269,
985 267, -1, 269, 268, -1, 3, -1, 6, -1, 269,
986 -1, 265, 266, -1, 265, -1, 267, 265, -1, 265,
987 269, -1, 268, 265, 269, -1, 274, -1, 270, -1,
988 270, 274, -1, 274, 270, -1, 274, 270, 274, -1,
989 271, -1, 271, 274, -1, 272, 31, 289, -1, 272,
990 -1, 11, 273, 36, 31, 289, -1, 11, 273, 36,
991 -1, 11, 36, 31, 289, -1, 11, 36, -1, 251,
992 273, 252, -1, 251, 252, -1, 261, -1, 273, 256,
993 261, -1, 12, 262, 37, -1, 286, -1, 291, 12,
994 275, 37, -1, 277, -1, 274, 276, -1, 274, 10,
995 284, -1, 274, 26, 284, -1, 274, 11, 36, -1,
996 274, 11, 275, 36, -1, 274, 31, 289, -1, 262,
997 -1, 275, 32, 262, -1, 28, -1, 29, -1, 30,
998 -1, 38, -1, 278, -1, 107, -1, 54, 12, 275,
999 37, -1, 114, 12, 44, 37, -1, 114, 12, 203,
1000 37, -1, 108, 12, 261, 37, -1, 59, 12, 261,
1001 32, 261, 37, -1, 108, 12, 228, 37, -1, 42,
1002 -1, 43, -1, 40, -1, 41, -1, 280, -1, 279,
1003 280, -1, -1, 21, 281, 282, -1, 283, -1, 282,
1004 32, 283, -1, 286, 31, 199, -1, 286, 31, 66,
1005 199, -1, 25, -1, 20, -1, 25, -1, 25, -1,
1006 284, -1, 284, -1, 284, -1, 284, -1, 284, -1
1009 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1010 static const yytype_uint16 yyrline[] =
1012 0, 382, 382, 382, 387, 388, 392, 393, 397, 398,
1013 399, 403, 404, 408, 409, 410, 414, 421, 426, 428,
1014 430, 432, 434, 436, 441, 446, 447, 451, 453, 458,
1015 459, 463, 463, 468, 470, 472, 474, 479, 484, 486,
1016 488, 493, 494, 498, 499, 500, 504, 504, 512, 512,
1017 526, 525, 530, 535, 535, 535, 537, 538, 537, 540,
1018 541, 540, 543, 543, 543, 548, 549, 548, 551, 553,
1019 570, 572, 577, 578, 580, 584, 585, 589, 594, 596,
1020 601, 603, 605, 607, 612, 613, 617, 619, 621, 625,
1021 627, 631, 633, 637, 638, 639, 644, 645, 648, 651,
1022 655, 657, 662, 663, 668, 669, 674, 675, 676, 680,
1023 681, 685, 690, 691, 695, 696, 700, 701, 704, 708,
1024 709, 713, 714, 718, 719, 720, 721, 725, 726, 730,
1025 731, 732, 733, 734, 738, 739, 743, 744, 748, 749,
1026 753, 754, 755, 759, 760, 764, 765, 766, 770, 771,
1027 774, 779, 785, 794, 796, 798, 800, 805, 806, 810,
1028 811, 812, 813, 814, 815, 816, 818, 823, 824, 825,
1029 826, 830, 831, 835, 836, 840, 840, 850, 851, 856,
1030 856, 861, 862, 866, 867, 868, 869, 870, 871, 872,
1031 873, 874, 875, 884, 885, 891, 893, 900, 901, 902,
1032 903, 904, 905, 906, 907, 908, 909, 910, 911, 912,
1033 913, 914, 915, 916, 917, 918, 919, 920, 921, 922,
1034 923, 924, 925, 926, 927, 928, 929, 930, 931, 932,
1035 933, 934, 935, 939, 941, 943, 945, 947, 957, 958,
1036 964, 965, 970, 969, 974, 973, 977, 979, 984, 985,
1037 989, 990, 996, 1000, 1002, 1007, 1008, 1012, 1014, 1019,
1038 1020, 1031, 1032, 1036, 1037, 1038, 1039, 1040, 1041, 1045,
1039 1046, 1047, 1048, 1049, 1050, 1060, 1061, 1062, 1063, 1064,
1040 1071, 1072, 1073, 1084, 1085, 1086, 1092, 1093, 1097, 1098,
1041 1099, 1100, 1101, 1102, 1103, 1104, 1108, 1109, 1113, 1115,
1042 1117, 1119, 1121, 1124, 1126, 1128, 1130, 1132, 1134, 1142,
1043 1144, 1146, 1149, 1152, 1155, 1161, 1162, 1166, 1167, 1171,
1044 1172, 1173, 1177, 1178, 1182, 1183, 1187, 1188, 1192, 1196,
1045 1197, 1201, 1202, 1206, 1210, 1217, 1219, 1220, 1224, 1225,
1046 1230, 1232, 1237, 1238, 1239, 1243, 1244, 1248, 1249, 1253,
1047 1254, 1258, 1259, 1263, 1264, 1265, 1266, 1267, 1268, 1269,
1048 1273, 1274, 1278, 1281, 1283, 1287, 1292, 1293, 1297, 1298,
1049 1302, 1304, 1306, 1308, 1309, 1311, 1313, 1315, 1318, 1320,
1050 1325, 1326, 1330, 1331, 1332, 1333, 1337, 1338, 1339, 1340,
1051 1341, 1342, 1347, 1353, 1364, 1365, 1366, 1367, 1371, 1373,
1052 1378, 1378, 1386, 1387, 1391, 1392, 1396, 1397, 1401, 1402,
1053 1403, 1404, 1405, 1406, 1407
1057 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1058 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1059 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1060 static const char *const yytname[] =
1062 "$end", "error", "$undefined", "simpleOp", "PREFIX_OP", "POSTFIX_OP",
1063 "LLT_MULOP", "LLT_SEMI", "LLT_VERTICALBAR", "ITERATION_OP", "selectSym",
1064 "LLT_LBRACKET", "LLT_LPAR", "LLT_IF_THEN_ELSE", "logicalOp", "eqSepSym",
1065 "equationSym", "commentSym", "LLT_WHITESPACE", "LLT_EOL",
1066 "LLT_TYPEDEF_NAME", "quantifierSym", "openSym", "closeSym", "sepSym",
1067 "simpleId", "mapSym", "markerSym", "preSym", "postSym", "anySym",
1068 "LLT_COLON", "LLT_COMMA", "LLT_EQUALS", "LLT_LBRACE", "LLT_RBRACE",
1069 "LLT_RBRACKET", "LLT_RPAR", "LLT_QUOTE", "eqOp", "LLT_CCHAR",
1070 "LLT_CFLOAT", "LLT_CINTEGER", "LLT_LCSTRING", "LLT_ALL", "LLT_ANYTHING",
1071 "LLT_BE", "LLT_BODY", "LLT_CLAIMS", "LLT_CHECKS", "LLT_CONSTANT",
1072 "LLT_ELSE", "LLT_ENSURES", "LLT_FOR", "LLT_FRESH", "LLT_IF",
1073 "LLT_IMMUTABLE", "LLT_IMPORTS", "LLT_CONSTRAINT", "LLT_ISSUB", "LLT_LET",
1074 "LLT_MODIFIES", "LLT_MUTABLE", "LLT_NOTHING", "LLT_INTERNAL",
1075 "LLT_FILESYS", "LLT_OBJ", "LLT_OUT", "LLT_SEF", "LLT_ONLY",
1076 "LLT_PARTIAL", "LLT_OWNED", "LLT_DEPENDENT", "LLT_KEEP", "LLT_KEPT",
1077 "LLT_TEMP", "LLT_SHARED", "LLT_UNIQUE", "LLT_UNUSED", "LLT_EXITS",
1078 "LLT_MAYEXIT", "LLT_NEVEREXIT", "LLT_TRUEEXIT", "LLT_FALSEEXIT",
1079 "LLT_UNDEF", "LLT_KILLED", "LLT_CHECKMOD", "LLT_CHECKED",
1080 "LLT_UNCHECKED", "LLT_CHECKEDSTRICT", "LLT_TRUENULL", "LLT_FALSENULL",
1081 "LLT_LNULL", "LLT_LNOTNULL", "LLT_RETURNED", "LLT_OBSERVER",
1082 "LLT_EXPOSED", "LLT_REFCOUNTED", "LLT_REFS", "LLT_RELNULL", "LLT_RELDEF",
1083 "LLT_KILLREF", "LLT_NULLTERMINATED", "LLT_TEMPREF", "LLT_NEWREF",
1084 "LLT_PRIVATE", "LLT_REQUIRES", "LLT_RESULT", "LLT_SIZEOF", "LLT_SPEC",
1085 "LLT_TAGGEDUNION", "LLT_THEN", "LLT_TYPE", "LLT_TYPEDEF",
1086 "LLT_UNCHANGED", "LLT_USES", "LLT_CHAR", "LLT_CONST", "LLT_DOUBLE",
1087 "LLT_ENUM", "LLT_FLOAT", "LLT_INT", "LLT_ITER", "LLT_YIELD", "LLT_LONG",
1088 "LLT_SHORT", "LLT_SIGNED", "LLT_UNKNOWN", "LLT_STRUCT", "LLT_TELIPSIS",
1089 "LLT_UNION", "LLT_UNSIGNED", "LLT_VOID", "LLT_VOLATILE",
1090 "LLT_PRINTFLIKE", "LLT_SCANFLIKE", "LLT_MESSAGELIKE", "$accept",
1091 "interface", "@1", "externals", "external", "optDeclarations",
1092 "declarations", "declaration", "imports", "uses", "export", "iter",
1093 "iterParamList", "realIterParamList", "iterParam", "private", "@2",
1094 "private2", "constDeclaration", "varDeclaration", "type", "special",
1095 "fcn", "@3", "@4", "claim", "@5", "abstract", "@6", "@7", "@8", "@9",
1096 "@10", "@11", "@12", "@13", "exposed", "@14", "@15", "importNameList",
1097 "importName", "interfaceNameList", "interfaceName", "traitRefNodeList",
1098 "traitRef", "traitIdList", "renaming", "nameList", "replaceNodeList",
1099 "replace", "name", "initializer", "constLclExpr", "initDecls",
1100 "initDecl", "globals", "globalDecl", "privateInits", "privateInit",
1101 "optLetDecl", "beDeclList", "beDecl", "sortSpec", "optChecks",
1102 "optRequire", "optModify", "storeRefList", "storeRef", "optEnsure",
1103 "optClaim", "optParamList", "realParamList", "paramList", "optBody",
1104 "callExpr", "stmt", "valueList", "value", "abstBody", "fcns",
1105 "optTypeInv", "typeInv", "@16", "declaratorInvs", "declaratorInv", "@17",
1106 "optExposedBody", "CType", "CTypes", "typeSpecifier", "specialQualifier",
1107 "lclTypeSpec", "lclType", "pointers", "structOrUnionSpec", "@18", "@19",
1108 "optTagId", "structDecls", "structDecl", "declaratorList", "optCOMMA",
1109 "enumSpec", "enumeratorList", "declarator", "notype_decl",
1110 "after_type_decl", "parameter_decl", "param", "typeName",
1111 "optAbstDeclarator", "abstDeclarator", "arrayQual", "opForm", "open",
1112 "close", "anyOp", "middle", "placeList", "separator", "signature",
1113 "domain", "sortList", "lclPredicate", "term", "term0", "equalityTerm",
1114 "simpleOpTerm", "simpleOp2", "prefixOpTerm", "postfixOps", "infixOpPart",
1115 "secondary", "bracketed", "sqBracketed", "matched", "args", "primary",
1116 "termList", "stateFcn", "lclPrimary", "cLiteral", "quantifiers",
1117 "quantifier", "@20", "quantifiedList", "quantified",
1118 "simpleIdOrTypedefName", "fcnId", "varId", "tagId", "claimId", "sortId",
1119 "traitId", "opId", 0
1124 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1126 static const yytype_uint16 yytoknum[] =
1128 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1129 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1130 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1131 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1132 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1133 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1134 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1135 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1136 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1137 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1138 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1139 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1140 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1141 385, 386, 387, 388, 389, 390, 391
1145 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1146 static const yytype_uint16 yyr1[] =
1148 0, 137, 139, 138, 140, 140, 141, 141, 142, 142,
1149 142, 143, 143, 144, 144, 144, 145, 146, 147, 147,
1150 147, 147, 147, 147, 148, 149, 149, 150, 150, 151,
1151 151, 153, 152, 154, 154, 154, 154, 155, 156, 156,
1152 156, 157, 157, 158, 158, 158, 160, 159, 161, 159,
1153 163, 162, 162, 165, 166, 164, 167, 168, 164, 169,
1154 170, 164, 171, 172, 164, 174, 175, 173, 173, 173,
1155 176, 176, 177, 177, 177, 178, 178, 179, 180, 180,
1156 181, 181, 181, 181, 182, 182, 183, 183, 183, 184,
1157 184, 185, 185, 186, 186, 186, 187, 187, 188, 189,
1158 190, 190, 191, 191, 192, 192, 193, 193, 193, 194,
1159 194, 195, 196, 196, 197, 197, 198, 198, 199, 200,
1160 200, 201, 201, 202, 202, 202, 202, 203, 203, 204,
1161 204, 204, 204, 204, 205, 205, 206, 206, 207, 207,
1162 208, 208, 208, 209, 209, 210, 210, 210, 211, 211,
1163 211, 211, 211, 212, 212, 212, 212, 213, 213, 214,
1164 214, 214, 214, 214, 214, 214, 214, 215, 215, 215,
1165 215, 216, 216, 217, 217, 219, 218, 220, 220, 222,
1166 221, 223, 223, 224, 224, 224, 224, 224, 224, 224,
1167 224, 224, 224, 225, 225, 226, 226, 227, 227, 227,
1168 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1169 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1170 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1171 227, 227, 227, 228, 228, 228, 228, 228, 229, 229,
1172 230, 230, 232, 231, 233, 231, 231, 231, 234, 234,
1173 235, 235, 236, 237, 237, 238, 238, 239, 239, 240,
1174 240, 241, 241, 242, 242, 242, 242, 242, 242, 243,
1175 243, 243, 243, 243, 243, 244, 244, 244, 244, 244,
1176 245, 245, 245, 246, 246, 246, 247, 247, 248, 248,
1177 248, 248, 248, 248, 248, 248, 249, 249, 250, 250,
1178 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
1179 250, 250, 250, 250, 250, 251, 251, 252, 252, 253,
1180 253, 253, 254, 254, 255, 255, 256, 256, 257, 258,
1181 258, 259, 259, 260, 261, 262, 262, 262, 263, 263,
1182 263, 263, 264, 264, 264, 265, 265, 266, 266, 267,
1183 267, 268, 268, 269, 269, 269, 269, 269, 269, 269,
1184 270, 270, 271, 271, 271, 271, 272, 272, 273, 273,
1185 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
1186 275, 275, 276, 276, 276, 276, 277, 277, 277, 277,
1187 277, 277, 277, 277, 278, 278, 278, 278, 279, 279,
1188 281, 280, 282, 282, 283, 283, 284, 284, 285, 286,
1189 287, 288, 289, 290, 291
1192 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1193 static const yytype_uint8 yyr2[] =
1195 0, 2, 0, 3, 0, 2, 1, 1, 0, 2,
1196 2, 0, 2, 1, 1, 1, 3, 3, 1, 1,
1197 1, 1, 1, 1, 6, 0, 1, 1, 3, 2,
1198 1, 0, 3, 1, 1, 1, 1, 4, 3, 4,
1199 4, 1, 1, 1, 1, 1, 0, 13, 0, 14,
1200 0, 13, 4, 0, 0, 6, 0, 0, 7, 0,
1201 0, 7, 0, 0, 6, 0, 0, 6, 2, 2,
1202 1, 3, 1, 3, 1, 1, 3, 1, 1, 3,
1203 1, 4, 3, 6, 1, 3, 1, 1, 3, 1,
1204 3, 1, 3, 3, 3, 4, 1, 1, 1, 1,
1205 1, 3, 1, 3, 0, 2, 3, 2, 2, 0,
1206 2, 4, 0, 3, 1, 3, 5, 3, 1, 0,
1207 3, 0, 3, 0, 3, 3, 3, 1, 3, 1,
1208 1, 2, 1, 1, 0, 3, 0, 3, 0, 1,
1209 1, 1, 3, 1, 3, 0, 4, 5, 1, 3,
1210 2, 3, 3, 4, 3, 5, 6, 1, 3, 1,
1211 1, 2, 2, 3, 3, 3, 4, 1, 3, 4,
1212 3, 0, 2, 0, 1, 0, 6, 1, 3, 0,
1213 3, 0, 3, 1, 1, 1, 1, 1, 1, 1,
1214 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
1215 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1216 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1217 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1218 1, 1, 1, 1, 1, 1, 2, 5, 1, 2,
1219 1, 2, 0, 6, 0, 6, 2, 2, 0, 1,
1220 1, 2, 3, 1, 3, 0, 1, 6, 2, 1,
1221 3, 1, 1, 1, 3, 2, 2, 3, 4, 1,
1222 3, 2, 2, 3, 4, 1, 2, 2, 3, 4,
1223 2, 2, 2, 2, 3, 1, 0, 1, 3, 2,
1224 1, 1, 2, 3, 3, 4, 2, 3, 6, 1,
1225 2, 2, 3, 3, 4, 4, 5, 3, 4, 4,
1226 5, 2, 2, 3, 3, 1, 1, 1, 1, 1,
1227 1, 1, 0, 1, 1, 3, 1, 1, 4, 0,
1228 1, 1, 3, 1, 1, 6, 1, 3, 1, 4,
1229 3, 3, 1, 2, 2, 1, 1, 1, 2, 1,
1230 2, 2, 3, 1, 1, 2, 2, 3, 1, 2,
1231 3, 1, 5, 3, 4, 2, 3, 2, 1, 3,
1232 3, 1, 4, 1, 2, 3, 3, 3, 4, 3,
1233 1, 3, 1, 1, 1, 1, 1, 1, 4, 4,
1234 4, 4, 6, 4, 1, 1, 1, 1, 1, 2,
1235 0, 3, 1, 3, 3, 4, 1, 1, 1, 1,
1239 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1240 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1241 means the default is an error. */
1242 static const yytype_uint16 yydefact[] =
1244 4, 0, 2, 1, 0, 0, 8, 5, 6, 7,
1245 0, 407, 406, 74, 0, 70, 72, 77, 0, 0,
1246 78, 413, 80, 0, 195, 0, 0, 62, 53, 197,
1247 199, 200, 229, 201, 202, 203, 204, 211, 212, 213,
1248 198, 206, 207, 210, 208, 209, 231, 232, 214, 215,
1249 216, 217, 218, 225, 226, 227, 205, 228, 221, 222,
1250 219, 220, 224, 230, 223, 31, 0, 184, 0, 185,
1251 248, 186, 187, 0, 188, 189, 190, 192, 248, 248,
1252 191, 183, 0, 43, 44, 45, 3, 11, 23, 11,
1253 18, 19, 20, 0, 21, 22, 41, 42, 193, 196,
1254 233, 0, 0, 234, 235, 0, 16, 0, 0, 84,
1255 17, 0, 0, 221, 238, 0, 234, 235, 408, 411,
1256 0, 0, 0, 0, 0, 0, 59, 0, 65, 0,
1257 0, 410, 258, 409, 0, 242, 246, 244, 247, 0,
1258 9, 10, 0, 194, 236, 0, 0, 269, 0, 100,
1259 104, 262, 261, 263, 68, 69, 73, 71, 0, 82,
1260 79, 345, 346, 0, 322, 320, 315, 0, 0, 316,
1261 321, 0, 0, 0, 87, 86, 91, 286, 89, 285,
1262 322, 299, 319, 240, 239, 0, 0, 138, 0, 102,
1263 0, 0, 0, 0, 32, 33, 34, 35, 36, 0,
1264 0, 0, 25, 0, 0, 0, 12, 15, 13, 14,
1265 104, 265, 271, 0, 0, 38, 0, 0, 46, 0,
1266 0, 266, 0, 272, 85, 0, 311, 324, 0, 323,
1267 312, 0, 322, 0, 322, 300, 0, 286, 81, 0,
1268 0, 290, 0, 283, 287, 291, 0, 0, 301, 241,
1269 0, 52, 141, 0, 139, 140, 286, 143, 37, 63,
1270 54, 0, 0, 66, 177, 179, 39, 259, 255, 0,
1271 0, 26, 27, 30, 0, 0, 40, 48, 264, 270,
1272 101, 0, 0, 400, 409, 396, 397, 394, 395, 0,
1273 0, 0, 387, 0, 0, 103, 98, 0, 99, 334,
1274 336, 338, 0, 342, 347, 354, 358, 361, 353, 373,
1275 386, 0, 398, 414, 371, 0, 0, 0, 0, 105,
1276 0, 296, 0, 267, 0, 273, 0, 0, 307, 327,
1277 326, 0, 313, 0, 314, 0, 302, 0, 284, 88,
1278 90, 92, 0, 289, 0, 0, 0, 292, 94, 93,
1279 97, 96, 317, 318, 303, 237, 104, 0, 290, 0,
1280 275, 281, 280, 282, 0, 0, 57, 60, 0, 0,
1281 181, 256, 0, 29, 0, 0, 0, 0, 250, 0,
1282 0, 365, 368, 0, 0, 0, 0, 0, 0, 0,
1283 0, 367, 0, 0, 0, 0, 348, 347, 349, 343,
1284 344, 355, 359, 0, 0, 0, 0, 382, 383, 384,
1285 0, 385, 356, 374, 0, 399, 0, 107, 108, 109,
1286 0, 297, 268, 274, 83, 308, 325, 309, 304, 0,
1287 294, 288, 293, 0, 329, 95, 305, 50, 142, 144,
1288 276, 290, 0, 277, 167, 171, 64, 55, 0, 0,
1289 178, 67, 173, 180, 260, 257, 24, 28, 0, 253,
1290 243, 251, 245, 109, 0, 363, 0, 370, 401, 402,
1291 0, 380, 0, 0, 0, 195, 0, 0, 0, 132,
1292 133, 0, 0, 127, 130, 129, 366, 337, 341, 340,
1293 351, 350, 0, 412, 360, 375, 377, 0, 376, 379,
1294 357, 0, 333, 0, 112, 106, 310, 306, 0, 295,
1295 0, 330, 331, 0, 278, 0, 0, 0, 75, 0,
1296 58, 61, 175, 0, 174, 252, 0, 112, 364, 0,
1297 369, 0, 0, 0, 388, 0, 0, 393, 391, 389,
1298 131, 0, 390, 352, 378, 339, 372, 0, 0, 110,
1299 119, 298, 0, 0, 112, 279, 170, 0, 0, 168,
1300 172, 0, 0, 182, 254, 119, 362, 403, 0, 404,
1301 118, 381, 0, 0, 128, 0, 114, 0, 0, 0,
1302 121, 328, 332, 121, 76, 169, 104, 0, 121, 405,
1303 335, 392, 113, 0, 0, 0, 0, 0, 0, 123,
1304 145, 0, 123, 115, 0, 117, 111, 120, 0, 0,
1305 134, 0, 134, 0, 134, 0, 122, 0, 0, 0,
1306 0, 136, 0, 0, 176, 136, 116, 125, 124, 126,
1307 0, 0, 0, 0, 409, 0, 148, 0, 0, 51,
1308 0, 135, 0, 47, 0, 150, 0, 0, 146, 0,
1309 0, 49, 137, 0, 149, 147, 152, 151, 0, 0,
1310 154, 0, 157, 159, 0, 160, 408, 0, 161, 0,
1311 0, 153, 162, 0, 0, 164, 158, 163, 165, 0,
1315 /* YYDEFGOTO[NTERM-NUM]. */
1316 static const yytype_int16 yydefgoto[] =
1318 -1, 1, 6, 2, 7, 86, 140, 206, 8, 207,
1319 208, 88, 270, 271, 272, 209, 127, 194, 90, 91,
1320 92, 93, 94, 318, 380, 95, 513, 96, 124, 365,
1321 125, 448, 193, 449, 123, 364, 97, 199, 369, 14,
1322 15, 517, 16, 19, 20, 108, 173, 174, 175, 176,
1323 348, 295, 296, 148, 149, 218, 319, 504, 549, 550,
1324 575, 576, 569, 580, 599, 610, 482, 483, 621, 632,
1325 253, 344, 255, 612, 656, 636, 661, 662, 446, 519,
1326 523, 524, 562, 263, 264, 370, 453, 98, 99, 100,
1327 101, 256, 484, 184, 116, 203, 204, 130, 377, 378,
1328 458, 372, 117, 268, 189, 151, 152, 362, 257, 178,
1329 243, 244, 245, 179, 297, 354, 181, 228, 229, 466,
1330 435, 510, 511, 501, 502, 299, 300, 301, 302, 303,
1331 399, 400, 304, 305, 306, 307, 383, 308, 472, 413,
1332 309, 310, 311, 312, 385, 468, 469, 313, 664, 314,
1333 132, 121, 494, 22, 315
1336 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1338 #define YYPACT_NINF -607
1339 static const yytype_int16 yypact[] =
1341 -607, 50, -29, -607, 198, 89, 1350, -607, -607, -607,
1342 208, -607, -607, -607, 65, -607, -607, -607, 208, 110,
1343 -607, -607, 45, 2903, -607, 276, 2903, -607, 18, -607,
1344 -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
1345 -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
1346 -607, -607, -607, -607, -607, -607, -607, -607, 85, -607,
1347 -607, -607, -607, -607, -607, -607, 2903, -607, 2903, -607,
1348 208, -607, -607, 133, -607, -607, -607, -607, 208, 208,
1349 -607, -607, 2903, -607, -607, -607, -607, -607, -607, -607,
1350 -607, -607, -607, 2903, -607, -607, -607, -607, -607, 399,
1351 -607, 2903, 336, 155, 192, 185, -607, 198, 268, -607,
1352 -607, 89, 1152, -607, 213, 199, -607, -607, 297, -607,
1353 208, 305, 336, 240, 242, 273, -607, 1445, -607, 336,
1354 333, -607, 359, -607, 369, -607, 359, -607, 359, 336,
1355 1247, 1247, 336, -607, -607, 336, 336, -607, 139, -607,
1356 145, 416, 422, -607, -607, -607, -607, -607, 208, 388,
1357 -607, -607, -607, 208, 360, -607, -607, 208, 471, -607,
1358 -607, 376, 2903, 398, 393, 406, -607, 347, 387, -607,
1359 360, 445, -607, -607, 456, 2903, 476, 2319, 143, 457,
1360 474, 484, 397, 404, -607, -607, -607, -607, -607, 336,
1361 150, 481, 2414, 477, 488, 166, -607, -607, -607, -607,
1362 -607, 416, 422, 239, 279, -607, 336, 3150, 1836, 272,
1363 1933, -607, 2030, -607, -607, 1152, -607, -607, 482, 224,
1364 -607, 208, 360, 208, 360, 501, 418, 347, -607, 1152,
1365 1152, 347, 1741, -607, 433, -607, 453, 118, -607, -607,
1366 524, -607, -607, 496, -607, 503, 435, -607, -607, -607,
1367 -607, 517, 519, 508, -607, -607, -607, -607, 509, 2903,
1368 505, 512, -607, -607, 2903, 2903, -607, 1836, -607, -607,
1369 -607, 3059, 3150, -607, 297, -607, -607, -607, -607, 533,
1370 3150, 534, -607, 535, 536, -607, -607, 3033, -607, 537,
1371 -607, 304, 3200, -607, 329, 1155, 1155, 521, 654, -607,
1372 -607, 188, -607, -607, -607, 538, 547, 548, 522, -607,
1373 336, -607, 523, -607, 527, -607, 528, 529, 540, -607,
1374 -607, 541, -607, 525, -607, 118, -607, 543, -607, 406,
1375 387, -607, 387, 433, 539, 292, 2127, -607, 544, -607,
1376 -607, -607, -607, -607, 545, -607, -607, 2509, 435, 1644,
1377 -607, 416, 446, -607, 35, 35, -607, -607, 336, 553,
1378 549, 556, 551, -607, 580, 2414, 336, 2611, -607, 2713,
1379 554, 559, -607, 381, 44, 133, 3150, -1, 3150, 1022,
1380 762, -607, 375, 3150, 3200, 3200, -607, -607, 335, 329,
1381 329, 236, 236, 208, 208, 3109, 208, -607, -607, -607,
1382 208, -607, 1155, -607, 3150, -607, 3150, -607, -607, -607,
1383 189, -607, -607, -607, -607, -607, -607, 564, 565, 550,
1384 -607, -607, -607, 557, 208, -607, -607, 1836, -607, -607,
1385 446, 459, 2224, -607, -607, 182, -607, -607, 35, 35,
1386 -607, -607, 542, -607, -607, -607, -607, -607, 197, -607,
1387 -607, -607, -607, -607, 208, 567, 3150, -607, 563, -607,
1388 568, 537, 293, 3150, 570, 584, 566, 573, 574, -607,
1389 -607, 2903, 312, -607, -607, -607, -607, -607, -607, -607,
1390 -607, -607, 335, -607, -607, -607, -607, 394, -607, -607,
1391 236, 575, -607, 331, -15, -607, -607, -607, 578, -607,
1392 588, 583, -607, 582, -607, 586, 610, 247, -607, 1547,
1393 -607, -607, -607, 585, -607, -607, 336, -15, -607, 208,
1394 -607, 133, 2808, 3150, -607, 25, 3150, -607, -607, -607,
1395 -607, 892, -607, -607, -607, -607, -607, 133, 2903, -607,
1396 577, -607, 208, 208, 569, -607, -607, 208, 617, -607,
1397 -607, 336, 606, -607, -607, 577, -607, -607, 2903, -607,
1398 -607, 537, 3150, 594, -607, 270, -607, 77, 336, 3150,
1399 530, -607, -607, 530, -607, -607, -607, 625, 530, -607,
1400 537, -607, -607, 133, 2903, 3150, 278, 634, 3150, 581,
1401 592, 3150, 581, -607, 599, -607, -607, -607, 639, 632,
1402 595, 614, 595, 612, 595, 3150, -607, 643, 644, 288,
1403 3150, 607, 181, 621, -607, 607, -607, -607, -607, -607,
1404 651, 3150, 624, 181, 648, 126, -607, 649, 629, -607,
1405 628, -607, 660, -607, 48, -607, 299, 181, -607, 212,
1406 645, -607, -607, 181, -607, -607, 661, -607, 202, 202,
1407 -607, 351, 665, -607, 659, -607, -607, 666, -607, 43,
1408 202, -607, 246, 379, 411, -607, 665, -607, -607, 358,
1409 -607, 365, -607, -607
1412 /* YYPGOTO[NTERM-NUM]. */
1413 static const yytype_int16 yypgoto[] =
1415 -607, -607, -607, -607, -607, -607, 590, -607, -607, 679,
1416 683, -607, -607, -607, 315, 687, -607, -607, 591, 608,
1417 611, -607, -123, -607, -607, -607, -607, -607, -607, -607,
1418 -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
1419 587, -607, -8, -607, 626, -607, 516, -607, 504, 502,
1420 -607, -607, 526, -110, 531, -190, -607, 281, -607, -483,
1421 -607, 156, -520, 190, -159, 152, 157, 220, -353, 142,
1422 -607, -182, -607, -607, -554, -607, -185, -606, -322, -607,
1423 -607, -607, -607, -607, 401, -607, -607, -91, -607, -607,
1424 -607, -5, -20, -607, 29, -607, -607, 417, 497, -6,
1425 -607, -607, 54, -607, -95, -119, 353, 413, -178, 261,
1426 -137, -210, -22, 532, -14, -248, 609, -121, -607, 546,
1427 -607, -607, -607, -528, -203, -265, -607, 108, -101, 478,
1428 -607, -607, -280, 468, -607, -607, 489, -269, -285, -607,
1429 -607, -308, -607, -305, -607, -607, 248, 5, -25, -40,
1430 434, 668, -369, 16, 552
1433 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1434 positive, shift that token. If negative, reduce the rule which
1435 number is the opposite. If zero, do what YYDEFACT says.
1436 If YYTABLE_NINF, syntax error. */
1437 #define YYTABLE_NINF -409
1438 static const yytype_int16 yytable[] =
1440 120, 102, 105, 115, 198, 254, 415, 150, 143, 17,
1441 21, 182, 188, 393, 298, 17, 298, 384, 114, 200,
1442 277, 122, 397, 21, 273, 387, 211, 213, 4, 205,
1443 119, 343, 345, 134, 109, 103, 401, 402, 324, 393,
1444 326, 499, 444, 447, 565, 547, 672, 210, 589, 391,
1445 3, 597, 668, 669, 645, 653, 647, 112, 393, 247,
1446 104, 128, 153, 129, 676, 512, 677, 182, 635, 445,
1447 608, 583, 106, 613, 604, 131, 572, 139, 382, 644,
1448 675, 467, 153, 131, 131, 654, 5, 428, 142, 153,
1449 548, 373, 630, 657, 382, 528, 144, 107, 180, 153,
1450 338, 18, 153, 642, 265, 153, 153, 177, 594, 11,
1451 473, 333, 17, 335, 12, -56, 21, 110, 490, 363,
1452 497, 471, 102, 595, 182, 119, 520, 521, 487, 221,
1453 223, 503, 645, 646, 647, 102, 102, 361, 182, 182,
1454 471, 352, 111, 500, 486, 182, 215, 126, 343, 345,
1455 258, 471, -102, 353, 234, 349, 103, 266, 133, 153,
1456 566, 648, 154, 21, 433, 250, 437, 237, 226, 103,
1457 103, 216, 230, 276, 224, 216, 153, -102, 217, 439,
1458 114, 104, 216, 581, 582, 474, 477, 485, 156, 221,
1459 223, 221, 223, 633, 104, 104, 505, 273, 216, 155,
1460 414, 10, 11, 398, 525, 658, 634, 12, 535, 283,
1461 420, 180, 543, 320, 659, 658, 153, 516, 11, 183,
1462 177, 216, 347, 12, 659, 180, 180, 634, 11, 526,
1463 185, 343, 180, 12, 177, 177, 332, 634, 334, 211,
1464 213, 13, 285, 286, 287, 288, 404, 405, 329, 660,
1465 219, 220, 285, 286, 287, 288, 330, 587, 659, 623,
1466 515, 625, 406, 530, 407, 408, 409, 410, 571, 376,
1467 376, 634, 320, 265, 411, 161, 278, 592, 162, 557,
1468 153, 459, 558, 281, 282, 606, 285, 286, 287, 288,
1469 219, 222, 11, 283, 166, 629, 11, 284, 491, 492,
1470 158, 118, 593, 219, 346, 159, 169, 590, 321, -406,
1471 216, 633, 285, 286, 287, 288, 279, 187, 153, 153,
1472 541, 347, 211, 347, 634, 533, 289, 290, 153, 431,
1473 534, 291, 161, 573, 655, 162, 153, 394, 485, 221,
1474 443, 663, 145, 395, 541, 470, 281, 282, 146, 542,
1475 663, 663, 190, 241, 191, 11, 147, 166, 219, 242,
1476 284, 133, 663, 533, 663, 663, 663, 201, 546, 169,
1477 192, 461, 376, 461, 376, 285, 286, 287, 288, 292,
1478 293, 202, 658, 670, 476, 114, 294, 227, 671, 289,
1479 670, 659, 605, -249, 291, 682, 560, 670, 352, 329,
1480 225, 153, 683, 236, 634, 329, 485, 330, 493, 495,
1481 353, 498, 626, 330, 658, 493, 678, 465, 443, 285,
1482 286, 287, 288, 659, 600, 239, 533, 219, 220, 602,
1483 544, 564, 320, 219, 222, 238, 634, 518, 240, 493,
1484 246, 358, 292, 293, 219, 346, 219, 359, 680, 294,
1485 17, 285, 286, 287, 288, 360, 161, 219, 442, 162,
1486 133, 540, 249, 163, 164, 441, 586, 165, 596, 493,
1487 219, 359, 248, 11, 161, 166, 114, 162, 12, 167,
1488 168, 231, 232, 251, 133, 165, 153, 169, 679, 681,
1489 217, 470, 170, 166, 259, 135, 137, 233, 212, 214,
1490 340, 342, 488, 489, 260, 169, 267, 577, 171, 261,
1491 170, 274, 136, 138, 561, 67, 262, 69, 328, 71,
1492 72, 153, 275, 74, 75, 76, 77, 570, 336, 337,
1493 80, 81, 355, 356, 493, 357, 114, 366, 153, 367,
1494 368, 371, 374, 578, 375, 386, 388, 389, 390, 584,
1495 416, 393, 403, 577, 417, 418, 419, 493, 493, 421,
1496 451, 427, 17, 570, 422, 423, 424, 425, 426, 67,
1497 429, 69, 436, 71, 72, 434, 430, 74, 75, 76,
1498 77, 454, 638, 452, 80, 81, 455, 456, 463, 570,
1499 464, 506, 507, 638, 509, 531, -407, 637, 529, 532,
1500 522, 508, 536, 537, 114, 551, 638, 638, 637, 665,
1501 538, 539, 545, 638, 552, 553, 554, 556, 665, 665,
1502 563, 637, 637, 555, 585, 667, 579, 283, 637, 547,
1503 665, 591, 665, 665, 665, 161, 598, 601, 162, 611,
1504 23, 607, 609, 281, 282, 615, 616, 620, 622, 624,
1505 627, 628, 475, 283, 166, 631, 639, 284, 641, 643,
1506 -408, 649, 650, 651, 404, 405, 169, 652, 672, 647,
1507 666, 673, 285, 286, 287, 288, 166, 617, 674, 141,
1508 406, 9, 407, 408, 409, 410, 289, 290, 169, 87,
1509 457, 291, 411, 89, 157, 618, 479, 480, 481, 29,
1510 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1511 40, 41, 42, 43, 44, 45, 46, 47, 195, 48,
1512 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1513 59, 60, 61, 62, 63, 196, 64, 160, 197, 292,
1514 293, 327, 341, 339, 527, 322, 294, 280, 67, 603,
1515 69, 70, 71, 72, 614, 588, 74, 75, 76, 77,
1516 78, 574, 79, 80, 81, 161, 619, 640, 162, 450,
1517 23, 440, 379, 281, 282, 331, 412, 235, 350, 567,
1518 396, 0, 475, 283, 166, 0, 392, 284, 186, 0,
1519 0, 0, 0, 0, 0, 0, 169, 0, 351, 0,
1520 0, 0, 285, 286, 287, 288, 478, 0, 0, 0,
1521 0, 0, 0, 0, 0, 0, 289, 290, 0, 0,
1522 0, 291, 0, 0, 0, 0, 479, 480, 481, 29,
1523 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1524 40, 41, 42, 43, 44, 45, 46, 47, 0, 48,
1525 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1526 59, 60, 61, 62, 63, 0, 64, 0, 0, 292,
1527 293, 0, 0, 0, 0, 0, 294, 0, 67, 0,
1528 69, 70, 71, 72, 0, 0, 74, 75, 76, 77,
1529 78, 0, 79, 80, 81, 161, 0, 0, 162, 0,
1530 23, 0, 0, 281, 282, 0, 0, 0, 0, 0,
1531 0, 0, 475, 283, 166, 0, 0, 284, 0, 0,
1532 0, 0, 0, 0, 0, 0, 169, 0, 0, 0,
1533 0, 0, 285, 286, 287, 288, 0, 0, 0, 0,
1534 0, 0, 0, 0, 0, 0, 289, 290, 0, 0,
1535 0, 291, 0, 0, 0, 0, 479, 480, 481, 29,
1536 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1537 40, 41, 42, 43, 44, 45, 46, 47, 0, 48,
1538 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1539 59, 60, 61, 62, 63, 0, 64, 0, 0, 292,
1540 293, 0, 0, 0, 0, 0, 294, 0, 67, 0,
1541 69, 70, 71, 72, 0, 0, 74, 75, 76, 77,
1542 78, 0, 79, 80, 81, 161, 0, 0, 162, 0,
1543 23, 0, 0, 281, 282, 0, 0, 0, 0, 0,
1544 0, 0, 475, 283, 166, 0, 0, 284, 0, 0,
1545 0, 0, 0, 0, 0, 0, 169, 0, 0, 0,
1546 0, 0, 285, 286, 287, 288, 0, 0, 0, 0,
1547 0, 0, 0, 0, 0, 0, 289, 290, 0, 0,
1548 0, 291, 0, 0, 0, 0, 0, 0, 0, 29,
1549 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1550 40, 41, 42, 43, 44, 45, 46, 47, 0, 48,
1551 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1552 59, 60, 61, 62, 63, 0, 64, 0, 0, 292,
1553 293, 0, 0, 0, 0, 0, 294, 0, 67, 0,
1554 69, 70, 71, 72, 0, 0, 74, 75, 76, 77,
1555 78, 0, 79, 80, 81, 161, 0, 0, 162, 0,
1556 23, 0, 163, 164, 0, 0, 165, 282, 0, 0,
1557 0, 0, 24, 0, 166, 11, 0, 0, 167, 168,
1558 284, 0, 0, 0, 0, 0, 169, 0, 0, 0,
1559 0, 170, 0, 0, 0, 285, 286, 287, 288, 0,
1560 0, 0, 0, 0, 0, 0, 0, 171, 0, 289,
1561 0, 0, 0, 0, 291, 0, 0, 0, 172, 29,
1562 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1563 40, 41, 42, 43, 44, 45, 46, 47, 0, 48,
1564 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1565 59, 60, 61, 62, 63, 23, 64, 0, 0, 0,
1566 0, 0, 292, 293, 0, 0, 0, 24, 67, 294,
1567 69, 70, 71, 72, 0, 0, 74, 75, 76, 77,
1568 78, 0, 79, 80, 81, 0, 0, 0, 0, 0,
1569 0, 0, 0, 0, 0, 25, 0, 26, 0, 0,
1570 0, 0, 0, 27, 0, 0, 0, 0, 0, 28,
1571 0, 0, 0, 0, 29, 30, 31, 32, 33, 34,
1572 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1573 45, 46, 47, 0, 48, 49, 50, 51, 52, 53,
1574 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1575 0, 64, 0, 0, 0, 0, 65, 0, 23, 0,
1576 66, 0, 5, 67, 68, 69, 70, 71, 72, 73,
1577 24, 74, 75, 76, 77, 78, 0, 79, 80, 81,
1578 82, 83, 84, 85, 0, 0, 0, 0, 0, 0,
1579 0, 0, 0, 0, 0, 0, 0, 0, 25, 0,
1580 26, 0, 0, 0, 0, 0, 27, 0, 0, 0,
1581 0, 0, 28, 0, 0, 0, 0, 29, 30, 31,
1582 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1583 42, 43, 44, 45, 46, 47, 0, 48, 49, 50,
1584 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1585 61, 62, 63, 23, 64, 0, 0, 0, 0, 65,
1586 0, 0, 0, 66, 0, 24, 67, 68, 69, 70,
1587 71, 72, 73, 0, 74, 75, 76, 77, 78, 0,
1588 79, 80, 81, 82, 83, 84, 85, 0, 0, 0,
1589 0, 0, 0, 0, 0, 26, 0, 0, 0, 0,
1590 0, 27, 0, 0, 0, 0, 0, 28, 0, 0,
1591 0, 0, 29, 30, 31, 32, 33, 34, 35, 36,
1592 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1593 47, 0, 48, 49, 50, 51, 52, 53, 54, 55,
1594 56, 57, 58, 59, 60, 61, 62, 63, 0, 64,
1595 0, 0, 0, 0, 0, 23, 0, 0, 66, 0,
1596 0, 67, 68, 69, 70, 71, 72, 24, 0, 74,
1597 75, 76, 77, 78, 0, 79, 80, 81, 82, 83,
1598 84, 85, 559, 0, 0, 0, 0, 0, 0, 0,
1599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1601 0, 0, 0, 0, 29, 30, 31, 32, 33, 34,
1602 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1603 45, 46, 47, 0, 48, 49, 50, 51, 52, 53,
1604 54, 55, 56, 57, 113, 59, 60, 61, 62, 63,
1605 441, 64, 23, 0, 0, 219, 359, 0, 0, 0,
1606 0, 0, 0, 67, 24, 69, 70, 71, 72, 133,
1607 0, 74, 75, 76, 77, 78, 0, 79, 80, 81,
1608 0, 83, 84, 85, 0, 0, 0, 0, 0, 0,
1609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1611 0, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1612 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1613 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1614 57, 113, 59, 60, 61, 62, 63, 241, 64, 23,
1615 0, 0, 219, 242, 0, 0, 0, 0, 0, 0,
1616 67, 24, 69, 70, 71, 72, 0, 0, 74, 75,
1617 76, 77, 78, 252, 79, 80, 81, 0, 0, 0,
1618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1620 0, 0, 0, 0, 0, 0, 0, 0, 29, 30,
1621 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1622 41, 42, 43, 44, 45, 46, 47, 0, 48, 49,
1623 50, 51, 52, 53, 54, 55, 56, 57, 113, 59,
1624 60, 61, 62, 63, 23, 64, 0, 0, 0, 0,
1625 0, 0, 0, 0, 0, 0, 24, 67, 0, 69,
1626 70, 71, 72, 0, 0, 74, 75, 76, 77, 78,
1627 252, 79, 80, 81, 0, 0, 0, 0, 0, 0,
1628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1630 316, 317, 0, 29, 30, 31, 32, 33, 34, 35,
1631 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1632 46, 47, 0, 48, 49, 50, 51, 52, 53, 54,
1633 55, 56, 57, 113, 59, 60, 61, 62, 63, 0,
1634 64, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1635 0, 0, 67, 24, 69, 70, 71, 72, 0, 0,
1636 74, 75, 76, 77, 78, 0, 79, 80, 81, 0,
1637 323, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1640 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1641 39, 40, 41, 42, 43, 44, 45, 46, 47, 0,
1642 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1643 113, 59, 60, 61, 62, 63, 0, 64, 23, 0,
1644 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
1645 24, 69, 70, 71, 72, 0, 0, 74, 75, 76,
1646 77, 78, 252, 79, 80, 81, 0, 325, 0, 0,
1647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1649 0, 0, 0, 0, 0, 0, 0, 29, 30, 31,
1650 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1651 42, 43, 44, 45, 46, 47, 0, 48, 49, 50,
1652 51, 52, 53, 54, 55, 56, 57, 113, 59, 60,
1653 61, 62, 63, 0, 64, 23, 0, 0, 0, 0,
1654 0, 0, 0, 0, 0, 0, 67, 24, 69, 70,
1655 71, 72, 0, 0, 74, 75, 76, 77, 78, 252,
1656 79, 80, 81, 0, 432, 0, 0, 0, 0, 0,
1657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1659 0, 0, 0, 0, 29, 30, 31, 32, 33, 34,
1660 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1661 45, 46, 47, 0, 48, 49, 50, 51, 52, 53,
1662 54, 55, 56, 57, 113, 59, 60, 61, 62, 63,
1663 0, 64, 23, 0, 0, 0, 0, 0, 0, 0,
1664 0, 0, 0, 67, 24, 69, 70, 71, 72, 0,
1665 0, 74, 75, 76, 77, 78, 252, 79, 80, 81,
1666 0, 514, 0, 0, 0, 0, 0, 0, 0, 0,
1667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1669 0, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1670 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1671 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1672 57, 113, 59, 60, 61, 62, 63, 23, 64, 0,
1673 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
1674 67, 0, 69, 70, 71, 72, 0, 0, 74, 75,
1675 76, 77, 78, 252, 79, 80, 81, 0, 0, 0,
1676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1678 0, 0, 0, 0, 0, 0, 29, 30, 31, 32,
1679 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1680 43, 44, 45, 46, 47, 0, 48, 49, 50, 51,
1681 52, 53, 54, 55, 56, 57, 113, 59, 60, 61,
1682 62, 63, 23, 64, 0, 0, 0, 0, 0, 0,
1683 0, 0, 0, 0, 24, 67, 0, 69, 70, 71,
1684 72, 0, 0, 74, 75, 76, 77, 78, 252, 79,
1685 80, 81, 0, 0, 0, 0, 0, 0, 0, 0,
1686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1688 0, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1689 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1690 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1691 57, 113, 59, 60, 61, 62, 63, 23, 64, 0,
1692 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
1693 67, 0, 69, 70, 71, 72, 0, 269, 74, 75,
1694 76, 77, 78, 0, 79, 80, 81, 0, 0, 0,
1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1697 0, 0, 0, 0, 0, 0, 29, 30, 31, 32,
1698 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1699 43, 44, 45, 46, 47, 0, 48, 49, 50, 51,
1700 52, 53, 54, 55, 56, 57, 113, 59, 60, 61,
1701 62, 63, 0, 64, 0, 0, 0, 0, 0, 23,
1702 0, 0, 0, 0, 0, 67, 0, 69, 70, 71,
1703 72, 24, 0, 74, 75, 76, 77, 78, 438, 79,
1704 80, 81, 0, 0, 0, 0, 460, 0, 0, 0,
1705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707 0, 0, 0, 0, 0, 0, 0, 0, 29, 30,
1708 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1709 41, 42, 43, 44, 45, 46, 47, 0, 48, 49,
1710 50, 51, 52, 53, 54, 55, 56, 57, 113, 59,
1711 60, 61, 62, 63, 0, 64, 0, 0, 0, 0,
1712 0, 23, 0, 0, 0, 0, 0, 67, 0, 69,
1713 70, 71, 72, 24, 0, 74, 75, 76, 77, 78,
1714 0, 79, 80, 81, 0, 0, 0, 0, 462, 0,
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1719 39, 40, 41, 42, 43, 44, 45, 46, 47, 0,
1720 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1721 113, 59, 60, 61, 62, 63, 23, 64, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 24, 67,
1723 0, 69, 70, 71, 72, 0, 0, 74, 75, 76,
1724 77, 78, 0, 79, 80, 81, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 568, 29, 30, 31, 32, 33,
1728 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1729 44, 45, 46, 47, 0, 48, 49, 50, 51, 52,
1730 53, 54, 55, 56, 57, 113, 59, 60, 61, 62,
1731 63, 23, 64, 0, 0, 0, 0, 0, 0, 0,
1732 0, 0, 0, 24, 67, 0, 69, 70, 71, 72,
1733 0, 0, 74, 75, 76, 77, 78, 0, 79, 80,
1734 81, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1737 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1738 39, 40, 41, 42, 43, 44, 45, 46, 47, 0,
1739 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1740 113, 59, 60, 61, 62, 63, 0, 64, 0, 0,
1741 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
1742 0, 69, 70, 71, 72, 0, 0, 74, 75, 76,
1743 77, 78, 0, 79, 80, 81, 161, 0, 0, 162,
1744 0, 0, 0, 0, 281, 282, 0, 0, 0, 0,
1745 0, 0, 0, 11, 283, 166, 352, 0, 284, 0,
1746 0, 0, 161, 0, 0, 162, 0, 169, 353, 0,
1747 281, 282, 0, 285, 286, 287, 288, 0, 0, 11,
1748 283, 166, 0, 0, 284, 0, 0, 289, 290, 0,
1749 0, 0, 291, 169, 0, 381, 0, 0, 0, 285,
1750 286, 287, 288, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 161, 289, 290, 162, 0, 0, 291, 0,
1752 281, 282, 0, 0, 0, 0, 0, 0, 0, 11,
1753 283, 166, 0, 0, 284, 0, 0, 0, 0, 0,
1754 292, 293, 0, 169, 0, 496, 0, 294, 0, 285,
1755 286, 287, 288, 161, 0, 0, 162, 0, 0, 0,
1756 0, 281, 282, 289, 290, 0, 292, 293, 291, 0,
1757 11, 283, 166, 294, 0, 284, 0, 0, 0, 0,
1758 0, 0, 0, 0, 169, 0, 0, 0, 0, 0,
1759 285, 286, 287, 288, 0, 0, 0, 0, 0, 0,
1760 0, 0, 0, 161, 289, 290, 162, 0, 0, 291,
1761 0, 281, 282, 0, 0, 0, 292, 293, 0, 0,
1762 11, 0, 166, 294, 0, 284, 0, 0, 0, 0,
1763 0, 0, 0, 0, 169, 0, 0, 0, 0, 0,
1764 285, 286, 287, 288, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 289, 0, 0, 292, 293, 291,
1766 0, 0, 0, 0, 294, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 292, 293, 0,
1774 static const yytype_int16 yycheck[] =
1776 25, 6, 10, 23, 127, 187, 311, 102, 99, 4,
1777 5, 112, 122, 14, 217, 10, 219, 282, 23, 129,
1778 210, 26, 302, 18, 202, 290, 145, 146, 57, 139,
1779 25, 241, 242, 73, 18, 6, 305, 306, 220, 14,
1780 222, 410, 7, 365, 527, 60, 3, 142, 568, 297,
1781 0, 579, 658, 659, 6, 7, 8, 12, 14, 180,
1782 6, 66, 102, 68, 670, 434, 672, 168, 622, 34,
1783 598, 554, 7, 601, 594, 70, 51, 82, 281, 633,
1784 37, 37, 122, 78, 79, 37, 115, 335, 93, 129,
1785 105, 269, 620, 647, 297, 464, 101, 32, 112, 139,
1786 237, 12, 142, 631, 199, 145, 146, 112, 31, 20,
1787 111, 232, 107, 234, 25, 97, 111, 7, 398, 256,
1788 405, 386, 127, 46, 225, 120, 448, 449, 393, 151,
1789 152, 416, 6, 7, 8, 140, 141, 256, 239, 240,
1790 405, 23, 32, 412, 392, 246, 7, 62, 358, 359,
1791 7, 416, 7, 35, 168, 246, 127, 7, 25, 199,
1792 529, 35, 7, 158, 346, 185, 356, 172, 163, 140,
1793 141, 32, 167, 7, 158, 32, 216, 32, 33, 357,
1794 185, 127, 32, 552, 553, 388, 389, 390, 3, 211,
1795 212, 213, 214, 12, 140, 141, 7, 375, 32, 7,
1796 12, 3, 20, 304, 7, 3, 25, 25, 473, 21,
1797 320, 225, 492, 218, 12, 3, 256, 35, 20, 6,
1798 225, 32, 244, 25, 12, 239, 240, 25, 20, 32,
1799 31, 441, 246, 25, 239, 240, 231, 25, 233, 358,
1800 359, 43, 40, 41, 42, 43, 10, 11, 24, 37,
1801 11, 12, 40, 41, 42, 43, 32, 562, 12, 612,
1802 442, 614, 26, 466, 28, 29, 30, 31, 533, 274,
1803 275, 25, 277, 368, 38, 3, 37, 7, 6, 32,
1804 320, 376, 35, 11, 12, 7, 40, 41, 42, 43,
1805 11, 12, 20, 21, 22, 7, 20, 25, 399, 400,
1806 32, 25, 32, 11, 12, 37, 34, 572, 36, 12,
1807 32, 12, 40, 41, 42, 43, 37, 12, 358, 359,
1808 32, 343, 441, 345, 25, 32, 54, 55, 368, 37,
1809 37, 59, 3, 536, 35, 6, 376, 33, 541, 361,
1810 362, 649, 6, 39, 32, 385, 11, 12, 12, 37,
1811 658, 659, 112, 6, 112, 20, 20, 22, 11, 12,
1812 25, 25, 670, 32, 672, 673, 674, 34, 37, 34,
1813 97, 377, 377, 379, 379, 40, 41, 42, 43, 107,
1814 108, 12, 3, 32, 389, 390, 114, 27, 37, 54,
1815 32, 12, 595, 34, 59, 37, 519, 32, 23, 24,
1816 12, 441, 37, 27, 25, 24, 609, 32, 403, 404,
1817 35, 406, 615, 32, 3, 410, 37, 36, 440, 40,
1818 41, 42, 43, 12, 583, 32, 32, 11, 12, 588,
1819 36, 526, 437, 11, 12, 37, 25, 445, 32, 434,
1820 53, 6, 107, 108, 11, 12, 11, 12, 37, 114,
1821 445, 40, 41, 42, 43, 20, 3, 11, 12, 6,
1822 25, 481, 6, 10, 11, 6, 561, 14, 578, 464,
1823 11, 12, 27, 20, 3, 22, 481, 6, 25, 26,
1824 27, 10, 11, 7, 25, 14, 526, 34, 673, 674,
1825 33, 531, 39, 22, 20, 78, 79, 26, 145, 146,
1826 239, 240, 394, 395, 20, 34, 25, 547, 55, 112,
1827 39, 34, 78, 79, 519, 116, 112, 118, 36, 120,
1828 121, 561, 34, 124, 125, 126, 127, 532, 27, 111,
1829 131, 132, 8, 37, 529, 32, 541, 20, 578, 20,
1830 32, 32, 37, 548, 32, 12, 12, 12, 12, 557,
1831 12, 14, 31, 593, 7, 7, 34, 552, 553, 36,
1832 7, 36, 557, 568, 37, 37, 37, 27, 27, 116,
1833 27, 118, 27, 120, 121, 31, 37, 124, 125, 126,
1834 127, 25, 622, 34, 131, 132, 35, 7, 34, 594,
1835 31, 27, 27, 633, 37, 32, 12, 622, 31, 31,
1836 58, 51, 32, 37, 609, 27, 646, 647, 633, 649,
1837 37, 37, 37, 653, 26, 32, 34, 7, 658, 659,
1838 35, 646, 647, 37, 7, 650, 49, 21, 653, 60,
1839 670, 37, 672, 673, 674, 3, 106, 12, 6, 47,
1840 8, 7, 61, 11, 12, 46, 7, 52, 34, 37,
1841 7, 7, 20, 21, 22, 48, 35, 25, 7, 35,
1842 12, 12, 33, 35, 10, 11, 34, 7, 3, 8,
1843 25, 12, 40, 41, 42, 43, 22, 45, 12, 89,
1844 26, 2, 28, 29, 30, 31, 54, 55, 34, 6,
1845 375, 59, 38, 6, 107, 63, 64, 65, 66, 67,
1846 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1847 78, 79, 80, 81, 82, 83, 84, 85, 127, 87,
1848 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1849 98, 99, 100, 101, 102, 127, 104, 111, 127, 107,
1850 108, 225, 240, 239, 463, 219, 114, 216, 116, 593,
1851 118, 119, 120, 121, 602, 565, 124, 125, 126, 127,
1852 128, 541, 130, 131, 132, 3, 609, 625, 6, 368,
1853 8, 358, 275, 11, 12, 229, 308, 168, 246, 531,
1854 302, -1, 20, 21, 22, -1, 297, 25, 120, -1,
1855 -1, -1, -1, -1, -1, -1, 34, -1, 246, -1,
1856 -1, -1, 40, 41, 42, 43, 44, -1, -1, -1,
1857 -1, -1, -1, -1, -1, -1, 54, 55, -1, -1,
1858 -1, 59, -1, -1, -1, -1, 64, 65, 66, 67,
1859 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1860 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1861 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1862 98, 99, 100, 101, 102, -1, 104, -1, -1, 107,
1863 108, -1, -1, -1, -1, -1, 114, -1, 116, -1,
1864 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1865 128, -1, 130, 131, 132, 3, -1, -1, 6, -1,
1866 8, -1, -1, 11, 12, -1, -1, -1, -1, -1,
1867 -1, -1, 20, 21, 22, -1, -1, 25, -1, -1,
1868 -1, -1, -1, -1, -1, -1, 34, -1, -1, -1,
1869 -1, -1, 40, 41, 42, 43, -1, -1, -1, -1,
1870 -1, -1, -1, -1, -1, -1, 54, 55, -1, -1,
1871 -1, 59, -1, -1, -1, -1, 64, 65, 66, 67,
1872 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1873 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1874 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1875 98, 99, 100, 101, 102, -1, 104, -1, -1, 107,
1876 108, -1, -1, -1, -1, -1, 114, -1, 116, -1,
1877 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1878 128, -1, 130, 131, 132, 3, -1, -1, 6, -1,
1879 8, -1, -1, 11, 12, -1, -1, -1, -1, -1,
1880 -1, -1, 20, 21, 22, -1, -1, 25, -1, -1,
1881 -1, -1, -1, -1, -1, -1, 34, -1, -1, -1,
1882 -1, -1, 40, 41, 42, 43, -1, -1, -1, -1,
1883 -1, -1, -1, -1, -1, -1, 54, 55, -1, -1,
1884 -1, 59, -1, -1, -1, -1, -1, -1, -1, 67,
1885 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1886 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1887 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1888 98, 99, 100, 101, 102, -1, 104, -1, -1, 107,
1889 108, -1, -1, -1, -1, -1, 114, -1, 116, -1,
1890 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1891 128, -1, 130, 131, 132, 3, -1, -1, 6, -1,
1892 8, -1, 10, 11, -1, -1, 14, 12, -1, -1,
1893 -1, -1, 20, -1, 22, 20, -1, -1, 26, 27,
1894 25, -1, -1, -1, -1, -1, 34, -1, -1, -1,
1895 -1, 39, -1, -1, -1, 40, 41, 42, 43, -1,
1896 -1, -1, -1, -1, -1, -1, -1, 55, -1, 54,
1897 -1, -1, -1, -1, 59, -1, -1, -1, 66, 67,
1898 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1899 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1900 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1901 98, 99, 100, 101, 102, 8, 104, -1, -1, -1,
1902 -1, -1, 107, 108, -1, -1, -1, 20, 116, 114,
1903 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1904 128, -1, 130, 131, 132, -1, -1, -1, -1, -1,
1905 -1, -1, -1, -1, -1, 48, -1, 50, -1, -1,
1906 -1, -1, -1, 56, -1, -1, -1, -1, -1, 62,
1907 -1, -1, -1, -1, 67, 68, 69, 70, 71, 72,
1908 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1909 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
1910 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1911 -1, 104, -1, -1, -1, -1, 109, -1, 8, -1,
1912 113, -1, 115, 116, 117, 118, 119, 120, 121, 122,
1913 20, 124, 125, 126, 127, 128, -1, 130, 131, 132,
1914 133, 134, 135, 136, -1, -1, -1, -1, -1, -1,
1915 -1, -1, -1, -1, -1, -1, -1, -1, 48, -1,
1916 50, -1, -1, -1, -1, -1, 56, -1, -1, -1,
1917 -1, -1, 62, -1, -1, -1, -1, 67, 68, 69,
1918 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1919 80, 81, 82, 83, 84, 85, -1, 87, 88, 89,
1920 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1921 100, 101, 102, 8, 104, -1, -1, -1, -1, 109,
1922 -1, -1, -1, 113, -1, 20, 116, 117, 118, 119,
1923 120, 121, 122, -1, 124, 125, 126, 127, 128, -1,
1924 130, 131, 132, 133, 134, 135, 136, -1, -1, -1,
1925 -1, -1, -1, -1, -1, 50, -1, -1, -1, -1,
1926 -1, 56, -1, -1, -1, -1, -1, 62, -1, -1,
1927 -1, -1, 67, 68, 69, 70, 71, 72, 73, 74,
1928 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1929 85, -1, 87, 88, 89, 90, 91, 92, 93, 94,
1930 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
1931 -1, -1, -1, -1, -1, 8, -1, -1, 113, -1,
1932 -1, 116, 117, 118, 119, 120, 121, 20, -1, 124,
1933 125, 126, 127, 128, -1, 130, 131, 132, 133, 134,
1934 135, 136, 35, -1, -1, -1, -1, -1, -1, -1,
1935 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1937 -1, -1, -1, -1, 67, 68, 69, 70, 71, 72,
1938 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1939 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
1940 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1941 6, 104, 8, -1, -1, 11, 12, -1, -1, -1,
1942 -1, -1, -1, 116, 20, 118, 119, 120, 121, 25,
1943 -1, 124, 125, 126, 127, 128, -1, 130, 131, 132,
1944 -1, 134, 135, 136, -1, -1, -1, -1, -1, -1,
1945 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1946 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1947 -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1948 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1949 -1, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1950 96, 97, 98, 99, 100, 101, 102, 6, 104, 8,
1951 -1, -1, 11, 12, -1, -1, -1, -1, -1, -1,
1952 116, 20, 118, 119, 120, 121, -1, -1, 124, 125,
1953 126, 127, 128, 129, 130, 131, 132, -1, -1, -1,
1954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1955 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1956 -1, -1, -1, -1, -1, -1, -1, -1, 67, 68,
1957 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1958 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
1959 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1960 99, 100, 101, 102, 8, 104, -1, -1, -1, -1,
1961 -1, -1, -1, -1, -1, -1, 20, 116, -1, 118,
1962 119, 120, 121, -1, -1, 124, 125, 126, 127, 128,
1963 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
1964 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1965 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1966 64, 65, -1, 67, 68, 69, 70, 71, 72, 73,
1967 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1968 84, 85, -1, 87, 88, 89, 90, 91, 92, 93,
1969 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
1970 104, 8, -1, -1, -1, -1, -1, -1, -1, -1,
1971 -1, -1, 116, 20, 118, 119, 120, 121, -1, -1,
1972 124, 125, 126, 127, 128, -1, 130, 131, 132, -1,
1973 37, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1974 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1975 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1976 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1977 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
1978 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1979 97, 98, 99, 100, 101, 102, -1, 104, 8, -1,
1980 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
1981 20, 118, 119, 120, 121, -1, -1, 124, 125, 126,
1982 127, 128, 129, 130, 131, 132, -1, 37, -1, -1,
1983 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1984 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1985 -1, -1, -1, -1, -1, -1, -1, 67, 68, 69,
1986 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1987 80, 81, 82, 83, 84, 85, -1, 87, 88, 89,
1988 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1989 100, 101, 102, -1, 104, 8, -1, -1, -1, -1,
1990 -1, -1, -1, -1, -1, -1, 116, 20, 118, 119,
1991 120, 121, -1, -1, 124, 125, 126, 127, 128, 129,
1992 130, 131, 132, -1, 37, -1, -1, -1, -1, -1,
1993 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1994 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1995 -1, -1, -1, -1, 67, 68, 69, 70, 71, 72,
1996 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1997 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
1998 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1999 -1, 104, 8, -1, -1, -1, -1, -1, -1, -1,
2000 -1, -1, -1, 116, 20, 118, 119, 120, 121, -1,
2001 -1, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2002 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1,
2003 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2004 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2005 -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2006 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2007 -1, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2008 96, 97, 98, 99, 100, 101, 102, 8, 104, -1,
2009 -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
2010 116, -1, 118, 119, 120, 121, -1, -1, 124, 125,
2011 126, 127, 128, 129, 130, 131, 132, -1, -1, -1,
2012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2013 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2014 -1, -1, -1, -1, -1, -1, 67, 68, 69, 70,
2015 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2016 81, 82, 83, 84, 85, -1, 87, 88, 89, 90,
2017 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2018 101, 102, 8, 104, -1, -1, -1, -1, -1, -1,
2019 -1, -1, -1, -1, 20, 116, -1, 118, 119, 120,
2020 121, -1, -1, 124, 125, 126, 127, 128, 129, 130,
2021 131, 132, -1, -1, -1, -1, -1, -1, -1, -1,
2022 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2023 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2024 -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2025 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2026 -1, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2027 96, 97, 98, 99, 100, 101, 102, 8, 104, -1,
2028 -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
2029 116, -1, 118, 119, 120, 121, -1, 123, 124, 125,
2030 126, 127, 128, -1, 130, 131, 132, -1, -1, -1,
2031 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2033 -1, -1, -1, -1, -1, -1, 67, 68, 69, 70,
2034 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2035 81, 82, 83, 84, 85, -1, 87, 88, 89, 90,
2036 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2037 101, 102, -1, 104, -1, -1, -1, -1, -1, 8,
2038 -1, -1, -1, -1, -1, 116, -1, 118, 119, 120,
2039 121, 20, -1, 124, 125, 126, 127, 128, 129, 130,
2040 131, 132, -1, -1, -1, -1, 35, -1, -1, -1,
2041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2042 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2043 -1, -1, -1, -1, -1, -1, -1, -1, 67, 68,
2044 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2045 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
2046 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2047 99, 100, 101, 102, -1, 104, -1, -1, -1, -1,
2048 -1, 8, -1, -1, -1, -1, -1, 116, -1, 118,
2049 119, 120, 121, 20, -1, 124, 125, 126, 127, 128,
2050 -1, 130, 131, 132, -1, -1, -1, -1, 35, -1,
2051 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2053 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2054 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2055 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
2056 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2057 97, 98, 99, 100, 101, 102, 8, 104, -1, -1,
2058 -1, -1, -1, -1, -1, -1, -1, -1, 20, 116,
2059 -1, 118, 119, 120, 121, -1, -1, 124, 125, 126,
2060 127, 128, -1, 130, 131, 132, -1, -1, -1, -1,
2061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2063 -1, -1, -1, -1, 66, 67, 68, 69, 70, 71,
2064 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2065 82, 83, 84, 85, -1, 87, 88, 89, 90, 91,
2066 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2067 102, 8, 104, -1, -1, -1, -1, -1, -1, -1,
2068 -1, -1, -1, 20, 116, -1, 118, 119, 120, 121,
2069 -1, -1, 124, 125, 126, 127, 128, -1, 130, 131,
2070 132, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2071 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2072 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2073 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2074 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
2075 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2076 97, 98, 99, 100, 101, 102, -1, 104, -1, -1,
2077 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
2078 -1, 118, 119, 120, 121, -1, -1, 124, 125, 126,
2079 127, 128, -1, 130, 131, 132, 3, -1, -1, 6,
2080 -1, -1, -1, -1, 11, 12, -1, -1, -1, -1,
2081 -1, -1, -1, 20, 21, 22, 23, -1, 25, -1,
2082 -1, -1, 3, -1, -1, 6, -1, 34, 35, -1,
2083 11, 12, -1, 40, 41, 42, 43, -1, -1, 20,
2084 21, 22, -1, -1, 25, -1, -1, 54, 55, -1,
2085 -1, -1, 59, 34, -1, 36, -1, -1, -1, 40,
2086 41, 42, 43, -1, -1, -1, -1, -1, -1, -1,
2087 -1, -1, 3, 54, 55, 6, -1, -1, 59, -1,
2088 11, 12, -1, -1, -1, -1, -1, -1, -1, 20,
2089 21, 22, -1, -1, 25, -1, -1, -1, -1, -1,
2090 107, 108, -1, 34, -1, 36, -1, 114, -1, 40,
2091 41, 42, 43, 3, -1, -1, 6, -1, -1, -1,
2092 -1, 11, 12, 54, 55, -1, 107, 108, 59, -1,
2093 20, 21, 22, 114, -1, 25, -1, -1, -1, -1,
2094 -1, -1, -1, -1, 34, -1, -1, -1, -1, -1,
2095 40, 41, 42, 43, -1, -1, -1, -1, -1, -1,
2096 -1, -1, -1, 3, 54, 55, 6, -1, -1, 59,
2097 -1, 11, 12, -1, -1, -1, 107, 108, -1, -1,
2098 20, -1, 22, 114, -1, 25, -1, -1, -1, -1,
2099 -1, -1, -1, -1, 34, -1, -1, -1, -1, -1,
2100 40, 41, 42, 43, -1, -1, -1, -1, -1, -1,
2101 -1, -1, -1, -1, 54, -1, -1, 107, 108, 59,
2102 -1, -1, -1, -1, 114, -1, -1, -1, -1, -1,
2103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2104 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2106 -1, -1, -1, -1, -1, -1, -1, 107, 108, -1,
2110 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2111 symbol of state STATE-NUM. */
2112 static const yytype_uint16 yystos[] =
2114 0, 138, 140, 0, 57, 115, 139, 141, 145, 146,
2115 3, 20, 25, 43, 176, 177, 179, 284, 12, 180,
2116 181, 284, 290, 8, 20, 48, 50, 56, 62, 67,
2117 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2118 78, 79, 80, 81, 82, 83, 84, 85, 87, 88,
2119 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2120 99, 100, 101, 102, 104, 109, 113, 116, 117, 118,
2121 119, 120, 121, 122, 124, 125, 126, 127, 128, 130,
2122 131, 132, 133, 134, 135, 136, 142, 147, 148, 152,
2123 155, 156, 157, 158, 159, 162, 164, 173, 224, 225,
2124 226, 227, 228, 231, 239, 179, 7, 32, 182, 290,
2125 7, 32, 12, 97, 228, 229, 231, 239, 25, 284,
2126 285, 288, 228, 171, 165, 167, 62, 153, 228, 228,
2127 234, 284, 287, 25, 286, 234, 287, 234, 287, 228,
2128 143, 143, 228, 224, 228, 6, 12, 20, 190, 191,
2129 241, 242, 243, 286, 7, 7, 3, 177, 32, 37,
2130 181, 3, 6, 10, 11, 14, 22, 26, 27, 34,
2131 39, 55, 66, 183, 184, 185, 186, 228, 246, 250,
2132 251, 253, 265, 6, 230, 31, 288, 12, 190, 241,
2133 112, 112, 97, 169, 154, 155, 156, 157, 159, 174,
2134 190, 34, 12, 232, 233, 190, 144, 146, 147, 152,
2135 241, 242, 243, 242, 243, 7, 32, 33, 192, 11,
2136 12, 249, 12, 249, 290, 12, 284, 27, 254, 255,
2137 284, 10, 11, 26, 251, 253, 27, 228, 37, 32,
2138 32, 6, 12, 247, 248, 249, 53, 254, 27, 6,
2139 229, 7, 129, 207, 208, 209, 228, 245, 7, 20,
2140 20, 112, 112, 220, 221, 241, 7, 25, 240, 123,
2141 149, 150, 151, 245, 34, 34, 7, 192, 37, 37,
2142 191, 11, 12, 21, 25, 40, 41, 42, 43, 54,
2143 55, 59, 107, 108, 114, 188, 189, 251, 261, 262,
2144 263, 264, 265, 266, 269, 270, 271, 272, 274, 277,
2145 278, 279, 280, 284, 286, 291, 64, 65, 160, 193,
2146 228, 36, 189, 37, 208, 37, 208, 183, 36, 24,
2147 32, 256, 284, 254, 284, 254, 27, 111, 247, 185,
2148 246, 186, 246, 248, 208, 248, 12, 249, 187, 224,
2149 250, 291, 23, 35, 252, 8, 37, 32, 6, 12,
2150 20, 242, 244, 247, 172, 166, 20, 20, 32, 175,
2151 222, 32, 238, 245, 37, 32, 228, 235, 236, 235,
2152 161, 36, 261, 273, 262, 281, 12, 262, 12, 12,
2153 12, 252, 273, 14, 33, 39, 266, 269, 265, 267,
2154 268, 274, 274, 31, 10, 11, 26, 28, 29, 30,
2155 31, 38, 270, 276, 12, 280, 12, 7, 7, 34,
2156 190, 36, 37, 37, 37, 27, 27, 36, 252, 27,
2157 37, 37, 37, 208, 31, 257, 27, 192, 129, 245,
2158 244, 6, 12, 249, 7, 34, 215, 215, 168, 170,
2159 221, 7, 34, 223, 25, 35, 7, 151, 237, 241,
2160 35, 236, 35, 34, 31, 36, 256, 37, 282, 283,
2161 286, 262, 275, 111, 261, 20, 228, 261, 44, 64,
2162 65, 66, 203, 204, 229, 261, 252, 262, 264, 264,
2163 269, 265, 265, 284, 289, 284, 36, 275, 284, 289,
2164 274, 260, 261, 275, 194, 7, 27, 27, 51, 37,
2165 258, 259, 289, 163, 37, 208, 35, 178, 179, 216,
2166 215, 215, 58, 217, 218, 7, 32, 194, 289, 31,
2167 261, 32, 31, 32, 37, 262, 32, 37, 37, 37,
2168 229, 32, 37, 269, 36, 37, 37, 60, 105, 195,
2169 196, 27, 26, 32, 34, 37, 7, 32, 35, 35,
2170 159, 228, 219, 35, 241, 196, 289, 283, 66, 199,
2171 228, 262, 51, 261, 204, 197, 198, 286, 228, 49,
2172 200, 289, 289, 196, 179, 7, 241, 280, 200, 199,
2173 262, 37, 7, 32, 31, 46, 190, 260, 106, 201,
2174 201, 12, 201, 198, 199, 261, 7, 7, 260, 61,
2175 202, 47, 210, 260, 202, 46, 7, 45, 63, 203,
2176 52, 205, 34, 205, 37, 205, 261, 7, 7, 7,
2177 260, 48, 206, 12, 25, 211, 212, 285, 286, 35,
2178 206, 7, 260, 35, 211, 6, 7, 8, 35, 12,
2179 33, 35, 7, 7, 37, 35, 211, 211, 3, 12,
2180 37, 213, 214, 278, 285, 286, 25, 285, 214, 214,
2181 32, 37, 3, 12, 12, 37, 214, 214, 37, 213,
2185 #define yyerrok (yyerrstatus = 0)
2186 #define yyclearin (yychar = YYEMPTY)
2187 #define YYEMPTY (-2)
2190 #define YYACCEPT goto yyacceptlab
2191 #define YYABORT goto yyabortlab
2192 #define YYERROR goto yyerrorlab
2195 /* Like YYERROR except do call yyerror. This remains here temporarily
2196 to ease the transition to the new meaning of YYERROR, for GCC.
2197 Once GCC version 2 has supplanted version 1, this can go. */
2199 #define YYFAIL goto yyerrlab
2201 #define YYRECOVERING() (!!yyerrstatus)
2203 #define YYBACKUP(Token, Value) \
2205 if (yychar == YYEMPTY && yylen == 1) \
2209 yytoken = YYTRANSLATE (yychar); \
2215 yyerror (YY_("syntax error: cannot back up")); \
2222 #define YYERRCODE 256
2225 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2226 If N is 0, then set CURRENT to the empty location which ends
2227 the previous symbol: RHS[0] (always defined). */
2229 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2230 #ifndef YYLLOC_DEFAULT
2231 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2235 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2236 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2237 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2238 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2242 (Current).first_line = (Current).last_line = \
2243 YYRHSLOC (Rhs, 0).last_line; \
2244 (Current).first_column = (Current).last_column = \
2245 YYRHSLOC (Rhs, 0).last_column; \
2251 /* YY_LOCATION_PRINT -- Print the location on the stream.
2252 This macro was not mandated originally: define only if we know
2253 we won't break user code: when these are the locations we know. */
2255 #ifndef YY_LOCATION_PRINT
2256 # if YYLTYPE_IS_TRIVIAL
2257 # define YY_LOCATION_PRINT(File, Loc) \
2258 fprintf (File, "%d.%d-%d.%d", \
2259 (Loc).first_line, (Loc).first_column, \
2260 (Loc).last_line, (Loc).last_column)
2262 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2267 /* YYLEX -- calling `yylex' with the right arguments. */
2270 # define YYLEX yylex (YYLEX_PARAM)
2272 # define YYLEX yylex ()
2275 /* Enable debugging if requested. */
2279 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2280 # define YYFPRINTF fprintf
2283 # define YYDPRINTF(Args) \
2289 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2293 YYFPRINTF (stderr, "%s ", Title); \
2294 yy_symbol_print (stderr, \
2296 YYFPRINTF (stderr, "\n"); \
2301 /*--------------------------------.
2302 | Print this symbol on YYOUTPUT. |
2303 `--------------------------------*/
2306 #if (defined __STDC__ || defined __C99__FUNC__ \
2307 || defined __cplusplus || defined _MSC_VER)
2309 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2312 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2315 YYSTYPE const * const yyvaluep;
2321 if (yytype < YYNTOKENS)
2322 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2334 /*--------------------------------.
2335 | Print this symbol on YYOUTPUT. |
2336 `--------------------------------*/
2338 #if (defined __STDC__ || defined __C99__FUNC__ \
2339 || defined __cplusplus || defined _MSC_VER)
2341 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2344 yy_symbol_print (yyoutput, yytype, yyvaluep)
2347 YYSTYPE const * const yyvaluep;
2350 if (yytype < YYNTOKENS)
2351 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2353 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2355 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2356 YYFPRINTF (yyoutput, ")");
2359 /*------------------------------------------------------------------.
2360 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2362 `------------------------------------------------------------------*/
2364 #if (defined __STDC__ || defined __C99__FUNC__ \
2365 || defined __cplusplus || defined _MSC_VER)
2367 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2370 yy_stack_print (bottom, top)
2371 yytype_int16 *bottom;
2375 YYFPRINTF (stderr, "Stack now");
2376 for (; bottom <= top; ++bottom)
2377 YYFPRINTF (stderr, " %d", *bottom);
2378 YYFPRINTF (stderr, "\n");
2381 # define YY_STACK_PRINT(Bottom, Top) \
2384 yy_stack_print ((Bottom), (Top)); \
2388 /*------------------------------------------------.
2389 | Report that the YYRULE is going to be reduced. |
2390 `------------------------------------------------*/
2392 #if (defined __STDC__ || defined __C99__FUNC__ \
2393 || defined __cplusplus || defined _MSC_VER)
2395 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2398 yy_reduce_print (yyvsp, yyrule)
2403 int yynrhs = yyr2[yyrule];
2405 unsigned long int yylno = yyrline[yyrule];
2406 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2408 /* The symbols being reduced. */
2409 for (yyi = 0; yyi < yynrhs; yyi++)
2411 fprintf (stderr, " $%d = ", yyi + 1);
2412 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2413 &(yyvsp[(yyi + 1) - (yynrhs)])
2415 fprintf (stderr, "\n");
2419 # define YY_REDUCE_PRINT(Rule) \
2422 yy_reduce_print (yyvsp, Rule); \
2425 /* Nonzero means print parse trace. It is left uninitialized so that
2426 multiple parsers can coexist. */
2428 #else /* !YYDEBUG */
2429 # define YYDPRINTF(Args)
2430 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2431 # define YY_STACK_PRINT(Bottom, Top)
2432 # define YY_REDUCE_PRINT(Rule)
2433 #endif /* !YYDEBUG */
2436 /* YYINITDEPTH -- initial size of the parser's stacks. */
2438 # define YYINITDEPTH 200
2441 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2442 if the built-in stack extension method is used).
2444 Do not make this value too large; the results are undefined if
2445 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2446 evaluated with infinite-precision integer arithmetic. */
2449 # define YYMAXDEPTH 10000
2457 # if defined __GLIBC__ && defined _STRING_H
2458 # define yystrlen strlen
2460 /* Return the length of YYSTR. */
2461 #if (defined __STDC__ || defined __C99__FUNC__ \
2462 || defined __cplusplus || defined _MSC_VER)
2464 yystrlen (const char *yystr)
2472 for (yylen = 0; yystr[yylen]; yylen++)
2480 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2481 # define yystpcpy stpcpy
2483 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2485 #if (defined __STDC__ || defined __C99__FUNC__ \
2486 || defined __cplusplus || defined _MSC_VER)
2488 yystpcpy (char *yydest, const char *yysrc)
2491 yystpcpy (yydest, yysrc)
2497 const char *yys = yysrc;
2499 while ((*yyd++ = *yys++) != '\0')
2508 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2509 quotes and backslashes, so that it's suitable for yyerror. The
2510 heuristic is that double-quoting is unnecessary unless the string
2511 contains an apostrophe, a comma, or backslash (other than
2512 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2513 null, do not copy; instead, return the length of what the result
2516 yytnamerr (char *yyres, const char *yystr)
2521 char const *yyp = yystr;
2528 goto do_not_strip_quotes;
2532 goto do_not_strip_quotes;
2545 do_not_strip_quotes: ;
2549 return yystrlen (yystr);
2551 return yystpcpy (yyres, yystr) - yyres;
2555 /* Copy into YYRESULT an error message about the unexpected token
2556 YYCHAR while in state YYSTATE. Return the number of bytes copied,
2557 including the terminating null byte. If YYRESULT is null, do not
2558 copy anything; just return the number of bytes that would be
2559 copied. As a special case, return 0 if an ordinary "syntax error"
2560 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
2561 size calculation. */
2563 yysyntax_error (char *yyresult, int yystate, int yychar)
2565 int yyn = yypact[yystate];
2567 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2571 int yytype = YYTRANSLATE (yychar);
2572 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2573 YYSIZE_T yysize = yysize0;
2575 int yysize_overflow = 0;
2576 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2577 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2581 /* This is so xgettext sees the translatable formats that are
2582 constructed on the fly. */
2583 YY_("syntax error, unexpected %s");
2584 YY_("syntax error, unexpected %s, expecting %s");
2585 YY_("syntax error, unexpected %s, expecting %s or %s");
2586 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2587 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2591 static char const yyunexpected[] = "syntax error, unexpected %s";
2592 static char const yyexpecting[] = ", expecting %s";
2593 static char const yyor[] = " or %s";
2594 char yyformat[sizeof yyunexpected
2595 + sizeof yyexpecting - 1
2596 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2597 * (sizeof yyor - 1))];
2598 char const *yyprefix = yyexpecting;
2600 /* Start YYX at -YYN if negative to avoid negative indexes in
2602 int yyxbegin = yyn < 0 ? -yyn : 0;
2604 /* Stay within bounds of both yycheck and yytname. */
2605 int yychecklim = YYLAST - yyn + 1;
2606 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2609 yyarg[0] = yytname[yytype];
2610 yyfmt = yystpcpy (yyformat, yyunexpected);
2612 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2613 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2615 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2619 yyformat[sizeof yyunexpected - 1] = '\0';
2622 yyarg[yycount++] = yytname[yyx];
2623 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2624 yysize_overflow |= (yysize1 < yysize);
2626 yyfmt = yystpcpy (yyfmt, yyprefix);
2630 yyf = YY_(yyformat);
2631 yysize1 = yysize + yystrlen (yyf);
2632 yysize_overflow |= (yysize1 < yysize);
2635 if (yysize_overflow)
2636 return YYSIZE_MAXIMUM;
2640 /* Avoid sprintf, as that infringes on the user's name space.
2641 Don't have undefined behavior even if the translation
2642 produced a string with the wrong number of "%s"s. */
2643 char *yyp = yyresult;
2645 while ((*yyp = *yyf) != '\0')
2647 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2649 yyp += yytnamerr (yyp, yyarg[yyi++]);
2662 #endif /* YYERROR_VERBOSE */
2665 /*-----------------------------------------------.
2666 | Release the memory associated to this symbol. |
2667 `-----------------------------------------------*/
2670 #if (defined __STDC__ || defined __C99__FUNC__ \
2671 || defined __cplusplus || defined _MSC_VER)
2673 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2676 yydestruct (yymsg, yytype, yyvaluep)
2686 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2697 /* Prevent warnings from -Wmissing-prototypes. */
2699 #ifdef YYPARSE_PARAM
2700 #if defined __STDC__ || defined __cplusplus
2701 int yyparse (void *YYPARSE_PARAM);
2705 #else /* ! YYPARSE_PARAM */
2706 #if defined __STDC__ || defined __cplusplus
2711 #endif /* ! YYPARSE_PARAM */
2715 /* The look-ahead symbol. */
2718 /* The semantic value of the look-ahead symbol. */
2721 /* Number of syntax errors so far. */
2730 #ifdef YYPARSE_PARAM
2731 #if (defined __STDC__ || defined __C99__FUNC__ \
2732 || defined __cplusplus || defined _MSC_VER)
2734 yyparse (void *YYPARSE_PARAM)
2737 yyparse (YYPARSE_PARAM)
2738 void *YYPARSE_PARAM;
2740 #else /* ! YYPARSE_PARAM */
2741 #if (defined __STDC__ || defined __C99__FUNC__ \
2742 || defined __cplusplus || defined _MSC_VER)
2756 /* Number of tokens to shift before error messages enabled. */
2758 /* Look-ahead token as an internal (translated) token number. */
2761 /* Buffer for error messages, and its allocated size. */
2763 char *yymsg = yymsgbuf;
2764 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2767 /* Three stacks and their tools:
2768 `yyss': related to states,
2769 `yyvs': related to semantic values,
2770 `yyls': related to locations.
2772 Refer to the stacks thru separate pointers, to allow yyoverflow
2773 to reallocate them elsewhere. */
2775 /* The state stack. */
2776 yytype_int16 yyssa[YYINITDEPTH];
2777 yytype_int16 *yyss = yyssa;
2778 yytype_int16 *yyssp;
2780 /* The semantic value stack. */
2781 YYSTYPE yyvsa[YYINITDEPTH];
2782 YYSTYPE *yyvs = yyvsa;
2787 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
2789 YYSIZE_T yystacksize = YYINITDEPTH;
2791 /* The variables used to return semantic value and location from the
2796 /* The number of symbols on the RHS of the reduced rule.
2797 Keep to zero when no symbol should be popped. */
2800 YYDPRINTF ((stderr, "Starting parse\n"));
2805 yychar = YYEMPTY; /* Cause a token to be read. */
2807 /* Initialize stack pointers.
2808 Waste one element of value and location stack
2809 so that they stay on the same level as the state stack.
2810 The wasted elements are never initialized. */
2817 /*------------------------------------------------------------.
2818 | yynewstate -- Push a new state, which is found in yystate. |
2819 `------------------------------------------------------------*/
2821 /* In all cases, when you get here, the value and location stacks
2822 have just been pushed. So pushing a state here evens the stacks. */
2828 if (yyss + yystacksize - 1 <= yyssp)
2830 /* Get the current used size of the three stacks, in elements. */
2831 YYSIZE_T yysize = yyssp - yyss + 1;
2835 /* Give user a chance to reallocate the stack. Use copies of
2836 these so that the &'s don't force the real ones into
2838 YYSTYPE *yyvs1 = yyvs;
2839 yytype_int16 *yyss1 = yyss;
2842 /* Each stack pointer address is followed by the size of the
2843 data in use in that stack, in bytes. This used to be a
2844 conditional around just the two extra args, but that might
2845 be undefined if yyoverflow is a macro. */
2846 yyoverflow (YY_("memory exhausted"),
2847 &yyss1, yysize * sizeof (*yyssp),
2848 &yyvs1, yysize * sizeof (*yyvsp),
2855 #else /* no yyoverflow */
2856 # ifndef YYSTACK_RELOCATE
2857 goto yyexhaustedlab;
2859 /* Extend the stack our own way. */
2860 if (YYMAXDEPTH <= yystacksize)
2861 goto yyexhaustedlab;
2863 if (YYMAXDEPTH < yystacksize)
2864 yystacksize = YYMAXDEPTH;
2867 yytype_int16 *yyss1 = yyss;
2868 union yyalloc *yyptr =
2869 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2871 goto yyexhaustedlab;
2872 YYSTACK_RELOCATE (yyss);
2873 YYSTACK_RELOCATE (yyvs);
2875 # undef YYSTACK_RELOCATE
2877 YYSTACK_FREE (yyss1);
2880 #endif /* no yyoverflow */
2882 yyssp = yyss + yysize - 1;
2883 yyvsp = yyvs + yysize - 1;
2886 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2887 (unsigned long int) yystacksize));
2889 if (yyss + yystacksize - 1 <= yyssp)
2893 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2902 /* Do appropriate processing given the current state. Read a
2903 look-ahead token if we need one and don't already have one. */
2905 /* First try to decide what to do without reference to look-ahead token. */
2906 yyn = yypact[yystate];
2907 if (yyn == YYPACT_NINF)
2910 /* Not known => get a look-ahead token if don't already have one. */
2912 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
2913 if (yychar == YYEMPTY)
2915 YYDPRINTF ((stderr, "Reading a token: "));
2919 if (yychar <= YYEOF)
2921 yychar = yytoken = YYEOF;
2922 YYDPRINTF ((stderr, "Now at end of input.\n"));
2926 yytoken = YYTRANSLATE (yychar);
2927 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2930 /* If the proper action on seeing token YYTOKEN is to reduce or to
2931 detect an error, take that action. */
2933 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2938 if (yyn == 0 || yyn == YYTABLE_NINF)
2947 /* Count tokens shifted since error; after three, turn off error
2952 /* Shift the look-ahead token. */
2953 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2955 /* Discard the shifted token unless it is eof. */
2956 if (yychar != YYEOF)
2965 /*-----------------------------------------------------------.
2966 | yydefault -- do the default action for the current state. |
2967 `-----------------------------------------------------------*/
2969 yyn = yydefact[yystate];
2975 /*-----------------------------.
2976 | yyreduce -- Do a reduction. |
2977 `-----------------------------*/
2979 /* yyn is the number of a rule to reduce with. */
2982 /* If YYLEN is nonzero, implement the default value of the action:
2985 Otherwise, the following line sets YYVAL to garbage.
2986 This behavior is undocumented and Bison
2987 users should not rely upon it. Assigning to YYVAL
2988 unconditionally makes the parser a bit smaller, and it avoids a
2989 GCC warning that YYVAL may be used uninitialized. */
2990 yyval = yyvsp[1-yylen];
2993 YY_REDUCE_PRINT (yyn);
2998 { lhExternals ((yyvsp[(1) - (1)].interfacelist)); ;}
3003 { interfaceNodeList_free ((yyvsp[(1) - (3)].interfacelist)); interfaceNodeList_free ((yyvsp[(3) - (3)].interfacelist)); ;}
3008 { (yyval.interfacelist) = interfaceNodeList_new (); ;}
3013 { (yyval.interfacelist) = interfaceNodeList_addh ((yyvsp[(1) - (2)].interfacelist), (yyvsp[(2) - (2)].iface));;}
3018 { (yyval.interfacelist) = interfaceNodeList_new (); ;}
3023 { (yyval.interfacelist) = consInterfaceNode ((yyvsp[(1) - (2)].iface), (yyvsp[(2) - (2)].interfacelist));;}
3028 { (yyval.interfacelist) = consInterfaceNode ((yyvsp[(1) - (2)].iface), (yyvsp[(2) - (2)].interfacelist));;}
3033 { (yyval.interfacelist) = interfaceNodeList_new (); ;}
3038 { (yyval.interfacelist) = interfaceNodeList_addh ((yyvsp[(1) - (2)].interfacelist), (yyvsp[(2) - (2)].iface));;}
3043 { (yyval.iface) = makeInterfaceNodeImports ((yyvsp[(2) - (3)].importlist));
3044 /* assume subspecs are already processed, symbol table info in external file */
3050 { (yyval.iface) = makeInterfaceNodeUses ((yyvsp[(2) - (3)].traitreflist)); readlsignatures ((yyval.iface));;}
3055 { declareConstant ((yyvsp[(1) - (1)].constdeclaration)); (yyval.iface) = interfaceNode_makeConst ((yyvsp[(1) - (1)].constdeclaration)); ;}
3060 { declareVar ((yyvsp[(1) - (1)].vardeclaration)); (yyval.iface) = interfaceNode_makeVar ((yyvsp[(1) - (1)].vardeclaration)); ;}
3065 { declareType ((yyvsp[(1) - (1)].type)); (yyval.iface) = interfaceNode_makeType ((yyvsp[(1) - (1)].type)); ;}
3070 { declareFcn ((yyvsp[(1) - (1)].fcn), typeId_invalid); (yyval.iface) = interfaceNode_makeFcn ((yyvsp[(1) - (1)].fcn)); ;}
3075 { (yyval.iface) = interfaceNode_makeClaim ((yyvsp[(1) - (1)].claim)); ;}
3080 { declareIter ((yyvsp[(1) - (1)].iter)); (yyval.iface) = interfaceNode_makeIter ((yyvsp[(1) - (1)].iter)); ;}
3085 { (yyval.iter) = makeIterNode ((yyvsp[(2) - (6)].ltok), (yyvsp[(4) - (6)].paramlist)); ;}
3090 { (yyval.paramlist) = paramNodeList_new (); ;}
3095 { (yyval.paramlist) = (yyvsp[(1) - (1)].paramlist); ;}
3100 { (yyval.paramlist) = paramNodeList_add (paramNodeList_new (), (yyvsp[(1) - (1)].param)); ;}
3105 { (yyval.paramlist) = paramNodeList_add ((yyvsp[(1) - (3)].paramlist),(yyvsp[(3) - (3)].param)); ;}
3110 { (yyval.param) = markYieldParamNode ((yyvsp[(2) - (2)].param)); ;}
3115 { (yyval.param) = (yyvsp[(1) - (1)].param); ;}
3120 { symtable_export (g_symtab, FALSE); ;}
3125 { (yyval.iface) = (yyvsp[(3) - (3)].iface); symtable_export (g_symtab, TRUE); ;}
3130 { declarePrivConstant ((yyvsp[(1) - (1)].constdeclaration)); (yyval.iface) = interfaceNode_makePrivConst ((yyvsp[(1) - (1)].constdeclaration)); ;}
3135 { declarePrivVar ((yyvsp[(1) - (1)].vardeclaration)); (yyval.iface) = interfaceNode_makePrivVar ((yyvsp[(1) - (1)].vardeclaration)); ;}
3140 { declarePrivType ((yyvsp[(1) - (1)].type)); (yyval.iface) = interfaceNode_makePrivType ((yyvsp[(1) - (1)].type)); ;}
3145 { declarePrivFcn ((yyvsp[(1) - (1)].fcn), typeId_invalid); (yyval.iface) = interfaceNode_makePrivFcn ((yyvsp[(1) - (1)].fcn)); ;}
3150 { (yyval.constdeclaration) = makeConstDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls)); ;}
3155 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].initdecls), FALSE, FALSE); (yyval.vardeclaration)->qualifier = QLF_NONE; ;}
3160 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls), FALSE, FALSE); (yyval.vardeclaration)->qualifier = QLF_CONST; ;}
3165 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls), FALSE, FALSE); (yyval.vardeclaration)->qualifier = QLF_VOLATILE; ;}
3170 { (yyval.type) = makeAbstractTypeNode ((yyvsp[(1) - (1)].abstract)); ;}
3175 { (yyval.type) = makeExposedTypeNode ((yyvsp[(1) - (1)].exposed)); ;}
3180 { (yyval.typequal) = qual_createPrintfLike (); ;}
3185 { (yyval.typequal) = qual_createScanfLike (); ;}
3190 { (yyval.typequal) = qual_createMessageLike (); ;}
3195 { enteringFcnScope ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].declare), (yyvsp[(3) - (3)].globals)); ;}
3200 { (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),
3201 (yyvsp[(8) - (13)].lclpredicate), (yyvsp[(9) - (13)].lclpredicate), (yyvsp[(10) - (13)].modify), (yyvsp[(11) - (13)].lclpredicate), (yyvsp[(12) - (13)].lclpredicate));
3202 /* type, declarator, glovbls, privateinits,
3203 lets, checks, requires, modifies, ensures, claims */
3204 symtable_exitScope (g_symtab);
3210 { enteringFcnScope ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].declare), (yyvsp[(4) - (4)].globals)); ;}
3215 { (yyval.fcn) = makeFcnNode ((yyvsp[(1) - (14)].typequal), (yyvsp[(2) - (14)].lcltypespec), (yyvsp[(3) - (14)].declare), (yyvsp[(4) - (14)].globals), (yyvsp[(7) - (14)].vardeclarationlist),
3216 (yyvsp[(8) - (14)].letdecls), (yyvsp[(9) - (14)].lclpredicate), (yyvsp[(10) - (14)].lclpredicate), (yyvsp[(11) - (14)].modify), (yyvsp[(12) - (14)].lclpredicate), (yyvsp[(13) - (14)].lclpredicate));
3217 /* type, declarator, glovbls, privateinits,
3218 lets, checks, requires, modifies, ensures, claims */
3219 symtable_exitScope (g_symtab);
3225 { enteringClaimScope ((yyvsp[(4) - (6)].paramlist), (yyvsp[(6) - (6)].globals)); ;}
3230 { (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));
3231 symtable_exitScope (g_symtab); ;}
3236 { (yyval.claim) = (claimNode) 0; ;}
3241 {g_inTypeDef = TRUE; ;}
3246 {g_inTypeDef = FALSE; ;}
3251 { (yyval.abstract) = makeAbstractNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(4) - (6)].ltok), TRUE, FALSE, (yyvsp[(6) - (6)].abstbody)); ;}
3256 {g_inTypeDef = TRUE; ;}
3261 {g_inTypeDef = FALSE; ;}
3266 { (yyval.abstract) = makeAbstractNode ((yyvsp[(1) - (7)].ltok), (yyvsp[(5) - (7)].ltok), TRUE, TRUE, (yyvsp[(7) - (7)].abstbody)); ;}
3271 {g_inTypeDef = TRUE; ;}
3276 {g_inTypeDef = FALSE; ;}
3281 { (yyval.abstract) = makeAbstractNode ((yyvsp[(2) - (7)].ltok), (yyvsp[(5) - (7)].ltok), TRUE, TRUE, (yyvsp[(7) - (7)].abstbody)); ;}
3286 {g_inTypeDef = TRUE; ;}
3291 {g_inTypeDef = FALSE; ;}
3296 { (yyval.abstract) = makeAbstractNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(4) - (6)].ltok), FALSE, FALSE, (yyvsp[(6) - (6)].abstbody)); ;}
3301 { g_inTypeDef = TRUE; setExposedType ((yyvsp[(2) - (2)].lcltypespec)); ;}
3306 { g_inTypeDef = FALSE; ;}
3311 { (yyval.exposed) = makeExposedNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(2) - (6)].lcltypespec), (yyvsp[(4) - (6)].declaratorinvs)); /* to support mutually recursive types */ ;}
3316 { (yyval.exposed) = makeExposedNode ((yyvsp[(2) - (2)].ltok), makeLclTypeSpecNodeSU ((yyvsp[(1) - (2)].structorunion)), declaratorInvNodeList_new ()); ;}
3321 { (yyval.exposed) = makeExposedNode ((yyvsp[(2) - (2)].ltok), makeLclTypeSpecNodeEnum ((yyvsp[(1) - (2)].enumspec)), declaratorInvNodeList_new ()); ;}
3326 { (yyval.importlist) = importNodeList_add (importNodeList_new (), (yyvsp[(1) - (1)].import)); ;}
3331 { (yyval.importlist) = importNodeList_add ((yyvsp[(1) - (3)].importlist), (yyvsp[(3) - (3)].import)); ;}
3336 { (yyval.import) = importNode_makePlain ((yyvsp[(1) - (1)].ltok)); ;}
3341 { checkBrackets ((yyvsp[(1) - (3)].ltok), (yyvsp[(3) - (3)].ltok)); (yyval.import) = importNode_makeBracketed ((yyvsp[(2) - (3)].ltok)); ;}
3346 { (yyval.import) = importNode_makeQuoted ((yyvsp[(1) - (1)].ltok)); ;}
3351 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
3356 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;}
3361 { (yyval.traitreflist) = traitRefNodeList_add (traitRefNodeList_new (), (yyvsp[(1) - (1)].traitref)); ;}
3366 { (yyval.traitreflist) = traitRefNodeList_add ((yyvsp[(1) - (3)].traitreflist), (yyvsp[(3) - (3)].traitref)); ;}
3371 { (yyval.traitref) = makeTraitRefNode (ltokenList_singleton ((yyvsp[(1) - (1)].ltok)), (renamingNode)0); ;}
3376 { (yyval.traitref) = makeTraitRefNode (ltokenList_singleton ((yyvsp[(1) - (4)].ltok)), (yyvsp[(3) - (4)].renaming)); ;}
3381 { (yyval.traitref) = makeTraitRefNode ((yyvsp[(2) - (3)].ltokenList), (renamingNode)0); ;}
3386 { (yyval.traitref) = makeTraitRefNode ((yyvsp[(2) - (6)].ltokenList), (yyvsp[(5) - (6)].renaming)); ;}
3391 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
3396 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;}
3401 { (yyval.renaming) = makeRenamingNode (typeNameNodeList_new (), (yyvsp[(1) - (1)].replacelist)); ;}
3406 { (yyval.renaming) = makeRenamingNode ((yyvsp[(1) - (1)].namelist), replaceNodeList_new ()); ;}
3411 { (yyval.renaming) = makeRenamingNode ((yyvsp[(1) - (3)].namelist), (yyvsp[(3) - (3)].replacelist)); ;}
3416 { (yyval.namelist) = typeNameNodeList_add (typeNameNodeList_new (), (yyvsp[(1) - (1)].typname)); ;}
3421 { (yyval.namelist) = typeNameNodeList_add ((yyvsp[(1) - (3)].namelist), (yyvsp[(3) - (3)].typname)); ;}
3426 { (yyval.replacelist) = replaceNodeList_add (replaceNodeList_new (), (yyvsp[(1) - (1)].replace)); ;}
3431 { (yyval.replacelist) = replaceNodeList_add ((yyvsp[(1) - (3)].replacelist), (yyvsp[(3) - (3)].replace)); ;}
3436 { (yyval.replace) = makeReplaceNode ((yyvsp[(2) - (3)].ltok), (yyvsp[(1) - (3)].typname), TRUE, (yyvsp[(3) - (3)].ltok), NULL, NULL); ;}
3441 { (yyval.replace) = makeReplaceNameNode ((yyvsp[(2) - (3)].ltok), (yyvsp[(1) - (3)].typname), (yyvsp[(3) - (3)].name)); ;}
3446 { (yyval.replace) = makeReplaceNode ((yyvsp[(2) - (4)].ltok), (yyvsp[(1) - (4)].typname), FALSE, ltoken_undefined,
3447 (yyvsp[(3) - (4)].name), (yyvsp[(4) - (4)].signature)); ;}
3452 { (yyval.name) = makeNameNodeId ((yyvsp[(1) - (1)].ltok)); ;}
3457 { (yyval.name) = makeNameNodeForm ((yyvsp[(1) - (1)].opform)); ;}
3462 { (yyval.initdecls) = initDeclNodeList_add (initDeclNodeList_new (), (yyvsp[(1) - (1)].initdecl)); ;}
3467 { (yyval.initdecls) = initDeclNodeList_add ((yyvsp[(1) - (3)].initdecls), (yyvsp[(3) - (3)].initdecl)); ;}
3472 { (yyval.initdecl) = makeInitDeclNode ((yyvsp[(1) - (1)].declare), (termNode)0); ;}
3477 { (yyval.initdecl) = makeInitDeclNode ((yyvsp[(1) - (3)].declare), (yyvsp[(3) - (3)].term)); ;}
3482 { (yyval.globals) = varDeclarationNodeList_new (); ;}
3487 { varDeclarationNodeList_addh ((yyvsp[(1) - (2)].globals), (yyvsp[(2) - (2)].vardeclaration)); (yyval.globals) = (yyvsp[(1) - (2)].globals); ;}
3492 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].initdecls), TRUE, FALSE); ;}
3497 { (yyval.vardeclaration) = makeInternalStateNode (); ;}
3502 { (yyval.vardeclaration) = makeFileSystemNode (); ;}
3507 { (yyval.vardeclarationlist) = varDeclarationNodeList_new (); ;}
3512 { varDeclarationNodeList_addh ((yyvsp[(1) - (2)].vardeclarationlist), (yyvsp[(2) - (2)].vardeclaration)); (yyval.vardeclarationlist) = (yyvsp[(1) - (2)].vardeclarationlist); ;}
3517 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls), FALSE, TRUE); ;}
3522 { (yyval.letdecls) = letDeclNodeList_new (); ;}
3527 { (yyval.letdecls) = (yyvsp[(2) - (3)].letdecls); ;}
3532 { (yyval.letdecls) = letDeclNodeList_add (letDeclNodeList_new (), (yyvsp[(1) - (1)].letdecl)); ;}
3537 { (yyval.letdecls) = letDeclNodeList_add ((yyvsp[(1) - (3)].letdecls), (yyvsp[(3) - (3)].letdecl)); ;}
3542 { (yyval.letdecl) = makeLetDeclNode ((yyvsp[(1) - (5)].ltok), (yyvsp[(3) - (5)].lcltypespec), (yyvsp[(5) - (5)].term)); ;}
3547 { (yyval.letdecl) = makeLetDeclNode ((yyvsp[(1) - (3)].ltok), (lclTypeSpecNode)0, (yyvsp[(3) - (3)].term)); ;}
3552 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3557 { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeChecksNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); ;}
3562 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3567 { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeRequiresNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate));;}
3572 { (yyval.modify) = (modifyNode)0; ;}
3577 { (yyval.modify) = makeModifyNodeSpecial ((yyvsp[(1) - (3)].ltok), TRUE); ;}
3582 { (yyval.modify) = makeModifyNodeSpecial ((yyvsp[(1) - (3)].ltok), FALSE); ;}
3587 { (yyval.modify) = makeModifyNodeRef ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].storereflist)); ;}
3592 { (yyval.storereflist) = storeRefNodeList_add (storeRefNodeList_new (), (yyvsp[(1) - (1)].storeref)); ;}
3597 { (yyval.storereflist) = storeRefNodeList_add ((yyvsp[(1) - (3)].storereflist), (yyvsp[(3) - (3)].storeref)); ;}
3602 { (yyval.storeref) = makeStoreRefNodeTerm ((yyvsp[(1) - (1)].term)); ;}
3607 { (yyval.storeref) = makeStoreRefNodeType ((yyvsp[(1) - (1)].lcltypespec), FALSE); ;}
3612 { (yyval.storeref) = makeStoreRefNodeType ((yyvsp[(2) - (2)].lcltypespec), TRUE); ;}
3617 { (yyval.storeref) = makeStoreRefNodeInternal (); ;}
3622 { (yyval.storeref) = makeStoreRefNodeSystem (); ;}
3627 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3632 { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeEnsuresNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate));;}
3637 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3642 { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeIntraClaimNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate));;}
3647 { (yyval.paramlist) = paramNodeList_new (); ;}
3652 { (yyval.paramlist) = (yyvsp[(1) - (1)].paramlist); ;}
3657 { (yyval.paramlist) = paramNodeList_add (paramNodeList_new (), paramNode_elipsis ()); ;}
3662 { (yyval.paramlist) = paramNodeList_add ((yyvsp[(1) - (3)].paramlist), paramNode_elipsis ()); ;}
3667 { (yyval.paramlist) = paramNodeList_single ((yyvsp[(1) - (1)].param)); ;}
3672 { (yyval.paramlist) = paramNodeList_add ((yyvsp[(1) - (3)].paramlist), (yyvsp[(3) - (3)].param)); ;}
3677 { (yyval.program) = (programNode)0; ;}
3682 { (yyval.program) = (yyvsp[(3) - (4)].program); ;}
3687 { (yyval.program) = (yyvsp[(3) - (5)].program); ;}
3692 { (yyval.program) = makeProgramNode ((yyvsp[(1) - (1)].stmt)); ;}
3697 { (yyval.program) = (yyvsp[(2) - (3)].program); (yyval.program)->wrapped = (yyval.program)->wrapped + 1; ;}
3702 { programNodeList x = programNodeList_new ();
3703 programNodeList_addh (x, (yyvsp[(1) - (2)].program));
3704 (yyval.program) = makeProgramNodeAction (x, ACT_ITER);
3710 { programNodeList x = programNodeList_new ();
3711 programNodeList_addh (x, (yyvsp[(1) - (3)].program));
3712 programNodeList_addh (x, (yyvsp[(3) - (3)].program));
3713 (yyval.program) = makeProgramNodeAction (x, ACT_ALTERNATE);
3719 { programNodeList x = programNodeList_new ();
3720 programNodeList_addh (x, (yyvsp[(1) - (3)].program));
3721 programNodeList_addh (x, (yyvsp[(3) - (3)].program));
3722 (yyval.program) = makeProgramNodeAction (x, ACT_SEQUENCE);
3728 { (yyval.stmt) = makeStmtNode (ltoken_undefined, (yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].termlist)); ;}
3733 { (yyval.stmt) = makeStmtNode (ltoken_undefined, (yyvsp[(1) - (3)].ltok), termNodeList_new ()); ;}
3738 { (yyval.stmt) = makeStmtNode ((yyvsp[(1) - (5)].ltok), (yyvsp[(3) - (5)].ltok), termNodeList_new ()); ;}
3743 { (yyval.stmt) = makeStmtNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(3) - (6)].ltok), (yyvsp[(5) - (6)].termlist)); ;}
3748 { (yyval.termlist) = termNodeList_push (termNodeList_new (), (yyvsp[(1) - (1)].term)); ;}
3753 { (yyval.termlist) = termNodeList_push ((yyvsp[(1) - (3)].termlist), (yyvsp[(3) - (3)].term)); ;}
3758 { (yyval.term) = makeSimpleTermNode ((yyvsp[(1) - (1)].ltok)); ;}
3763 { (yyval.term) = makePrefixTermNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].term)); ;}
3768 { (yyval.term) = makePostfixTermNode2 ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].ltok)); ;}
3773 { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term)); ;}
3778 { (yyval.term) = (yyvsp[(2) - (3)].term); (yyval.term)->wrapped = (yyval.term)->wrapped + 1; ;}
3783 { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].ltok), termNodeList_new (), (yyvsp[(3) - (3)].ltok)); ;}
3788 { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)); ;}
3793 { (yyval.abstbody) = (abstBodyNode)0; ;}
3798 { (yyval.abstbody) = makeAbstBodyNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].fcns)); ;}
3803 { (yyval.abstbody) = makeAbstBodyNode2 ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltokenList)); ;}
3808 { (yyval.abstbody) = (abstBodyNode)0; ;}
3813 { (yyval.fcns) = fcnNodeList_new (); ;}
3818 { (yyval.fcns) = fcnNodeList_add ((yyvsp[(1) - (2)].fcns), (yyvsp[(2) - (2)].fcn)); ;}
3823 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3828 { g_inTypeDef = FALSE; ;}
3833 { (yyvsp[(5) - (6)].lclpredicate)->tok = (yyvsp[(1) - (6)].ltok); (yyvsp[(5) - (6)].lclpredicate)->kind = LPD_CONSTRAINT;
3834 checkLclPredicate ((yyvsp[(1) - (6)].ltok), (yyvsp[(5) - (6)].lclpredicate));
3835 (yyval.lclpredicate) = (yyvsp[(5) - (6)].lclpredicate);
3836 symtable_exitScope (g_symtab);
3843 { (yyval.declaratorinvs) = declaratorInvNodeList_add (declaratorInvNodeList_new (), (yyvsp[(1) - (1)].declaratorinv)); ;}
3848 { (yyval.declaratorinvs) = declaratorInvNodeList_add ((yyvsp[(1) - (3)].declaratorinvs), (yyvsp[(3) - (3)].declaratorinv)); ;}
3853 { declareForwardType ((yyvsp[(1) - (1)].declare)); ;}
3858 { (yyval.declaratorinv) = makeDeclaratorInvNode ((yyvsp[(1) - (3)].declare), (yyvsp[(3) - (3)].abstbody)); ;}
3863 { (yyval.abstbody) = (abstBodyNode)0; ;}
3868 { (yyval.abstbody) = makeExposedBodyNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); ;}
3873 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_VOID, 0)); ;}
3878 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_CHAR, 0)); ;}
3883 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_DOUBLE, 0)); ;}
3888 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_FLOAT, 0)); ;}
3893 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_INT, 0)); ;}
3898 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_LONG, 0)); ;}
3903 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_SHORT, 0)); ;}
3908 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_SIGNED, 0)); ;}
3913 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_UNSIGNED, 0)); ;}
3918 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_UNKNOWN, 0)); ;}
3923 { (yyval.ctypes) = makeCTypesNode ((CTypesNode)0, (yyvsp[(1) - (1)].ltok)); ;}
3928 { (yyval.ctypes) = makeCTypesNode ((yyvsp[(1) - (2)].ctypes), (yyvsp[(2) - (2)].ltok)); ;}
3933 { (yyval.ctypes) = makeTypeSpecifier ((yyvsp[(1) - (1)].ltok)); ;}
3938 { (yyval.ctypes) = (yyvsp[(1) - (1)].ctypes); (yyval.ctypes)->sort = sort_lookupName (lclctype_toSort ((yyvsp[(1) - (1)].ctypes)->intfield)); ;}
3943 { (yyval.typequal) = qual_createOut (); ;}
3948 { (yyval.typequal) = qual_createUnused (); ;}
3953 { (yyval.typequal) = qual_createSef (); ;}
3958 { (yyval.typequal) = qual_createOnly (); ;}
3963 { (yyval.typequal) = qual_createOwned (); ;}
3968 { (yyval.typequal) = qual_createDependent (); ;}
3973 { (yyval.typequal) = qual_createKeep (); ;}
3978 { (yyval.typequal) = qual_createKept (); ;}
3983 { (yyval.typequal) = qual_createObserver (); ;}
3988 { (yyval.typequal) = qual_createExits (); ;}
3993 { (yyval.typequal) = qual_createMayExit (); ;}
3998 { (yyval.typequal) = qual_createTrueExit (); ;}
4003 { (yyval.typequal) = qual_createFalseExit (); ;}
4008 { (yyval.typequal) = qual_createNeverExit (); ;}
4013 { (yyval.typequal) = qual_createOnly (); ;}
4018 { (yyval.typequal) = qual_createShared (); ;}
4023 { (yyval.typequal) = qual_createUnique (); ;}
4028 { (yyval.typequal) = qual_createChecked (); ;}
4033 { (yyval.typequal) = qual_createUnchecked (); ;}
4038 { (yyval.typequal) = qual_createCheckedStrict (); ;}
4043 { (yyval.typequal) = qual_createTrueNull (); ;}
4048 { (yyval.typequal) = qual_createFalseNull (); ;}
4053 { (yyval.typequal) = qual_createRelNull (); ;}
4058 { (yyval.typequal) = qual_createRelDef (); ;}
4063 { (yyval.typequal) = qual_createRefCounted (); ;}
4068 { (yyval.typequal) = qual_createRefs (); ;}
4073 { (yyval.typequal) = qual_createNewRef (); ;}
4078 { (yyval.typequal) = qual_createKillRef (); ;}
4083 { (yyval.typequal) = qual_createNull (); ;}
4088 { (yyval.typequal) = qual_createNotNull (); ;}
4093 { (yyval.typequal) = qual_createReturned (); ;}
4098 { (yyval.typequal) = qual_createExposed (); ;}
4103 { (yyval.typequal) = qual_createPartial (); ;}
4108 { (yyval.typequal) = qual_createNullTerminated () ; ;}
4113 { (yyval.typequal) = qual_createUndef (); ;}
4118 { (yyval.typequal) = qual_createKilled (); ;}
4123 { (yyval.lcltypespec) = makeLclTypeSpecNodeType ((yyvsp[(1) - (1)].ctypes)); ;}
4128 { (yyval.lcltypespec) = makeLclTypeSpecNodeSU ((yyvsp[(1) - (1)].structorunion)); ;}
4133 { (yyval.lcltypespec) = makeLclTypeSpecNodeEnum ((yyvsp[(1) - (1)].enumspec)); ;}
4138 { (yyval.lcltypespec) = lclTypeSpecNode_addQual ((yyvsp[(2) - (2)].lcltypespec), (yyvsp[(1) - (2)].typequal)); ;}
4143 { (yyval.lcltypespec) = makeLclTypeSpecNodeConj ((yyvsp[(2) - (5)].lcltypespec), (yyvsp[(4) - (5)].lcltypespec)); ;}
4148 { llassert (lclTypeSpecNode_isDefined ((yyvsp[(1) - (2)].lcltypespec)));
4149 (yyvsp[(1) - (2)].lcltypespec)->pointers = (yyvsp[(2) - (2)].pointers); (yyval.lcltypespec) = (yyvsp[(1) - (2)].lcltypespec); ;}
4154 { (yyval.pointers) = pointers_createLt ((yyvsp[(1) - (1)].ltok)); ;}
4159 { (yyval.pointers) = pointers_extend ((yyvsp[(1) - (2)].pointers), pointers_createLt ((yyvsp[(2) - (2)].ltok))); ;}
4164 { (void) checkAndEnterTag (TAG_FWDSTRUCT, ltoken_copy ((yyvsp[(2) - (2)].ltok))); ;}
4169 { (yyval.structorunion) = makestrOrUnionNode ((yyvsp[(1) - (6)].ltok), SU_STRUCT, (yyvsp[(2) - (6)].ltok), (yyvsp[(5) - (6)].structdecls)); ;}
4174 { (void) checkAndEnterTag (TAG_FWDUNION, ltoken_copy ((yyvsp[(2) - (2)].ltok))); ;}
4179 { (yyval.structorunion) = makestrOrUnionNode ((yyvsp[(1) - (6)].ltok), SU_UNION, (yyvsp[(2) - (6)].ltok), (yyvsp[(5) - (6)].structdecls)); ;}
4184 { (yyval.structorunion) = makeForwardstrOrUnionNode ((yyvsp[(1) - (2)].ltok), SU_STRUCT, (yyvsp[(2) - (2)].ltok)); ;}
4189 { (yyval.structorunion) = makeForwardstrOrUnionNode ((yyvsp[(1) - (2)].ltok), SU_UNION, (yyvsp[(2) - (2)].ltok)); ;}
4194 { (yyval.ltok) = ltoken_undefined; ;}
4199 { (yyval.structdecls) = stDeclNodeList_add (stDeclNodeList_new (), (yyvsp[(1) - (1)].structdecl)); ;}
4204 { (yyval.structdecls) = stDeclNodeList_add ((yyvsp[(1) - (2)].structdecls), (yyvsp[(2) - (2)].structdecl)); ;}
4209 { (yyval.structdecl) = makestDeclNode ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].declarelist)); ;}
4214 { (yyval.declarelist) = declaratorNodeList_add (declaratorNodeList_new (), (yyvsp[(1) - (1)].declare)); ;}
4219 { (yyval.declarelist) = declaratorNodeList_add ((yyvsp[(1) - (3)].declarelist), (yyvsp[(3) - (3)].declare)); ;}
4234 { (yyval.enumspec) = makeEnumSpecNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(2) - (6)].ltok), (yyvsp[(4) - (6)].ltokenList)); ;}
4239 { (yyval.enumspec) = makeEnumSpecNode2 ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].ltok)); ;}
4244 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
4249 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;}
4254 { (yyval.declare) = makeDeclaratorNode ((yyvsp[(1) - (1)].typeexpr)); ;}
4259 { (yyval.declare) = makeDeclaratorNode ((yyvsp[(1) - (1)].typeexpr)); ;}
4264 { (yyval.typeexpr) = makeTypeExpr ((yyvsp[(1) - (1)].ltok)); ;}
4269 { (yyval.typeexpr) = (yyvsp[(2) - (3)].typeexpr); (yyval.typeexpr)->wrapped = (yyval.typeexpr)->wrapped + 1; ;}
4274 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;}
4279 { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;}
4284 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;}
4289 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;}
4294 { (yyval.typeexpr) = makeTypeExpr ((yyvsp[(1) - (1)].ltok)); ;}
4299 { (yyval.typeexpr) = (yyvsp[(2) - (3)].typeexpr); (yyval.typeexpr)->wrapped = (yyval.typeexpr)->wrapped + 1; ;}
4304 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;}
4309 { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;}
4314 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;}
4319 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;}
4324 { (yyval.typeexpr) = makeTypeExpr ((yyvsp[(1) - (1)].ltok)); ;}
4329 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;}
4334 { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;}
4339 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;}
4344 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;}
4349 { (yyval.param) = makeParamNode ((yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].typeexpr)); ;}
4354 { (yyval.param) = makeParamNode ((yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].typeexpr)); ;}
4359 { (yyval.param) = makeParamNode ((yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].abstDecl)); ;}
4364 { (yyval.typname) = makeTypeNameNode (FALSE, (yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].abstDecl)); ;}
4369 { (yyval.typname) = makeTypeNameNode (TRUE, (yyvsp[(2) - (3)].lcltypespec), (yyvsp[(3) - (3)].abstDecl)); ;}
4374 { (yyval.typname) = makeTypeNameNodeOp ((yyvsp[(1) - (1)].opform)); ;}
4379 { (yyval.abstDecl) = (abstDeclaratorNode)0; ;}
4384 { (yyval.abstDecl) = (abstDeclaratorNode)(yyvsp[(1) - (1)].typeexpr); ;}
4389 { (yyval.typeexpr) = (yyvsp[(2) - (3)].typeexpr); (yyval.typeexpr)->wrapped = (yyval.typeexpr)->wrapped + 1; ;}
4394 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;}
4399 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (1)].ltok), (typeExpr)0); ;}
4404 { (yyval.typeexpr) = makeArrayNode ((typeExpr)0, (yyvsp[(1) - (1)].array)); ;}
4409 { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;}
4414 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;}
4419 { (yyval.typeexpr) = makeFunctionNode ((typeExpr)0, (yyvsp[(2) - (3)].paramlist)); ;}
4424 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;}
4429 { (yyval.array) = makeArrayQualNode ((yyvsp[(1) - (2)].ltok), (termNode)0); ;}
4434 { (yyval.array) = makeArrayQualNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].term)); ;}
4439 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (6)].ltok), OPF_IF, opFormUnion_createMiddle (0), ltoken_undefined); ;}
4444 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (1)].ltok), OPF_ANYOP, opFormUnion_createAnyOp ((yyvsp[(1) - (1)].ltok)), ltoken_undefined); ;}
4449 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_MANYOP, opFormUnion_createAnyOp ((yyvsp[(2) - (2)].ltok)), ltoken_undefined); ;}
4454 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_ANYOPM, opFormUnion_createAnyOp ((yyvsp[(1) - (2)].ltok)), ltoken_undefined); ;}
4459 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MANYOPM,
4460 opFormUnion_createAnyOp ((yyvsp[(2) - (3)].ltok)), ltoken_undefined); ;}
4465 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MIDDLE, opFormUnion_createMiddle ((yyvsp[(2) - (3)].count)), (yyvsp[(3) - (3)].ltok)); ;}
4470 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (4)].ltok), OPF_MMIDDLE, opFormUnion_createMiddle ((yyvsp[(3) - (4)].count)), (yyvsp[(4) - (4)].ltok)); ;}
4475 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (4)].ltok), OPF_MIDDLEM, opFormUnion_createMiddle ((yyvsp[(2) - (4)].count)), (yyvsp[(3) - (4)].ltok)); ;}
4480 { (yyval.opform) = makeOpFormNode ((yyvsp[(2) - (5)].ltok), OPF_MMIDDLEM, opFormUnion_createMiddle ((yyvsp[(3) - (5)].count)), (yyvsp[(4) - (5)].ltok)); ;}
4485 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_BMIDDLE, opFormUnion_createMiddle ((yyvsp[(2) - (3)].count)), (yyvsp[(3) - (3)].ltok)); ;}
4490 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (4)].ltok), OPF_BMIDDLEM, opFormUnion_createMiddle ((yyvsp[(2) - (4)].count)), (yyvsp[(3) - (4)].ltok)); ;}
4495 { (yyval.opform) = makeOpFormNode ((yyvsp[(2) - (4)].ltok), OPF_BMMIDDLE, opFormUnion_createMiddle ((yyvsp[(3) - (4)].count)), (yyvsp[(4) - (4)].ltok)); ;}
4500 { (yyval.opform) = makeOpFormNode ((yyvsp[(2) - (5)].ltok), OPF_BMMIDDLEM, opFormUnion_createMiddle ((yyvsp[(3) - (5)].count)), (yyvsp[(4) - (5)].ltok)); ;}
4505 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_SELECT,
4506 opFormUnion_createAnyOp ((yyvsp[(2) - (2)].ltok)), ltoken_undefined); ;}
4511 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_MAP,
4512 opFormUnion_createAnyOp ((yyvsp[(2) - (2)].ltok)), ltoken_undefined); ;}
4517 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MSELECT,
4518 opFormUnion_createAnyOp ((yyvsp[(3) - (3)].ltok)), ltoken_undefined); ;}
4523 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MMAP,
4524 opFormUnion_createAnyOp ((yyvsp[(3) - (3)].ltok)), ltoken_undefined); ;}
4529 { (yyval.count) = 0; ;}
4534 { (yyval.count) = 1; ;}
4539 { (yyval.count) = (yyvsp[(1) - (3)].count) + 1; ;}
4544 { (yyval.signature) = makesigNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltokenList), (yyvsp[(4) - (4)].ltok)); ;}
4549 { (yyval.ltokenList) = ltokenList_new (); ;}
4554 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
4559 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;}
4564 { (yyval.lclpredicate) = makeLclPredicateNode (ltoken_undefined, (yyvsp[(1) - (1)].term), LPD_PLAIN);;}
4569 { (yyval.term) = checkSort ((yyvsp[(1) - (1)].term)); ;}
4574 { (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)); ;}
4579 { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term)); ;}
4584 { 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));
4585 symtable_exitScope (g_symtab);
4591 { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term));;}
4596 { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term));;}
4601 { (yyval.term) = makePostfixTermNode ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].ltokenList)); ;}
4606 { (yyval.term) = CollapseInfixTermNode ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].termlist)); ;}
4611 { (yyval.term) = makePrefixTermNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].term)); ;}
4616 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
4621 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (2)].ltokenList), (yyvsp[(2) - (2)].ltok)); ;}
4626 { (yyval.termlist) = pushInfixOpPartNode (termNodeList_new (), (yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].term)); ;}
4631 { (yyval.termlist) = pushInfixOpPartNode ((yyvsp[(1) - (3)].termlist), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term)); ;}
4636 { (yyval.term) = computePossibleSorts ((yyvsp[(1) - (1)].term)); ;}
4641 { (yyval.term) = updateMatchedNode ((termNode)0, (yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].term)); ;}
4646 { (yyval.term) = updateMatchedNode ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].term), (termNode)0); ;}
4651 { (yyval.term) = updateMatchedNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].term), (yyvsp[(3) - (3)].term)); ;}
4656 { (yyval.term) = computePossibleSorts ((yyvsp[(1) - (1)].term)); ;}
4661 { (yyval.term) = updateSqBracketedNode ((termNode)0, (yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].term)); ;}
4666 { (yyval.term) = (yyvsp[(1) - (3)].term); (yyval.term)->sort = sort_lookupName (ltoken_getText ((yyvsp[(3) - (3)].ltok))); ;}
4671 { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (5)].ltok), (yyvsp[(2) - (5)].termlist), (yyvsp[(3) - (5)].ltok));
4672 (yyval.term)->given = sort_lookupName (ltoken_getText ((yyvsp[(5) - (5)].ltok))); ;}
4677 { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].termlist), (yyvsp[(3) - (3)].ltok)); ;}
4682 { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (4)].ltok), termNodeList_new (), (yyvsp[(2) - (4)].ltok));
4683 (yyval.term)->given = sort_lookupName (ltoken_getText ((yyvsp[(4) - (4)].ltok)));
4689 { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (2)].ltok), termNodeList_new (), (yyvsp[(2) - (2)].ltok)); ;}
4694 { (yyval.term) = makeMatchedNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].termlist), (yyvsp[(3) - (3)].ltok)); ;}
4699 { (yyval.term) = makeMatchedNode ((yyvsp[(1) - (2)].ltok), termNodeList_new (), (yyvsp[(2) - (2)].ltok)); ;}
4704 { (yyval.termlist) = termNodeList_push (termNodeList_new (), (yyvsp[(1) - (1)].term)); ;}
4709 { (yyval.termlist) = termNodeList_push ((yyvsp[(1) - (3)].termlist), (yyvsp[(3) - (3)].term)); ;}
4714 { (yyval.term) = (yyvsp[(2) - (3)].term); (yyval.term)->wrapped = (yyval.term)->wrapped + 1; ;}
4719 { (yyval.term) = makeSimpleTermNode ((yyvsp[(1) - (1)].ltok)); ;}
4724 { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)); ;}
4729 { (yyval.term) = makePostfixTermNode2 ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].ltok)); ;}
4734 { ltoken_markOwned ((yyvsp[(3) - (3)].ltok)); (yyval.term) = makeSelectTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].ltok)); ;}
4739 { ltoken_markOwned ((yyvsp[(3) - (3)].ltok)); (yyval.term) = makeMapTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].ltok)); ;}
4744 { (yyval.term) = updateSqBracketedNode ((yyvsp[(1) - (3)].term), makeSqBracketedNode ((yyvsp[(2) - (3)].ltok), termNodeList_new (), (yyvsp[(3) - (3)].ltok)),
4750 { (yyval.term) = updateSqBracketedNode ((yyvsp[(1) - (4)].term), makeSqBracketedNode ((yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)), (termNode)0); ;}
4755 { (yyval.term) = (yyvsp[(1) - (3)].term); (yyval.term)->given = sort_lookupName (ltoken_getText ((yyvsp[(3) - (3)].ltok))); ;}
4760 { (yyval.termlist) = termNodeList_push (termNodeList_new (), (yyvsp[(1) - (1)].term)); ;}
4765 { (yyval.termlist) = termNodeList_push ((yyvsp[(1) - (3)].termlist), (yyvsp[(3) - (3)].term)); ;}
4770 { (yyval.term) = makeSimpleTermNode ((yyvsp[(1) - (1)].ltok)); ;}
4775 { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)); ;}
4780 { (yyval.term) = makeUnchangedTermNode1 ((yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].ltok)); ;}
4785 { (yyval.term) = makeUnchangedTermNode2 ((yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].storereflist)); ;}
4790 { termNodeList x = termNodeList_new ();
4791 termNodeList_addh (x, (yyvsp[(3) - (4)].term));
4792 (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), x, (yyvsp[(4) - (4)].ltok));
4798 { termNodeList x = termNodeList_new ();
4799 termNodeList_addh (x, (yyvsp[(3) - (6)].term));
4800 termNodeList_addh (x, (yyvsp[(5) - (6)].term));
4801 (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(2) - (6)].ltok), x, (yyvsp[(6) - (6)].ltok));
4807 { (yyval.term) = makeSizeofTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].lcltypespec)); ;}
4812 { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortInt); ;}
4817 { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortCstring); ;}
4822 { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortChar); ;}
4827 { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortDouble); ;}
4832 { (yyval.quantifiers) = quantifierNodeList_add (quantifierNodeList_new (), (yyvsp[(1) - (1)].quantifier)); ;}
4837 { (yyval.quantifiers) = quantifierNodeList_add ((yyvsp[(1) - (2)].quantifiers), (yyvsp[(2) - (2)].quantifier)); ;}
4842 { scopeInfo si = (scopeInfo) dmalloc (sizeof (*si));
4843 si->kind = SPE_QUANT;
4844 symtable_enterScope (g_symtab, si); ;}
4849 { (yyval.quantifier) = makeQuantifierNode ((yyvsp[(3) - (3)].vars), (yyvsp[(1) - (3)].ltok)); ;}
4854 { (yyval.vars) = varNodeList_add (varNodeList_new (), (yyvsp[(1) - (1)].var)); ;}
4859 { (yyval.vars) = varNodeList_add ((yyvsp[(1) - (3)].vars), (yyvsp[(3) - (3)].var)); ;}
4864 { (yyval.var) = makeVarNode ((yyvsp[(1) - (3)].ltok), FALSE, (yyvsp[(3) - (3)].lcltypespec)); ;}
4869 { (yyval.var) = makeVarNode ((yyvsp[(1) - (4)].ltok), TRUE, (yyvsp[(4) - (4)].lcltypespec)); ;}
4873 /* Line 1267 of yacc.c. */
4877 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
4881 YY_STACK_PRINT (yyss, yyssp);
4886 /* Now `shift' the result of the reduction. Determine what state
4887 that goes to, based on the state we popped back to and the rule
4888 number reduced by. */
4892 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
4893 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
4894 yystate = yytable[yystate];
4896 yystate = yydefgoto[yyn - YYNTOKENS];
4901 /*------------------------------------.
4902 | yyerrlab -- here on detecting error |
4903 `------------------------------------*/
4905 /* If not already recovering from an error, report this error. */
4909 #if ! YYERROR_VERBOSE
4910 yyerror (YY_("syntax error"));
4913 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
4914 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
4916 YYSIZE_T yyalloc = 2 * yysize;
4917 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
4918 yyalloc = YYSTACK_ALLOC_MAXIMUM;
4919 if (yymsg != yymsgbuf)
4920 YYSTACK_FREE (yymsg);
4921 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
4923 yymsg_alloc = yyalloc;
4927 yymsg_alloc = sizeof yymsgbuf;
4931 if (0 < yysize && yysize <= yymsg_alloc)
4933 (void) yysyntax_error (yymsg, yystate, yychar);
4938 yyerror (YY_("syntax error"));
4940 goto yyexhaustedlab;
4948 if (yyerrstatus == 3)
4950 /* If just tried and failed to reuse look-ahead token after an
4951 error, discard it. */
4953 if (yychar <= YYEOF)
4955 /* Return failure if at end of input. */
4956 if (yychar == YYEOF)
4961 yydestruct ("Error: discarding",
4967 /* Else will try to reuse look-ahead token after shifting the error
4972 /*---------------------------------------------------.
4973 | yyerrorlab -- error raised explicitly by YYERROR. |
4974 `---------------------------------------------------*/
4977 /* Pacify compilers like GCC when the user code never invokes
4978 YYERROR and the label yyerrorlab therefore never appears in user
4980 if (/*CONSTCOND*/ 0)
4983 /* Do not reclaim the symbols of the rule which action triggered
4987 YY_STACK_PRINT (yyss, yyssp);
4992 /*-------------------------------------------------------------.
4993 | yyerrlab1 -- common code for both syntax error and YYERROR. |
4994 `-------------------------------------------------------------*/
4996 yyerrstatus = 3; /* Each real token shifted decrements this. */
5000 yyn = yypact[yystate];
5001 if (yyn != YYPACT_NINF)
5004 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
5012 /* Pop the current state because it cannot handle the error token. */
5017 yydestruct ("Error: popping",
5018 yystos[yystate], yyvsp);
5021 YY_STACK_PRINT (yyss, yyssp);
5030 /* Shift the error token. */
5031 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5037 /*-------------------------------------.
5038 | yyacceptlab -- YYACCEPT comes here. |
5039 `-------------------------------------*/
5044 /*-----------------------------------.
5045 | yyabortlab -- YYABORT comes here. |
5046 `-----------------------------------*/
5052 /*-------------------------------------------------.
5053 | yyexhaustedlab -- memory exhaustion comes here. |
5054 `-------------------------------------------------*/
5056 yyerror (YY_("memory exhausted"));
5062 if (yychar != YYEOF && yychar != YYEMPTY)
5063 yydestruct ("Cleanup: discarding lookahead",
5065 /* Do not reclaim the symbols of the rule which action triggered
5066 this YYABORT or YYACCEPT. */
5068 YY_STACK_PRINT (yyss, yyssp);
5069 while (yyssp != yyss)
5071 yydestruct ("Cleanup: popping",
5072 yystos[*yyssp], yyvsp);
5077 YYSTACK_FREE (yyss);
5080 if (yymsg != yymsgbuf)
5081 YYSTACK_FREE (yymsg);
5083 /* Make sure YYID is used. */
5084 return YYID (yyresult);
5091 # include "bison.reset"
5094 ** yytext is set in lex scanner
5095 ** extern YYSTYPE yylval;
5096 ** yylval is defined by code generated by bison
5099 void ylerror (char *s)
5102 ** This resetting of the left context is very important when multiple
5103 ** files are to be parsed. We do not want failures to propagate.
5104 ** Lex/Yacc does not reset the flags when the parsing goes bad.
5109 lclfatalerror (yllval.ltok,
5110 message ("%s: Token code: %s, Token String: %s",
5111 cstring_fromChars (s),
5112 ltoken_unparseCodeName (yllval.ltok),
5113 ltoken_getRawString (yllval.ltok)));
5117 static void yyprint (FILE *f, int t, YYSTYPE value)
5119 fprintf (f, " type: %d (%s)", t,
5120 cstring_toCharsSafe (ltoken_getRawString (value.ltok)));
5131 ** Resets all flags in bison.head
5153 /*@=evalorderuncon@*/
5162 /*@=elseifcomplete@*/
5166 /*@=readonlytrans@*/
5169 /*@=systemunrecog@*/
5170 /*@=dependenttrans@*/
5171 /*@=unqualifiedtrans@*/
5175 /*drl added 11/27/2001*/
5178 /*drl added 12/11/2002*/