Changes in src/Parser/parser.cc [3b5e3aa:4ed70597]
- File:
-
- 1 edited
-
src/Parser/parser.cc (modified) (71 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.cc
r3b5e3aa r4ed70597 1 /* A Bison parser, made by GNU Bison 2.5. */1 /* A Bison parser, made by GNU Bison 3.0.2. */ 2 2 3 3 /* Bison implementation for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2011Free Software Foundation, Inc.6 4 5 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. 6 7 7 This program is free software: you can redistribute it and/or modify 8 8 it under the terms of the GNU General Public License as published by 9 9 the Free Software Foundation, either version 3 of the License, or 10 10 (at your option) any later version. 11 11 12 12 This program is distributed in the hope that it will be useful, 13 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 15 GNU General Public License for more details. 16 16 17 17 You should have received a copy of the GNU General Public License 18 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ … … 27 27 Bison output files to be licensed under the GNU General Public 28 28 License without this special exception. 29 29 30 30 This special exception was added by the Free Software Foundation in 31 31 version 2.2 of Bison. */ … … 45 45 46 46 /* Bison version. */ 47 #define YYBISON_VERSION " 2.5"47 #define YYBISON_VERSION "3.0.2" 48 48 49 49 /* Skeleton name. */ … … 59 59 #define YYPULL 1 60 60 61 /* Using locations. */62 #define YYLSP_NEEDED 063 61 64 62 65 63 66 64 /* Copy the first part of user declarations. */ 67 68 /* Line 268 of yacc.c */ 69 #line 42 "parser.yy" 65 #line 42 "parser.yy" /* yacc.c:339 */ 70 66 71 67 #define YYDEBUG_LEXER_TEXT (yylval) // lexer loads this up each time … … 82 78 #include "TypeData.h" 83 79 #include "LinkageSpec.h" 84 using namespace std;85 80 86 81 extern DeclarationNode * parseTree; … … 88 83 extern TypedefTable typedefTable; 89 84 90 st ack< LinkageSpec::Spec > linkageStack;91 92 void appendStr( st ring *to,string *from ) {85 std::stack< LinkageSpec::Spec > linkageStack; 86 87 void appendStr( std::string *to, std::string *from ) { 93 88 // "abc" "def" "ghi" => "abcdefghi", remove new text from quotes and insert before last quote in old string. 94 89 to->insert( to->length() - 1, from->substr( 1, from->length() - 2 ) ); 95 90 } // appendStr 96 91 97 98 /* Line 268 of yacc.c */ 99 #line 100 "Parser/parser.cc" 100 101 /* Enabling traces. */ 102 #ifndef YYDEBUG 103 # define YYDEBUG 1 104 #endif 92 #line 93 "Parser/parser.cc" /* yacc.c:339 */ 93 94 # ifndef YY_NULLPTR 95 # if defined __cplusplus && 201103L <= __cplusplus 96 # define YY_NULLPTR nullptr 97 # else 98 # define YY_NULLPTR 0 99 # endif 100 # endif 105 101 106 102 /* Enabling verbose error messages. */ … … 112 108 #endif 113 109 114 /* Enabling the token table. */ 115 #ifndef YYTOKEN_TABLE 116 # define YYTOKEN_TABLE 0 110 /* In a future release of Bison, this section will be replaced 111 by #include "y.tab.h". */ 112 #ifndef YY_YY_Y_TAB_H_INCLUDED 113 # define YY_YY_Y_TAB_H_INCLUDED 114 /* Debug traces. */ 115 #ifndef YYDEBUG 116 # define YYDEBUG 1 117 117 #endif 118 119 120 /* Tokens. */ 118 #if YYDEBUG 119 extern int yydebug; 120 #endif 121 122 /* Token type. */ 121 123 #ifndef YYTOKENTYPE 122 124 # define YYTOKENTYPE 123 /* Put the tokens into the symbol table, so that GDB and other debuggers 124 know about them. */ 125 enum yytokentype { 126 TYPEDEF = 258, 127 AUTO = 259, 128 EXTERN = 260, 129 REGISTER = 261, 130 STATIC = 262, 131 INLINE = 263, 132 FORTRAN = 264, 133 CONST = 265, 134 VOLATILE = 266, 135 RESTRICT = 267, 136 FORALL = 268, 137 LVALUE = 269, 138 VOID = 270, 139 CHAR = 271, 140 SHORT = 272, 141 INT = 273, 142 LONG = 274, 143 FLOAT = 275, 144 DOUBLE = 276, 145 SIGNED = 277, 146 UNSIGNED = 278, 147 VALIST = 279, 148 BOOL = 280, 149 COMPLEX = 281, 150 IMAGINARY = 282, 151 TYPEOF = 283, 152 LABEL = 284, 153 ENUM = 285, 154 STRUCT = 286, 155 UNION = 287, 156 OTYPE = 288, 157 FTYPE = 289, 158 DTYPE = 290, 159 TRAIT = 291, 160 SIZEOF = 292, 161 OFFSETOF = 293, 162 ATTRIBUTE = 294, 163 EXTENSION = 295, 164 IF = 296, 165 ELSE = 297, 166 SWITCH = 298, 167 CASE = 299, 168 DEFAULT = 300, 169 DO = 301, 170 WHILE = 302, 171 FOR = 303, 172 BREAK = 304, 173 CONTINUE = 305, 174 GOTO = 306, 175 RETURN = 307, 176 CHOOSE = 308, 177 DISABLE = 309, 178 ENABLE = 310, 179 FALLTHRU = 311, 180 TRY = 312, 181 CATCH = 313, 182 CATCHRESUME = 314, 183 FINALLY = 315, 184 THROW = 316, 185 THROWRESUME = 317, 186 AT = 318, 187 ASM = 319, 188 ALIGNAS = 320, 189 ALIGNOF = 321, 190 ATOMIC = 322, 191 GENERIC = 323, 192 NORETURN = 324, 193 STATICASSERT = 325, 194 THREADLOCAL = 326, 195 IDENTIFIER = 327, 196 QUOTED_IDENTIFIER = 328, 197 TYPEDEFname = 329, 198 TYPEGENname = 330, 199 ATTR_IDENTIFIER = 331, 200 ATTR_TYPEDEFname = 332, 201 ATTR_TYPEGENname = 333, 202 INTEGERconstant = 334, 203 FLOATINGconstant = 335, 204 CHARACTERconstant = 336, 205 STRINGliteral = 337, 206 ZERO = 338, 207 ONE = 339, 208 ARROW = 340, 209 ICR = 341, 210 DECR = 342, 211 LS = 343, 212 RS = 344, 213 LE = 345, 214 GE = 346, 215 EQ = 347, 216 NE = 348, 217 ANDAND = 349, 218 OROR = 350, 219 ELLIPSIS = 351, 220 MULTassign = 352, 221 DIVassign = 353, 222 MODassign = 354, 223 PLUSassign = 355, 224 MINUSassign = 356, 225 LSassign = 357, 226 RSassign = 358, 227 ANDassign = 359, 228 ERassign = 360, 229 ORassign = 361, 230 ATassign = 362, 231 THEN = 363 232 }; 125 enum yytokentype 126 { 127 TYPEDEF = 258, 128 AUTO = 259, 129 EXTERN = 260, 130 REGISTER = 261, 131 STATIC = 262, 132 INLINE = 263, 133 FORTRAN = 264, 134 CONST = 265, 135 VOLATILE = 266, 136 RESTRICT = 267, 137 FORALL = 268, 138 LVALUE = 269, 139 VOID = 270, 140 CHAR = 271, 141 SHORT = 272, 142 INT = 273, 143 LONG = 274, 144 FLOAT = 275, 145 DOUBLE = 276, 146 SIGNED = 277, 147 UNSIGNED = 278, 148 VALIST = 279, 149 BOOL = 280, 150 COMPLEX = 281, 151 IMAGINARY = 282, 152 TYPEOF = 283, 153 LABEL = 284, 154 ENUM = 285, 155 STRUCT = 286, 156 UNION = 287, 157 OTYPE = 288, 158 FTYPE = 289, 159 DTYPE = 290, 160 TRAIT = 291, 161 SIZEOF = 292, 162 OFFSETOF = 293, 163 ATTRIBUTE = 294, 164 EXTENSION = 295, 165 IF = 296, 166 ELSE = 297, 167 SWITCH = 298, 168 CASE = 299, 169 DEFAULT = 300, 170 DO = 301, 171 WHILE = 302, 172 FOR = 303, 173 BREAK = 304, 174 CONTINUE = 305, 175 GOTO = 306, 176 RETURN = 307, 177 CHOOSE = 308, 178 DISABLE = 309, 179 ENABLE = 310, 180 FALLTHRU = 311, 181 TRY = 312, 182 CATCH = 313, 183 CATCHRESUME = 314, 184 FINALLY = 315, 185 THROW = 316, 186 THROWRESUME = 317, 187 AT = 318, 188 ASM = 319, 189 ALIGNAS = 320, 190 ALIGNOF = 321, 191 ATOMIC = 322, 192 GENERIC = 323, 193 NORETURN = 324, 194 STATICASSERT = 325, 195 THREADLOCAL = 326, 196 IDENTIFIER = 327, 197 QUOTED_IDENTIFIER = 328, 198 TYPEDEFname = 329, 199 TYPEGENname = 330, 200 ATTR_IDENTIFIER = 331, 201 ATTR_TYPEDEFname = 332, 202 ATTR_TYPEGENname = 333, 203 INTEGERconstant = 334, 204 FLOATINGconstant = 335, 205 CHARACTERconstant = 336, 206 STRINGliteral = 337, 207 ZERO = 338, 208 ONE = 339, 209 ARROW = 340, 210 ICR = 341, 211 DECR = 342, 212 LS = 343, 213 RS = 344, 214 LE = 345, 215 GE = 346, 216 EQ = 347, 217 NE = 348, 218 ANDAND = 349, 219 OROR = 350, 220 ELLIPSIS = 351, 221 MULTassign = 352, 222 DIVassign = 353, 223 MODassign = 354, 224 PLUSassign = 355, 225 MINUSassign = 356, 226 LSassign = 357, 227 RSassign = 358, 228 ANDassign = 359, 229 ERassign = 360, 230 ORassign = 361, 231 ATassign = 362, 232 THEN = 363 233 }; 233 234 #endif 234 235 /* Tokens. */ … … 340 341 #define THEN 363 341 342 342 343 344 343 /* Value type. */ 345 344 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 346 typedef union YYSTYPE 345 typedef union YYSTYPE YYSTYPE; 346 union YYSTYPE 347 347 { 348 349 /* Line 293 of yacc.c */ 350 #line 116 "parser.yy" 348 #line 115 "parser.yy" /* yacc.c:355 */ 351 349 352 350 Token tok; … … 365 363 bool flag; 366 364 367 368 369 /* Line 293 of yacc.c */ 370 #line 371 "Parser/parser.cc" 371 } YYSTYPE; 365 #line 366 "Parser/parser.cc" /* yacc.c:355 */ 366 }; 372 367 # define YYSTYPE_IS_TRIVIAL 1 373 # define yystype YYSTYPE /* obsolescent; will be withdrawn */374 368 # define YYSTYPE_IS_DECLARED 1 375 369 #endif 376 370 377 371 372 extern YYSTYPE yylval; 373 374 int yyparse (void); 375 376 #endif /* !YY_YY_Y_TAB_H_INCLUDED */ 377 378 378 /* Copy the second part of user declarations. */ 379 379 380 381 /* Line 343 of yacc.c */ 382 #line 383 "Parser/parser.cc" 380 #line 381 "Parser/parser.cc" /* yacc.c:358 */ 383 381 384 382 #ifdef short … … 394 392 #ifdef YYTYPE_INT8 395 393 typedef YYTYPE_INT8 yytype_int8; 396 #elif (defined __STDC__ || defined __C99__FUNC__ \ 397 || defined __cplusplus || defined _MSC_VER) 394 #else 398 395 typedef signed char yytype_int8; 399 #else400 typedef short int yytype_int8;401 396 #endif 402 397 … … 418 413 # elif defined size_t 419 414 # define YYSIZE_T size_t 420 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 421 || defined __cplusplus || defined _MSC_VER) 415 # elif ! defined YYSIZE_T 422 416 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 423 417 # define YYSIZE_T size_t … … 433 427 # if ENABLE_NLS 434 428 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 435 # define YY_( msgid) dgettext ("bison-runtime", msgid)429 # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 436 430 # endif 437 431 # endif 438 432 # ifndef YY_ 439 # define YY_( msgid) msgid433 # define YY_(Msgid) Msgid 440 434 # endif 441 435 #endif 442 436 437 #ifndef YY_ATTRIBUTE 438 # if (defined __GNUC__ \ 439 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ 440 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C 441 # define YY_ATTRIBUTE(Spec) __attribute__(Spec) 442 # else 443 # define YY_ATTRIBUTE(Spec) /* empty */ 444 # endif 445 #endif 446 447 #ifndef YY_ATTRIBUTE_PURE 448 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) 449 #endif 450 451 #ifndef YY_ATTRIBUTE_UNUSED 452 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) 453 #endif 454 455 #if !defined _Noreturn \ 456 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 457 # if defined _MSC_VER && 1200 <= _MSC_VER 458 # define _Noreturn __declspec (noreturn) 459 # else 460 # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 461 # endif 462 #endif 463 443 464 /* Suppress unused-variable warnings by "using" E. */ 444 465 #if ! defined lint || defined __GNUC__ 445 # define YYUSE( e) ((void) (e))466 # define YYUSE(E) ((void) (E)) 446 467 #else 447 # define YYUSE( e) /* empty */468 # define YYUSE(E) /* empty */ 448 469 #endif 449 470 450 /* Identity function, used to suppress warnings about constant conditions. */ 451 #ifndef lint 452 # define YYID(n) (n) 471 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 472 /* Suppress an incorrect diagnostic about yylval being uninitialized. */ 473 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 474 _Pragma ("GCC diagnostic push") \ 475 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 476 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 477 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 478 _Pragma ("GCC diagnostic pop") 453 479 #else 454 #if (defined __STDC__ || defined __C99__FUNC__ \ 455 || defined __cplusplus || defined _MSC_VER) 456 static int 457 YYID (int yyi) 458 #else 459 static int 460 YYID (yyi) 461 int yyi; 480 # define YY_INITIAL_VALUE(Value) Value 462 481 #endif 463 { 464 return yyi; 465 } 482 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 483 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 484 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 466 485 #endif 486 #ifndef YY_INITIAL_VALUE 487 # define YY_INITIAL_VALUE(Value) /* Nothing. */ 488 #endif 489 467 490 468 491 #if ! defined yyoverflow || YYERROR_VERBOSE … … 483 506 # else 484 507 # define YYSTACK_ALLOC alloca 485 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 486 || defined __cplusplus || defined _MSC_VER) 508 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 487 509 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 510 /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 488 511 # ifndef EXIT_SUCCESS 489 512 # define EXIT_SUCCESS 0 … … 495 518 496 519 # ifdef YYSTACK_ALLOC 497 /* Pacify GCC's `empty if-body' warning. */498 # define YYSTACK_FREE(Ptr) do { /* empty */; } while ( YYID (0))520 /* Pacify GCC's 'empty if-body' warning. */ 521 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 499 522 # ifndef YYSTACK_ALLOC_MAXIMUM 500 523 /* The OS might guarantee only one guard page at the bottom of the stack, … … 512 535 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 513 536 && ! ((defined YYMALLOC || defined malloc) \ 514 && (defined YYFREE || defined free)))537 && (defined YYFREE || defined free))) 515 538 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 516 539 # ifndef EXIT_SUCCESS … … 520 543 # ifndef YYMALLOC 521 544 # define YYMALLOC malloc 522 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 523 || defined __cplusplus || defined _MSC_VER) 545 # if ! defined malloc && ! defined EXIT_SUCCESS 524 546 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 525 547 # endif … … 527 549 # ifndef YYFREE 528 550 # define YYFREE free 529 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 530 || defined __cplusplus || defined _MSC_VER) 551 # if ! defined free && ! defined EXIT_SUCCESS 531 552 void free (void *); /* INFRINGES ON USER NAME SPACE */ 532 553 # endif … … 538 559 #if (! defined yyoverflow \ 539 560 && (! defined __cplusplus \ 540 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))561 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 541 562 542 563 /* A type that is properly aligned for any stack member. */ … … 563 584 stack. Advance YYPTR to a properly aligned location for the next 564 585 stack. */ 565 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \566 do \567 { \568 YYSIZE_T yynewbytes;\569 YYCOPY (&yyptr->Stack_alloc, Stack, yysize);\570 Stack = &yyptr->Stack_alloc;\571 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \572 yyptr += yynewbytes / sizeof (*yyptr);\573 } \574 while ( YYID (0))586 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 587 do \ 588 { \ 589 YYSIZE_T yynewbytes; \ 590 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 591 Stack = &yyptr->Stack_alloc; \ 592 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 593 yyptr += yynewbytes / sizeof (*yyptr); \ 594 } \ 595 while (0) 575 596 576 597 #endif 577 598 578 599 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 579 /* Copy COUNT objects from FROM to TO. The source and destination do600 /* Copy COUNT objects from SRC to DST. The source and destination do 580 601 not overlap. */ 581 602 # ifndef YYCOPY 582 603 # if defined __GNUC__ && 1 < __GNUC__ 583 # define YYCOPY( To, From, Count) \584 __builtin_memcpy ( To, From, (Count) * sizeof (*(From)))604 # define YYCOPY(Dst, Src, Count) \ 605 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 585 606 # else 586 # define YYCOPY( To, From, Count)\587 do \588 {\589 YYSIZE_T yyi;\590 for (yyi = 0; yyi < (Count); yyi++)\591 (To)[yyi] = (From)[yyi];\592 }\593 while ( YYID (0))607 # define YYCOPY(Dst, Src, Count) \ 608 do \ 609 { \ 610 YYSIZE_T yyi; \ 611 for (yyi = 0; yyi < (Count); yyi++) \ 612 (Dst)[yyi] = (Src)[yyi]; \ 613 } \ 614 while (0) 594 615 # endif 595 616 # endif … … 607 628 /* YYNRULES -- Number of rules. */ 608 629 #define YYNRULES 751 609 /* YYN RULES -- Number of states. */630 /* YYNSTATES -- Number of states. */ 610 631 #define YYNSTATES 1555 611 632 612 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 633 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 634 by yylex, with out-of-bounds checking. */ 613 635 #define YYUNDEFTOK 2 614 636 #define YYMAXUTOK 363 615 637 616 #define YYTRANSLATE(YYX) \638 #define YYTRANSLATE(YYX) \ 617 639 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 618 640 619 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 641 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 642 as returned by yylex, without out-of-bounds checking. */ 620 643 static const yytype_uint8 yytranslate[] = 621 644 { … … 660 683 661 684 #if YYDEBUG 662 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 663 YYRHS. */ 664 static const yytype_uint16 yyprhs[] = 665 { 666 0, 0, 3, 4, 5, 7, 9, 11, 13, 15, 667 17, 19, 21, 23, 25, 27, 29, 31, 33, 36, 668 38, 40, 44, 48, 50, 57, 62, 66, 74, 78, 669 86, 89, 92, 100, 105, 107, 111, 112, 114, 116, 670 120, 122, 126, 134, 138, 146, 148, 150, 152, 155, 671 158, 161, 164, 167, 170, 175, 178, 183, 190, 192, 672 197, 202, 204, 206, 208, 210, 212, 214, 216, 221, 673 226, 228, 232, 236, 240, 242, 246, 250, 252, 256, 674 260, 262, 266, 270, 274, 278, 280, 284, 288, 290, 675 294, 296, 300, 302, 306, 308, 312, 314, 318, 320, 676 326, 331, 337, 339, 341, 345, 348, 349, 351, 353, 677 355, 357, 359, 361, 363, 365, 367, 369, 371, 373, 678 375, 378, 384, 391, 399, 401, 405, 407, 411, 412, 679 414, 416, 418, 420, 422, 424, 426, 428, 430, 437, 680 442, 445, 453, 455, 459, 461, 464, 466, 469, 471, 681 474, 477, 483, 491, 497, 507, 513, 523, 525, 529, 682 531, 533, 537, 541, 544, 546, 549, 552, 553, 555, 683 558, 562, 563, 565, 568, 572, 576, 581, 582, 584, 684 586, 589, 595, 603, 610, 617, 622, 626, 631, 634, 685 638, 641, 645, 649, 653, 657, 663, 667, 671, 676, 686 678, 684, 691, 697, 704, 714, 725, 735, 746, 749, 687 751, 754, 757, 760, 762, 769, 778, 789, 802, 817, 688 818, 820, 821, 823, 825, 829, 834, 842, 843, 845, 689 849, 851, 855, 857, 859, 861, 865, 867, 869, 871, 690 875, 876, 878, 882, 887, 889, 893, 895, 897, 901, 691 905, 909, 913, 917, 920, 924, 931, 935, 939, 944, 692 946, 949, 952, 956, 962, 971, 979, 987, 993, 1003, 693 1006, 1009, 1015, 1019, 1025, 1030, 1034, 1039, 1044, 1052, 694 1056, 1060, 1064, 1068, 1073, 1080, 1082, 1084, 1086, 1088, 695 1090, 1092, 1094, 1096, 1097, 1099, 1101, 1104, 1106, 1108, 696 1110, 1112, 1114, 1116, 1118, 1119, 1125, 1127, 1130, 1134, 697 1136, 1139, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 698 1157, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 1175, 699 1177, 1179, 1181, 1183, 1186, 1189, 1193, 1197, 1199, 1203, 700 1205, 1208, 1211, 1214, 1219, 1224, 1229, 1234, 1236, 1239, 701 1242, 1246, 1248, 1251, 1254, 1256, 1259, 1262, 1266, 1268, 702 1271, 1274, 1276, 1278, 1283, 1286, 1287, 1294, 1302, 1305, 703 1308, 1311, 1312, 1315, 1318, 1322, 1325, 1329, 1331, 1334, 704 1338, 1341, 1344, 1349, 1350, 1352, 1355, 1358, 1360, 1361, 705 1363, 1366, 1369, 1375, 1378, 1379, 1387, 1390, 1395, 1396, 706 1399, 1400, 1402, 1404, 1406, 1412, 1418, 1424, 1426, 1432, 707 1438, 1448, 1450, 1456, 1457, 1459, 1461, 1467, 1469, 1471, 708 1477, 1483, 1485, 1489, 1493, 1498, 1500, 1502, 1504, 1506, 709 1509, 1511, 1515, 1519, 1521, 1524, 1526, 1530, 1532, 1534, 710 1536, 1538, 1540, 1542, 1544, 1546, 1548, 1550, 1552, 1555, 711 1557, 1559, 1561, 1564, 1565, 1568, 1571, 1573, 1578, 1579, 712 1581, 1584, 1588, 1593, 1596, 1599, 1601, 1604, 1607, 1613, 713 1619, 1627, 1634, 1636, 1639, 1642, 1646, 1648, 1651, 1654, 714 1659, 1662, 1667, 1668, 1673, 1676, 1678, 1680, 1682, 1683, 715 1686, 1692, 1698, 1712, 1714, 1716, 1720, 1724, 1727, 1731, 716 1735, 1738, 1743, 1745, 1752, 1762, 1763, 1775, 1777, 1781, 717 1785, 1789, 1791, 1793, 1799, 1802, 1808, 1809, 1811, 1813, 718 1817, 1818, 1820, 1822, 1824, 1826, 1827, 1834, 1837, 1839, 719 1842, 1847, 1850, 1854, 1858, 1862, 1867, 1873, 1879, 1885, 720 1892, 1894, 1896, 1898, 1902, 1903, 1909, 1910, 1912, 1914, 721 1917, 1924, 1926, 1930, 1931, 1933, 1938, 1940, 1942, 1944, 722 1946, 1949, 1951, 1954, 1957, 1959, 1963, 1966, 1970, 1974, 723 1977, 1982, 1987, 1991, 2000, 2004, 2007, 2009, 2012, 2019, 724 2028, 2032, 2035, 2039, 2043, 2048, 2053, 2057, 2059, 2061, 725 2063, 2068, 2075, 2079, 2082, 2086, 2090, 2095, 2100, 2104, 726 2107, 2109, 2112, 2115, 2117, 2121, 2124, 2128, 2132, 2135, 727 2140, 2145, 2149, 2156, 2165, 2169, 2172, 2174, 2177, 2180, 728 2183, 2187, 2191, 2194, 2199, 2204, 2208, 2215, 2224, 2228, 729 2231, 2233, 2236, 2239, 2241, 2243, 2246, 2250, 2254, 2257, 730 2262, 2269, 2278, 2280, 2283, 2286, 2288, 2291, 2294, 2298, 731 2302, 2304, 2309, 2314, 2318, 2324, 2333, 2337, 2340, 2344, 732 2346, 2352, 2358, 2365, 2372, 2374, 2377, 2380, 2382, 2385, 733 2388, 2392, 2396, 2398, 2403, 2408, 2412, 2418, 2427, 2431, 734 2433, 2436, 2438, 2441, 2448, 2454, 2461, 2469, 2477, 2479, 735 2482, 2485, 2487, 2490, 2493, 2497, 2501, 2503, 2508, 2513, 736 2517, 2526, 2530, 2532, 2534, 2537, 2539, 2541, 2544, 2548, 737 2551, 2555, 2558, 2562, 2566, 2569, 2574, 2578, 2581, 2585, 738 2588, 2593, 2597, 2600, 2607, 2614, 2621, 2629, 2631, 2634, 739 2636, 2638, 2640, 2643, 2647, 2650, 2654, 2657, 2661, 2665, 740 2670, 2673, 2677, 2682, 2685, 2691, 2697, 2704, 2711, 2712, 741 2714, 2715 742 }; 743 744 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ 745 static const yytype_int16 yyrhs[] = 746 { 747 302, 0, -1, -1, -1, 79, -1, 80, -1, 81, 748 -1, 72, -1, 76, -1, 140, -1, 72, -1, 76, 749 -1, 72, -1, 140, -1, 83, -1, 84, -1, 142, 750 -1, 82, -1, 142, 82, -1, 72, -1, 140, -1, 751 109, 170, 110, -1, 109, 174, 110, -1, 143, -1, 752 144, 111, 134, 165, 135, 112, -1, 144, 109, 145, 753 110, -1, 144, 113, 139, -1, 144, 113, 111, 134, 754 147, 135, 112, -1, 144, 85, 139, -1, 144, 85, 755 111, 134, 147, 135, 112, -1, 144, 86, -1, 144, 756 87, -1, 109, 275, 110, 114, 279, 372, 115, -1, 757 144, 114, 145, 115, -1, 146, -1, 145, 116, 146, 758 -1, -1, 165, -1, 148, -1, 147, 116, 148, -1, 759 139, -1, 139, 113, 148, -1, 139, 113, 111, 134, 760 147, 135, 112, -1, 139, 85, 148, -1, 139, 85, 761 111, 134, 147, 135, 112, -1, 144, -1, 136, -1, 762 141, -1, 40, 152, -1, 150, 152, -1, 151, 152, 763 -1, 86, 149, -1, 87, 149, -1, 37, 149, -1, 764 37, 109, 275, 110, -1, 66, 149, -1, 66, 109, 765 275, 110, -1, 38, 109, 275, 116, 139, 110, -1, 766 76, -1, 76, 109, 146, 110, -1, 76, 109, 276, 767 110, -1, 117, -1, 118, -1, 119, -1, 120, -1, 768 121, -1, 122, -1, 149, -1, 109, 275, 110, 152, 769 -1, 109, 275, 110, 168, -1, 152, -1, 153, 117, 770 152, -1, 153, 123, 152, -1, 153, 124, 152, -1, 771 153, -1, 154, 119, 153, -1, 154, 120, 153, -1, 772 154, -1, 155, 88, 154, -1, 155, 89, 154, -1, 773 155, -1, 156, 125, 155, -1, 156, 126, 155, -1, 774 156, 90, 155, -1, 156, 91, 155, -1, 156, -1, 775 157, 92, 156, -1, 157, 93, 156, -1, 157, -1, 776 158, 118, 157, -1, 158, -1, 159, 127, 158, -1, 777 159, -1, 160, 128, 159, -1, 160, -1, 161, 94, 778 160, -1, 161, -1, 162, 95, 161, -1, 162, -1, 779 162, 129, 170, 130, 163, -1, 162, 129, 130, 163, 780 -1, 162, 129, 170, 130, 168, -1, 163, -1, 163, 781 -1, 149, 167, 165, -1, 168, 373, -1, -1, 165, 782 -1, 131, -1, 107, -1, 97, -1, 98, -1, 99, 783 -1, 100, -1, 101, -1, 102, -1, 103, -1, 104, 784 -1, 105, -1, 106, -1, 111, 112, -1, 111, 134, 785 165, 135, 112, -1, 111, 134, 116, 169, 135, 112, 786 -1, 111, 134, 165, 116, 169, 135, 112, -1, 166, 787 -1, 169, 116, 166, -1, 165, -1, 170, 116, 165, 788 -1, -1, 170, -1, 173, -1, 174, -1, 178, -1, 789 179, -1, 191, -1, 193, -1, 194, -1, 199, -1, 790 127, 144, 114, 145, 115, 132, -1, 72, 130, 312, 791 172, -1, 114, 115, -1, 114, 134, 134, 210, 175, 792 135, 115, -1, 176, -1, 175, 134, 176, -1, 213, 793 -1, 40, 213, -1, 308, -1, 172, 135, -1, 172, 794 -1, 177, 172, -1, 171, 132, -1, 41, 109, 170, 795 110, 172, -1, 41, 109, 170, 110, 172, 42, 172, 796 -1, 43, 109, 170, 110, 184, -1, 43, 109, 170, 797 110, 114, 134, 206, 185, 115, -1, 53, 109, 170, 798 110, 184, -1, 53, 109, 170, 110, 114, 134, 206, 799 187, 115, -1, 164, -1, 164, 96, 164, -1, 310, 800 -1, 180, -1, 181, 116, 180, -1, 44, 181, 130, 801 -1, 45, 130, -1, 182, -1, 183, 182, -1, 183, 802 172, -1, -1, 186, -1, 183, 177, -1, 186, 183, 803 177, -1, -1, 188, -1, 183, 190, -1, 183, 177, 804 189, -1, 188, 183, 190, -1, 188, 183, 177, 189, 805 -1, -1, 190, -1, 56, -1, 56, 132, -1, 47, 806 109, 170, 110, 172, -1, 46, 172, 47, 109, 170, 807 110, 132, -1, 48, 109, 134, 192, 110, 172, -1, 808 171, 135, 132, 171, 132, 171, -1, 213, 171, 132, 809 171, -1, 51, 72, 132, -1, 51, 117, 170, 132, 810 -1, 50, 132, -1, 50, 72, 132, -1, 49, 132, 811 -1, 49, 72, 132, -1, 52, 171, 132, -1, 61, 812 166, 132, -1, 62, 166, 132, -1, 62, 166, 63, 813 165, 132, -1, 57, 174, 195, -1, 57, 174, 197, 814 -1, 57, 174, 195, 197, -1, 196, -1, 58, 109, 815 96, 110, 174, -1, 196, 58, 109, 96, 110, 174, 816 -1, 59, 109, 96, 110, 174, -1, 196, 59, 109, 817 96, 110, 174, -1, 58, 109, 134, 134, 198, 135, 818 110, 174, 135, -1, 196, 58, 109, 134, 134, 198, 819 135, 110, 174, 135, -1, 59, 109, 134, 134, 198, 820 135, 110, 174, 135, -1, 196, 59, 109, 134, 134, 821 198, 135, 110, 174, 135, -1, 60, 174, -1, 226, 822 -1, 226, 309, -1, 226, 357, -1, 366, 139, -1, 823 366, -1, 64, 200, 109, 141, 110, 132, -1, 64, 824 200, 109, 141, 130, 201, 110, 132, -1, 64, 200, 825 109, 141, 130, 201, 130, 201, 110, 132, -1, 64, 826 200, 109, 141, 130, 201, 130, 201, 130, 204, 110, 827 132, -1, 64, 200, 51, 109, 141, 130, 130, 201, 828 130, 204, 130, 205, 110, 132, -1, -1, 11, -1, 829 -1, 202, -1, 203, -1, 202, 116, 203, -1, 141, 830 109, 164, 110, -1, 111, 164, 112, 141, 109, 164, 831 110, -1, -1, 141, -1, 204, 116, 141, -1, 139, 832 -1, 205, 116, 139, -1, 135, -1, 207, -1, 213, 833 -1, 207, 134, 213, -1, 135, -1, 209, -1, 223, 834 -1, 209, 134, 223, -1, -1, 211, -1, 29, 212, 835 132, -1, 211, 29, 212, 132, -1, 274, -1, 212, 836 116, 274, -1, 214, -1, 223, -1, 215, 135, 132, 837 -1, 220, 135, 132, -1, 217, 135, 132, -1, 293, 838 135, 132, -1, 296, 135, 132, -1, 216, 277, -1, 839 232, 216, 277, -1, 215, 135, 116, 134, 272, 277, 840 -1, 367, 272, 311, -1, 370, 272, 311, -1, 228, 841 370, 272, 311, -1, 218, -1, 228, 218, -1, 232, 842 218, -1, 232, 228, 218, -1, 217, 135, 116, 134, 843 272, -1, 111, 112, 272, 109, 134, 260, 135, 110, 844 -1, 370, 272, 109, 134, 260, 135, 110, -1, 219, 845 272, 109, 134, 260, 135, 110, -1, 111, 134, 262, 846 135, 112, -1, 111, 134, 262, 135, 116, 134, 263, 847 135, 112, -1, 3, 216, -1, 3, 218, -1, 220, 848 135, 116, 134, 139, -1, 3, 226, 309, -1, 221, 849 135, 116, 134, 309, -1, 228, 3, 226, 309, -1, 850 226, 3, 309, -1, 226, 3, 228, 309, -1, 3, 851 139, 131, 165, -1, 222, 135, 116, 134, 139, 131, 852 165, -1, 224, 135, 132, -1, 221, 135, 132, -1, 853 222, 135, 132, -1, 240, 135, 132, -1, 225, 309, 854 311, 277, -1, 224, 116, 312, 309, 311, 277, -1, 855 236, -1, 240, -1, 242, -1, 283, -1, 237, -1, 856 241, -1, 243, -1, 284, -1, -1, 228, -1, 229, 857 -1, 228, 229, -1, 230, -1, 314, -1, 10, -1, 858 12, -1, 11, -1, 14, -1, 67, -1, -1, 13, 859 109, 231, 286, 110, -1, 233, -1, 228, 233, -1, 860 232, 228, 233, -1, 234, -1, 233, 234, -1, 5, 861 -1, 7, -1, 4, -1, 6, -1, 8, -1, 9, 862 -1, 69, -1, 71, -1, 16, -1, 21, -1, 20, 863 -1, 18, -1, 19, -1, 17, -1, 22, -1, 23, 864 -1, 15, -1, 25, -1, 26, -1, 27, -1, 24, 865 -1, 237, -1, 232, 237, -1, 236, 234, -1, 236, 866 234, 228, -1, 236, 234, 237, -1, 238, -1, 227, 867 239, 227, -1, 235, -1, 228, 235, -1, 238, 229, 868 -1, 238, 235, -1, 28, 109, 276, 110, -1, 28, 869 109, 170, 110, -1, 78, 109, 276, 110, -1, 78, 870 109, 170, 110, -1, 241, -1, 232, 241, -1, 240, 871 234, -1, 240, 234, 228, -1, 244, -1, 228, 244, 872 -1, 241, 229, -1, 243, -1, 232, 243, -1, 242, 873 234, -1, 242, 234, 228, -1, 74, -1, 228, 74, 874 -1, 243, 229, -1, 245, -1, 256, -1, 247, 114, 875 248, 115, -1, 247, 274, -1, -1, 247, 274, 246, 876 114, 248, 115, -1, 247, 109, 292, 110, 114, 248, 877 115, -1, 247, 285, -1, 31, 312, -1, 32, 312, 878 -1, -1, 248, 249, -1, 250, 132, -1, 40, 250, 879 132, -1, 251, 132, -1, 40, 251, 132, -1, 366, 880 -1, 366, 274, -1, 250, 116, 274, -1, 250, 116, 881 -1, 226, 252, -1, 251, 116, 312, 252, -1, -1, 882 254, -1, 318, 253, -1, 331, 253, -1, 357, -1, 883 -1, 254, -1, 130, 164, -1, 30, 312, -1, 255, 884 114, 258, 372, 115, -1, 255, 274, -1, -1, 255, 885 274, 257, 114, 258, 372, 115, -1, 274, 259, -1, 886 258, 116, 274, 259, -1, -1, 131, 164, -1, -1, 887 261, -1, 263, -1, 262, -1, 262, 135, 116, 134, 888 263, -1, 263, 135, 116, 134, 96, -1, 262, 135, 889 116, 134, 96, -1, 267, -1, 263, 135, 116, 134, 890 267, -1, 262, 135, 116, 134, 267, -1, 262, 135, 891 116, 134, 263, 135, 116, 134, 267, -1, 268, -1, 892 263, 135, 116, 134, 268, -1, -1, 265, -1, 266, 893 -1, 266, 135, 116, 134, 96, -1, 270, -1, 269, 894 -1, 266, 135, 116, 134, 270, -1, 266, 135, 116, 895 134, 269, -1, 269, -1, 362, 272, 373, -1, 370, 896 272, 373, -1, 228, 370, 272, 373, -1, 218, -1, 897 270, -1, 362, -1, 370, -1, 228, 370, -1, 371, 898 -1, 225, 336, 373, -1, 225, 340, 373, -1, 225, 899 -1, 225, 351, -1, 139, -1, 271, 116, 139, -1, 900 137, -1, 74, -1, 75, -1, 138, -1, 74, -1, 901 75, -1, 139, -1, 74, -1, 75, -1, 366, -1, 902 226, -1, 226, 357, -1, 366, -1, 371, -1, 226, 903 -1, 226, 345, -1, -1, 131, 278, -1, 107, 278, 904 -1, 165, -1, 114, 279, 372, 115, -1, -1, 278, 905 -1, 280, 278, -1, 279, 116, 278, -1, 279, 116, 906 280, 278, -1, 281, 130, -1, 274, 130, -1, 282, 907 -1, 281, 282, -1, 113, 274, -1, 111, 134, 165, 908 135, 112, -1, 111, 134, 310, 135, 112, -1, 111, 909 134, 164, 96, 164, 135, 112, -1, 113, 111, 134, 910 147, 135, 112, -1, 284, -1, 232, 284, -1, 283, 911 234, -1, 283, 234, 228, -1, 285, -1, 228, 285, 912 -1, 284, 229, -1, 75, 109, 292, 110, -1, 287, 913 373, -1, 286, 116, 287, 373, -1, -1, 289, 274, 914 288, 290, -1, 226, 336, -1, 33, -1, 35, -1, 915 34, -1, -1, 290, 291, -1, 128, 274, 109, 292, 916 110, -1, 128, 114, 134, 298, 115, -1, 128, 109, 917 134, 286, 135, 110, 114, 134, 298, 115, 109, 292, 918 110, -1, 276, -1, 165, -1, 292, 116, 276, -1, 919 292, 116, 165, -1, 33, 294, -1, 233, 33, 294, 920 -1, 293, 116, 294, -1, 295, 290, -1, 295, 290, 921 131, 276, -1, 274, -1, 273, 109, 134, 286, 135, 922 110, -1, 36, 274, 109, 134, 286, 135, 110, 114, 923 115, -1, -1, 36, 274, 109, 134, 286, 135, 110, 924 114, 297, 298, 115, -1, 299, -1, 298, 134, 299, 925 -1, 300, 135, 132, -1, 301, 135, 132, -1, 216, 926 -1, 218, -1, 300, 135, 116, 134, 272, -1, 226, 927 309, -1, 301, 135, 116, 134, 309, -1, -1, 303, 928 -1, 305, -1, 303, 134, 305, -1, -1, 303, -1, 929 213, -1, 307, -1, 199, -1, -1, 5, 82, 306, 930 114, 304, 115, -1, 40, 305, -1, 308, -1, 323, 931 174, -1, 327, 134, 208, 174, -1, 217, 174, -1, 932 225, 323, 174, -1, 228, 323, 174, -1, 232, 323, 933 174, -1, 232, 228, 323, 174, -1, 225, 327, 134, 934 208, 174, -1, 228, 327, 134, 208, 174, -1, 232, 935 327, 134, 208, 174, -1, 232, 228, 327, 134, 208, 936 174, -1, 318, -1, 331, -1, 323, -1, 164, 122, 937 164, -1, -1, 64, 109, 142, 110, 312, -1, -1, 938 313, -1, 314, -1, 313, 314, -1, 39, 109, 109, 939 315, 110, 110, -1, 316, -1, 315, 116, 316, -1, 940 -1, 317, -1, 317, 109, 171, 110, -1, 272, -1, 941 234, -1, 235, -1, 229, -1, 319, 312, -1, 320, 942 -1, 321, 312, -1, 322, 312, -1, 137, -1, 109, 943 319, 110, -1, 150, 318, -1, 150, 228, 318, -1, 944 109, 320, 110, -1, 319, 349, -1, 109, 320, 110, 945 349, -1, 109, 321, 110, 350, -1, 109, 321, 110, 946 -1, 109, 320, 110, 109, 134, 264, 135, 110, -1, 947 109, 322, 110, -1, 324, 312, -1, 325, -1, 326, 948 312, -1, 319, 109, 134, 264, 135, 110, -1, 109, 949 325, 110, 109, 134, 264, 135, 110, -1, 109, 324, 950 110, -1, 150, 323, -1, 150, 228, 323, -1, 109, 951 325, 110, -1, 109, 325, 110, 349, -1, 109, 326, 952 110, 350, -1, 109, 326, 110, -1, 328, -1, 329, 953 -1, 330, -1, 319, 109, 271, 110, -1, 109, 329, 954 110, 109, 271, 110, -1, 109, 328, 110, -1, 150, 955 327, -1, 150, 228, 327, -1, 109, 329, 110, -1, 956 109, 329, 110, 349, -1, 109, 330, 110, 350, -1, 957 109, 330, 110, -1, 332, 312, -1, 333, -1, 334, 958 312, -1, 335, 312, -1, 341, -1, 109, 332, 110, 959 -1, 150, 331, -1, 150, 228, 331, -1, 109, 333, 960 110, -1, 332, 349, -1, 109, 333, 110, 349, -1, 961 109, 334, 110, 350, -1, 109, 334, 110, -1, 332, 962 109, 134, 264, 135, 110, -1, 109, 333, 110, 109, 963 134, 264, 135, 110, -1, 109, 335, 110, -1, 319, 964 312, -1, 337, -1, 338, 312, -1, 339, 312, -1, 965 150, 336, -1, 150, 228, 336, -1, 109, 337, 110, 966 -1, 319, 355, -1, 109, 337, 110, 349, -1, 109, 967 338, 110, 350, -1, 109, 338, 110, -1, 319, 109, 968 134, 264, 135, 110, -1, 109, 337, 110, 109, 134, 969 264, 135, 110, -1, 109, 339, 110, -1, 341, 312, 970 -1, 342, -1, 343, 312, -1, 344, 312, -1, 74, 971 -1, 75, -1, 150, 340, -1, 150, 228, 340, -1, 972 109, 342, 110, -1, 341, 355, -1, 109, 342, 110, 973 355, -1, 341, 109, 134, 264, 135, 110, -1, 109, 974 342, 110, 109, 134, 264, 135, 110, -1, 346, -1, 975 347, 312, -1, 348, 312, -1, 150, -1, 150, 228, 976 -1, 150, 345, -1, 150, 228, 345, -1, 109, 346, 977 110, -1, 349, -1, 109, 346, 110, 349, -1, 109, 978 347, 110, 350, -1, 109, 347, 110, -1, 109, 134, 979 264, 135, 110, -1, 109, 346, 110, 109, 134, 264, 980 135, 110, -1, 109, 348, 110, -1, 111, 112, -1, 981 111, 112, 350, -1, 350, -1, 111, 134, 165, 135, 982 112, -1, 111, 134, 117, 135, 112, -1, 350, 111, 983 134, 165, 135, 112, -1, 350, 111, 134, 117, 135, 984 112, -1, 352, -1, 353, 312, -1, 354, 312, -1, 985 150, -1, 150, 228, -1, 150, 351, -1, 150, 228, 986 351, -1, 109, 352, 110, -1, 355, -1, 109, 352, 987 110, 355, -1, 109, 353, 110, 350, -1, 109, 353, 988 110, -1, 109, 134, 264, 135, 110, -1, 109, 352, 989 110, 109, 134, 264, 135, 110, -1, 109, 354, 110, 990 -1, 356, -1, 356, 350, -1, 350, -1, 111, 112, 991 -1, 111, 134, 228, 117, 135, 112, -1, 111, 134, 992 228, 135, 112, -1, 111, 134, 228, 165, 135, 112, 993 -1, 111, 134, 7, 227, 165, 135, 112, -1, 111, 994 134, 228, 7, 165, 135, 112, -1, 358, -1, 359, 995 312, -1, 360, 312, -1, 150, -1, 150, 228, -1, 996 150, 357, -1, 150, 228, 357, -1, 109, 358, 110, 997 -1, 349, -1, 109, 358, 110, 349, -1, 109, 359, 998 110, 350, -1, 109, 359, 110, -1, 109, 358, 110, 999 109, 134, 264, 135, 110, -1, 109, 360, 110, -1, 1000 362, -1, 370, -1, 228, 370, -1, 363, -1, 364, 1001 -1, 150, 226, -1, 228, 150, 226, -1, 150, 371, 1002 -1, 228, 150, 371, -1, 150, 361, -1, 228, 150, 1003 361, -1, 111, 112, 226, -1, 365, 226, -1, 111, 1004 112, 350, 226, -1, 365, 350, 226, -1, 350, 226, 1005 -1, 111, 112, 363, -1, 365, 363, -1, 111, 112, 1006 350, 363, -1, 365, 350, 363, -1, 350, 363, -1, 1007 111, 134, 228, 117, 135, 112, -1, 111, 134, 228, 1008 165, 135, 112, -1, 111, 134, 232, 165, 135, 112, 1009 -1, 111, 134, 232, 228, 165, 135, 112, -1, 370, 1010 -1, 228, 370, -1, 367, -1, 368, -1, 369, -1, 1011 150, 226, -1, 228, 150, 226, -1, 150, 371, -1, 1012 228, 150, 371, -1, 150, 366, -1, 228, 150, 366, 1013 -1, 111, 112, 226, -1, 111, 112, 350, 226, -1, 1014 350, 226, -1, 111, 112, 368, -1, 111, 112, 350, 1015 368, -1, 350, 368, -1, 111, 134, 263, 135, 112, 1016 -1, 111, 112, 109, 260, 110, -1, 370, 109, 134, 1017 260, 135, 110, -1, 219, 109, 134, 260, 135, 110, 1018 -1, -1, 116, -1, -1, 131, 165, -1 1019 }; 1020 1021 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 685 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 1022 686 static const yytype_uint16 yyrline[] = 1023 687 { 1024 0, 30 1, 301, 305, 312, 313, 314, 318, 319, 320,1025 32 4, 325, 329, 330, 334, 335, 339, 343, 344, 355,1026 35 7, 359, 361, 366, 367, 373, 377, 379, 380, 382,1027 38 3, 385, 387, 389, 398, 399, 405, 406, 410, 411,1028 41 5, 419, 421, 423, 425, 430, 433, 435, 437, 442,1029 45 5, 457, 459, 461, 463, 465, 467, 469, 471, 473,1030 47 5, 482, 483, 489, 490, 491, 492, 496, 497, 499,1031 50 4, 505, 507, 509, 514, 515, 517, 522, 523, 525,1032 5 30, 531, 533, 535, 537, 542, 543, 545, 550, 551,1033 55 6, 557, 562, 563, 568, 569, 574, 575, 580, 581,1034 58 4, 586, 591, 596, 597, 599, 605, 606, 610, 611,1035 61 2, 613, 614, 615, 616, 617, 618, 619, 620, 621,1036 62 7, 629, 631, 633, 638, 639, 644, 645, 651, 652,1037 65 8, 659, 660, 661, 662, 663, 664, 665, 666, 676,1038 68 3, 685, 695, 696, 701, 703, 709, 711, 715, 716,1039 72 1, 726, 729, 731, 733, 743, 745, 756, 757, 759,1040 76 3, 765, 769, 770, 775, 776, 780, 785, 786, 790,1041 79 2, 798, 799, 803, 805, 807, 809, 815, 816, 820,1042 82 2, 827, 829, 831, 836, 838, 843, 845, 849, 852,1043 85 6, 859, 863, 865, 867, 869, 874, 876, 878, 883,1044 88 5, 887, 889, 891, 896, 898, 900, 902, 907, 919,1045 9 20, 925, 927, 932, 936, 938, 940, 942, 944, 950,1046 95 1, 957, 958, 962, 963, 968, 970, 976, 977, 979,1047 98 4, 989, 999, 1001, 1005, 1006, 1011, 1013, 1017, 1018,1048 102 2, 1024, 1028, 1029, 1033, 1034, 1038, 1039, 1054, 1055,1049 105 6, 1057, 1058, 1062, 1067, 1074, 1084, 1089, 1094, 1102,1050 110 7, 1112, 1117, 1122, 1130, 1152, 1157, 1164, 1166, 1173,1051 117 8, 1183, 1194, 1199, 1204, 1209, 1214, 1223, 1228, 1236,1052 123 7, 1238, 1239, 1245, 1250, 1258, 1259, 1260, 1261, 1265,1053 126 6, 1267, 1268, 1273, 1274, 1283, 1284, 1289, 1290, 1295,1054 129 7, 1299, 1301, 1303, 1306, 1305, 1317, 1318, 1320, 1330,1055 133 1, 1336, 1338, 1340, 1342, 1344, 1347, 1349, 1352, 1357,1056 135 9, 1361, 1363, 1365, 1367, 1369, 1371, 1373, 1375, 1377,1057 137 9, 1381, 1387, 1388, 1390, 1392, 1394, 1399, 1400, 1406,1058 140 7, 1409, 1411, 1416, 1418, 1420, 1422, 1427, 1428, 1430,1059 143 2, 1437, 1438, 1440, 1445, 1446, 1448, 1450, 1455, 1457,1060 145 9, 1464, 1465, 1469, 1471, 1477, 1476, 1480, 1482, 1487,1061 148 9, 1495, 1496, 1501, 1502, 1504, 1505, 1514, 1515, 1517,1062 151 9, 1524, 1526, 1532, 1533, 1535, 1538, 1541, 1546, 1547,1063 155 2, 1557, 1561, 1563, 1569, 1568, 1575, 1577, 1583, 1584,1064 159 2, 1593, 1597, 1598, 1599, 1601, 1603, 1610, 1611, 1613,1065 161 5, 1620, 1621, 1627, 1628, 1632, 1633, 1638, 1639, 1640,1066 164 2, 1650, 1651, 1653, 1656, 1658, 1662, 1663, 1664, 1666,1067 166 8, 1672, 1677, 1685, 1686, 1695, 1697, 1702, 1703, 1704,1068 170 8, 1709, 1710, 1714, 1715, 1716, 1720, 1721, 1722, 1727,1069 172 8, 1729, 1730, 1736, 1737, 1739, 1744, 1745, 1750, 1751,1070 175 2, 1753, 1754, 1769, 1770, 1775, 1776, 1782, 1784, 1787,1071 178 9, 1791, 1814, 1815, 1817, 1819, 1824, 1825, 1827, 1832,1072 183 7, 1838, 1844, 1843, 1847, 1851, 1853, 1855, 1861, 1862,1073 186 7, 1872, 1874, 1879, 1881, 1882, 1884, 1889, 1891, 1893,1074 189 8, 1900, 1905, 1910, 1918, 1924, 1923, 1937, 1938, 1943,1075 194 4, 1948, 1953, 1958, 1966, 1971, 1982, 1983, 1988, 1989,1076 199 5, 1996, 2000, 2001, 2002, 2005, 2004, 2015, 2024, 2030,1077 203 6, 2045, 2051, 2057, 2063, 2069, 2077, 2083, 2091, 2097,1078 210 6, 2107, 2108, 2112, 2116, 2118, 2123, 2124, 2128, 2129,1079 213 4, 2140, 2141, 2144, 2146, 2147, 2151, 2152, 2153, 2154,1080 218 8, 2190, 2191, 2193, 2198, 2203, 2208, 2210, 2212, 2217,1081 221 9, 2221, 2223, 2228, 2230, 2239, 2241, 2242, 2247, 2249,1082 225 1, 2256, 2258, 2260, 2265, 2267, 2269, 2278, 2279, 2280,1083 228 4, 2286, 2288, 2293, 2295, 2297, 2302, 2304, 2306, 2321,1084 232 3, 2324, 2326, 2331, 2332, 2337, 2339, 2341, 2346, 2348,1085 23 50, 2352, 2357, 2359, 2361, 2371, 2373, 2374, 2376, 2381,1086 238 3, 2385, 2390, 2392, 2394, 2396, 2401, 2403, 2405, 2436,1087 243 8, 2439, 2441, 2446, 2451, 2459, 2461, 2463, 2468, 2470,1088 247 5, 2477, 2491, 2492, 2494, 2499, 2501, 2503, 2505, 2507,1089 251 2, 2513, 2515, 2517, 2522, 2524, 2526, 2532, 2534, 2536,1090 25 40, 2542, 2544, 2546, 2560, 2561, 2563, 2568, 2570, 2572,1091 257 4, 2576, 2581, 2582, 2584, 2586, 2591, 2593, 2595, 2601,1092 260 2, 2604, 2613, 2616, 2618, 2621, 2623, 2625, 2638, 2639,1093 264 1, 2646, 2648, 2650, 2652, 2654, 2659, 2660, 2662, 2664,1094 266 9, 2671, 2679, 2680, 2681, 2686, 2687, 2691, 2693, 2695,1095 269 7, 2699, 2701, 2708, 2710, 2712, 2714, 2716, 2718, 2720,1096 272 2, 2724, 2726, 2731, 2733, 2735, 2740, 2766, 2767, 2769,1097 277 3, 2774, 2778, 2780, 2782, 2784, 2786, 2788, 2795, 2797,1098 279 9, 2801, 2803, 2805, 2810, 2815, 2817, 2819, 2837, 2839,1099 284 4, 2845688 0, 300, 300, 304, 311, 312, 313, 317, 318, 319, 689 323, 324, 328, 329, 333, 334, 338, 342, 343, 354, 690 356, 358, 360, 365, 366, 372, 376, 378, 379, 381, 691 382, 384, 386, 388, 397, 398, 404, 405, 409, 410, 692 414, 418, 420, 422, 424, 429, 432, 434, 436, 441, 693 454, 456, 458, 460, 462, 464, 466, 468, 470, 472, 694 474, 481, 482, 488, 489, 490, 491, 495, 496, 498, 695 503, 504, 506, 508, 513, 514, 516, 521, 522, 524, 696 529, 530, 532, 534, 536, 541, 542, 544, 549, 550, 697 555, 556, 561, 562, 567, 568, 573, 574, 579, 580, 698 583, 585, 590, 595, 596, 598, 604, 605, 609, 610, 699 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 700 626, 628, 630, 632, 637, 638, 643, 644, 650, 651, 701 657, 658, 659, 660, 661, 662, 663, 664, 665, 675, 702 682, 684, 694, 695, 700, 702, 708, 710, 714, 715, 703 720, 725, 728, 730, 732, 742, 744, 755, 756, 758, 704 762, 764, 768, 769, 774, 775, 779, 784, 785, 789, 705 791, 797, 798, 802, 804, 806, 808, 814, 815, 819, 706 821, 826, 828, 830, 835, 837, 842, 844, 848, 851, 707 855, 858, 862, 864, 866, 868, 873, 875, 877, 882, 708 884, 886, 888, 890, 895, 897, 899, 901, 906, 918, 709 919, 924, 926, 931, 935, 937, 939, 941, 943, 949, 710 950, 956, 957, 961, 962, 967, 969, 975, 976, 978, 711 983, 988, 998, 1000, 1004, 1005, 1010, 1012, 1016, 1017, 712 1021, 1023, 1027, 1028, 1032, 1033, 1037, 1038, 1053, 1054, 713 1055, 1056, 1057, 1061, 1066, 1073, 1083, 1088, 1093, 1101, 714 1106, 1111, 1116, 1121, 1129, 1151, 1156, 1163, 1165, 1172, 715 1177, 1182, 1193, 1198, 1203, 1208, 1213, 1222, 1227, 1235, 716 1236, 1237, 1238, 1244, 1249, 1257, 1258, 1259, 1260, 1264, 717 1265, 1266, 1267, 1272, 1273, 1282, 1283, 1288, 1289, 1294, 718 1296, 1298, 1300, 1302, 1305, 1304, 1316, 1317, 1319, 1329, 719 1330, 1335, 1337, 1339, 1341, 1343, 1346, 1348, 1351, 1356, 720 1358, 1360, 1362, 1364, 1366, 1368, 1370, 1372, 1374, 1376, 721 1378, 1380, 1386, 1387, 1389, 1391, 1393, 1398, 1399, 1405, 722 1406, 1408, 1410, 1415, 1417, 1419, 1421, 1426, 1427, 1429, 723 1431, 1436, 1437, 1439, 1444, 1445, 1447, 1449, 1454, 1456, 724 1458, 1463, 1464, 1468, 1470, 1476, 1475, 1479, 1481, 1486, 725 1488, 1494, 1495, 1500, 1501, 1503, 1504, 1513, 1514, 1516, 726 1518, 1523, 1525, 1531, 1532, 1534, 1537, 1540, 1545, 1546, 727 1551, 1556, 1560, 1562, 1568, 1567, 1574, 1576, 1582, 1583, 728 1591, 1592, 1596, 1597, 1598, 1600, 1602, 1609, 1610, 1612, 729 1614, 1619, 1620, 1626, 1627, 1631, 1632, 1637, 1638, 1639, 730 1641, 1649, 1650, 1652, 1655, 1657, 1661, 1662, 1663, 1665, 731 1667, 1671, 1676, 1684, 1685, 1694, 1696, 1701, 1702, 1703, 732 1707, 1708, 1709, 1713, 1714, 1715, 1719, 1720, 1721, 1726, 733 1727, 1728, 1729, 1735, 1736, 1738, 1743, 1744, 1749, 1750, 734 1751, 1752, 1753, 1768, 1769, 1774, 1775, 1781, 1783, 1786, 735 1788, 1790, 1813, 1814, 1816, 1818, 1823, 1824, 1826, 1831, 736 1836, 1837, 1843, 1842, 1846, 1850, 1852, 1854, 1860, 1861, 737 1866, 1871, 1873, 1878, 1880, 1881, 1883, 1888, 1890, 1892, 738 1897, 1899, 1904, 1909, 1917, 1923, 1922, 1936, 1937, 1942, 739 1943, 1947, 1952, 1957, 1965, 1970, 1981, 1982, 1987, 1988, 740 1994, 1995, 1999, 2000, 2001, 2004, 2003, 2014, 2023, 2029, 741 2035, 2044, 2050, 2056, 2062, 2068, 2076, 2082, 2090, 2096, 742 2105, 2106, 2107, 2111, 2115, 2117, 2122, 2123, 2127, 2128, 743 2133, 2139, 2140, 2143, 2145, 2146, 2150, 2151, 2152, 2153, 744 2187, 2189, 2190, 2192, 2197, 2202, 2207, 2209, 2211, 2216, 745 2218, 2220, 2222, 2227, 2229, 2238, 2240, 2241, 2246, 2248, 746 2250, 2255, 2257, 2259, 2264, 2266, 2268, 2277, 2278, 2279, 747 2283, 2285, 2287, 2292, 2294, 2296, 2301, 2303, 2305, 2320, 748 2322, 2323, 2325, 2330, 2331, 2336, 2338, 2340, 2345, 2347, 749 2349, 2351, 2356, 2358, 2360, 2370, 2372, 2373, 2375, 2380, 750 2382, 2384, 2389, 2391, 2393, 2395, 2400, 2402, 2404, 2435, 751 2437, 2438, 2440, 2445, 2450, 2458, 2460, 2462, 2467, 2469, 752 2474, 2476, 2490, 2491, 2493, 2498, 2500, 2502, 2504, 2506, 753 2511, 2512, 2514, 2516, 2521, 2523, 2525, 2531, 2533, 2535, 754 2539, 2541, 2543, 2545, 2559, 2560, 2562, 2567, 2569, 2571, 755 2573, 2575, 2580, 2581, 2583, 2585, 2590, 2592, 2594, 2600, 756 2601, 2603, 2612, 2615, 2617, 2620, 2622, 2624, 2637, 2638, 757 2640, 2645, 2647, 2649, 2651, 2653, 2658, 2659, 2661, 2663, 758 2668, 2670, 2678, 2679, 2680, 2685, 2686, 2690, 2692, 2694, 759 2696, 2698, 2700, 2707, 2709, 2711, 2713, 2715, 2717, 2719, 760 2721, 2723, 2725, 2730, 2732, 2734, 2739, 2765, 2766, 2768, 761 2772, 2773, 2777, 2779, 2781, 2783, 2785, 2787, 2794, 2796, 762 2798, 2800, 2802, 2804, 2809, 2814, 2816, 2818, 2836, 2838, 763 2843, 2844 1100 764 }; 1101 765 #endif 1102 766 1103 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE767 #if YYDEBUG || YYERROR_VERBOSE || 0 1104 768 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 1105 769 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ … … 1210 874 "new_abstract_declarator_no_tuple", "new_abstract_ptr", 1211 875 "new_abstract_array", "new_abstract_tuple", "new_abstract_function", 1212 "comma_opt", "assignment_opt", 0876 "comma_opt", "assignment_opt", YY_NULLPTR 1213 877 }; 1214 878 #endif 1215 879 1216 880 # ifdef YYPRINT 1217 /* YYTOKNUM[ YYLEX-NUM] -- Internal token number corresponding to1218 token YYLEX-NUM. */881 /* YYTOKNUM[NUM] -- (External) token number corresponding to the 882 (internal) symbol number NUM (which must be that of a token). */ 1219 883 static const yytype_uint16 yytoknum[] = 1220 884 { … … 1236 900 # endif 1237 901 1238 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 1239 static const yytype_uint16 yyr1[] = 902 #define YYPACT_NINF -1323 903 904 #define yypact_value_is_default(Yystate) \ 905 (!!((Yystate) == (-1323))) 906 907 #define YYTABLE_NINF -522 908 909 #define yytable_value_is_error(Yytable_value) \ 910 0 911 912 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 913 STATE-NUM. */ 914 static const yytype_int16 yypact[] = 1240 915 { 1241 0, 133, 134, 135, 136, 136, 136, 137, 137, 137, 1242 138, 138, 139, 139, 140, 140, 141, 142, 142, 143, 1243 143, 143, 143, 144, 144, 144, 144, 144, 144, 144, 1244 144, 144, 144, 144, 145, 145, 146, 146, 147, 147, 1245 148, 148, 148, 148, 148, 149, 149, 149, 149, 149, 1246 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 1247 149, 150, 150, 151, 151, 151, 151, 152, 152, 152, 1248 153, 153, 153, 153, 154, 154, 154, 155, 155, 155, 1249 156, 156, 156, 156, 156, 157, 157, 157, 158, 158, 1250 159, 159, 160, 160, 161, 161, 162, 162, 163, 163, 1251 163, 163, 164, 165, 165, 165, 166, 166, 167, 167, 1252 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 1253 168, 168, 168, 168, 169, 169, 170, 170, 171, 171, 1254 172, 172, 172, 172, 172, 172, 172, 172, 172, 173, 1255 174, 174, 175, 175, 176, 176, 176, 176, 177, 177, 1256 178, 179, 179, 179, 179, 179, 179, 180, 180, 180, 1257 181, 181, 182, 182, 183, 183, 184, 185, 185, 186, 1258 186, 187, 187, 188, 188, 188, 188, 189, 189, 190, 1259 190, 191, 191, 191, 192, 192, 193, 193, 193, 193, 1260 193, 193, 193, 193, 193, 193, 194, 194, 194, 195, 1261 195, 195, 195, 195, 196, 196, 196, 196, 197, 198, 1262 198, 198, 198, 198, 199, 199, 199, 199, 199, 200, 1263 200, 201, 201, 202, 202, 203, 203, 204, 204, 204, 1264 205, 205, 206, 206, 207, 207, 208, 208, 209, 209, 1265 210, 210, 211, 211, 212, 212, 213, 213, 214, 214, 1266 214, 214, 214, 215, 215, 215, 216, 216, 216, 217, 1267 217, 217, 217, 217, 218, 218, 218, 219, 219, 220, 1268 220, 220, 221, 221, 221, 221, 221, 222, 222, 223, 1269 223, 223, 223, 224, 224, 225, 225, 225, 225, 226, 1270 226, 226, 226, 227, 227, 228, 228, 229, 229, 230, 1271 230, 230, 230, 230, 231, 230, 232, 232, 232, 233, 1272 233, 234, 234, 234, 234, 234, 234, 234, 234, 235, 1273 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 1274 235, 235, 236, 236, 236, 236, 236, 237, 237, 238, 1275 238, 238, 238, 239, 239, 239, 239, 240, 240, 240, 1276 240, 241, 241, 241, 242, 242, 242, 242, 243, 243, 1277 243, 244, 244, 245, 245, 246, 245, 245, 245, 247, 1278 247, 248, 248, 249, 249, 249, 249, 250, 250, 250, 1279 250, 251, 251, 252, 252, 252, 252, 252, 253, 253, 1280 254, 255, 256, 256, 257, 256, 258, 258, 259, 259, 1281 260, 260, 261, 261, 261, 261, 261, 262, 262, 262, 1282 262, 263, 263, 264, 264, 265, 265, 266, 266, 266, 1283 266, 267, 267, 267, 267, 267, 268, 268, 268, 268, 1284 268, 269, 269, 270, 270, 271, 271, 272, 272, 272, 1285 273, 273, 273, 274, 274, 274, 275, 275, 275, 276, 1286 276, 276, 276, 277, 277, 277, 278, 278, 279, 279, 1287 279, 279, 279, 280, 280, 281, 281, 282, 282, 282, 1288 282, 282, 283, 283, 283, 283, 284, 284, 284, 285, 1289 286, 286, 288, 287, 287, 289, 289, 289, 290, 290, 1290 291, 291, 291, 292, 292, 292, 292, 293, 293, 293, 1291 294, 294, 295, 295, 296, 297, 296, 298, 298, 299, 1292 299, 300, 300, 300, 301, 301, 302, 302, 303, 303, 1293 304, 304, 305, 305, 305, 306, 305, 305, 307, 307, 1294 307, 308, 308, 308, 308, 308, 308, 308, 308, 308, 1295 309, 309, 309, 310, 311, 311, 312, 312, 313, 313, 1296 314, 315, 315, 316, 316, 316, 317, 317, 317, 317, 1297 318, 318, 318, 318, 319, 319, 320, 320, 320, 321, 1298 321, 321, 321, 322, 322, 323, 323, 323, 324, 324, 1299 324, 325, 325, 325, 326, 326, 326, 327, 327, 327, 1300 328, 328, 328, 329, 329, 329, 330, 330, 330, 331, 1301 331, 331, 331, 332, 332, 333, 333, 333, 334, 334, 1302 334, 334, 335, 335, 335, 336, 336, 336, 336, 337, 1303 337, 337, 338, 338, 338, 338, 339, 339, 339, 340, 1304 340, 340, 340, 341, 341, 342, 342, 342, 343, 343, 1305 344, 344, 345, 345, 345, 346, 346, 346, 346, 346, 1306 347, 347, 347, 347, 348, 348, 348, 349, 349, 349, 1307 350, 350, 350, 350, 351, 351, 351, 352, 352, 352, 1308 352, 352, 353, 353, 353, 353, 354, 354, 354, 355, 1309 355, 355, 356, 356, 356, 356, 356, 356, 357, 357, 1310 357, 358, 358, 358, 358, 358, 359, 359, 359, 359, 1311 360, 360, 361, 361, 361, 362, 362, 363, 363, 363, 1312 363, 363, 363, 364, 364, 364, 364, 364, 364, 364, 1313 364, 364, 364, 365, 365, 365, 365, 366, 366, 366, 1314 367, 367, 368, 368, 368, 368, 368, 368, 369, 369, 1315 369, 369, 369, 369, 370, 371, 371, 371, 372, 372, 1316 373, 373 916 7329, 8828, -1323, 37, -1323, -1323, -1323, -1323, -1323, -1323, 917 -1323, 109, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 918 -1323, -1323, -1323, -1323, -1323, -1323, 85, 85, 85, 873, 919 733, 178, 7561, 370, -1323, -1323, -1323, -1323, -1323, 191, 920 -1323, -1323, -1323, 614, 225, -1323, -1323, -1323, -1323, 4615, 921 -1323, -1323, -1323, -1323, 229, 285, -1323, 934, -1323, -1323, 922 -1323, -1323, 435, 1196, 579, 110, 7677, -1323, -1323, 4858, 923 1038, -1323, -1323, 580, 596, 6761, 1021, 875, 580, 1103, 924 -1323, -1323, 1317, 308, -1323, 580, 1224, -1323, 495, -1323, 925 616, 623, -1323, -1323, -1323, -1323, 547, 285, 85, -1323, 926 85, -1323, -1323, -1323, -1323, 9174, 934, -1323, -1323, 934, 927 -1323, 551, -1323, 9403, -1323, -1323, 1899, 9436, -1323, 844, 928 844, 844, -1323, -1323, -1323, 85, -1323, -1323, -1323, 584, 929 608, 632, -1323, -1323, -1323, 646, -1323, -1323, -1323, -1323, 930 -1323, 664, 687, -1323, -1323, -28, 8797, 2908, 117, 701, 931 717, 726, 771, 786, 799, 8715, 6849, 731, 757, -1323, 932 5600, -1323, -1323, -1323, -1323, 804, -1323, 223, 5225, 5225, 933 -1323, 802, 365, -1323, -1323, -1323, -1323, 816, 443, 480, 934 534, 85, 827, -1323, -1323, 1196, 4341, 868, -1323, 50, 935 -1323, 85, 85, 285, -1323, -1323, 61, -1323, 85, 85, 936 -1323, 4647, 857, 864, 844, 6523, -1323, -1323, 869, 4615, 937 -1323, -1323, 580, -1323, -1323, -1323, 285, -1323, 934, 229, 938 -1323, 7868, -1323, 844, 844, 844, 285, -1323, 873, -1323, 939 5676, -1323, -1323, 852, 844, -1323, 844, -1323, 191, 8797, 940 -1323, 884, -1323, 733, 890, 844, -1323, 873, 888, 892, 941 -1323, 7561, 631, -1323, -1323, -1323, 9256, -1323, -1323, 9621, 942 -1323, 868, 151, 10214, 9436, 1899, 4647, -1323, 88, -1323, 943 -1323, 9403, 934, 891, 7708, -1323, -1323, 347, -1323, 10561, 944 922, 956, 10347, 945, 10366, 10423, -1323, 954, -1323, -1323, 945 -1323, -1323, 10442, 10442, 8571, 952, -1323, -1323, -1323, -1323, 946 -1323, -1323, -1323, 988, -1323, 966, 1946, 8910, 10366, -1323, 947 756, 338, 485, 411, 635, 955, 947, 957, 984, 237, 948 -1323, -1323, 962, 647, -1323, 302, -1323, -1323, 2908, -1323, 949 -1323, 235, 985, -1323, 312, 985, 989, 191, -1323, -1323, 950 990, 9174, -1323, 999, 1006, 9023, -1323, -1323, 1335, 2030, 951 8286, 6523, 580, -1323, 580, 844, 844, -1323, -1323, -1323, 952 -1323, -1323, -1323, 844, 9174, 934, -1323, -1323, 9474, 1575, 953 -1323, 8017, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1008, 954 5958, 10366, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 955 -1323, -1323, -1323, -1323, -1323, -1323, 1899, -1323, 973, 991, 956 992, 1012, 978, 1017, 1018, 1020, 4341, -1323, -1323, 1029, 957 229, 1031, -1323, -1323, 1033, -1323, -1323, -1323, 9256, -1323, 958 -1323, -1323, -1323, -1323, 4647, -1323, 8797, 8797, -1323, 844, 959 1899, 6642, 934, 8359, -1323, -1323, -1323, -1323, 9256, 151, 960 -1323, -1323, 580, 285, -1323, -1323, 9256, -1323, 5770, -1323, 961 -1323, 844, 844, 337, 8204, 1032, 1036, 1023, 1042, 844, 962 -1323, -1323, -1323, -1323, 9660, -1323, 367, 6404, -1323, 285, 963 1044, -1323, 1899, 10643, 10271, -1323, -1323, -1323, -1323, 1015, 964 4647, -1323, 8432, 868, 7445, -1323, -1323, -1323, 843, 436, 965 962, 733, 7708, 1341, 9403, -1323, 7708, -1323, -1323, -1323, 966 -1323, 508, -1323, 1051, 956, 248, 8571, -1323, 9512, -1323, 967 -1323, 8571, -1323, 8684, 8571, -1323, -1323, 1049, -1323, 606, 968 1057, 682, 1059, -1323, -1323, 3527, 6492, -1323, 362, -1323, 969 -1323, 10214, -1323, 368, 10214, -1323, -1323, -1323, -1323, -1323, 970 -1323, -1323, -1323, -1323, -1323, -1323, -1323, 10214, -1323, -1323, 971 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 972 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 3593, 10214, 973 -1323, 647, 1677, -1323, -1323, 85, 85, -1323, -1323, 8797, 974 -1323, -1323, 1033, 631, -1323, 1033, 10290, -1323, -1323, -1323, 975 5046, 6492, 1060, 1063, -1323, 9436, -1323, -1323, 804, -1323, 976 1067, 750, 1068, 2627, 125, 962, -1323, 85, 85, 962, 977 132, -1323, 85, 85, 1033, -1323, -1323, 85, 85, -1323, 978 985, 9545, 934, 10788, 532, 656, 9545, -1323, 9621, -1323, 979 962, -1323, 9174, -1323, 238, 7983, 7983, 7983, 934, -1323, 980 5791, 1047, 1008, 493, 1058, 1061, -1323, 1076, 5225, 528, 981 -1323, 1165, 934, 7983, 631, 1899, 631, 868, 430, 985, 982 -1323, -1323, 536, 985, -1323, -1323, -1323, 956, -1323, 985, 983 285, 9660, -1323, 619, 1086, 633, 1088, -1323, 1087, 285, 984 -1323, -1323, 9256, 285, 1089, 9512, 1092, -1323, 1065, -1323, 985 538, 552, 733, -1323, 733, 1085, 10366, -1323, 733, 10788, 986 -1323, -1323, 1096, -1323, -1323, -1323, 631, -1323, 10716, 1006, 987 -1323, 7983, 703, 8286, -1323, -1323, 804, 1095, 1098, 843, 988 5016, -1323, -1323, 7708, -1323, -1323, 1091, -1323, -1323, 1102, 989 -1323, 1091, 1104, 10561, 10214, 1090, 1093, 94, 1109, 1107, 990 1111, 1114, -1323, 1118, 1129, 9365, 6611, -1323, 10214, -1323, 991 682, 1717, -1323, -1323, -1323, 85, 85, 10157, 10214, 1125, 992 -1323, -1323, 653, -1323, 10214, -1323, -1323, 736, -1323, -1323, 993 -1323, -1323, 756, 756, 338, 338, 485, 485, 485, 485, 994 411, 411, 635, 955, 947, 957, 984, 10366, 260, -1323, 995 9660, 1132, 1136, 1137, 1677, -1323, -1323, -1323, -1323, -1323, 996 9660, 708, 7983, -1323, 9174, -1323, 6968, 9136, -1323, 8017, 997 6849, -1323, -1323, 750, 9660, 1022, 1140, 1141, 1142, 1143, 998 1146, 1149, 1154, -1323, 3715, 2627, -1323, -1323, -1323, -1323, 999 -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1000 -1323, -1323, -1323, 1033, -1323, -1323, -1323, 962, -1323, -1323, 1001 -1323, -1323, -1323, -1323, -1323, -1323, 1155, -1323, 1157, 1159, 1002 -1323, -1323, 229, 1125, 5791, -1323, -1323, -1323, 5958, 1158, 1003 -1323, -1323, -1323, -1323, 733, 6174, 1248, -1323, -1323, -1323, 1004 -1323, 1151, 229, -1323, -1323, 1033, -1323, -1323, 1033, 84, 1005 1033, -1323, -1323, -1323, -1323, -1323, -1323, 9327, -1323, 285, 1006 -1323, -1323, 559, 562, 9474, 7087, 2137, 10366, 3114, -1323, 1007 -1323, 1156, 51, 1156, -1323, 733, -1323, 85, -1323, -1323, 1008 8941, 1023, -1323, -1323, -1323, 1036, 1175, 1171, -1323, -1323, 1009 1178, 1181, -1323, 703, 1901, -1323, 672, -1323, 5016, 962, 1010 -1323, 1184, 7708, 9583, 8797, 1185, -1323, -1323, 1180, 1187, 1011 1170, -1323, 10366, 1197, 326, 1194, -1323, 1202, 631, 1202, 1012 -1323, -1323, 1202, 1199, -1323, 1208, 1210, 1211, 1717, -1323, 1013 -1323, -1323, 5958, -1323, -1323, -1323, -1323, 1209, 10214, 1212, 1014 631, -1323, 10214, -1323, 631, -1323, -1323, 10214, -1323, 558, 1015 985, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1008, 1006, 1016 9023, -1323, -1323, 7206, 1218, -1323, 674, 985, -1323, 813, 1017 861, 985, -1323, 844, 4029, -1323, -1323, -1323, 9660, 9660, 1018 -1323, 8359, 8359, -1323, 1215, 1216, 1225, 1230, -1323, 1232, 1019 685, 82, 1125, -1323, 631, -1323, 5225, -1323, 10214, 564, 1020 -1323, 6373, 1236, 1240, 10100, 1242, 1243, 70, 79, 96, 1021 10214, 1244, 285, 10214, 10214, 1227, 1249, 522, 1222, -1323, 1022 -1323, -1323, 1250, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1023 -1323, -1323, 733, 1254, 10214, -1323, 9660, 9660, 85, 1257, 1024 -1323, 9054, -1323, -1323, 752, -1323, 3114, -1323, -1323, -1323, 1025 -1323, 1065, -1323, -1323, 1255, -1323, -1323, -1323, -1323, 1258, 1026 1901, -1323, -1323, 1245, -1323, 1091, -1323, -1323, 1899, 1260, 1027 -1323, -1323, -1323, 713, 1264, -1323, 94, 1269, 10366, 1252, 1028 94, 94, 1262, 3527, 879, 985, -1323, -1323, 1076, 10214, 1029 1273, 1209, 358, 204, 1270, -1323, -1323, 1275, 1270, -1323, 1030 -1323, 1278, -1323, -1323, 1033, 1280, 1284, 6730, 1285, 1290, 1031 1291, -1323, -1323, 1286, -1323, -1323, 1033, -1323, -1323, -1323, 1032 -1323, 1033, 10214, 10214, 1006, 1294, -1323, -1323, -1323, -1323, 1033 -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 10366, 10366, 1034 1300, 1302, 1270, -1323, -1323, 733, -1323, -1323, -1323, 5213, 1035 9583, 10214, 10214, 1374, 10214, -1323, 1295, -1323, 1296, -1323, 1036 1297, 10214, 1301, 10214, 1105, 1304, 12, 85, 9289, 1625, 1037 -1323, -1323, 6174, 1322, 573, -1323, -1323, -1323, -1323, -1323, 1038 -1323, -1323, -1323, -1323, 9920, -1323, 8432, 1330, -1323, -1323, 1039 9583, 576, 602, -1323, 1331, 1315, 956, 1337, -1323, 329, 1040 -1323, -1323, -1323, -1323, 1033, 1339, -1323, -1323, 1320, 486, 1041 509, 631, 1340, -1323, 1344, -1323, 9660, -1323, -1323, -1323, 1042 -1323, -1323, 1347, -1323, 9660, 9660, 9660, -1323, -1323, 1348, 1043 -1323, 1351, 1354, 1355, 716, 8056, 8171, -1323, -1323, 529, 1044 -1323, 1357, 1362, -1323, 8505, 721, 730, 1358, 761, 3837, 1045 -1323, -1323, -1323, 605, -1323, 766, 1366, 1367, 285, 1419, 1046 834, -1323, -1323, 10214, -1323, 10100, 10214, -1323, -1323, -1323, 1047 1370, 1375, -1323, -1323, -1323, 1372, -1323, -1323, -1323, -1323, 1048 -1323, -1323, 9583, 956, 1379, -1323, 1352, 956, 9660, -1323, 1049 -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1050 -1323, -1323, -1323, 1378, 1382, -1323, -1323, -1323, -1323, -1323, 1051 -1323, -1323, 1387, -1323, 1386, -1323, -1323, 10100, 289, 10214, 1052 10100, -1323, 1389, 10214, -1323, 318, 1405, 1406, -1323, -1323, 1053 1399, 1400, 1380, -1323, 821, -1323, -1323, -1323, 934, 1899, 1054 1396, -1323, 402, 10366, -1323, 785, -1323, 631, 631, 1407, 1055 1408, 1413, 1415, -1323, -1323, 8359, 1414, -1323, 1490, 10366, 1056 1385, -1323, -1323, 10012, -1323, 800, -1323, 1402, 10100, 1403, 1057 -1323, -1323, 1426, -1323, 1427, -1323, 1445, 1446, -1323, 1411, 1058 9583, -1323, -1323, -1323, 956, 631, 1434, 1417, 1435, 1270, 1059 1270, -1323, -1323, -1323, -1323, -1323, 10100, 107, -1323, 433, 1060 -1323, -1323, 7793, -1323, -1323, 1418, 10214, -1323, 10214, 7793, 1061 285, 9512, 285, 9512, 1436, -1323, 1442, -1323, -1323, 1440, 1062 -1323, -1323, 825, -1323, -1323, -1323, 1444, 1449, -1323, 10366, 1063 10366, -1323, -1323, 909, 211, -1323, -1323, 1425, -1323, 909, 1064 -1323, -1323, 2166, 631, -1323, -1323, 285, 9512, 285, 9512, 1065 1453, 1431, 631, -1323, -1323, -1323, -1323, 10012, 1443, 909, 1066 6091, 10214, 9924, 1452, 909, 1454, 2166, 3344, -1323, -1323, 1067 -1323, 1458, -1323, -1323, -1323, -1323, 8797, -1323, -1323, -1323, 1068 9791, -1323, 10012, -1323, -1323, 1438, 9703, -1323, -1323, 9924, 1069 285, 3344, 285, 1464, 1466, 853, -1323, 9791, -1323, -1323, 1070 -1323, 9703, -1323, -1323, -1323, 285, 285, -1323, -1323, -1323, 1071 -1323, -1323, -1323, -1323, -1323 1317 1072 }; 1318 1073 1319 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 1320 static const yytype_uint8 yyr2[] = 1321 { 1322 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1323 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1324 1, 3, 3, 1, 6, 4, 3, 7, 3, 7, 1325 2, 2, 7, 4, 1, 3, 0, 1, 1, 3, 1326 1, 3, 7, 3, 7, 1, 1, 1, 2, 2, 1327 2, 2, 2, 2, 4, 2, 4, 6, 1, 4, 1328 4, 1, 1, 1, 1, 1, 1, 1, 4, 4, 1329 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1330 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 1331 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1332 4, 5, 1, 1, 3, 2, 0, 1, 1, 1, 1333 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1334 2, 5, 6, 7, 1, 3, 1, 3, 0, 1, 1335 1, 1, 1, 1, 1, 1, 1, 1, 6, 4, 1336 2, 7, 1, 3, 1, 2, 1, 2, 1, 2, 1337 2, 5, 7, 5, 9, 5, 9, 1, 3, 1, 1338 1, 3, 3, 2, 1, 2, 2, 0, 1, 2, 1339 3, 0, 1, 2, 3, 3, 4, 0, 1, 1, 1340 2, 5, 7, 6, 6, 4, 3, 4, 2, 3, 1341 2, 3, 3, 3, 3, 5, 3, 3, 4, 1, 1342 5, 6, 5, 6, 9, 10, 9, 10, 2, 1, 1343 2, 2, 2, 1, 6, 8, 10, 12, 14, 0, 1344 1, 0, 1, 1, 3, 4, 7, 0, 1, 3, 1345 1, 3, 1, 1, 1, 3, 1, 1, 1, 3, 1346 0, 1, 3, 4, 1, 3, 1, 1, 3, 3, 1347 3, 3, 3, 2, 3, 6, 3, 3, 4, 1, 1348 2, 2, 3, 5, 8, 7, 7, 5, 9, 2, 1349 2, 5, 3, 5, 4, 3, 4, 4, 7, 3, 1350 3, 3, 3, 4, 6, 1, 1, 1, 1, 1, 1351 1, 1, 1, 0, 1, 1, 2, 1, 1, 1, 1352 1, 1, 1, 1, 0, 5, 1, 2, 3, 1, 1353 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1354 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1355 1, 1, 1, 2, 2, 3, 3, 1, 3, 1, 1356 2, 2, 2, 4, 4, 4, 4, 1, 2, 2, 1357 3, 1, 2, 2, 1, 2, 2, 3, 1, 2, 1358 2, 1, 1, 4, 2, 0, 6, 7, 2, 2, 1359 2, 0, 2, 2, 3, 2, 3, 1, 2, 3, 1360 2, 2, 4, 0, 1, 2, 2, 1, 0, 1, 1361 2, 2, 5, 2, 0, 7, 2, 4, 0, 2, 1362 0, 1, 1, 1, 5, 5, 5, 1, 5, 5, 1363 9, 1, 5, 0, 1, 1, 5, 1, 1, 5, 1364 5, 1, 3, 3, 4, 1, 1, 1, 1, 2, 1365 1, 3, 3, 1, 2, 1, 3, 1, 1, 1, 1366 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1367 1, 1, 2, 0, 2, 2, 1, 4, 0, 1, 1368 2, 3, 4, 2, 2, 1, 2, 2, 5, 5, 1369 7, 6, 1, 2, 2, 3, 1, 2, 2, 4, 1370 2, 4, 0, 4, 2, 1, 1, 1, 0, 2, 1371 5, 5, 13, 1, 1, 3, 3, 2, 3, 3, 1372 2, 4, 1, 6, 9, 0, 11, 1, 3, 3, 1373 3, 1, 1, 5, 2, 5, 0, 1, 1, 3, 1374 0, 1, 1, 1, 1, 0, 6, 2, 1, 2, 1375 4, 2, 3, 3, 3, 4, 5, 5, 5, 6, 1376 1, 1, 1, 3, 0, 5, 0, 1, 1, 2, 1377 6, 1, 3, 0, 1, 4, 1, 1, 1, 1, 1378 2, 1, 2, 2, 1, 3, 2, 3, 3, 2, 1379 4, 4, 3, 8, 3, 2, 1, 2, 6, 8, 1380 3, 2, 3, 3, 4, 4, 3, 1, 1, 1, 1381 4, 6, 3, 2, 3, 3, 4, 4, 3, 2, 1382 1, 2, 2, 1, 3, 2, 3, 3, 2, 4, 1383 4, 3, 6, 8, 3, 2, 1, 2, 2, 2, 1384 3, 3, 2, 4, 4, 3, 6, 8, 3, 2, 1385 1, 2, 2, 1, 1, 2, 3, 3, 2, 4, 1386 6, 8, 1, 2, 2, 1, 2, 2, 3, 3, 1387 1, 4, 4, 3, 5, 8, 3, 2, 3, 1, 1388 5, 5, 6, 6, 1, 2, 2, 1, 2, 2, 1389 3, 3, 1, 4, 4, 3, 5, 8, 3, 1, 1390 2, 1, 2, 6, 5, 6, 7, 7, 1, 2, 1391 2, 1, 2, 2, 3, 3, 1, 4, 4, 3, 1392 8, 3, 1, 1, 2, 1, 1, 2, 3, 2, 1393 3, 2, 3, 3, 2, 4, 3, 2, 3, 2, 1394 4, 3, 2, 6, 6, 6, 7, 1, 2, 1, 1395 1, 1, 2, 3, 2, 3, 2, 3, 3, 4, 1396 2, 3, 4, 2, 5, 5, 6, 6, 0, 1, 1397 0, 2 1398 }; 1399 1400 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. 1401 Performed when YYTABLE doesn't specify something else to do. Zero 1402 means the default is an error. */ 1074 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 1075 Performed when YYTABLE does not specify something else to do. Zero 1076 means the default is an error. */ 1403 1077 static const yytype_uint16 yydefact[] = 1404 1078 { … … 1561 1235 }; 1562 1236 1563 /* YYDEFGOTO[NTERM-NUM]. */ 1237 /* YYPGOTO[NTERM-NUM]. */ 1238 static const yytype_int16 yypgoto[] = 1239 { 1240 -1323, 4572, 3263, -1323, 197, -1323, 601, 950, -251, 910, 1241 -1323, 521, -520, -467, -853, -64, 3183, 0, -1323, -150, 1242 423, 446, 477, 450, 1016, 1025, 1019, 1026, 1028, -1323, 1243 -622, -408, 5012, -745, -1323, -735, 604, 472, -656, 413, 1244 -1323, 1279, -1323, 374, -1058, -1323, -1323, 126, -1323, -823, 1245 -1106, 222, -1323, -1323, -1323, -1323, 58, -1209, -1323, -1323, 1246 -1323, -1323, -1323, -1323, 301, -1149, 35, -1323, -933, -1323, 1247 482, 274, -1323, 159, -1323, -303, -1323, -1323, -1323, 535, 1248 -827, -1323, -1323, 15, -1007, 71, 28, -1323, -1323, -1323, 1249 -21, -1323, 357, 1253, -198, 1636, 4113, -1323, -1323, 80, 1250 54, 422, 1473, -1323, 1886, -1323, -1323, 192, 2183, -1323, 1251 2495, 898, -1323, -1323, -1323, -638, -1323, 924, 925, 524, 1252 699, 83, -1323, -1323, -1323, 915, 695, -339, -1323, -106, 1253 34, 1281, -1323, -1323, -847, -986, 1046, 1127, 1039, 5, 1254 -1323, 1536, 481, -165, -210, -124, 651, 758, -1323, 979, 1255 -1323, 2789, 1548, -413, 904, -1323, -1323, 689, -1323, -235, 1256 -1323, 158, -1323, -1323, -1323, -1257, 401, -1323, -1323, -1323, 1257 1148, -1323, 21, -1323, -1323, -858, -105, -1322, -129, 2267, 1258 -1323, 2391, -1323, 906, -1323, -184, 59, -180, -173, -170, 1259 7, -40, -35, -33, 60, -6, 25, 93, -168, -164, 1260 -158, -147, -144, -292, -471, -462, -452, -551, -302, -537, 1261 -1323, -1323, -511, 1069, 1072, 1074, 2608, 4844, -578, -514, 1262 -502, -495, -500, -1323, -508, -724, -717, -708, -590, -305, 1263 -195, -1323, -1323, 246, 19, 36, -1323, 3865, 104, -623, 1264 -397 1265 }; 1266 1267 /* YYDEFGOTO[NTERM-NUM]. */ 1564 1268 static const yytype_int16 yydefgoto[] = 1565 1269 { … … 1591 1295 }; 1592 1296 1593 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1594 STATE-NUM. */ 1595 #define YYPACT_NINF -1323 1596 static const yytype_int16 yypact[] = 1597 { 1598 7329, 8828, -1323, 37, -1323, -1323, -1323, -1323, -1323, -1323, 1599 -1323, 109, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1600 -1323, -1323, -1323, -1323, -1323, -1323, 85, 85, 85, 873, 1601 733, 178, 7561, 370, -1323, -1323, -1323, -1323, -1323, 191, 1602 -1323, -1323, -1323, 614, 225, -1323, -1323, -1323, -1323, 4615, 1603 -1323, -1323, -1323, -1323, 229, 285, -1323, 934, -1323, -1323, 1604 -1323, -1323, 435, 1196, 579, 110, 7677, -1323, -1323, 4858, 1605 1038, -1323, -1323, 580, 596, 6761, 1021, 875, 580, 1103, 1606 -1323, -1323, 1317, 308, -1323, 580, 1224, -1323, 495, -1323, 1607 616, 623, -1323, -1323, -1323, -1323, 547, 285, 85, -1323, 1608 85, -1323, -1323, -1323, -1323, 9174, 934, -1323, -1323, 934, 1609 -1323, 551, -1323, 9403, -1323, -1323, 1899, 9436, -1323, 844, 1610 844, 844, -1323, -1323, -1323, 85, -1323, -1323, -1323, 584, 1611 608, 632, -1323, -1323, -1323, 646, -1323, -1323, -1323, -1323, 1612 -1323, 664, 687, -1323, -1323, -28, 8797, 2908, 117, 701, 1613 717, 726, 771, 786, 799, 8715, 6849, 731, 757, -1323, 1614 5600, -1323, -1323, -1323, -1323, 804, -1323, 223, 5225, 5225, 1615 -1323, 802, 365, -1323, -1323, -1323, -1323, 816, 443, 480, 1616 534, 85, 827, -1323, -1323, 1196, 4341, 868, -1323, 50, 1617 -1323, 85, 85, 285, -1323, -1323, 61, -1323, 85, 85, 1618 -1323, 4647, 857, 864, 844, 6523, -1323, -1323, 869, 4615, 1619 -1323, -1323, 580, -1323, -1323, -1323, 285, -1323, 934, 229, 1620 -1323, 7868, -1323, 844, 844, 844, 285, -1323, 873, -1323, 1621 5676, -1323, -1323, 852, 844, -1323, 844, -1323, 191, 8797, 1622 -1323, 884, -1323, 733, 890, 844, -1323, 873, 888, 892, 1623 -1323, 7561, 631, -1323, -1323, -1323, 9256, -1323, -1323, 9621, 1624 -1323, 868, 151, 10214, 9436, 1899, 4647, -1323, 88, -1323, 1625 -1323, 9403, 934, 891, 7708, -1323, -1323, 347, -1323, 10561, 1626 922, 956, 10347, 945, 10366, 10423, -1323, 954, -1323, -1323, 1627 -1323, -1323, 10442, 10442, 8571, 952, -1323, -1323, -1323, -1323, 1628 -1323, -1323, -1323, 988, -1323, 966, 1946, 8910, 10366, -1323, 1629 756, 338, 485, 411, 635, 955, 947, 957, 984, 237, 1630 -1323, -1323, 962, 647, -1323, 302, -1323, -1323, 2908, -1323, 1631 -1323, 235, 985, -1323, 312, 985, 989, 191, -1323, -1323, 1632 990, 9174, -1323, 999, 1006, 9023, -1323, -1323, 1335, 2030, 1633 8286, 6523, 580, -1323, 580, 844, 844, -1323, -1323, -1323, 1634 -1323, -1323, -1323, 844, 9174, 934, -1323, -1323, 9474, 1575, 1635 -1323, 8017, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1008, 1636 5958, 10366, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1637 -1323, -1323, -1323, -1323, -1323, -1323, 1899, -1323, 973, 991, 1638 992, 1012, 978, 1017, 1018, 1020, 4341, -1323, -1323, 1029, 1639 229, 1031, -1323, -1323, 1033, -1323, -1323, -1323, 9256, -1323, 1640 -1323, -1323, -1323, -1323, 4647, -1323, 8797, 8797, -1323, 844, 1641 1899, 6642, 934, 8359, -1323, -1323, -1323, -1323, 9256, 151, 1642 -1323, -1323, 580, 285, -1323, -1323, 9256, -1323, 5770, -1323, 1643 -1323, 844, 844, 337, 8204, 1032, 1036, 1023, 1042, 844, 1644 -1323, -1323, -1323, -1323, 9660, -1323, 367, 6404, -1323, 285, 1645 1044, -1323, 1899, 10643, 10271, -1323, -1323, -1323, -1323, 1015, 1646 4647, -1323, 8432, 868, 7445, -1323, -1323, -1323, 843, 436, 1647 962, 733, 7708, 1341, 9403, -1323, 7708, -1323, -1323, -1323, 1648 -1323, 508, -1323, 1051, 956, 248, 8571, -1323, 9512, -1323, 1649 -1323, 8571, -1323, 8684, 8571, -1323, -1323, 1049, -1323, 606, 1650 1057, 682, 1059, -1323, -1323, 3527, 6492, -1323, 362, -1323, 1651 -1323, 10214, -1323, 368, 10214, -1323, -1323, -1323, -1323, -1323, 1652 -1323, -1323, -1323, -1323, -1323, -1323, -1323, 10214, -1323, -1323, 1653 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 1654 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 3593, 10214, 1655 -1323, 647, 1677, -1323, -1323, 85, 85, -1323, -1323, 8797, 1656 -1323, -1323, 1033, 631, -1323, 1033, 10290, -1323, -1323, -1323, 1657 5046, 6492, 1060, 1063, -1323, 9436, -1323, -1323, 804, -1323, 1658 1067, 750, 1068, 2627, 125, 962, -1323, 85, 85, 962, 1659 132, -1323, 85, 85, 1033, -1323, -1323, 85, 85, -1323, 1660 985, 9545, 934, 10788, 532, 656, 9545, -1323, 9621, -1323, 1661 962, -1323, 9174, -1323, 238, 7983, 7983, 7983, 934, -1323, 1662 5791, 1047, 1008, 493, 1058, 1061, -1323, 1076, 5225, 528, 1663 -1323, 1165, 934, 7983, 631, 1899, 631, 868, 430, 985, 1664 -1323, -1323, 536, 985, -1323, -1323, -1323, 956, -1323, 985, 1665 285, 9660, -1323, 619, 1086, 633, 1088, -1323, 1087, 285, 1666 -1323, -1323, 9256, 285, 1089, 9512, 1092, -1323, 1065, -1323, 1667 538, 552, 733, -1323, 733, 1085, 10366, -1323, 733, 10788, 1668 -1323, -1323, 1096, -1323, -1323, -1323, 631, -1323, 10716, 1006, 1669 -1323, 7983, 703, 8286, -1323, -1323, 804, 1095, 1098, 843, 1670 5016, -1323, -1323, 7708, -1323, -1323, 1091, -1323, -1323, 1102, 1671 -1323, 1091, 1104, 10561, 10214, 1090, 1093, 94, 1109, 1107, 1672 1111, 1114, -1323, 1118, 1129, 9365, 6611, -1323, 10214, -1323, 1673 682, 1717, -1323, -1323, -1323, 85, 85, 10157, 10214, 1125, 1674 -1323, -1323, 653, -1323, 10214, -1323, -1323, 736, -1323, -1323, 1675 -1323, -1323, 756, 756, 338, 338, 485, 485, 485, 485, 1676 411, 411, 635, 955, 947, 957, 984, 10366, 260, -1323, 1677 9660, 1132, 1136, 1137, 1677, -1323, -1323, -1323, -1323, -1323, 1678 9660, 708, 7983, -1323, 9174, -1323, 6968, 9136, -1323, 8017, 1679 6849, -1323, -1323, 750, 9660, 1022, 1140, 1141, 1142, 1143, 1680 1146, 1149, 1154, -1323, 3715, 2627, -1323, -1323, -1323, -1323, 1681 -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1682 -1323, -1323, -1323, 1033, -1323, -1323, -1323, 962, -1323, -1323, 1683 -1323, -1323, -1323, -1323, -1323, -1323, 1155, -1323, 1157, 1159, 1684 -1323, -1323, 229, 1125, 5791, -1323, -1323, -1323, 5958, 1158, 1685 -1323, -1323, -1323, -1323, 733, 6174, 1248, -1323, -1323, -1323, 1686 -1323, 1151, 229, -1323, -1323, 1033, -1323, -1323, 1033, 84, 1687 1033, -1323, -1323, -1323, -1323, -1323, -1323, 9327, -1323, 285, 1688 -1323, -1323, 559, 562, 9474, 7087, 2137, 10366, 3114, -1323, 1689 -1323, 1156, 51, 1156, -1323, 733, -1323, 85, -1323, -1323, 1690 8941, 1023, -1323, -1323, -1323, 1036, 1175, 1171, -1323, -1323, 1691 1178, 1181, -1323, 703, 1901, -1323, 672, -1323, 5016, 962, 1692 -1323, 1184, 7708, 9583, 8797, 1185, -1323, -1323, 1180, 1187, 1693 1170, -1323, 10366, 1197, 326, 1194, -1323, 1202, 631, 1202, 1694 -1323, -1323, 1202, 1199, -1323, 1208, 1210, 1211, 1717, -1323, 1695 -1323, -1323, 5958, -1323, -1323, -1323, -1323, 1209, 10214, 1212, 1696 631, -1323, 10214, -1323, 631, -1323, -1323, 10214, -1323, 558, 1697 985, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1008, 1006, 1698 9023, -1323, -1323, 7206, 1218, -1323, 674, 985, -1323, 813, 1699 861, 985, -1323, 844, 4029, -1323, -1323, -1323, 9660, 9660, 1700 -1323, 8359, 8359, -1323, 1215, 1216, 1225, 1230, -1323, 1232, 1701 685, 82, 1125, -1323, 631, -1323, 5225, -1323, 10214, 564, 1702 -1323, 6373, 1236, 1240, 10100, 1242, 1243, 70, 79, 96, 1703 10214, 1244, 285, 10214, 10214, 1227, 1249, 522, 1222, -1323, 1704 -1323, -1323, 1250, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1705 -1323, -1323, 733, 1254, 10214, -1323, 9660, 9660, 85, 1257, 1706 -1323, 9054, -1323, -1323, 752, -1323, 3114, -1323, -1323, -1323, 1707 -1323, 1065, -1323, -1323, 1255, -1323, -1323, -1323, -1323, 1258, 1708 1901, -1323, -1323, 1245, -1323, 1091, -1323, -1323, 1899, 1260, 1709 -1323, -1323, -1323, 713, 1264, -1323, 94, 1269, 10366, 1252, 1710 94, 94, 1262, 3527, 879, 985, -1323, -1323, 1076, 10214, 1711 1273, 1209, 358, 204, 1270, -1323, -1323, 1275, 1270, -1323, 1712 -1323, 1278, -1323, -1323, 1033, 1280, 1284, 6730, 1285, 1290, 1713 1291, -1323, -1323, 1286, -1323, -1323, 1033, -1323, -1323, -1323, 1714 -1323, 1033, 10214, 10214, 1006, 1294, -1323, -1323, -1323, -1323, 1715 -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 10366, 10366, 1716 1300, 1302, 1270, -1323, -1323, 733, -1323, -1323, -1323, 5213, 1717 9583, 10214, 10214, 1374, 10214, -1323, 1295, -1323, 1296, -1323, 1718 1297, 10214, 1301, 10214, 1105, 1304, 12, 85, 9289, 1625, 1719 -1323, -1323, 6174, 1322, 573, -1323, -1323, -1323, -1323, -1323, 1720 -1323, -1323, -1323, -1323, 9920, -1323, 8432, 1330, -1323, -1323, 1721 9583, 576, 602, -1323, 1331, 1315, 956, 1337, -1323, 329, 1722 -1323, -1323, -1323, -1323, 1033, 1339, -1323, -1323, 1320, 486, 1723 509, 631, 1340, -1323, 1344, -1323, 9660, -1323, -1323, -1323, 1724 -1323, -1323, 1347, -1323, 9660, 9660, 9660, -1323, -1323, 1348, 1725 -1323, 1351, 1354, 1355, 716, 8056, 8171, -1323, -1323, 529, 1726 -1323, 1357, 1362, -1323, 8505, 721, 730, 1358, 761, 3837, 1727 -1323, -1323, -1323, 605, -1323, 766, 1366, 1367, 285, 1419, 1728 834, -1323, -1323, 10214, -1323, 10100, 10214, -1323, -1323, -1323, 1729 1370, 1375, -1323, -1323, -1323, 1372, -1323, -1323, -1323, -1323, 1730 -1323, -1323, 9583, 956, 1379, -1323, 1352, 956, 9660, -1323, 1731 -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 1732 -1323, -1323, -1323, 1378, 1382, -1323, -1323, -1323, -1323, -1323, 1733 -1323, -1323, 1387, -1323, 1386, -1323, -1323, 10100, 289, 10214, 1734 10100, -1323, 1389, 10214, -1323, 318, 1405, 1406, -1323, -1323, 1735 1399, 1400, 1380, -1323, 821, -1323, -1323, -1323, 934, 1899, 1736 1396, -1323, 402, 10366, -1323, 785, -1323, 631, 631, 1407, 1737 1408, 1413, 1415, -1323, -1323, 8359, 1414, -1323, 1490, 10366, 1738 1385, -1323, -1323, 10012, -1323, 800, -1323, 1402, 10100, 1403, 1739 -1323, -1323, 1426, -1323, 1427, -1323, 1445, 1446, -1323, 1411, 1740 9583, -1323, -1323, -1323, 956, 631, 1434, 1417, 1435, 1270, 1741 1270, -1323, -1323, -1323, -1323, -1323, 10100, 107, -1323, 433, 1742 -1323, -1323, 7793, -1323, -1323, 1418, 10214, -1323, 10214, 7793, 1743 285, 9512, 285, 9512, 1436, -1323, 1442, -1323, -1323, 1440, 1744 -1323, -1323, 825, -1323, -1323, -1323, 1444, 1449, -1323, 10366, 1745 10366, -1323, -1323, 909, 211, -1323, -1323, 1425, -1323, 909, 1746 -1323, -1323, 2166, 631, -1323, -1323, 285, 9512, 285, 9512, 1747 1453, 1431, 631, -1323, -1323, -1323, -1323, 10012, 1443, 909, 1748 6091, 10214, 9924, 1452, 909, 1454, 2166, 3344, -1323, -1323, 1749 -1323, 1458, -1323, -1323, -1323, -1323, 8797, -1323, -1323, -1323, 1750 9791, -1323, 10012, -1323, -1323, 1438, 9703, -1323, -1323, 9924, 1751 285, 3344, 285, 1464, 1466, 853, -1323, 9791, -1323, -1323, 1752 -1323, 9703, -1323, -1323, -1323, 285, 285, -1323, -1323, -1323, 1753 -1323, -1323, -1323, -1323, -1323 1754 }; 1755 1756 /* YYPGOTO[NTERM-NUM]. */ 1757 static const yytype_int16 yypgoto[] = 1758 { 1759 -1323, 4572, 3263, -1323, 197, -1323, 601, 950, -251, 910, 1760 -1323, 521, -520, -467, -853, -64, 3183, 0, -1323, -150, 1761 423, 446, 477, 450, 1016, 1025, 1019, 1026, 1028, -1323, 1762 -622, -408, 5012, -745, -1323, -735, 604, 472, -656, 413, 1763 -1323, 1279, -1323, 374, -1058, -1323, -1323, 126, -1323, -823, 1764 -1106, 222, -1323, -1323, -1323, -1323, 58, -1209, -1323, -1323, 1765 -1323, -1323, -1323, -1323, 301, -1149, 35, -1323, -933, -1323, 1766 482, 274, -1323, 159, -1323, -303, -1323, -1323, -1323, 535, 1767 -827, -1323, -1323, 15, -1007, 71, 28, -1323, -1323, -1323, 1768 -21, -1323, 357, 1253, -198, 1636, 4113, -1323, -1323, 80, 1769 54, 422, 1473, -1323, 1886, -1323, -1323, 192, 2183, -1323, 1770 2495, 898, -1323, -1323, -1323, -638, -1323, 924, 925, 524, 1771 699, 83, -1323, -1323, -1323, 915, 695, -339, -1323, -106, 1772 34, 1281, -1323, -1323, -847, -986, 1046, 1127, 1039, 5, 1773 -1323, 1536, 481, -165, -210, -124, 651, 758, -1323, 979, 1774 -1323, 2789, 1548, -413, 904, -1323, -1323, 689, -1323, -235, 1775 -1323, 158, -1323, -1323, -1323, -1257, 401, -1323, -1323, -1323, 1776 1148, -1323, 21, -1323, -1323, -858, -105, -1322, -129, 2267, 1777 -1323, 2391, -1323, 906, -1323, -184, 59, -180, -173, -170, 1778 7, -40, -35, -33, 60, -6, 25, 93, -168, -164, 1779 -158, -147, -144, -292, -471, -462, -452, -551, -302, -537, 1780 -1323, -1323, -511, 1069, 1072, 1074, 2608, 4844, -578, -514, 1781 -502, -495, -500, -1323, -508, -724, -717, -708, -590, -305, 1782 -195, -1323, -1323, 246, 19, 36, -1323, 3865, 104, -623, 1783 -397 1784 }; 1785 1786 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 1787 positive, shift that token. If negative, reduce the rule which 1788 number is the opposite. If YYTABLE_NINF, syntax error. */ 1789 #define YYTABLE_NINF -522 1297 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 1298 positive, shift that token. If negative, reduce the rule whose 1299 number is the opposite. If YYTABLE_NINF, syntax error. */ 1790 1300 static const yytype_int16 yytable[] = 1791 1301 { … … 2879 2389 }; 2880 2390 2881 #define yypact_value_is_default(yystate) \2882 ((yystate) == (-1323))2883 2884 #define yytable_value_is_error(yytable_value) \2885 YYID (0)2886 2887 2391 static const yytype_int16 yycheck[] = 2888 2392 { … … 3976 3480 }; 3977 3481 3978 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing3979 symbol of state STATE-NUM. */3482 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 3483 symbol of state STATE-NUM. */ 3980 3484 static const yytype_uint16 yystos[] = 3981 3485 { … … 4138 3642 }; 4139 3643 4140 #define yyerrok (yyerrstatus = 0) 4141 #define yyclearin (yychar = YYEMPTY) 4142 #define YYEMPTY (-2) 4143 #define YYEOF 0 4144 4145 #define YYACCEPT goto yyacceptlab 4146 #define YYABORT goto yyabortlab 4147 #define YYERROR goto yyerrorlab 4148 4149 4150 /* Like YYERROR except do call yyerror. This remains here temporarily 4151 to ease the transition to the new meaning of YYERROR, for GCC. 4152 Once GCC version 2 has supplanted version 1, this can go. However, 4153 YYFAIL appears to be in use. Nevertheless, it is formally deprecated 4154 in Bison 2.4.2's NEWS entry, where a plan to phase it out is 4155 discussed. */ 4156 4157 #define YYFAIL goto yyerrlab 4158 #if defined YYFAIL 4159 /* This is here to suppress warnings from the GCC cpp's 4160 -Wunused-macros. Normally we don't worry about that warning, but 4161 some users do, and we want to make it easy for users to remove 4162 YYFAIL uses, which will produce warnings from Bison 2.5. */ 4163 #endif 3644 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 3645 static const yytype_uint16 yyr1[] = 3646 { 3647 0, 133, 134, 135, 136, 136, 136, 137, 137, 137, 3648 138, 138, 139, 139, 140, 140, 141, 142, 142, 143, 3649 143, 143, 143, 144, 144, 144, 144, 144, 144, 144, 3650 144, 144, 144, 144, 145, 145, 146, 146, 147, 147, 3651 148, 148, 148, 148, 148, 149, 149, 149, 149, 149, 3652 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 3653 149, 150, 150, 151, 151, 151, 151, 152, 152, 152, 3654 153, 153, 153, 153, 154, 154, 154, 155, 155, 155, 3655 156, 156, 156, 156, 156, 157, 157, 157, 158, 158, 3656 159, 159, 160, 160, 161, 161, 162, 162, 163, 163, 3657 163, 163, 164, 165, 165, 165, 166, 166, 167, 167, 3658 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 3659 168, 168, 168, 168, 169, 169, 170, 170, 171, 171, 3660 172, 172, 172, 172, 172, 172, 172, 172, 172, 173, 3661 174, 174, 175, 175, 176, 176, 176, 176, 177, 177, 3662 178, 179, 179, 179, 179, 179, 179, 180, 180, 180, 3663 181, 181, 182, 182, 183, 183, 184, 185, 185, 186, 3664 186, 187, 187, 188, 188, 188, 188, 189, 189, 190, 3665 190, 191, 191, 191, 192, 192, 193, 193, 193, 193, 3666 193, 193, 193, 193, 193, 193, 194, 194, 194, 195, 3667 195, 195, 195, 195, 196, 196, 196, 196, 197, 198, 3668 198, 198, 198, 198, 199, 199, 199, 199, 199, 200, 3669 200, 201, 201, 202, 202, 203, 203, 204, 204, 204, 3670 205, 205, 206, 206, 207, 207, 208, 208, 209, 209, 3671 210, 210, 211, 211, 212, 212, 213, 213, 214, 214, 3672 214, 214, 214, 215, 215, 215, 216, 216, 216, 217, 3673 217, 217, 217, 217, 218, 218, 218, 219, 219, 220, 3674 220, 220, 221, 221, 221, 221, 221, 222, 222, 223, 3675 223, 223, 223, 224, 224, 225, 225, 225, 225, 226, 3676 226, 226, 226, 227, 227, 228, 228, 229, 229, 230, 3677 230, 230, 230, 230, 231, 230, 232, 232, 232, 233, 3678 233, 234, 234, 234, 234, 234, 234, 234, 234, 235, 3679 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 3680 235, 235, 236, 236, 236, 236, 236, 237, 237, 238, 3681 238, 238, 238, 239, 239, 239, 239, 240, 240, 240, 3682 240, 241, 241, 241, 242, 242, 242, 242, 243, 243, 3683 243, 244, 244, 245, 245, 246, 245, 245, 245, 247, 3684 247, 248, 248, 249, 249, 249, 249, 250, 250, 250, 3685 250, 251, 251, 252, 252, 252, 252, 252, 253, 253, 3686 254, 255, 256, 256, 257, 256, 258, 258, 259, 259, 3687 260, 260, 261, 261, 261, 261, 261, 262, 262, 262, 3688 262, 263, 263, 264, 264, 265, 265, 266, 266, 266, 3689 266, 267, 267, 267, 267, 267, 268, 268, 268, 268, 3690 268, 269, 269, 270, 270, 271, 271, 272, 272, 272, 3691 273, 273, 273, 274, 274, 274, 275, 275, 275, 276, 3692 276, 276, 276, 277, 277, 277, 278, 278, 279, 279, 3693 279, 279, 279, 280, 280, 281, 281, 282, 282, 282, 3694 282, 282, 283, 283, 283, 283, 284, 284, 284, 285, 3695 286, 286, 288, 287, 287, 289, 289, 289, 290, 290, 3696 291, 291, 291, 292, 292, 292, 292, 293, 293, 293, 3697 294, 294, 295, 295, 296, 297, 296, 298, 298, 299, 3698 299, 300, 300, 300, 301, 301, 302, 302, 303, 303, 3699 304, 304, 305, 305, 305, 306, 305, 305, 307, 307, 3700 307, 308, 308, 308, 308, 308, 308, 308, 308, 308, 3701 309, 309, 309, 310, 311, 311, 312, 312, 313, 313, 3702 314, 315, 315, 316, 316, 316, 317, 317, 317, 317, 3703 318, 318, 318, 318, 319, 319, 320, 320, 320, 321, 3704 321, 321, 321, 322, 322, 323, 323, 323, 324, 324, 3705 324, 325, 325, 325, 326, 326, 326, 327, 327, 327, 3706 328, 328, 328, 329, 329, 329, 330, 330, 330, 331, 3707 331, 331, 331, 332, 332, 333, 333, 333, 334, 334, 3708 334, 334, 335, 335, 335, 336, 336, 336, 336, 337, 3709 337, 337, 338, 338, 338, 338, 339, 339, 339, 340, 3710 340, 340, 340, 341, 341, 342, 342, 342, 343, 343, 3711 344, 344, 345, 345, 345, 346, 346, 346, 346, 346, 3712 347, 347, 347, 347, 348, 348, 348, 349, 349, 349, 3713 350, 350, 350, 350, 351, 351, 351, 352, 352, 352, 3714 352, 352, 353, 353, 353, 353, 354, 354, 354, 355, 3715 355, 355, 356, 356, 356, 356, 356, 356, 357, 357, 3716 357, 358, 358, 358, 358, 358, 359, 359, 359, 359, 3717 360, 360, 361, 361, 361, 362, 362, 363, 363, 363, 3718 363, 363, 363, 364, 364, 364, 364, 364, 364, 364, 3719 364, 364, 364, 365, 365, 365, 365, 366, 366, 366, 3720 367, 367, 368, 368, 368, 368, 368, 368, 369, 369, 3721 369, 369, 369, 369, 370, 371, 371, 371, 372, 372, 3722 373, 373 3723 }; 3724 3725 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ 3726 static const yytype_uint8 yyr2[] = 3727 { 3728 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 3729 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 3730 1, 3, 3, 1, 6, 4, 3, 7, 3, 7, 3731 2, 2, 7, 4, 1, 3, 0, 1, 1, 3, 3732 1, 3, 7, 3, 7, 1, 1, 1, 2, 2, 3733 2, 2, 2, 2, 4, 2, 4, 6, 1, 4, 3734 4, 1, 1, 1, 1, 1, 1, 1, 4, 4, 3735 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 3736 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 3737 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 3738 4, 5, 1, 1, 3, 2, 0, 1, 1, 1, 3739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3740 2, 5, 6, 7, 1, 3, 1, 3, 0, 1, 3741 1, 1, 1, 1, 1, 1, 1, 1, 6, 4, 3742 2, 7, 1, 3, 1, 2, 1, 2, 1, 2, 3743 2, 5, 7, 5, 9, 5, 9, 1, 3, 1, 3744 1, 3, 3, 2, 1, 2, 2, 0, 1, 2, 3745 3, 0, 1, 2, 3, 3, 4, 0, 1, 1, 3746 2, 5, 7, 6, 6, 4, 3, 4, 2, 3, 3747 2, 3, 3, 3, 3, 5, 3, 3, 4, 1, 3748 5, 6, 5, 6, 9, 10, 9, 10, 2, 1, 3749 2, 2, 2, 1, 6, 8, 10, 12, 14, 0, 3750 1, 0, 1, 1, 3, 4, 7, 0, 1, 3, 3751 1, 3, 1, 1, 1, 3, 1, 1, 1, 3, 3752 0, 1, 3, 4, 1, 3, 1, 1, 3, 3, 3753 3, 3, 3, 2, 3, 6, 3, 3, 4, 1, 3754 2, 2, 3, 5, 8, 7, 7, 5, 9, 2, 3755 2, 5, 3, 5, 4, 3, 4, 4, 7, 3, 3756 3, 3, 3, 4, 6, 1, 1, 1, 1, 1, 3757 1, 1, 1, 0, 1, 1, 2, 1, 1, 1, 3758 1, 1, 1, 1, 0, 5, 1, 2, 3, 1, 3759 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3760 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3761 1, 1, 1, 2, 2, 3, 3, 1, 3, 1, 3762 2, 2, 2, 4, 4, 4, 4, 1, 2, 2, 3763 3, 1, 2, 2, 1, 2, 2, 3, 1, 2, 3764 2, 1, 1, 4, 2, 0, 6, 7, 2, 2, 3765 2, 0, 2, 2, 3, 2, 3, 1, 2, 3, 3766 2, 2, 4, 0, 1, 2, 2, 1, 0, 1, 3767 2, 2, 5, 2, 0, 7, 2, 4, 0, 2, 3768 0, 1, 1, 1, 5, 5, 5, 1, 5, 5, 3769 9, 1, 5, 0, 1, 1, 5, 1, 1, 5, 3770 5, 1, 3, 3, 4, 1, 1, 1, 1, 2, 3771 1, 3, 3, 1, 2, 1, 3, 1, 1, 1, 3772 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 3773 1, 1, 2, 0, 2, 2, 1, 4, 0, 1, 3774 2, 3, 4, 2, 2, 1, 2, 2, 5, 5, 3775 7, 6, 1, 2, 2, 3, 1, 2, 2, 4, 3776 2, 4, 0, 4, 2, 1, 1, 1, 0, 2, 3777 5, 5, 13, 1, 1, 3, 3, 2, 3, 3, 3778 2, 4, 1, 6, 9, 0, 11, 1, 3, 3, 3779 3, 1, 1, 5, 2, 5, 0, 1, 1, 3, 3780 0, 1, 1, 1, 1, 0, 6, 2, 1, 2, 3781 4, 2, 3, 3, 3, 4, 5, 5, 5, 6, 3782 1, 1, 1, 3, 0, 5, 0, 1, 1, 2, 3783 6, 1, 3, 0, 1, 4, 1, 1, 1, 1, 3784 2, 1, 2, 2, 1, 3, 2, 3, 3, 2, 3785 4, 4, 3, 8, 3, 2, 1, 2, 6, 8, 3786 3, 2, 3, 3, 4, 4, 3, 1, 1, 1, 3787 4, 6, 3, 2, 3, 3, 4, 4, 3, 2, 3788 1, 2, 2, 1, 3, 2, 3, 3, 2, 4, 3789 4, 3, 6, 8, 3, 2, 1, 2, 2, 2, 3790 3, 3, 2, 4, 4, 3, 6, 8, 3, 2, 3791 1, 2, 2, 1, 1, 2, 3, 3, 2, 4, 3792 6, 8, 1, 2, 2, 1, 2, 2, 3, 3, 3793 1, 4, 4, 3, 5, 8, 3, 2, 3, 1, 3794 5, 5, 6, 6, 1, 2, 2, 1, 2, 2, 3795 3, 3, 1, 4, 4, 3, 5, 8, 3, 1, 3796 2, 1, 2, 6, 5, 6, 7, 7, 1, 2, 3797 2, 1, 2, 2, 3, 3, 1, 4, 4, 3, 3798 8, 3, 1, 1, 2, 1, 1, 2, 3, 2, 3799 3, 2, 3, 3, 2, 4, 3, 2, 3, 2, 3800 4, 3, 2, 6, 6, 6, 7, 1, 2, 1, 3801 1, 1, 2, 3, 2, 3, 2, 3, 3, 4, 3802 2, 3, 4, 2, 5, 5, 6, 6, 0, 1, 3803 0, 2 3804 }; 3805 3806 3807 #define yyerrok (yyerrstatus = 0) 3808 #define yyclearin (yychar = YYEMPTY) 3809 #define YYEMPTY (-2) 3810 #define YYEOF 0 3811 3812 #define YYACCEPT goto yyacceptlab 3813 #define YYABORT goto yyabortlab 3814 #define YYERROR goto yyerrorlab 3815 4164 3816 4165 3817 #define YYRECOVERING() (!!yyerrstatus) 4166 3818 4167 #define YYBACKUP(Token, Value) \ 4168 do \ 4169 if (yychar == YYEMPTY && yylen == 1) \ 4170 { \ 4171 yychar = (Token); \ 4172 yylval = (Value); \ 4173 YYPOPSTACK (1); \ 4174 goto yybackup; \ 4175 } \ 4176 else \ 4177 { \ 3819 #define YYBACKUP(Token, Value) \ 3820 do \ 3821 if (yychar == YYEMPTY) \ 3822 { \ 3823 yychar = (Token); \ 3824 yylval = (Value); \ 3825 YYPOPSTACK (yylen); \ 3826 yystate = *yyssp; \ 3827 goto yybackup; \ 3828 } \ 3829 else \ 3830 { \ 4178 3831 yyerror (YY_("syntax error: cannot back up")); \ 4179 YYERROR; \ 4180 } \ 4181 while (YYID (0)) 4182 4183 4184 #define YYTERROR 1 4185 #define YYERRCODE 256 4186 4187 4188 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 4189 If N is 0, then set CURRENT to the empty location which ends 4190 the previous symbol: RHS[0] (always defined). */ 4191 4192 #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 4193 #ifndef YYLLOC_DEFAULT 4194 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 4195 do \ 4196 if (YYID (N)) \ 4197 { \ 4198 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 4199 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 4200 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 4201 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 4202 } \ 4203 else \ 4204 { \ 4205 (Current).first_line = (Current).last_line = \ 4206 YYRHSLOC (Rhs, 0).last_line; \ 4207 (Current).first_column = (Current).last_column = \ 4208 YYRHSLOC (Rhs, 0).last_column; \ 4209 } \ 4210 while (YYID (0)) 4211 #endif 4212 4213 4214 /* This macro is provided for backward compatibility. */ 4215 4216 #ifndef YY_LOCATION_PRINT 4217 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 4218 #endif 4219 4220 4221 /* YYLEX -- calling `yylex' with the right arguments. */ 4222 4223 #ifdef YYLEX_PARAM 4224 # define YYLEX yylex (YYLEX_PARAM) 4225 #else 4226 # define YYLEX yylex () 4227 #endif 3832 YYERROR; \ 3833 } \ 3834 while (0) 3835 3836 /* Error token number */ 3837 #define YYTERROR 1 3838 #define YYERRCODE 256 3839 3840 4228 3841 4229 3842 /* Enable debugging if requested. */ … … 4235 3848 # endif 4236 3849 4237 # define YYDPRINTF(Args) \ 4238 do { \ 4239 if (yydebug) \ 4240 YYFPRINTF Args; \ 4241 } while (YYID (0)) 4242 4243 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 4244 do { \ 4245 if (yydebug) \ 4246 { \ 4247 YYFPRINTF (stderr, "%s ", Title); \ 4248 yy_symbol_print (stderr, \ 4249 Type, Value); \ 4250 YYFPRINTF (stderr, "\n"); \ 4251 } \ 4252 } while (YYID (0)) 4253 4254 4255 /*--------------------------------. 4256 | Print this symbol on YYOUTPUT. | 4257 `--------------------------------*/ 4258 4259 /*ARGSUSED*/ 4260 #if (defined __STDC__ || defined __C99__FUNC__ \ 4261 || defined __cplusplus || defined _MSC_VER) 3850 # define YYDPRINTF(Args) \ 3851 do { \ 3852 if (yydebug) \ 3853 YYFPRINTF Args; \ 3854 } while (0) 3855 3856 /* This macro is provided for backward compatibility. */ 3857 #ifndef YY_LOCATION_PRINT 3858 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 3859 #endif 3860 3861 3862 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 3863 do { \ 3864 if (yydebug) \ 3865 { \ 3866 YYFPRINTF (stderr, "%s ", Title); \ 3867 yy_symbol_print (stderr, \ 3868 Type, Value); \ 3869 YYFPRINTF (stderr, "\n"); \ 3870 } \ 3871 } while (0) 3872 3873 3874 /*----------------------------------------. 3875 | Print this symbol's value on YYOUTPUT. | 3876 `----------------------------------------*/ 3877 4262 3878 static void 4263 3879 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 4264 #else4265 static void4266 yy_symbol_value_print (yyoutput, yytype, yyvaluep)4267 FILE *yyoutput;4268 int yytype;4269 YYSTYPE const * const yyvaluep;4270 #endif4271 3880 { 3881 FILE *yyo = yyoutput; 3882 YYUSE (yyo); 4272 3883 if (!yyvaluep) 4273 3884 return; … … 4275 3886 if (yytype < YYNTOKENS) 4276 3887 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 4277 # else4278 YYUSE (yyoutput);4279 3888 # endif 4280 switch (yytype) 4281 { 4282 default: 4283 break; 4284 } 3889 YYUSE (yytype); 4285 3890 } 4286 3891 … … 4290 3895 `--------------------------------*/ 4291 3896 4292 #if (defined __STDC__ || defined __C99__FUNC__ \4293 || defined __cplusplus || defined _MSC_VER)4294 3897 static void 4295 3898 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 4296 #else4297 static void4298 yy_symbol_print (yyoutput, yytype, yyvaluep)4299 FILE *yyoutput;4300 int yytype;4301 YYSTYPE const * const yyvaluep;4302 #endif4303 3899 { 4304 if (yytype < YYNTOKENS) 4305 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 4306 else 4307 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 3900 YYFPRINTF (yyoutput, "%s %s (", 3901 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 4308 3902 4309 3903 yy_symbol_value_print (yyoutput, yytype, yyvaluep); … … 4316 3910 `------------------------------------------------------------------*/ 4317 3911 4318 #if (defined __STDC__ || defined __C99__FUNC__ \4319 || defined __cplusplus || defined _MSC_VER)4320 3912 static void 4321 3913 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 4322 #else4323 static void4324 yy_stack_print (yybottom, yytop)4325 yytype_int16 *yybottom;4326 yytype_int16 *yytop;4327 #endif4328 3914 { 4329 3915 YYFPRINTF (stderr, "Stack now"); … … 4336 3922 } 4337 3923 4338 # define YY_STACK_PRINT(Bottom, Top) \4339 do { \4340 if (yydebug) \4341 yy_stack_print ((Bottom), (Top)); \4342 } while ( YYID (0))3924 # define YY_STACK_PRINT(Bottom, Top) \ 3925 do { \ 3926 if (yydebug) \ 3927 yy_stack_print ((Bottom), (Top)); \ 3928 } while (0) 4343 3929 4344 3930 … … 4347 3933 `------------------------------------------------*/ 4348 3934 4349 #if (defined __STDC__ || defined __C99__FUNC__ \4350 || defined __cplusplus || defined _MSC_VER)4351 3935 static void 4352 yy_reduce_print (YYSTYPE *yyvsp, int yyrule) 4353 #else 4354 static void 4355 yy_reduce_print (yyvsp, yyrule) 4356 YYSTYPE *yyvsp; 4357 int yyrule; 4358 #endif 3936 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 4359 3937 { 3938 unsigned long int yylno = yyrline[yyrule]; 4360 3939 int yynrhs = yyr2[yyrule]; 4361 3940 int yyi; 4362 unsigned long int yylno = yyrline[yyrule];4363 3941 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 4364 yyrule - 1, yylno);3942 yyrule - 1, yylno); 4365 3943 /* The symbols being reduced. */ 4366 3944 for (yyi = 0; yyi < yynrhs; yyi++) 4367 3945 { 4368 3946 YYFPRINTF (stderr, " $%d = ", yyi + 1); 4369 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 4370 &(yyvsp[(yyi + 1) - (yynrhs)]) 4371 ); 3947 yy_symbol_print (stderr, 3948 yystos[yyssp[yyi + 1 - yynrhs]], 3949 &(yyvsp[(yyi + 1) - (yynrhs)]) 3950 ); 4372 3951 YYFPRINTF (stderr, "\n"); 4373 3952 } 4374 3953 } 4375 3954 4376 # define YY_REDUCE_PRINT(Rule) \4377 do { \4378 if (yydebug) \4379 yy_reduce_print (yy vsp, Rule); \4380 } while ( YYID (0))3955 # define YY_REDUCE_PRINT(Rule) \ 3956 do { \ 3957 if (yydebug) \ 3958 yy_reduce_print (yyssp, yyvsp, Rule); \ 3959 } while (0) 4381 3960 4382 3961 /* Nonzero means print parse trace. It is left uninitialized so that … … 4392 3971 4393 3972 /* YYINITDEPTH -- initial size of the parser's stacks. */ 4394 #ifndef YYINITDEPTH3973 #ifndef YYINITDEPTH 4395 3974 # define YYINITDEPTH 200 4396 3975 #endif … … 4415 3994 # else 4416 3995 /* Return the length of YYSTR. */ 4417 #if (defined __STDC__ || defined __C99__FUNC__ \4418 || defined __cplusplus || defined _MSC_VER)4419 3996 static YYSIZE_T 4420 3997 yystrlen (const char *yystr) 4421 #else4422 static YYSIZE_T4423 yystrlen (yystr)4424 const char *yystr;4425 #endif4426 3998 { 4427 3999 YYSIZE_T yylen; … … 4439 4011 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 4440 4012 YYDEST. */ 4441 #if (defined __STDC__ || defined __C99__FUNC__ \4442 || defined __cplusplus || defined _MSC_VER)4443 4013 static char * 4444 4014 yystpcpy (char *yydest, const char *yysrc) 4445 #else4446 static char *4447 yystpcpy (yydest, yysrc)4448 char *yydest;4449 const char *yysrc;4450 #endif4451 4015 { 4452 4016 char *yyd = yydest; … … 4478 4042 4479 4043 for (;;) 4480 switch (*++yyp)4481 {4482 case '\'':4483 case ',':4484 goto do_not_strip_quotes;4485 4486 case '\\':4487 if (*++yyp != '\\')4488 goto do_not_strip_quotes;4489 /* Fall through. */4490 default:4491 if (yyres)4492 yyres[yyn] = *yyp;4493 yyn++;4494 break;4495 4496 case '"':4497 if (yyres)4498 yyres[yyn] = '\0';4499 return yyn;4500 }4044 switch (*++yyp) 4045 { 4046 case '\'': 4047 case ',': 4048 goto do_not_strip_quotes; 4049 4050 case '\\': 4051 if (*++yyp != '\\') 4052 goto do_not_strip_quotes; 4053 /* Fall through. */ 4054 default: 4055 if (yyres) 4056 yyres[yyn] = *yyp; 4057 yyn++; 4058 break; 4059 4060 case '"': 4061 if (yyres) 4062 yyres[yyn] = '\0'; 4063 return yyn; 4064 } 4501 4065 do_not_strip_quotes: ; 4502 4066 } … … 4521 4085 yytype_int16 *yyssp, int yytoken) 4522 4086 { 4523 YYSIZE_T yysize0 = yytnamerr ( 0, yytname[yytoken]);4087 YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); 4524 4088 YYSIZE_T yysize = yysize0; 4525 YYSIZE_T yysize1;4526 4089 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 4527 4090 /* Internationalized format string. */ 4528 const char *yyformat = 0;4091 const char *yyformat = YY_NULLPTR; 4529 4092 /* Arguments of yyformat. */ 4530 4093 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; … … 4534 4097 4535 4098 /* There are many possibilities here to consider: 4536 - Assume YYFAIL is not used. It's too flawed to consider. See4537 <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>4538 for details. YYERROR is fine as it does not invoke this4539 function.4540 4099 - If this state is a consistent state with a default action, then 4541 4100 the only way this function was invoked is if the default action … … 4586 4145 } 4587 4146 yyarg[yycount++] = yytname[yyx]; 4588 yysize1 = yysize + yytnamerr (0, yytname[yyx]); 4589 if (! (yysize <= yysize1 4590 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4591 return 2; 4592 yysize = yysize1; 4147 { 4148 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); 4149 if (! (yysize <= yysize1 4150 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4151 return 2; 4152 yysize = yysize1; 4153 } 4593 4154 } 4594 4155 } … … 4610 4171 } 4611 4172 4612 yysize1 = yysize + yystrlen (yyformat); 4613 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4614 return 2; 4615 yysize = yysize1; 4173 { 4174 YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 4175 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4176 return 2; 4177 yysize = yysize1; 4178 } 4616 4179 4617 4180 if (*yymsg_alloc < yysize) … … 4650 4213 `-----------------------------------------------*/ 4651 4214 4652 /*ARGSUSED*/4653 #if (defined __STDC__ || defined __C99__FUNC__ \4654 || defined __cplusplus || defined _MSC_VER)4655 4215 static void 4656 4216 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 4657 #else4658 static void4659 yydestruct (yymsg, yytype, yyvaluep)4660 const char *yymsg;4661 int yytype;4662 YYSTYPE *yyvaluep;4663 #endif4664 4217 { 4665 4218 YYUSE (yyvaluep); 4666 4667 4219 if (!yymsg) 4668 4220 yymsg = "Deleting"; 4669 4221 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 4670 4222 4671 switch (yytype) 4672 { 4673 4674 default: 4675 break; 4676 } 4223 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 4224 YYUSE (yytype); 4225 YY_IGNORE_MAYBE_UNINITIALIZED_END 4677 4226 } 4678 4227 4679 4228 4680 /* Prevent warnings from -Wmissing-prototypes. */4681 #ifdef YYPARSE_PARAM4682 #if defined __STDC__ || defined __cplusplus4683 int yyparse (void *YYPARSE_PARAM);4684 #else4685 int yyparse ();4686 #endif4687 #else /* ! YYPARSE_PARAM */4688 #if defined __STDC__ || defined __cplusplus4689 int yyparse (void);4690 #else4691 int yyparse ();4692 #endif4693 #endif /* ! YYPARSE_PARAM */4694 4229 4695 4230 … … 4699 4234 /* The semantic value of the lookahead symbol. */ 4700 4235 YYSTYPE yylval; 4701 4702 4236 /* Number of syntax errors so far. */ 4703 4237 int yynerrs; … … 4708 4242 `----------*/ 4709 4243 4710 #ifdef YYPARSE_PARAM4711 #if (defined __STDC__ || defined __C99__FUNC__ \4712 || defined __cplusplus || defined _MSC_VER)4713 int4714 yyparse (void *YYPARSE_PARAM)4715 #else4716 int4717 yyparse (YYPARSE_PARAM)4718 void *YYPARSE_PARAM;4719 #endif4720 #else /* ! YYPARSE_PARAM */4721 #if (defined __STDC__ || defined __C99__FUNC__ \4722 || defined __cplusplus || defined _MSC_VER)4723 4244 int 4724 4245 yyparse (void) 4725 #else4726 int4727 yyparse ()4728 4729 #endif4730 #endif4731 4246 { 4732 4247 int yystate; … … 4735 4250 4736 4251 /* The stacks and their tools: 4737 `yyss': related to states.4738 `yyvs': related to semantic values.4739 4740 Refer to the stacks thr useparate pointers, to allow yyoverflow4252 'yyss': related to states. 4253 'yyvs': related to semantic values. 4254 4255 Refer to the stacks through separate pointers, to allow yyoverflow 4741 4256 to reallocate them elsewhere. */ 4742 4257 … … 4756 4271 int yyresult; 4757 4272 /* Lookahead token as an internal (translated) token number. */ 4758 int yytoken ;4273 int yytoken = 0; 4759 4274 /* The variables used to return semantic value and location from the 4760 4275 action routines. */ … … 4774 4289 int yylen = 0; 4775 4290 4776 yytoken = 0; 4777 yyss = yyssa; 4778 yyvs = yyvsa; 4291 yyssp = yyss = yyssa; 4292 yyvsp = yyvs = yyvsa; 4779 4293 yystacksize = YYINITDEPTH; 4780 4294 … … 4785 4299 yynerrs = 0; 4786 4300 yychar = YYEMPTY; /* Cause a token to be read. */ 4787 4788 /* Initialize stack pointers.4789 Waste one element of value and location stack4790 so that they stay on the same level as the state stack.4791 The wasted elements are never initialized. */4792 yyssp = yyss;4793 yyvsp = yyvs;4794 4795 4301 goto yysetstate; 4796 4302 … … 4813 4319 #ifdef yyoverflow 4814 4320 { 4815 /* Give user a chance to reallocate the stack. Use copies of4816 these so that the &'s don't force the real ones into4817 memory. */4818 YYSTYPE *yyvs1 = yyvs;4819 yytype_int16 *yyss1 = yyss;4820 4821 /* Each stack pointer address is followed by the size of the4822 data in use in that stack, in bytes. This used to be a4823 conditional around just the two extra args, but that might4824 be undefined if yyoverflow is a macro. */4825 yyoverflow (YY_("memory exhausted"),4826 &yyss1, yysize * sizeof (*yyssp),4827 &yyvs1, yysize * sizeof (*yyvsp),4828 &yystacksize);4829 4830 yyss = yyss1;4831 yyvs = yyvs1;4321 /* Give user a chance to reallocate the stack. Use copies of 4322 these so that the &'s don't force the real ones into 4323 memory. */ 4324 YYSTYPE *yyvs1 = yyvs; 4325 yytype_int16 *yyss1 = yyss; 4326 4327 /* Each stack pointer address is followed by the size of the 4328 data in use in that stack, in bytes. This used to be a 4329 conditional around just the two extra args, but that might 4330 be undefined if yyoverflow is a macro. */ 4331 yyoverflow (YY_("memory exhausted"), 4332 &yyss1, yysize * sizeof (*yyssp), 4333 &yyvs1, yysize * sizeof (*yyvsp), 4334 &yystacksize); 4335 4336 yyss = yyss1; 4337 yyvs = yyvs1; 4832 4338 } 4833 4339 #else /* no yyoverflow */ … … 4837 4343 /* Extend the stack our own way. */ 4838 4344 if (YYMAXDEPTH <= yystacksize) 4839 goto yyexhaustedlab;4345 goto yyexhaustedlab; 4840 4346 yystacksize *= 2; 4841 4347 if (YYMAXDEPTH < yystacksize) 4842 yystacksize = YYMAXDEPTH;4348 yystacksize = YYMAXDEPTH; 4843 4349 4844 4350 { 4845 yytype_int16 *yyss1 = yyss;4846 union yyalloc *yyptr =4847 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));4848 if (! yyptr)4849 goto yyexhaustedlab;4850 YYSTACK_RELOCATE (yyss_alloc, yyss);4851 YYSTACK_RELOCATE (yyvs_alloc, yyvs);4351 yytype_int16 *yyss1 = yyss; 4352 union yyalloc *yyptr = 4353 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 4354 if (! yyptr) 4355 goto yyexhaustedlab; 4356 YYSTACK_RELOCATE (yyss_alloc, yyss); 4357 YYSTACK_RELOCATE (yyvs_alloc, yyvs); 4852 4358 # undef YYSTACK_RELOCATE 4853 if (yyss1 != yyssa)4854 YYSTACK_FREE (yyss1);4359 if (yyss1 != yyssa) 4360 YYSTACK_FREE (yyss1); 4855 4361 } 4856 4362 # endif … … 4861 4367 4862 4368 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 4863 (unsigned long int) yystacksize));4369 (unsigned long int) yystacksize)); 4864 4370 4865 4371 if (yyss + yystacksize - 1 <= yyssp) 4866 YYABORT;4372 YYABORT; 4867 4373 } 4868 4374 … … 4893 4399 { 4894 4400 YYDPRINTF ((stderr, "Reading a token: ")); 4895 yychar = YYLEX;4401 yychar = yylex (); 4896 4402 } 4897 4403 … … 4933 4439 4934 4440 yystate = yyn; 4441 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 4935 4442 *++yyvsp = yylval; 4443 YY_IGNORE_MAYBE_UNINITIALIZED_END 4936 4444 4937 4445 goto yynewstate; … … 4956 4464 4957 4465 /* If YYLEN is nonzero, implement the default value of the action: 4958 `$$ = $1'.4466 '$$ = $1'. 4959 4467 4960 4468 Otherwise, the following line sets YYVAL to garbage. … … 4970 4478 { 4971 4479 case 2: 4972 4973 /* Line 1806 of yacc.c */ 4974 #line 301 "parser.yy" 4480 #line 300 "parser.yy" /* yacc.c:1646 */ 4975 4481 { typedefTable.enterScope(); } 4482 #line 4483 "Parser/parser.cc" /* yacc.c:1646 */ 4976 4483 break; 4977 4484 4978 4485 case 3: 4979 4980 /* Line 1806 of yacc.c */ 4981 #line 305 "parser.yy" 4486 #line 304 "parser.yy" /* yacc.c:1646 */ 4982 4487 { typedefTable.leaveScope(); } 4488 #line 4489 "Parser/parser.cc" /* yacc.c:1646 */ 4983 4489 break; 4984 4490 4985 4491 case 4: 4986 4987 /* Line 1806 of yacc.c */ 4988 #line 312 "parser.yy" 4989 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); } 4492 #line 311 "parser.yy" /* yacc.c:1646 */ 4493 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[0].tok) ) ); } 4494 #line 4495 "Parser/parser.cc" /* yacc.c:1646 */ 4990 4495 break; 4991 4496 4992 4497 case 5: 4993 4994 /* Line 1806 of yacc.c */ 4995 #line 313 "parser.yy" 4996 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4498 #line 312 "parser.yy" /* yacc.c:1646 */ 4499 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[0].tok) ) ); } 4500 #line 4501 "Parser/parser.cc" /* yacc.c:1646 */ 4997 4501 break; 4998 4502 4999 4503 case 6: 5000 5001 /* Line 1806 of yacc.c */ 5002 #line 314 "parser.yy" 5003 { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); } 4504 #line 313 "parser.yy" /* yacc.c:1646 */ 4505 { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[0].tok) ) ); } 4506 #line 4507 "Parser/parser.cc" /* yacc.c:1646 */ 5004 4507 break; 5005 4508 5006 4509 case 16: 5007 5008 /* Line 1806 of yacc.c */ 5009 #line 339 "parser.yy" 5010 { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].str) ); } 4510 #line 338 "parser.yy" /* yacc.c:1646 */ 4511 { (yyval.constant) = build_constantStr( *(yyvsp[0].str) ); } 4512 #line 4513 "Parser/parser.cc" /* yacc.c:1646 */ 5011 4513 break; 5012 4514 5013 4515 case 17: 5014 5015 /* Line 1806 of yacc.c */ 5016 #line 343 "parser.yy" 5017 { (yyval.str) = (yyvsp[(1) - (1)].tok); } 4516 #line 342 "parser.yy" /* yacc.c:1646 */ 4517 { (yyval.str) = (yyvsp[0].tok); } 4518 #line 4519 "Parser/parser.cc" /* yacc.c:1646 */ 5018 4519 break; 5019 4520 5020 4521 case 18: 5021 5022 /* Line 1806 of yacc.c */ 5023 #line 345 "parser.yy" 5024 { 5025 appendStr( (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].tok) ); // append 2nd juxtaposed string to 1st 5026 delete (yyvsp[(2) - (2)].tok); // allocated by lexer 5027 (yyval.str) = (yyvsp[(1) - (2)].str); // conversion from tok to str 4522 #line 344 "parser.yy" /* yacc.c:1646 */ 4523 { 4524 appendStr( (yyvsp[-1].str), (yyvsp[0].tok) ); // append 2nd juxtaposed string to 1st 4525 delete (yyvsp[0].tok); // allocated by lexer 4526 (yyval.str) = (yyvsp[-1].str); // conversion from tok to str 5028 4527 } 4528 #line 4529 "Parser/parser.cc" /* yacc.c:1646 */ 5029 4529 break; 5030 4530 5031 4531 case 19: 5032 5033 /* Line 1806 of yacc.c */ 5034 #line 356 "parser.yy" 5035 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 4532 #line 355 "parser.yy" /* yacc.c:1646 */ 4533 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 4534 #line 4535 "Parser/parser.cc" /* yacc.c:1646 */ 5036 4535 break; 5037 4536 5038 4537 case 20: 5039 5040 /* Line 1806 of yacc.c */ 5041 #line 358 "parser.yy" 5042 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 4538 #line 357 "parser.yy" /* yacc.c:1646 */ 4539 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 4540 #line 4541 "Parser/parser.cc" /* yacc.c:1646 */ 5043 4541 break; 5044 4542 5045 4543 case 21: 5046 5047 /* Line 1806 of yacc.c */ 5048 #line 360 "parser.yy" 5049 { (yyval.en) = (yyvsp[(2) - (3)].en); } 4544 #line 359 "parser.yy" /* yacc.c:1646 */ 4545 { (yyval.en) = (yyvsp[-1].en); } 4546 #line 4547 "Parser/parser.cc" /* yacc.c:1646 */ 5050 4547 break; 5051 4548 5052 4549 case 22: 5053 5054 /* Line 1806 of yacc.c */ 5055 #line 362 "parser.yy" 5056 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); } 4550 #line 361 "parser.yy" /* yacc.c:1646 */ 4551 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[-1].sn) ) ); } 4552 #line 4553 "Parser/parser.cc" /* yacc.c:1646 */ 5057 4553 break; 5058 4554 5059 4555 case 24: 5060 5061 /* Line 1806 of yacc.c */ 5062 #line 372 "parser.yy" 5063 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); } 4556 #line 371 "parser.yy" /* yacc.c:1646 */ 4557 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[-5].en), (yyvsp[-2].en) ) ); } 4558 #line 4559 "Parser/parser.cc" /* yacc.c:1646 */ 5064 4559 break; 5065 4560 5066 4561 case 25: 5067 5068 /* Line 1806 of yacc.c */ 5069 #line 374 "parser.yy" 5070 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); } 4562 #line 373 "parser.yy" /* yacc.c:1646 */ 4563 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[-3].en), (yyvsp[-1].en) ) ); } 4564 #line 4565 "Parser/parser.cc" /* yacc.c:1646 */ 5071 4565 break; 5072 4566 5073 4567 case 26: 5074 5075 /* Line 1806 of yacc.c */ 5076 #line 378 "parser.yy" 5077 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 4568 #line 377 "parser.yy" /* yacc.c:1646 */ 4569 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[-2].en), build_varref( (yyvsp[0].tok) ) ) ); } 4570 #line 4571 "Parser/parser.cc" /* yacc.c:1646 */ 5078 4571 break; 5079 4572 5080 4573 case 28: 5081 5082 /* Line 1806 of yacc.c */ 5083 #line 381 "parser.yy" 5084 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 4574 #line 380 "parser.yy" /* yacc.c:1646 */ 4575 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[-2].en), build_varref( (yyvsp[0].tok) ) ) ); } 4576 #line 4577 "Parser/parser.cc" /* yacc.c:1646 */ 5085 4577 break; 5086 4578 5087 4579 case 30: 5088 5089 /* Line 1806 of yacc.c */ 5090 #line 384 "parser.yy" 5091 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); } 4580 #line 383 "parser.yy" /* yacc.c:1646 */ 4581 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[-1].en) ) ); } 4582 #line 4583 "Parser/parser.cc" /* yacc.c:1646 */ 5092 4583 break; 5093 4584 5094 4585 case 31: 5095 5096 /* Line 1806 of yacc.c */ 5097 #line 386 "parser.yy" 5098 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); } 4586 #line 385 "parser.yy" /* yacc.c:1646 */ 4587 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[-1].en) ) ); } 4588 #line 4589 "Parser/parser.cc" /* yacc.c:1646 */ 5099 4589 break; 5100 4590 5101 4591 case 32: 5102 5103 /* Line 1806 of yacc.c */ 5104 #line 388 "parser.yy" 5105 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); } 4592 #line 387 "parser.yy" /* yacc.c:1646 */ 4593 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[-5].decl), new InitializerNode( (yyvsp[-2].in), true ) ) ); } 4594 #line 4595 "Parser/parser.cc" /* yacc.c:1646 */ 5106 4595 break; 5107 4596 5108 4597 case 33: 5109 5110 /* Line 1806 of yacc.c */ 5111 #line 390 "parser.yy" 4598 #line 389 "parser.yy" /* yacc.c:1646 */ 5112 4599 { 5113 4600 Token fn; 5114 fn.str = new std::string( "?{}" ); // location undefined - use location of '{'?5115 (yyval.en) = new ExpressionNode( new ConstructorExpr( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(1) - (4)].en) )->set_last( (yyvsp[(3) - (4)].en)) ) ) );4601 fn.str = new std::string( "?{}" ); // location undefined 4602 (yyval.en) = new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[-3].en) )->set_last( (yyvsp[-1].en) ) ) ); 5116 4603 } 4604 #line 4605 "Parser/parser.cc" /* yacc.c:1646 */ 5117 4605 break; 5118 4606 5119 4607 case 35: 5120 5121 /* Line 1806 of yacc.c */ 5122 #line 400 "parser.yy" 5123 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 4608 #line 399 "parser.yy" /* yacc.c:1646 */ 4609 { (yyval.en) = (ExpressionNode *)( (yyvsp[-2].en)->set_last( (yyvsp[0].en) )); } 4610 #line 4611 "Parser/parser.cc" /* yacc.c:1646 */ 5124 4611 break; 5125 4612 5126 4613 case 36: 5127 5128 /* Line 1806 of yacc.c */ 5129 #line 405 "parser.yy" 4614 #line 404 "parser.yy" /* yacc.c:1646 */ 5130 4615 { (yyval.en) = 0; } 4616 #line 4617 "Parser/parser.cc" /* yacc.c:1646 */ 5131 4617 break; 5132 4618 5133 4619 case 39: 5134 5135 /* Line 1806 of yacc.c */ 5136 #line 411 "parser.yy" 5137 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 4620 #line 410 "parser.yy" /* yacc.c:1646 */ 4621 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( (yyvsp[0].en) ); } 4622 #line 4623 "Parser/parser.cc" /* yacc.c:1646 */ 5138 4623 break; 5139 4624 5140 4625 case 40: 5141 5142 /* Line 1806 of yacc.c */ 5143 #line 416 "parser.yy" 5144 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 4626 #line 415 "parser.yy" /* yacc.c:1646 */ 4627 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 4628 #line 4629 "Parser/parser.cc" /* yacc.c:1646 */ 5145 4629 break; 5146 4630 5147 4631 case 41: 5148 5149 /* Line 1806 of yacc.c */ 5150 #line 420 "parser.yy" 5151 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); } 4632 #line 419 "parser.yy" /* yacc.c:1646 */ 4633 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[0].en), build_varref( (yyvsp[-2].tok) ) ) ); } 4634 #line 4635 "Parser/parser.cc" /* yacc.c:1646 */ 5152 4635 break; 5153 4636 5154 4637 case 42: 5155 5156 /* Line 1806 of yacc.c */ 5157 #line 422 "parser.yy" 5158 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); } 4638 #line 421 "parser.yy" /* yacc.c:1646 */ 4639 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[-2].en), build_varref( (yyvsp[-6].tok) ) ) ); } 4640 #line 4641 "Parser/parser.cc" /* yacc.c:1646 */ 5159 4641 break; 5160 4642 5161 4643 case 43: 5162 5163 /* Line 1806 of yacc.c */ 5164 #line 424 "parser.yy" 5165 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); } 4644 #line 423 "parser.yy" /* yacc.c:1646 */ 4645 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[0].en), build_varref( (yyvsp[-2].tok) ) ) ); } 4646 #line 4647 "Parser/parser.cc" /* yacc.c:1646 */ 5166 4647 break; 5167 4648 5168 4649 case 44: 5169 5170 /* Line 1806 of yacc.c */ 5171 #line 426 "parser.yy" 5172 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); } 4650 #line 425 "parser.yy" /* yacc.c:1646 */ 4651 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[-2].en), build_varref( (yyvsp[-6].tok) ) ) ); } 4652 #line 4653 "Parser/parser.cc" /* yacc.c:1646 */ 5173 4653 break; 5174 4654 5175 4655 case 46: 5176 5177 /* Line 1806 of yacc.c */ 5178 #line 434 "parser.yy" 5179 { (yyval.en) = (yyvsp[(1) - (1)].en); } 4656 #line 433 "parser.yy" /* yacc.c:1646 */ 4657 { (yyval.en) = (yyvsp[0].en); } 4658 #line 4659 "Parser/parser.cc" /* yacc.c:1646 */ 5180 4659 break; 5181 4660 5182 4661 case 47: 5183 5184 /* Line 1806 of yacc.c */ 5185 #line 436 "parser.yy" 5186 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 4662 #line 435 "parser.yy" /* yacc.c:1646 */ 4663 { (yyval.en) = new ExpressionNode( (yyvsp[0].constant) ); } 4664 #line 4665 "Parser/parser.cc" /* yacc.c:1646 */ 5187 4665 break; 5188 4666 5189 4667 case 48: 5190 5191 /* Line 1806 of yacc.c */ 5192 #line 438 "parser.yy" 5193 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 4668 #line 437 "parser.yy" /* yacc.c:1646 */ 4669 { (yyval.en) = (yyvsp[0].en)->set_extension( true ); } 4670 #line 4671 "Parser/parser.cc" /* yacc.c:1646 */ 5194 4671 break; 5195 4672 5196 4673 case 49: 5197 5198 /* Line 1806 of yacc.c */ 5199 #line 443 "parser.yy" 5200 { 5201 switch ( (yyvsp[(1) - (2)].op) ) { 4674 #line 442 "parser.yy" /* yacc.c:1646 */ 4675 { 4676 switch ( (yyvsp[-1].op) ) { 5202 4677 case OperKinds::AddressOf: 5203 (yyval.en) = new ExpressionNode( build_addressOf( (yyvsp[ (2) - (2)].en) ) );4678 (yyval.en) = new ExpressionNode( build_addressOf( (yyvsp[0].en) ) ); 5204 4679 break; 5205 4680 case OperKinds::PointTo: 5206 (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[ (1) - (2)].op), (yyvsp[(2) - (2)].en) ) );4681 (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[-1].op), (yyvsp[0].en) ) ); 5207 4682 break; 5208 4683 default: … … 5210 4685 } 5211 4686 } 4687 #line 4688 "Parser/parser.cc" /* yacc.c:1646 */ 5212 4688 break; 5213 4689 5214 4690 case 50: 5215 5216 /* Line 1806 of yacc.c */ 5217 #line 456 "parser.yy" 5218 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); } 4691 #line 455 "parser.yy" /* yacc.c:1646 */ 4692 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[-1].op), (yyvsp[0].en) ) ); } 4693 #line 4694 "Parser/parser.cc" /* yacc.c:1646 */ 5219 4694 break; 5220 4695 5221 4696 case 51: 5222 5223 /* Line 1806 of yacc.c */ 5224 #line 458 "parser.yy" 5225 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); } 4697 #line 457 "parser.yy" /* yacc.c:1646 */ 4698 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[0].en) ) ); } 4699 #line 4700 "Parser/parser.cc" /* yacc.c:1646 */ 5226 4700 break; 5227 4701 5228 4702 case 52: 5229 5230 /* Line 1806 of yacc.c */ 5231 #line 460 "parser.yy" 5232 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); } 4703 #line 459 "parser.yy" /* yacc.c:1646 */ 4704 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[0].en) ) ); } 4705 #line 4706 "Parser/parser.cc" /* yacc.c:1646 */ 5233 4706 break; 5234 4707 5235 4708 case 53: 5236 5237 /* Line 1806 of yacc.c */ 5238 #line 462 "parser.yy" 5239 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); } 4709 #line 461 "parser.yy" /* yacc.c:1646 */ 4710 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[0].en) ) ); } 4711 #line 4712 "Parser/parser.cc" /* yacc.c:1646 */ 5240 4712 break; 5241 4713 5242 4714 case 54: 5243 5244 /* Line 1806 of yacc.c */ 5245 #line 464 "parser.yy" 5246 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); } 4715 #line 463 "parser.yy" /* yacc.c:1646 */ 4716 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[-1].decl) ) ); } 4717 #line 4718 "Parser/parser.cc" /* yacc.c:1646 */ 5247 4718 break; 5248 4719 5249 4720 case 55: 5250 5251 /* Line 1806 of yacc.c */ 5252 #line 466 "parser.yy" 5253 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); } 4721 #line 465 "parser.yy" /* yacc.c:1646 */ 4722 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[0].en) ) ); } 4723 #line 4724 "Parser/parser.cc" /* yacc.c:1646 */ 5254 4724 break; 5255 4725 5256 4726 case 56: 5257 5258 /* Line 1806 of yacc.c */ 5259 #line 468 "parser.yy" 5260 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); } 4727 #line 467 "parser.yy" /* yacc.c:1646 */ 4728 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[-1].decl) ) ); } 4729 #line 4730 "Parser/parser.cc" /* yacc.c:1646 */ 5261 4730 break; 5262 4731 5263 4732 case 57: 5264 5265 /* Line 1806 of yacc.c */ 5266 #line 470 "parser.yy" 5267 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); } 4733 #line 469 "parser.yy" /* yacc.c:1646 */ 4734 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[-3].decl), build_varref( (yyvsp[-1].tok) ) ) ); } 4735 #line 4736 "Parser/parser.cc" /* yacc.c:1646 */ 5268 4736 break; 5269 4737 5270 4738 case 58: 5271 5272 /* Line 1806 of yacc.c */ 5273 #line 472 "parser.yy" 5274 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); } 4739 #line 471 "parser.yy" /* yacc.c:1646 */ 4740 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[0].tok) ), nullptr ) ); } 4741 #line 4742 "Parser/parser.cc" /* yacc.c:1646 */ 5275 4742 break; 5276 4743 5277 4744 case 59: 5278 5279 /* Line 1806 of yacc.c */ 5280 #line 474 "parser.yy" 5281 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); } 4745 #line 473 "parser.yy" /* yacc.c:1646 */ 4746 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[-3].tok) ), (yyvsp[-1].en) ) ); } 4747 #line 4748 "Parser/parser.cc" /* yacc.c:1646 */ 5282 4748 break; 5283 4749 5284 4750 case 60: 5285 5286 /* Line 1806 of yacc.c */ 5287 #line 476 "parser.yy" 5288 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); } 4751 #line 475 "parser.yy" /* yacc.c:1646 */ 4752 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[-3].tok) ), (yyvsp[-1].decl) ) ); } 4753 #line 4754 "Parser/parser.cc" /* yacc.c:1646 */ 5289 4754 break; 5290 4755 5291 4756 case 61: 5292 5293 /* Line 1806 of yacc.c */ 5294 #line 482 "parser.yy" 4757 #line 481 "parser.yy" /* yacc.c:1646 */ 5295 4758 { (yyval.op) = OperKinds::PointTo; } 4759 #line 4760 "Parser/parser.cc" /* yacc.c:1646 */ 5296 4760 break; 5297 4761 5298 4762 case 62: 5299 5300 /* Line 1806 of yacc.c */ 5301 #line 483 "parser.yy" 4763 #line 482 "parser.yy" /* yacc.c:1646 */ 5302 4764 { (yyval.op) = OperKinds::AddressOf; } 4765 #line 4766 "Parser/parser.cc" /* yacc.c:1646 */ 5303 4766 break; 5304 4767 5305 4768 case 63: 5306 5307 /* Line 1806 of yacc.c */ 5308 #line 489 "parser.yy" 4769 #line 488 "parser.yy" /* yacc.c:1646 */ 5309 4770 { (yyval.op) = OperKinds::UnPlus; } 4771 #line 4772 "Parser/parser.cc" /* yacc.c:1646 */ 5310 4772 break; 5311 4773 5312 4774 case 64: 5313 5314 /* Line 1806 of yacc.c */ 5315 #line 490 "parser.yy" 4775 #line 489 "parser.yy" /* yacc.c:1646 */ 5316 4776 { (yyval.op) = OperKinds::UnMinus; } 4777 #line 4778 "Parser/parser.cc" /* yacc.c:1646 */ 5317 4778 break; 5318 4779 5319 4780 case 65: 5320 5321 /* Line 1806 of yacc.c */ 5322 #line 491 "parser.yy" 4781 #line 490 "parser.yy" /* yacc.c:1646 */ 5323 4782 { (yyval.op) = OperKinds::Neg; } 4783 #line 4784 "Parser/parser.cc" /* yacc.c:1646 */ 5324 4784 break; 5325 4785 5326 4786 case 66: 5327 5328 /* Line 1806 of yacc.c */ 5329 #line 492 "parser.yy" 4787 #line 491 "parser.yy" /* yacc.c:1646 */ 5330 4788 { (yyval.op) = OperKinds::BitNeg; } 4789 #line 4790 "Parser/parser.cc" /* yacc.c:1646 */ 5331 4790 break; 5332 4791 5333 4792 case 68: 5334 5335 /* Line 1806 of yacc.c */ 5336 #line 498 "parser.yy" 5337 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 4793 #line 497 "parser.yy" /* yacc.c:1646 */ 4794 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[-2].decl), (yyvsp[0].en) ) ); } 4795 #line 4796 "Parser/parser.cc" /* yacc.c:1646 */ 5338 4796 break; 5339 4797 5340 4798 case 69: 5341 5342 /* Line 1806 of yacc.c */ 5343 #line 500 "parser.yy" 5344 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 4799 #line 499 "parser.yy" /* yacc.c:1646 */ 4800 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[-2].decl), (yyvsp[0].en) ) ); } 4801 #line 4802 "Parser/parser.cc" /* yacc.c:1646 */ 5345 4802 break; 5346 4803 5347 4804 case 71: 5348 5349 /* Line 1806 of yacc.c */ 5350 #line 506 "parser.yy" 5351 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4805 #line 505 "parser.yy" /* yacc.c:1646 */ 4806 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4807 #line 4808 "Parser/parser.cc" /* yacc.c:1646 */ 5352 4808 break; 5353 4809 5354 4810 case 72: 5355 5356 /* Line 1806 of yacc.c */ 5357 #line 508 "parser.yy" 5358 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4811 #line 507 "parser.yy" /* yacc.c:1646 */ 4812 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4813 #line 4814 "Parser/parser.cc" /* yacc.c:1646 */ 5359 4814 break; 5360 4815 5361 4816 case 73: 5362 5363 /* Line 1806 of yacc.c */ 5364 #line 510 "parser.yy" 5365 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4817 #line 509 "parser.yy" /* yacc.c:1646 */ 4818 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4819 #line 4820 "Parser/parser.cc" /* yacc.c:1646 */ 5366 4820 break; 5367 4821 5368 4822 case 75: 5369 5370 /* Line 1806 of yacc.c */ 5371 #line 516 "parser.yy" 5372 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4823 #line 515 "parser.yy" /* yacc.c:1646 */ 4824 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4825 #line 4826 "Parser/parser.cc" /* yacc.c:1646 */ 5373 4826 break; 5374 4827 5375 4828 case 76: 5376 5377 /* Line 1806 of yacc.c */ 5378 #line 518 "parser.yy" 5379 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4829 #line 517 "parser.yy" /* yacc.c:1646 */ 4830 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4831 #line 4832 "Parser/parser.cc" /* yacc.c:1646 */ 5380 4832 break; 5381 4833 5382 4834 case 78: 5383 5384 /* Line 1806 of yacc.c */ 5385 #line 524 "parser.yy" 5386 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4835 #line 523 "parser.yy" /* yacc.c:1646 */ 4836 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4837 #line 4838 "Parser/parser.cc" /* yacc.c:1646 */ 5387 4838 break; 5388 4839 5389 4840 case 79: 5390 5391 /* Line 1806 of yacc.c */ 5392 #line 526 "parser.yy" 5393 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4841 #line 525 "parser.yy" /* yacc.c:1646 */ 4842 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4843 #line 4844 "Parser/parser.cc" /* yacc.c:1646 */ 5394 4844 break; 5395 4845 5396 4846 case 81: 5397 5398 /* Line 1806 of yacc.c */ 5399 #line 532 "parser.yy" 5400 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4847 #line 531 "parser.yy" /* yacc.c:1646 */ 4848 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4849 #line 4850 "Parser/parser.cc" /* yacc.c:1646 */ 5401 4850 break; 5402 4851 5403 4852 case 82: 5404 5405 /* Line 1806 of yacc.c */ 5406 #line 534 "parser.yy" 5407 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4853 #line 533 "parser.yy" /* yacc.c:1646 */ 4854 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4855 #line 4856 "Parser/parser.cc" /* yacc.c:1646 */ 5408 4856 break; 5409 4857 5410 4858 case 83: 5411 5412 /* Line 1806 of yacc.c */ 5413 #line 536 "parser.yy" 5414 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4859 #line 535 "parser.yy" /* yacc.c:1646 */ 4860 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4861 #line 4862 "Parser/parser.cc" /* yacc.c:1646 */ 5415 4862 break; 5416 4863 5417 4864 case 84: 5418 5419 /* Line 1806 of yacc.c */ 5420 #line 538 "parser.yy" 5421 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4865 #line 537 "parser.yy" /* yacc.c:1646 */ 4866 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4867 #line 4868 "Parser/parser.cc" /* yacc.c:1646 */ 5422 4868 break; 5423 4869 5424 4870 case 86: 5425 5426 /* Line 1806 of yacc.c */ 5427 #line 544 "parser.yy" 5428 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4871 #line 543 "parser.yy" /* yacc.c:1646 */ 4872 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4873 #line 4874 "Parser/parser.cc" /* yacc.c:1646 */ 5429 4874 break; 5430 4875 5431 4876 case 87: 5432 5433 /* Line 1806 of yacc.c */ 5434 #line 546 "parser.yy" 5435 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4877 #line 545 "parser.yy" /* yacc.c:1646 */ 4878 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4879 #line 4880 "Parser/parser.cc" /* yacc.c:1646 */ 5436 4880 break; 5437 4881 5438 4882 case 89: 5439 5440 /* Line 1806 of yacc.c */ 5441 #line 552 "parser.yy" 5442 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4883 #line 551 "parser.yy" /* yacc.c:1646 */ 4884 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4885 #line 4886 "Parser/parser.cc" /* yacc.c:1646 */ 5443 4886 break; 5444 4887 5445 4888 case 91: 5446 5447 /* Line 1806 of yacc.c */ 5448 #line 558 "parser.yy" 5449 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4889 #line 557 "parser.yy" /* yacc.c:1646 */ 4890 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4891 #line 4892 "Parser/parser.cc" /* yacc.c:1646 */ 5450 4892 break; 5451 4893 5452 4894 case 93: 5453 5454 /* Line 1806 of yacc.c */ 5455 #line 564 "parser.yy" 5456 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4895 #line 563 "parser.yy" /* yacc.c:1646 */ 4896 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4897 #line 4898 "Parser/parser.cc" /* yacc.c:1646 */ 5457 4898 break; 5458 4899 5459 4900 case 95: 5460 5461 /* Line 1806 of yacc.c */ 5462 #line 570 "parser.yy" 5463 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); } 4901 #line 569 "parser.yy" /* yacc.c:1646 */ 4902 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[-2].en), (yyvsp[0].en), true ) ); } 4903 #line 4904 "Parser/parser.cc" /* yacc.c:1646 */ 5464 4904 break; 5465 4905 5466 4906 case 97: 5467 5468 /* Line 1806 of yacc.c */ 5469 #line 576 "parser.yy" 5470 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); } 4907 #line 575 "parser.yy" /* yacc.c:1646 */ 4908 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[-2].en), (yyvsp[0].en), false ) ); } 4909 #line 4910 "Parser/parser.cc" /* yacc.c:1646 */ 5471 4910 break; 5472 4911 5473 4912 case 99: 5474 5475 /* Line 1806 of yacc.c */ 5476 #line 582 "parser.yy" 5477 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 4913 #line 581 "parser.yy" /* yacc.c:1646 */ 4914 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[-4].en), (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4915 #line 4916 "Parser/parser.cc" /* yacc.c:1646 */ 5478 4916 break; 5479 4917 5480 4918 case 100: 5481 5482 /* Line 1806 of yacc.c */ 5483 #line 585 "parser.yy" 5484 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); } 4919 #line 584 "parser.yy" /* yacc.c:1646 */ 4920 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[-3].en), (yyvsp[-3].en), (yyvsp[0].en) ) ); } 4921 #line 4922 "Parser/parser.cc" /* yacc.c:1646 */ 5485 4922 break; 5486 4923 5487 4924 case 101: 5488 5489 /* Line 1806 of yacc.c */ 5490 #line 587 "parser.yy" 5491 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 4925 #line 586 "parser.yy" /* yacc.c:1646 */ 4926 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[-4].en), (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4927 #line 4928 "Parser/parser.cc" /* yacc.c:1646 */ 5492 4928 break; 5493 4929 5494 4930 case 104: 5495 5496 /* Line 1806 of yacc.c */ 5497 #line 598 "parser.yy" 5498 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4931 #line 597 "parser.yy" /* yacc.c:1646 */ 4932 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[-1].op), (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4933 #line 4934 "Parser/parser.cc" /* yacc.c:1646 */ 5499 4934 break; 5500 4935 5501 4936 case 105: 5502 5503 /* Line 1806 of yacc.c */ 5504 #line 600 "parser.yy" 5505 { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new ExpressionNode( build_binary_ptr( OperKinds::Assign, (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ) ); } 4937 #line 599 "parser.yy" /* yacc.c:1646 */ 4938 { (yyval.en) = ( (yyvsp[0].en) == 0 ) ? (yyvsp[-1].en) : new ExpressionNode( build_binary_ptr( OperKinds::Assign, (yyvsp[-1].en), (yyvsp[0].en) ) ); } 4939 #line 4940 "Parser/parser.cc" /* yacc.c:1646 */ 5506 4940 break; 5507 4941 5508 4942 case 106: 5509 5510 /* Line 1806 of yacc.c */ 5511 #line 605 "parser.yy" 4943 #line 604 "parser.yy" /* yacc.c:1646 */ 5512 4944 { (yyval.en) = nullptr; } 4945 #line 4946 "Parser/parser.cc" /* yacc.c:1646 */ 5513 4946 break; 5514 4947 5515 4948 case 108: 5516 5517 /* Line 1806 of yacc.c */ 5518 #line 610 "parser.yy" 4949 #line 609 "parser.yy" /* yacc.c:1646 */ 5519 4950 { (yyval.op) = OperKinds::Assign; } 4951 #line 4952 "Parser/parser.cc" /* yacc.c:1646 */ 5520 4952 break; 5521 4953 5522 4954 case 109: 5523 5524 /* Line 1806 of yacc.c */ 5525 #line 611 "parser.yy" 4955 #line 610 "parser.yy" /* yacc.c:1646 */ 5526 4956 { (yyval.op) = OperKinds::AtAssn; } 4957 #line 4958 "Parser/parser.cc" /* yacc.c:1646 */ 5527 4958 break; 5528 4959 5529 4960 case 110: 5530 5531 /* Line 1806 of yacc.c */ 5532 #line 612 "parser.yy" 4961 #line 611 "parser.yy" /* yacc.c:1646 */ 5533 4962 { (yyval.op) = OperKinds::MulAssn; } 4963 #line 4964 "Parser/parser.cc" /* yacc.c:1646 */ 5534 4964 break; 5535 4965 5536 4966 case 111: 5537 5538 /* Line 1806 of yacc.c */ 5539 #line 613 "parser.yy" 4967 #line 612 "parser.yy" /* yacc.c:1646 */ 5540 4968 { (yyval.op) = OperKinds::DivAssn; } 4969 #line 4970 "Parser/parser.cc" /* yacc.c:1646 */ 5541 4970 break; 5542 4971 5543 4972 case 112: 5544 5545 /* Line 1806 of yacc.c */ 5546 #line 614 "parser.yy" 4973 #line 613 "parser.yy" /* yacc.c:1646 */ 5547 4974 { (yyval.op) = OperKinds::ModAssn; } 4975 #line 4976 "Parser/parser.cc" /* yacc.c:1646 */ 5548 4976 break; 5549 4977 5550 4978 case 113: 5551 5552 /* Line 1806 of yacc.c */ 5553 #line 615 "parser.yy" 4979 #line 614 "parser.yy" /* yacc.c:1646 */ 5554 4980 { (yyval.op) = OperKinds::PlusAssn; } 4981 #line 4982 "Parser/parser.cc" /* yacc.c:1646 */ 5555 4982 break; 5556 4983 5557 4984 case 114: 5558 5559 /* Line 1806 of yacc.c */ 5560 #line 616 "parser.yy" 4985 #line 615 "parser.yy" /* yacc.c:1646 */ 5561 4986 { (yyval.op) = OperKinds::MinusAssn; } 4987 #line 4988 "Parser/parser.cc" /* yacc.c:1646 */ 5562 4988 break; 5563 4989 5564 4990 case 115: 5565 5566 /* Line 1806 of yacc.c */ 5567 #line 617 "parser.yy" 4991 #line 616 "parser.yy" /* yacc.c:1646 */ 5568 4992 { (yyval.op) = OperKinds::LSAssn; } 4993 #line 4994 "Parser/parser.cc" /* yacc.c:1646 */ 5569 4994 break; 5570 4995 5571 4996 case 116: 5572 5573 /* Line 1806 of yacc.c */ 5574 #line 618 "parser.yy" 4997 #line 617 "parser.yy" /* yacc.c:1646 */ 5575 4998 { (yyval.op) = OperKinds::RSAssn; } 4999 #line 5000 "Parser/parser.cc" /* yacc.c:1646 */ 5576 5000 break; 5577 5001 5578 5002 case 117: 5579 5580 /* Line 1806 of yacc.c */ 5581 #line 619 "parser.yy" 5003 #line 618 "parser.yy" /* yacc.c:1646 */ 5582 5004 { (yyval.op) = OperKinds::AndAssn; } 5005 #line 5006 "Parser/parser.cc" /* yacc.c:1646 */ 5583 5006 break; 5584 5007 5585 5008 case 118: 5586 5587 /* Line 1806 of yacc.c */ 5588 #line 620 "parser.yy" 5009 #line 619 "parser.yy" /* yacc.c:1646 */ 5589 5010 { (yyval.op) = OperKinds::ERAssn; } 5011 #line 5012 "Parser/parser.cc" /* yacc.c:1646 */ 5590 5012 break; 5591 5013 5592 5014 case 119: 5593 5594 /* Line 1806 of yacc.c */ 5595 #line 621 "parser.yy" 5015 #line 620 "parser.yy" /* yacc.c:1646 */ 5596 5016 { (yyval.op) = OperKinds::OrAssn; } 5017 #line 5018 "Parser/parser.cc" /* yacc.c:1646 */ 5597 5018 break; 5598 5019 5599 5020 case 120: 5600 5601 /* Line 1806 of yacc.c */ 5602 #line 628 "parser.yy" 5021 #line 627 "parser.yy" /* yacc.c:1646 */ 5603 5022 { (yyval.en) = new ExpressionNode( build_tuple() ); } 5023 #line 5024 "Parser/parser.cc" /* yacc.c:1646 */ 5604 5024 break; 5605 5025 5606 5026 case 121: 5607 5608 /* Line 1806 of yacc.c */ 5609 #line 630 "parser.yy" 5610 { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[(3) - (5)].en) ) ); } 5027 #line 629 "parser.yy" /* yacc.c:1646 */ 5028 { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[-2].en) ) ); } 5029 #line 5030 "Parser/parser.cc" /* yacc.c:1646 */ 5611 5030 break; 5612 5031 5613 5032 case 122: 5614 5615 /* Line 1806 of yacc.c */ 5616 #line 632 "parser.yy" 5617 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); } 5033 #line 631 "parser.yy" /* yacc.c:1646 */ 5034 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[-2].en) ) ) ); } 5035 #line 5036 "Parser/parser.cc" /* yacc.c:1646 */ 5618 5036 break; 5619 5037 5620 5038 case 123: 5621 5622 /* Line 1806 of yacc.c */ 5623 #line 634 "parser.yy" 5624 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); } 5039 #line 633 "parser.yy" /* yacc.c:1646 */ 5040 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[-4].en)->set_last( (yyvsp[-2].en) ) ) ); } 5041 #line 5042 "Parser/parser.cc" /* yacc.c:1646 */ 5625 5042 break; 5626 5043 5627 5044 case 125: 5628 5629 /* Line 1806 of yacc.c */ 5630 #line 640 "parser.yy" 5631 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5045 #line 639 "parser.yy" /* yacc.c:1646 */ 5046 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( (yyvsp[0].en) ); } 5047 #line 5048 "Parser/parser.cc" /* yacc.c:1646 */ 5632 5048 break; 5633 5049 5634 5050 case 127: 5635 5636 /* Line 1806 of yacc.c */ 5637 #line 646 "parser.yy" 5638 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5051 #line 645 "parser.yy" /* yacc.c:1646 */ 5052 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[-2].en), (yyvsp[0].en) ) ); } 5053 #line 5054 "Parser/parser.cc" /* yacc.c:1646 */ 5639 5054 break; 5640 5055 5641 5056 case 128: 5642 5643 /* Line 1806 of yacc.c */ 5644 #line 651 "parser.yy" 5057 #line 650 "parser.yy" /* yacc.c:1646 */ 5645 5058 { (yyval.en) = 0; } 5059 #line 5060 "Parser/parser.cc" /* yacc.c:1646 */ 5646 5060 break; 5647 5061 5648 5062 case 132: 5649 5650 /* Line 1806 of yacc.c */ 5651 #line 660 "parser.yy" 5652 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5063 #line 659 "parser.yy" /* yacc.c:1646 */ 5064 { (yyval.sn) = (yyvsp[0].sn); } 5065 #line 5066 "Parser/parser.cc" /* yacc.c:1646 */ 5653 5066 break; 5654 5067 5655 5068 case 138: 5656 5657 /* Line 1806 of yacc.c */ 5658 #line 667 "parser.yy" 5069 #line 666 "parser.yy" /* yacc.c:1646 */ 5659 5070 { 5660 5071 Token fn; 5661 fn.str = new st ring( "^?{}" );// location undefined5662 (yyval.sn) = new StatementNode( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[ (2) - (6)].en) )->set_last( (yyvsp[(4) - (6)].en) ) ) ) ) );5072 fn.str = new std::string( "^?{}" ); // location undefined 5073 (yyval.sn) = new StatementNode( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[-4].en) )->set_last( (yyvsp[-2].en) ) ) ) ) ); 5663 5074 } 5075 #line 5076 "Parser/parser.cc" /* yacc.c:1646 */ 5664 5076 break; 5665 5077 5666 5078 case 139: 5667 5668 /* Line 1806 of yacc.c */ 5669 #line 677 "parser.yy" 5670 { 5671 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); 5079 #line 676 "parser.yy" /* yacc.c:1646 */ 5080 { 5081 (yyval.sn) = (yyvsp[0].sn)->add_label( (yyvsp[-3].tok) ); 5672 5082 } 5083 #line 5084 "Parser/parser.cc" /* yacc.c:1646 */ 5673 5084 break; 5674 5085 5675 5086 case 140: 5676 5677 /* Line 1806 of yacc.c */ 5678 #line 684 "parser.yy" 5087 #line 683 "parser.yy" /* yacc.c:1646 */ 5679 5088 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); } 5089 #line 5090 "Parser/parser.cc" /* yacc.c:1646 */ 5680 5090 break; 5681 5091 5682 5092 case 141: 5683 5684 /* Line 1806 of yacc.c */ 5685 #line 691 "parser.yy" 5686 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); } 5093 #line 690 "parser.yy" /* yacc.c:1646 */ 5094 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[-2].sn) ) ); } 5095 #line 5096 "Parser/parser.cc" /* yacc.c:1646 */ 5687 5096 break; 5688 5097 5689 5098 case 143: 5690 5691 /* Line 1806 of yacc.c */ 5692 #line 697 "parser.yy" 5693 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5099 #line 696 "parser.yy" /* yacc.c:1646 */ 5100 { if ( (yyvsp[-2].sn) != 0 ) { (yyvsp[-2].sn)->set_last( (yyvsp[0].sn) ); (yyval.sn) = (yyvsp[-2].sn); } } 5101 #line 5102 "Parser/parser.cc" /* yacc.c:1646 */ 5694 5102 break; 5695 5103 5696 5104 case 144: 5697 5698 /* Line 1806 of yacc.c */ 5699 #line 702 "parser.yy" 5700 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5105 #line 701 "parser.yy" /* yacc.c:1646 */ 5106 { (yyval.sn) = new StatementNode( (yyvsp[0].decl) ); } 5107 #line 5108 "Parser/parser.cc" /* yacc.c:1646 */ 5701 5108 break; 5702 5109 5703 5110 case 145: 5704 5705 /* Line 1806 of yacc.c */ 5706 #line 704 "parser.yy" 5111 #line 703 "parser.yy" /* yacc.c:1646 */ 5707 5112 { // mark all fields in list 5708 for ( DeclarationNode *iter = (yyvsp[ (2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )5113 for ( DeclarationNode *iter = (yyvsp[0].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) 5709 5114 iter->set_extension( true ); 5710 (yyval.sn) = new StatementNode( (yyvsp[ (2) - (2)].decl) );5115 (yyval.sn) = new StatementNode( (yyvsp[0].decl) ); 5711 5116 } 5117 #line 5118 "Parser/parser.cc" /* yacc.c:1646 */ 5712 5118 break; 5713 5119 5714 5120 case 146: 5715 5716 /* Line 1806 of yacc.c */ 5717 #line 710 "parser.yy" 5718 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5121 #line 709 "parser.yy" /* yacc.c:1646 */ 5122 { (yyval.sn) = new StatementNode( (yyvsp[0].decl) ); } 5123 #line 5124 "Parser/parser.cc" /* yacc.c:1646 */ 5719 5124 break; 5720 5125 5721 5126 case 149: 5722 5723 /* Line 1806 of yacc.c */ 5724 #line 717 "parser.yy" 5725 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5127 #line 716 "parser.yy" /* yacc.c:1646 */ 5128 { if ( (yyvsp[-1].sn) != 0 ) { (yyvsp[-1].sn)->set_last( (yyvsp[0].sn) ); (yyval.sn) = (yyvsp[-1].sn); } } 5129 #line 5130 "Parser/parser.cc" /* yacc.c:1646 */ 5726 5130 break; 5727 5131 5728 5132 case 150: 5729 5730 /* Line 1806 of yacc.c */ 5731 #line 722 "parser.yy" 5732 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); } 5133 #line 721 "parser.yy" /* yacc.c:1646 */ 5134 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[-1].en) ) ); } 5135 #line 5136 "Parser/parser.cc" /* yacc.c:1646 */ 5733 5136 break; 5734 5137 5735 5138 case 151: 5736 5737 /* Line 1806 of yacc.c */ 5738 #line 728 "parser.yy" 5739 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); } 5139 #line 727 "parser.yy" /* yacc.c:1646 */ 5140 { (yyval.sn) = new StatementNode( build_if( (yyvsp[-2].en), (yyvsp[0].sn), nullptr ) ); } 5141 #line 5142 "Parser/parser.cc" /* yacc.c:1646 */ 5740 5142 break; 5741 5143 5742 5144 case 152: 5743 5744 /* Line 1806 of yacc.c */ 5745 #line 730 "parser.yy" 5746 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); } 5145 #line 729 "parser.yy" /* yacc.c:1646 */ 5146 { (yyval.sn) = new StatementNode( build_if( (yyvsp[-4].en), (yyvsp[-2].sn), (yyvsp[0].sn) ) ); } 5147 #line 5148 "Parser/parser.cc" /* yacc.c:1646 */ 5747 5148 break; 5748 5149 5749 5150 case 153: 5750 5751 /* Line 1806 of yacc.c */ 5752 #line 732 "parser.yy" 5753 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5151 #line 731 "parser.yy" /* yacc.c:1646 */ 5152 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[-2].en), (yyvsp[0].sn) ) ); } 5153 #line 5154 "Parser/parser.cc" /* yacc.c:1646 */ 5754 5154 break; 5755 5155 5756 5156 case 154: 5757 5758 /* Line 1806 of yacc.c */ 5759 #line 734 "parser.yy" 5760 { 5761 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); 5157 #line 733 "parser.yy" /* yacc.c:1646 */ 5158 { 5159 StatementNode *sw = new StatementNode( build_switch( (yyvsp[-6].en), (yyvsp[-1].sn) ) ); 5762 5160 // The semantics of the declaration list is changed to include associated initialization, which is performed 5763 5161 // *before* the transfer to the appropriate case clause by hoisting the declarations into a compound … … 5765 5163 // therefore, are removed from the grammar even though C allows it. The change also applies to choose 5766 5164 // statement. 5767 (yyval.sn) = (yyvsp[ (7) - (9)].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw;5165 (yyval.sn) = (yyvsp[-2].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[-2].decl) ))->set_last( sw )) ) ) : sw; 5768 5166 } 5167 #line 5168 "Parser/parser.cc" /* yacc.c:1646 */ 5769 5168 break; 5770 5169 5771 5170 case 155: 5772 5773 /* Line 1806 of yacc.c */ 5774 #line 744 "parser.yy" 5775 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5171 #line 743 "parser.yy" /* yacc.c:1646 */ 5172 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[-2].en), (yyvsp[0].sn) ) ); } 5173 #line 5174 "Parser/parser.cc" /* yacc.c:1646 */ 5776 5174 break; 5777 5175 5778 5176 case 156: 5779 5780 /* Line 1806 of yacc.c */ 5781 #line 746 "parser.yy" 5782 { 5783 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); 5784 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw; 5177 #line 745 "parser.yy" /* yacc.c:1646 */ 5178 { 5179 StatementNode *sw = new StatementNode( build_switch( (yyvsp[-6].en), (yyvsp[-1].sn) ) ); 5180 (yyval.sn) = (yyvsp[-2].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[-2].decl) ))->set_last( sw )) ) ) : sw; 5785 5181 } 5182 #line 5183 "Parser/parser.cc" /* yacc.c:1646 */ 5786 5183 break; 5787 5184 5788 5185 case 157: 5789 5790 /* Line 1806 of yacc.c */ 5791 #line 756 "parser.yy" 5792 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5186 #line 755 "parser.yy" /* yacc.c:1646 */ 5187 { (yyval.en) = (yyvsp[0].en); } 5188 #line 5189 "Parser/parser.cc" /* yacc.c:1646 */ 5793 5189 break; 5794 5190 5795 5191 case 158: 5796 5797 /* Line 1806 of yacc.c */ 5798 #line 758 "parser.yy" 5799 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5192 #line 757 "parser.yy" /* yacc.c:1646 */ 5193 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[-2].en), (yyvsp[0].en) ) ); } 5194 #line 5195 "Parser/parser.cc" /* yacc.c:1646 */ 5800 5195 break; 5801 5196 5802 5197 case 160: 5803 5804 /* Line 1806 of yacc.c */ 5805 #line 763 "parser.yy" 5806 { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); } 5198 #line 762 "parser.yy" /* yacc.c:1646 */ 5199 { (yyval.sn) = new StatementNode( build_case( (yyvsp[0].en) ) ); } 5200 #line 5201 "Parser/parser.cc" /* yacc.c:1646 */ 5807 5201 break; 5808 5202 5809 5203 case 161: 5810 5811 /* Line 1806 of yacc.c */ 5812 #line 765 "parser.yy" 5813 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 5204 #line 764 "parser.yy" /* yacc.c:1646 */ 5205 { (yyval.sn) = (StatementNode *)((yyvsp[-2].sn)->set_last( new StatementNode( build_case( (yyvsp[0].en) ) ) ) ); } 5206 #line 5207 "Parser/parser.cc" /* yacc.c:1646 */ 5814 5207 break; 5815 5208 5816 5209 case 162: 5817 5818 /* Line 1806 of yacc.c */ 5819 #line 769 "parser.yy" 5820 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5210 #line 768 "parser.yy" /* yacc.c:1646 */ 5211 { (yyval.sn) = (yyvsp[-1].sn); } 5212 #line 5213 "Parser/parser.cc" /* yacc.c:1646 */ 5821 5213 break; 5822 5214 5823 5215 case 163: 5824 5825 /* Line 1806 of yacc.c */ 5826 #line 770 "parser.yy" 5216 #line 769 "parser.yy" /* yacc.c:1646 */ 5827 5217 { (yyval.sn) = new StatementNode( build_default() ); } 5218 #line 5219 "Parser/parser.cc" /* yacc.c:1646 */ 5828 5219 break; 5829 5220 5830 5221 case 165: 5831 5832 /* Line 1806 of yacc.c */ 5833 #line 776 "parser.yy" 5834 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); } 5222 #line 775 "parser.yy" /* yacc.c:1646 */ 5223 { (yyval.sn) = (StatementNode *)( (yyvsp[-1].sn)->set_last( (yyvsp[0].sn) )); } 5224 #line 5225 "Parser/parser.cc" /* yacc.c:1646 */ 5835 5225 break; 5836 5226 5837 5227 case 166: 5838 5839 /* Line 1806 of yacc.c */ 5840 #line 780 "parser.yy" 5841 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5228 #line 779 "parser.yy" /* yacc.c:1646 */ 5229 { (yyval.sn) = (yyvsp[-1].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[0].sn) ) ) ); } 5230 #line 5231 "Parser/parser.cc" /* yacc.c:1646 */ 5842 5231 break; 5843 5232 5844 5233 case 167: 5845 5846 /* Line 1806 of yacc.c */ 5847 #line 785 "parser.yy" 5234 #line 784 "parser.yy" /* yacc.c:1646 */ 5848 5235 { (yyval.sn) = 0; } 5236 #line 5237 "Parser/parser.cc" /* yacc.c:1646 */ 5849 5237 break; 5850 5238 5851 5239 case 169: 5852 5853 /* Line 1806 of yacc.c */ 5854 #line 791 "parser.yy" 5855 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5240 #line 790 "parser.yy" /* yacc.c:1646 */ 5241 { (yyval.sn) = (yyvsp[-1].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[0].sn) ) ) ); } 5242 #line 5243 "Parser/parser.cc" /* yacc.c:1646 */ 5856 5243 break; 5857 5244 5858 5245 case 170: 5859 5860 /* Line 1806 of yacc.c */ 5861 #line 793 "parser.yy" 5862 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); } 5246 #line 792 "parser.yy" /* yacc.c:1646 */ 5247 { (yyval.sn) = (StatementNode *)( (yyvsp[-2].sn)->set_last( (yyvsp[-1].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[0].sn) ) ) ) ) ); } 5248 #line 5249 "Parser/parser.cc" /* yacc.c:1646 */ 5863 5249 break; 5864 5250 5865 5251 case 171: 5866 5867 /* Line 1806 of yacc.c */ 5868 #line 798 "parser.yy" 5252 #line 797 "parser.yy" /* yacc.c:1646 */ 5869 5253 { (yyval.sn) = 0; } 5254 #line 5255 "Parser/parser.cc" /* yacc.c:1646 */ 5870 5255 break; 5871 5256 5872 5257 case 173: 5873 5874 /* Line 1806 of yacc.c */ 5875 #line 804 "parser.yy" 5876 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5258 #line 803 "parser.yy" /* yacc.c:1646 */ 5259 { (yyval.sn) = (yyvsp[-1].sn)->append_last_case( (yyvsp[0].sn) ); } 5260 #line 5261 "Parser/parser.cc" /* yacc.c:1646 */ 5877 5261 break; 5878 5262 5879 5263 case 174: 5880 5881 /* Line 1806 of yacc.c */ 5882 #line 806 "parser.yy" 5883 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); } 5264 #line 805 "parser.yy" /* yacc.c:1646 */ 5265 { (yyval.sn) = (yyvsp[-2].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[-1].sn)->set_last( (yyvsp[0].sn) ) ) ) ); } 5266 #line 5267 "Parser/parser.cc" /* yacc.c:1646 */ 5884 5267 break; 5885 5268 5886 5269 case 175: 5887 5888 /* Line 1806 of yacc.c */ 5889 #line 808 "parser.yy" 5890 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5270 #line 807 "parser.yy" /* yacc.c:1646 */ 5271 { (yyval.sn) = (StatementNode *)( (yyvsp[-2].sn)->set_last( (yyvsp[-1].sn)->append_last_case( (yyvsp[0].sn) ))); } 5272 #line 5273 "Parser/parser.cc" /* yacc.c:1646 */ 5891 5273 break; 5892 5274 5893 5275 case 176: 5894 5895 /* Line 1806 of yacc.c */ 5896 #line 810 "parser.yy" 5897 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(3) - (4)].sn)->set_last( (yyvsp[(4) - (4)].sn) ) ) ) ) ) ); } 5276 #line 809 "parser.yy" /* yacc.c:1646 */ 5277 { (yyval.sn) = (StatementNode *)( (yyvsp[-3].sn)->set_last( (yyvsp[-2].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[-1].sn)->set_last( (yyvsp[0].sn) ) ) ) ) ) ); } 5278 #line 5279 "Parser/parser.cc" /* yacc.c:1646 */ 5898 5279 break; 5899 5280 5900 5281 case 177: 5901 5902 /* Line 1806 of yacc.c */ 5903 #line 815 "parser.yy" 5282 #line 814 "parser.yy" /* yacc.c:1646 */ 5904 5283 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5284 #line 5285 "Parser/parser.cc" /* yacc.c:1646 */ 5905 5285 break; 5906 5286 5907 5287 case 179: 5908 5909 /* Line 1806 of yacc.c */ 5910 #line 821 "parser.yy" 5288 #line 820 "parser.yy" /* yacc.c:1646 */ 5911 5289 { (yyval.sn) = 0; } 5290 #line 5291 "Parser/parser.cc" /* yacc.c:1646 */ 5912 5291 break; 5913 5292 5914 5293 case 180: 5915 5916 /* Line 1806 of yacc.c */ 5917 #line 823 "parser.yy" 5294 #line 822 "parser.yy" /* yacc.c:1646 */ 5918 5295 { (yyval.sn) = 0; } 5296 #line 5297 "Parser/parser.cc" /* yacc.c:1646 */ 5919 5297 break; 5920 5298 5921 5299 case 181: 5922 5923 /* Line 1806 of yacc.c */ 5924 #line 828 "parser.yy" 5925 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5300 #line 827 "parser.yy" /* yacc.c:1646 */ 5301 { (yyval.sn) = new StatementNode( build_while( (yyvsp[-2].en), (yyvsp[0].sn) ) ); } 5302 #line 5303 "Parser/parser.cc" /* yacc.c:1646 */ 5926 5303 break; 5927 5304 5928 5305 case 182: 5929 5930 /* Line 1806 of yacc.c */ 5931 #line 830 "parser.yy" 5932 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true ) ); } 5306 #line 829 "parser.yy" /* yacc.c:1646 */ 5307 { (yyval.sn) = new StatementNode( build_while( (yyvsp[-2].en), (yyvsp[-5].sn), true ) ); } 5308 #line 5309 "Parser/parser.cc" /* yacc.c:1646 */ 5933 5309 break; 5934 5310 5935 5311 case 183: 5936 5937 /* Line 1806 of yacc.c */ 5938 #line 832 "parser.yy" 5939 { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); } 5312 #line 831 "parser.yy" /* yacc.c:1646 */ 5313 { (yyval.sn) = new StatementNode( build_for( (yyvsp[-2].fctl), (yyvsp[0].sn) ) ); } 5314 #line 5315 "Parser/parser.cc" /* yacc.c:1646 */ 5940 5315 break; 5941 5316 5942 5317 case 184: 5943 5944 /* Line 1806 of yacc.c */ 5945 #line 837 "parser.yy" 5946 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 5318 #line 836 "parser.yy" /* yacc.c:1646 */ 5319 { (yyval.fctl) = new ForCtl( (yyvsp[-5].en), (yyvsp[-2].en), (yyvsp[0].en) ); } 5320 #line 5321 "Parser/parser.cc" /* yacc.c:1646 */ 5947 5321 break; 5948 5322 5949 5323 case 185: 5950 5951 /* Line 1806 of yacc.c */ 5952 #line 839 "parser.yy" 5953 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5324 #line 838 "parser.yy" /* yacc.c:1646 */ 5325 { (yyval.fctl) = new ForCtl( (yyvsp[-3].decl), (yyvsp[-2].en), (yyvsp[0].en) ); } 5326 #line 5327 "Parser/parser.cc" /* yacc.c:1646 */ 5954 5327 break; 5955 5328 5956 5329 case 186: 5957 5958 /* Line 1806 of yacc.c */ 5959 #line 844 "parser.yy" 5960 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); } 5330 #line 843 "parser.yy" /* yacc.c:1646 */ 5331 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[-1].tok), BranchStmt::Goto ) ); } 5332 #line 5333 "Parser/parser.cc" /* yacc.c:1646 */ 5961 5333 break; 5962 5334 5963 5335 case 187: 5964 5965 /* Line 1806 of yacc.c */ 5966 #line 848 "parser.yy" 5967 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); } 5336 #line 847 "parser.yy" /* yacc.c:1646 */ 5337 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[-1].en) ) ); } 5338 #line 5339 "Parser/parser.cc" /* yacc.c:1646 */ 5968 5339 break; 5969 5340 5970 5341 case 188: 5971 5972 /* Line 1806 of yacc.c */ 5973 #line 851 "parser.yy" 5342 #line 850 "parser.yy" /* yacc.c:1646 */ 5974 5343 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); } 5344 #line 5345 "Parser/parser.cc" /* yacc.c:1646 */ 5975 5345 break; 5976 5346 5977 5347 case 189: 5978 5979 /* Line 1806 of yacc.c */ 5980 #line 855 "parser.yy" 5981 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); } 5348 #line 854 "parser.yy" /* yacc.c:1646 */ 5349 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[-1].tok), BranchStmt::Continue ) ); } 5350 #line 5351 "Parser/parser.cc" /* yacc.c:1646 */ 5982 5351 break; 5983 5352 5984 5353 case 190: 5985 5986 /* Line 1806 of yacc.c */ 5987 #line 858 "parser.yy" 5354 #line 857 "parser.yy" /* yacc.c:1646 */ 5988 5355 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5356 #line 5357 "Parser/parser.cc" /* yacc.c:1646 */ 5989 5357 break; 5990 5358 5991 5359 case 191: 5992 5993 /* Line 1806 of yacc.c */ 5994 #line 862 "parser.yy" 5995 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); } 5360 #line 861 "parser.yy" /* yacc.c:1646 */ 5361 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[-1].tok), BranchStmt::Break ) ); } 5362 #line 5363 "Parser/parser.cc" /* yacc.c:1646 */ 5996 5363 break; 5997 5364 5998 5365 case 192: 5999 6000 /* Line 1806 of yacc.c */ 6001 #line 864 "parser.yy" 6002 { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); } 5366 #line 863 "parser.yy" /* yacc.c:1646 */ 5367 { (yyval.sn) = new StatementNode( build_return( (yyvsp[-1].en) ) ); } 5368 #line 5369 "Parser/parser.cc" /* yacc.c:1646 */ 6003 5369 break; 6004 5370 6005 5371 case 193: 6006 6007 /* Line 1806 of yacc.c */ 6008 #line 866 "parser.yy" 6009 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 5372 #line 865 "parser.yy" /* yacc.c:1646 */ 5373 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[-1].en) ) ); } 5374 #line 5375 "Parser/parser.cc" /* yacc.c:1646 */ 6010 5375 break; 6011 5376 6012 5377 case 194: 6013 6014 /* Line 1806 of yacc.c */ 6015 #line 868 "parser.yy" 6016 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 5378 #line 867 "parser.yy" /* yacc.c:1646 */ 5379 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[-1].en) ) ); } 5380 #line 5381 "Parser/parser.cc" /* yacc.c:1646 */ 6017 5381 break; 6018 5382 6019 5383 case 195: 6020 6021 /* Line 1806 of yacc.c */ 6022 #line 870 "parser.yy" 6023 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); } 5384 #line 869 "parser.yy" /* yacc.c:1646 */ 5385 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[-3].en) ) ); } 5386 #line 5387 "Parser/parser.cc" /* yacc.c:1646 */ 6024 5387 break; 6025 5388 6026 5389 case 196: 6027 6028 /* Line 1806 of yacc.c */ 6029 #line 875 "parser.yy" 6030 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); } 5390 #line 874 "parser.yy" /* yacc.c:1646 */ 5391 { (yyval.sn) = new StatementNode( build_try( (yyvsp[-1].sn), (yyvsp[0].sn), 0 ) ); } 5392 #line 5393 "Parser/parser.cc" /* yacc.c:1646 */ 6031 5393 break; 6032 5394 6033 5395 case 197: 6034 6035 /* Line 1806 of yacc.c */ 6036 #line 877 "parser.yy" 6037 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); } 5396 #line 876 "parser.yy" /* yacc.c:1646 */ 5397 { (yyval.sn) = new StatementNode( build_try( (yyvsp[-1].sn), 0, (yyvsp[0].sn) ) ); } 5398 #line 5399 "Parser/parser.cc" /* yacc.c:1646 */ 6038 5399 break; 6039 5400 6040 5401 case 198: 6041 6042 /* Line 1806 of yacc.c */ 6043 #line 879 "parser.yy" 6044 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); } 5402 #line 878 "parser.yy" /* yacc.c:1646 */ 5403 { (yyval.sn) = new StatementNode( build_try( (yyvsp[-2].sn), (yyvsp[-1].sn), (yyvsp[0].sn) ) ); } 5404 #line 5405 "Parser/parser.cc" /* yacc.c:1646 */ 6045 5405 break; 6046 5406 6047 5407 case 200: 6048 6049 /* Line 1806 of yacc.c */ 6050 #line 886 "parser.yy" 6051 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 5408 #line 885 "parser.yy" /* yacc.c:1646 */ 5409 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ); } 5410 #line 5411 "Parser/parser.cc" /* yacc.c:1646 */ 6052 5411 break; 6053 5412 6054 5413 case 201: 6055 6056 /* Line 1806 of yacc.c */ 6057 #line 888 "parser.yy" 6058 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 5414 #line 887 "parser.yy" /* yacc.c:1646 */ 5415 { (yyval.sn) = (StatementNode *)(yyvsp[-5].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ) ); } 5416 #line 5417 "Parser/parser.cc" /* yacc.c:1646 */ 6059 5417 break; 6060 5418 6061 5419 case 202: 6062 6063 /* Line 1806 of yacc.c */ 6064 #line 890 "parser.yy" 6065 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 5420 #line 889 "parser.yy" /* yacc.c:1646 */ 5421 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ); } 5422 #line 5423 "Parser/parser.cc" /* yacc.c:1646 */ 6066 5423 break; 6067 5424 6068 5425 case 203: 6069 6070 /* Line 1806 of yacc.c */ 6071 #line 892 "parser.yy" 6072 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 5426 #line 891 "parser.yy" /* yacc.c:1646 */ 5427 { (yyval.sn) = (StatementNode *)(yyvsp[-5].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ) ); } 5428 #line 5429 "Parser/parser.cc" /* yacc.c:1646 */ 6073 5429 break; 6074 5430 6075 5431 case 204: 6076 6077 /* Line 1806 of yacc.c */ 6078 #line 897 "parser.yy" 6079 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 5432 #line 896 "parser.yy" /* yacc.c:1646 */ 5433 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ); } 5434 #line 5435 "Parser/parser.cc" /* yacc.c:1646 */ 6080 5435 break; 6081 5436 6082 5437 case 205: 6083 6084 /* Line 1806 of yacc.c */ 6085 #line 899 "parser.yy" 6086 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 5438 #line 898 "parser.yy" /* yacc.c:1646 */ 5439 { (yyval.sn) = (StatementNode *)(yyvsp[-9].sn)->set_last( new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ) ); } 5440 #line 5441 "Parser/parser.cc" /* yacc.c:1646 */ 6087 5441 break; 6088 5442 6089 5443 case 206: 6090 6091 /* Line 1806 of yacc.c */ 6092 #line 901 "parser.yy" 6093 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 5444 #line 900 "parser.yy" /* yacc.c:1646 */ 5445 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ); } 5446 #line 5447 "Parser/parser.cc" /* yacc.c:1646 */ 6094 5447 break; 6095 5448 6096 5449 case 207: 6097 6098 /* Line 1806 of yacc.c */ 6099 #line 903 "parser.yy" 6100 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 5450 #line 902 "parser.yy" /* yacc.c:1646 */ 5451 { (yyval.sn) = (StatementNode *)(yyvsp[-9].sn)->set_last( new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ) ); } 5452 #line 5453 "Parser/parser.cc" /* yacc.c:1646 */ 6101 5453 break; 6102 5454 6103 5455 case 208: 6104 6105 /* Line 1806 of yacc.c */ 6106 #line 908 "parser.yy" 6107 { 6108 (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) ); 5456 #line 907 "parser.yy" /* yacc.c:1646 */ 5457 { 5458 (yyval.sn) = new StatementNode( build_finally( (yyvsp[0].sn) ) ); 6109 5459 } 5460 #line 5461 "Parser/parser.cc" /* yacc.c:1646 */ 6110 5461 break; 6111 5462 6112 5463 case 210: 6113 6114 /* Line 1806 of yacc.c */ 6115 #line 921 "parser.yy" 5464 #line 920 "parser.yy" /* yacc.c:1646 */ 6116 5465 { 6117 5466 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6118 (yyval.decl) = (yyvsp[ (2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) );5467 (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); 6119 5468 } 5469 #line 5470 "Parser/parser.cc" /* yacc.c:1646 */ 6120 5470 break; 6121 5471 6122 5472 case 211: 6123 6124 /* Line 1806 of yacc.c */ 6125 #line 926 "parser.yy" 6126 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 5473 #line 925 "parser.yy" /* yacc.c:1646 */ 5474 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 5475 #line 5476 "Parser/parser.cc" /* yacc.c:1646 */ 6127 5476 break; 6128 5477 6129 5478 case 212: 6130 6131 /* Line 1806 of yacc.c */ 6132 #line 928 "parser.yy" 5479 #line 927 "parser.yy" /* yacc.c:1646 */ 6133 5480 { 6134 5481 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6135 (yyval.decl) = (yyvsp[ (1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) );5482 (yyval.decl) = (yyvsp[-1].decl)->addName( (yyvsp[0].tok) ); 6136 5483 } 5484 #line 5485 "Parser/parser.cc" /* yacc.c:1646 */ 6137 5485 break; 6138 5486 6139 5487 case 214: 6140 6141 /* Line 1806 of yacc.c */ 6142 #line 937 "parser.yy" 6143 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); } 5488 #line 936 "parser.yy" /* yacc.c:1646 */ 5489 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-4].flag), (yyvsp[-2].constant), 0 ) ); } 5490 #line 5491 "Parser/parser.cc" /* yacc.c:1646 */ 6144 5491 break; 6145 5492 6146 5493 case 215: 6147 6148 /* Line 1806 of yacc.c */ 6149 #line 939 "parser.yy" 6150 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); } 5494 #line 938 "parser.yy" /* yacc.c:1646 */ 5495 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-6].flag), (yyvsp[-4].constant), (yyvsp[-2].en) ) ); } 5496 #line 5497 "Parser/parser.cc" /* yacc.c:1646 */ 6151 5497 break; 6152 5498 6153 5499 case 216: 6154 6155 /* Line 1806 of yacc.c */ 6156 #line 941 "parser.yy" 6157 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); } 5500 #line 940 "parser.yy" /* yacc.c:1646 */ 5501 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-8].flag), (yyvsp[-6].constant), (yyvsp[-4].en), (yyvsp[-2].en) ) ); } 5502 #line 5503 "Parser/parser.cc" /* yacc.c:1646 */ 6158 5503 break; 6159 5504 6160 5505 case 217: 6161 6162 /* Line 1806 of yacc.c */ 6163 #line 943 "parser.yy" 6164 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); } 5506 #line 942 "parser.yy" /* yacc.c:1646 */ 5507 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-10].flag), (yyvsp[-8].constant), (yyvsp[-6].en), (yyvsp[-4].en), (yyvsp[-2].en) ) ); } 5508 #line 5509 "Parser/parser.cc" /* yacc.c:1646 */ 6165 5509 break; 6166 5510 6167 5511 case 218: 6168 6169 /* Line 1806 of yacc.c */ 6170 #line 945 "parser.yy" 6171 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ) ); } 5512 #line 944 "parser.yy" /* yacc.c:1646 */ 5513 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-12].flag), (yyvsp[-9].constant), 0, (yyvsp[-6].en), (yyvsp[-4].en), (yyvsp[-2].label) ) ); } 5514 #line 5515 "Parser/parser.cc" /* yacc.c:1646 */ 6172 5515 break; 6173 5516 6174 5517 case 219: 6175 6176 /* Line 1806 of yacc.c */ 6177 #line 950 "parser.yy" 5518 #line 949 "parser.yy" /* yacc.c:1646 */ 6178 5519 { (yyval.flag) = false; } 5520 #line 5521 "Parser/parser.cc" /* yacc.c:1646 */ 6179 5521 break; 6180 5522 6181 5523 case 220: 6182 6183 /* Line 1806 of yacc.c */ 6184 #line 952 "parser.yy" 5524 #line 951 "parser.yy" /* yacc.c:1646 */ 6185 5525 { (yyval.flag) = true; } 5526 #line 5527 "Parser/parser.cc" /* yacc.c:1646 */ 6186 5527 break; 6187 5528 6188 5529 case 221: 6189 6190 /* Line 1806 of yacc.c */ 6191 #line 957 "parser.yy" 5530 #line 956 "parser.yy" /* yacc.c:1646 */ 6192 5531 { (yyval.en) = 0; } 5532 #line 5533 "Parser/parser.cc" /* yacc.c:1646 */ 6193 5533 break; 6194 5534 6195 5535 case 224: 6196 6197 /* Line 1806 of yacc.c */ 6198 #line 964 "parser.yy" 6199 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5536 #line 963 "parser.yy" /* yacc.c:1646 */ 5537 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( (yyvsp[0].en) ); } 5538 #line 5539 "Parser/parser.cc" /* yacc.c:1646 */ 6200 5539 break; 6201 5540 6202 5541 case 225: 6203 6204 /* Line 1806 of yacc.c */ 6205 #line 969 "parser.yy" 6206 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 5542 #line 968 "parser.yy" /* yacc.c:1646 */ 5543 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[-3].constant), (yyvsp[-1].en) ) ); } 5544 #line 5545 "Parser/parser.cc" /* yacc.c:1646 */ 6207 5545 break; 6208 5546 6209 5547 case 226: 6210 6211 /* Line 1806 of yacc.c */ 6212 #line 971 "parser.yy" 6213 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 5548 #line 970 "parser.yy" /* yacc.c:1646 */ 5549 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[-5].en), (yyvsp[-3].constant), (yyvsp[-1].en) ) ); } 5550 #line 5551 "Parser/parser.cc" /* yacc.c:1646 */ 6214 5551 break; 6215 5552 6216 5553 case 227: 6217 6218 /* Line 1806 of yacc.c */ 6219 #line 976 "parser.yy" 5554 #line 975 "parser.yy" /* yacc.c:1646 */ 6220 5555 { (yyval.en) = 0; } 5556 #line 5557 "Parser/parser.cc" /* yacc.c:1646 */ 6221 5557 break; 6222 5558 6223 5559 case 228: 6224 6225 /* Line 1806 of yacc.c */ 6226 #line 978 "parser.yy" 6227 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 5560 #line 977 "parser.yy" /* yacc.c:1646 */ 5561 { (yyval.en) = new ExpressionNode( (yyvsp[0].constant) ); } 5562 #line 5563 "Parser/parser.cc" /* yacc.c:1646 */ 6228 5563 break; 6229 5564 6230 5565 case 229: 6231 6232 /* Line 1806 of yacc.c */ 6233 #line 980 "parser.yy" 6234 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 5566 #line 979 "parser.yy" /* yacc.c:1646 */ 5567 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( new ExpressionNode( (yyvsp[0].constant) ) ); } 5568 #line 5569 "Parser/parser.cc" /* yacc.c:1646 */ 6235 5569 break; 6236 5570 6237 5571 case 230: 6238 6239 /* Line 1806 of yacc.c */ 6240 #line 985 "parser.yy" 6241 { 6242 (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) ); 6243 delete (yyvsp[(1) - (1)].tok); // allocated by lexer 5572 #line 984 "parser.yy" /* yacc.c:1646 */ 5573 { 5574 (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[0].tok) ); 5575 delete (yyvsp[0].tok); // allocated by lexer 6244 5576 } 5577 #line 5578 "Parser/parser.cc" /* yacc.c:1646 */ 6245 5578 break; 6246 5579 6247 5580 case 231: 6248 6249 /* Line 1806 of yacc.c */ 6250 #line 990 "parser.yy" 6251 { 6252 (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) ); 6253 delete (yyvsp[(3) - (3)].tok); // allocated by lexer 5581 #line 989 "parser.yy" /* yacc.c:1646 */ 5582 { 5583 (yyval.label) = (yyvsp[-2].label); (yyvsp[-2].label)->labels.push_back( *(yyvsp[0].tok) ); 5584 delete (yyvsp[0].tok); // allocated by lexer 6254 5585 } 5586 #line 5587 "Parser/parser.cc" /* yacc.c:1646 */ 6255 5587 break; 6256 5588 6257 5589 case 232: 6258 6259 /* Line 1806 of yacc.c */ 6260 #line 1000 "parser.yy" 5590 #line 999 "parser.yy" /* yacc.c:1646 */ 6261 5591 { (yyval.decl) = 0; } 5592 #line 5593 "Parser/parser.cc" /* yacc.c:1646 */ 6262 5593 break; 6263 5594 6264 5595 case 235: 6265 6266 /* Line 1806 of yacc.c */ 6267 #line 1007 "parser.yy" 6268 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 5596 #line 1006 "parser.yy" /* yacc.c:1646 */ 5597 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ); } 5598 #line 5599 "Parser/parser.cc" /* yacc.c:1646 */ 6269 5599 break; 6270 5600 6271 5601 case 236: 6272 6273 /* Line 1806 of yacc.c */ 6274 #line 1012 "parser.yy" 5602 #line 1011 "parser.yy" /* yacc.c:1646 */ 6275 5603 { (yyval.decl) = 0; } 5604 #line 5605 "Parser/parser.cc" /* yacc.c:1646 */ 6276 5605 break; 6277 5606 6278 5607 case 239: 6279 6280 /* Line 1806 of yacc.c */ 6281 #line 1019 "parser.yy" 6282 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 5608 #line 1018 "parser.yy" /* yacc.c:1646 */ 5609 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ); } 5610 #line 5611 "Parser/parser.cc" /* yacc.c:1646 */ 6283 5611 break; 6284 5612 6285 5613 case 244: 6286 6287 /* Line 1806 of yacc.c */ 6288 #line 1033 "parser.yy" 5614 #line 1032 "parser.yy" /* yacc.c:1646 */ 6289 5615 {} 5616 #line 5617 "Parser/parser.cc" /* yacc.c:1646 */ 6290 5617 break; 6291 5618 6292 5619 case 245: 6293 6294 /* Line 1806 of yacc.c */ 6295 #line 1034 "parser.yy" 5620 #line 1033 "parser.yy" /* yacc.c:1646 */ 6296 5621 {} 5622 #line 5623 "Parser/parser.cc" /* yacc.c:1646 */ 6297 5623 break; 6298 5624 6299 5625 case 253: 6300 6301 /* Line 1806 of yacc.c */ 6302 #line 1063 "parser.yy" 5626 #line 1062 "parser.yy" /* yacc.c:1646 */ 6303 5627 { 6304 5628 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6305 (yyval.decl) = (yyvsp[ (1) - (2)].decl)->addInitializer( (yyvsp[(2) - (2)].in) );5629 (yyval.decl) = (yyvsp[-1].decl)->addInitializer( (yyvsp[0].in) ); 6306 5630 } 5631 #line 5632 "Parser/parser.cc" /* yacc.c:1646 */ 6307 5632 break; 6308 5633 6309 5634 case 254: 6310 6311 /* Line 1806 of yacc.c */ 6312 #line 1070 "parser.yy" 5635 #line 1069 "parser.yy" /* yacc.c:1646 */ 6313 5636 { 6314 5637 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6315 (yyval.decl) = (yyvsp[ (2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].in) );;5638 (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[-2].decl) )->addInitializer( (yyvsp[0].in) );; 6316 5639 } 5640 #line 5641 "Parser/parser.cc" /* yacc.c:1646 */ 6317 5641 break; 6318 5642 6319 5643 case 255: 6320 6321 /* Line 1806 of yacc.c */ 6322 #line 1075 "parser.yy" 6323 { 6324 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); 6325 (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) )->addInitializer( (yyvsp[(6) - (6)].in) ) ); 5644 #line 1074 "parser.yy" /* yacc.c:1646 */ 5645 { 5646 typedefTable.addToEnclosingScope( *(yyvsp[-1].tok), TypedefTable::ID ); 5647 (yyval.decl) = (yyvsp[-5].decl)->appendList( (yyvsp[-5].decl)->cloneType( (yyvsp[-1].tok) )->addInitializer( (yyvsp[0].in) ) ); 6326 5648 } 5649 #line 5650 "Parser/parser.cc" /* yacc.c:1646 */ 6327 5650 break; 6328 5651 6329 5652 case 256: 6330 6331 /* Line 1806 of yacc.c */ 6332 #line 1085 "parser.yy" 6333 { 6334 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); 6335 (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); 5653 #line 1084 "parser.yy" /* yacc.c:1646 */ 5654 { 5655 typedefTable.setNextIdentifier( *(yyvsp[-1].tok) ); 5656 (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) ); 6336 5657 } 5658 #line 5659 "Parser/parser.cc" /* yacc.c:1646 */ 6337 5659 break; 6338 5660 6339 5661 case 257: 6340 6341 /* Line 1806 of yacc.c */ 6342 #line 1090 "parser.yy" 6343 { 6344 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); 6345 (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); 5662 #line 1089 "parser.yy" /* yacc.c:1646 */ 5663 { 5664 typedefTable.setNextIdentifier( *(yyvsp[-1].tok) ); 5665 (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) ); 6346 5666 } 5667 #line 5668 "Parser/parser.cc" /* yacc.c:1646 */ 6347 5668 break; 6348 5669 6349 5670 case 258: 6350 6351 /* Line 1806 of yacc.c */ 6352 #line 1095 "parser.yy" 6353 { 6354 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); 6355 (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addName( (yyvsp[(3) - (4)].tok) ); 5671 #line 1094 "parser.yy" /* yacc.c:1646 */ 5672 { 5673 typedefTable.setNextIdentifier( *(yyvsp[-1].tok) ); 5674 (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-3].decl) )->addName( (yyvsp[-1].tok) ); 6356 5675 } 5676 #line 5677 "Parser/parser.cc" /* yacc.c:1646 */ 6357 5677 break; 6358 5678 6359 5679 case 259: 6360 6361 /* Line 1806 of yacc.c */ 6362 #line 1103 "parser.yy" 5680 #line 1102 "parser.yy" /* yacc.c:1646 */ 6363 5681 { 6364 5682 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6365 (yyval.decl) = (yyvsp[ (1) - (1)].decl);5683 (yyval.decl) = (yyvsp[0].decl); 6366 5684 } 5685 #line 5686 "Parser/parser.cc" /* yacc.c:1646 */ 6367 5686 break; 6368 5687 6369 5688 case 260: 6370 6371 /* Line 1806 of yacc.c */ 6372 #line 1108 "parser.yy" 5689 #line 1107 "parser.yy" /* yacc.c:1646 */ 6373 5690 { 6374 5691 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6375 (yyval.decl) = (yyvsp[ (2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) );5692 (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); 6376 5693 } 5694 #line 5695 "Parser/parser.cc" /* yacc.c:1646 */ 6377 5695 break; 6378 5696 6379 5697 case 261: 6380 6381 /* Line 1806 of yacc.c */ 6382 #line 1113 "parser.yy" 5698 #line 1112 "parser.yy" /* yacc.c:1646 */ 6383 5699 { 6384 5700 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6385 (yyval.decl) = (yyvsp[ (2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) );5701 (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); 6386 5702 } 5703 #line 5704 "Parser/parser.cc" /* yacc.c:1646 */ 6387 5704 break; 6388 5705 6389 5706 case 262: 6390 6391 /* Line 1806 of yacc.c */ 6392 #line 1118 "parser.yy" 5707 #line 1117 "parser.yy" /* yacc.c:1646 */ 6393 5708 { 6394 5709 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6395 (yyval.decl) = (yyvsp[ (3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(2) - (3)].decl) );5710 (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-2].decl) )->addQualifiers( (yyvsp[-1].decl) ); 6396 5711 } 5712 #line 5713 "Parser/parser.cc" /* yacc.c:1646 */ 6397 5713 break; 6398 5714 6399 5715 case 263: 6400 6401 /* Line 1806 of yacc.c */ 6402 #line 1123 "parser.yy" 6403 { 6404 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); 6405 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) ); 5716 #line 1122 "parser.yy" /* yacc.c:1646 */ 5717 { 5718 typedefTable.addToEnclosingScope( *(yyvsp[0].tok), TypedefTable::ID ); 5719 (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[-4].decl)->cloneType( (yyvsp[0].tok) ) ); 6406 5720 } 5721 #line 5722 "Parser/parser.cc" /* yacc.c:1646 */ 6407 5722 break; 6408 5723 6409 5724 case 264: 6410 6411 /* Line 1806 of yacc.c */ 6412 #line 1131 "parser.yy" 6413 { 6414 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); 5725 #line 1130 "parser.yy" /* yacc.c:1646 */ 5726 { 5727 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[-5].tok), DeclarationNode::newTuple( 0 ), (yyvsp[-2].decl), 0, true ); 6415 5728 } 5729 #line 5730 "Parser/parser.cc" /* yacc.c:1646 */ 6416 5730 break; 6417 5731 6418 5732 case 265: 6419 6420 /* Line 1806 of yacc.c */ 6421 #line 1154 "parser.yy" 6422 { 6423 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); 5733 #line 1153 "parser.yy" /* yacc.c:1646 */ 5734 { 5735 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[-5].tok), (yyvsp[-6].decl), (yyvsp[-2].decl), 0, true ); 6424 5736 } 5737 #line 5738 "Parser/parser.cc" /* yacc.c:1646 */ 6425 5738 break; 6426 5739 6427 5740 case 266: 6428 6429 /* Line 1806 of yacc.c */ 6430 #line 1158 "parser.yy" 6431 { 6432 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); 5741 #line 1157 "parser.yy" /* yacc.c:1646 */ 5742 { 5743 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[-5].tok), (yyvsp[-6].decl), (yyvsp[-2].decl), 0, true ); 6433 5744 } 5745 #line 5746 "Parser/parser.cc" /* yacc.c:1646 */ 6434 5746 break; 6435 5747 6436 5748 case 267: 6437 6438 /* Line 1806 of yacc.c */ 6439 #line 1165 "parser.yy" 6440 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 5749 #line 1164 "parser.yy" /* yacc.c:1646 */ 5750 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-2].decl) ); } 5751 #line 5752 "Parser/parser.cc" /* yacc.c:1646 */ 6441 5752 break; 6442 5753 6443 5754 case 268: 6444 6445 /* Line 1806 of yacc.c */ 6446 #line 1169 "parser.yy" 6447 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 5755 #line 1168 "parser.yy" /* yacc.c:1646 */ 5756 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-6].decl)->appendList( (yyvsp[-2].decl) ) ); } 5757 #line 5758 "Parser/parser.cc" /* yacc.c:1646 */ 6448 5758 break; 6449 5759 6450 5760 case 269: 6451 6452 /* Line 1806 of yacc.c */ 6453 #line 1174 "parser.yy" 5761 #line 1173 "parser.yy" /* yacc.c:1646 */ 6454 5762 { 6455 5763 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6456 (yyval.decl) = (yyvsp[ (2) - (2)].decl)->addTypedef();5764 (yyval.decl) = (yyvsp[0].decl)->addTypedef(); 6457 5765 } 5766 #line 5767 "Parser/parser.cc" /* yacc.c:1646 */ 6458 5767 break; 6459 5768 6460 5769 case 270: 6461 6462 /* Line 1806 of yacc.c */ 6463 #line 1179 "parser.yy" 5770 #line 1178 "parser.yy" /* yacc.c:1646 */ 6464 5771 { 6465 5772 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6466 (yyval.decl) = (yyvsp[ (2) - (2)].decl)->addTypedef();5773 (yyval.decl) = (yyvsp[0].decl)->addTypedef(); 6467 5774 } 5775 #line 5776 "Parser/parser.cc" /* yacc.c:1646 */ 6468 5776 break; 6469 5777 6470 5778 case 271: 6471 6472 /* Line 1806 of yacc.c */ 6473 #line 1184 "parser.yy" 6474 { 6475 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); 6476 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) ); 5779 #line 1183 "parser.yy" /* yacc.c:1646 */ 5780 { 5781 typedefTable.addToEnclosingScope( *(yyvsp[0].tok), TypedefTable::TD ); 5782 (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[-4].decl)->cloneType( (yyvsp[0].tok) ) ); 6477 5783 } 5784 #line 5785 "Parser/parser.cc" /* yacc.c:1646 */ 6478 5785 break; 6479 5786 6480 5787 case 272: 6481 6482 /* Line 1806 of yacc.c */ 6483 #line 1195 "parser.yy" 5788 #line 1194 "parser.yy" /* yacc.c:1646 */ 6484 5789 { 6485 5790 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6486 (yyval.decl) = (yyvsp[ (3) - (3)].decl)->addType( (yyvsp[(2) - (3)].decl) )->addTypedef();5791 (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) )->addTypedef(); 6487 5792 } 5793 #line 5794 "Parser/parser.cc" /* yacc.c:1646 */ 6488 5794 break; 6489 5795 6490 5796 case 273: 6491 6492 /* Line 1806 of yacc.c */ 6493 #line 1200 "parser.yy" 5797 #line 1199 "parser.yy" /* yacc.c:1646 */ 6494 5798 { 6495 5799 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6496 (yyval.decl) = (yyvsp[ (1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneBaseType( (yyvsp[(5) - (5)].decl) )->addTypedef() );5800 (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[-4].decl)->cloneBaseType( (yyvsp[0].decl) )->addTypedef() ); 6497 5801 } 5802 #line 5803 "Parser/parser.cc" /* yacc.c:1646 */ 6498 5803 break; 6499 5804 6500 5805 case 274: 6501 6502 /* Line 1806 of yacc.c */ 6503 #line 1205 "parser.yy" 5806 #line 1204 "parser.yy" /* yacc.c:1646 */ 6504 5807 { 6505 5808 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6506 (yyval.decl) = (yyvsp[ (4) - (4)].decl)->addType( (yyvsp[(3) - (4)].decl) )->addQualifiers( (yyvsp[(1) - (4)].decl) )->addTypedef();5809 (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[-3].decl) )->addTypedef(); 6507 5810 } 5811 #line 5812 "Parser/parser.cc" /* yacc.c:1646 */ 6508 5812 break; 6509 5813 6510 5814 case 275: 6511 6512 /* Line 1806 of yacc.c */ 6513 #line 1210 "parser.yy" 5815 #line 1209 "parser.yy" /* yacc.c:1646 */ 6514 5816 { 6515 5817 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6516 (yyval.decl) = (yyvsp[ (3) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addTypedef();5818 (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-2].decl) )->addTypedef(); 6517 5819 } 5820 #line 5821 "Parser/parser.cc" /* yacc.c:1646 */ 6518 5821 break; 6519 5822 6520 5823 case 276: 6521 6522 /* Line 1806 of yacc.c */ 6523 #line 1215 "parser.yy" 5824 #line 1214 "parser.yy" /* yacc.c:1646 */ 6524 5825 { 6525 5826 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6526 (yyval.decl) = (yyvsp[ (4) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addTypedef()->addType( (yyvsp[(1) - (4)].decl) );5827 (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-3].decl) )->addTypedef()->addType( (yyvsp[-3].decl) ); 6527 5828 } 5829 #line 5830 "Parser/parser.cc" /* yacc.c:1646 */ 6528 5830 break; 6529 5831 6530 5832 case 277: 6531 6532 /* Line 1806 of yacc.c */ 6533 #line 1224 "parser.yy" 6534 { 6535 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); 5833 #line 1223 "parser.yy" /* yacc.c:1646 */ 5834 { 5835 typedefTable.addToEnclosingScope( *(yyvsp[-2].tok), TypedefTable::TD ); 6536 5836 (yyval.decl) = DeclarationNode::newName( 0 ); // XXX 6537 5837 } 5838 #line 5839 "Parser/parser.cc" /* yacc.c:1646 */ 6538 5839 break; 6539 5840 6540 5841 case 278: 6541 6542 /* Line 1806 of yacc.c */ 6543 #line 1229 "parser.yy" 6544 { 6545 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); 5842 #line 1228 "parser.yy" /* yacc.c:1646 */ 5843 { 5844 typedefTable.addToEnclosingScope( *(yyvsp[-2].tok), TypedefTable::TD ); 6546 5845 (yyval.decl) = DeclarationNode::newName( 0 ); // XXX 6547 5846 } 5847 #line 5848 "Parser/parser.cc" /* yacc.c:1646 */ 6548 5848 break; 6549 5849 6550 5850 case 283: 6551 6552 /* Line 1806 of yacc.c */ 6553 #line 1246 "parser.yy" 5851 #line 1245 "parser.yy" /* yacc.c:1646 */ 6554 5852 { 6555 5853 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6556 (yyval.decl) = ( (yyvsp[ (2) - (4)].decl)->addType( (yyvsp[(1) - (4)].decl) ))->addInitializer( (yyvsp[(4) - (4)].in) );5854 (yyval.decl) = ( (yyvsp[-2].decl)->addType( (yyvsp[-3].decl) ))->addInitializer( (yyvsp[0].in) ); 6557 5855 } 5856 #line 5857 "Parser/parser.cc" /* yacc.c:1646 */ 6558 5857 break; 6559 5858 6560 5859 case 284: 6561 6562 /* Line 1806 of yacc.c */ 6563 #line 1251 "parser.yy" 5860 #line 1250 "parser.yy" /* yacc.c:1646 */ 6564 5861 { 6565 5862 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6566 (yyval.decl) = (yyvsp[ (1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneBaseType( (yyvsp[(4) - (6)].decl)->addInitializer( (yyvsp[(6) - (6)].in) ) ) );5863 (yyval.decl) = (yyvsp[-5].decl)->appendList( (yyvsp[-5].decl)->cloneBaseType( (yyvsp[-2].decl)->addInitializer( (yyvsp[0].in) ) ) ); 6567 5864 } 5865 #line 5866 "Parser/parser.cc" /* yacc.c:1646 */ 6568 5866 break; 6569 5867 6570 5868 case 293: 6571 6572 /* Line 1806 of yacc.c */ 6573 #line 1273 "parser.yy" 5869 #line 1272 "parser.yy" /* yacc.c:1646 */ 6574 5870 { (yyval.decl) = 0; } 5871 #line 5872 "Parser/parser.cc" /* yacc.c:1646 */ 6575 5872 break; 6576 5873 6577 5874 case 296: 6578 6579 /* Line 1806 of yacc.c */ 6580 #line 1285 "parser.yy" 6581 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 5875 #line 1284 "parser.yy" /* yacc.c:1646 */ 5876 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 5877 #line 5878 "Parser/parser.cc" /* yacc.c:1646 */ 6582 5878 break; 6583 5879 6584 5880 case 299: 6585 6586 /* Line 1806 of yacc.c */ 6587 #line 1296 "parser.yy" 5881 #line 1295 "parser.yy" /* yacc.c:1646 */ 6588 5882 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 5883 #line 5884 "Parser/parser.cc" /* yacc.c:1646 */ 6589 5884 break; 6590 5885 6591 5886 case 300: 6592 6593 /* Line 1806 of yacc.c */ 6594 #line 1298 "parser.yy" 5887 #line 1297 "parser.yy" /* yacc.c:1646 */ 6595 5888 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 5889 #line 5890 "Parser/parser.cc" /* yacc.c:1646 */ 6596 5890 break; 6597 5891 6598 5892 case 301: 6599 6600 /* Line 1806 of yacc.c */ 6601 #line 1300 "parser.yy" 5893 #line 1299 "parser.yy" /* yacc.c:1646 */ 6602 5894 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 5895 #line 5896 "Parser/parser.cc" /* yacc.c:1646 */ 6603 5896 break; 6604 5897 6605 5898 case 302: 6606 6607 /* Line 1806 of yacc.c */ 6608 #line 1302 "parser.yy" 5899 #line 1301 "parser.yy" /* yacc.c:1646 */ 6609 5900 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 5901 #line 5902 "Parser/parser.cc" /* yacc.c:1646 */ 6610 5902 break; 6611 5903 6612 5904 case 303: 6613 6614 /* Line 1806 of yacc.c */ 6615 #line 1304 "parser.yy" 5905 #line 1303 "parser.yy" /* yacc.c:1646 */ 6616 5906 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 5907 #line 5908 "Parser/parser.cc" /* yacc.c:1646 */ 6617 5908 break; 6618 5909 6619 5910 case 304: 6620 6621 /* Line 1806 of yacc.c */ 6622 #line 1306 "parser.yy" 5911 #line 1305 "parser.yy" /* yacc.c:1646 */ 6623 5912 { 6624 5913 typedefTable.enterScope(); 6625 5914 } 5915 #line 5916 "Parser/parser.cc" /* yacc.c:1646 */ 6626 5916 break; 6627 5917 6628 5918 case 305: 6629 6630 /* Line 1806 of yacc.c */ 6631 #line 1310 "parser.yy" 5919 #line 1309 "parser.yy" /* yacc.c:1646 */ 6632 5920 { 6633 5921 typedefTable.leaveScope(); 6634 (yyval.decl) = DeclarationNode::newForall( (yyvsp[ (4) - (5)].decl) );5922 (yyval.decl) = DeclarationNode::newForall( (yyvsp[-1].decl) ); 6635 5923 } 5924 #line 5925 "Parser/parser.cc" /* yacc.c:1646 */ 6636 5925 break; 6637 5926 6638 5927 case 307: 6639 6640 /* Line 1806 of yacc.c */ 6641 #line 1319 "parser.yy" 6642 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 5928 #line 1318 "parser.yy" /* yacc.c:1646 */ 5929 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 5930 #line 5931 "Parser/parser.cc" /* yacc.c:1646 */ 6643 5931 break; 6644 5932 6645 5933 case 308: 6646 6647 /* Line 1806 of yacc.c */ 6648 #line 1321 "parser.yy" 6649 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 5934 #line 1320 "parser.yy" /* yacc.c:1646 */ 5935 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 5936 #line 5937 "Parser/parser.cc" /* yacc.c:1646 */ 6650 5937 break; 6651 5938 6652 5939 case 310: 6653 6654 /* Line 1806 of yacc.c */ 6655 #line 1332 "parser.yy" 6656 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 5940 #line 1331 "parser.yy" /* yacc.c:1646 */ 5941 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 5942 #line 5943 "Parser/parser.cc" /* yacc.c:1646 */ 6657 5943 break; 6658 5944 6659 5945 case 311: 6660 6661 /* Line 1806 of yacc.c */ 6662 #line 1337 "parser.yy" 5946 #line 1336 "parser.yy" /* yacc.c:1646 */ 6663 5947 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 5948 #line 5949 "Parser/parser.cc" /* yacc.c:1646 */ 6664 5949 break; 6665 5950 6666 5951 case 312: 6667 6668 /* Line 1806 of yacc.c */ 6669 #line 1339 "parser.yy" 5952 #line 1338 "parser.yy" /* yacc.c:1646 */ 6670 5953 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 5954 #line 5955 "Parser/parser.cc" /* yacc.c:1646 */ 6671 5955 break; 6672 5956 6673 5957 case 313: 6674 6675 /* Line 1806 of yacc.c */ 6676 #line 1341 "parser.yy" 5958 #line 1340 "parser.yy" /* yacc.c:1646 */ 6677 5959 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 5960 #line 5961 "Parser/parser.cc" /* yacc.c:1646 */ 6678 5961 break; 6679 5962 6680 5963 case 314: 6681 6682 /* Line 1806 of yacc.c */ 6683 #line 1343 "parser.yy" 5964 #line 1342 "parser.yy" /* yacc.c:1646 */ 6684 5965 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 5966 #line 5967 "Parser/parser.cc" /* yacc.c:1646 */ 6685 5967 break; 6686 5968 6687 5969 case 315: 6688 6689 /* Line 1806 of yacc.c */ 6690 #line 1346 "parser.yy" 5970 #line 1345 "parser.yy" /* yacc.c:1646 */ 6691 5971 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; } 5972 #line 5973 "Parser/parser.cc" /* yacc.c:1646 */ 6692 5973 break; 6693 5974 6694 5975 case 316: 6695 6696 /* Line 1806 of yacc.c */ 6697 #line 1348 "parser.yy" 5976 #line 1347 "parser.yy" /* yacc.c:1646 */ 6698 5977 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 5978 #line 5979 "Parser/parser.cc" /* yacc.c:1646 */ 6699 5979 break; 6700 5980 6701 5981 case 317: 6702 6703 /* Line 1806 of yacc.c */ 6704 #line 1351 "parser.yy" 5982 #line 1350 "parser.yy" /* yacc.c:1646 */ 6705 5983 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; } 5984 #line 5985 "Parser/parser.cc" /* yacc.c:1646 */ 6706 5985 break; 6707 5986 6708 5987 case 318: 6709 6710 /* Line 1806 of yacc.c */ 6711 #line 1353 "parser.yy" 5988 #line 1352 "parser.yy" /* yacc.c:1646 */ 6712 5989 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 5990 #line 5991 "Parser/parser.cc" /* yacc.c:1646 */ 6713 5991 break; 6714 5992 6715 5993 case 319: 6716 6717 /* Line 1806 of yacc.c */ 6718 #line 1358 "parser.yy" 5994 #line 1357 "parser.yy" /* yacc.c:1646 */ 6719 5995 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 5996 #line 5997 "Parser/parser.cc" /* yacc.c:1646 */ 6720 5997 break; 6721 5998 6722 5999 case 320: 6723 6724 /* Line 1806 of yacc.c */ 6725 #line 1360 "parser.yy" 6000 #line 1359 "parser.yy" /* yacc.c:1646 */ 6726 6001 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6002 #line 6003 "Parser/parser.cc" /* yacc.c:1646 */ 6727 6003 break; 6728 6004 6729 6005 case 321: 6730 6731 /* Line 1806 of yacc.c */ 6732 #line 1362 "parser.yy" 6006 #line 1361 "parser.yy" /* yacc.c:1646 */ 6733 6007 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6008 #line 6009 "Parser/parser.cc" /* yacc.c:1646 */ 6734 6009 break; 6735 6010 6736 6011 case 322: 6737 6738 /* Line 1806 of yacc.c */ 6739 #line 1364 "parser.yy" 6012 #line 1363 "parser.yy" /* yacc.c:1646 */ 6740 6013 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6014 #line 6015 "Parser/parser.cc" /* yacc.c:1646 */ 6741 6015 break; 6742 6016 6743 6017 case 323: 6744 6745 /* Line 1806 of yacc.c */ 6746 #line 1366 "parser.yy" 6747 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); } 6018 #line 1365 "parser.yy" /* yacc.c:1646 */ 6019 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6020 #line 6021 "Parser/parser.cc" /* yacc.c:1646 */ 6748 6021 break; 6749 6022 6750 6023 case 324: 6751 6752 /* Line 1806 of yacc.c */ 6753 #line 1368 "parser.yy" 6754 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); } 6024 #line 1367 "parser.yy" /* yacc.c:1646 */ 6025 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6026 #line 6027 "Parser/parser.cc" /* yacc.c:1646 */ 6755 6027 break; 6756 6028 6757 6029 case 325: 6758 6759 /* Line 1806 of yacc.c */ 6760 #line 1370 "parser.yy" 6761 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); } 6030 #line 1369 "parser.yy" /* yacc.c:1646 */ 6031 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6032 #line 6033 "Parser/parser.cc" /* yacc.c:1646 */ 6762 6033 break; 6763 6034 6764 6035 case 326: 6765 6766 /* Line 1806 of yacc.c */ 6767 #line 1372 "parser.yy" 6768 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); } 6036 #line 1371 "parser.yy" /* yacc.c:1646 */ 6037 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6038 #line 6039 "Parser/parser.cc" /* yacc.c:1646 */ 6769 6039 break; 6770 6040 6771 6041 case 327: 6772 6773 /* Line 1806 of yacc.c */ 6774 #line 1374 "parser.yy" 6042 #line 1373 "parser.yy" /* yacc.c:1646 */ 6775 6043 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6044 #line 6045 "Parser/parser.cc" /* yacc.c:1646 */ 6776 6045 break; 6777 6046 6778 6047 case 328: 6779 6780 /* Line 1806 of yacc.c */ 6781 #line 1376 "parser.yy" 6048 #line 1375 "parser.yy" /* yacc.c:1646 */ 6782 6049 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6050 #line 6051 "Parser/parser.cc" /* yacc.c:1646 */ 6783 6051 break; 6784 6052 6785 6053 case 329: 6786 6787 /* Line 1806 of yacc.c */ 6788 #line 1378 "parser.yy" 6789 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); } 6054 #line 1377 "parser.yy" /* yacc.c:1646 */ 6055 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6056 #line 6057 "Parser/parser.cc" /* yacc.c:1646 */ 6790 6057 break; 6791 6058 6792 6059 case 330: 6793 6794 /* Line 1806 of yacc.c */ 6795 #line 1380 "parser.yy" 6796 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); } 6060 #line 1379 "parser.yy" /* yacc.c:1646 */ 6061 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6062 #line 6063 "Parser/parser.cc" /* yacc.c:1646 */ 6797 6063 break; 6798 6064 6799 6065 case 331: 6800 6801 /* Line 1806 of yacc.c */ 6802 #line 1382 "parser.yy" 6066 #line 1381 "parser.yy" /* yacc.c:1646 */ 6803 6067 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6068 #line 6069 "Parser/parser.cc" /* yacc.c:1646 */ 6804 6069 break; 6805 6070 6806 6071 case 333: 6807 6808 /* Line 1806 of yacc.c */ 6809 #line 1389 "parser.yy" 6810 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6072 #line 1388 "parser.yy" /* yacc.c:1646 */ 6073 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6074 #line 6075 "Parser/parser.cc" /* yacc.c:1646 */ 6811 6075 break; 6812 6076 6813 6077 case 334: 6814 6815 /* Line 1806 of yacc.c */ 6816 #line 1391 "parser.yy" 6817 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6078 #line 1390 "parser.yy" /* yacc.c:1646 */ 6079 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6080 #line 6081 "Parser/parser.cc" /* yacc.c:1646 */ 6818 6081 break; 6819 6082 6820 6083 case 335: 6821 6822 /* Line 1806 of yacc.c */ 6823 #line 1393 "parser.yy" 6824 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6084 #line 1392 "parser.yy" /* yacc.c:1646 */ 6085 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6086 #line 6087 "Parser/parser.cc" /* yacc.c:1646 */ 6825 6087 break; 6826 6088 6827 6089 case 336: 6828 6829 /* Line 1806 of yacc.c */ 6830 #line 1395 "parser.yy" 6831 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6090 #line 1394 "parser.yy" /* yacc.c:1646 */ 6091 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) )->addType( (yyvsp[-2].decl) ); } 6092 #line 6093 "Parser/parser.cc" /* yacc.c:1646 */ 6832 6093 break; 6833 6094 6834 6095 case 338: 6835 6836 /* Line 1806 of yacc.c */ 6837 #line 1401 "parser.yy" 6838 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6096 #line 1400 "parser.yy" /* yacc.c:1646 */ 6097 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[-2].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6098 #line 6099 "Parser/parser.cc" /* yacc.c:1646 */ 6839 6099 break; 6840 6100 6841 6101 case 340: 6842 6843 /* Line 1806 of yacc.c */ 6844 #line 1408 "parser.yy" 6845 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6102 #line 1407 "parser.yy" /* yacc.c:1646 */ 6103 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6104 #line 6105 "Parser/parser.cc" /* yacc.c:1646 */ 6846 6105 break; 6847 6106 6848 6107 case 341: 6849 6850 /* Line 1806 of yacc.c */ 6851 #line 1410 "parser.yy" 6852 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6108 #line 1409 "parser.yy" /* yacc.c:1646 */ 6109 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6110 #line 6111 "Parser/parser.cc" /* yacc.c:1646 */ 6853 6111 break; 6854 6112 6855 6113 case 342: 6856 6857 /* Line 1806 of yacc.c */ 6858 #line 1412 "parser.yy" 6859 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6114 #line 1411 "parser.yy" /* yacc.c:1646 */ 6115 { (yyval.decl) = (yyvsp[-1].decl)->addType( (yyvsp[0].decl) ); } 6116 #line 6117 "Parser/parser.cc" /* yacc.c:1646 */ 6860 6117 break; 6861 6118 6862 6119 case 343: 6863 6864 /* Line 1806 of yacc.c */ 6865 #line 1417 "parser.yy" 6866 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6120 #line 1416 "parser.yy" /* yacc.c:1646 */ 6121 { (yyval.decl) = (yyvsp[-1].decl); } 6122 #line 6123 "Parser/parser.cc" /* yacc.c:1646 */ 6867 6123 break; 6868 6124 6869 6125 case 344: 6870 6871 /* Line 1806 of yacc.c */ 6872 #line 1419 "parser.yy" 6873 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6126 #line 1418 "parser.yy" /* yacc.c:1646 */ 6127 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[-1].en) ); } 6128 #line 6129 "Parser/parser.cc" /* yacc.c:1646 */ 6874 6129 break; 6875 6130 6876 6131 case 345: 6877 6878 /* Line 1806 of yacc.c */ 6879 #line 1421 "parser.yy" 6880 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6132 #line 1420 "parser.yy" /* yacc.c:1646 */ 6133 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[-3].tok), (yyvsp[-1].decl) ); } 6134 #line 6135 "Parser/parser.cc" /* yacc.c:1646 */ 6881 6135 break; 6882 6136 6883 6137 case 346: 6884 6885 /* Line 1806 of yacc.c */ 6886 #line 1423 "parser.yy" 6887 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6138 #line 1422 "parser.yy" /* yacc.c:1646 */ 6139 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[-3].tok), (yyvsp[-1].en) ); } 6140 #line 6141 "Parser/parser.cc" /* yacc.c:1646 */ 6888 6141 break; 6889 6142 6890 6143 case 348: 6891 6892 /* Line 1806 of yacc.c */ 6893 #line 1429 "parser.yy" 6894 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6144 #line 1428 "parser.yy" /* yacc.c:1646 */ 6145 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6146 #line 6147 "Parser/parser.cc" /* yacc.c:1646 */ 6895 6147 break; 6896 6148 6897 6149 case 349: 6898 6899 /* Line 1806 of yacc.c */ 6900 #line 1431 "parser.yy" 6901 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6150 #line 1430 "parser.yy" /* yacc.c:1646 */ 6151 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6152 #line 6153 "Parser/parser.cc" /* yacc.c:1646 */ 6902 6153 break; 6903 6154 6904 6155 case 350: 6905 6906 /* Line 1806 of yacc.c */ 6907 #line 1433 "parser.yy" 6908 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6156 #line 1432 "parser.yy" /* yacc.c:1646 */ 6157 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6158 #line 6159 "Parser/parser.cc" /* yacc.c:1646 */ 6909 6159 break; 6910 6160 6911 6161 case 352: 6912 6913 /* Line 1806 of yacc.c */ 6914 #line 1439 "parser.yy" 6915 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6162 #line 1438 "parser.yy" /* yacc.c:1646 */ 6163 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6164 #line 6165 "Parser/parser.cc" /* yacc.c:1646 */ 6916 6165 break; 6917 6166 6918 6167 case 353: 6919 6920 /* Line 1806 of yacc.c */ 6921 #line 1441 "parser.yy" 6922 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6168 #line 1440 "parser.yy" /* yacc.c:1646 */ 6169 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6170 #line 6171 "Parser/parser.cc" /* yacc.c:1646 */ 6923 6171 break; 6924 6172 6925 6173 case 355: 6926 6927 /* Line 1806 of yacc.c */ 6928 #line 1447 "parser.yy" 6929 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6174 #line 1446 "parser.yy" /* yacc.c:1646 */ 6175 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6176 #line 6177 "Parser/parser.cc" /* yacc.c:1646 */ 6930 6177 break; 6931 6178 6932 6179 case 356: 6933 6934 /* Line 1806 of yacc.c */ 6935 #line 1449 "parser.yy" 6936 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6180 #line 1448 "parser.yy" /* yacc.c:1646 */ 6181 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6182 #line 6183 "Parser/parser.cc" /* yacc.c:1646 */ 6937 6183 break; 6938 6184 6939 6185 case 357: 6940 6941 /* Line 1806 of yacc.c */ 6942 #line 1451 "parser.yy" 6943 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6186 #line 1450 "parser.yy" /* yacc.c:1646 */ 6187 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6188 #line 6189 "Parser/parser.cc" /* yacc.c:1646 */ 6944 6189 break; 6945 6190 6946 6191 case 358: 6947 6948 /* Line 1806 of yacc.c */ 6949 #line 1456 "parser.yy" 6950 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6192 #line 1455 "parser.yy" /* yacc.c:1646 */ 6193 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[0].tok) ); } 6194 #line 6195 "Parser/parser.cc" /* yacc.c:1646 */ 6951 6195 break; 6952 6196 6953 6197 case 359: 6954 6955 /* Line 1806 of yacc.c */ 6956 #line 1458 "parser.yy" 6957 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6198 #line 1457 "parser.yy" /* yacc.c:1646 */ 6199 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[0].tok) )->addQualifiers( (yyvsp[-1].decl) ); } 6200 #line 6201 "Parser/parser.cc" /* yacc.c:1646 */ 6958 6201 break; 6959 6202 6960 6203 case 360: 6961 6962 /* Line 1806 of yacc.c */ 6963 #line 1460 "parser.yy" 6964 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6204 #line 1459 "parser.yy" /* yacc.c:1646 */ 6205 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6206 #line 6207 "Parser/parser.cc" /* yacc.c:1646 */ 6965 6207 break; 6966 6208 6967 6209 case 363: 6968 6969 /* Line 1806 of yacc.c */ 6970 #line 1470 "parser.yy" 6971 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), nullptr, nullptr, (yyvsp[(3) - (4)].decl), true ); } 6210 #line 1469 "parser.yy" /* yacc.c:1646 */ 6211 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-3].aggKey), 0, 0, (yyvsp[-1].decl), true ); } 6212 #line 6213 "Parser/parser.cc" /* yacc.c:1646 */ 6972 6213 break; 6973 6214 6974 6215 case 364: 6975 6976 /* Line 1806 of yacc.c */ 6977 #line 1472 "parser.yy" 6978 { 6979 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); 6980 (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), nullptr, nullptr, false ); 6216 #line 1471 "parser.yy" /* yacc.c:1646 */ 6217 { 6218 typedefTable.makeTypedef( *(yyvsp[0].tok) ); 6219 (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-1].aggKey), (yyvsp[0].tok), 0, 0, false ); 6981 6220 } 6221 #line 6222 "Parser/parser.cc" /* yacc.c:1646 */ 6982 6222 break; 6983 6223 6984 6224 case 365: 6985 6986 /* Line 1806 of yacc.c */ 6987 #line 1477 "parser.yy" 6988 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6225 #line 1476 "parser.yy" /* yacc.c:1646 */ 6226 { typedefTable.makeTypedef( *(yyvsp[0].tok) ); } 6227 #line 6228 "Parser/parser.cc" /* yacc.c:1646 */ 6989 6228 break; 6990 6229 6991 6230 case 366: 6992 6993 /* Line 1806 of yacc.c */ 6994 #line 1479 "parser.yy" 6995 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), nullptr, (yyvsp[(5) - (6)].decl), true ); } 6231 #line 1478 "parser.yy" /* yacc.c:1646 */ 6232 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-5].aggKey), (yyvsp[-4].tok), 0, (yyvsp[-1].decl), true ); } 6233 #line 6234 "Parser/parser.cc" /* yacc.c:1646 */ 6996 6234 break; 6997 6235 6998 6236 case 367: 6999 7000 /* Line 1806 of yacc.c */ 7001 #line 1481 "parser.yy" 7002 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), nullptr, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 6237 #line 1480 "parser.yy" /* yacc.c:1646 */ 6238 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-6].aggKey), 0, (yyvsp[-4].en), (yyvsp[-1].decl), false ); } 6239 #line 6240 "Parser/parser.cc" /* yacc.c:1646 */ 7003 6240 break; 7004 6241 7005 6242 case 368: 7006 7007 /* Line 1806 of yacc.c */ 7008 #line 1483 "parser.yy" 7009 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 6243 #line 1482 "parser.yy" /* yacc.c:1646 */ 6244 { (yyval.decl) = (yyvsp[0].decl); } 6245 #line 6246 "Parser/parser.cc" /* yacc.c:1646 */ 7010 6246 break; 7011 6247 7012 6248 case 369: 7013 7014 /* Line 1806 of yacc.c */ 7015 #line 1488 "parser.yy" 6249 #line 1487 "parser.yy" /* yacc.c:1646 */ 7016 6250 { (yyval.aggKey) = DeclarationNode::Struct; } 6251 #line 6252 "Parser/parser.cc" /* yacc.c:1646 */ 7017 6252 break; 7018 6253 7019 6254 case 370: 7020 7021 /* Line 1806 of yacc.c */ 7022 #line 1490 "parser.yy" 6255 #line 1489 "parser.yy" /* yacc.c:1646 */ 7023 6256 { (yyval.aggKey) = DeclarationNode::Union; } 6257 #line 6258 "Parser/parser.cc" /* yacc.c:1646 */ 7024 6258 break; 7025 6259 7026 6260 case 371: 7027 7028 /* Line 1806 of yacc.c */ 7029 #line 1495 "parser.yy" 6261 #line 1494 "parser.yy" /* yacc.c:1646 */ 7030 6262 { (yyval.decl) = 0; } 6263 #line 6264 "Parser/parser.cc" /* yacc.c:1646 */ 7031 6264 break; 7032 6265 7033 6266 case 372: 7034 7035 /* Line 1806 of yacc.c */ 7036 #line 1497 "parser.yy" 7037 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 6267 #line 1496 "parser.yy" /* yacc.c:1646 */ 6268 { (yyval.decl) = (yyvsp[-1].decl) != 0 ? (yyvsp[-1].decl)->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6269 #line 6270 "Parser/parser.cc" /* yacc.c:1646 */ 7038 6270 break; 7039 6271 7040 6272 case 374: 7041 7042 /* Line 1806 of yacc.c */ 7043 #line 1503 "parser.yy" 7044 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 6273 #line 1502 "parser.yy" /* yacc.c:1646 */ 6274 { (yyval.decl) = (yyvsp[-1].decl)->set_extension( true ); } 6275 #line 6276 "Parser/parser.cc" /* yacc.c:1646 */ 7045 6276 break; 7046 6277 7047 6278 case 376: 7048 7049 /* Line 1806 of yacc.c */ 7050 #line 1506 "parser.yy" 6279 #line 1505 "parser.yy" /* yacc.c:1646 */ 7051 6280 { // mark all fields in list 7052 for ( DeclarationNode *iter = (yyvsp[ (2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )6281 for ( DeclarationNode *iter = (yyvsp[-1].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) 7053 6282 iter->set_extension( true ); 7054 (yyval.decl) = (yyvsp[ (2) - (3)].decl);6283 (yyval.decl) = (yyvsp[-1].decl); 7055 6284 } 6285 #line 6286 "Parser/parser.cc" /* yacc.c:1646 */ 7056 6286 break; 7057 6287 7058 6288 case 378: 7059 7060 /* Line 1806 of yacc.c */ 7061 #line 1516 "parser.yy" 7062 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 6289 #line 1515 "parser.yy" /* yacc.c:1646 */ 6290 { (yyval.decl) = (yyvsp[-1].decl)->addName( (yyvsp[0].tok) ); } 6291 #line 6292 "Parser/parser.cc" /* yacc.c:1646 */ 7063 6292 break; 7064 6293 7065 6294 case 379: 7066 7067 /* Line 1806 of yacc.c */ 7068 #line 1518 "parser.yy" 7069 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 6295 #line 1517 "parser.yy" /* yacc.c:1646 */ 6296 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[-2].decl)->cloneType( (yyvsp[0].tok) ) ); } 6297 #line 6298 "Parser/parser.cc" /* yacc.c:1646 */ 7070 6298 break; 7071 6299 7072 6300 case 380: 7073 7074 /* Line 1806 of yacc.c */ 7075 #line 1520 "parser.yy" 7076 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 6301 #line 1519 "parser.yy" /* yacc.c:1646 */ 6302 { (yyval.decl) = (yyvsp[-1].decl)->appendList( (yyvsp[-1].decl)->cloneType( 0 ) ); } 6303 #line 6304 "Parser/parser.cc" /* yacc.c:1646 */ 7077 6304 break; 7078 6305 7079 6306 case 381: 7080 7081 /* Line 1806 of yacc.c */ 7082 #line 1525 "parser.yy" 7083 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6307 #line 1524 "parser.yy" /* yacc.c:1646 */ 6308 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6309 #line 6310 "Parser/parser.cc" /* yacc.c:1646 */ 7084 6310 break; 7085 6311 7086 6312 case 382: 7087 7088 /* Line 1806 of yacc.c */ 7089 #line 1527 "parser.yy" 7090 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 6313 #line 1526 "parser.yy" /* yacc.c:1646 */ 6314 { (yyval.decl) = (yyvsp[-3].decl)->appendList( (yyvsp[-3].decl)->cloneBaseType( (yyvsp[0].decl) ) ); } 6315 #line 6316 "Parser/parser.cc" /* yacc.c:1646 */ 7091 6316 break; 7092 6317 7093 6318 case 383: 7094 7095 /* Line 1806 of yacc.c */ 7096 #line 1532 "parser.yy" 6319 #line 1531 "parser.yy" /* yacc.c:1646 */ 7097 6320 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 6321 #line 6322 "Parser/parser.cc" /* yacc.c:1646 */ 7098 6322 break; 7099 6323 7100 6324 case 384: 7101 7102 /* Line 1806 of yacc.c */ 7103 #line 1534 "parser.yy" 7104 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 6325 #line 1533 "parser.yy" /* yacc.c:1646 */ 6326 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[0].en) ); } 6327 #line 6328 "Parser/parser.cc" /* yacc.c:1646 */ 7105 6328 break; 7106 6329 7107 6330 case 385: 7108 7109 /* Line 1806 of yacc.c */ 7110 #line 1537 "parser.yy" 7111 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 6331 #line 1536 "parser.yy" /* yacc.c:1646 */ 6332 { (yyval.decl) = (yyvsp[-1].decl)->addBitfield( (yyvsp[0].en) ); } 6333 #line 6334 "Parser/parser.cc" /* yacc.c:1646 */ 7112 6334 break; 7113 6335 7114 6336 case 386: 7115 7116 /* Line 1806 of yacc.c */ 7117 #line 1540 "parser.yy" 7118 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 6337 #line 1539 "parser.yy" /* yacc.c:1646 */ 6338 { (yyval.decl) = (yyvsp[-1].decl)->addBitfield( (yyvsp[0].en) ); } 6339 #line 6340 "Parser/parser.cc" /* yacc.c:1646 */ 7119 6340 break; 7120 6341 7121 6342 case 388: 7122 7123 /* Line 1806 of yacc.c */ 7124 #line 1546 "parser.yy" 6343 #line 1545 "parser.yy" /* yacc.c:1646 */ 7125 6344 { (yyval.en) = 0; } 6345 #line 6346 "Parser/parser.cc" /* yacc.c:1646 */ 7126 6346 break; 7127 6347 7128 6348 case 389: 7129 7130 /* Line 1806 of yacc.c */ 7131 #line 1548 "parser.yy" 7132 { (yyval.en) = (yyvsp[(1) - (1)].en); } 6349 #line 1547 "parser.yy" /* yacc.c:1646 */ 6350 { (yyval.en) = (yyvsp[0].en); } 6351 #line 6352 "Parser/parser.cc" /* yacc.c:1646 */ 7133 6352 break; 7134 6353 7135 6354 case 390: 7136 7137 /* Line 1806 of yacc.c */ 7138 #line 1553 "parser.yy" 7139 { (yyval.en) = (yyvsp[(2) - (2)].en); } 6355 #line 1552 "parser.yy" /* yacc.c:1646 */ 6356 { (yyval.en) = (yyvsp[0].en); } 6357 #line 6358 "Parser/parser.cc" /* yacc.c:1646 */ 7140 6358 break; 7141 6359 7142 6360 case 392: 7143 7144 /* Line 1806 of yacc.c */ 7145 #line 1562 "parser.yy" 7146 { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(3) - (5)].decl) ); } 6361 #line 1561 "parser.yy" /* yacc.c:1646 */ 6362 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[-2].decl) ); } 6363 #line 6364 "Parser/parser.cc" /* yacc.c:1646 */ 7147 6364 break; 7148 6365 7149 6366 case 393: 7150 7151 /* Line 1806 of yacc.c */ 7152 #line 1564 "parser.yy" 7153 { 7154 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); 7155 (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); 6367 #line 1563 "parser.yy" /* yacc.c:1646 */ 6368 { 6369 typedefTable.makeTypedef( *(yyvsp[0].tok) ); 6370 (yyval.decl) = DeclarationNode::newEnum( (yyvsp[0].tok), 0 ); 7156 6371 } 6372 #line 6373 "Parser/parser.cc" /* yacc.c:1646 */ 7157 6373 break; 7158 6374 7159 6375 case 394: 7160 7161 /* Line 1806 of yacc.c */ 7162 #line 1569 "parser.yy" 7163 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6376 #line 1568 "parser.yy" /* yacc.c:1646 */ 6377 { typedefTable.makeTypedef( *(yyvsp[0].tok) ); } 6378 #line 6379 "Parser/parser.cc" /* yacc.c:1646 */ 7164 6379 break; 7165 6380 7166 6381 case 395: 7167 7168 /* Line 1806 of yacc.c */ 7169 #line 1571 "parser.yy" 7170 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 6382 #line 1570 "parser.yy" /* yacc.c:1646 */ 6383 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[-5].tok), (yyvsp[-2].decl) ); } 6384 #line 6385 "Parser/parser.cc" /* yacc.c:1646 */ 7171 6385 break; 7172 6386 7173 6387 case 396: 7174 7175 /* Line 1806 of yacc.c */ 7176 #line 1576 "parser.yy" 7177 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 6388 #line 1575 "parser.yy" /* yacc.c:1646 */ 6389 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[-1].tok), (yyvsp[0].en) ); } 6390 #line 6391 "Parser/parser.cc" /* yacc.c:1646 */ 7178 6391 break; 7179 6392 7180 6393 case 397: 7181 7182 /* Line 1806 of yacc.c */ 7183 #line 1578 "parser.yy" 7184 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 6394 #line 1577 "parser.yy" /* yacc.c:1646 */ 6395 { (yyval.decl) = (yyvsp[-3].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[-1].tok), (yyvsp[0].en) ) ); } 6396 #line 6397 "Parser/parser.cc" /* yacc.c:1646 */ 7185 6397 break; 7186 6398 7187 6399 case 398: 7188 7189 /* Line 1806 of yacc.c */ 7190 #line 1583 "parser.yy" 6400 #line 1582 "parser.yy" /* yacc.c:1646 */ 7191 6401 { (yyval.en) = 0; } 6402 #line 6403 "Parser/parser.cc" /* yacc.c:1646 */ 7192 6403 break; 7193 6404 7194 6405 case 399: 7195 7196 /* Line 1806 of yacc.c */ 7197 #line 1585 "parser.yy" 7198 { (yyval.en) = (yyvsp[(2) - (2)].en); } 6406 #line 1584 "parser.yy" /* yacc.c:1646 */ 6407 { (yyval.en) = (yyvsp[0].en); } 6408 #line 6409 "Parser/parser.cc" /* yacc.c:1646 */ 7199 6409 break; 7200 6410 7201 6411 case 400: 7202 7203 /* Line 1806 of yacc.c */ 7204 #line 1592 "parser.yy" 6412 #line 1591 "parser.yy" /* yacc.c:1646 */ 7205 6413 { (yyval.decl) = 0; } 6414 #line 6415 "Parser/parser.cc" /* yacc.c:1646 */ 7206 6415 break; 7207 6416 7208 6417 case 404: 7209 7210 /* Line 1806 of yacc.c */ 7211 #line 1600 "parser.yy" 7212 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6418 #line 1599 "parser.yy" /* yacc.c:1646 */ 6419 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6420 #line 6421 "Parser/parser.cc" /* yacc.c:1646 */ 7213 6421 break; 7214 6422 7215 6423 case 405: 7216 7217 /* Line 1806 of yacc.c */ 7218 #line 1602 "parser.yy" 7219 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 6424 #line 1601 "parser.yy" /* yacc.c:1646 */ 6425 { (yyval.decl) = (yyvsp[-4].decl)->addVarArgs(); } 6426 #line 6427 "Parser/parser.cc" /* yacc.c:1646 */ 7220 6427 break; 7221 6428 7222 6429 case 406: 7223 7224 /* Line 1806 of yacc.c */ 7225 #line 1604 "parser.yy" 7226 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 6430 #line 1603 "parser.yy" /* yacc.c:1646 */ 6431 { (yyval.decl) = (yyvsp[-4].decl)->addVarArgs(); } 6432 #line 6433 "Parser/parser.cc" /* yacc.c:1646 */ 7227 6433 break; 7228 6434 7229 6435 case 408: 7230 7231 /* Line 1806 of yacc.c */ 7232 #line 1612 "parser.yy" 7233 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6436 #line 1611 "parser.yy" /* yacc.c:1646 */ 6437 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6438 #line 6439 "Parser/parser.cc" /* yacc.c:1646 */ 7234 6439 break; 7235 6440 7236 6441 case 409: 7237 7238 /* Line 1806 of yacc.c */ 7239 #line 1614 "parser.yy" 7240 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6442 #line 1613 "parser.yy" /* yacc.c:1646 */ 6443 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6444 #line 6445 "Parser/parser.cc" /* yacc.c:1646 */ 7241 6445 break; 7242 6446 7243 6447 case 410: 7244 7245 /* Line 1806 of yacc.c */ 7246 #line 1616 "parser.yy" 7247 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 6448 #line 1615 "parser.yy" /* yacc.c:1646 */ 6449 { (yyval.decl) = (yyvsp[-8].decl)->appendList( (yyvsp[-4].decl) )->appendList( (yyvsp[0].decl) ); } 6450 #line 6451 "Parser/parser.cc" /* yacc.c:1646 */ 7248 6451 break; 7249 6452 7250 6453 case 412: 7251 7252 /* Line 1806 of yacc.c */ 7253 #line 1622 "parser.yy" 7254 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6454 #line 1621 "parser.yy" /* yacc.c:1646 */ 6455 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6456 #line 6457 "Parser/parser.cc" /* yacc.c:1646 */ 7255 6457 break; 7256 6458 7257 6459 case 413: 7258 7259 /* Line 1806 of yacc.c */ 7260 #line 1627 "parser.yy" 6460 #line 1626 "parser.yy" /* yacc.c:1646 */ 7261 6461 { (yyval.decl) = 0; } 6462 #line 6463 "Parser/parser.cc" /* yacc.c:1646 */ 7262 6463 break; 7263 6464 7264 6465 case 416: 7265 7266 /* Line 1806 of yacc.c */ 7267 #line 1634 "parser.yy" 7268 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 6466 #line 1633 "parser.yy" /* yacc.c:1646 */ 6467 { (yyval.decl) = (yyvsp[-4].decl)->addVarArgs(); } 6468 #line 6469 "Parser/parser.cc" /* yacc.c:1646 */ 7269 6469 break; 7270 6470 7271 6471 case 419: 7272 7273 /* Line 1806 of yacc.c */ 7274 #line 1641 "parser.yy" 7275 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6472 #line 1640 "parser.yy" /* yacc.c:1646 */ 6473 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6474 #line 6475 "Parser/parser.cc" /* yacc.c:1646 */ 7276 6475 break; 7277 6476 7278 6477 case 420: 7279 7280 /* Line 1806 of yacc.c */ 7281 #line 1643 "parser.yy" 7282 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6478 #line 1642 "parser.yy" /* yacc.c:1646 */ 6479 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6480 #line 6481 "Parser/parser.cc" /* yacc.c:1646 */ 7283 6481 break; 7284 6482 7285 6483 case 422: 7286 7287 /* Line 1806 of yacc.c */ 7288 #line 1652 "parser.yy" 7289 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 6484 #line 1651 "parser.yy" /* yacc.c:1646 */ 6485 { (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) ); } 6486 #line 6487 "Parser/parser.cc" /* yacc.c:1646 */ 7290 6487 break; 7291 6488 7292 6489 case 423: 7293 7294 /* Line 1806 of yacc.c */ 7295 #line 1655 "parser.yy" 7296 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 6490 #line 1654 "parser.yy" /* yacc.c:1646 */ 6491 { (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) ); } 6492 #line 6493 "Parser/parser.cc" /* yacc.c:1646 */ 7297 6493 break; 7298 6494 7299 6495 case 424: 7300 7301 /* Line 1806 of yacc.c */ 7302 #line 1657 "parser.yy" 7303 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 6496 #line 1656 "parser.yy" /* yacc.c:1646 */ 6497 { (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) )->addQualifiers( (yyvsp[-3].decl) ); } 6498 #line 6499 "Parser/parser.cc" /* yacc.c:1646 */ 7304 6499 break; 7305 6500 7306 6501 case 429: 7307 7308 /* Line 1806 of yacc.c */ 7309 #line 1667 "parser.yy" 7310 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6502 #line 1666 "parser.yy" /* yacc.c:1646 */ 6503 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6504 #line 6505 "Parser/parser.cc" /* yacc.c:1646 */ 7311 6505 break; 7312 6506 7313 6507 case 431: 7314 7315 /* Line 1806 of yacc.c */ 7316 #line 1673 "parser.yy" 6508 #line 1672 "parser.yy" /* yacc.c:1646 */ 7317 6509 { 7318 6510 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7319 (yyval.decl) = (yyvsp[ (2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) );6511 (yyval.decl) = (yyvsp[-1].decl)->addType( (yyvsp[-2].decl) )->addInitializer( new InitializerNode( (yyvsp[0].en) ) ); 7320 6512 } 6513 #line 6514 "Parser/parser.cc" /* yacc.c:1646 */ 7321 6514 break; 7322 6515 7323 6516 case 432: 7324 7325 /* Line 1806 of yacc.c */ 7326 #line 1678 "parser.yy" 6517 #line 1677 "parser.yy" /* yacc.c:1646 */ 7327 6518 { 7328 6519 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7329 (yyval.decl) = (yyvsp[ (2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) );6520 (yyval.decl) = (yyvsp[-1].decl)->addType( (yyvsp[-2].decl) )->addInitializer( new InitializerNode( (yyvsp[0].en) ) ); 7330 6521 } 6522 #line 6523 "Parser/parser.cc" /* yacc.c:1646 */ 7331 6523 break; 7332 6524 7333 6525 case 434: 7334 7335 /* Line 1806 of yacc.c */ 7336 #line 1687 "parser.yy" 7337 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6526 #line 1686 "parser.yy" /* yacc.c:1646 */ 6527 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6528 #line 6529 "Parser/parser.cc" /* yacc.c:1646 */ 7338 6529 break; 7339 6530 7340 6531 case 435: 7341 7342 /* Line 1806 of yacc.c */ 7343 #line 1696 "parser.yy" 7344 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 6532 #line 1695 "parser.yy" /* yacc.c:1646 */ 6533 { (yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) ); } 6534 #line 6535 "Parser/parser.cc" /* yacc.c:1646 */ 7345 6535 break; 7346 6536 7347 6537 case 436: 7348 7349 /* Line 1806 of yacc.c */ 7350 #line 1698 "parser.yy" 7351 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 6538 #line 1697 "parser.yy" /* yacc.c:1646 */ 6539 { (yyval.decl) = (yyvsp[-2].decl)->appendList( DeclarationNode::newName( (yyvsp[0].tok) ) ); } 6540 #line 6541 "Parser/parser.cc" /* yacc.c:1646 */ 7352 6541 break; 7353 6542 7354 6543 case 448: 7355 7356 /* Line 1806 of yacc.c */ 7357 #line 1723 "parser.yy" 7358 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6544 #line 1722 "parser.yy" /* yacc.c:1646 */ 6545 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6546 #line 6547 "Parser/parser.cc" /* yacc.c:1646 */ 7359 6547 break; 7360 6548 7361 6549 case 452: 7362 7363 /* Line 1806 of yacc.c */ 7364 #line 1731 "parser.yy" 7365 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6550 #line 1730 "parser.yy" /* yacc.c:1646 */ 6551 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6552 #line 6553 "Parser/parser.cc" /* yacc.c:1646 */ 7366 6553 break; 7367 6554 7368 6555 case 453: 7369 7370 /* Line 1806 of yacc.c */ 7371 #line 1736 "parser.yy" 6556 #line 1735 "parser.yy" /* yacc.c:1646 */ 7372 6557 { (yyval.in) = 0; } 6558 #line 6559 "Parser/parser.cc" /* yacc.c:1646 */ 7373 6559 break; 7374 6560 7375 6561 case 454: 7376 7377 /* Line 1806 of yacc.c */ 7378 #line 1738 "parser.yy" 7379 { (yyval.in) = (yyvsp[(2) - (2)].in); } 6562 #line 1737 "parser.yy" /* yacc.c:1646 */ 6563 { (yyval.in) = (yyvsp[0].in); } 6564 #line 6565 "Parser/parser.cc" /* yacc.c:1646 */ 7380 6565 break; 7381 6566 7382 6567 case 455: 7383 7384 /* Line 1806 of yacc.c */ 7385 #line 1740 "parser.yy" 7386 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 6568 #line 1739 "parser.yy" /* yacc.c:1646 */ 6569 { (yyval.in) = (yyvsp[0].in)->set_maybeConstructed( false ); } 6570 #line 6571 "Parser/parser.cc" /* yacc.c:1646 */ 7387 6571 break; 7388 6572 7389 6573 case 456: 7390 7391 /* Line 1806 of yacc.c */ 7392 #line 1744 "parser.yy" 7393 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 6574 #line 1743 "parser.yy" /* yacc.c:1646 */ 6575 { (yyval.in) = new InitializerNode( (yyvsp[0].en) ); } 6576 #line 6577 "Parser/parser.cc" /* yacc.c:1646 */ 7394 6577 break; 7395 6578 7396 6579 case 457: 7397 7398 /* Line 1806 of yacc.c */ 7399 #line 1745 "parser.yy" 7400 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 6580 #line 1744 "parser.yy" /* yacc.c:1646 */ 6581 { (yyval.in) = new InitializerNode( (yyvsp[-2].in), true ); } 6582 #line 6583 "Parser/parser.cc" /* yacc.c:1646 */ 7401 6583 break; 7402 6584 7403 6585 case 458: 7404 7405 /* Line 1806 of yacc.c */ 7406 #line 1750 "parser.yy" 6586 #line 1749 "parser.yy" /* yacc.c:1646 */ 7407 6587 { (yyval.in) = 0; } 6588 #line 6589 "Parser/parser.cc" /* yacc.c:1646 */ 7408 6589 break; 7409 6590 7410 6591 case 460: 7411 7412 /* Line 1806 of yacc.c */ 7413 #line 1752 "parser.yy" 7414 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 6592 #line 1751 "parser.yy" /* yacc.c:1646 */ 6593 { (yyval.in) = (yyvsp[0].in)->set_designators( (yyvsp[-1].en) ); } 6594 #line 6595 "Parser/parser.cc" /* yacc.c:1646 */ 7415 6595 break; 7416 6596 7417 6597 case 461: 7418 7419 /* Line 1806 of yacc.c */ 7420 #line 1753 "parser.yy" 7421 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); } 6598 #line 1752 "parser.yy" /* yacc.c:1646 */ 6599 { (yyval.in) = (InitializerNode *)( (yyvsp[-2].in)->set_last( (yyvsp[0].in) ) ); } 6600 #line 6601 "Parser/parser.cc" /* yacc.c:1646 */ 7422 6601 break; 7423 6602 7424 6603 case 462: 7425 7426 /* Line 1806 of yacc.c */ 7427 #line 1755 "parser.yy" 7428 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 6604 #line 1754 "parser.yy" /* yacc.c:1646 */ 6605 { (yyval.in) = (InitializerNode *)( (yyvsp[-3].in)->set_last( (yyvsp[0].in)->set_designators( (yyvsp[-1].en) ) ) ); } 6606 #line 6607 "Parser/parser.cc" /* yacc.c:1646 */ 7429 6607 break; 7430 6608 7431 6609 case 464: 7432 7433 /* Line 1806 of yacc.c */ 7434 #line 1771 "parser.yy" 7435 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 6610 #line 1770 "parser.yy" /* yacc.c:1646 */ 6611 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[-1].tok) ) ); } 6612 #line 6613 "Parser/parser.cc" /* yacc.c:1646 */ 7436 6613 break; 7437 6614 7438 6615 case 466: 7439 7440 /* Line 1806 of yacc.c */ 7441 #line 1777 "parser.yy" 7442 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); } 6616 #line 1776 "parser.yy" /* yacc.c:1646 */ 6617 { (yyval.en) = (ExpressionNode *)( (yyvsp[-1].en)->set_last( (yyvsp[0].en) ) ); } 6618 #line 6619 "Parser/parser.cc" /* yacc.c:1646 */ 7443 6619 break; 7444 6620 7445 6621 case 467: 7446 7447 /* Line 1806 of yacc.c */ 7448 #line 1783 "parser.yy" 7449 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 6622 #line 1782 "parser.yy" /* yacc.c:1646 */ 6623 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 6624 #line 6625 "Parser/parser.cc" /* yacc.c:1646 */ 7450 6625 break; 7451 6626 7452 6627 case 468: 7453 7454 /* Line 1806 of yacc.c */ 7455 #line 1786 "parser.yy" 7456 { (yyval.en) = (yyvsp[(3) - (5)].en); } 6628 #line 1785 "parser.yy" /* yacc.c:1646 */ 6629 { (yyval.en) = (yyvsp[-2].en); } 6630 #line 6631 "Parser/parser.cc" /* yacc.c:1646 */ 7457 6631 break; 7458 6632 7459 6633 case 469: 7460 7461 /* Line 1806 of yacc.c */ 7462 #line 1788 "parser.yy" 7463 { (yyval.en) = (yyvsp[(3) - (5)].en); } 6634 #line 1787 "parser.yy" /* yacc.c:1646 */ 6635 { (yyval.en) = (yyvsp[-2].en); } 6636 #line 6637 "Parser/parser.cc" /* yacc.c:1646 */ 7464 6637 break; 7465 6638 7466 6639 case 470: 7467 7468 /* Line 1806 of yacc.c */ 7469 #line 1790 "parser.yy" 7470 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 6640 #line 1789 "parser.yy" /* yacc.c:1646 */ 6641 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[-4].en), (yyvsp[-2].en) ) ); } 6642 #line 6643 "Parser/parser.cc" /* yacc.c:1646 */ 7471 6643 break; 7472 6644 7473 6645 case 471: 7474 7475 /* Line 1806 of yacc.c */ 7476 #line 1792 "parser.yy" 7477 { (yyval.en) = (yyvsp[(4) - (6)].en); } 6646 #line 1791 "parser.yy" /* yacc.c:1646 */ 6647 { (yyval.en) = (yyvsp[-2].en); } 6648 #line 6649 "Parser/parser.cc" /* yacc.c:1646 */ 7478 6649 break; 7479 6650 7480 6651 case 473: 7481 7482 /* Line 1806 of yacc.c */ 7483 #line 1816 "parser.yy" 7484 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6652 #line 1815 "parser.yy" /* yacc.c:1646 */ 6653 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6654 #line 6655 "Parser/parser.cc" /* yacc.c:1646 */ 7485 6655 break; 7486 6656 7487 6657 case 474: 7488 7489 /* Line 1806 of yacc.c */ 7490 #line 1818 "parser.yy" 7491 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6658 #line 1817 "parser.yy" /* yacc.c:1646 */ 6659 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6660 #line 6661 "Parser/parser.cc" /* yacc.c:1646 */ 7492 6661 break; 7493 6662 7494 6663 case 475: 7495 7496 /* Line 1806 of yacc.c */ 7497 #line 1820 "parser.yy" 7498 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6664 #line 1819 "parser.yy" /* yacc.c:1646 */ 6665 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6666 #line 6667 "Parser/parser.cc" /* yacc.c:1646 */ 7499 6667 break; 7500 6668 7501 6669 case 477: 7502 7503 /* Line 1806 of yacc.c */ 7504 #line 1826 "parser.yy" 7505 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6670 #line 1825 "parser.yy" /* yacc.c:1646 */ 6671 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6672 #line 6673 "Parser/parser.cc" /* yacc.c:1646 */ 7506 6673 break; 7507 6674 7508 6675 case 478: 7509 7510 /* Line 1806 of yacc.c */ 7511 #line 1828 "parser.yy" 7512 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6676 #line 1827 "parser.yy" /* yacc.c:1646 */ 6677 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6678 #line 6679 "Parser/parser.cc" /* yacc.c:1646 */ 7513 6679 break; 7514 6680 7515 6681 case 479: 7516 7517 /* Line 1806 of yacc.c */ 7518 #line 1833 "parser.yy" 7519 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6682 #line 1832 "parser.yy" /* yacc.c:1646 */ 6683 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[-3].tok), (yyvsp[-1].en) ); } 6684 #line 6685 "Parser/parser.cc" /* yacc.c:1646 */ 7520 6685 break; 7521 6686 7522 6687 case 481: 7523 7524 /* Line 1806 of yacc.c */ 7525 #line 1839 "parser.yy" 7526 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 6688 #line 1838 "parser.yy" /* yacc.c:1646 */ 6689 { (yyval.decl) = (yyvsp[-3].decl)->appendList( (yyvsp[-1].decl) ); } 6690 #line 6691 "Parser/parser.cc" /* yacc.c:1646 */ 7527 6691 break; 7528 6692 7529 6693 case 482: 7530 7531 /* Line 1806 of yacc.c */ 7532 #line 1844 "parser.yy" 7533 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 6694 #line 1843 "parser.yy" /* yacc.c:1646 */ 6695 { typedefTable.addToEnclosingScope( *(yyvsp[0].tok), TypedefTable::TD ); } 6696 #line 6697 "Parser/parser.cc" /* yacc.c:1646 */ 7534 6697 break; 7535 6698 7536 6699 case 483: 7537 7538 /* Line 1806 of yacc.c */ 7539 #line 1846 "parser.yy" 7540 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 6700 #line 1845 "parser.yy" /* yacc.c:1646 */ 6701 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[-3].tclass), (yyvsp[-2].tok) )->addAssertions( (yyvsp[0].decl) ); } 6702 #line 6703 "Parser/parser.cc" /* yacc.c:1646 */ 7541 6703 break; 7542 6704 7543 6705 case 485: 7544 7545 /* Line 1806 of yacc.c */ 7546 #line 1852 "parser.yy" 7547 { (yyval.tclass) = DeclarationNode::Otype; } 6706 #line 1851 "parser.yy" /* yacc.c:1646 */ 6707 { (yyval.tclass) = DeclarationNode::Type; } 6708 #line 6709 "Parser/parser.cc" /* yacc.c:1646 */ 7548 6709 break; 7549 6710 7550 6711 case 486: 7551 7552 /* Line 1806 of yacc.c */ 7553 #line 1854 "parser.yy" 6712 #line 1853 "parser.yy" /* yacc.c:1646 */ 7554 6713 { (yyval.tclass) = DeclarationNode::Ftype; } 6714 #line 6715 "Parser/parser.cc" /* yacc.c:1646 */ 7555 6715 break; 7556 6716 7557 6717 case 487: 7558 7559 /* Line 1806 of yacc.c */ 7560 #line 1856 "parser.yy" 6718 #line 1855 "parser.yy" /* yacc.c:1646 */ 7561 6719 { (yyval.tclass) = DeclarationNode::Dtype; } 6720 #line 6721 "Parser/parser.cc" /* yacc.c:1646 */ 7562 6721 break; 7563 6722 7564 6723 case 488: 7565 7566 /* Line 1806 of yacc.c */ 7567 #line 1861 "parser.yy" 6724 #line 1860 "parser.yy" /* yacc.c:1646 */ 7568 6725 { (yyval.decl) = 0; } 6726 #line 6727 "Parser/parser.cc" /* yacc.c:1646 */ 7569 6727 break; 7570 6728 7571 6729 case 489: 7572 7573 /* Line 1806 of yacc.c */ 7574 #line 1863 "parser.yy" 7575 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 6730 #line 1862 "parser.yy" /* yacc.c:1646 */ 6731 { (yyval.decl) = (yyvsp[-1].decl) != 0 ? (yyvsp[-1].decl)->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6732 #line 6733 "Parser/parser.cc" /* yacc.c:1646 */ 7576 6733 break; 7577 6734 7578 6735 case 490: 7579 7580 /* Line 1806 of yacc.c */ 7581 #line 1868 "parser.yy" 7582 { 7583 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); 7584 (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) ); 6736 #line 1867 "parser.yy" /* yacc.c:1646 */ 6737 { 6738 typedefTable.openTrait( *(yyvsp[-3].tok) ); 6739 (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[-3].tok), (yyvsp[-1].en) ); 7585 6740 } 6741 #line 6742 "Parser/parser.cc" /* yacc.c:1646 */ 7586 6742 break; 7587 6743 7588 6744 case 491: 7589 7590 /* Line 1806 of yacc.c */ 7591 #line 1873 "parser.yy" 7592 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 6745 #line 1872 "parser.yy" /* yacc.c:1646 */ 6746 { (yyval.decl) = (yyvsp[-1].decl); } 6747 #line 6748 "Parser/parser.cc" /* yacc.c:1646 */ 7593 6748 break; 7594 6749 7595 6750 case 492: 7596 7597 /* Line 1806 of yacc.c */ 7598 #line 1875 "parser.yy" 6751 #line 1874 "parser.yy" /* yacc.c:1646 */ 7599 6752 { (yyval.decl) = 0; } 6753 #line 6754 "Parser/parser.cc" /* yacc.c:1646 */ 7600 6754 break; 7601 6755 7602 6756 case 493: 7603 7604 /* Line 1806 of yacc.c */ 7605 #line 1880 "parser.yy" 7606 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 6757 #line 1879 "parser.yy" /* yacc.c:1646 */ 6758 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[0].decl) ) ); } 6759 #line 6760 "Parser/parser.cc" /* yacc.c:1646 */ 7607 6760 break; 7608 6761 7609 6762 case 495: 7610 7611 /* Line 1806 of yacc.c */ 7612 #line 1883 "parser.yy" 7613 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 6763 #line 1882 "parser.yy" /* yacc.c:1646 */ 6764 { (yyval.en) = (ExpressionNode *)( (yyvsp[-2].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[0].decl) ) ) ) ); } 6765 #line 6766 "Parser/parser.cc" /* yacc.c:1646 */ 7614 6766 break; 7615 6767 7616 6768 case 496: 7617 7618 /* Line 1806 of yacc.c */ 7619 #line 1885 "parser.yy" 7620 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 6769 #line 1884 "parser.yy" /* yacc.c:1646 */ 6770 { (yyval.en) = (ExpressionNode *)( (yyvsp[-2].en)->set_last( (yyvsp[0].en) )); } 6771 #line 6772 "Parser/parser.cc" /* yacc.c:1646 */ 7621 6772 break; 7622 6773 7623 6774 case 497: 7624 7625 /* Line 1806 of yacc.c */ 7626 #line 1890 "parser.yy" 7627 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 6775 #line 1889 "parser.yy" /* yacc.c:1646 */ 6776 { (yyval.decl) = (yyvsp[0].decl); } 6777 #line 6778 "Parser/parser.cc" /* yacc.c:1646 */ 7628 6778 break; 7629 6779 7630 6780 case 498: 7631 7632 /* Line 1806 of yacc.c */ 7633 #line 1892 "parser.yy" 7634 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 6781 #line 1891 "parser.yy" /* yacc.c:1646 */ 6782 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-2].decl) ); } 6783 #line 6784 "Parser/parser.cc" /* yacc.c:1646 */ 7635 6784 break; 7636 6785 7637 6786 case 499: 7638 7639 /* Line 1806 of yacc.c */ 7640 #line 1894 "parser.yy" 7641 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 6787 #line 1893 "parser.yy" /* yacc.c:1646 */ 6788 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl)->copyStorageClasses( (yyvsp[-2].decl) ) ); } 6789 #line 6790 "Parser/parser.cc" /* yacc.c:1646 */ 7642 6790 break; 7643 6791 7644 6792 case 500: 7645 7646 /* Line 1806 of yacc.c */ 7647 #line 1899 "parser.yy" 7648 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 6793 #line 1898 "parser.yy" /* yacc.c:1646 */ 6794 { (yyval.decl) = (yyvsp[-1].decl)->addAssertions( (yyvsp[0].decl) ); } 6795 #line 6796 "Parser/parser.cc" /* yacc.c:1646 */ 7649 6796 break; 7650 6797 7651 6798 case 501: 7652 7653 /* Line 1806 of yacc.c */ 7654 #line 1901 "parser.yy" 7655 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 6799 #line 1900 "parser.yy" /* yacc.c:1646 */ 6800 { (yyval.decl) = (yyvsp[-3].decl)->addAssertions( (yyvsp[-2].decl) )->addType( (yyvsp[0].decl) ); } 6801 #line 6802 "Parser/parser.cc" /* yacc.c:1646 */ 7656 6802 break; 7657 6803 7658 6804 case 502: 7659 7660 /* Line 1806 of yacc.c */ 7661 #line 1906 "parser.yy" 7662 { 7663 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); 7664 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[(1) - (1)].tok), 0 ); 6805 #line 1905 "parser.yy" /* yacc.c:1646 */ 6806 { 6807 typedefTable.addToEnclosingScope( *(yyvsp[0].tok), TypedefTable::TD ); 6808 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[0].tok), 0 ); 7665 6809 } 6810 #line 6811 "Parser/parser.cc" /* yacc.c:1646 */ 7666 6811 break; 7667 6812 7668 6813 case 503: 7669 7670 /* Line 1806 of yacc.c */ 7671 #line 1911 "parser.yy" 7672 { 7673 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); 7674 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[(1) - (6)].tok), (yyvsp[(4) - (6)].decl) ); 6814 #line 1910 "parser.yy" /* yacc.c:1646 */ 6815 { 6816 typedefTable.addToEnclosingScope( *(yyvsp[-5].tok), TypedefTable::TG ); 6817 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[-5].tok), (yyvsp[-2].decl) ); 7675 6818 } 6819 #line 6820 "Parser/parser.cc" /* yacc.c:1646 */ 7676 6820 break; 7677 6821 7678 6822 case 504: 7679 7680 /* Line 1806 of yacc.c */ 7681 #line 1919 "parser.yy" 7682 { 7683 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); 7684 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 ); 6823 #line 1918 "parser.yy" /* yacc.c:1646 */ 6824 { 6825 typedefTable.addToEnclosingScope( *(yyvsp[-7].tok), TypedefTable::ID ); 6826 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[-7].tok), (yyvsp[-4].decl), 0 ); 7685 6827 } 6828 #line 6829 "Parser/parser.cc" /* yacc.c:1646 */ 7686 6829 break; 7687 6830 7688 6831 case 505: 7689 7690 /* Line 1806 of yacc.c */ 7691 #line 1924 "parser.yy" 7692 { 7693 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); 6832 #line 1923 "parser.yy" /* yacc.c:1646 */ 6833 { 6834 typedefTable.enterTrait( *(yyvsp[-6].tok) ); 7694 6835 typedefTable.enterScope(); 7695 6836 } 6837 #line 6838 "Parser/parser.cc" /* yacc.c:1646 */ 7696 6838 break; 7697 6839 7698 6840 case 506: 7699 7700 /* Line 1806 of yacc.c */ 7701 #line 1929 "parser.yy" 6841 #line 1928 "parser.yy" /* yacc.c:1646 */ 7702 6842 { 7703 6843 typedefTable.leaveTrait(); 7704 typedefTable.addToEnclosingScope( *(yyvsp[ (2) - (11)].tok), TypedefTable::ID );7705 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[ (2) - (11)].tok), (yyvsp[(5) - (11)].decl), (yyvsp[(10) - (11)].decl) );6844 typedefTable.addToEnclosingScope( *(yyvsp[-9].tok), TypedefTable::ID ); 6845 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[-9].tok), (yyvsp[-6].decl), (yyvsp[-1].decl) ); 7706 6846 } 6847 #line 6848 "Parser/parser.cc" /* yacc.c:1646 */ 7707 6848 break; 7708 6849 7709 6850 case 508: 7710 7711 /* Line 1806 of yacc.c */ 7712 #line 1939 "parser.yy" 7713 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6851 #line 1938 "parser.yy" /* yacc.c:1646 */ 6852 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ); } 6853 #line 6854 "Parser/parser.cc" /* yacc.c:1646 */ 7714 6854 break; 7715 6855 7716 6856 case 511: 7717 7718 /* Line 1806 of yacc.c */ 7719 #line 1949 "parser.yy" 6857 #line 1948 "parser.yy" /* yacc.c:1646 */ 7720 6858 { 7721 6859 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 7722 (yyval.decl) = (yyvsp[ (1) - (1)].decl);6860 (yyval.decl) = (yyvsp[0].decl); 7723 6861 } 6862 #line 6863 "Parser/parser.cc" /* yacc.c:1646 */ 7724 6863 break; 7725 6864 7726 6865 case 512: 7727 7728 /* Line 1806 of yacc.c */ 7729 #line 1954 "parser.yy" 6866 #line 1953 "parser.yy" /* yacc.c:1646 */ 7730 6867 { 7731 6868 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 7732 (yyval.decl) = (yyvsp[ (1) - (1)].decl);6869 (yyval.decl) = (yyvsp[0].decl); 7733 6870 } 6871 #line 6872 "Parser/parser.cc" /* yacc.c:1646 */ 7734 6872 break; 7735 6873 7736 6874 case 513: 7737 7738 /* Line 1806 of yacc.c */ 7739 #line 1959 "parser.yy" 7740 { 7741 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); 7742 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) ); 6875 #line 1958 "parser.yy" /* yacc.c:1646 */ 6876 { 6877 typedefTable.addToEnclosingScope2( *(yyvsp[0].tok), TypedefTable::ID ); 6878 (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[-4].decl)->cloneType( (yyvsp[0].tok) ) ); 7743 6879 } 6880 #line 6881 "Parser/parser.cc" /* yacc.c:1646 */ 7744 6881 break; 7745 6882 7746 6883 case 514: 7747 7748 /* Line 1806 of yacc.c */ 7749 #line 1967 "parser.yy" 6884 #line 1966 "parser.yy" /* yacc.c:1646 */ 7750 6885 { 7751 6886 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 7752 (yyval.decl) = (yyvsp[ (2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) );6887 (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); 7753 6888 } 6889 #line 6890 "Parser/parser.cc" /* yacc.c:1646 */ 7754 6890 break; 7755 6891 7756 6892 case 515: 7757 7758 /* Line 1806 of yacc.c */ 7759 #line 1972 "parser.yy" 6893 #line 1971 "parser.yy" /* yacc.c:1646 */ 7760 6894 { 7761 6895 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 7762 (yyval.decl) = (yyvsp[ (1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneBaseType( (yyvsp[(5) - (5)].decl) ) );6896 (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[-4].decl)->cloneBaseType( (yyvsp[0].decl) ) ); 7763 6897 } 6898 #line 6899 "Parser/parser.cc" /* yacc.c:1646 */ 7764 6899 break; 7765 6900 7766 6901 case 516: 7767 7768 /* Line 1806 of yacc.c */ 7769 #line 1982 "parser.yy" 6902 #line 1981 "parser.yy" /* yacc.c:1646 */ 7770 6903 {} 6904 #line 6905 "Parser/parser.cc" /* yacc.c:1646 */ 7771 6905 break; 7772 6906 7773 6907 case 517: 7774 7775 /* Line 1806 of yacc.c */ 7776 #line 1984 "parser.yy" 7777 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl); } 6908 #line 1983 "parser.yy" /* yacc.c:1646 */ 6909 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6910 #line 6911 "Parser/parser.cc" /* yacc.c:1646 */ 7778 6911 break; 7779 6912 7780 6913 case 519: 7781 7782 /* Line 1806 of yacc.c */ 7783 #line 1990 "parser.yy" 7784 { (yyval.decl) = (yyvsp[(1) - (3)].decl) != nullptr ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 6914 #line 1989 "parser.yy" /* yacc.c:1646 */ 6915 { (yyval.decl) = (yyvsp[-2].decl) != nullptr ? (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6916 #line 6917 "Parser/parser.cc" /* yacc.c:1646 */ 7785 6917 break; 7786 6918 7787 6919 case 520: 7788 7789 /* Line 1806 of yacc.c */ 7790 #line 1995 "parser.yy" 6920 #line 1994 "parser.yy" /* yacc.c:1646 */ 7791 6921 { (yyval.decl) = 0; } 6922 #line 6923 "Parser/parser.cc" /* yacc.c:1646 */ 7792 6923 break; 7793 6924 7794 6925 case 524: 7795 7796 /* Line 1806 of yacc.c */ 7797 #line 2003 "parser.yy" 6926 #line 2002 "parser.yy" /* yacc.c:1646 */ 7798 6927 {} 6928 #line 6929 "Parser/parser.cc" /* yacc.c:1646 */ 7799 6929 break; 7800 6930 7801 6931 case 525: 7802 7803 /* Line 1806 of yacc.c */ 7804 #line 2005 "parser.yy" 6932 #line 2004 "parser.yy" /* yacc.c:1646 */ 7805 6933 { 7806 6934 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" 7807 linkage = LinkageSpec::fromString( *(yyvsp[ (2) - (2)].tok) );6935 linkage = LinkageSpec::fromString( *(yyvsp[0].tok) ); 7808 6936 } 6937 #line 6938 "Parser/parser.cc" /* yacc.c:1646 */ 7809 6938 break; 7810 6939 7811 6940 case 526: 7812 7813 /* Line 1806 of yacc.c */ 7814 #line 2010 "parser.yy" 6941 #line 2009 "parser.yy" /* yacc.c:1646 */ 7815 6942 { 7816 6943 linkage = linkageStack.top(); 7817 6944 linkageStack.pop(); 7818 (yyval.decl) = (yyvsp[ (5) - (6)].decl);6945 (yyval.decl) = (yyvsp[-1].decl); 7819 6946 } 6947 #line 6948 "Parser/parser.cc" /* yacc.c:1646 */ 7820 6948 break; 7821 6949 7822 6950 case 527: 7823 7824 /* Line 1806 of yacc.c */ 7825 #line 2016 "parser.yy" 6951 #line 2015 "parser.yy" /* yacc.c:1646 */ 7826 6952 { // mark all fields in list 7827 for ( DeclarationNode *iter = (yyvsp[ (2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )6953 for ( DeclarationNode *iter = (yyvsp[0].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) 7828 6954 iter->set_extension( true ); 7829 (yyval.decl) = (yyvsp[ (2) - (2)].decl);6955 (yyval.decl) = (yyvsp[0].decl); 7830 6956 } 6957 #line 6958 "Parser/parser.cc" /* yacc.c:1646 */ 7831 6958 break; 7832 6959 7833 6960 case 529: 7834 7835 /* Line 1806 of yacc.c */ 7836 #line 2031 "parser.yy" 6961 #line 2030 "parser.yy" /* yacc.c:1646 */ 7837 6962 { 7838 6963 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7839 6964 typedefTable.leaveScope(); 7840 (yyval.decl) = (yyvsp[ (1) - (2)].decl)->addFunctionBody( (yyvsp[(2) - (2)].sn) );6965 (yyval.decl) = (yyvsp[-1].decl)->addFunctionBody( (yyvsp[0].sn) ); 7841 6966 } 6967 #line 6968 "Parser/parser.cc" /* yacc.c:1646 */ 7842 6968 break; 7843 6969 7844 6970 case 530: 7845 7846 /* Line 1806 of yacc.c */ 7847 #line 2037 "parser.yy" 6971 #line 2036 "parser.yy" /* yacc.c:1646 */ 7848 6972 { 7849 6973 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7850 6974 typedefTable.leaveScope(); 7851 (yyval.decl) = (yyvsp[ (1) - (4)].decl)->addOldDeclList( (yyvsp[(3) - (4)].decl) )->addFunctionBody( (yyvsp[(4) - (4)].sn) );6975 (yyval.decl) = (yyvsp[-3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) ); 7852 6976 } 6977 #line 6978 "Parser/parser.cc" /* yacc.c:1646 */ 7853 6978 break; 7854 6979 7855 6980 case 531: 7856 7857 /* Line 1806 of yacc.c */ 7858 #line 2046 "parser.yy" 6981 #line 2045 "parser.yy" /* yacc.c:1646 */ 7859 6982 { 7860 6983 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7861 6984 typedefTable.leaveScope(); 7862 (yyval.decl) = (yyvsp[ (1) - (2)].decl)->addFunctionBody( (yyvsp[(2) - (2)].sn) );6985 (yyval.decl) = (yyvsp[-1].decl)->addFunctionBody( (yyvsp[0].sn) ); 7863 6986 } 6987 #line 6988 "Parser/parser.cc" /* yacc.c:1646 */ 7864 6988 break; 7865 6989 7866 6990 case 532: 7867 7868 /* Line 1806 of yacc.c */ 7869 #line 2052 "parser.yy" 6991 #line 2051 "parser.yy" /* yacc.c:1646 */ 7870 6992 { 7871 6993 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7872 6994 typedefTable.leaveScope(); 7873 (yyval.decl) = (yyvsp[ (2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addType( (yyvsp[(1) - (3)].decl) );6995 (yyval.decl) = (yyvsp[-1].decl)->addFunctionBody( (yyvsp[0].sn) )->addType( (yyvsp[-2].decl) ); 7874 6996 } 6997 #line 6998 "Parser/parser.cc" /* yacc.c:1646 */ 7875 6998 break; 7876 6999 7877 7000 case 533: 7878 7879 /* Line 1806 of yacc.c */ 7880 #line 2058 "parser.yy" 7001 #line 2057 "parser.yy" /* yacc.c:1646 */ 7881 7002 { 7882 7003 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7883 7004 typedefTable.leaveScope(); 7884 (yyval.decl) = (yyvsp[ (2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) );7005 (yyval.decl) = (yyvsp[-1].decl)->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-2].decl) ); 7885 7006 } 7007 #line 7008 "Parser/parser.cc" /* yacc.c:1646 */ 7886 7008 break; 7887 7009 7888 7010 case 534: 7889 7890 /* Line 1806 of yacc.c */ 7891 #line 2064 "parser.yy" 7011 #line 2063 "parser.yy" /* yacc.c:1646 */ 7892 7012 { 7893 7013 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7894 7014 typedefTable.leaveScope(); 7895 (yyval.decl) = (yyvsp[ (2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) );7015 (yyval.decl) = (yyvsp[-1].decl)->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-2].decl) ); 7896 7016 } 7017 #line 7018 "Parser/parser.cc" /* yacc.c:1646 */ 7897 7018 break; 7898 7019 7899 7020 case 535: 7900 7901 /* Line 1806 of yacc.c */ 7902 #line 2070 "parser.yy" 7021 #line 2069 "parser.yy" /* yacc.c:1646 */ 7903 7022 { 7904 7023 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7905 7024 typedefTable.leaveScope(); 7906 (yyval.decl) = (yyvsp[ (3) - (4)].decl)->addFunctionBody( (yyvsp[(4) - (4)].sn) )->addQualifiers( (yyvsp[(2) - (4)].decl) )->addQualifiers( (yyvsp[(1) - (4)].decl) );7025 (yyval.decl) = (yyvsp[-1].decl)->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-2].decl) )->addQualifiers( (yyvsp[-3].decl) ); 7907 7026 } 7027 #line 7028 "Parser/parser.cc" /* yacc.c:1646 */ 7908 7028 break; 7909 7029 7910 7030 case 536: 7911 7912 /* Line 1806 of yacc.c */ 7913 #line 2078 "parser.yy" 7031 #line 2077 "parser.yy" /* yacc.c:1646 */ 7914 7032 { 7915 7033 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7916 7034 typedefTable.leaveScope(); 7917 (yyval.decl) = (yyvsp[ (2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addType( (yyvsp[(1) - (5)].decl) );7035 (yyval.decl) = (yyvsp[-3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addType( (yyvsp[-4].decl) ); 7918 7036 } 7037 #line 7038 "Parser/parser.cc" /* yacc.c:1646 */ 7919 7038 break; 7920 7039 7921 7040 case 537: 7922 7923 /* Line 1806 of yacc.c */ 7924 #line 2084 "parser.yy" 7041 #line 2083 "parser.yy" /* yacc.c:1646 */ 7925 7042 { 7926 7043 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7927 7044 typedefTable.leaveScope(); 7928 (yyval.decl) = (yyvsp[ (2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addQualifiers( (yyvsp[(1) - (5)].decl) );7045 (yyval.decl) = (yyvsp[-3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-4].decl) ); 7929 7046 } 7047 #line 7048 "Parser/parser.cc" /* yacc.c:1646 */ 7930 7048 break; 7931 7049 7932 7050 case 538: 7933 7934 /* Line 1806 of yacc.c */ 7935 #line 2092 "parser.yy" 7051 #line 2091 "parser.yy" /* yacc.c:1646 */ 7936 7052 { 7937 7053 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7938 7054 typedefTable.leaveScope(); 7939 (yyval.decl) = (yyvsp[ (2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addQualifiers( (yyvsp[(1) - (5)].decl) );7055 (yyval.decl) = (yyvsp[-3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-4].decl) ); 7940 7056 } 7057 #line 7058 "Parser/parser.cc" /* yacc.c:1646 */ 7941 7058 break; 7942 7059 7943 7060 case 539: 7944 7945 /* Line 1806 of yacc.c */ 7946 #line 2098 "parser.yy" 7061 #line 2097 "parser.yy" /* yacc.c:1646 */ 7947 7062 { 7948 7063 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7949 7064 typedefTable.leaveScope(); 7950 (yyval.decl) = (yyvsp[ (3) - (6)].decl)->addOldDeclList( (yyvsp[(5) - (6)].decl) )->addFunctionBody( (yyvsp[(6) - (6)].sn) )->addQualifiers( (yyvsp[(2) - (6)].decl) )->addQualifiers( (yyvsp[(1) - (6)].decl) );7065 (yyval.decl) = (yyvsp[-3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-4].decl) )->addQualifiers( (yyvsp[-5].decl) ); 7951 7066 } 7067 #line 7068 "Parser/parser.cc" /* yacc.c:1646 */ 7952 7068 break; 7953 7069 7954 7070 case 543: 7955 7956 /* Line 1806 of yacc.c */ 7957 #line 2113 "parser.yy" 7958 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 7071 #line 2112 "parser.yy" /* yacc.c:1646 */ 7072 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[-2].en), (yyvsp[0].en) ) ); } 7073 #line 7074 "Parser/parser.cc" /* yacc.c:1646 */ 7959 7074 break; 7960 7075 7961 7076 case 545: 7962 7963 /* Line 1806 of yacc.c */ 7964 #line 2118 "parser.yy" 7965 { delete (yyvsp[(3) - (5)].str); } 7077 #line 2117 "parser.yy" /* yacc.c:1646 */ 7078 { delete (yyvsp[-2].str); } 7079 #line 7080 "Parser/parser.cc" /* yacc.c:1646 */ 7966 7080 break; 7967 7081 7968 7082 case 546: 7969 7970 /* Line 1806 of yacc.c */ 7971 #line 2123 "parser.yy" 7083 #line 2122 "parser.yy" /* yacc.c:1646 */ 7972 7084 { (yyval.decl) = 0; } 7085 #line 7086 "Parser/parser.cc" /* yacc.c:1646 */ 7973 7086 break; 7974 7087 7975 7088 case 549: 7976 7977 /* Line 1806 of yacc.c */ 7978 #line 2130 "parser.yy" 7979 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7089 #line 2129 "parser.yy" /* yacc.c:1646 */ 7090 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 7091 #line 7092 "Parser/parser.cc" /* yacc.c:1646 */ 7980 7092 break; 7981 7093 7982 7094 case 550: 7983 7984 /* Line 1806 of yacc.c */ 7985 #line 2136 "parser.yy" 7095 #line 2135 "parser.yy" /* yacc.c:1646 */ 7986 7096 { (yyval.decl) = 0; } 7097 #line 7098 "Parser/parser.cc" /* yacc.c:1646 */ 7987 7098 break; 7988 7099 7989 7100 case 555: 7990 7991 /* Line 1806 of yacc.c */ 7992 #line 2147 "parser.yy" 7993 { delete (yyvsp[(3) - (4)].en); } 7101 #line 2146 "parser.yy" /* yacc.c:1646 */ 7102 { delete (yyvsp[-1].en); } 7103 #line 7104 "Parser/parser.cc" /* yacc.c:1646 */ 7994 7104 break; 7995 7105 7996 7106 case 556: 7997 7998 /* Line 1806 of yacc.c */ 7999 #line 2151 "parser.yy" 8000 { delete (yyvsp[(1) - (1)].tok); } 7107 #line 2150 "parser.yy" /* yacc.c:1646 */ 7108 { delete (yyvsp[0].tok); } 7109 #line 7110 "Parser/parser.cc" /* yacc.c:1646 */ 8001 7110 break; 8002 7111 8003 7112 case 557: 8004 8005 /* Line 1806 of yacc.c */ 8006 #line 2152 "parser.yy" 8007 { delete (yyvsp[(1) - (1)].decl); } 7113 #line 2151 "parser.yy" /* yacc.c:1646 */ 7114 { delete (yyvsp[0].decl); } 7115 #line 7116 "Parser/parser.cc" /* yacc.c:1646 */ 8008 7116 break; 8009 7117 8010 7118 case 558: 8011 8012 /* Line 1806 of yacc.c */ 8013 #line 2153 "parser.yy" 8014 { delete (yyvsp[(1) - (1)].decl); } 7119 #line 2152 "parser.yy" /* yacc.c:1646 */ 7120 { delete (yyvsp[0].decl); } 7121 #line 7122 "Parser/parser.cc" /* yacc.c:1646 */ 8015 7122 break; 8016 7123 8017 7124 case 559: 8018 8019 /* Line 1806 of yacc.c */ 8020 #line 2154 "parser.yy" 8021 { delete (yyvsp[(1) - (1)].decl); } 7125 #line 2153 "parser.yy" /* yacc.c:1646 */ 7126 { delete (yyvsp[0].decl); } 7127 #line 7128 "Parser/parser.cc" /* yacc.c:1646 */ 8022 7128 break; 8023 7129 8024 7130 case 560: 8025 8026 /* Line 1806 of yacc.c */ 8027 #line 2189 "parser.yy" 8028 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7131 #line 2188 "parser.yy" /* yacc.c:1646 */ 7132 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7133 #line 7134 "Parser/parser.cc" /* yacc.c:1646 */ 8029 7134 break; 8030 7135 8031 7136 case 562: 8032 8033 /* Line 1806 of yacc.c */ 8034 #line 2192 "parser.yy" 8035 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7137 #line 2191 "parser.yy" /* yacc.c:1646 */ 7138 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7139 #line 7140 "Parser/parser.cc" /* yacc.c:1646 */ 8036 7140 break; 8037 7141 8038 7142 case 563: 8039 8040 /* Line 1806 of yacc.c */ 8041 #line 2194 "parser.yy" 8042 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7143 #line 2193 "parser.yy" /* yacc.c:1646 */ 7144 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7145 #line 7146 "Parser/parser.cc" /* yacc.c:1646 */ 8043 7146 break; 8044 7147 8045 7148 case 564: 8046 8047 /* Line 1806 of yacc.c */ 8048 #line 2199 "parser.yy" 8049 { 8050 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8051 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 7149 #line 2198 "parser.yy" /* yacc.c:1646 */ 7150 { 7151 typedefTable.setNextIdentifier( *(yyvsp[0].tok) ); 7152 (yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) ); 8052 7153 } 7154 #line 7155 "Parser/parser.cc" /* yacc.c:1646 */ 8053 7155 break; 8054 7156 8055 7157 case 565: 8056 8057 /* Line 1806 of yacc.c */ 8058 #line 2204 "parser.yy" 8059 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7158 #line 2203 "parser.yy" /* yacc.c:1646 */ 7159 { (yyval.decl) = (yyvsp[-1].decl); } 7160 #line 7161 "Parser/parser.cc" /* yacc.c:1646 */ 8060 7161 break; 8061 7162 8062 7163 case 566: 8063 8064 /* Line 1806 of yacc.c */ 8065 #line 2209 "parser.yy" 8066 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7164 #line 2208 "parser.yy" /* yacc.c:1646 */ 7165 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7166 #line 7167 "Parser/parser.cc" /* yacc.c:1646 */ 8067 7167 break; 8068 7168 8069 7169 case 567: 8070 8071 /* Line 1806 of yacc.c */ 8072 #line 2211 "parser.yy" 8073 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7170 #line 2210 "parser.yy" /* yacc.c:1646 */ 7171 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7172 #line 7173 "Parser/parser.cc" /* yacc.c:1646 */ 8074 7173 break; 8075 7174 8076 7175 case 568: 8077 8078 /* Line 1806 of yacc.c */ 8079 #line 2213 "parser.yy" 8080 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7176 #line 2212 "parser.yy" /* yacc.c:1646 */ 7177 { (yyval.decl) = (yyvsp[-1].decl); } 7178 #line 7179 "Parser/parser.cc" /* yacc.c:1646 */ 8081 7179 break; 8082 7180 8083 7181 case 569: 8084 8085 /* Line 1806 of yacc.c */ 8086 #line 2218 "parser.yy" 8087 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7182 #line 2217 "parser.yy" /* yacc.c:1646 */ 7183 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7184 #line 7185 "Parser/parser.cc" /* yacc.c:1646 */ 8088 7185 break; 8089 7186 8090 7187 case 570: 8091 8092 /* Line 1806 of yacc.c */ 8093 #line 2220 "parser.yy" 8094 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7188 #line 2219 "parser.yy" /* yacc.c:1646 */ 7189 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7190 #line 7191 "Parser/parser.cc" /* yacc.c:1646 */ 8095 7191 break; 8096 7192 8097 7193 case 571: 8098 8099 /* Line 1806 of yacc.c */ 8100 #line 2222 "parser.yy" 8101 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7194 #line 2221 "parser.yy" /* yacc.c:1646 */ 7195 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7196 #line 7197 "Parser/parser.cc" /* yacc.c:1646 */ 8102 7197 break; 8103 7198 8104 7199 case 572: 8105 8106 /* Line 1806 of yacc.c */ 8107 #line 2224 "parser.yy" 8108 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7200 #line 2223 "parser.yy" /* yacc.c:1646 */ 7201 { (yyval.decl) = (yyvsp[-1].decl); } 7202 #line 7203 "Parser/parser.cc" /* yacc.c:1646 */ 8109 7203 break; 8110 7204 8111 7205 case 573: 8112 8113 /* Line 1806 of yacc.c */ 8114 #line 2229 "parser.yy" 8115 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7206 #line 2228 "parser.yy" /* yacc.c:1646 */ 7207 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7208 #line 7209 "Parser/parser.cc" /* yacc.c:1646 */ 8116 7209 break; 8117 7210 8118 7211 case 574: 8119 8120 /* Line 1806 of yacc.c */ 8121 #line 2231 "parser.yy" 8122 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7212 #line 2230 "parser.yy" /* yacc.c:1646 */ 7213 { (yyval.decl) = (yyvsp[-1].decl); } 7214 #line 7215 "Parser/parser.cc" /* yacc.c:1646 */ 8123 7215 break; 8124 7216 8125 7217 case 575: 8126 8127 /* Line 1806 of yacc.c */ 8128 #line 2240 "parser.yy" 8129 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7218 #line 2239 "parser.yy" /* yacc.c:1646 */ 7219 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7220 #line 7221 "Parser/parser.cc" /* yacc.c:1646 */ 8130 7221 break; 8131 7222 8132 7223 case 577: 8133 8134 /* Line 1806 of yacc.c */ 8135 #line 2243 "parser.yy" 8136 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7224 #line 2242 "parser.yy" /* yacc.c:1646 */ 7225 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7226 #line 7227 "Parser/parser.cc" /* yacc.c:1646 */ 8137 7227 break; 8138 7228 8139 7229 case 578: 8140 8141 /* Line 1806 of yacc.c */ 8142 #line 2248 "parser.yy" 8143 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7230 #line 2247 "parser.yy" /* yacc.c:1646 */ 7231 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7232 #line 7233 "Parser/parser.cc" /* yacc.c:1646 */ 8144 7233 break; 8145 7234 8146 7235 case 579: 8147 8148 /* Line 1806 of yacc.c */ 8149 #line 2250 "parser.yy" 8150 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7236 #line 2249 "parser.yy" /* yacc.c:1646 */ 7237 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7238 #line 7239 "Parser/parser.cc" /* yacc.c:1646 */ 8151 7239 break; 8152 7240 8153 7241 case 580: 8154 8155 /* Line 1806 of yacc.c */ 8156 #line 2252 "parser.yy" 8157 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7242 #line 2251 "parser.yy" /* yacc.c:1646 */ 7243 { (yyval.decl) = (yyvsp[-1].decl); } 7244 #line 7245 "Parser/parser.cc" /* yacc.c:1646 */ 8158 7245 break; 8159 7246 8160 7247 case 581: 8161 8162 /* Line 1806 of yacc.c */ 8163 #line 2257 "parser.yy" 8164 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7248 #line 2256 "parser.yy" /* yacc.c:1646 */ 7249 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7250 #line 7251 "Parser/parser.cc" /* yacc.c:1646 */ 8165 7251 break; 8166 7252 8167 7253 case 582: 8168 8169 /* Line 1806 of yacc.c */ 8170 #line 2259 "parser.yy" 8171 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7254 #line 2258 "parser.yy" /* yacc.c:1646 */ 7255 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7256 #line 7257 "Parser/parser.cc" /* yacc.c:1646 */ 8172 7257 break; 8173 7258 8174 7259 case 583: 8175 8176 /* Line 1806 of yacc.c */ 8177 #line 2261 "parser.yy" 8178 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7260 #line 2260 "parser.yy" /* yacc.c:1646 */ 7261 { (yyval.decl) = (yyvsp[-1].decl); } 7262 #line 7263 "Parser/parser.cc" /* yacc.c:1646 */ 8179 7263 break; 8180 7264 8181 7265 case 584: 8182 8183 /* Line 1806 of yacc.c */ 8184 #line 2266 "parser.yy" 8185 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7266 #line 2265 "parser.yy" /* yacc.c:1646 */ 7267 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7268 #line 7269 "Parser/parser.cc" /* yacc.c:1646 */ 8186 7269 break; 8187 7270 8188 7271 case 585: 8189 8190 /* Line 1806 of yacc.c */ 8191 #line 2268 "parser.yy" 8192 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7272 #line 2267 "parser.yy" /* yacc.c:1646 */ 7273 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7274 #line 7275 "Parser/parser.cc" /* yacc.c:1646 */ 8193 7275 break; 8194 7276 8195 7277 case 586: 8196 8197 /* Line 1806 of yacc.c */ 8198 #line 2270 "parser.yy" 8199 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7278 #line 2269 "parser.yy" /* yacc.c:1646 */ 7279 { (yyval.decl) = (yyvsp[-1].decl); } 7280 #line 7281 "Parser/parser.cc" /* yacc.c:1646 */ 8200 7281 break; 8201 7282 8202 7283 case 590: 8203 8204 /* Line 1806 of yacc.c */ 8205 #line 2285 "parser.yy" 8206 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 7284 #line 2284 "parser.yy" /* yacc.c:1646 */ 7285 { (yyval.decl) = (yyvsp[-3].decl)->addIdList( (yyvsp[-1].decl) ); } 7286 #line 7287 "Parser/parser.cc" /* yacc.c:1646 */ 8207 7287 break; 8208 7288 8209 7289 case 591: 8210 8211 /* Line 1806 of yacc.c */ 8212 #line 2287 "parser.yy" 8213 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 7290 #line 2286 "parser.yy" /* yacc.c:1646 */ 7291 { (yyval.decl) = (yyvsp[-4].decl)->addIdList( (yyvsp[-1].decl) ); } 7292 #line 7293 "Parser/parser.cc" /* yacc.c:1646 */ 8214 7293 break; 8215 7294 8216 7295 case 592: 8217 8218 /* Line 1806 of yacc.c */ 8219 #line 2289 "parser.yy" 8220 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7296 #line 2288 "parser.yy" /* yacc.c:1646 */ 7297 { (yyval.decl) = (yyvsp[-1].decl); } 7298 #line 7299 "Parser/parser.cc" /* yacc.c:1646 */ 8221 7299 break; 8222 7300 8223 7301 case 593: 8224 8225 /* Line 1806 of yacc.c */ 8226 #line 2294 "parser.yy" 8227 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7302 #line 2293 "parser.yy" /* yacc.c:1646 */ 7303 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7304 #line 7305 "Parser/parser.cc" /* yacc.c:1646 */ 8228 7305 break; 8229 7306 8230 7307 case 594: 8231 8232 /* Line 1806 of yacc.c */ 8233 #line 2296 "parser.yy" 8234 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7308 #line 2295 "parser.yy" /* yacc.c:1646 */ 7309 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7310 #line 7311 "Parser/parser.cc" /* yacc.c:1646 */ 8235 7311 break; 8236 7312 8237 7313 case 595: 8238 8239 /* Line 1806 of yacc.c */ 8240 #line 2298 "parser.yy" 8241 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7314 #line 2297 "parser.yy" /* yacc.c:1646 */ 7315 { (yyval.decl) = (yyvsp[-1].decl); } 7316 #line 7317 "Parser/parser.cc" /* yacc.c:1646 */ 8242 7317 break; 8243 7318 8244 7319 case 596: 8245 8246 /* Line 1806 of yacc.c */ 8247 #line 2303 "parser.yy" 8248 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7320 #line 2302 "parser.yy" /* yacc.c:1646 */ 7321 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7322 #line 7323 "Parser/parser.cc" /* yacc.c:1646 */ 8249 7323 break; 8250 7324 8251 7325 case 597: 8252 8253 /* Line 1806 of yacc.c */ 8254 #line 2305 "parser.yy" 8255 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7326 #line 2304 "parser.yy" /* yacc.c:1646 */ 7327 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7328 #line 7329 "Parser/parser.cc" /* yacc.c:1646 */ 8256 7329 break; 8257 7330 8258 7331 case 598: 8259 8260 /* Line 1806 of yacc.c */ 8261 #line 2307 "parser.yy" 8262 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7332 #line 2306 "parser.yy" /* yacc.c:1646 */ 7333 { (yyval.decl) = (yyvsp[-1].decl); } 7334 #line 7335 "Parser/parser.cc" /* yacc.c:1646 */ 8263 7335 break; 8264 7336 8265 7337 case 599: 8266 8267 /* Line 1806 of yacc.c */ 8268 #line 2322 "parser.yy" 8269 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7338 #line 2321 "parser.yy" /* yacc.c:1646 */ 7339 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7340 #line 7341 "Parser/parser.cc" /* yacc.c:1646 */ 8270 7341 break; 8271 7342 8272 7343 case 601: 8273 8274 /* Line 1806 of yacc.c */ 8275 #line 2325 "parser.yy" 8276 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7344 #line 2324 "parser.yy" /* yacc.c:1646 */ 7345 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7346 #line 7347 "Parser/parser.cc" /* yacc.c:1646 */ 8277 7347 break; 8278 7348 8279 7349 case 602: 8280 8281 /* Line 1806 of yacc.c */ 8282 #line 2327 "parser.yy" 8283 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7350 #line 2326 "parser.yy" /* yacc.c:1646 */ 7351 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7352 #line 7353 "Parser/parser.cc" /* yacc.c:1646 */ 8284 7353 break; 8285 7354 8286 7355 case 604: 8287 8288 /* Line 1806 of yacc.c */ 8289 #line 2333 "parser.yy" 8290 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7356 #line 2332 "parser.yy" /* yacc.c:1646 */ 7357 { (yyval.decl) = (yyvsp[-1].decl); } 7358 #line 7359 "Parser/parser.cc" /* yacc.c:1646 */ 8291 7359 break; 8292 7360 8293 7361 case 605: 8294 8295 /* Line 1806 of yacc.c */ 8296 #line 2338 "parser.yy" 8297 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7362 #line 2337 "parser.yy" /* yacc.c:1646 */ 7363 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7364 #line 7365 "Parser/parser.cc" /* yacc.c:1646 */ 8298 7365 break; 8299 7366 8300 7367 case 606: 8301 8302 /* Line 1806 of yacc.c */ 8303 #line 2340 "parser.yy" 8304 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7368 #line 2339 "parser.yy" /* yacc.c:1646 */ 7369 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7370 #line 7371 "Parser/parser.cc" /* yacc.c:1646 */ 8305 7371 break; 8306 7372 8307 7373 case 607: 8308 8309 /* Line 1806 of yacc.c */ 8310 #line 2342 "parser.yy" 8311 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7374 #line 2341 "parser.yy" /* yacc.c:1646 */ 7375 { (yyval.decl) = (yyvsp[-1].decl); } 7376 #line 7377 "Parser/parser.cc" /* yacc.c:1646 */ 8312 7377 break; 8313 7378 8314 7379 case 608: 8315 8316 /* Line 1806 of yacc.c */ 8317 #line 2347 "parser.yy" 8318 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7380 #line 2346 "parser.yy" /* yacc.c:1646 */ 7381 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7382 #line 7383 "Parser/parser.cc" /* yacc.c:1646 */ 8319 7383 break; 8320 7384 8321 7385 case 609: 8322 8323 /* Line 1806 of yacc.c */ 8324 #line 2349 "parser.yy" 8325 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7386 #line 2348 "parser.yy" /* yacc.c:1646 */ 7387 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7388 #line 7389 "Parser/parser.cc" /* yacc.c:1646 */ 8326 7389 break; 8327 7390 8328 7391 case 610: 8329 8330 /* Line 1806 of yacc.c */ 8331 #line 2351 "parser.yy" 8332 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7392 #line 2350 "parser.yy" /* yacc.c:1646 */ 7393 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7394 #line 7395 "Parser/parser.cc" /* yacc.c:1646 */ 8333 7395 break; 8334 7396 8335 7397 case 611: 8336 8337 /* Line 1806 of yacc.c */ 8338 #line 2353 "parser.yy" 8339 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7398 #line 2352 "parser.yy" /* yacc.c:1646 */ 7399 { (yyval.decl) = (yyvsp[-1].decl); } 7400 #line 7401 "Parser/parser.cc" /* yacc.c:1646 */ 8340 7401 break; 8341 7402 8342 7403 case 612: 8343 8344 /* Line 1806 of yacc.c */ 8345 #line 2358 "parser.yy" 8346 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7404 #line 2357 "parser.yy" /* yacc.c:1646 */ 7405 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7406 #line 7407 "Parser/parser.cc" /* yacc.c:1646 */ 8347 7407 break; 8348 7408 8349 7409 case 613: 8350 8351 /* Line 1806 of yacc.c */ 8352 #line 2360 "parser.yy" 8353 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7410 #line 2359 "parser.yy" /* yacc.c:1646 */ 7411 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7412 #line 7413 "Parser/parser.cc" /* yacc.c:1646 */ 8354 7413 break; 8355 7414 8356 7415 case 614: 8357 8358 /* Line 1806 of yacc.c */ 8359 #line 2362 "parser.yy" 8360 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7416 #line 2361 "parser.yy" /* yacc.c:1646 */ 7417 { (yyval.decl) = (yyvsp[-1].decl); } 7418 #line 7419 "Parser/parser.cc" /* yacc.c:1646 */ 8361 7419 break; 8362 7420 8363 7421 case 615: 8364 8365 /* Line 1806 of yacc.c */ 8366 #line 2372 "parser.yy" 8367 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7422 #line 2371 "parser.yy" /* yacc.c:1646 */ 7423 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7424 #line 7425 "Parser/parser.cc" /* yacc.c:1646 */ 8368 7425 break; 8369 7426 8370 7427 case 617: 8371 8372 /* Line 1806 of yacc.c */ 8373 #line 2375 "parser.yy" 8374 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7428 #line 2374 "parser.yy" /* yacc.c:1646 */ 7429 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7430 #line 7431 "Parser/parser.cc" /* yacc.c:1646 */ 8375 7431 break; 8376 7432 8377 7433 case 618: 8378 8379 /* Line 1806 of yacc.c */ 8380 #line 2377 "parser.yy" 8381 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7434 #line 2376 "parser.yy" /* yacc.c:1646 */ 7435 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7436 #line 7437 "Parser/parser.cc" /* yacc.c:1646 */ 8382 7437 break; 8383 7438 8384 7439 case 619: 8385 8386 /* Line 1806 of yacc.c */ 8387 #line 2382 "parser.yy" 8388 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7440 #line 2381 "parser.yy" /* yacc.c:1646 */ 7441 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7442 #line 7443 "Parser/parser.cc" /* yacc.c:1646 */ 8389 7443 break; 8390 7444 8391 7445 case 620: 8392 8393 /* Line 1806 of yacc.c */ 8394 #line 2384 "parser.yy" 8395 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7446 #line 2383 "parser.yy" /* yacc.c:1646 */ 7447 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7448 #line 7449 "Parser/parser.cc" /* yacc.c:1646 */ 8396 7449 break; 8397 7450 8398 7451 case 621: 8399 8400 /* Line 1806 of yacc.c */ 8401 #line 2386 "parser.yy" 8402 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7452 #line 2385 "parser.yy" /* yacc.c:1646 */ 7453 { (yyval.decl) = (yyvsp[-1].decl); } 7454 #line 7455 "Parser/parser.cc" /* yacc.c:1646 */ 8403 7455 break; 8404 7456 8405 7457 case 622: 8406 8407 /* Line 1806 of yacc.c */ 8408 #line 2391 "parser.yy" 8409 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7458 #line 2390 "parser.yy" /* yacc.c:1646 */ 7459 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7460 #line 7461 "Parser/parser.cc" /* yacc.c:1646 */ 8410 7461 break; 8411 7462 8412 7463 case 623: 8413 8414 /* Line 1806 of yacc.c */ 8415 #line 2393 "parser.yy" 8416 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7464 #line 2392 "parser.yy" /* yacc.c:1646 */ 7465 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7466 #line 7467 "Parser/parser.cc" /* yacc.c:1646 */ 8417 7467 break; 8418 7468 8419 7469 case 624: 8420 8421 /* Line 1806 of yacc.c */ 8422 #line 2395 "parser.yy" 8423 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7470 #line 2394 "parser.yy" /* yacc.c:1646 */ 7471 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7472 #line 7473 "Parser/parser.cc" /* yacc.c:1646 */ 8424 7473 break; 8425 7474 8426 7475 case 625: 8427 8428 /* Line 1806 of yacc.c */ 8429 #line 2397 "parser.yy" 8430 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7476 #line 2396 "parser.yy" /* yacc.c:1646 */ 7477 { (yyval.decl) = (yyvsp[-1].decl); } 7478 #line 7479 "Parser/parser.cc" /* yacc.c:1646 */ 8431 7479 break; 8432 7480 8433 7481 case 626: 8434 8435 /* Line 1806 of yacc.c */ 8436 #line 2402 "parser.yy" 8437 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7482 #line 2401 "parser.yy" /* yacc.c:1646 */ 7483 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7484 #line 7485 "Parser/parser.cc" /* yacc.c:1646 */ 8438 7485 break; 8439 7486 8440 7487 case 627: 8441 8442 /* Line 1806 of yacc.c */ 8443 #line 2404 "parser.yy" 8444 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7488 #line 2403 "parser.yy" /* yacc.c:1646 */ 7489 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7490 #line 7491 "Parser/parser.cc" /* yacc.c:1646 */ 8445 7491 break; 8446 7492 8447 7493 case 628: 8448 8449 /* Line 1806 of yacc.c */ 8450 #line 2406 "parser.yy" 8451 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7494 #line 2405 "parser.yy" /* yacc.c:1646 */ 7495 { (yyval.decl) = (yyvsp[-1].decl); } 7496 #line 7497 "Parser/parser.cc" /* yacc.c:1646 */ 8452 7497 break; 8453 7498 8454 7499 case 629: 8455 8456 /* Line 1806 of yacc.c */ 8457 #line 2437 "parser.yy" 8458 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7500 #line 2436 "parser.yy" /* yacc.c:1646 */ 7501 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7502 #line 7503 "Parser/parser.cc" /* yacc.c:1646 */ 8459 7503 break; 8460 7504 8461 7505 case 631: 8462 8463 /* Line 1806 of yacc.c */ 8464 #line 2440 "parser.yy" 8465 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7506 #line 2439 "parser.yy" /* yacc.c:1646 */ 7507 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7508 #line 7509 "Parser/parser.cc" /* yacc.c:1646 */ 8466 7509 break; 8467 7510 8468 7511 case 632: 8469 8470 /* Line 1806 of yacc.c */ 8471 #line 2442 "parser.yy" 8472 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7512 #line 2441 "parser.yy" /* yacc.c:1646 */ 7513 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7514 #line 7515 "Parser/parser.cc" /* yacc.c:1646 */ 8473 7515 break; 8474 7516 8475 7517 case 633: 8476 8477 /* Line 1806 of yacc.c */ 8478 #line 2447 "parser.yy" 8479 { 8480 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8481 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 7518 #line 2446 "parser.yy" /* yacc.c:1646 */ 7519 { 7520 typedefTable.setNextIdentifier( *(yyvsp[0].tok) ); 7521 (yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) ); 8482 7522 } 7523 #line 7524 "Parser/parser.cc" /* yacc.c:1646 */ 8483 7524 break; 8484 7525 8485 7526 case 634: 8486 8487 /* Line 1806 of yacc.c */ 8488 #line 2452 "parser.yy" 8489 { 8490 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8491 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 7527 #line 2451 "parser.yy" /* yacc.c:1646 */ 7528 { 7529 typedefTable.setNextIdentifier( *(yyvsp[0].tok) ); 7530 (yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) ); 8492 7531 } 7532 #line 7533 "Parser/parser.cc" /* yacc.c:1646 */ 8493 7533 break; 8494 7534 8495 7535 case 635: 8496 8497 /* Line 1806 of yacc.c */ 8498 #line 2460 "parser.yy" 8499 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7536 #line 2459 "parser.yy" /* yacc.c:1646 */ 7537 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7538 #line 7539 "Parser/parser.cc" /* yacc.c:1646 */ 8500 7539 break; 8501 7540 8502 7541 case 636: 8503 8504 /* Line 1806 of yacc.c */ 8505 #line 2462 "parser.yy" 8506 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7542 #line 2461 "parser.yy" /* yacc.c:1646 */ 7543 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7544 #line 7545 "Parser/parser.cc" /* yacc.c:1646 */ 8507 7545 break; 8508 7546 8509 7547 case 637: 8510 8511 /* Line 1806 of yacc.c */ 8512 #line 2464 "parser.yy" 8513 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7548 #line 2463 "parser.yy" /* yacc.c:1646 */ 7549 { (yyval.decl) = (yyvsp[-1].decl); } 7550 #line 7551 "Parser/parser.cc" /* yacc.c:1646 */ 8514 7551 break; 8515 7552 8516 7553 case 638: 8517 8518 /* Line 1806 of yacc.c */ 8519 #line 2469 "parser.yy" 8520 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7554 #line 2468 "parser.yy" /* yacc.c:1646 */ 7555 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7556 #line 7557 "Parser/parser.cc" /* yacc.c:1646 */ 8521 7557 break; 8522 7558 8523 7559 case 639: 8524 8525 /* Line 1806 of yacc.c */ 8526 #line 2471 "parser.yy" 8527 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7560 #line 2470 "parser.yy" /* yacc.c:1646 */ 7561 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7562 #line 7563 "Parser/parser.cc" /* yacc.c:1646 */ 8528 7563 break; 8529 7564 8530 7565 case 640: 8531 8532 /* Line 1806 of yacc.c */ 8533 #line 2476 "parser.yy" 8534 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7566 #line 2475 "parser.yy" /* yacc.c:1646 */ 7567 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7568 #line 7569 "Parser/parser.cc" /* yacc.c:1646 */ 8535 7569 break; 8536 7570 8537 7571 case 641: 8538 8539 /* Line 1806 of yacc.c */ 8540 #line 2478 "parser.yy" 8541 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7572 #line 2477 "parser.yy" /* yacc.c:1646 */ 7573 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7574 #line 7575 "Parser/parser.cc" /* yacc.c:1646 */ 8542 7575 break; 8543 7576 8544 7577 case 643: 8545 8546 /* Line 1806 of yacc.c */ 8547 #line 2493 "parser.yy" 8548 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7578 #line 2492 "parser.yy" /* yacc.c:1646 */ 7579 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7580 #line 7581 "Parser/parser.cc" /* yacc.c:1646 */ 8549 7581 break; 8550 7582 8551 7583 case 644: 8552 8553 /* Line 1806 of yacc.c */ 8554 #line 2495 "parser.yy" 8555 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7584 #line 2494 "parser.yy" /* yacc.c:1646 */ 7585 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7586 #line 7587 "Parser/parser.cc" /* yacc.c:1646 */ 8556 7587 break; 8557 7588 8558 7589 case 645: 8559 8560 /* Line 1806 of yacc.c */ 8561 #line 2500 "parser.yy" 7590 #line 2499 "parser.yy" /* yacc.c:1646 */ 8562 7591 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 7592 #line 7593 "Parser/parser.cc" /* yacc.c:1646 */ 8563 7593 break; 8564 7594 8565 7595 case 646: 8566 8567 /* Line 1806 of yacc.c */ 8568 #line 2502 "parser.yy" 8569 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 7596 #line 2501 "parser.yy" /* yacc.c:1646 */ 7597 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); } 7598 #line 7599 "Parser/parser.cc" /* yacc.c:1646 */ 8570 7599 break; 8571 7600 8572 7601 case 647: 8573 8574 /* Line 1806 of yacc.c */ 8575 #line 2504 "parser.yy" 8576 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7602 #line 2503 "parser.yy" /* yacc.c:1646 */ 7603 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7604 #line 7605 "Parser/parser.cc" /* yacc.c:1646 */ 8577 7605 break; 8578 7606 8579 7607 case 648: 8580 8581 /* Line 1806 of yacc.c */ 8582 #line 2506 "parser.yy" 8583 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7608 #line 2505 "parser.yy" /* yacc.c:1646 */ 7609 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7610 #line 7611 "Parser/parser.cc" /* yacc.c:1646 */ 8584 7611 break; 8585 7612 8586 7613 case 649: 8587 8588 /* Line 1806 of yacc.c */ 8589 #line 2508 "parser.yy" 8590 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7614 #line 2507 "parser.yy" /* yacc.c:1646 */ 7615 { (yyval.decl) = (yyvsp[-1].decl); } 7616 #line 7617 "Parser/parser.cc" /* yacc.c:1646 */ 8591 7617 break; 8592 7618 8593 7619 case 651: 8594 8595 /* Line 1806 of yacc.c */ 8596 #line 2514 "parser.yy" 8597 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7620 #line 2513 "parser.yy" /* yacc.c:1646 */ 7621 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7622 #line 7623 "Parser/parser.cc" /* yacc.c:1646 */ 8598 7623 break; 8599 7624 8600 7625 case 652: 8601 8602 /* Line 1806 of yacc.c */ 8603 #line 2516 "parser.yy" 8604 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7626 #line 2515 "parser.yy" /* yacc.c:1646 */ 7627 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7628 #line 7629 "Parser/parser.cc" /* yacc.c:1646 */ 8605 7629 break; 8606 7630 8607 7631 case 653: 8608 8609 /* Line 1806 of yacc.c */ 8610 #line 2518 "parser.yy" 8611 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7632 #line 2517 "parser.yy" /* yacc.c:1646 */ 7633 { (yyval.decl) = (yyvsp[-1].decl); } 7634 #line 7635 "Parser/parser.cc" /* yacc.c:1646 */ 8612 7635 break; 8613 7636 8614 7637 case 654: 8615 8616 /* Line 1806 of yacc.c */ 8617 #line 2523 "parser.yy" 8618 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 7638 #line 2522 "parser.yy" /* yacc.c:1646 */ 7639 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[-2].decl), 0 ); } 7640 #line 7641 "Parser/parser.cc" /* yacc.c:1646 */ 8619 7641 break; 8620 7642 8621 7643 case 655: 8622 8623 /* Line 1806 of yacc.c */ 8624 #line 2525 "parser.yy" 8625 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7644 #line 2524 "parser.yy" /* yacc.c:1646 */ 7645 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7646 #line 7647 "Parser/parser.cc" /* yacc.c:1646 */ 8626 7647 break; 8627 7648 8628 7649 case 656: 8629 8630 /* Line 1806 of yacc.c */ 8631 #line 2527 "parser.yy" 8632 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7650 #line 2526 "parser.yy" /* yacc.c:1646 */ 7651 { (yyval.decl) = (yyvsp[-1].decl); } 7652 #line 7653 "Parser/parser.cc" /* yacc.c:1646 */ 8633 7653 break; 8634 7654 8635 7655 case 657: 8636 8637 /* Line 1806 of yacc.c */ 8638 #line 2533 "parser.yy" 7656 #line 2532 "parser.yy" /* yacc.c:1646 */ 8639 7657 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 7658 #line 7659 "Parser/parser.cc" /* yacc.c:1646 */ 8640 7659 break; 8641 7660 8642 7661 case 658: 8643 8644 /* Line 1806 of yacc.c */ 8645 #line 2535 "parser.yy" 8646 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 7662 #line 2534 "parser.yy" /* yacc.c:1646 */ 7663 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[0].decl) ); } 7664 #line 7665 "Parser/parser.cc" /* yacc.c:1646 */ 8647 7665 break; 8648 7666 8649 7667 case 660: 8650 8651 /* Line 1806 of yacc.c */ 8652 #line 2541 "parser.yy" 8653 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 7668 #line 2540 "parser.yy" /* yacc.c:1646 */ 7669 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), 0, false ); } 7670 #line 7671 "Parser/parser.cc" /* yacc.c:1646 */ 8654 7671 break; 8655 7672 8656 7673 case 661: 8657 8658 /* Line 1806 of yacc.c */ 8659 #line 2543 "parser.yy" 7674 #line 2542 "parser.yy" /* yacc.c:1646 */ 8660 7675 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 7676 #line 7677 "Parser/parser.cc" /* yacc.c:1646 */ 8661 7677 break; 8662 7678 8663 7679 case 662: 8664 8665 /* Line 1806 of yacc.c */ 8666 #line 2545 "parser.yy" 8667 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 7680 #line 2544 "parser.yy" /* yacc.c:1646 */ 7681 { (yyval.decl) = (yyvsp[-5].decl)->addArray( DeclarationNode::newArray( (yyvsp[-2].en), 0, false ) ); } 7682 #line 7683 "Parser/parser.cc" /* yacc.c:1646 */ 8668 7683 break; 8669 7684 8670 7685 case 663: 8671 8672 /* Line 1806 of yacc.c */ 8673 #line 2547 "parser.yy" 8674 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 7686 #line 2546 "parser.yy" /* yacc.c:1646 */ 7687 { (yyval.decl) = (yyvsp[-5].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 7688 #line 7689 "Parser/parser.cc" /* yacc.c:1646 */ 8675 7689 break; 8676 7690 8677 7691 case 665: 8678 8679 /* Line 1806 of yacc.c */ 8680 #line 2562 "parser.yy" 8681 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7692 #line 2561 "parser.yy" /* yacc.c:1646 */ 7693 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7694 #line 7695 "Parser/parser.cc" /* yacc.c:1646 */ 8682 7695 break; 8683 7696 8684 7697 case 666: 8685 8686 /* Line 1806 of yacc.c */ 8687 #line 2564 "parser.yy" 8688 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7698 #line 2563 "parser.yy" /* yacc.c:1646 */ 7699 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7700 #line 7701 "Parser/parser.cc" /* yacc.c:1646 */ 8689 7701 break; 8690 7702 8691 7703 case 667: 8692 8693 /* Line 1806 of yacc.c */ 8694 #line 2569 "parser.yy" 7704 #line 2568 "parser.yy" /* yacc.c:1646 */ 8695 7705 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 7706 #line 7707 "Parser/parser.cc" /* yacc.c:1646 */ 8696 7707 break; 8697 7708 8698 7709 case 668: 8699 8700 /* Line 1806 of yacc.c */ 8701 #line 2571 "parser.yy" 8702 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 7710 #line 2570 "parser.yy" /* yacc.c:1646 */ 7711 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); } 7712 #line 7713 "Parser/parser.cc" /* yacc.c:1646 */ 8703 7713 break; 8704 7714 8705 7715 case 669: 8706 8707 /* Line 1806 of yacc.c */ 8708 #line 2573 "parser.yy" 8709 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7716 #line 2572 "parser.yy" /* yacc.c:1646 */ 7717 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7718 #line 7719 "Parser/parser.cc" /* yacc.c:1646 */ 8710 7719 break; 8711 7720 8712 7721 case 670: 8713 8714 /* Line 1806 of yacc.c */ 8715 #line 2575 "parser.yy" 8716 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7722 #line 2574 "parser.yy" /* yacc.c:1646 */ 7723 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7724 #line 7725 "Parser/parser.cc" /* yacc.c:1646 */ 8717 7725 break; 8718 7726 8719 7727 case 671: 8720 8721 /* Line 1806 of yacc.c */ 8722 #line 2577 "parser.yy" 8723 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7728 #line 2576 "parser.yy" /* yacc.c:1646 */ 7729 { (yyval.decl) = (yyvsp[-1].decl); } 7730 #line 7731 "Parser/parser.cc" /* yacc.c:1646 */ 8724 7731 break; 8725 7732 8726 7733 case 673: 8727 8728 /* Line 1806 of yacc.c */ 8729 #line 2583 "parser.yy" 8730 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7734 #line 2582 "parser.yy" /* yacc.c:1646 */ 7735 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7736 #line 7737 "Parser/parser.cc" /* yacc.c:1646 */ 8731 7737 break; 8732 7738 8733 7739 case 674: 8734 8735 /* Line 1806 of yacc.c */ 8736 #line 2585 "parser.yy" 8737 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7740 #line 2584 "parser.yy" /* yacc.c:1646 */ 7741 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7742 #line 7743 "Parser/parser.cc" /* yacc.c:1646 */ 8738 7743 break; 8739 7744 8740 7745 case 675: 8741 8742 /* Line 1806 of yacc.c */ 8743 #line 2587 "parser.yy" 8744 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7746 #line 2586 "parser.yy" /* yacc.c:1646 */ 7747 { (yyval.decl) = (yyvsp[-1].decl); } 7748 #line 7749 "Parser/parser.cc" /* yacc.c:1646 */ 8745 7749 break; 8746 7750 8747 7751 case 676: 8748 8749 /* Line 1806 of yacc.c */ 8750 #line 2592 "parser.yy" 8751 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 7752 #line 2591 "parser.yy" /* yacc.c:1646 */ 7753 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[-2].decl), 0 ); } 7754 #line 7755 "Parser/parser.cc" /* yacc.c:1646 */ 8752 7755 break; 8753 7756 8754 7757 case 677: 8755 8756 /* Line 1806 of yacc.c */ 8757 #line 2594 "parser.yy" 8758 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7758 #line 2593 "parser.yy" /* yacc.c:1646 */ 7759 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7760 #line 7761 "Parser/parser.cc" /* yacc.c:1646 */ 8759 7761 break; 8760 7762 8761 7763 case 678: 8762 8763 /* Line 1806 of yacc.c */ 8764 #line 2596 "parser.yy" 8765 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7764 #line 2595 "parser.yy" /* yacc.c:1646 */ 7765 { (yyval.decl) = (yyvsp[-1].decl); } 7766 #line 7767 "Parser/parser.cc" /* yacc.c:1646 */ 8766 7767 break; 8767 7768 8768 7769 case 680: 8769 8770 /* Line 1806 of yacc.c */ 8771 #line 2603 "parser.yy" 8772 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7770 #line 2602 "parser.yy" /* yacc.c:1646 */ 7771 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7772 #line 7773 "Parser/parser.cc" /* yacc.c:1646 */ 8773 7773 break; 8774 7774 8775 7775 case 682: 8776 8777 /* Line 1806 of yacc.c */ 8778 #line 2614 "parser.yy" 7776 #line 2613 "parser.yy" /* yacc.c:1646 */ 8779 7777 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 7778 #line 7779 "Parser/parser.cc" /* yacc.c:1646 */ 8780 7779 break; 8781 7780 8782 7781 case 683: 8783 8784 /* Line 1806 of yacc.c */ 8785 #line 2617 "parser.yy" 8786 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 7782 #line 2616 "parser.yy" /* yacc.c:1646 */ 7783 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[-3].decl) ); } 7784 #line 7785 "Parser/parser.cc" /* yacc.c:1646 */ 8787 7785 break; 8788 7786 8789 7787 case 684: 8790 8791 /* Line 1806 of yacc.c */ 8792 #line 2619 "parser.yy" 8793 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 7788 #line 2618 "parser.yy" /* yacc.c:1646 */ 7789 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[-2].decl), false ); } 7790 #line 7791 "Parser/parser.cc" /* yacc.c:1646 */ 8794 7791 break; 8795 7792 8796 7793 case 685: 8797 8798 /* Line 1806 of yacc.c */ 8799 #line 2622 "parser.yy" 8800 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 7794 #line 2621 "parser.yy" /* yacc.c:1646 */ 7795 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), false ); } 7796 #line 7797 "Parser/parser.cc" /* yacc.c:1646 */ 8801 7797 break; 8802 7798 8803 7799 case 686: 8804 8805 /* Line 1806 of yacc.c */ 8806 #line 2624 "parser.yy" 8807 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 7800 #line 2623 "parser.yy" /* yacc.c:1646 */ 7801 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), true ); } 7802 #line 7803 "Parser/parser.cc" /* yacc.c:1646 */ 8808 7803 break; 8809 7804 8810 7805 case 687: 8811 8812 /* Line 1806 of yacc.c */ 8813 #line 2626 "parser.yy" 8814 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 7806 #line 2625 "parser.yy" /* yacc.c:1646 */ 7807 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-4].decl), true ); } 7808 #line 7809 "Parser/parser.cc" /* yacc.c:1646 */ 8815 7809 break; 8816 7810 8817 7811 case 689: 8818 8819 /* Line 1806 of yacc.c */ 8820 #line 2640 "parser.yy" 8821 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7812 #line 2639 "parser.yy" /* yacc.c:1646 */ 7813 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7814 #line 7815 "Parser/parser.cc" /* yacc.c:1646 */ 8822 7815 break; 8823 7816 8824 7817 case 690: 8825 8826 /* Line 1806 of yacc.c */ 8827 #line 2642 "parser.yy" 8828 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7818 #line 2641 "parser.yy" /* yacc.c:1646 */ 7819 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7820 #line 7821 "Parser/parser.cc" /* yacc.c:1646 */ 8829 7821 break; 8830 7822 8831 7823 case 691: 8832 8833 /* Line 1806 of yacc.c */ 8834 #line 2647 "parser.yy" 7824 #line 2646 "parser.yy" /* yacc.c:1646 */ 8835 7825 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 7826 #line 7827 "Parser/parser.cc" /* yacc.c:1646 */ 8836 7827 break; 8837 7828 8838 7829 case 692: 8839 8840 /* Line 1806 of yacc.c */ 8841 #line 2649 "parser.yy" 8842 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 7830 #line 2648 "parser.yy" /* yacc.c:1646 */ 7831 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); } 7832 #line 7833 "Parser/parser.cc" /* yacc.c:1646 */ 8843 7833 break; 8844 7834 8845 7835 case 693: 8846 8847 /* Line 1806 of yacc.c */ 8848 #line 2651 "parser.yy" 8849 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7836 #line 2650 "parser.yy" /* yacc.c:1646 */ 7837 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7838 #line 7839 "Parser/parser.cc" /* yacc.c:1646 */ 8850 7839 break; 8851 7840 8852 7841 case 694: 8853 8854 /* Line 1806 of yacc.c */ 8855 #line 2653 "parser.yy" 8856 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7842 #line 2652 "parser.yy" /* yacc.c:1646 */ 7843 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7844 #line 7845 "Parser/parser.cc" /* yacc.c:1646 */ 8857 7845 break; 8858 7846 8859 7847 case 695: 8860 8861 /* Line 1806 of yacc.c */ 8862 #line 2655 "parser.yy" 8863 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7848 #line 2654 "parser.yy" /* yacc.c:1646 */ 7849 { (yyval.decl) = (yyvsp[-1].decl); } 7850 #line 7851 "Parser/parser.cc" /* yacc.c:1646 */ 8864 7851 break; 8865 7852 8866 7853 case 697: 8867 8868 /* Line 1806 of yacc.c */ 8869 #line 2661 "parser.yy" 8870 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7854 #line 2660 "parser.yy" /* yacc.c:1646 */ 7855 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7856 #line 7857 "Parser/parser.cc" /* yacc.c:1646 */ 8871 7857 break; 8872 7858 8873 7859 case 698: 8874 8875 /* Line 1806 of yacc.c */ 8876 #line 2663 "parser.yy" 8877 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7860 #line 2662 "parser.yy" /* yacc.c:1646 */ 7861 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7862 #line 7863 "Parser/parser.cc" /* yacc.c:1646 */ 8878 7863 break; 8879 7864 8880 7865 case 699: 8881 8882 /* Line 1806 of yacc.c */ 8883 #line 2665 "parser.yy" 8884 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7866 #line 2664 "parser.yy" /* yacc.c:1646 */ 7867 { (yyval.decl) = (yyvsp[-1].decl); } 7868 #line 7869 "Parser/parser.cc" /* yacc.c:1646 */ 8885 7869 break; 8886 7870 8887 7871 case 700: 8888 8889 /* Line 1806 of yacc.c */ 8890 #line 2670 "parser.yy" 8891 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7872 #line 2669 "parser.yy" /* yacc.c:1646 */ 7873 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7874 #line 7875 "Parser/parser.cc" /* yacc.c:1646 */ 8892 7875 break; 8893 7876 8894 7877 case 701: 8895 8896 /* Line 1806 of yacc.c */ 8897 #line 2672 "parser.yy" 8898 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7878 #line 2671 "parser.yy" /* yacc.c:1646 */ 7879 { (yyval.decl) = (yyvsp[-1].decl); } 7880 #line 7881 "Parser/parser.cc" /* yacc.c:1646 */ 8899 7881 break; 8900 7882 8901 7883 case 704: 8902 8903 /* Line 1806 of yacc.c */ 8904 #line 2682 "parser.yy" 8905 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7884 #line 2681 "parser.yy" /* yacc.c:1646 */ 7885 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 7886 #line 7887 "Parser/parser.cc" /* yacc.c:1646 */ 8906 7887 break; 8907 7888 8908 7889 case 707: 8909 8910 /* Line 1806 of yacc.c */ 8911 #line 2692 "parser.yy" 8912 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7890 #line 2691 "parser.yy" /* yacc.c:1646 */ 7891 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7892 #line 7893 "Parser/parser.cc" /* yacc.c:1646 */ 8913 7893 break; 8914 7894 8915 7895 case 708: 8916 8917 /* Line 1806 of yacc.c */ 8918 #line 2694 "parser.yy" 8919 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 7896 #line 2693 "parser.yy" /* yacc.c:1646 */ 7897 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 7898 #line 7899 "Parser/parser.cc" /* yacc.c:1646 */ 8920 7899 break; 8921 7900 8922 7901 case 709: 8923 8924 /* Line 1806 of yacc.c */ 8925 #line 2696 "parser.yy" 8926 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7902 #line 2695 "parser.yy" /* yacc.c:1646 */ 7903 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7904 #line 7905 "Parser/parser.cc" /* yacc.c:1646 */ 8927 7905 break; 8928 7906 8929 7907 case 710: 8930 8931 /* Line 1806 of yacc.c */ 8932 #line 2698 "parser.yy" 8933 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 7908 #line 2697 "parser.yy" /* yacc.c:1646 */ 7909 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 7910 #line 7911 "Parser/parser.cc" /* yacc.c:1646 */ 8934 7911 break; 8935 7912 8936 7913 case 711: 8937 8938 /* Line 1806 of yacc.c */ 8939 #line 2700 "parser.yy" 8940 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7914 #line 2699 "parser.yy" /* yacc.c:1646 */ 7915 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7916 #line 7917 "Parser/parser.cc" /* yacc.c:1646 */ 8941 7917 break; 8942 7918 8943 7919 case 712: 8944 8945 /* Line 1806 of yacc.c */ 8946 #line 2702 "parser.yy" 8947 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 7920 #line 2701 "parser.yy" /* yacc.c:1646 */ 7921 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 7922 #line 7923 "Parser/parser.cc" /* yacc.c:1646 */ 8948 7923 break; 8949 7924 8950 7925 case 713: 8951 8952 /* Line 1806 of yacc.c */ 8953 #line 2709 "parser.yy" 8954 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7926 #line 2708 "parser.yy" /* yacc.c:1646 */ 7927 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7928 #line 7929 "Parser/parser.cc" /* yacc.c:1646 */ 8955 7929 break; 8956 7930 8957 7931 case 714: 8958 8959 /* Line 1806 of yacc.c */ 8960 #line 2711 "parser.yy" 8961 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7932 #line 2710 "parser.yy" /* yacc.c:1646 */ 7933 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7934 #line 7935 "Parser/parser.cc" /* yacc.c:1646 */ 8962 7935 break; 8963 7936 8964 7937 case 715: 8965 8966 /* Line 1806 of yacc.c */ 8967 #line 2713 "parser.yy" 8968 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7938 #line 2712 "parser.yy" /* yacc.c:1646 */ 7939 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7940 #line 7941 "Parser/parser.cc" /* yacc.c:1646 */ 8969 7941 break; 8970 7942 8971 7943 case 716: 8972 8973 /* Line 1806 of yacc.c */ 8974 #line 2715 "parser.yy" 8975 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 7944 #line 2714 "parser.yy" /* yacc.c:1646 */ 7945 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( (yyvsp[-2].decl) ); } 7946 #line 7947 "Parser/parser.cc" /* yacc.c:1646 */ 8976 7947 break; 8977 7948 8978 7949 case 717: 8979 8980 /* Line 1806 of yacc.c */ 8981 #line 2717 "parser.yy" 8982 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7950 #line 2716 "parser.yy" /* yacc.c:1646 */ 7951 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7952 #line 7953 "Parser/parser.cc" /* yacc.c:1646 */ 8983 7953 break; 8984 7954 8985 7955 case 718: 8986 8987 /* Line 1806 of yacc.c */ 8988 #line 2719 "parser.yy" 8989 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7956 #line 2718 "parser.yy" /* yacc.c:1646 */ 7957 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7958 #line 7959 "Parser/parser.cc" /* yacc.c:1646 */ 8990 7959 break; 8991 7960 8992 7961 case 719: 8993 8994 /* Line 1806 of yacc.c */ 8995 #line 2721 "parser.yy" 8996 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7962 #line 2720 "parser.yy" /* yacc.c:1646 */ 7963 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7964 #line 7965 "Parser/parser.cc" /* yacc.c:1646 */ 8997 7965 break; 8998 7966 8999 7967 case 720: 9000 9001 /* Line 1806 of yacc.c */ 9002 #line 2723 "parser.yy" 9003 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7968 #line 2722 "parser.yy" /* yacc.c:1646 */ 7969 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7970 #line 7971 "Parser/parser.cc" /* yacc.c:1646 */ 9004 7971 break; 9005 7972 9006 7973 case 721: 9007 9008 /* Line 1806 of yacc.c */ 9009 #line 2725 "parser.yy" 9010 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 7974 #line 2724 "parser.yy" /* yacc.c:1646 */ 7975 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( (yyvsp[-2].decl) ); } 7976 #line 7977 "Parser/parser.cc" /* yacc.c:1646 */ 9011 7977 break; 9012 7978 9013 7979 case 722: 9014 9015 /* Line 1806 of yacc.c */ 9016 #line 2727 "parser.yy" 9017 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7980 #line 2726 "parser.yy" /* yacc.c:1646 */ 7981 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7982 #line 7983 "Parser/parser.cc" /* yacc.c:1646 */ 9018 7983 break; 9019 7984 9020 7985 case 723: 9021 9022 /* Line 1806 of yacc.c */ 9023 #line 2732 "parser.yy" 9024 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 7986 #line 2731 "parser.yy" /* yacc.c:1646 */ 7987 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[-3].decl) ); } 7988 #line 7989 "Parser/parser.cc" /* yacc.c:1646 */ 9025 7989 break; 9026 7990 9027 7991 case 724: 9028 9029 /* Line 1806 of yacc.c */ 9030 #line 2734 "parser.yy" 9031 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 7992 #line 2733 "parser.yy" /* yacc.c:1646 */ 7993 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), false ); } 7994 #line 7995 "Parser/parser.cc" /* yacc.c:1646 */ 9032 7995 break; 9033 7996 9034 7997 case 725: 9035 9036 /* Line 1806 of yacc.c */ 9037 #line 2739 "parser.yy" 9038 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 7998 #line 2738 "parser.yy" /* yacc.c:1646 */ 7999 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), true ); } 8000 #line 8001 "Parser/parser.cc" /* yacc.c:1646 */ 9039 8001 break; 9040 8002 9041 8003 case 726: 9042 9043 /* Line 1806 of yacc.c */ 9044 #line 2741 "parser.yy" 9045 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 8004 #line 2740 "parser.yy" /* yacc.c:1646 */ 8005 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl)->addQualifiers( (yyvsp[-4].decl) ), true ); } 8006 #line 8007 "Parser/parser.cc" /* yacc.c:1646 */ 9046 8007 break; 9047 8008 9048 8009 case 728: 9049 9050 /* Line 1806 of yacc.c */ 9051 #line 2768 "parser.yy" 9052 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8010 #line 2767 "parser.yy" /* yacc.c:1646 */ 8011 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 8012 #line 8013 "Parser/parser.cc" /* yacc.c:1646 */ 9053 8013 break; 9054 8014 9055 8015 case 732: 9056 9057 /* Line 1806 of yacc.c */ 9058 #line 2779 "parser.yy" 9059 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8016 #line 2778 "parser.yy" /* yacc.c:1646 */ 8017 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8018 #line 8019 "Parser/parser.cc" /* yacc.c:1646 */ 9060 8019 break; 9061 8020 9062 8021 case 733: 9063 9064 /* Line 1806 of yacc.c */ 9065 #line 2781 "parser.yy" 9066 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8022 #line 2780 "parser.yy" /* yacc.c:1646 */ 8023 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 8024 #line 8025 "Parser/parser.cc" /* yacc.c:1646 */ 9067 8025 break; 9068 8026 9069 8027 case 734: 9070 9071 /* Line 1806 of yacc.c */ 9072 #line 2783 "parser.yy" 9073 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8028 #line 2782 "parser.yy" /* yacc.c:1646 */ 8029 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8030 #line 8031 "Parser/parser.cc" /* yacc.c:1646 */ 9074 8031 break; 9075 8032 9076 8033 case 735: 9077 9078 /* Line 1806 of yacc.c */ 9079 #line 2785 "parser.yy" 9080 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8034 #line 2784 "parser.yy" /* yacc.c:1646 */ 8035 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 8036 #line 8037 "Parser/parser.cc" /* yacc.c:1646 */ 9081 8037 break; 9082 8038 9083 8039 case 736: 9084 9085 /* Line 1806 of yacc.c */ 9086 #line 2787 "parser.yy" 9087 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8040 #line 2786 "parser.yy" /* yacc.c:1646 */ 8041 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8042 #line 8043 "Parser/parser.cc" /* yacc.c:1646 */ 9088 8043 break; 9089 8044 9090 8045 case 737: 9091 9092 /* Line 1806 of yacc.c */ 9093 #line 2789 "parser.yy" 9094 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8046 #line 2788 "parser.yy" /* yacc.c:1646 */ 8047 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 8048 #line 8049 "Parser/parser.cc" /* yacc.c:1646 */ 9095 8049 break; 9096 8050 9097 8051 case 738: 9098 9099 /* Line 1806 of yacc.c */ 9100 #line 2796 "parser.yy" 9101 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 8052 #line 2795 "parser.yy" /* yacc.c:1646 */ 8053 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8054 #line 8055 "Parser/parser.cc" /* yacc.c:1646 */ 9102 8055 break; 9103 8056 9104 8057 case 739: 9105 9106 /* Line 1806 of yacc.c */ 9107 #line 2798 "parser.yy" 9108 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 8058 #line 2797 "parser.yy" /* yacc.c:1646 */ 8059 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8060 #line 8061 "Parser/parser.cc" /* yacc.c:1646 */ 9109 8061 break; 9110 8062 9111 8063 case 740: 9112 9113 /* Line 1806 of yacc.c */ 9114 #line 2800 "parser.yy" 9115 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8064 #line 2799 "parser.yy" /* yacc.c:1646 */ 8065 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 8066 #line 8067 "Parser/parser.cc" /* yacc.c:1646 */ 9116 8067 break; 9117 8068 9118 8069 case 741: 9119 9120 /* Line 1806 of yacc.c */ 9121 #line 2802 "parser.yy" 9122 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 8070 #line 2801 "parser.yy" /* yacc.c:1646 */ 8071 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8072 #line 8073 "Parser/parser.cc" /* yacc.c:1646 */ 9123 8073 break; 9124 8074 9125 8075 case 742: 9126 9127 /* Line 1806 of yacc.c */ 9128 #line 2804 "parser.yy" 9129 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 8076 #line 2803 "parser.yy" /* yacc.c:1646 */ 8077 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8078 #line 8079 "Parser/parser.cc" /* yacc.c:1646 */ 9130 8079 break; 9131 8080 9132 8081 case 743: 9133 9134 /* Line 1806 of yacc.c */ 9135 #line 2806 "parser.yy" 9136 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8082 #line 2805 "parser.yy" /* yacc.c:1646 */ 8083 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 8084 #line 8085 "Parser/parser.cc" /* yacc.c:1646 */ 9137 8085 break; 9138 8086 9139 8087 case 744: 9140 9141 /* Line 1806 of yacc.c */ 9142 #line 2811 "parser.yy" 9143 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 8088 #line 2810 "parser.yy" /* yacc.c:1646 */ 8089 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-2].decl) ); } 8090 #line 8091 "Parser/parser.cc" /* yacc.c:1646 */ 9144 8091 break; 9145 8092 9146 8093 case 745: 9147 9148 /* Line 1806 of yacc.c */ 9149 #line 2816 "parser.yy" 9150 { (yyval.decl) = DeclarationNode::newFunction( nullptr, DeclarationNode::newTuple( nullptr ), (yyvsp[(4) - (5)].decl), nullptr ); } 8094 #line 2815 "parser.yy" /* yacc.c:1646 */ 8095 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[-1].decl), 0 ); } 8096 #line 8097 "Parser/parser.cc" /* yacc.c:1646 */ 9151 8097 break; 9152 8098 9153 8099 case 746: 9154 9155 /* Line 1806 of yacc.c */ 9156 #line 2818 "parser.yy" 9157 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 8100 #line 2817 "parser.yy" /* yacc.c:1646 */ 8101 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[-5].decl), (yyvsp[-2].decl), 0 ); } 8102 #line 8103 "Parser/parser.cc" /* yacc.c:1646 */ 9158 8103 break; 9159 8104 9160 8105 case 747: 9161 9162 /* Line 1806 of yacc.c */ 9163 #line 2820 "parser.yy" 9164 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 8106 #line 2819 "parser.yy" /* yacc.c:1646 */ 8107 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[-5].decl), (yyvsp[-2].decl), 0 ); } 8108 #line 8109 "Parser/parser.cc" /* yacc.c:1646 */ 9165 8109 break; 9166 8110 9167 8111 case 750: 9168 9169 /* Line 1806 of yacc.c */ 9170 #line 2844 "parser.yy" 8112 #line 2843 "parser.yy" /* yacc.c:1646 */ 9171 8113 { (yyval.en) = 0; } 8114 #line 8115 "Parser/parser.cc" /* yacc.c:1646 */ 9172 8115 break; 9173 8116 9174 8117 case 751: 9175 9176 /* Line 1806 of yacc.c */ 9177 #line 2846 "parser.yy" 9178 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9179 break; 9180 9181 9182 9183 /* Line 1806 of yacc.c */ 9184 #line 9185 "Parser/parser.cc" 8118 #line 2845 "parser.yy" /* yacc.c:1646 */ 8119 { (yyval.en) = (yyvsp[0].en); } 8120 #line 8121 "Parser/parser.cc" /* yacc.c:1646 */ 8121 break; 8122 8123 8124 #line 8125 "Parser/parser.cc" /* yacc.c:1646 */ 9185 8125 default: break; 9186 8126 } … … 9204 8144 *++yyvsp = yyval; 9205 8145 9206 /* Now `shift' the result of the reduction. Determine what state8146 /* Now 'shift' the result of the reduction. Determine what state 9207 8147 that goes to, based on the state we popped back to and the rule 9208 8148 number reduced by. */ … … 9219 8159 9220 8160 9221 /*------------------------------------ .9222 | yyerrlab -- here on detecting error |9223 `------------------------------------ */8161 /*--------------------------------------. 8162 | yyerrlab -- here on detecting error. | 8163 `--------------------------------------*/ 9224 8164 yyerrlab: 9225 8165 /* Make sure we have latest lookahead translation. See comments at … … 9272 8212 { 9273 8213 /* If just tried and failed to reuse lookahead token after an 9274 error, discard it. */8214 error, discard it. */ 9275 8215 9276 8216 if (yychar <= YYEOF) 9277 {9278 /* Return failure if at end of input. */9279 if (yychar == YYEOF)9280 YYABORT;9281 }8217 { 8218 /* Return failure if at end of input. */ 8219 if (yychar == YYEOF) 8220 YYABORT; 8221 } 9282 8222 else 9283 {9284 yydestruct ("Error: discarding",9285 yytoken, &yylval);9286 yychar = YYEMPTY;9287 }8223 { 8224 yydestruct ("Error: discarding", 8225 yytoken, &yylval); 8226 yychar = YYEMPTY; 8227 } 9288 8228 } 9289 8229 … … 9304 8244 goto yyerrorlab; 9305 8245 9306 /* Do not reclaim the symbols of the rule wh ichaction triggered8246 /* Do not reclaim the symbols of the rule whose action triggered 9307 8247 this YYERROR. */ 9308 8248 YYPOPSTACK (yylen); … … 9317 8257 `-------------------------------------------------------------*/ 9318 8258 yyerrlab1: 9319 yyerrstatus = 3; /* Each real token shifted decrements this. */8259 yyerrstatus = 3; /* Each real token shifted decrements this. */ 9320 8260 9321 8261 for (;;) … … 9323 8263 yyn = yypact[yystate]; 9324 8264 if (!yypact_value_is_default (yyn)) 9325 {9326 yyn += YYTERROR;9327 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)9328 {9329 yyn = yytable[yyn];9330 if (0 < yyn)9331 break;9332 }9333 }8265 { 8266 yyn += YYTERROR; 8267 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 8268 { 8269 yyn = yytable[yyn]; 8270 if (0 < yyn) 8271 break; 8272 } 8273 } 9334 8274 9335 8275 /* Pop the current state because it cannot handle the error token. */ 9336 8276 if (yyssp == yyss) 9337 YYABORT;8277 YYABORT; 9338 8278 9339 8279 9340 8280 yydestruct ("Error: popping", 9341 yystos[yystate], yyvsp);8281 yystos[yystate], yyvsp); 9342 8282 YYPOPSTACK (1); 9343 8283 yystate = *yyssp; … … 9345 8285 } 9346 8286 8287 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 9347 8288 *++yyvsp = yylval; 8289 YY_IGNORE_MAYBE_UNINITIALIZED_END 9348 8290 9349 8291 … … 9369 8311 goto yyreturn; 9370 8312 9371 #if !defined (yyoverflow)|| YYERROR_VERBOSE8313 #if !defined yyoverflow || YYERROR_VERBOSE 9372 8314 /*-------------------------------------------------. 9373 8315 | yyexhaustedlab -- memory exhaustion comes here. | … … 9388 8330 yytoken, &yylval); 9389 8331 } 9390 /* Do not reclaim the symbols of the rule wh ichaction triggered8332 /* Do not reclaim the symbols of the rule whose action triggered 9391 8333 this YYABORT or YYACCEPT. */ 9392 8334 YYPOPSTACK (yylen); … … 9395 8337 { 9396 8338 yydestruct ("Cleanup: popping", 9397 yystos[*yyssp], yyvsp);8339 yystos[*yyssp], yyvsp); 9398 8340 YYPOPSTACK (1); 9399 8341 } … … 9406 8348 YYSTACK_FREE (yymsg); 9407 8349 #endif 9408 /* Make sure YYID is used. */ 9409 return YYID (yyresult); 8350 return yyresult; 9410 8351 } 9411 9412 9413 9414 /* Line 2067 of yacc.c */ 9415 #line 2849 "parser.yy" 8352 #line 2848 "parser.yy" /* yacc.c:1906 */ 9416 8353 9417 8354 // ----end of grammar---- … … 9420 8357 9421 8358 void yyerror( const char * ) { 9422 cout << "Error ";8359 std::cout << "Error "; 9423 8360 if ( yyfilename ) { 9424 cout << "in file " << yyfilename << " ";8361 std::cout << "in file " << yyfilename << " "; 9425 8362 } // if 9426 cout << "at line " << yylineno << " reading token \"" << (yytext[0] == '\0' ? "EOF" : yytext) << "\"" <<endl;8363 std::cout << "at line " << yylineno << " reading token \"" << (yytext[0] == '\0' ? "EOF" : yytext) << "\"" << std::endl; 9427 8364 } 9428 8365 … … 9432 8369 // compile-command: "make install" // 9433 8370 // End: // 9434
Note:
See TracChangeset
for help on using the changeset viewer.