Changes in / [04c8bba:0edebf8]
- Location:
- src
- Files:
-
- 14 edited
-
CodeGen/CodeGenerator.cc (modified) (4 diffs)
-
CodeGen/CodeGenerator.h (modified) (2 diffs)
-
CodeGen/OperatorTable.cc (modified) (2 diffs)
-
Parser/DeclarationNode.cc (modified) (6 diffs)
-
Parser/ParseNode.h (modified) (4 diffs)
-
Parser/TypeData.cc (modified) (5 diffs)
-
Parser/TypeData.h (modified) (2 diffs)
-
Parser/parser.cc (modified) (75 diffs)
-
Parser/parser.h (modified) (4 diffs)
-
Parser/parser.yy (modified) (27 diffs)
-
SynTree/Declaration.h (modified) (4 diffs)
-
SynTree/DeclarationWithType.cc (modified) (3 diffs)
-
tests/.expect/32/gccExtensions.txt (modified) (1 diff)
-
tests/.expect/64/gccExtensions.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.cc
r04c8bba r0edebf8 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Dec 13 14:51:27201613 // Update Count : 3 6212 // Last Modified On : Thu Aug 4 13:35:30 2016 13 // Update Count : 352 14 14 // 15 15 … … 57 57 if ( decl->get_extension() ) { 58 58 output << "__extension__ "; 59 } // if60 } // extension61 62 void CodeGenerator::asmName( DeclarationWithType * decl ) {63 if ( ConstantExpr * asmName = decl->get_asmName() ) {64 output << " asm ( " << asmName->get_constant()->get_value() << " )";65 59 } // if 66 60 } // extension … … 147 141 } // if 148 142 149 asmName( functionDecl );150 151 143 // acceptAll( functionDecl->get_oldDecls(), *this ); 152 144 if ( functionDecl->get_statements() ) { … … 161 153 handleStorageClass( objectDecl ); 162 154 output << genType( objectDecl->get_type(), mangleName( objectDecl ) ); 163 164 asmName( objectDecl );165 155 166 156 if ( objectDecl->get_init() ) { -
src/CodeGen/CodeGenerator.h
r04c8bba r0edebf8 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Dec 13 13:51:53201613 // Update Count : 3 912 // Last Modified On : Thu Aug 4 13:37:07 2016 13 // Update Count : 38 14 14 // 15 15 … … 107 107 }; 108 108 109 void asmName( DeclarationWithType *decl );110 111 109 void extension( Expression *expr ); 112 110 void extension( Declaration *decl ); -
src/CodeGen/OperatorTable.cc
r04c8bba r0edebf8 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : T ue Dec 13 14:33:05201613 // Update Count : 1011 // Last Modified By : Rob Schluntz 12 // Last Modified On : Thu Apr 14 16:48:27 2016 13 // Update Count : 9 14 14 // 15 15 … … 21 21 const OperatorInfo tableValues[] = { 22 22 { "?[?]", "", "_operator_index", OT_INDEX }, 23 { "?{}", "=", "_constructor", OT_CTOR },23 { "?{}", "=", "_constructor", OT_CTOR }, 24 24 { "^?{}", "", "_destructor", OT_DTOR }, 25 25 { "?()", "", "_operator_call", OT_CALL }, -
src/Parser/DeclarationNode.cc
r04c8bba r0edebf8 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 13 14:43:38 201613 // Update Count : 6 6012 // Last Modified On : Mon Oct 3 18:03:08 2016 13 // Update Count : 651 14 14 // 15 15 … … 48 48 type( nullptr ), 49 49 storageClass( NoStorageClass ), 50 bitfieldWidth( nullptr ),51 50 isInline( false ), 52 51 isNoreturn( false ), 52 bitfieldWidth( nullptr ), 53 initializer( nullptr ), 53 54 hasEllipsis( false ), 54 55 linkage( ::linkage ), 55 asmName( nullptr ),56 initializer( nullptr ),57 56 extension( false ) { 58 57 … … 76 75 delete type; 77 76 delete bitfieldWidth; 78 // asmName, no delete, passed to next stage79 77 delete initializer; 80 78 } … … 92 90 newnode->set_next( maybeClone( get_next() ) ); 93 91 newnode->linkage = linkage; 94 newnode->asmName = maybeClone( asmName );95 92 96 93 // newnode->variable.name = variable.name ? new string( *variable.name ) : nullptr; … … 644 641 } 645 642 646 DeclarationNode * DeclarationNode::addAsmName( ConstantExpr * newname ) {647 assert( ! asmName );648 asmName = newname;649 return this;650 }651 652 643 DeclarationNode * DeclarationNode::addBitfield( ExpressionNode * size ) { 653 644 bitfieldWidth = size; … … 956 947 957 948 if ( type ) { 958 return buildDecl( type, name ? *name : string( "" ), storageClass, maybeBuild< Expression >( bitfieldWidth ), isInline, isNoreturn, linkage, asmName,maybeBuild< Initializer >(initializer) )->set_extension( extension );949 return buildDecl( type, name ? *name : string( "" ), storageClass, maybeBuild< Expression >( bitfieldWidth ), isInline, isNoreturn, linkage, maybeBuild< Initializer >(initializer) )->set_extension( extension ); 959 950 } // if 960 951 961 952 if ( ! isInline && ! isNoreturn ) { 962 953 assertf( name, "ObjectDecl are assumed to have names\n" ); 963 return (new ObjectDecl( *name, storageClass, linkage, maybeBuild< Expression >( bitfieldWidth ), nullptr, maybeBuild< Initializer >( initializer ) ))->set_ asmName( asmName )->set_extension( extension );954 return (new ObjectDecl( *name, storageClass, linkage, maybeBuild< Expression >( bitfieldWidth ), nullptr, maybeBuild< Initializer >( initializer ) ))->set_extension( extension ); 964 955 } // if 965 956 -
src/Parser/ParseNode.h
r04c8bba r0edebf8 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 13 13:26:56201613 // Update Count : 6 4212 // Last Modified On : Mon Oct 3 18:03:08 2016 13 // Update Count : 636 14 14 // 15 15 … … 73 73 InitializerNode( InitializerNode *, bool aggrp = false, ExpressionNode * des = nullptr ); 74 74 ~InitializerNode(); 75 virtual InitializerNode * clone() const { return nullptr; }75 virtual InitializerNode * clone() const { assert( false ); return nullptr; } 76 76 77 77 ExpressionNode * get_expression() const { return expr; } … … 257 257 DeclarationNode * addAssertions( DeclarationNode * ); 258 258 DeclarationNode * addName( std::string * ); 259 DeclarationNode * addAsmName( ConstantExpr * );260 259 DeclarationNode * addBitfield( ExpressionNode * size ); 261 260 DeclarationNode * addVarArgs(); … … 310 309 TypeData * type; 311 310 StorageClass storageClass; 311 bool isInline, isNoreturn; 312 std::list< std::string > attributes; 312 313 ExpressionNode * bitfieldWidth; 313 bool isInline, isNoreturn;314 314 std::unique_ptr<ExpressionNode> enumeratorValue; 315 InitializerNode * initializer; 315 316 bool hasEllipsis; 316 317 LinkageSpec::Spec linkage; 317 ConstantExpr *asmName;318 std::list< std::string > attributes;319 InitializerNode * initializer;320 318 bool extension = false; 321 319 std::string error; -
src/Parser/TypeData.cc
r04c8bba r0edebf8 10 10 // Created On : Sat May 16 15:12:51 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 13 13:40:33201613 // Update Count : 4 2012 // Last Modified On : Sat Sep 24 11:14:26 2016 13 // Update Count : 415 14 14 // 15 15 … … 721 721 } // buildTypeof 722 722 723 Declaration * buildDecl( const TypeData * td, const string &name, DeclarationNode::StorageClass sc, Expression * bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Spec linkage, ConstantExpr *asmName,Initializer * init ) {723 Declaration * buildDecl( const TypeData * td, const string &name, DeclarationNode::StorageClass sc, Expression * bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Spec linkage, Initializer * init ) { 724 724 if ( td->kind == TypeData::Function ) { 725 725 FunctionDecl * decl; … … 743 743 } // for 744 744 buildList( td->function.oldDeclList, decl->get_oldDecls() ); 745 return decl ->set_asmName( asmName );745 return decl; 746 746 } else if ( td->kind == TypeData::Aggregate ) { 747 747 return buildAggregate( td ); … … 751 751 return buildSymbolic( td, name, sc ); 752 752 } else { 753 return (new ObjectDecl( name, sc, linkage, bitfieldWidth, typebuild( td ), init, list< Attribute * >(), isInline, isNoreturn ))->set_asmName( asmName);753 return new ObjectDecl( name, sc, linkage, bitfieldWidth, typebuild( td ), init, list< Attribute * >(), isInline, isNoreturn ); 754 754 } // if 755 755 return nullptr; … … 769 769 break; 770 770 default: 771 ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( buildDecl( td->base, "", DeclarationNode::NoStorageClass, nullptr, false, false, LinkageSpec::Cforall , nullptr) ) );771 ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( buildDecl( td->base, "", DeclarationNode::NoStorageClass, nullptr, false, false, LinkageSpec::Cforall ) ) ); 772 772 } // switch 773 773 } else { -
src/Parser/TypeData.h
r04c8bba r0edebf8 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 13 13:39:39201613 // Update Count : 14 312 // Last Modified On : Mon Oct 3 12:34:08 2016 13 // Update Count : 142 14 14 // 15 15 … … 111 111 TupleType * buildTuple( const TypeData * ); 112 112 TypeofType * buildTypeof( const TypeData * ); 113 Declaration * buildDecl( const TypeData *, const std::string &, DeclarationNode::StorageClass, Expression *, bool isInline, bool isNoreturn, LinkageSpec::Spec, ConstantExpr *asmName,Initializer * init = nullptr );113 Declaration * buildDecl( const TypeData *, const std::string &, DeclarationNode::StorageClass, Expression *, bool isInline, bool isNoreturn, LinkageSpec::Spec, Initializer * init = nullptr ); 114 114 FunctionType * buildFunction( const TypeData * ); 115 115 -
src/Parser/parser.cc
r04c8bba r0edebf8 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 … … 95 91 } // appendStr 96 92 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 93 #line 94 "Parser/parser.cc" /* yacc.c:339 */ 94 95 # ifndef YY_NULLPTR 96 # if defined __cplusplus && 201103L <= __cplusplus 97 # define YY_NULLPTR nullptr 98 # else 99 # define YY_NULLPTR 0 100 # endif 101 # endif 105 102 106 103 /* Enabling verbose error messages. */ … … 112 109 #endif 113 110 114 /* Enabling the token table. */ 115 #ifndef YYTOKEN_TABLE 116 # define YYTOKEN_TABLE 0 111 /* In a future release of Bison, this section will be replaced 112 by #include "y.tab.h". */ 113 #ifndef YY_YY_Y_TAB_H_INCLUDED 114 # define YY_YY_Y_TAB_H_INCLUDED 115 /* Debug traces. */ 116 #ifndef YYDEBUG 117 # define YYDEBUG 1 117 118 #endif 118 119 120 /* Tokens. */ 119 #if YYDEBUG 120 extern int yydebug; 121 #endif 122 123 /* Token type. */ 121 124 #ifndef YYTOKENTYPE 122 125 # 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 ZERO_T = 279, 148 ONE_T = 280, 149 VALIST = 281, 150 BOOL = 282, 151 COMPLEX = 283, 152 IMAGINARY = 284, 153 TYPEOF = 285, 154 LABEL = 286, 155 ENUM = 287, 156 STRUCT = 288, 157 UNION = 289, 158 OTYPE = 290, 159 FTYPE = 291, 160 DTYPE = 292, 161 TRAIT = 293, 162 SIZEOF = 294, 163 OFFSETOF = 295, 164 ATTRIBUTE = 296, 165 EXTENSION = 297, 166 IF = 298, 167 ELSE = 299, 168 SWITCH = 300, 169 CASE = 301, 170 DEFAULT = 302, 171 DO = 303, 172 WHILE = 304, 173 FOR = 305, 174 BREAK = 306, 175 CONTINUE = 307, 176 GOTO = 308, 177 RETURN = 309, 178 CHOOSE = 310, 179 DISABLE = 311, 180 ENABLE = 312, 181 FALLTHRU = 313, 182 TRY = 314, 183 CATCH = 315, 184 CATCHRESUME = 316, 185 FINALLY = 317, 186 THROW = 318, 187 THROWRESUME = 319, 188 AT = 320, 189 ASM = 321, 190 ALIGNAS = 322, 191 ALIGNOF = 323, 192 ATOMIC = 324, 193 GENERIC = 325, 194 NORETURN = 326, 195 STATICASSERT = 327, 196 THREADLOCAL = 328, 197 IDENTIFIER = 329, 198 QUOTED_IDENTIFIER = 330, 199 TYPEDEFname = 331, 200 TYPEGENname = 332, 201 ATTR_IDENTIFIER = 333, 202 ATTR_TYPEDEFname = 334, 203 ATTR_TYPEGENname = 335, 204 INTEGERconstant = 336, 205 CHARACTERconstant = 337, 206 STRINGliteral = 338, 207 REALDECIMALconstant = 339, 208 REALFRACTIONconstant = 340, 209 FLOATINGconstant = 341, 210 ZERO = 342, 211 ONE = 343, 212 ARROW = 344, 213 ICR = 345, 214 DECR = 346, 215 LS = 347, 216 RS = 348, 217 LE = 349, 218 GE = 350, 219 EQ = 351, 220 NE = 352, 221 ANDAND = 353, 222 OROR = 354, 223 ELLIPSIS = 355, 224 MULTassign = 356, 225 DIVassign = 357, 226 MODassign = 358, 227 PLUSassign = 359, 228 MINUSassign = 360, 229 LSassign = 361, 230 RSassign = 362, 231 ANDassign = 363, 232 ERassign = 364, 233 ORassign = 365, 234 ATassign = 366, 235 THEN = 367 236 }; 126 enum yytokentype 127 { 128 TYPEDEF = 258, 129 AUTO = 259, 130 EXTERN = 260, 131 REGISTER = 261, 132 STATIC = 262, 133 INLINE = 263, 134 FORTRAN = 264, 135 CONST = 265, 136 VOLATILE = 266, 137 RESTRICT = 267, 138 FORALL = 268, 139 LVALUE = 269, 140 VOID = 270, 141 CHAR = 271, 142 SHORT = 272, 143 INT = 273, 144 LONG = 274, 145 FLOAT = 275, 146 DOUBLE = 276, 147 SIGNED = 277, 148 UNSIGNED = 278, 149 ZERO_T = 279, 150 ONE_T = 280, 151 VALIST = 281, 152 BOOL = 282, 153 COMPLEX = 283, 154 IMAGINARY = 284, 155 TYPEOF = 285, 156 LABEL = 286, 157 ENUM = 287, 158 STRUCT = 288, 159 UNION = 289, 160 OTYPE = 290, 161 FTYPE = 291, 162 DTYPE = 292, 163 TRAIT = 293, 164 SIZEOF = 294, 165 OFFSETOF = 295, 166 ATTRIBUTE = 296, 167 EXTENSION = 297, 168 IF = 298, 169 ELSE = 299, 170 SWITCH = 300, 171 CASE = 301, 172 DEFAULT = 302, 173 DO = 303, 174 WHILE = 304, 175 FOR = 305, 176 BREAK = 306, 177 CONTINUE = 307, 178 GOTO = 308, 179 RETURN = 309, 180 CHOOSE = 310, 181 DISABLE = 311, 182 ENABLE = 312, 183 FALLTHRU = 313, 184 TRY = 314, 185 CATCH = 315, 186 CATCHRESUME = 316, 187 FINALLY = 317, 188 THROW = 318, 189 THROWRESUME = 319, 190 AT = 320, 191 ASM = 321, 192 ALIGNAS = 322, 193 ALIGNOF = 323, 194 ATOMIC = 324, 195 GENERIC = 325, 196 NORETURN = 326, 197 STATICASSERT = 327, 198 THREADLOCAL = 328, 199 IDENTIFIER = 329, 200 QUOTED_IDENTIFIER = 330, 201 TYPEDEFname = 331, 202 TYPEGENname = 332, 203 ATTR_IDENTIFIER = 333, 204 ATTR_TYPEDEFname = 334, 205 ATTR_TYPEGENname = 335, 206 INTEGERconstant = 336, 207 CHARACTERconstant = 337, 208 STRINGliteral = 338, 209 REALDECIMALconstant = 339, 210 REALFRACTIONconstant = 340, 211 FLOATINGconstant = 341, 212 ZERO = 342, 213 ONE = 343, 214 ARROW = 344, 215 ICR = 345, 216 DECR = 346, 217 LS = 347, 218 RS = 348, 219 LE = 349, 220 GE = 350, 221 EQ = 351, 222 NE = 352, 223 ANDAND = 353, 224 OROR = 354, 225 ELLIPSIS = 355, 226 MULTassign = 356, 227 DIVassign = 357, 228 MODassign = 358, 229 PLUSassign = 359, 230 MINUSassign = 360, 231 LSassign = 361, 232 RSassign = 362, 233 ANDassign = 363, 234 ERassign = 364, 235 ORassign = 365, 236 ATassign = 366, 237 THEN = 367 238 }; 237 239 #endif 238 240 /* Tokens. */ … … 348 350 #define THEN 367 349 351 350 351 352 352 /* Value type. */ 353 353 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 354 typedef union YYSTYPE 354 typedef union YYSTYPE YYSTYPE; 355 union YYSTYPE 355 356 { 356 357 /* Line 293 of yacc.c */ 358 #line 120 "parser.yy" 357 #line 120 "parser.yy" /* yacc.c:355 */ 359 358 360 359 Token tok; … … 373 372 bool flag; 374 373 375 376 377 /* Line 293 of yacc.c */ 378 #line 379 "Parser/parser.cc" 379 } YYSTYPE; 374 #line 375 "Parser/parser.cc" /* yacc.c:355 */ 375 }; 380 376 # define YYSTYPE_IS_TRIVIAL 1 381 # define yystype YYSTYPE /* obsolescent; will be withdrawn */382 377 # define YYSTYPE_IS_DECLARED 1 383 378 #endif 384 379 385 380 381 extern YYSTYPE yylval; 382 383 int yyparse (void); 384 385 #endif /* !YY_YY_Y_TAB_H_INCLUDED */ 386 386 387 /* Copy the second part of user declarations. */ 387 388 388 389 /* Line 343 of yacc.c */ 390 #line 391 "Parser/parser.cc" 389 #line 390 "Parser/parser.cc" /* yacc.c:358 */ 391 390 392 391 #ifdef short … … 402 401 #ifdef YYTYPE_INT8 403 402 typedef YYTYPE_INT8 yytype_int8; 404 #elif (defined __STDC__ || defined __C99__FUNC__ \ 405 || defined __cplusplus || defined _MSC_VER) 403 #else 406 404 typedef signed char yytype_int8; 407 #else408 typedef short int yytype_int8;409 405 #endif 410 406 … … 426 422 # elif defined size_t 427 423 # define YYSIZE_T size_t 428 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 429 || defined __cplusplus || defined _MSC_VER) 424 # elif ! defined YYSIZE_T 430 425 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 431 426 # define YYSIZE_T size_t … … 441 436 # if ENABLE_NLS 442 437 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 443 # define YY_( msgid) dgettext ("bison-runtime", msgid)438 # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 444 439 # endif 445 440 # endif 446 441 # ifndef YY_ 447 # define YY_( msgid) msgid442 # define YY_(Msgid) Msgid 448 443 # endif 449 444 #endif 450 445 446 #ifndef YY_ATTRIBUTE 447 # if (defined __GNUC__ \ 448 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ 449 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C 450 # define YY_ATTRIBUTE(Spec) __attribute__(Spec) 451 # else 452 # define YY_ATTRIBUTE(Spec) /* empty */ 453 # endif 454 #endif 455 456 #ifndef YY_ATTRIBUTE_PURE 457 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) 458 #endif 459 460 #ifndef YY_ATTRIBUTE_UNUSED 461 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) 462 #endif 463 464 #if !defined _Noreturn \ 465 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 466 # if defined _MSC_VER && 1200 <= _MSC_VER 467 # define _Noreturn __declspec (noreturn) 468 # else 469 # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 470 # endif 471 #endif 472 451 473 /* Suppress unused-variable warnings by "using" E. */ 452 474 #if ! defined lint || defined __GNUC__ 453 # define YYUSE( e) ((void) (e))475 # define YYUSE(E) ((void) (E)) 454 476 #else 455 # define YYUSE( e) /* empty */477 # define YYUSE(E) /* empty */ 456 478 #endif 457 479 458 /* Identity function, used to suppress warnings about constant conditions. */ 459 #ifndef lint 460 # define YYID(n) (n) 480 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 481 /* Suppress an incorrect diagnostic about yylval being uninitialized. */ 482 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 483 _Pragma ("GCC diagnostic push") \ 484 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 485 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 486 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 487 _Pragma ("GCC diagnostic pop") 461 488 #else 462 #if (defined __STDC__ || defined __C99__FUNC__ \ 463 || defined __cplusplus || defined _MSC_VER) 464 static int 465 YYID (int yyi) 466 #else 467 static int 468 YYID (yyi) 469 int yyi; 489 # define YY_INITIAL_VALUE(Value) Value 470 490 #endif 471 { 472 return yyi; 473 } 491 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 492 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 493 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 474 494 #endif 495 #ifndef YY_INITIAL_VALUE 496 # define YY_INITIAL_VALUE(Value) /* Nothing. */ 497 #endif 498 475 499 476 500 #if ! defined yyoverflow || YYERROR_VERBOSE … … 491 515 # else 492 516 # define YYSTACK_ALLOC alloca 493 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 494 || defined __cplusplus || defined _MSC_VER) 517 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 495 518 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 519 /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 496 520 # ifndef EXIT_SUCCESS 497 521 # define EXIT_SUCCESS 0 … … 503 527 504 528 # ifdef YYSTACK_ALLOC 505 /* Pacify GCC's `empty if-body' warning. */506 # define YYSTACK_FREE(Ptr) do { /* empty */; } while ( YYID (0))529 /* Pacify GCC's 'empty if-body' warning. */ 530 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 507 531 # ifndef YYSTACK_ALLOC_MAXIMUM 508 532 /* The OS might guarantee only one guard page at the bottom of the stack, … … 520 544 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 521 545 && ! ((defined YYMALLOC || defined malloc) \ 522 && (defined YYFREE || defined free)))546 && (defined YYFREE || defined free))) 523 547 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 524 548 # ifndef EXIT_SUCCESS … … 528 552 # ifndef YYMALLOC 529 553 # define YYMALLOC malloc 530 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 531 || defined __cplusplus || defined _MSC_VER) 554 # if ! defined malloc && ! defined EXIT_SUCCESS 532 555 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 533 556 # endif … … 535 558 # ifndef YYFREE 536 559 # define YYFREE free 537 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 538 || defined __cplusplus || defined _MSC_VER) 560 # if ! defined free && ! defined EXIT_SUCCESS 539 561 void free (void *); /* INFRINGES ON USER NAME SPACE */ 540 562 # endif … … 546 568 #if (! defined yyoverflow \ 547 569 && (! defined __cplusplus \ 548 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))570 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 549 571 550 572 /* A type that is properly aligned for any stack member. */ … … 571 593 stack. Advance YYPTR to a properly aligned location for the next 572 594 stack. */ 573 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \574 do \575 { \576 YYSIZE_T yynewbytes;\577 YYCOPY (&yyptr->Stack_alloc, Stack, yysize);\578 Stack = &yyptr->Stack_alloc;\579 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \580 yyptr += yynewbytes / sizeof (*yyptr);\581 } \582 while ( YYID (0))595 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 596 do \ 597 { \ 598 YYSIZE_T yynewbytes; \ 599 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 600 Stack = &yyptr->Stack_alloc; \ 601 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 602 yyptr += yynewbytes / sizeof (*yyptr); \ 603 } \ 604 while (0) 583 605 584 606 #endif 585 607 586 608 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 587 /* Copy COUNT objects from FROM to TO. The source and destination do609 /* Copy COUNT objects from SRC to DST. The source and destination do 588 610 not overlap. */ 589 611 # ifndef YYCOPY 590 612 # if defined __GNUC__ && 1 < __GNUC__ 591 # define YYCOPY( To, From, Count) \592 __builtin_memcpy ( To, From, (Count) * sizeof (*(From)))613 # define YYCOPY(Dst, Src, Count) \ 614 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 593 615 # else 594 # define YYCOPY( To, From, Count)\595 do \596 {\597 YYSIZE_T yyi;\598 for (yyi = 0; yyi < (Count); yyi++)\599 (To)[yyi] = (From)[yyi];\600 }\601 while ( YYID (0))616 # define YYCOPY(Dst, Src, Count) \ 617 do \ 618 { \ 619 YYSIZE_T yyi; \ 620 for (yyi = 0; yyi < (Count); yyi++) \ 621 (Dst)[yyi] = (Src)[yyi]; \ 622 } \ 623 while (0) 602 624 # endif 603 625 # endif … … 615 637 /* YYNRULES -- Number of rules. */ 616 638 #define YYNRULES 757 617 /* YYN RULES -- Number of states. */639 /* YYNSTATES -- Number of states. */ 618 640 #define YYNSTATES 1540 619 641 620 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 642 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 643 by yylex, with out-of-bounds checking. */ 621 644 #define YYUNDEFTOK 2 622 645 #define YYMAXUTOK 367 623 646 624 #define YYTRANSLATE(YYX) \647 #define YYTRANSLATE(YYX) \ 625 648 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 626 649 627 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 650 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 651 as returned by yylex, without out-of-bounds checking. */ 628 652 static const yytype_uint8 yytranslate[] = 629 653 { … … 668 692 669 693 #if YYDEBUG 670 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 671 YYRHS. */ 672 static const yytype_uint16 yyprhs[] = 673 { 674 0, 0, 3, 4, 5, 7, 9, 11, 13, 15, 675 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 676 37, 40, 42, 44, 46, 50, 54, 56, 63, 68, 677 72, 80, 83, 87, 95, 98, 101, 109, 114, 116, 678 120, 121, 123, 125, 129, 131, 134, 141, 145, 153, 679 157, 165, 168, 171, 174, 175, 178, 180, 182, 184, 680 187, 190, 193, 196, 199, 202, 207, 210, 215, 222, 681 224, 229, 234, 236, 238, 240, 242, 244, 246, 248, 682 253, 255, 259, 263, 267, 269, 273, 277, 279, 283, 683 287, 289, 293, 297, 301, 305, 307, 311, 315, 317, 684 321, 323, 327, 329, 333, 335, 339, 341, 345, 347, 685 353, 358, 360, 362, 366, 367, 369, 371, 373, 375, 686 377, 379, 381, 383, 385, 387, 389, 391, 393, 400, 687 408, 410, 414, 416, 420, 421, 423, 425, 427, 429, 688 431, 433, 435, 437, 439, 446, 451, 454, 462, 464, 689 468, 470, 473, 475, 478, 480, 483, 486, 492, 500, 690 506, 516, 522, 532, 534, 538, 540, 542, 546, 550, 691 553, 555, 558, 561, 562, 564, 567, 571, 572, 574, 692 577, 581, 585, 590, 591, 593, 595, 598, 604, 612, 693 619, 626, 631, 635, 640, 643, 647, 650, 654, 658, 694 662, 666, 672, 676, 680, 685, 687, 693, 700, 706, 695 713, 723, 734, 744, 755, 758, 760, 763, 766, 769, 696 771, 778, 787, 798, 811, 826, 827, 829, 830, 832, 697 834, 838, 843, 851, 852, 854, 858, 860, 864, 866, 698 868, 870, 874, 876, 878, 880, 884, 885, 887, 891, 699 896, 898, 902, 904, 906, 910, 914, 918, 922, 926, 700 929, 933, 940, 944, 948, 953, 955, 958, 961, 965, 701 971, 979, 987, 993, 1003, 1006, 1009, 1015, 1019, 1025, 702 1030, 1034, 1039, 1044, 1052, 1056, 1060, 1064, 1068, 1073, 703 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1097, 704 1099, 1101, 1104, 1106, 1108, 1110, 1112, 1114, 1116, 1118, 705 1119, 1125, 1127, 1130, 1134, 1136, 1139, 1141, 1143, 1145, 706 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163, 1165, 707 1167, 1169, 1171, 1173, 1175, 1177, 1179, 1181, 1183, 1185, 708 1187, 1190, 1193, 1197, 1201, 1203, 1207, 1209, 1212, 1215, 709 1218, 1223, 1228, 1233, 1238, 1240, 1243, 1246, 1250, 1252, 710 1255, 1258, 1260, 1263, 1266, 1270, 1272, 1275, 1278, 1280, 711 1282, 1287, 1290, 1291, 1298, 1306, 1309, 1312, 1315, 1316, 712 1319, 1322, 1326, 1329, 1333, 1335, 1338, 1342, 1345, 1348, 713 1353, 1354, 1356, 1359, 1362, 1364, 1365, 1367, 1370, 1373, 714 1379, 1382, 1383, 1391, 1394, 1399, 1400, 1403, 1404, 1406, 715 1408, 1410, 1416, 1422, 1428, 1430, 1436, 1442, 1452, 1454, 716 1460, 1461, 1463, 1465, 1471, 1473, 1475, 1481, 1487, 1489, 717 1493, 1497, 1502, 1504, 1506, 1508, 1510, 1513, 1515, 1519, 718 1523, 1525, 1528, 1530, 1534, 1536, 1538, 1540, 1542, 1544, 719 1546, 1548, 1550, 1552, 1554, 1556, 1559, 1561, 1563, 1565, 720 1568, 1569, 1572, 1575, 1577, 1582, 1583, 1585, 1588, 1592, 721 1597, 1600, 1603, 1605, 1608, 1611, 1617, 1623, 1631, 1638, 722 1640, 1643, 1646, 1650, 1652, 1655, 1658, 1663, 1666, 1671, 723 1672, 1677, 1680, 1682, 1684, 1686, 1687, 1690, 1696, 1702, 724 1716, 1718, 1720, 1724, 1728, 1731, 1735, 1739, 1742, 1747, 725 1749, 1756, 1766, 1767, 1779, 1781, 1785, 1789, 1793, 1795, 726 1797, 1803, 1806, 1812, 1813, 1815, 1817, 1821, 1822, 1824, 727 1826, 1828, 1830, 1831, 1838, 1841, 1843, 1846, 1851, 1854, 728 1858, 1862, 1866, 1871, 1877, 1883, 1889, 1896, 1898, 1900, 729 1902, 1906, 1907, 1913, 1914, 1916, 1918, 1921, 1928, 1930, 730 1934, 1935, 1937, 1942, 1944, 1946, 1948, 1950, 1953, 1955, 731 1958, 1961, 1963, 1967, 1970, 1974, 1978, 1981, 1986, 1991, 732 1995, 2004, 2008, 2011, 2013, 2016, 2023, 2032, 2036, 2039, 733 2043, 2047, 2052, 2057, 2061, 2063, 2065, 2067, 2072, 2079, 734 2083, 2086, 2090, 2094, 2099, 2104, 2108, 2111, 2113, 2116, 735 2119, 2121, 2125, 2128, 2132, 2136, 2139, 2144, 2149, 2153, 736 2160, 2169, 2173, 2176, 2178, 2181, 2184, 2187, 2191, 2195, 737 2198, 2203, 2208, 2212, 2219, 2228, 2232, 2235, 2237, 2240, 738 2243, 2245, 2247, 2250, 2254, 2258, 2261, 2266, 2273, 2282, 739 2284, 2287, 2290, 2292, 2295, 2298, 2302, 2306, 2308, 2313, 740 2318, 2322, 2328, 2337, 2341, 2344, 2348, 2350, 2356, 2362, 741 2369, 2376, 2378, 2381, 2384, 2386, 2389, 2392, 2396, 2400, 742 2402, 2407, 2412, 2416, 2422, 2431, 2435, 2437, 2440, 2442, 743 2445, 2452, 2458, 2465, 2473, 2481, 2483, 2486, 2489, 2491, 744 2494, 2497, 2501, 2505, 2507, 2512, 2517, 2521, 2530, 2534, 745 2536, 2538, 2541, 2543, 2545, 2548, 2552, 2555, 2559, 2562, 746 2566, 2570, 2573, 2578, 2582, 2585, 2589, 2592, 2597, 2601, 747 2604, 2611, 2618, 2625, 2633, 2635, 2638, 2640, 2642, 2644, 748 2647, 2651, 2654, 2658, 2661, 2665, 2669, 2674, 2677, 2681, 749 2686, 2689, 2695, 2702, 2709, 2710, 2712, 2713 750 }; 751 752 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ 753 static const yytype_int16 yyrhs[] = 754 { 755 308, 0, -1, -1, -1, 81, -1, 84, -1, 85, 756 -1, 86, -1, 82, -1, 74, -1, 78, -1, 144, 757 -1, 74, -1, 78, -1, 74, -1, 144, -1, 87, 758 -1, 88, -1, 146, -1, 83, -1, 146, 83, -1, 759 74, -1, 144, -1, 174, -1, 113, 176, 114, -1, 760 113, 180, 114, -1, 147, -1, 148, 115, 138, 171, 761 139, 116, -1, 148, 113, 149, 114, -1, 148, 117, 762 143, -1, 148, 117, 115, 138, 151, 139, 116, -1, 763 148, 85, -1, 148, 89, 143, -1, 148, 89, 115, 764 138, 151, 139, 116, -1, 148, 90, -1, 148, 91, 765 -1, 113, 281, 114, 118, 285, 378, 119, -1, 148, 766 118, 149, 119, -1, 150, -1, 149, 120, 150, -1, 767 -1, 171, -1, 152, -1, 151, 120, 152, -1, 153, 768 -1, 84, 152, -1, 84, 115, 138, 151, 139, 116, 769 -1, 153, 117, 152, -1, 153, 117, 115, 138, 151, 770 139, 116, -1, 153, 89, 152, -1, 153, 89, 115, 771 138, 151, 139, 116, -1, 81, 154, -1, 86, 154, 772 -1, 143, 154, -1, -1, 154, 85, -1, 148, -1, 773 140, -1, 145, -1, 42, 158, -1, 156, 158, -1, 774 157, 158, -1, 90, 155, -1, 91, 155, -1, 39, 775 155, -1, 39, 113, 281, 114, -1, 68, 155, -1, 776 68, 113, 281, 114, -1, 40, 113, 281, 120, 143, 777 114, -1, 78, -1, 78, 113, 150, 114, -1, 78, 778 113, 282, 114, -1, 121, -1, 122, -1, 123, -1, 779 124, -1, 125, -1, 126, -1, 155, -1, 113, 281, 780 114, 158, -1, 158, -1, 159, 121, 158, -1, 159, 781 127, 158, -1, 159, 128, 158, -1, 159, -1, 160, 782 123, 159, -1, 160, 124, 159, -1, 160, -1, 161, 783 92, 160, -1, 161, 93, 160, -1, 161, -1, 162, 784 129, 161, -1, 162, 130, 161, -1, 162, 94, 161, 785 -1, 162, 95, 161, -1, 162, -1, 163, 96, 162, 786 -1, 163, 97, 162, -1, 163, -1, 164, 122, 163, 787 -1, 164, -1, 165, 131, 164, -1, 165, -1, 166, 788 132, 165, -1, 166, -1, 167, 98, 166, -1, 167, 789 -1, 168, 99, 167, -1, 168, -1, 168, 133, 176, 790 134, 169, -1, 168, 133, 134, 169, -1, 169, -1, 791 169, -1, 155, 173, 171, -1, -1, 171, -1, 135, 792 -1, 111, -1, 101, -1, 102, -1, 103, -1, 104, 793 -1, 105, -1, 106, -1, 107, -1, 108, -1, 109, 794 -1, 110, -1, 115, 138, 120, 175, 139, 116, -1, 795 115, 138, 171, 120, 175, 139, 116, -1, 172, -1, 796 175, 120, 172, -1, 171, -1, 176, 120, 171, -1, 797 -1, 176, -1, 179, -1, 180, -1, 184, -1, 185, 798 -1, 197, -1, 199, -1, 200, -1, 205, -1, 131, 799 148, 118, 149, 119, 136, -1, 74, 134, 318, 178, 800 -1, 118, 119, -1, 118, 138, 138, 216, 181, 139, 801 119, -1, 182, -1, 181, 138, 182, -1, 219, -1, 802 42, 219, -1, 314, -1, 178, 139, -1, 178, -1, 803 183, 178, -1, 177, 136, -1, 43, 113, 176, 114, 804 178, -1, 43, 113, 176, 114, 178, 44, 178, -1, 805 45, 113, 176, 114, 190, -1, 45, 113, 176, 114, 806 118, 138, 212, 191, 119, -1, 55, 113, 176, 114, 807 190, -1, 55, 113, 176, 114, 118, 138, 212, 193, 808 119, -1, 170, -1, 170, 100, 170, -1, 316, -1, 809 186, -1, 187, 120, 186, -1, 46, 187, 134, -1, 810 47, 134, -1, 188, -1, 189, 188, -1, 189, 178, 811 -1, -1, 192, -1, 189, 183, -1, 192, 189, 183, 812 -1, -1, 194, -1, 189, 196, -1, 189, 183, 195, 813 -1, 194, 189, 196, -1, 194, 189, 183, 195, -1, 814 -1, 196, -1, 58, -1, 58, 136, -1, 49, 113, 815 176, 114, 178, -1, 48, 178, 49, 113, 176, 114, 816 136, -1, 50, 113, 138, 198, 114, 178, -1, 177, 817 139, 136, 177, 136, 177, -1, 219, 177, 136, 177, 818 -1, 53, 74, 136, -1, 53, 121, 176, 136, -1, 819 52, 136, -1, 52, 74, 136, -1, 51, 136, -1, 820 51, 74, 136, -1, 54, 177, 136, -1, 63, 172, 821 136, -1, 64, 172, 136, -1, 64, 172, 65, 171, 822 136, -1, 59, 180, 201, -1, 59, 180, 203, -1, 823 59, 180, 201, 203, -1, 202, -1, 60, 113, 100, 824 114, 180, -1, 202, 60, 113, 100, 114, 180, -1, 825 61, 113, 100, 114, 180, -1, 202, 61, 113, 100, 826 114, 180, -1, 60, 113, 138, 138, 204, 139, 114, 827 180, 139, -1, 202, 60, 113, 138, 138, 204, 139, 828 114, 180, 139, -1, 61, 113, 138, 138, 204, 139, 829 114, 180, 139, -1, 202, 61, 113, 138, 138, 204, 830 139, 114, 180, 139, -1, 62, 180, -1, 232, -1, 831 232, 315, -1, 232, 363, -1, 372, 143, -1, 372, 832 -1, 66, 206, 113, 145, 114, 136, -1, 66, 206, 833 113, 145, 134, 207, 114, 136, -1, 66, 206, 113, 834 145, 134, 207, 134, 207, 114, 136, -1, 66, 206, 835 113, 145, 134, 207, 134, 207, 134, 210, 114, 136, 836 -1, 66, 206, 53, 113, 145, 134, 134, 207, 134, 837 210, 134, 211, 114, 136, -1, -1, 11, -1, -1, 838 208, -1, 209, -1, 208, 120, 209, -1, 145, 113, 839 170, 114, -1, 115, 170, 116, 145, 113, 170, 114, 840 -1, -1, 145, -1, 210, 120, 145, -1, 143, -1, 841 211, 120, 143, -1, 139, -1, 213, -1, 219, -1, 842 213, 138, 219, -1, 139, -1, 215, -1, 229, -1, 843 215, 138, 229, -1, -1, 217, -1, 31, 218, 136, 844 -1, 217, 31, 218, 136, -1, 280, -1, 218, 120, 845 280, -1, 220, -1, 229, -1, 221, 139, 136, -1, 846 226, 139, 136, -1, 223, 139, 136, -1, 299, 139, 847 136, -1, 302, 139, 136, -1, 222, 283, -1, 238, 848 222, 283, -1, 221, 139, 120, 138, 278, 283, -1, 849 373, 278, 317, -1, 376, 278, 317, -1, 234, 376, 850 278, 317, -1, 224, -1, 234, 224, -1, 238, 224, 851 -1, 238, 234, 224, -1, 223, 139, 120, 138, 278, 852 -1, 376, 278, 113, 138, 266, 139, 114, -1, 225, 853 278, 113, 138, 266, 139, 114, -1, 115, 138, 268, 854 139, 116, -1, 115, 138, 268, 139, 120, 138, 269, 855 139, 116, -1, 3, 222, -1, 3, 224, -1, 226, 856 139, 120, 138, 143, -1, 3, 232, 315, -1, 227, 857 139, 120, 138, 315, -1, 234, 3, 232, 315, -1, 858 232, 3, 315, -1, 232, 3, 234, 315, -1, 3, 859 143, 135, 171, -1, 228, 139, 120, 138, 143, 135, 860 171, -1, 230, 139, 136, -1, 227, 139, 136, -1, 861 228, 139, 136, -1, 246, 139, 136, -1, 231, 315, 862 317, 283, -1, 230, 120, 318, 315, 317, 283, -1, 863 242, -1, 246, -1, 248, -1, 289, -1, 243, -1, 864 247, -1, 249, -1, 290, -1, -1, 234, -1, 235, 865 -1, 234, 235, -1, 236, -1, 320, -1, 10, -1, 866 12, -1, 11, -1, 14, -1, 69, -1, -1, 13, 867 113, 237, 292, 114, -1, 239, -1, 234, 239, -1, 868 238, 234, 239, -1, 240, -1, 239, 240, -1, 5, 869 -1, 7, -1, 4, -1, 6, -1, 8, -1, 9, 870 -1, 71, -1, 73, -1, 16, -1, 21, -1, 20, 871 -1, 18, -1, 19, -1, 17, -1, 22, -1, 23, 872 -1, 15, -1, 27, -1, 28, -1, 29, -1, 26, 873 -1, 24, -1, 25, -1, 243, -1, 238, 243, -1, 874 242, 240, -1, 242, 240, 234, -1, 242, 240, 243, 875 -1, 244, -1, 233, 245, 233, -1, 241, -1, 234, 876 241, -1, 244, 235, -1, 244, 241, -1, 30, 113, 877 282, 114, -1, 30, 113, 176, 114, -1, 80, 113, 878 282, 114, -1, 80, 113, 176, 114, -1, 247, -1, 879 238, 247, -1, 246, 240, -1, 246, 240, 234, -1, 880 250, -1, 234, 250, -1, 247, 235, -1, 249, -1, 881 238, 249, -1, 248, 240, -1, 248, 240, 234, -1, 882 76, -1, 234, 76, -1, 249, 235, -1, 251, -1, 883 262, -1, 253, 118, 254, 119, -1, 253, 280, -1, 884 -1, 253, 280, 252, 118, 254, 119, -1, 253, 113, 885 298, 114, 118, 254, 119, -1, 253, 291, -1, 33, 886 318, -1, 34, 318, -1, -1, 254, 255, -1, 256, 887 136, -1, 42, 256, 136, -1, 257, 136, -1, 42, 888 257, 136, -1, 372, -1, 372, 280, -1, 256, 120, 889 280, -1, 256, 120, -1, 232, 258, -1, 257, 120, 890 318, 258, -1, -1, 260, -1, 324, 259, -1, 337, 891 259, -1, 363, -1, -1, 260, -1, 134, 170, -1, 892 32, 318, -1, 261, 118, 264, 378, 119, -1, 261, 893 280, -1, -1, 261, 280, 263, 118, 264, 378, 119, 894 -1, 280, 265, -1, 264, 120, 280, 265, -1, -1, 895 135, 170, -1, -1, 267, -1, 269, -1, 268, -1, 896 268, 139, 120, 138, 269, -1, 269, 139, 120, 138, 897 100, -1, 268, 139, 120, 138, 100, -1, 273, -1, 898 269, 139, 120, 138, 273, -1, 268, 139, 120, 138, 899 273, -1, 268, 139, 120, 138, 269, 139, 120, 138, 900 273, -1, 274, -1, 269, 139, 120, 138, 274, -1, 901 -1, 271, -1, 272, -1, 272, 139, 120, 138, 100, 902 -1, 276, -1, 275, -1, 272, 139, 120, 138, 276, 903 -1, 272, 139, 120, 138, 275, -1, 275, -1, 368, 904 278, 379, -1, 376, 278, 379, -1, 234, 376, 278, 905 379, -1, 224, -1, 276, -1, 368, -1, 376, -1, 906 234, 376, -1, 377, -1, 231, 342, 379, -1, 231, 907 346, 379, -1, 231, -1, 231, 357, -1, 143, -1, 908 277, 120, 143, -1, 141, -1, 76, -1, 77, -1, 909 142, -1, 76, -1, 77, -1, 143, -1, 76, -1, 910 77, -1, 372, -1, 232, -1, 232, 363, -1, 372, 911 -1, 377, -1, 232, -1, 232, 351, -1, -1, 135, 912 284, -1, 111, 284, -1, 171, -1, 118, 285, 378, 913 119, -1, -1, 284, -1, 286, 284, -1, 285, 120, 914 284, -1, 285, 120, 286, 284, -1, 287, 134, -1, 915 280, 134, -1, 288, -1, 287, 288, -1, 117, 280, 916 -1, 115, 138, 171, 139, 116, -1, 115, 138, 316, 917 139, 116, -1, 115, 138, 170, 100, 170, 139, 116, 918 -1, 117, 115, 138, 151, 139, 116, -1, 290, -1, 919 238, 290, -1, 289, 240, -1, 289, 240, 234, -1, 920 291, -1, 234, 291, -1, 290, 235, -1, 77, 113, 921 298, 114, -1, 293, 379, -1, 292, 120, 293, 379, 922 -1, -1, 295, 280, 294, 296, -1, 232, 342, -1, 923 35, -1, 37, -1, 36, -1, -1, 296, 297, -1, 924 132, 280, 113, 298, 114, -1, 132, 118, 138, 304, 925 119, -1, 132, 113, 138, 292, 139, 114, 118, 138, 926 304, 119, 113, 298, 114, -1, 282, -1, 171, -1, 927 298, 120, 282, -1, 298, 120, 171, -1, 35, 300, 928 -1, 239, 35, 300, -1, 299, 120, 300, -1, 301, 929 296, -1, 301, 296, 135, 282, -1, 280, -1, 279, 930 113, 138, 292, 139, 114, -1, 38, 280, 113, 138, 931 292, 139, 114, 118, 119, -1, -1, 38, 280, 113, 932 138, 292, 139, 114, 118, 303, 304, 119, -1, 305, 933 -1, 304, 138, 305, -1, 306, 139, 136, -1, 307, 934 139, 136, -1, 222, -1, 224, -1, 306, 139, 120, 935 138, 278, -1, 232, 315, -1, 307, 139, 120, 138, 936 315, -1, -1, 309, -1, 311, -1, 309, 138, 311, 937 -1, -1, 309, -1, 219, -1, 313, -1, 205, -1, 938 -1, 5, 83, 312, 118, 310, 119, -1, 42, 311, 939 -1, 314, -1, 329, 180, -1, 333, 138, 214, 180, 940 -1, 223, 180, -1, 231, 329, 180, -1, 234, 329, 941 180, -1, 238, 329, 180, -1, 238, 234, 329, 180, 942 -1, 231, 333, 138, 214, 180, -1, 234, 333, 138, 943 214, 180, -1, 238, 333, 138, 214, 180, -1, 238, 944 234, 333, 138, 214, 180, -1, 324, -1, 337, -1, 945 329, -1, 170, 126, 170, -1, -1, 66, 113, 145, 946 114, 318, -1, -1, 319, -1, 320, -1, 319, 320, 947 -1, 41, 113, 113, 321, 114, 114, -1, 322, -1, 948 321, 120, 322, -1, -1, 323, -1, 323, 113, 177, 949 114, -1, 278, -1, 240, -1, 241, -1, 235, -1, 950 325, 318, -1, 326, -1, 327, 318, -1, 328, 318, 951 -1, 141, -1, 113, 325, 114, -1, 156, 324, -1, 952 156, 234, 324, -1, 113, 326, 114, -1, 325, 355, 953 -1, 113, 326, 114, 355, -1, 113, 327, 114, 356, 954 -1, 113, 327, 114, -1, 113, 326, 114, 113, 138, 955 270, 139, 114, -1, 113, 328, 114, -1, 330, 318, 956 -1, 331, -1, 332, 318, -1, 325, 113, 138, 270, 957 139, 114, -1, 113, 331, 114, 113, 138, 270, 139, 958 114, -1, 113, 330, 114, -1, 156, 329, -1, 156, 959 234, 329, -1, 113, 331, 114, -1, 113, 331, 114, 960 355, -1, 113, 332, 114, 356, -1, 113, 332, 114, 961 -1, 334, -1, 335, -1, 336, -1, 325, 113, 277, 962 114, -1, 113, 335, 114, 113, 277, 114, -1, 113, 963 334, 114, -1, 156, 333, -1, 156, 234, 333, -1, 964 113, 335, 114, -1, 113, 335, 114, 355, -1, 113, 965 336, 114, 356, -1, 113, 336, 114, -1, 338, 318, 966 -1, 339, -1, 340, 318, -1, 341, 318, -1, 347, 967 -1, 113, 338, 114, -1, 156, 337, -1, 156, 234, 968 337, -1, 113, 339, 114, -1, 338, 355, -1, 113, 969 339, 114, 355, -1, 113, 340, 114, 356, -1, 113, 970 340, 114, -1, 338, 113, 138, 270, 139, 114, -1, 971 113, 339, 114, 113, 138, 270, 139, 114, -1, 113, 972 341, 114, -1, 325, 318, -1, 343, -1, 344, 318, 973 -1, 345, 318, -1, 156, 342, -1, 156, 234, 342, 974 -1, 113, 343, 114, -1, 325, 361, -1, 113, 343, 975 114, 355, -1, 113, 344, 114, 356, -1, 113, 344, 976 114, -1, 325, 113, 138, 270, 139, 114, -1, 113, 977 343, 114, 113, 138, 270, 139, 114, -1, 113, 345, 978 114, -1, 347, 318, -1, 348, -1, 349, 318, -1, 979 350, 318, -1, 76, -1, 77, -1, 156, 346, -1, 980 156, 234, 346, -1, 113, 348, 114, -1, 347, 361, 981 -1, 113, 348, 114, 361, -1, 347, 113, 138, 270, 982 139, 114, -1, 113, 348, 114, 113, 138, 270, 139, 983 114, -1, 352, -1, 353, 318, -1, 354, 318, -1, 984 156, -1, 156, 234, -1, 156, 351, -1, 156, 234, 985 351, -1, 113, 352, 114, -1, 355, -1, 113, 352, 986 114, 355, -1, 113, 353, 114, 356, -1, 113, 353, 987 114, -1, 113, 138, 270, 139, 114, -1, 113, 352, 988 114, 113, 138, 270, 139, 114, -1, 113, 354, 114, 989 -1, 115, 116, -1, 115, 116, 356, -1, 356, -1, 990 115, 138, 171, 139, 116, -1, 115, 138, 121, 139, 991 116, -1, 356, 115, 138, 171, 139, 116, -1, 356, 992 115, 138, 121, 139, 116, -1, 358, -1, 359, 318, 993 -1, 360, 318, -1, 156, -1, 156, 234, -1, 156, 994 357, -1, 156, 234, 357, -1, 113, 358, 114, -1, 995 361, -1, 113, 358, 114, 361, -1, 113, 359, 114, 996 356, -1, 113, 359, 114, -1, 113, 138, 270, 139, 997 114, -1, 113, 358, 114, 113, 138, 270, 139, 114, 998 -1, 113, 360, 114, -1, 362, -1, 362, 356, -1, 999 356, -1, 115, 116, -1, 115, 138, 234, 121, 139, 1000 116, -1, 115, 138, 234, 139, 116, -1, 115, 138, 1001 234, 171, 139, 116, -1, 115, 138, 7, 233, 171, 1002 139, 116, -1, 115, 138, 234, 7, 171, 139, 116, 1003 -1, 364, -1, 365, 318, -1, 366, 318, -1, 156, 1004 -1, 156, 234, -1, 156, 363, -1, 156, 234, 363, 1005 -1, 113, 364, 114, -1, 355, -1, 113, 364, 114, 1006 355, -1, 113, 365, 114, 356, -1, 113, 365, 114, 1007 -1, 113, 364, 114, 113, 138, 270, 139, 114, -1, 1008 113, 366, 114, -1, 368, -1, 376, -1, 234, 376, 1009 -1, 369, -1, 370, -1, 156, 232, -1, 234, 156, 1010 232, -1, 156, 377, -1, 234, 156, 377, -1, 156, 1011 367, -1, 234, 156, 367, -1, 115, 116, 232, -1, 1012 371, 232, -1, 115, 116, 356, 232, -1, 371, 356, 1013 232, -1, 356, 232, -1, 115, 116, 369, -1, 371, 1014 369, -1, 115, 116, 356, 369, -1, 371, 356, 369, 1015 -1, 356, 369, -1, 115, 138, 234, 121, 139, 116, 1016 -1, 115, 138, 234, 171, 139, 116, -1, 115, 138, 1017 238, 171, 139, 116, -1, 115, 138, 238, 234, 171, 1018 139, 116, -1, 376, -1, 234, 376, -1, 373, -1, 1019 374, -1, 375, -1, 156, 232, -1, 234, 156, 232, 1020 -1, 156, 377, -1, 234, 156, 377, -1, 156, 372, 1021 -1, 234, 156, 372, -1, 115, 116, 232, -1, 115, 1022 116, 356, 232, -1, 356, 232, -1, 115, 116, 374, 1023 -1, 115, 116, 356, 374, -1, 356, 374, -1, 115, 1024 138, 269, 139, 116, -1, 376, 113, 138, 266, 139, 1025 114, -1, 225, 113, 138, 266, 139, 114, -1, -1, 1026 120, -1, -1, 135, 171, -1 1027 }; 1028 1029 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 694 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 1030 695 static const yytype_uint16 yyrline[] = 1031 696 { 1032 0, 30 6, 306, 310, 317, 318, 319, 320, 321, 325,1033 32 6, 327, 331, 332, 336, 337, 341, 342, 346, 350,1034 35 1, 362, 364, 366, 367, 369, 374, 375, 381, 383,1035 38 5, 387, 389, 391, 393, 395, 397, 399, 408, 409,1036 41 5, 416, 420, 421, 425, 426, 428, 430, 432, 434,1037 43 6, 441, 443, 445, 457, 458, 466, 469, 471, 473,1038 47 8, 491, 493, 495, 497, 499, 501, 503, 505, 507,1039 50 9, 511, 518, 519, 525, 526, 527, 528, 532, 533,1040 5 40, 541, 543, 545, 550, 551, 553, 558, 559, 561,1041 56 6, 567, 569, 571, 573, 578, 579, 581, 586, 587,1042 59 2, 593, 598, 599, 604, 605, 610, 611, 616, 617,1043 6 20, 627, 632, 633, 641, 642, 646, 647, 648, 649,1044 6 50, 651, 652, 653, 654, 655, 656, 657, 667, 669,1045 67 4, 675, 680, 681, 687, 688, 694, 695, 696, 697,1046 69 8, 699, 700, 701, 702, 712, 719, 721, 731, 732,1047 73 7, 739, 745, 747, 751, 752, 757, 762, 765, 767,1048 76 9, 779, 781, 792, 793, 795, 799, 801, 805, 806,1049 81 1, 812, 816, 821, 822, 826, 828, 834, 835, 839,1050 84 1, 843, 845, 851, 852, 856, 858, 863, 865, 867,1051 87 2, 874, 879, 881, 885, 888, 892, 895, 899, 901,1052 90 3, 905, 910, 912, 914, 919, 921, 923, 925, 927,1053 93 2, 934, 936, 938, 943, 955, 956, 961, 963, 968,1054 97 2, 974, 976, 978, 980, 986, 987, 993, 994, 998,1055 99 9, 1004, 1006, 1012, 1013, 1015, 1020, 1025, 1035, 1037,1056 104 1, 1042, 1047, 1049, 1053, 1054, 1058, 1060, 1064, 1065,1057 106 9, 1070, 1074, 1075, 1090, 1091, 1092, 1093, 1094, 1098,1058 110 3, 1110, 1120, 1125, 1130, 1138, 1143, 1148, 1153, 1158,1059 118 8, 1193, 1200, 1202, 1209, 1214, 1219, 1230, 1235, 1240,1060 124 5, 1250, 1259, 1264, 1272, 1273, 1274, 1275, 1281, 1286,1061 129 4, 1295, 1296, 1297, 1301, 1302, 1303, 1304, 1309, 1310,1062 131 9, 1320, 1325, 1326, 1331, 1333, 1335, 1337, 1339, 1342,1063 134 1, 1353, 1354, 1356, 1366, 1367, 1372, 1374, 1376, 1378,1064 13 80, 1383, 1385, 1388, 1393, 1395, 1397, 1399, 1401, 1403,1065 140 5, 1407, 1409, 1411, 1413, 1415, 1417, 1419, 1421, 1427,1066 142 8, 1430, 1432, 1434, 1439, 1440, 1446, 1447, 1449, 1451,1067 145 6, 1458, 1460, 1462, 1467, 1468, 1470, 1472, 1477, 1478,1068 14 80, 1485, 1486, 1488, 1490, 1495, 1497, 1499, 1504, 1505,1069 150 9, 1511, 1517, 1516, 1520, 1522, 1527, 1529, 1535, 1536,1070 154 1, 1542, 1544, 1545, 1554, 1555, 1557, 1559, 1564, 1566,1071 157 2, 1573, 1575, 1578, 1581, 1586, 1587, 1592, 1597, 1601,1072 160 3, 1609, 1608, 1615, 1617, 1623, 1624, 1632, 1633, 1637,1073 163 8, 1639, 1641, 1643, 1650, 1651, 1653, 1655, 1660, 1661,1074 166 7, 1668, 1672, 1673, 1678, 1679, 1680, 1682, 1690, 1691,1075 169 3, 1696, 1698, 1702, 1703, 1704, 1706, 1708, 1712, 1717,1076 172 5, 1726, 1735, 1737, 1742, 1743, 1744, 1748, 1749, 1750,1077 175 4, 1755, 1756, 1760, 1761, 1762, 1767, 1768, 1769, 1770,1078 177 6, 1777, 1779, 1784, 1785, 1790, 1791, 1792, 1793, 1794,1079 180 9, 1810, 1815, 1816, 1822, 1824, 1827, 1829, 1831, 1854,1080 185 5, 1857, 1859, 1864, 1865, 1867, 1872, 1877, 1878, 1884,1081 188 3, 1887, 1891, 1893, 1895, 1901, 1902, 1907, 1912, 1914,1082 191 9, 1921, 1922, 1924, 1929, 1931, 1933, 1938, 1940, 1945,1083 19 50, 1958, 1964, 1963, 1977, 1978, 1983, 1984, 1988, 1993,1084 199 8, 2006, 2011, 2022, 2023, 2028, 2029, 2035, 2036, 2040,1085 204 1, 2042, 2045, 2044, 2055, 2064, 2070, 2076, 2085, 2091,1086 209 7, 2103, 2109, 2117, 2123, 2131, 2137, 2146, 2147, 2148,1087 215 2, 2158, 2159, 2165, 2166, 2170, 2171, 2176, 2182, 2183,1088 218 6, 2188, 2189, 2193, 2194, 2195, 2196, 2230, 2232, 2233,1089 223 5, 2240, 2245, 2250, 2252, 2254, 2259, 2261, 2263, 2265,1090 22 70, 2272, 2281, 2283, 2284, 2289, 2291, 2293, 2298, 2300,1091 2 302, 2307, 2309, 2311, 2320, 2321, 2322, 2326, 2328, 2330,1092 233 5, 2337, 2339, 2344, 2346, 2348, 2363, 2365, 2366, 2368,1093 237 3, 2374, 2379, 2381, 2383, 2388, 2390, 2392, 2394, 2399,1094 2 401, 2403, 2413, 2415, 2416, 2418, 2423, 2425, 2427, 2432,1095 243 4, 2436, 2438, 2443, 2445, 2447, 2478, 2480, 2481, 2483,1096 248 8, 2493, 2501, 2503, 2505, 2510, 2512, 2517, 2519, 2533,1097 253 4, 2536, 2541, 2543, 2545, 2547, 2549, 2554, 2555, 2557,1098 255 9, 2564, 2566, 2568, 2574, 2576, 2578, 2582, 2584, 2586,1099 258 8, 2602, 2603, 2605, 2610, 2612, 2614, 2616, 2618, 2623,1100 262 4, 2626, 2628, 2633, 2635, 2637, 2643, 2644, 2646, 2655,1101 265 8, 2660, 2663, 2665, 2667, 2680, 2681, 2683, 2688, 2690,1102 26 92, 2694, 2696, 2701, 2702, 2704, 2706, 2711, 2713, 2721,1103 27 22, 2723, 2728, 2729, 2733, 2735, 2737, 2739, 2741, 2743,1104 27 50, 2752, 2754, 2756, 2758, 2761, 2763, 2765, 2767, 2769,1105 277 4, 2776, 2778, 2783, 2809, 2810, 2812, 2816, 2817, 2821,1106 282 3, 2825, 2827, 2829, 2831, 2838, 2840, 2842, 2844, 2846,1107 284 8, 2853, 2860, 2862, 2880, 2882, 2887, 2888697 0, 305, 305, 309, 316, 317, 318, 319, 320, 324, 698 325, 326, 330, 331, 335, 336, 340, 341, 345, 349, 699 350, 361, 363, 365, 366, 368, 373, 374, 380, 382, 700 384, 386, 388, 390, 392, 394, 396, 398, 407, 408, 701 414, 415, 419, 420, 424, 425, 427, 429, 431, 433, 702 435, 440, 442, 444, 456, 457, 465, 468, 470, 472, 703 477, 490, 492, 494, 496, 498, 500, 502, 504, 506, 704 508, 510, 517, 518, 524, 525, 526, 527, 531, 532, 705 539, 540, 542, 544, 549, 550, 552, 557, 558, 560, 706 565, 566, 568, 570, 572, 577, 578, 580, 585, 586, 707 591, 592, 597, 598, 603, 604, 609, 610, 615, 616, 708 619, 626, 631, 632, 640, 641, 645, 646, 647, 648, 709 649, 650, 651, 652, 653, 654, 655, 656, 666, 668, 710 673, 674, 679, 680, 686, 687, 693, 694, 695, 696, 711 697, 698, 699, 700, 701, 711, 718, 720, 730, 731, 712 736, 738, 744, 746, 750, 751, 756, 761, 764, 766, 713 768, 778, 780, 791, 792, 794, 798, 800, 804, 805, 714 810, 811, 815, 820, 821, 825, 827, 833, 834, 838, 715 840, 842, 844, 850, 851, 855, 857, 862, 864, 866, 716 871, 873, 878, 880, 884, 887, 891, 894, 898, 900, 717 902, 904, 909, 911, 913, 918, 920, 922, 924, 926, 718 931, 933, 935, 937, 942, 954, 955, 960, 962, 967, 719 971, 973, 975, 977, 979, 985, 986, 992, 993, 997, 720 998, 1003, 1005, 1011, 1012, 1014, 1019, 1024, 1034, 1036, 721 1040, 1041, 1046, 1048, 1052, 1053, 1057, 1059, 1063, 1064, 722 1068, 1069, 1073, 1074, 1089, 1090, 1091, 1092, 1093, 1097, 723 1102, 1109, 1119, 1124, 1129, 1137, 1142, 1147, 1152, 1157, 724 1187, 1192, 1199, 1201, 1208, 1213, 1218, 1229, 1234, 1239, 725 1244, 1249, 1258, 1263, 1271, 1272, 1273, 1274, 1280, 1285, 726 1293, 1294, 1295, 1296, 1300, 1301, 1302, 1303, 1308, 1309, 727 1318, 1319, 1324, 1325, 1330, 1332, 1334, 1336, 1338, 1341, 728 1340, 1352, 1353, 1355, 1365, 1366, 1371, 1373, 1375, 1377, 729 1379, 1382, 1384, 1387, 1392, 1394, 1396, 1398, 1400, 1402, 730 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1418, 1420, 1426, 731 1427, 1429, 1431, 1433, 1438, 1439, 1445, 1446, 1448, 1450, 732 1455, 1457, 1459, 1461, 1466, 1467, 1469, 1471, 1476, 1477, 733 1479, 1484, 1485, 1487, 1489, 1494, 1496, 1498, 1503, 1504, 734 1508, 1510, 1516, 1515, 1519, 1521, 1526, 1528, 1534, 1535, 735 1540, 1541, 1543, 1544, 1553, 1554, 1556, 1558, 1563, 1565, 736 1571, 1572, 1574, 1577, 1580, 1585, 1586, 1591, 1596, 1600, 737 1602, 1608, 1607, 1614, 1616, 1622, 1623, 1631, 1632, 1636, 738 1637, 1638, 1640, 1642, 1649, 1650, 1652, 1654, 1659, 1660, 739 1666, 1667, 1671, 1672, 1677, 1678, 1679, 1681, 1689, 1690, 740 1692, 1695, 1697, 1701, 1702, 1703, 1705, 1707, 1711, 1716, 741 1724, 1725, 1734, 1736, 1741, 1742, 1743, 1747, 1748, 1749, 742 1753, 1754, 1755, 1759, 1760, 1761, 1766, 1767, 1768, 1769, 743 1775, 1776, 1778, 1783, 1784, 1789, 1790, 1791, 1792, 1793, 744 1808, 1809, 1814, 1815, 1821, 1823, 1826, 1828, 1830, 1853, 745 1854, 1856, 1858, 1863, 1864, 1866, 1871, 1876, 1877, 1883, 746 1882, 1886, 1890, 1892, 1894, 1900, 1901, 1906, 1911, 1913, 747 1918, 1920, 1921, 1923, 1928, 1930, 1932, 1937, 1939, 1944, 748 1949, 1957, 1963, 1962, 1976, 1977, 1982, 1983, 1987, 1992, 749 1997, 2005, 2010, 2021, 2022, 2027, 2028, 2034, 2035, 2039, 750 2040, 2041, 2044, 2043, 2054, 2063, 2069, 2075, 2084, 2090, 751 2096, 2102, 2108, 2116, 2122, 2130, 2136, 2145, 2146, 2147, 752 2151, 2155, 2157, 2162, 2163, 2167, 2168, 2173, 2179, 2180, 753 2183, 2185, 2186, 2190, 2191, 2192, 2193, 2227, 2229, 2230, 754 2232, 2237, 2242, 2247, 2249, 2251, 2256, 2258, 2260, 2262, 755 2267, 2269, 2278, 2280, 2281, 2286, 2288, 2290, 2295, 2297, 756 2299, 2304, 2306, 2308, 2317, 2318, 2319, 2323, 2325, 2327, 757 2332, 2334, 2336, 2341, 2343, 2345, 2360, 2362, 2363, 2365, 758 2370, 2371, 2376, 2378, 2380, 2385, 2387, 2389, 2391, 2396, 759 2398, 2400, 2410, 2412, 2413, 2415, 2420, 2422, 2424, 2429, 760 2431, 2433, 2435, 2440, 2442, 2444, 2475, 2477, 2478, 2480, 761 2485, 2490, 2498, 2500, 2502, 2507, 2509, 2514, 2516, 2530, 762 2531, 2533, 2538, 2540, 2542, 2544, 2546, 2551, 2552, 2554, 763 2556, 2561, 2563, 2565, 2571, 2573, 2575, 2579, 2581, 2583, 764 2585, 2599, 2600, 2602, 2607, 2609, 2611, 2613, 2615, 2620, 765 2621, 2623, 2625, 2630, 2632, 2634, 2640, 2641, 2643, 2652, 766 2655, 2657, 2660, 2662, 2664, 2677, 2678, 2680, 2685, 2687, 767 2689, 2691, 2693, 2698, 2699, 2701, 2703, 2708, 2710, 2718, 768 2719, 2720, 2725, 2726, 2730, 2732, 2734, 2736, 2738, 2740, 769 2747, 2749, 2751, 2753, 2755, 2758, 2760, 2762, 2764, 2766, 770 2771, 2773, 2775, 2780, 2806, 2807, 2809, 2813, 2814, 2818, 771 2820, 2822, 2824, 2826, 2828, 2835, 2837, 2839, 2841, 2843, 772 2845, 2850, 2857, 2859, 2877, 2879, 2884, 2885 1108 773 }; 1109 774 #endif 1110 775 1111 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE776 #if YYDEBUG || YYERROR_VERBOSE || 0 1112 777 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 1113 778 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ … … 1220 885 "new_abstract_declarator_no_tuple", "new_abstract_ptr", 1221 886 "new_abstract_array", "new_abstract_tuple", "new_abstract_function", 1222 "comma_opt", "assignment_opt", 0887 "comma_opt", "assignment_opt", YY_NULLPTR 1223 888 }; 1224 889 #endif 1225 890 1226 891 # ifdef YYPRINT 1227 /* YYTOKNUM[ YYLEX-NUM] -- Internal token number corresponding to1228 token YYLEX-NUM. */892 /* YYTOKNUM[NUM] -- (External) token number corresponding to the 893 (internal) symbol number NUM (which must be that of a token). */ 1229 894 static const yytype_uint16 yytoknum[] = 1230 895 { … … 1246 911 # endif 1247 912 1248 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 1249 static const yytype_uint16 yyr1[] = 913 #define YYPACT_NINF -1267 914 915 #define yypact_value_is_default(Yystate) \ 916 (!!((Yystate) == (-1267))) 917 918 #define YYTABLE_NINF -529 919 920 #define yytable_value_is_error(Yytable_value) \ 921 0 922 923 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 924 STATE-NUM. */ 925 static const yytype_int16 yypact[] = 1250 926 { 1251 0, 137, 138, 139, 140, 140, 140, 140, 140, 141, 1252 141, 141, 142, 142, 143, 143, 144, 144, 145, 146, 1253 146, 147, 147, 147, 147, 147, 148, 148, 148, 148, 1254 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, 1255 150, 150, 151, 151, 152, 152, 152, 152, 152, 152, 1256 152, 153, 153, 153, 154, 154, 155, 155, 155, 155, 1257 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 1258 155, 155, 156, 156, 157, 157, 157, 157, 158, 158, 1259 159, 159, 159, 159, 160, 160, 160, 161, 161, 161, 1260 162, 162, 162, 162, 162, 163, 163, 163, 164, 164, 1261 165, 165, 166, 166, 167, 167, 168, 168, 169, 169, 1262 169, 170, 171, 171, 172, 172, 173, 173, 173, 173, 1263 173, 173, 173, 173, 173, 173, 173, 173, 174, 174, 1264 175, 175, 176, 176, 177, 177, 178, 178, 178, 178, 1265 178, 178, 178, 178, 178, 179, 180, 180, 181, 181, 1266 182, 182, 182, 182, 183, 183, 184, 185, 185, 185, 1267 185, 185, 185, 186, 186, 186, 187, 187, 188, 188, 1268 189, 189, 190, 191, 191, 192, 192, 193, 193, 194, 1269 194, 194, 194, 195, 195, 196, 196, 197, 197, 197, 1270 198, 198, 199, 199, 199, 199, 199, 199, 199, 199, 1271 199, 199, 200, 200, 200, 201, 201, 201, 201, 201, 1272 202, 202, 202, 202, 203, 204, 204, 204, 204, 204, 1273 205, 205, 205, 205, 205, 206, 206, 207, 207, 208, 1274 208, 209, 209, 210, 210, 210, 211, 211, 212, 212, 1275 213, 213, 214, 214, 215, 215, 216, 216, 217, 217, 1276 218, 218, 219, 219, 220, 220, 220, 220, 220, 221, 1277 221, 221, 222, 222, 222, 223, 223, 223, 223, 223, 1278 224, 224, 225, 225, 226, 226, 226, 227, 227, 227, 1279 227, 227, 228, 228, 229, 229, 229, 229, 230, 230, 1280 231, 231, 231, 231, 232, 232, 232, 232, 233, 233, 1281 234, 234, 235, 235, 236, 236, 236, 236, 236, 237, 1282 236, 238, 238, 238, 239, 239, 240, 240, 240, 240, 1283 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, 1284 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 1285 242, 242, 242, 242, 243, 243, 244, 244, 244, 244, 1286 245, 245, 245, 245, 246, 246, 246, 246, 247, 247, 1287 247, 248, 248, 248, 248, 249, 249, 249, 250, 250, 1288 251, 251, 252, 251, 251, 251, 253, 253, 254, 254, 1289 255, 255, 255, 255, 256, 256, 256, 256, 257, 257, 1290 258, 258, 258, 258, 258, 259, 259, 260, 261, 262, 1291 262, 263, 262, 264, 264, 265, 265, 266, 266, 267, 1292 267, 267, 267, 267, 268, 268, 268, 268, 269, 269, 1293 270, 270, 271, 271, 272, 272, 272, 272, 273, 273, 1294 273, 273, 273, 274, 274, 274, 274, 274, 275, 275, 1295 276, 276, 277, 277, 278, 278, 278, 279, 279, 279, 1296 280, 280, 280, 281, 281, 281, 282, 282, 282, 282, 1297 283, 283, 283, 284, 284, 285, 285, 285, 285, 285, 1298 286, 286, 287, 287, 288, 288, 288, 288, 288, 289, 1299 289, 289, 289, 290, 290, 290, 291, 292, 292, 294, 1300 293, 293, 295, 295, 295, 296, 296, 297, 297, 297, 1301 298, 298, 298, 298, 299, 299, 299, 300, 300, 301, 1302 301, 302, 303, 302, 304, 304, 305, 305, 306, 306, 1303 306, 307, 307, 308, 308, 309, 309, 310, 310, 311, 1304 311, 311, 312, 311, 311, 313, 313, 313, 314, 314, 1305 314, 314, 314, 314, 314, 314, 314, 315, 315, 315, 1306 316, 317, 317, 318, 318, 319, 319, 320, 321, 321, 1307 322, 322, 322, 323, 323, 323, 323, 324, 324, 324, 1308 324, 325, 325, 326, 326, 326, 327, 327, 327, 327, 1309 328, 328, 329, 329, 329, 330, 330, 330, 331, 331, 1310 331, 332, 332, 332, 333, 333, 333, 334, 334, 334, 1311 335, 335, 335, 336, 336, 336, 337, 337, 337, 337, 1312 338, 338, 339, 339, 339, 340, 340, 340, 340, 341, 1313 341, 341, 342, 342, 342, 342, 343, 343, 343, 344, 1314 344, 344, 344, 345, 345, 345, 346, 346, 346, 346, 1315 347, 347, 348, 348, 348, 349, 349, 350, 350, 351, 1316 351, 351, 352, 352, 352, 352, 352, 353, 353, 353, 1317 353, 354, 354, 354, 355, 355, 355, 356, 356, 356, 1318 356, 357, 357, 357, 358, 358, 358, 358, 358, 359, 1319 359, 359, 359, 360, 360, 360, 361, 361, 361, 362, 1320 362, 362, 362, 362, 362, 363, 363, 363, 364, 364, 1321 364, 364, 364, 365, 365, 365, 365, 366, 366, 367, 1322 367, 367, 368, 368, 369, 369, 369, 369, 369, 369, 1323 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 1324 371, 371, 371, 371, 372, 372, 372, 373, 373, 374, 1325 374, 374, 374, 374, 374, 375, 375, 375, 375, 375, 1326 375, 376, 377, 377, 378, 378, 379, 379 927 5235, 8510, -1267, -14, -1267, -1267, -1267, -1267, -1267, -1267, 928 -1267, -27, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 929 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 84, 84, 930 84, 1541, 905, 123, 6677, 163, -1267, -1267, -1267, -1267, 931 -1267, 157, -1267, -1267, -1267, 1043, 172, -1267, -1267, -1267, 932 -1267, 4048, -1267, -1267, -1267, -1267, 225, 198, -1267, 1956, 933 -1267, -1267, -1267, -1267, 217, 1716, 380, 37, 6797, -1267, 934 -1267, 4048, 829, -1267, -1267, 1101, 436, 3172, 661, 839, 935 1101, 977, -1267, -1267, 1289, 340, -1267, 1101, 1140, -1267, 936 327, -1267, 450, 467, -1267, -1267, -1267, -1267, 378, 198, 937 84, -1267, 84, -1267, -1267, -1267, -1267, 7269, 1956, -1267, 938 -1267, 1956, -1267, 386, -1267, 7582, -1267, -1267, 2178, 8744, 939 -1267, 675, 675, 675, -1267, -1267, -1267, 84, -1267, -1267, 940 -1267, 400, 425, 466, -1267, -1267, -1267, 503, -1267, -1267, 941 -1267, -1267, -1267, 515, 527, -1267, -1267, 272, 8119, 1675, 942 732, 435, 568, 593, 612, 625, 639, 8828, 6307, 586, 943 -1267, 4677, -1267, -1267, -1267, -1267, 652, -1267, 339, 9583, 944 9583, -1267, 651, 348, -1267, -1267, -1267, -1267, 665, 379, 945 421, 471, 84, 654, -1267, -1267, 1716, 2591, 717, -1267, 946 90, -1267, 84, 84, 198, -1267, -1267, 91, -1267, 84, 947 84, -1267, 2973, 690, 712, 675, 6831, -1267, -1267, -1267, 948 4048, -1267, -1267, 1101, -1267, -1267, -1267, 198, -1267, 1956, 949 225, -1267, 7235, -1267, 675, 675, 675, 198, -1267, 1541, 950 -1267, 3826, -1267, -1267, 722, 675, -1267, 675, -1267, 157, 951 8119, -1267, 748, -1267, 905, 763, 675, -1267, 1541, 768, 952 779, -1267, 6677, 605, -1267, -1267, -1267, 8477, -1267, -1267, 953 4354, -1267, 717, 8, 9760, 8744, 2178, 2973, -1267, 101, 954 -1267, -1267, 7582, 1956, 807, 10515, -1267, -1267, 473, -1267, 955 10178, 816, 862, 9819, 849, 9760, 9878, -1267, 860, -1267, 956 -1267, -1267, -1267, -1267, -1267, 9937, 9937, 7885, 172, -1267, 957 -1267, -1267, -1267, -1267, -1267, -1267, 866, -1267, 1184, 2546, 958 8119, 9760, -1267, 525, 813, 848, 509, 861, 847, 853, 959 879, 915, 56, -1267, -1267, -1267, 658, -1267, 474, -1267, 960 -1267, 1675, -1267, -1267, 456, 900, -1267, 518, 900, -1267, 961 -1267, 7269, -1267, 917, 933, 8236, -1267, -1267, 536, 1525, 962 7667, 6831, 1101, -1267, 1101, 675, 675, -1267, -1267, -1267, 963 -1267, -1267, -1267, 675, 7269, 1956, -1267, -1267, 8828, 1786, 964 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 9524, 965 9760, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 966 -1267, -1267, -1267, -1267, -1267, 2178, -1267, 446, 942, 951, 967 953, 885, 956, 968, 973, 2591, -1267, -1267, 985, 225, 968 974, -1267, -1267, 987, -1267, -1267, -1267, 8477, -1267, -1267, 969 -1267, -1267, -1267, 2973, -1267, 8119, 8119, -1267, 675, 2178, 970 10547, 7742, -1267, -1267, -1267, -1267, 8477, 8, -1267, -1267, 971 1101, 198, -1267, -1267, 8477, -1267, 5404, -1267, -1267, 675, 972 675, 528, 8594, 998, 1002, 983, 1007, 675, -1267, -1267, 973 -1267, -1267, 9019, -1267, 627, 10212, -1267, 198, 1008, -1267, 974 2178, 10298, 9996, -1267, -1267, -1267, -1267, 922, 2973, -1267, 975 7742, 717, 5806, -1267, -1267, -1267, 1900, 640, 994, 905, 976 10515, 1647, 7582, -1267, 10515, -1267, -1267, -1267, -1267, 643, 977 -1267, 1026, 862, 190, 7885, -1267, 8860, -1267, -1267, 7885, 978 -1267, 8002, 7885, -1267, -1267, 172, -1267, 647, 1027, 694, 979 1028, -1267, -1267, 6061, -1267, -1267, 315, -1267, -1267, 9760, 980 -1267, 368, 9760, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 981 -1267, -1267, -1267, -1267, -1267, 9760, -1267, -1267, 9760, 9760, 982 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 983 9760, 9760, 9760, 9760, 9760, 9760, 3432, 658, 1212, -1267, 984 -1267, 84, 84, -1267, -1267, 8119, -1267, -1267, 987, 605, 985 -1267, 987, 10055, -1267, -1267, 8828, 6061, 1029, -1267, 8744, 986 -1267, -1267, 652, -1267, 1030, 1793, 1039, 1950, 136, 994, 987 -1267, 84, 84, 994, 407, -1267, 84, 84, 987, -1267, 988 -1267, 84, 84, -1267, 900, 8944, 1956, 10447, 258, 304, 989 8944, -1267, 4354, -1267, 994, -1267, 7269, -1267, 126, 7354, 990 7354, 1956, 9642, 1010, -1267, 345, 1025, 1032, -1267, 1040, 991 9583, 449, -1267, 1130, 1956, 7354, 605, 2178, 605, 717, 992 581, 900, -1267, -1267, 616, 900, -1267, -1267, -1267, 862, 993 -1267, 900, 198, 9019, -1267, 679, 1056, 691, 1057, -1267, 994 917, 198, -1267, -1267, 8477, 198, 1058, 8860, 172, -1267, 995 1307, -1267, 481, 505, 905, -1267, 905, 1060, 9760, -1267, 996 905, 10447, -1267, -1267, 1061, -1267, -1267, -1267, 605, -1267, 997 10373, 933, -1267, 7354, 792, 7667, -1267, -1267, 652, 1063, 998 1065, 1900, 2267, -1267, -1267, 10515, 9760, -1267, -1267, 1067, 999 -1267, -1267, 1064, -1267, 1067, 1066, 10178, 9760, 1054, 1059, 1000 117, 1082, 1077, 1085, 1086, -1267, 1087, 1089, 6061, -1267, 1001 9760, -1267, 694, 1520, -1267, -1267, -1267, 84, 84, 9701, 1002 9760, 1090, -1267, -1267, 704, -1267, 9760, -1267, -1267, 876, 1003 -1267, -1267, -1267, -1267, 525, 525, 813, 813, 848, 848, 1004 848, 848, 509, 509, 861, 847, 853, 879, 915, 9760, 1005 77, 9019, 1091, 1092, 1093, 1212, -1267, -1267, -1267, -1267, 1006 -1267, 9019, 709, -1267, 7269, -1267, 6430, 8353, -1267, -1267, 1007 -1267, 1793, 9019, 980, 1098, 1104, 1105, 1106, 1113, 1114, 1008 1116, -1267, 3291, 1950, -1267, -1267, -1267, -1267, -1267, -1267, 1009 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 1010 -1267, 987, -1267, -1267, -1267, 994, -1267, -1267, -1267, -1267, 1011 -1267, -1267, -1267, -1267, -1267, -1267, 1117, 1119, -1267, 225, 1012 1090, 9642, -1267, -1267, -1267, 9524, 1115, -1267, -1267, -1267, 1013 -1267, 905, 5524, 1204, -1267, -1267, -1267, -1267, 1103, 225, 1014 -1267, -1267, 987, -1267, -1267, 987, 154, 987, -1267, -1267, 1015 -1267, -1267, -1267, -1267, 6307, -1267, 198, -1267, -1267, 507, 1016 540, 6307, 1549, 9760, 2098, -1267, -1267, 1109, 38, 1109, 1017 -1267, 905, -1267, 84, -1267, -1267, 8627, 983, -1267, -1267, 1018 -1267, 1002, 1125, 1120, -1267, -1267, 1129, 1133, -1267, 792, 1019 1698, -1267, 356, -1267, 2267, 994, -1267, -1267, 1138, 10515, 1020 7582, 8119, 1142, -1267, -1267, 1134, 1146, 1127, -1267, 9760, 1021 1153, 256, 1148, -1267, 1159, 605, 1159, -1267, -1267, 1159, 1022 -1267, 1164, 1165, 1166, 1520, -1267, -1267, -1267, 9524, -1267, 1023 -1267, -1267, 1163, 9760, 791, -1267, 9760, -1267, 791, -1267, 1024 -1267, 9760, -1267, 673, 900, -1267, -1267, -1267, -1267, -1267, 1025 -1267, -1267, 933, 8236, -1267, -1267, 6553, 1171, -1267, 707, 1026 900, -1267, 728, 773, 900, -1267, 675, 7112, -1267, -1267, 1027 -1267, 9019, 9019, -1267, 7742, 7742, 1172, 1167, 1168, 1175, 1028 -1267, 419, 240, 1090, -1267, 791, -1267, 9583, -1267, 9760, 1029 554, -1267, 5932, 1180, 1181, 9465, 1182, 1185, -8, 40, 1030 86, 9760, 1191, 198, 9760, 9760, 1177, 585, 1169, -1267, 1031 -1267, -1267, 1187, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 1032 -1267, -1267, 905, 1195, 9760, -1267, 9019, 9019, 84, 1201, 1033 -1267, 8711, -1267, -1267, 906, -1267, 2098, -1267, -1267, -1267, 1034 -1267, 1307, -1267, -1267, 1197, -1267, -1267, -1267, -1267, 1203, 1035 1698, -1267, -1267, 1196, -1267, 1067, -1267, -1267, 2178, 1210, 1036 -1267, -1267, -1267, 749, 1217, -1267, 117, 1214, 9760, 1200, 1037 117, 117, 1224, 894, 900, -1267, -1267, 1040, 9760, 1230, 1038 1163, -1267, 943, -1267, -1267, 1220, -1267, 78, -1267, 1231, 1039 1220, -1267, 1234, -1267, -1267, 987, 1236, 6184, 1235, 1239, 1040 1241, -1267, -1267, 1238, -1267, -1267, 987, -1267, -1267, -1267, 1041 -1267, 987, 9760, 9760, 933, 1243, -1267, -1267, -1267, -1267, 1042 -1267, -1267, -1267, -1267, -1267, -1267, -1267, 9760, 9760, 1244, 1043 1248, 1220, -1267, -1267, 905, -1267, -1267, -1267, 7070, 7582, 1044 9760, 9760, 1318, 9760, -1267, 1233, -1267, 1246, -1267, 1250, 1045 9760, 1254, 9760, 1075, 1255, 47, 84, 1805, -1267, -1267, 1046 5524, 1256, 555, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 1047 -1267, -1267, 9281, -1267, 7742, 1260, -1267, -1267, 7582, 561, 1048 582, -1267, 1273, 1262, 862, 1283, -1267, 273, -1267, -1267, 1049 -1267, -1267, 987, 1282, -1267, -1267, 1288, 1321, -1267, -1267, 1050 1321, 1321, 791, 1292, 1699, 1866, -1267, 1295, -1267, 9019, 1051 -1267, -1267, -1267, -1267, 1298, -1267, 9019, 9019, 9019, -1267, 1052 -1267, 1300, -1267, 1301, 1310, 1311, 541, 7429, 7548, -1267, 1053 -1267, -1267, -1267, 1305, -1267, 7817, 762, 783, 1317, 797, 1054 5667, -1267, -1267, -1267, 610, -1267, 802, 1319, 1323, 198, 1055 1369, 965, -1267, -1267, 9760, -1267, 9465, 9760, -1267, -1267, 1056 -1267, 1320, 1326, -1267, -1267, -1267, 1324, -1267, -1267, -1267, 1057 -1267, -1267, -1267, 7582, 862, 1330, -1267, 1313, 862, 9019, 1058 -1267, -1267, -1267, 791, -1267, -1267, -1267, -1267, -1267, -1267, 1059 -1267, -1267, -1267, -1267, -1267, -1267, 1337, 1340, -1267, -1267, 1060 -1267, -1267, -1267, -1267, -1267, 1343, -1267, 1342, -1267, 9465, 1061 276, 9760, 9465, -1267, 1346, 9760, -1267, 281, 1361, 1363, 1062 -1267, -1267, 1355, 1356, 1339, -1267, 921, -1267, -1267, -1267, 1063 1956, 2178, 1347, -1267, 259, 9760, -1267, 814, -1267, 1220, 1064 791, 791, 1362, 1364, 1365, 1367, -1267, -1267, 7742, 1357, 1065 -1267, 1438, 9760, 1352, -1267, -1267, 9375, -1267, 836, -1267, 1066 1360, 9465, 1368, -1267, -1267, 1386, -1267, 1389, -1267, 1407, 1067 1409, -1267, 1376, 7582, -1267, -1267, -1267, 862, 605, 1403, 1068 1382, 1405, 1404, 1220, 1220, -1267, -1267, -1267, -1267, -1267, 1069 9465, 265, -1267, 397, -1267, -1267, 6917, -1267, -1267, 1385, 1070 9760, -1267, 9760, 6917, 198, 8860, 198, 8860, 1410, -1267, 1071 1411, -1267, -1267, 1408, -1267, -1267, 856, -1267, -1267, -1267, 1072 -1267, 1422, 1423, -1267, 9760, 9760, -1267, -1267, 1005, 59, 1073 -1267, -1267, 1390, -1267, 1005, -1267, -1267, 2042, 605, -1267, 1074 -1267, 198, 8860, 198, 8860, 1427, 1412, 605, -1267, -1267, 1075 -1267, -1267, 9375, 1425, 1005, 6995, 9760, 9285, 1426, 1005, 1076 1435, 2042, 2360, -1267, -1267, -1267, 1436, -1267, -1267, -1267, 1077 -1267, 8119, -1267, -1267, -1267, 9148, -1267, 9375, -1267, -1267, 1078 1416, 9058, -1267, -1267, 9285, 198, 2360, 198, 1441, 1445, 1079 857, -1267, 9148, -1267, -1267, -1267, 9058, -1267, -1267, -1267, 1080 198, 198, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267 1327 1081 }; 1328 1082 1329 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 1330 static const yytype_uint8 yyr2[] = 1331 { 1332 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1333 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1334 2, 1, 1, 1, 3, 3, 1, 6, 4, 3, 1335 7, 2, 3, 7, 2, 2, 7, 4, 1, 3, 1336 0, 1, 1, 3, 1, 2, 6, 3, 7, 3, 1337 7, 2, 2, 2, 0, 2, 1, 1, 1, 2, 1338 2, 2, 2, 2, 2, 4, 2, 4, 6, 1, 1339 4, 4, 1, 1, 1, 1, 1, 1, 1, 4, 1340 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1341 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 1342 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1343 4, 1, 1, 3, 0, 1, 1, 1, 1, 1, 1344 1, 1, 1, 1, 1, 1, 1, 1, 6, 7, 1345 1, 3, 1, 3, 0, 1, 1, 1, 1, 1, 1346 1, 1, 1, 1, 6, 4, 2, 7, 1, 3, 1347 1, 2, 1, 2, 1, 2, 2, 5, 7, 5, 1348 9, 5, 9, 1, 3, 1, 1, 3, 3, 2, 1349 1, 2, 2, 0, 1, 2, 3, 0, 1, 2, 1350 3, 3, 4, 0, 1, 1, 2, 5, 7, 6, 1351 6, 4, 3, 4, 2, 3, 2, 3, 3, 3, 1352 3, 5, 3, 3, 4, 1, 5, 6, 5, 6, 1353 9, 10, 9, 10, 2, 1, 2, 2, 2, 1, 1354 6, 8, 10, 12, 14, 0, 1, 0, 1, 1, 1355 3, 4, 7, 0, 1, 3, 1, 3, 1, 1, 1356 1, 3, 1, 1, 1, 3, 0, 1, 3, 4, 1357 1, 3, 1, 1, 3, 3, 3, 3, 3, 2, 1358 3, 6, 3, 3, 4, 1, 2, 2, 3, 5, 1359 7, 7, 5, 9, 2, 2, 5, 3, 5, 4, 1360 3, 4, 4, 7, 3, 3, 3, 3, 4, 6, 1361 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1362 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 1363 5, 1, 2, 3, 1, 2, 1, 1, 1, 1, 1364 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1365 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1366 2, 2, 3, 3, 1, 3, 1, 2, 2, 2, 1367 4, 4, 4, 4, 1, 2, 2, 3, 1, 2, 1368 2, 1, 2, 2, 3, 1, 2, 2, 1, 1, 1369 4, 2, 0, 6, 7, 2, 2, 2, 0, 2, 1370 2, 3, 2, 3, 1, 2, 3, 2, 2, 4, 1371 0, 1, 2, 2, 1, 0, 1, 2, 2, 5, 1372 2, 0, 7, 2, 4, 0, 2, 0, 1, 1, 1373 1, 5, 5, 5, 1, 5, 5, 9, 1, 5, 1374 0, 1, 1, 5, 1, 1, 5, 5, 1, 3, 1375 3, 4, 1, 1, 1, 1, 2, 1, 3, 3, 1376 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1377 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1378 0, 2, 2, 1, 4, 0, 1, 2, 3, 4, 1379 2, 2, 1, 2, 2, 5, 5, 7, 6, 1, 1380 2, 2, 3, 1, 2, 2, 4, 2, 4, 0, 1381 4, 2, 1, 1, 1, 0, 2, 5, 5, 13, 1382 1, 1, 3, 3, 2, 3, 3, 2, 4, 1, 1383 6, 9, 0, 11, 1, 3, 3, 3, 1, 1, 1384 5, 2, 5, 0, 1, 1, 3, 0, 1, 1, 1385 1, 1, 0, 6, 2, 1, 2, 4, 2, 3, 1386 3, 3, 4, 5, 5, 5, 6, 1, 1, 1, 1387 3, 0, 5, 0, 1, 1, 2, 6, 1, 3, 1388 0, 1, 4, 1, 1, 1, 1, 2, 1, 2, 1389 2, 1, 3, 2, 3, 3, 2, 4, 4, 3, 1390 8, 3, 2, 1, 2, 6, 8, 3, 2, 3, 1391 3, 4, 4, 3, 1, 1, 1, 4, 6, 3, 1392 2, 3, 3, 4, 4, 3, 2, 1, 2, 2, 1393 1, 3, 2, 3, 3, 2, 4, 4, 3, 6, 1394 8, 3, 2, 1, 2, 2, 2, 3, 3, 2, 1395 4, 4, 3, 6, 8, 3, 2, 1, 2, 2, 1396 1, 1, 2, 3, 3, 2, 4, 6, 8, 1, 1397 2, 2, 1, 2, 2, 3, 3, 1, 4, 4, 1398 3, 5, 8, 3, 2, 3, 1, 5, 5, 6, 1399 6, 1, 2, 2, 1, 2, 2, 3, 3, 1, 1400 4, 4, 3, 5, 8, 3, 1, 2, 1, 2, 1401 6, 5, 6, 7, 7, 1, 2, 2, 1, 2, 1402 2, 3, 3, 1, 4, 4, 3, 8, 3, 1, 1403 1, 2, 1, 1, 2, 3, 2, 3, 2, 3, 1404 3, 2, 4, 3, 2, 3, 2, 4, 3, 2, 1405 6, 6, 6, 7, 1, 2, 1, 1, 1, 2, 1406 3, 2, 3, 2, 3, 3, 4, 2, 3, 4, 1407 2, 5, 6, 6, 0, 1, 0, 2 1408 }; 1409 1410 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. 1411 Performed when YYTABLE doesn't specify something else to do. Zero 1412 means the default is an error. */ 1083 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 1084 Performed when YYTABLE does not specify something else to do. Zero 1085 means the default is an error. */ 1413 1086 static const yytype_uint16 yydefact[] = 1414 1087 { … … 1569 1242 }; 1570 1243 1571 /* YYDEFGOTO[NTERM-NUM]. */ 1244 /* YYPGOTO[NTERM-NUM]. */ 1245 static const yytype_int16 yypgoto[] = 1246 { 1247 -1267, 4051, 2784, -1267, 133, -1267, 1353, 867, -240, 882, 1248 -1267, 523, -528, -489, -834, -1001, -1267, -51, 4776, 0, 1249 -1267, 793, 508, 531, 517, 553, 1006, 1001, 1009, 1004, 1250 1015, -1267, 711, -584, 4023, -739, -1267, -1267, 606, -227, 1251 -674, -263, -1267, 335, -1267, 384, -963, -1267, -1267, 116, 1252 -1267, -732, -1049, 228, -1267, -1267, -1267, -1267, 57, -1266, 1253 -1267, -1267, -1267, -1267, -1267, -1267, 302, -964, 23, -1267, 1254 -360, -1267, 484, 278, -1267, 155, -1267, -355, -1267, -1267, 1255 -1267, 538, -612, -1267, -1267, 9, -990, 219, 2319, -1267, 1256 -1267, -1267, -124, -1267, 110, 36, -188, 1213, 3869, -1267, 1257 -1267, 12, 61, 970, 1623, -1267, 1495, -1267, -1267, 21, 1258 1827, -1267, 2153, 1937, -1267, -1267, -1267, -641, -1267, 914, 1259 919, 521, 695, -93, -1267, -1267, -1267, 907, 693, -521, 1260 -1267, -507, -417, -420, -1267, -1267, -914, -941, -147, -54, 1261 1019, 19, -1267, 2311, 381, -366, -185, -122, 649, 750, 1262 -1267, 969, -1267, 2435, 1823, -463, 901, -1267, -1267, 697, 1263 -1267, -225, -1267, 103, -1267, -1267, -1267, -1263, 412, -1267, 1264 -1267, -1267, 1139, -1267, 42, -1267, -1267, -832, -94, -1230, 1265 -162, 2364, -1267, 3117, -1267, 908, -1267, -103, 120, -184, 1266 -183, -178, 7, -40, -39, -36, 1505, 4, 32, 71, 1267 92, -173, -172, -170, -168, -306, -510, -503, -496, -559, 1268 -313, -498, -1267, -1267, -514, 1072, 1076, 1081, 1925, 4399, 1269 -524, -566, -556, -543, -548, -1267, -508, -723, -722, -717, 1270 -582, -166, -229, -1267, -1267, 283, 102, 6, -1267, 3380, 1271 108, -611, -462 1272 }; 1273 1274 /* YYDEFGOTO[NTERM-NUM]. */ 1572 1275 static const yytype_int16 yydefgoto[] = 1573 1276 { … … 1599 1302 }; 1600 1303 1601 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1602 STATE-NUM. */ 1603 #define YYPACT_NINF -1267 1604 static const yytype_int16 yypact[] = 1605 { 1606 5235, 8510, -1267, -14, -1267, -1267, -1267, -1267, -1267, -1267, 1607 -1267, -27, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 1608 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 84, 84, 1609 84, 1541, 905, 123, 6677, 163, -1267, -1267, -1267, -1267, 1610 -1267, 157, -1267, -1267, -1267, 1043, 81, -1267, -1267, -1267, 1611 -1267, 4048, -1267, -1267, -1267, -1267, 225, 198, -1267, 1956, 1612 -1267, -1267, -1267, -1267, 217, 1716, 371, 37, 6797, -1267, 1613 -1267, 4048, 829, -1267, -1267, 1101, 380, 3172, 661, 839, 1614 1101, 977, -1267, -1267, 1289, 340, -1267, 1101, 1140, -1267, 1615 273, -1267, 439, 447, -1267, -1267, -1267, -1267, 337, 198, 1616 84, -1267, 84, -1267, -1267, -1267, -1267, 7269, 1956, -1267, 1617 -1267, 1956, -1267, 325, -1267, 7582, -1267, -1267, 2178, 8744, 1618 -1267, 675, 675, 675, -1267, -1267, -1267, 84, -1267, -1267, 1619 -1267, 360, 395, 436, -1267, -1267, -1267, 466, -1267, -1267, 1620 -1267, -1267, -1267, 503, 515, -1267, -1267, 272, 8119, 1675, 1621 307, 370, 377, 524, 565, 568, 580, 8828, 6307, 594, 1622 -1267, 4677, -1267, -1267, -1267, -1267, 613, -1267, 271, 9583, 1623 9583, -1267, 610, 339, -1267, -1267, -1267, -1267, 618, 379, 1624 421, 468, 84, 603, -1267, -1267, 1716, 2591, 687, -1267, 1625 90, -1267, 84, 84, 198, -1267, -1267, 91, -1267, 84, 1626 84, -1267, 2973, 652, 657, 675, 6831, -1267, -1267, -1267, 1627 4048, -1267, -1267, 1101, -1267, -1267, -1267, 198, -1267, 1956, 1628 225, -1267, 7235, -1267, 675, 675, 675, 198, -1267, 1541, 1629 -1267, 3826, -1267, -1267, 642, 675, -1267, 675, -1267, 157, 1630 8119, -1267, 665, -1267, 905, 685, 675, -1267, 1541, 689, 1631 710, -1267, 6677, 291, -1267, -1267, -1267, 8477, -1267, -1267, 1632 4354, -1267, 687, 8, 9760, 8744, 2178, 2973, -1267, 101, 1633 -1267, -1267, 7582, 1956, 740, 10515, -1267, -1267, 378, -1267, 1634 10178, 730, 705, 9819, 773, 9760, 9878, -1267, 794, -1267, 1635 -1267, -1267, -1267, -1267, -1267, 9937, 9937, 7885, 81, -1267, 1636 -1267, -1267, -1267, -1267, -1267, -1267, 834, -1267, 1184, 2546, 1637 8119, 9760, -1267, 525, 415, 844, 338, 853, 823, 831, 1638 841, 886, 56, -1267, -1267, -1267, 518, -1267, 528, -1267, 1639 -1267, 1675, -1267, -1267, 456, 900, -1267, 490, 900, -1267, 1640 -1267, 7269, -1267, 940, 946, 8236, -1267, -1267, 536, 1525, 1641 7667, 6831, 1101, -1267, 1101, 675, 675, -1267, -1267, -1267, 1642 -1267, -1267, -1267, 675, 7269, 1956, -1267, -1267, 8828, 1786, 1643 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 9524, 1644 9760, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 1645 -1267, -1267, -1267, -1267, -1267, 2178, -1267, 446, 945, 961, 1646 968, 800, 973, 976, 981, 2591, -1267, -1267, 939, 225, 1647 982, -1267, -1267, 987, -1267, -1267, -1267, 8477, -1267, -1267, 1648 -1267, -1267, -1267, 2973, -1267, 8119, 8119, -1267, 675, 2178, 1649 10547, 7742, -1267, -1267, -1267, -1267, 8477, 8, -1267, -1267, 1650 1101, 198, -1267, -1267, 8477, -1267, 5404, -1267, -1267, 675, 1651 675, 579, 8594, 994, 993, 983, 998, 675, -1267, -1267, 1652 -1267, -1267, 9019, -1267, 616, 10212, -1267, 198, 1004, -1267, 1653 2178, 10298, 9996, -1267, -1267, -1267, -1267, 843, 2973, -1267, 1654 7742, 687, 5806, -1267, -1267, -1267, 1900, 626, 990, 905, 1655 10515, 1647, 7582, -1267, 10515, -1267, -1267, -1267, -1267, 627, 1656 -1267, 1013, 705, 154, 7885, -1267, 8860, -1267, -1267, 7885, 1657 -1267, 8002, 7885, -1267, -1267, 81, -1267, 640, 1015, 658, 1658 1021, -1267, -1267, 6061, -1267, -1267, 315, -1267, -1267, 9760, 1659 -1267, 368, 9760, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 1660 -1267, -1267, -1267, -1267, -1267, 9760, -1267, -1267, 9760, 9760, 1661 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 1662 9760, 9760, 9760, 9760, 9760, 9760, 3432, 518, 1212, -1267, 1663 -1267, 84, 84, -1267, -1267, 8119, -1267, -1267, 987, 291, 1664 -1267, 987, 10055, -1267, -1267, 8828, 6061, 1020, -1267, 8744, 1665 -1267, -1267, 613, -1267, 1023, 1793, 1025, 1950, 136, 990, 1666 -1267, 84, 84, 990, 407, -1267, 84, 84, 987, -1267, 1667 -1267, 84, 84, -1267, 900, 8944, 1956, 10447, 356, 541, 1668 8944, -1267, 4354, -1267, 990, -1267, 7269, -1267, 126, 7354, 1669 7354, 1956, 9642, 1003, -1267, 789, 1008, 1010, -1267, 1026, 1670 9583, 449, -1267, 1114, 1956, 7354, 291, 2178, 291, 687, 1671 707, 900, -1267, -1267, 766, 900, -1267, -1267, -1267, 705, 1672 -1267, 900, 198, 9019, -1267, 643, 1041, 647, 1045, -1267, 1673 940, 198, -1267, -1267, 8477, 198, 1042, 8860, 81, -1267, 1674 1307, -1267, 471, 481, 905, -1267, 905, 1047, 9760, -1267, 1675 905, 10447, -1267, -1267, 1056, -1267, -1267, -1267, 291, -1267, 1676 10373, 946, -1267, 7354, 694, 7667, -1267, -1267, 613, 1052, 1677 1057, 1900, 2267, -1267, -1267, 10515, 9760, -1267, -1267, 1055, 1678 -1267, -1267, 1048, -1267, 1055, 1063, 10178, 9760, 1046, 1051, 1679 117, 1065, 1062, 1070, 1074, -1267, 1081, 1082, 6061, -1267, 1680 9760, -1267, 658, 1520, -1267, -1267, -1267, 84, 84, 9701, 1681 9760, 1077, -1267, -1267, 679, -1267, 9760, -1267, -1267, 821, 1682 -1267, -1267, -1267, -1267, 525, 525, 415, 415, 844, 844, 1683 844, 844, 338, 338, 853, 823, 831, 841, 886, 9760, 1684 397, 9019, 1085, 1086, 1087, 1212, -1267, -1267, -1267, -1267, 1685 -1267, 9019, 691, -1267, 7269, -1267, 6430, 8353, -1267, -1267, 1686 -1267, 1793, 9019, 856, 1089, 1091, 1092, 1093, 1096, 1098, 1687 1104, -1267, 3291, 1950, -1267, -1267, -1267, -1267, -1267, -1267, 1688 -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 1689 -1267, 987, -1267, -1267, -1267, 990, -1267, -1267, -1267, -1267, 1690 -1267, -1267, -1267, -1267, -1267, -1267, 1105, 1106, -1267, 225, 1691 1077, 9642, -1267, -1267, -1267, 9524, 1108, -1267, -1267, -1267, 1692 -1267, 905, 5524, 1197, -1267, -1267, -1267, -1267, 1095, 225, 1693 -1267, -1267, 987, -1267, -1267, 987, 1117, 987, -1267, -1267, 1694 -1267, -1267, -1267, -1267, 6307, -1267, 198, -1267, -1267, 505, 1695 507, 6307, 1549, 9760, 2098, -1267, -1267, 1099, 38, 1099, 1696 -1267, 905, -1267, 84, -1267, -1267, 8627, 983, -1267, -1267, 1697 -1267, 993, 1120, 1115, -1267, -1267, 1122, 1123, -1267, 694, 1698 1698, -1267, 576, -1267, 2267, 990, -1267, -1267, 1126, 10515, 1699 7582, 8119, 1129, -1267, -1267, 1125, 1135, 1118, -1267, 9760, 1700 1141, 190, 1136, -1267, 1142, 291, 1142, -1267, -1267, 1142, 1701 -1267, 1147, 1152, 1154, 1520, -1267, -1267, -1267, 9524, -1267, 1702 -1267, -1267, 1163, 9760, 986, -1267, 9760, -1267, 986, -1267, 1703 -1267, 9760, -1267, 894, 900, -1267, -1267, -1267, -1267, -1267, 1704 -1267, -1267, 946, 8236, -1267, -1267, 6553, 1171, -1267, 898, 1705 900, -1267, 920, 936, 900, -1267, 675, 7112, -1267, -1267, 1706 -1267, 9019, 9019, -1267, 7742, 7742, 1172, 1167, 1168, 1175, 1707 -1267, 670, 111, 1077, -1267, 986, -1267, 9583, -1267, 9760, 1708 540, -1267, 5932, 1180, 1181, 9465, 1182, 1185, -8, 40, 1709 86, 9760, 1191, 198, 9760, 9760, 1177, 585, 1169, -1267, 1710 -1267, -1267, 1187, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 1711 -1267, -1267, 905, 1195, 9760, -1267, 9019, 9019, 84, 1201, 1712 -1267, 8711, -1267, -1267, 862, -1267, 2098, -1267, -1267, -1267, 1713 -1267, 1307, -1267, -1267, 1198, -1267, -1267, -1267, -1267, 1202, 1714 1698, -1267, -1267, 1196, -1267, 1055, -1267, -1267, 2178, 1210, 1715 -1267, -1267, -1267, 704, 1217, -1267, 117, 1214, 9760, 1200, 1716 117, 117, 1224, 950, 900, -1267, -1267, 1026, 9760, 1230, 1717 1163, -1267, 943, -1267, -1267, 1220, -1267, 78, -1267, 1231, 1718 1220, -1267, 1234, -1267, -1267, 987, 1236, 6184, 1235, 1239, 1719 1241, -1267, -1267, 1238, -1267, -1267, 987, -1267, -1267, -1267, 1720 -1267, 987, 9760, 9760, 946, 1243, -1267, -1267, -1267, -1267, 1721 -1267, -1267, -1267, -1267, -1267, -1267, -1267, 9760, 9760, 1244, 1722 1248, 1220, -1267, -1267, 905, -1267, -1267, -1267, 7070, 7582, 1723 9760, 9760, 1318, 9760, -1267, 1233, -1267, 1246, -1267, 1250, 1724 9760, 1254, 9760, 938, 1255, 47, 84, 1805, -1267, -1267, 1725 5524, 1256, 554, -1267, -1267, -1267, -1267, -1267, -1267, -1267, 1726 -1267, -1267, 9281, -1267, 7742, 1260, -1267, -1267, 7582, 555, 1727 561, -1267, 1273, 1262, 705, 1283, -1267, 256, -1267, -1267, 1728 -1267, -1267, 987, 1282, -1267, -1267, 1288, 1321, -1267, -1267, 1729 1321, 1321, 986, 1292, 1699, 1866, -1267, 1295, -1267, 9019, 1730 -1267, -1267, -1267, -1267, 1298, -1267, 9019, 9019, 9019, -1267, 1731 -1267, 1300, -1267, 1301, 1310, 1311, 725, 7429, 7548, -1267, 1732 -1267, -1267, -1267, 1305, -1267, 7817, 709, 755, 1317, 758, 1733 5667, -1267, -1267, -1267, 582, -1267, 768, 1319, 1323, 198, 1734 1369, 935, -1267, -1267, 9760, -1267, 9465, 9760, -1267, -1267, 1735 -1267, 1320, 1326, -1267, -1267, -1267, 1324, -1267, -1267, -1267, 1736 -1267, -1267, -1267, 7582, 705, 1330, -1267, 1313, 705, 9019, 1737 -1267, -1267, -1267, 986, -1267, -1267, -1267, -1267, -1267, -1267, 1738 -1267, -1267, -1267, -1267, -1267, -1267, 1337, 1340, -1267, -1267, 1739 -1267, -1267, -1267, -1267, -1267, 1343, -1267, 1342, -1267, 9465, 1740 276, 9760, 9465, -1267, 1346, 9760, -1267, 281, 1361, 1363, 1741 -1267, -1267, 1355, 1356, 1339, -1267, 901, -1267, -1267, -1267, 1742 1956, 2178, 1347, -1267, 401, 9760, -1267, 783, -1267, 1220, 1743 986, 986, 1362, 1364, 1365, 1367, -1267, -1267, 7742, 1357, 1744 -1267, 1438, 9760, 1352, -1267, -1267, 9375, -1267, 791, -1267, 1745 1360, 9465, 1368, -1267, -1267, 1386, -1267, 1389, -1267, 1407, 1746 1409, -1267, 1376, 7582, -1267, -1267, -1267, 705, 291, 1403, 1747 1382, 1405, 1404, 1220, 1220, -1267, -1267, -1267, -1267, -1267, 1748 9465, 240, -1267, 474, -1267, -1267, 6917, -1267, -1267, 1385, 1749 9760, -1267, 9760, 6917, 198, 8860, 198, 8860, 1410, -1267, 1750 1411, -1267, -1267, 1408, -1267, -1267, 802, -1267, -1267, -1267, 1751 -1267, 1422, 1423, -1267, 9760, 9760, -1267, -1267, 979, 59, 1752 -1267, -1267, 1390, -1267, 979, -1267, -1267, 2042, 291, -1267, 1753 -1267, 198, 8860, 198, 8860, 1427, 1412, 291, -1267, -1267, 1754 -1267, -1267, 9375, 1425, 979, 6995, 9760, 9285, 1426, 979, 1755 1435, 2042, 2360, -1267, -1267, -1267, 1436, -1267, -1267, -1267, 1756 -1267, 8119, -1267, -1267, -1267, 9148, -1267, 9375, -1267, -1267, 1757 1416, 9058, -1267, -1267, 9285, 198, 2360, 198, 1441, 1445, 1758 814, -1267, 9148, -1267, -1267, -1267, 9058, -1267, -1267, -1267, 1759 198, 198, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267 1760 }; 1761 1762 /* YYPGOTO[NTERM-NUM]. */ 1763 static const yytype_int16 yypgoto[] = 1764 { 1765 -1267, 4051, 2784, -1267, 133, -1267, 1353, 867, -240, -1267, 1766 -1267, 504, -528, -489, -834, -1001, -1267, -77, 4776, 0, 1767 -1267, 793, 489, 531, 722, 534, 999, 1001, 1005, 1007, 1768 1002, -1267, 711, -584, 4023, -739, -1267, -1267, 606, -227, 1769 -674, -263, -1267, 335, -1267, 382, -963, -1267, -1267, 119, 1770 -1267, -732, -1049, 228, -1267, -1267, -1267, -1267, 54, -1266, 1771 -1267, -1267, -1267, -1267, -1267, -1267, 302, -1050, 23, -1267, 1772 -171, -1267, 482, 277, -1267, 153, -1267, -355, -1267, -1267, 1773 -1267, 538, -612, -1267, -1267, 9, -990, 219, 2319, -1267, 1774 -1267, -1267, -124, -1267, 110, 36, -188, 1213, 3869, -1267, 1775 -1267, 12, 61, 970, 1623, -1267, 1495, -1267, -1267, 21, 1776 1827, -1267, 2153, 1937, -1267, -1267, -1267, -641, -1267, 911, 1777 914, 521, 695, -93, -1267, -1267, -1267, 906, 690, -521, 1778 -1267, -507, -417, -420, -1267, -1267, -914, -941, -147, -54, 1779 1019, 19, -1267, 2311, 381, -366, -185, -122, 649, 745, 1780 -1267, 964, -1267, 2435, 1823, -463, 895, -1267, -1267, 693, 1781 -1267, -225, -1267, 103, -1267, -1267, -1267, -1263, 408, -1267, 1782 -1267, -1267, 1139, -1267, 42, -1267, -1267, -832, -94, -1230, 1783 -162, 2364, -1267, 3117, -1267, 908, -1267, -103, 120, -184, 1784 -183, -178, 7, -40, -39, -36, 1505, 4, 32, 71, 1785 92, -173, -172, -170, -168, -306, -510, -503, -496, -559, 1786 -313, -498, -1267, -1267, -514, 1064, 1072, 1076, 1925, 4399, 1787 -524, -566, -556, -543, -548, -1267, -508, -723, -722, -717, 1788 -582, -166, -229, -1267, -1267, 283, 102, 6, -1267, 3380, 1789 108, -611, -462 1790 }; 1791 1792 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 1793 positive, shift that token. If negative, reduce the rule which 1794 number is the opposite. If YYTABLE_NINF, syntax error. */ 1795 #define YYTABLE_NINF -529 1304 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 1305 positive, shift that token. If negative, reduce the rule whose 1306 number is the opposite. If YYTABLE_NINF, syntax error. */ 1796 1307 static const yytype_int16 yytable[] = 1797 1308 { … … 1815 1326 952, 98, 900, 108, 146, 953, 1178, 33, -239, 591, 1816 1327 713, 1161, 918, 1285, 326, 190, 187, 187, 98, 566, 1817 154, 98, 177, 340, 162, 1235, 846, 157, 665, 667,1328 154, 98, 177, 340, 162, 1235, 846, 740, 665, 667, 1818 1329 291, 804, 267, 253, 418, 410, 410, 1180, 805, 790, 1819 51, 1157, 847, 847, 479, 806, 410, 162, 155, 58,1330 51, 971, 847, 847, 479, 806, 410, 162, 155, 58, 1820 1331 117, 1512, 210, 167, 660, 1424, 151, 152, 847, 441, 1821 153, 1314, 939, 1317, 1319, 808, 144, 1158, 437, 474,1332 153, 1314, 939, 1317, 1319, 808, 144, 524, 437, 474, 1822 1333 310, 177, 429, 879, 177, 809, 432, 1061, 1527, 817, 1823 1334 1050, 596, 51, 58, 999, 819, 330, 156, 810, 99, 1824 272, 716, 728, 1152, 71, 272, 267, 267, 729, 98,1335 272, 716, 728, 1152, 71, 272, 267, 267, 1058, 98, 1825 1336 148, 976, 115, 78, 162, 52, 326, 517, 78, 407, 1826 1167, 98, 517, 440, 604, 517, 847, 211, 730, 1000,1337 1167, 98, 517, 440, 604, 517, 847, 211, 157, 1000, 1827 1338 221, 804, 481, 469, 461, 1184, 1185, 310, 805, 498, 1828 1074, 649, 657, 987, 1099, 806, 397, 190, 432, 1065,1339 1074, 649, 657, 987, 729, 806, 397, 190, 432, 1065, 1829 1340 310, 486, 469, 72, 707, 695, 172, 1152, 434, 886, 1830 469, 706, 1382, 1383, 1100, 281, 568, 1382, 1383, 664,1341 469, 706, 1382, 1383, 730, 281, 568, 1382, 1383, 664, 1831 1342 98, 149, 445, 519, 164, 669, 169, 182, 372, 780, 1832 1 454, 115, 98, 1150, 1151, 345, 160, 584, 330, 597,1343 1157, 115, 98, 1150, 1151, 345, 160, 584, 330, 597, 1833 1344 615, 458, 177, 808, 108, 1097, 795, 1181, 1051, 407, 1834 170, 972, 65, 809, 620, 112, 1158, 470, 620, 1224,1835 1 307, 977, 98, 1003, 202, 657, 810, 583, 43, 44,1836 434, 588, 988, -294, 624, 282, 477, 1470, 628, 112,1837 1 308, 376, 174, 248, 1384, 267, 816, 842, 164, 1393,1838 621, 833, 43, 44, 625, 187, 177, 377, 696, 1482,1839 1166, 213, 372, 177, 112, 1487, 141, 142, 167, 876,1840 253, 332, 1498, 267, 1500, 310, 310, 43, 44, 267,1841 752, 620, 555, 556, 254, 1507, 1167, 1152, 78, 251,1842 1514, 439, 112, 1167, 1138, 1140, 1106, -524, 33, 591,1843 25 3, 98, 115, 593, 591, 43, 44, 78, 244, 386,1844 264, 326, 326, 1082, 1419, 78, 1085, 557, 558, 598,1845 267, 58, 83 6, -12, 706, 387, 837, 1118, 267, 1369,1846 620, 177, 51, 757, 3 33, 372, 712, 869, 680, 99,1847 940, 334, 115, 433, 71, 1167, 1223, 658, 177, 389,1848 604, 118, 177, 78, 310, 52, 115, 998, -448, 310,1849 491, 310, 310, 492, 1215, 390, 695, 740, 857, 743,1850 824, 1407, 596, 345, 1511, 190, 486, 470, 326, 416,1851 486, 971, 213, 330, 330, 1408, 1413, 1414, 551, 552,1852 519, 391, 519, 72, 1522, 519, 470, 326, 519, -449,1345 170, 972, 65, 809, 620, 1454, 1158, 470, 620, 1224, 1346 1099, 977, 98, 1003, 836, 657, 810, 583, 837, 1407, 1347 434, 588, 988, 202, 624, 282, 477, 1307, 628, 112, 1348 1100, 1158, 174, 1408, 1384, 267, 816, 842, 164, 1393, 1349 621, 833, 43, 44, 625, 187, 177, 1308, 696, 1482, 1350 1166, 213, 372, 177, 112, 1487, 141, 142, 167, 112, 1351 838, 141, 142, 267, 839, 310, 310, 43, 44, 267, 1352 752, 620, 43, 44, 254, 1507, 1167, 1152, 78, -294, 1353 1514, 439, 112, 1167, 1138, 1140, 1106, 248, 33, 591, 1354 251, 98, 115, 593, 591, 43, 44, 78, 244, 376, 1355 852, 326, 326, 1082, 1419, 78, 1085, -524, 386, 598, 1356 267, 58, 838, 1470, 706, 377, 1081, 1118, 267, 1369, 1357 620, 177, 51, 757, 387, 372, 712, 869, 680, 99, 1358 940, 253, 115, 433, 71, 1167, 1223, 658, 177, 389, 1359 604, 118, 177, 78, 310, 52, 115, 998, 1498, 310, 1360 1500, 310, 310, -12, 1215, 390, 695, 1455, 857, 743, 1361 824, 264, 596, 345, 1511, 190, 486, 470, 326, 416, 1362 486, 1456, 213, 330, 330, -112, 1413, 1414, -448, -112, 1363 519, 391, 519, 72, 1522, 519, 470, 326, 519, 333, 1853 1364 469, 1526, 435, 867, 470, 433, 1000, 392, 1106, 253, 1854 1365 332, 410, 443, 900, 858, 980, 635, 568, 568, 576, 1855 658, 410, 707, 1259, 1260, 310, 915, 897, 1050, 277,1856 521, 1147, 1148, 859, 108, 620, 345, 1149, 393, 615,1857 704, 901, 65, 164, 1455, 597, 1343, 597, 797, 1039,1858 330, 90 3, 98, 579, 394, 410, 598, 902, 1456, 696,1859 39, 326, 175, 176, 42, 620, 27 9, 904, 998, 330,1860 620, 793, 615, 43, 44, 90 1, 620, 903, 280, 620,1861 620, 5 67, 518, 410, 695, 835, 1195, 1196, 335, 47,1862 48, 1062, 574, 1063, 695, 620, 548, 267, 575, 371,1863 849, 832, 549, 550, 1428, 695, 588, 838, 1345, 287,1864 1164, 839, 841, 864, 1010, 2, 207, 4, 5, 6,1865 7, 1392, 43, 44, 1164, 1 298, 1165, 115, 440, 336,1866 894, 1 300, 337, 330, 1055, 8, 9, 10, 11, 12,1867 1 290, 1299, 838, 676, 338, 78, 1081, 1301, 512, 575,1868 378, 58, 740, 620, 920, 615, 1093, 371, 398, 399,1869 706, 712, 712, 680, 400, 803, 33, 598, 13 46, 401,1870 402, 78, 403, 834, 404, 707, 3 75, 696, 593, 384,1871 697, 388, 37, 1016, 38, 684, 698, 696, 345, 396,1872 714, 725, 743, 743, 36, 498, 715, 726, 696, 177,1873 1428, 486, 213, 408, 739, 1428, 1462, 880, 1463, 1356,1874 7 40, 882, 1172, 740, 177, 425, 213, 740, 951, 952,1875 426, 742, 899, 410, 953, 1428, 673, 177, 448, 47,1876 48, 1409, 1428, -372, 470, 568, -112, 521, 291, 521,1877 -112, 406, 521, 965, 620, 521, 983, -3, 1421, 966,1878 898, 597, 699, -401, 1068, 978, 1068, 919, 1142, 596,1879 470, 698, 1509, 597, 1460, 47, 48, 591, 1211, 1321,1880 870, 1460, 410, 1339, 575, 459, 1323, 1324, 1325, 740,1366 658, 410, 707, 1259, 1260, 310, 915, 897, 1050, -449, 1367 521, 1147, 1148, 859, 108, 620, 345, 1149, 574, 615, 1368 704, 393, 65, 164, 575, 597, 1343, 597, 797, 1039, 1369 330, 901, 98, 555, 556, 491, 598, 394, 492, 696, 1370 39, 326, 175, 176, 42, 620, 277, 902, 998, 330, 1371 620, 793, 615, 43, 44, 903, 620, 901, 279, 620, 1372 620, 579, 518, 410, 695, 835, 1195, 1196, 557, 558, 1373 280, 904, 676, 1062, 695, 620, 548, 267, 575, 371, 1374 849, 832, 549, 550, 1428, 695, 588, 1332, 1345, 287, 1375 903, 1333, 841, 864, 1010, 2, 207, 4, 5, 6, 1376 7, 1392, 43, 44, 1164, 1164, 1063, 115, 440, 112, 1377 894, 1298, 334, 330, 1055, 8, 9, 10, 11, 12, 1378 1165, 1290, 43, 44, 870, 78, 410, 1299, 512, 371, 1379 378, 58, 1300, 620, 920, 615, 1093, 335, 398, 399, 1380 706, 712, 712, 680, 400, 803, 33, 598, 1301, 401, 1381 402, 78, 403, 834, 404, 707, 336, 696, 593, 873, 1382 740, 410, 37, 1016, 38, 684, 1213, 696, 345, 337, 1383 1217, 697, 743, 743, 36, 498, 1346, 698, 696, 177, 1384 1428, 486, 213, 338, 714, 1428, 1462, 725, 1463, 1356, 1385 715, 739, 1172, 726, 177, 375, 213, 740, 951, 952, 1386 384, 567, 899, 410, 953, 1428, 673, 177, 388, 47, 1387 48, 1409, 1428, 408, 470, 568, 1123, 521, 410, 521, 1388 396, 406, 521, 880, 620, 521, 983, -3, 1421, 740, 1389 898, 597, 699, 425, 1068, 882, 1068, 742, 1142, 410, 1390 470, 740, 1509, 597, 1460, 47, 48, 591, 965, 1321, 1391 1134, 1460, 410, 978, 966, 426, 1323, 1324, 1325, 698, 1881 1392 979, 803, 598, 2, 207, 4, 5, 6, 7, 518, 1882 1335, 1 332, -295, 502, 518, 1333, 460, 518, 704, 8,1883 9, 10, 11, 12, 695, 695, 940, 213, 4 82, 177,1884 940, 940, 310, 112, 229, 141, 142, 50, 114, 1340,1885 1480, 1421, 1 342, 1508, 71, 740, 43, 44, 740, 873,1886 33, 410, 1347, 78, 345, 731, 506, 732, 740, 1368,1887 733, 345, 894, 737, 894, 1162, 797, 1 410, 114, 114,1888 37, 50, 38, 1407, 852, 1429, 115, 511, 36, 695,1889 695, 740, 50, 418, 653, 410, 1476, 524, 50, 920,1890 920, 803, 1477, 72, 712, 1213, 50, 1039, 1532, 1217,1891 115, 310, 50, 598, 575, 50, 553, 554, 50, 1086,1892 969, 966, 680, 1266, 1267, 561, 1269, 696, 696, 559,1893 560, 114, 114, 1274, 743, 1276, 479, 332, 410, 1494,1894 684, 707, 5 62, 657, 108, 486, 1088, 326, 897, 817,1895 332, 596, 65, 563, 1305, 50, 332, 410, 50, 112,1896 -296, 141, 142, 345, 56 4, 50, 407, 8, 9, 10,1897 11, 12, 43, 44, 1206, 1352, 1353, 878, 1277, 1278,1898 1279, 704, 696, 696, 620, 620, 885, 1123, 1106, 410,1899 887, 1134, 1064, 410, 898, 339, 50, 112, 33, 832,1900 1402, 966, 310, 1355, 1111, 1382, 1383, 1112, 50, 1113,1901 43, 44, 108, 1137, 1169, 596, 1230, 1231, 707, 330,1902 764, 765, 230, 78, 598, 231, 36, 440, 235, 1139,1903 237, 596, 659, 50, 50, 1294, 585, 246, 1228, 650,1904 112, 115, -3, 1220, 1363, 410, 894, 1111, 1363, 50,1905 1112, 894, 1113, 43, 44, 651, 1381, 50, 508, 1389,1906 920, 58, 65 2, 72, 766, 767, 50, 654, 267, 50,1907 6 55, 834, 695, 772, 773, 656, 114, 680, 661, 695,1393 1335, 1137, -295, 596, 518, 253, 332, 518, 704, 8, 1394 9, 10, 11, 12, 695, 695, 940, 213, 448, 177, 1395 940, 940, 310, 1211, 229, 112, -372, 50, 114, 575, 1396 1480, 1421, 1111, 1508, 71, 1112, 1339, 1113, 43, 44, 1397 33, -401, 740, 78, 345, 731, 1139, 732, 596, 1368, 1398 733, 345, 894, 737, 894, 1162, 797, 1340, 114, 114, 1399 37, 50, 38, 740, 459, 919, 115, 596, 36, 695, 1400 695, 1342, 50, 47, 48, 460, 1347, 740, 50, 920, 1401 920, 803, 740, 72, 712, 482, 50, 1039, 1410, 502, 1402 115, 310, 50, 598, 1407, 50, 551, 552, 50, 1086, 1403 553, 554, 680, 1266, 1267, 291, 1269, 696, 696, 524, 1404 1429, 114, 114, 1274, 743, 1276, 740, 559, 560, 1494, 1405 684, 707, 506, 657, 108, 486, 1088, 326, 897, 561, 1406 1476, 1532, 65, 511, 1305, 50, 1477, 575, 50, 112, 1407 -296, 141, 142, 345, 562, 50, 407, 8, 9, 10, 1408 11, 12, 43, 44, 1206, 969, 966, 878, 418, 653, 1409 410, 704, 696, 696, 620, 620, 885, 1220, 1106, 410, 1410 887, 563, 1064, 564, 898, 339, 50, 112, 33, 832, 1411 332, 410, 310, 1355, 1111, 1352, 1353, 1112, 50, 1113, 1412 43, 44, 108, 585, 1169, 479, 332, 410, 707, 330, 1413 1402, 966, 230, 78, 598, 231, 36, 440, 235, -3, 1414 237, 1382, 1383, 50, 50, 1294, 650, 246, 1228, 764, 1415 765, 115, 1230, 1231, 1363, 651, 894, 652, 1363, 50, 1416 654, 894, 768, 769, 770, 771, 1381, 50, 508, 1389, 1417 920, 58, 655, 72, 766, 767, 50, 656, 267, 50, 1418 661, 834, 695, 817, 332, 596, 114, 680, 659, 695, 1908 1419 695, 695, 258, 546, 547, 2, 207, 4, 5, 6, 1909 7, 114, 685, 686, 1388, 114, 690, 39, 688, 50,1910 114, 42, -243, 1427, 108, 716, 727, 345, 1431, 741,1911 43, 44, 470, 50, 50, 749, 798, -14, 546, 800,1912 50, 811, -15, -297, 854, 861, 855, 50, 1295, 1087,1913 8, 9, 10, 11, 12, 8 81, 45, 1453, 658, 883,1914 8 88, 931, 695, 899, 47, 48, 908, 1444, 272, 115,1915 -422, -528, 37, 546, 38, 715, 923, 933, 220, 944,1916 93 7, 33, 945, 230, 946, 696, 898, 938, 947, 684,1917 310, 898, 696, 696, 696, 9 48, 949, 963, 50, 973,1918 9 74, 975, 71, 989, 620, 990, 991, 992, 115, 36,1919 9 93, 78, 994, 68, 119, 50, 50, 1086, 995, -410,1920 -409, 1060, 8, 9, 10, 11, 12, 1018, 1052, 213,1921 1054, 1058, 50, 893, 1075, 1076, 50, 704, 1077, 1078,1922 10 84, 58, 1521, 1094, 1088, 740, 636, 68, 1521, 1095,1923 496, 72, 10 96, 33, 1098, 696, 1101, 620, 620, 1521,1924 958, 1103, 50, 1521, 161, 272, 1104, 1405, 1105, 525,1925 310, 108, 50, 526, 527, 528, 1520, 768, 769, 770,1926 771, 36, 1169, 1108, 222, 1132, 1153, 1154, 1155, 1156,1420 7, 114, 772, 773, 1388, 114, 685, 39, 688, 50, 1421 114, 42, 686, 1427, 108, 690, -243, 345, 1431, 716, 1422 43, 44, 470, 50, 50, 1277, 1278, 1279, 546, 727, 1423 50, 741, 749, -297, -14, 798, 800, 50, 1295, 1087, 1424 8, 9, 10, 11, 12, 811, 45, 1453, 658, -15, 1425 855, 861, 695, 899, 47, 48, 854, 1444, 272, 115, 1426 881, 883, 37, 546, 38, -422, 888, 931, 220, 908, 1427 933, 33, -528, 230, 923, 696, 898, 715, 937, 684, 1428 310, 898, 696, 696, 696, 938, 944, 945, 50, 946, 1429 947, 948, 71, 949, 620, 973, 974, 975, 115, 36, 1430 963, 78, 989, 68, 119, 50, 50, 1086, 990, 991, 1431 992, 1060, 8, 9, 10, 11, 12, 993, 994, 213, 1432 995, -410, 50, -409, 1018, 1052, 50, 704, 1054, 1075, 1433 1076, 58, 1521, 893, 1088, 1077, 636, 68, 1521, 1078, 1434 496, 72, 1084, 33, 740, 696, 1094, 620, 620, 1521, 1435 1095, 1096, 50, 1521, 161, 272, 1098, 1405, 1101, 525, 1436 310, 108, 50, 526, 527, 528, 1520, 958, 1103, 1104, 1437 1105, 36, 1169, 1108, 222, 1132, 1153, 1154, 1155, 1156, 1927 1438 50, 78, 108, 1170, 1171, 1173, 50, 529, 1174, 530, 1928 1439 65, 531, 532, 115, 1182, 1188, -3, 398, 399, 1193, 1929 108, 1186, 1086, 400, 704, 1198, 120 3, 1201, 401, 402,1440 108, 1186, 1086, 400, 704, 1198, 1201, 1203, 401, 402, 1930 1441 260, 403, 230, 404, 235, 567, 440, 410, 491, 1207, 1931 1442 1214, 72, 114, 47, 48, 1212, 1216, 50, 1219, 1088, … … 1950 1461 1450, 1461, 1087, 372, 1471, 1473, 1486, 1475, 108, 76, 1951 1462 8, 9, 10, 11, 12, 108, 470, 326, 1478, 1479, 1952 1501, 1187, 959, 470, 1506, 1513, 72, 50, 1502, 1515,1463 1501, 876, 959, 470, 1506, 1513, 72, 50, 1502, 1515, 1953 1464 1517, 114, 1523, 114, 260, 1530, 163, 114, 589, 1531, 1954 774, 33, 1011, 775, 617, 114, 223, 778, 776, 1110,1955 195, 777, 1288, 218, 1481, 1394, 228, 622, 50, 50,1956 1533, 622, 1351, 1218, 407, 1367, 1464, 108, 889, 36,1957 1192, 8 90, 1200, 50, 1069, 470, 911, 1073, 792, 39,1958 10 17, 184, 185, 42, 909, 860, 463, 1107, 658, 330,1959 925, 477, 43, 44, 1350, 131, 1297, 132, 133, 134,1960 1 083, 709, 1087, 39, 0, 184, 185, 42, 43, 44,1961 471, 782, 0, 742, 934, 410, 43, 44, 595, 783,1962 596, 47, 48, 78 4, 350, 58, 47, 48, 0, 471,1465 1187, 33, 1011, 775, 617, 114, 223, 774, 777, 1110, 1466 195, 1481, 776, 218, 1288, 1394, 228, 622, 50, 50, 1467 778, 622, 1351, 1533, 407, 1218, 1367, 108, 1464, 36, 1468 1192, 889, 1200, 50, 1069, 470, 890, 911, 792, 39, 1469 1073, 184, 185, 42, 909, 1017, 463, 1107, 658, 330, 1470 860, 477, 43, 44, 1350, 131, 925, 132, 133, 134, 1471 1297, 709, 1087, 39, 1083, 184, 185, 42, 43, 44, 1472 471, 0, 0, 742, 934, 410, 43, 44, 595, 782, 1473 596, 47, 48, 783, 350, 58, 47, 48, 784, 471, 1963 1474 909, 0, 58, 353, 163, 0, 0, 471, 0, 0, 1964 1475 0, 0, 892, 0, 410, 0, 373, 0, 50, 0, … … 2861 2372 }; 2862 2373 2863 #define yypact_value_is_default(yystate) \2864 ((yystate) == (-1267))2865 2866 #define yytable_value_is_error(yytable_value) \2867 YYID (0)2868 2869 2374 static const yytype_int16 yycheck[] = 2870 2375 { … … 2888 2393 892, 51, 680, 71, 11, 892, 136, 41, 119, 345, 2889 2394 486, 1015, 703, 136, 148, 65, 186, 187, 68, 133, 2890 186, 71, 59, 157, 187, 117, 703, 1 16, 425, 426,2395 186, 71, 59, 157, 187, 117, 703, 120, 425, 426, 2891 2396 83, 711, 202, 113, 113, 115, 115, 121, 711, 575, 2892 210, 1 00, 629, 630, 113, 711, 115, 210, 186, 0,2397 210, 134, 629, 630, 113, 711, 115, 210, 186, 0, 2893 2398 1, 1487, 222, 115, 409, 1455, 266, 266, 645, 222, 2894 266, 1232, 115, 1234, 1235, 801, 113, 126, 219, 113,2399 266, 1232, 115, 1234, 1235, 801, 113, 83, 219, 113, 2895 2400 240, 108, 206, 663, 111, 801, 210, 888, 1514, 113, 2896 2401 862, 115, 252, 34, 813, 803, 148, 186, 801, 252, 2897 2402 260, 135, 502, 1204, 252, 265, 266, 267, 114, 149, 2898 2403 113, 785, 272, 252, 267, 252, 240, 504, 257, 187, 2899 1270, 161, 509, 222, 597, 512, 703, 68, 1 34, 813,2404 1270, 161, 509, 222, 597, 512, 703, 68, 116, 813, 2900 2405 71, 801, 273, 417, 252, 1034, 1035, 297, 801, 280, 2901 2406 911, 395, 405, 801, 114, 801, 186, 187, 272, 893, … … 2905 2410 100, 341, 222, 1257, 1258, 345, 310, 341, 240, 349, 2906 2411 350, 248, 219, 919, 252, 939, 585, 1031, 1190, 267, 2907 135, 781, 252, 919, 364, 74, 126, 257, 368, 1108,2908 114, 791, 252, 835, 3, 478, 919, 341, 87, 88,2909 272, 345, 802, 3, 365, 113, 266, 1437, 369, 74,2910 134, 12 0, 57, 120, 118, 395, 920, 626, 115, 118,2911 364, 983, 87, 88, 368, 405, 273, 13 6, 462, 1458,2912 1022, 350, 405, 280, 74, 1464, 76, 77, 310, 659,2913 11 3, 114, 1472, 423, 1474, 425, 426, 87, 88, 429,2914 115, 431, 94, 95, 99, 1484, 1426, 1378, 417, 0,2915 1489, 222, 74, 1433, 992, 993, 954, 0, 41, 615,2916 113, 331, 452, 345, 620, 87, 88, 436, 118, 120,2917 1 35, 425, 426, 925, 1378, 444, 929, 129, 130, 349,2918 470, 252, 116, 113, 891, 136, 120, 966, 478, 1313,2919 480, 348, 482, 115, 1 14, 478, 486, 649, 452, 482,2920 730, 11 4, 492, 210, 482, 1485, 1107, 405, 365, 120,2921 813, 465, 369, 482, 504, 482, 506, 813, 113, 509,2922 132, 511, 512, 135, 1098, 136, 663, 120, 640, 519,2923 113, 1 20, 115, 523, 1487, 405, 490, 417, 492, 194,2924 494, 134, 471, 425, 426, 1 34, 1370, 1371, 123, 124,2925 504, 120, 506, 482, 1507, 509, 436, 511, 512, 11 3,2412 135, 781, 252, 919, 364, 100, 126, 257, 368, 1108, 2413 114, 791, 252, 835, 116, 478, 919, 341, 120, 120, 2414 272, 345, 802, 3, 365, 113, 266, 114, 369, 74, 2415 134, 126, 57, 134, 118, 395, 920, 626, 115, 118, 2416 364, 983, 87, 88, 368, 405, 273, 134, 462, 1458, 2417 1022, 350, 405, 280, 74, 1464, 76, 77, 310, 74, 2418 116, 76, 77, 423, 120, 425, 426, 87, 88, 429, 2419 115, 431, 87, 88, 99, 1484, 1426, 1378, 417, 3, 2420 1489, 222, 74, 1433, 992, 993, 954, 120, 41, 615, 2421 0, 331, 452, 345, 620, 87, 88, 436, 118, 120, 2422 115, 425, 426, 925, 1378, 444, 929, 0, 120, 349, 2423 470, 252, 116, 1437, 891, 136, 120, 966, 478, 1313, 2424 480, 348, 482, 115, 136, 478, 486, 649, 452, 482, 2425 730, 113, 492, 210, 482, 1485, 1107, 405, 365, 120, 2426 813, 465, 369, 482, 504, 482, 506, 813, 1472, 509, 2427 1474, 511, 512, 113, 1098, 136, 663, 120, 640, 519, 2428 113, 135, 115, 523, 1487, 405, 490, 417, 492, 194, 2429 494, 134, 471, 425, 426, 116, 1370, 1371, 113, 120, 2430 504, 120, 506, 482, 1507, 509, 436, 511, 512, 114, 2926 2431 674, 1514, 217, 647, 444, 272, 1080, 136, 1066, 113, 2927 2432 114, 115, 227, 1071, 115, 794, 117, 567, 568, 113, 2928 2433 478, 115, 738, 1157, 1158, 575, 700, 680, 1190, 113, 2929 297, 1001, 1002, 134, 482, 585, 586, 1004, 1 20, 589,2434 297, 1001, 1002, 134, 482, 585, 586, 1004, 114, 589, 2930 2435 480, 120, 482, 310, 120, 595, 1270, 597, 586, 862, 2931 492, 120, 482, 113, 136, 115, 486, 136, 134, 663,2436 492, 120, 482, 94, 95, 132, 486, 136, 135, 663, 2932 2437 74, 575, 76, 77, 78, 615, 113, 136, 924, 511, 2933 2438 620, 585, 622, 87, 88, 120, 626, 120, 113, 629, 2934 630, 113, 297, 115, 781, 616, 1056, 1057, 1 14, 121,2935 1 22, 136, 114, 136, 791, 645, 121, 647, 120, 113,2439 630, 113, 297, 115, 781, 616, 1056, 1057, 129, 130, 2440 113, 136, 114, 136, 791, 645, 121, 647, 120, 113, 2936 2441 631, 615, 127, 128, 1386, 802, 620, 116, 1270, 74, 2937 2442 120, 120, 626, 644, 849, 4, 5, 6, 7, 8, 2938 9, 1345, 87, 88, 120, 120, 136, 677, 617, 114,2443 9, 1345, 87, 88, 120, 120, 136, 677, 617, 74, 2939 2444 680, 120, 114, 575, 869, 10, 11, 12, 13, 14, 2940 136, 136, 116, 114, 114, 674, 120, 136, 113, 120,2941 115, 482, 120, 703, 704, 705, 931, 11 3, 892, 892,2445 136, 136, 87, 88, 113, 674, 115, 136, 113, 113, 2446 115, 482, 120, 703, 704, 705, 931, 114, 892, 892, 2942 2447 1127, 711, 712, 677, 892, 595, 41, 597, 136, 892, 2943 892, 700, 892, 615, 892, 891, 11 3, 781, 620, 119,2944 1 14, 113, 71, 855, 73, 452, 120, 791, 738, 136,2945 114, 114, 742, 743, 69, 726, 120, 120, 802, 616,2946 1482, 715, 691, 66, 114, 1487, 1430, 114, 1432, 1287,2448 892, 700, 892, 615, 892, 891, 114, 781, 620, 113, 2449 120, 115, 71, 855, 73, 452, 1096, 791, 738, 114, 2450 1100, 114, 742, 743, 69, 726, 136, 120, 802, 616, 2451 1482, 715, 691, 114, 114, 1487, 1430, 114, 1432, 1287, 2947 2452 120, 114, 1025, 120, 631, 113, 705, 120, 1491, 1491, 2948 11 3, 113, 680, 115, 1491, 1507, 441, 644, 136, 121,2949 122, 1365, 1514, 118, 674, 785, 116, 504, 83, 506,2950 1 20, 894, 509, 114, 794, 512, 796, 136, 1382, 120,2951 680, 801, 467, 11 8, 897, 114, 899, 113, 996, 115,2453 119, 113, 680, 115, 1491, 1507, 441, 644, 113, 121, 2454 122, 1365, 1514, 66, 674, 785, 113, 504, 115, 506, 2455 136, 894, 509, 114, 794, 512, 796, 136, 1382, 120, 2456 680, 801, 467, 113, 897, 114, 899, 113, 996, 115, 2952 2457 700, 120, 1486, 813, 1426, 121, 122, 983, 114, 1239, 2953 113, 1433, 115, 114, 120, 1 36, 1246, 1247, 1248, 120,2458 113, 1433, 115, 114, 120, 113, 1246, 1247, 1248, 120, 2954 2459 794, 711, 712, 4, 5, 6, 7, 8, 9, 504, 2955 1257, 11 6, 3, 113, 509, 120, 136, 512, 738, 10,2956 11, 12, 13, 14, 1001, 1002, 1096, 796, 1 18, 726,2957 1100, 1101, 862, 74, 35, 76, 77, 0, 1, 114,2958 1454, 1455, 114, 1485, 862, 120, 87, 88, 120, 113,2959 41, 11 5, 114, 862, 884, 504, 113, 506, 120, 1309,2460 1257, 113, 3, 115, 509, 113, 114, 512, 738, 10, 2461 11, 12, 13, 14, 1001, 1002, 1096, 796, 136, 726, 2462 1100, 1101, 862, 114, 35, 74, 118, 0, 1, 120, 2463 1454, 1455, 81, 1485, 862, 84, 114, 86, 87, 88, 2464 41, 118, 120, 862, 884, 504, 113, 506, 115, 1309, 2960 2465 509, 891, 892, 512, 894, 1017, 884, 114, 31, 32, 2961 71, 34, 73, 120, 1 15, 114, 906, 113, 69, 1056,2962 1057, 1 20, 45, 113, 114, 115, 114, 83, 51, 919,2963 920, 801, 120, 862, 924, 1096, 59, 1190, 114, 1100,2964 930, 931, 65, 813, 120, 68, 92, 93, 71, 930,2965 119, 120, 906, 1170, 1171, 122, 1173, 1001, 1002, 96,2966 97, 84, 85, 1180, 954, 1182, 113, 114, 115, 1467,2967 677, 1127, 1 31, 1066, 862, 929, 930, 931, 1071, 113,2968 114, 11 5, 862, 132, 1214, 108, 114, 115, 111, 74,2969 3, 76, 77, 983, 98, 118, 894, 10, 11, 12,2970 13, 14, 87, 88, 1088, 60, 61, 662, 60, 61,2971 62, 891, 1056, 1057, 1004, 1005, 671, 113, 1516, 115,2972 675, 1 13, 892, 115, 894, 115, 149, 74, 41, 983,2973 11 9, 120, 1022, 1286, 81, 46, 47, 84, 161, 86,2974 87, 88, 930, 11 3, 1022, 115, 1113, 1114, 1204, 931,2975 551, 552, 72, 1022, 924, 75, 69, 986, 78, 113,2976 80, 115, 113, 186, 187, 1202, 116, 87, 115, 114,2977 74, 1061, 116, 113, 1304, 115, 1066, 81, 1308, 202,2978 84, 1071, 86, 87, 88, 114, 1339, 210, 285, 1342,2466 71, 34, 73, 120, 136, 113, 906, 115, 69, 1056, 2467 1057, 114, 45, 121, 122, 136, 114, 120, 51, 919, 2468 920, 801, 120, 862, 924, 118, 59, 1190, 114, 113, 2469 930, 931, 65, 813, 120, 68, 123, 124, 71, 930, 2470 92, 93, 906, 1170, 1171, 83, 1173, 1001, 1002, 83, 2471 114, 84, 85, 1180, 954, 1182, 120, 96, 97, 1467, 2472 677, 1127, 113, 1066, 862, 929, 930, 931, 1071, 122, 2473 114, 114, 862, 113, 1214, 108, 120, 120, 111, 74, 2474 3, 76, 77, 983, 131, 118, 894, 10, 11, 12, 2475 13, 14, 87, 88, 1088, 119, 120, 662, 113, 114, 2476 115, 891, 1056, 1057, 1004, 1005, 671, 113, 1516, 115, 2477 675, 132, 892, 98, 894, 115, 149, 74, 41, 983, 2478 114, 115, 1022, 1286, 81, 60, 61, 84, 161, 86, 2479 87, 88, 930, 116, 1022, 113, 114, 115, 1204, 931, 2480 119, 120, 72, 1022, 924, 75, 69, 986, 78, 116, 2481 80, 46, 47, 186, 187, 1202, 114, 87, 115, 551, 2482 552, 1061, 1113, 1114, 1304, 114, 1066, 114, 1308, 202, 2483 114, 1071, 555, 556, 557, 558, 1339, 210, 285, 1342, 2979 2484 1080, 862, 114, 1022, 553, 554, 219, 114, 1088, 222, 2980 11 4, 983, 1239, 559, 560, 114, 229, 1061, 116, 1246,2485 116, 983, 1239, 113, 114, 115, 229, 1061, 113, 1246, 2981 2486 1247, 1248, 115, 310, 311, 4, 5, 6, 7, 8, 2982 9, 244, 118, 120, 1341, 248, 118, 74, 135, 252,2983 253, 78, 1 18, 1386, 1022, 135, 113, 1127, 1391, 114,2984 87, 88, 1022, 266, 267, 114, 116, 134, 345, 116,2985 273, 11 6, 134, 3, 134, 31, 120, 280, 1202, 930,2986 10, 11, 12, 13, 14, 11 4, 113, 1420, 1066, 114,2987 1 18, 113, 1309, 1071, 121, 122, 119, 1407, 1168, 1169,2988 114, 11 9, 71, 380, 73, 120, 119, 114, 1169, 114,2989 1 34, 41, 120, 213, 114, 1239, 1066, 136, 114, 906,2990 1190, 1071, 1246, 1247, 1248, 1 14, 114, 120, 331, 114,2487 9, 244, 559, 560, 1341, 248, 118, 74, 135, 252, 2488 253, 78, 120, 1386, 1022, 118, 118, 1127, 1391, 135, 2489 87, 88, 1022, 266, 267, 60, 61, 62, 345, 113, 2490 273, 114, 114, 3, 134, 116, 116, 280, 1202, 930, 2491 10, 11, 12, 13, 14, 116, 113, 1420, 1066, 134, 2492 120, 31, 1309, 1071, 121, 122, 134, 1407, 1168, 1169, 2493 114, 114, 71, 380, 73, 114, 118, 113, 1169, 119, 2494 114, 41, 119, 213, 119, 1239, 1066, 120, 134, 906, 2495 1190, 1071, 1246, 1247, 1248, 136, 114, 120, 331, 114, 2991 2496 114, 114, 1190, 114, 1204, 114, 114, 114, 1208, 69, 2992 1 14, 1190, 114, 0, 1, 348, 349, 1208, 114, 114,2993 114, 886, 10, 11, 12, 13, 14, 11 9, 31, 1168,2994 1 35, 114, 365, 134, 114, 120, 369, 1127, 116, 116,2995 1 14, 1022, 1505, 114, 1208, 120, 379, 34, 1511, 114,2996 280, 1190, 1 34, 41, 113, 1309, 120, 1257, 1258, 1522,2997 11 8, 114, 395, 1526, 51, 1265, 114, 1361, 114, 85,2998 1270, 1169, 405, 89, 90, 91, 1501, 555, 556, 557,2999 558, 69, 1270, 120, 71, 114, 114, 120, 120, 114,2497 120, 1190, 114, 0, 1, 348, 349, 1208, 114, 114, 2498 114, 886, 10, 11, 12, 13, 14, 114, 114, 1168, 2499 114, 114, 365, 114, 119, 31, 369, 1127, 135, 114, 2500 120, 1022, 1505, 134, 1208, 116, 379, 34, 1511, 116, 2501 280, 1190, 114, 41, 120, 1309, 114, 1257, 1258, 1522, 2502 114, 134, 395, 1526, 51, 1265, 113, 1361, 120, 85, 2503 1270, 1169, 405, 89, 90, 91, 1501, 118, 114, 114, 2504 114, 69, 1270, 120, 71, 114, 114, 120, 120, 114, 3000 2505 423, 1270, 1190, 113, 113, 113, 429, 113, 113, 115, 3001 2506 1190, 117, 118, 1303, 113, 136, 119, 1491, 1491, 114, 3002 1208, 134, 1303, 1491, 1204, 114, 11 4, 119, 1491, 1491,2507 1208, 134, 1303, 1491, 1204, 114, 119, 114, 1491, 1491, 3003 2508 107, 1491, 352, 1491, 354, 113, 1265, 115, 132, 119, 3004 2509 116, 1270, 465, 121, 122, 118, 136, 470, 114, 1303, … … 3023 2528 116, 136, 1303, 1516, 114, 114, 136, 119, 1426, 34, 3024 2529 10, 11, 12, 13, 14, 1433, 1426, 1501, 116, 116, 3025 113, 1037, 749, 1433, 119, 119, 1485, 680, 136, 114,2530 113, 659, 749, 1433, 119, 119, 1485, 680, 136, 114, 3026 2531 114, 684, 136, 686, 341, 114, 51, 690, 345, 114, 3027 561, 41, 851, 562, 351, 698, 71, 565, 563, 963,3028 65, 564, 1190, 68, 1455, 1347, 71, 364, 711, 712,3029 1526, 368, 1280, 1101, 1492, 1308, 1433, 1485, 677, 69,3030 1052, 677, 1071, 726, 899, 1485, 6 90, 907, 579, 74,3031 855, 76, 77, 78, 893, 641, 253, 958, 1516, 1501,3032 715, 1491, 87, 88, 1279, 74, 1208, 76, 77, 78,3033 927, 482, 1403, 74, -1, 76, 77, 78, 87, 88,3034 417, 567, -1, 113, 726, 115, 87, 88, 113, 567,3035 115, 121, 122, 567, 431, 1426, 121, 122, -1, 436,2532 1037, 41, 851, 562, 351, 698, 71, 561, 564, 963, 2533 65, 1455, 563, 68, 1190, 1347, 71, 364, 711, 712, 2534 565, 368, 1280, 1526, 1492, 1101, 1308, 1485, 1433, 69, 2535 1052, 677, 1071, 726, 899, 1485, 677, 690, 579, 74, 2536 907, 76, 77, 78, 893, 855, 253, 958, 1516, 1501, 2537 641, 1491, 87, 88, 1279, 74, 715, 76, 77, 78, 2538 1208, 482, 1403, 74, 927, 76, 77, 78, 87, 88, 2539 417, -1, -1, 113, 726, 115, 87, 88, 113, 567, 2540 115, 121, 122, 567, 431, 1426, 121, 122, 567, 436, 3036 2541 939, -1, 1433, 158, 149, -1, -1, 444, -1, -1, 3037 2542 -1, -1, 113, -1, 115, -1, 161, -1, 801, -1, … … 3934 3439 }; 3935 3440 3936 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing3937 symbol of state STATE-NUM. */3441 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 3442 symbol of state STATE-NUM. */ 3938 3443 static const yytype_uint16 yystos[] = 3939 3444 { … … 4025 3530 171, 138, 115, 280, 134, 120, 378, 284, 115, 134, 4026 3531 288, 31, 216, 217, 278, 266, 143, 315, 143, 317, 4027 113, 355, 356, 113, 355, 356, 14 5, 356, 180, 270,3532 113, 355, 356, 113, 355, 356, 146, 356, 180, 270, 4028 3533 114, 114, 114, 114, 138, 180, 214, 180, 118, 256, 4029 3534 257, 138, 113, 134, 156, 258, 260, 324, 325, 337, … … 4094 3599 }; 4095 3600 4096 #define yyerrok (yyerrstatus = 0) 4097 #define yyclearin (yychar = YYEMPTY) 4098 #define YYEMPTY (-2) 4099 #define YYEOF 0 4100 4101 #define YYACCEPT goto yyacceptlab 4102 #define YYABORT goto yyabortlab 4103 #define YYERROR goto yyerrorlab 4104 4105 4106 /* Like YYERROR except do call yyerror. This remains here temporarily 4107 to ease the transition to the new meaning of YYERROR, for GCC. 4108 Once GCC version 2 has supplanted version 1, this can go. However, 4109 YYFAIL appears to be in use. Nevertheless, it is formally deprecated 4110 in Bison 2.4.2's NEWS entry, where a plan to phase it out is 4111 discussed. */ 4112 4113 #define YYFAIL goto yyerrlab 4114 #if defined YYFAIL 4115 /* This is here to suppress warnings from the GCC cpp's 4116 -Wunused-macros. Normally we don't worry about that warning, but 4117 some users do, and we want to make it easy for users to remove 4118 YYFAIL uses, which will produce warnings from Bison 2.5. */ 4119 #endif 3601 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 3602 static const yytype_uint16 yyr1[] = 3603 { 3604 0, 137, 138, 139, 140, 140, 140, 140, 140, 141, 3605 141, 141, 142, 142, 143, 143, 144, 144, 145, 146, 3606 146, 147, 147, 147, 147, 147, 148, 148, 148, 148, 3607 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, 3608 150, 150, 151, 151, 152, 152, 152, 152, 152, 152, 3609 152, 153, 153, 153, 154, 154, 155, 155, 155, 155, 3610 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 3611 155, 155, 156, 156, 157, 157, 157, 157, 158, 158, 3612 159, 159, 159, 159, 160, 160, 160, 161, 161, 161, 3613 162, 162, 162, 162, 162, 163, 163, 163, 164, 164, 3614 165, 165, 166, 166, 167, 167, 168, 168, 169, 169, 3615 169, 170, 171, 171, 172, 172, 173, 173, 173, 173, 3616 173, 173, 173, 173, 173, 173, 173, 173, 174, 174, 3617 175, 175, 176, 176, 177, 177, 178, 178, 178, 178, 3618 178, 178, 178, 178, 178, 179, 180, 180, 181, 181, 3619 182, 182, 182, 182, 183, 183, 184, 185, 185, 185, 3620 185, 185, 185, 186, 186, 186, 187, 187, 188, 188, 3621 189, 189, 190, 191, 191, 192, 192, 193, 193, 194, 3622 194, 194, 194, 195, 195, 196, 196, 197, 197, 197, 3623 198, 198, 199, 199, 199, 199, 199, 199, 199, 199, 3624 199, 199, 200, 200, 200, 201, 201, 201, 201, 201, 3625 202, 202, 202, 202, 203, 204, 204, 204, 204, 204, 3626 205, 205, 205, 205, 205, 206, 206, 207, 207, 208, 3627 208, 209, 209, 210, 210, 210, 211, 211, 212, 212, 3628 213, 213, 214, 214, 215, 215, 216, 216, 217, 217, 3629 218, 218, 219, 219, 220, 220, 220, 220, 220, 221, 3630 221, 221, 222, 222, 222, 223, 223, 223, 223, 223, 3631 224, 224, 225, 225, 226, 226, 226, 227, 227, 227, 3632 227, 227, 228, 228, 229, 229, 229, 229, 230, 230, 3633 231, 231, 231, 231, 232, 232, 232, 232, 233, 233, 3634 234, 234, 235, 235, 236, 236, 236, 236, 236, 237, 3635 236, 238, 238, 238, 239, 239, 240, 240, 240, 240, 3636 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, 3637 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 3638 242, 242, 242, 242, 243, 243, 244, 244, 244, 244, 3639 245, 245, 245, 245, 246, 246, 246, 246, 247, 247, 3640 247, 248, 248, 248, 248, 249, 249, 249, 250, 250, 3641 251, 251, 252, 251, 251, 251, 253, 253, 254, 254, 3642 255, 255, 255, 255, 256, 256, 256, 256, 257, 257, 3643 258, 258, 258, 258, 258, 259, 259, 260, 261, 262, 3644 262, 263, 262, 264, 264, 265, 265, 266, 266, 267, 3645 267, 267, 267, 267, 268, 268, 268, 268, 269, 269, 3646 270, 270, 271, 271, 272, 272, 272, 272, 273, 273, 3647 273, 273, 273, 274, 274, 274, 274, 274, 275, 275, 3648 276, 276, 277, 277, 278, 278, 278, 279, 279, 279, 3649 280, 280, 280, 281, 281, 281, 282, 282, 282, 282, 3650 283, 283, 283, 284, 284, 285, 285, 285, 285, 285, 3651 286, 286, 287, 287, 288, 288, 288, 288, 288, 289, 3652 289, 289, 289, 290, 290, 290, 291, 292, 292, 294, 3653 293, 293, 295, 295, 295, 296, 296, 297, 297, 297, 3654 298, 298, 298, 298, 299, 299, 299, 300, 300, 301, 3655 301, 302, 303, 302, 304, 304, 305, 305, 306, 306, 3656 306, 307, 307, 308, 308, 309, 309, 310, 310, 311, 3657 311, 311, 312, 311, 311, 313, 313, 313, 314, 314, 3658 314, 314, 314, 314, 314, 314, 314, 315, 315, 315, 3659 316, 317, 317, 318, 318, 319, 319, 320, 321, 321, 3660 322, 322, 322, 323, 323, 323, 323, 324, 324, 324, 3661 324, 325, 325, 326, 326, 326, 327, 327, 327, 327, 3662 328, 328, 329, 329, 329, 330, 330, 330, 331, 331, 3663 331, 332, 332, 332, 333, 333, 333, 334, 334, 334, 3664 335, 335, 335, 336, 336, 336, 337, 337, 337, 337, 3665 338, 338, 339, 339, 339, 340, 340, 340, 340, 341, 3666 341, 341, 342, 342, 342, 342, 343, 343, 343, 344, 3667 344, 344, 344, 345, 345, 345, 346, 346, 346, 346, 3668 347, 347, 348, 348, 348, 349, 349, 350, 350, 351, 3669 351, 351, 352, 352, 352, 352, 352, 353, 353, 353, 3670 353, 354, 354, 354, 355, 355, 355, 356, 356, 356, 3671 356, 357, 357, 357, 358, 358, 358, 358, 358, 359, 3672 359, 359, 359, 360, 360, 360, 361, 361, 361, 362, 3673 362, 362, 362, 362, 362, 363, 363, 363, 364, 364, 3674 364, 364, 364, 365, 365, 365, 365, 366, 366, 367, 3675 367, 367, 368, 368, 369, 369, 369, 369, 369, 369, 3676 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 3677 371, 371, 371, 371, 372, 372, 372, 373, 373, 374, 3678 374, 374, 374, 374, 374, 375, 375, 375, 375, 375, 3679 375, 376, 377, 377, 378, 378, 379, 379 3680 }; 3681 3682 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ 3683 static const yytype_uint8 yyr2[] = 3684 { 3685 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 3686 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3687 2, 1, 1, 1, 3, 3, 1, 6, 4, 3, 3688 7, 2, 3, 7, 2, 2, 7, 4, 1, 3, 3689 0, 1, 1, 3, 1, 2, 6, 3, 7, 3, 3690 7, 2, 2, 2, 0, 2, 1, 1, 1, 2, 3691 2, 2, 2, 2, 2, 4, 2, 4, 6, 1, 3692 4, 4, 1, 1, 1, 1, 1, 1, 1, 4, 3693 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 3694 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 3695 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 3696 4, 1, 1, 3, 0, 1, 1, 1, 1, 1, 3697 1, 1, 1, 1, 1, 1, 1, 1, 6, 7, 3698 1, 3, 1, 3, 0, 1, 1, 1, 1, 1, 3699 1, 1, 1, 1, 6, 4, 2, 7, 1, 3, 3700 1, 2, 1, 2, 1, 2, 2, 5, 7, 5, 3701 9, 5, 9, 1, 3, 1, 1, 3, 3, 2, 3702 1, 2, 2, 0, 1, 2, 3, 0, 1, 2, 3703 3, 3, 4, 0, 1, 1, 2, 5, 7, 6, 3704 6, 4, 3, 4, 2, 3, 2, 3, 3, 3, 3705 3, 5, 3, 3, 4, 1, 5, 6, 5, 6, 3706 9, 10, 9, 10, 2, 1, 2, 2, 2, 1, 3707 6, 8, 10, 12, 14, 0, 1, 0, 1, 1, 3708 3, 4, 7, 0, 1, 3, 1, 3, 1, 1, 3709 1, 3, 1, 1, 1, 3, 0, 1, 3, 4, 3710 1, 3, 1, 1, 3, 3, 3, 3, 3, 2, 3711 3, 6, 3, 3, 4, 1, 2, 2, 3, 5, 3712 7, 7, 5, 9, 2, 2, 5, 3, 5, 4, 3713 3, 4, 4, 7, 3, 3, 3, 3, 4, 6, 3714 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 3715 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 3716 5, 1, 2, 3, 1, 2, 1, 1, 1, 1, 3717 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3718 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3719 2, 2, 3, 3, 1, 3, 1, 2, 2, 2, 3720 4, 4, 4, 4, 1, 2, 2, 3, 1, 2, 3721 2, 1, 2, 2, 3, 1, 2, 2, 1, 1, 3722 4, 2, 0, 6, 7, 2, 2, 2, 0, 2, 3723 2, 3, 2, 3, 1, 2, 3, 2, 2, 4, 3724 0, 1, 2, 2, 1, 0, 1, 2, 2, 5, 3725 2, 0, 7, 2, 4, 0, 2, 0, 1, 1, 3726 1, 5, 5, 5, 1, 5, 5, 9, 1, 5, 3727 0, 1, 1, 5, 1, 1, 5, 5, 1, 3, 3728 3, 4, 1, 1, 1, 1, 2, 1, 3, 3, 3729 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 3730 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 3731 0, 2, 2, 1, 4, 0, 1, 2, 3, 4, 3732 2, 2, 1, 2, 2, 5, 5, 7, 6, 1, 3733 2, 2, 3, 1, 2, 2, 4, 2, 4, 0, 3734 4, 2, 1, 1, 1, 0, 2, 5, 5, 13, 3735 1, 1, 3, 3, 2, 3, 3, 2, 4, 1, 3736 6, 9, 0, 11, 1, 3, 3, 3, 1, 1, 3737 5, 2, 5, 0, 1, 1, 3, 0, 1, 1, 3738 1, 1, 0, 6, 2, 1, 2, 4, 2, 3, 3739 3, 3, 4, 5, 5, 5, 6, 1, 1, 1, 3740 3, 0, 5, 0, 1, 1, 2, 6, 1, 3, 3741 0, 1, 4, 1, 1, 1, 1, 2, 1, 2, 3742 2, 1, 3, 2, 3, 3, 2, 4, 4, 3, 3743 8, 3, 2, 1, 2, 6, 8, 3, 2, 3, 3744 3, 4, 4, 3, 1, 1, 1, 4, 6, 3, 3745 2, 3, 3, 4, 4, 3, 2, 1, 2, 2, 3746 1, 3, 2, 3, 3, 2, 4, 4, 3, 6, 3747 8, 3, 2, 1, 2, 2, 2, 3, 3, 2, 3748 4, 4, 3, 6, 8, 3, 2, 1, 2, 2, 3749 1, 1, 2, 3, 3, 2, 4, 6, 8, 1, 3750 2, 2, 1, 2, 2, 3, 3, 1, 4, 4, 3751 3, 5, 8, 3, 2, 3, 1, 5, 5, 6, 3752 6, 1, 2, 2, 1, 2, 2, 3, 3, 1, 3753 4, 4, 3, 5, 8, 3, 1, 2, 1, 2, 3754 6, 5, 6, 7, 7, 1, 2, 2, 1, 2, 3755 2, 3, 3, 1, 4, 4, 3, 8, 3, 1, 3756 1, 2, 1, 1, 2, 3, 2, 3, 2, 3, 3757 3, 2, 4, 3, 2, 3, 2, 4, 3, 2, 3758 6, 6, 6, 7, 1, 2, 1, 1, 1, 2, 3759 3, 2, 3, 2, 3, 3, 4, 2, 3, 4, 3760 2, 5, 6, 6, 0, 1, 0, 2 3761 }; 3762 3763 3764 #define yyerrok (yyerrstatus = 0) 3765 #define yyclearin (yychar = YYEMPTY) 3766 #define YYEMPTY (-2) 3767 #define YYEOF 0 3768 3769 #define YYACCEPT goto yyacceptlab 3770 #define YYABORT goto yyabortlab 3771 #define YYERROR goto yyerrorlab 3772 4120 3773 4121 3774 #define YYRECOVERING() (!!yyerrstatus) 4122 3775 4123 #define YYBACKUP(Token, Value) \ 4124 do \ 4125 if (yychar == YYEMPTY && yylen == 1) \ 4126 { \ 4127 yychar = (Token); \ 4128 yylval = (Value); \ 4129 YYPOPSTACK (1); \ 4130 goto yybackup; \ 4131 } \ 4132 else \ 4133 { \ 3776 #define YYBACKUP(Token, Value) \ 3777 do \ 3778 if (yychar == YYEMPTY) \ 3779 { \ 3780 yychar = (Token); \ 3781 yylval = (Value); \ 3782 YYPOPSTACK (yylen); \ 3783 yystate = *yyssp; \ 3784 goto yybackup; \ 3785 } \ 3786 else \ 3787 { \ 4134 3788 yyerror (YY_("syntax error: cannot back up")); \ 4135 YYERROR; \ 4136 } \ 4137 while (YYID (0)) 4138 4139 4140 #define YYTERROR 1 4141 #define YYERRCODE 256 4142 4143 4144 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 4145 If N is 0, then set CURRENT to the empty location which ends 4146 the previous symbol: RHS[0] (always defined). */ 4147 4148 #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 4149 #ifndef YYLLOC_DEFAULT 4150 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 4151 do \ 4152 if (YYID (N)) \ 4153 { \ 4154 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 4155 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 4156 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 4157 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 4158 } \ 4159 else \ 4160 { \ 4161 (Current).first_line = (Current).last_line = \ 4162 YYRHSLOC (Rhs, 0).last_line; \ 4163 (Current).first_column = (Current).last_column = \ 4164 YYRHSLOC (Rhs, 0).last_column; \ 4165 } \ 4166 while (YYID (0)) 4167 #endif 4168 4169 4170 /* This macro is provided for backward compatibility. */ 4171 4172 #ifndef YY_LOCATION_PRINT 4173 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 4174 #endif 4175 4176 4177 /* YYLEX -- calling `yylex' with the right arguments. */ 4178 4179 #ifdef YYLEX_PARAM 4180 # define YYLEX yylex (YYLEX_PARAM) 4181 #else 4182 # define YYLEX yylex () 4183 #endif 3789 YYERROR; \ 3790 } \ 3791 while (0) 3792 3793 /* Error token number */ 3794 #define YYTERROR 1 3795 #define YYERRCODE 256 3796 3797 4184 3798 4185 3799 /* Enable debugging if requested. */ … … 4191 3805 # endif 4192 3806 4193 # define YYDPRINTF(Args) \ 4194 do { \ 4195 if (yydebug) \ 4196 YYFPRINTF Args; \ 4197 } while (YYID (0)) 4198 4199 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 4200 do { \ 4201 if (yydebug) \ 4202 { \ 4203 YYFPRINTF (stderr, "%s ", Title); \ 4204 yy_symbol_print (stderr, \ 4205 Type, Value); \ 4206 YYFPRINTF (stderr, "\n"); \ 4207 } \ 4208 } while (YYID (0)) 4209 4210 4211 /*--------------------------------. 4212 | Print this symbol on YYOUTPUT. | 4213 `--------------------------------*/ 4214 4215 /*ARGSUSED*/ 4216 #if (defined __STDC__ || defined __C99__FUNC__ \ 4217 || defined __cplusplus || defined _MSC_VER) 3807 # define YYDPRINTF(Args) \ 3808 do { \ 3809 if (yydebug) \ 3810 YYFPRINTF Args; \ 3811 } while (0) 3812 3813 /* This macro is provided for backward compatibility. */ 3814 #ifndef YY_LOCATION_PRINT 3815 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 3816 #endif 3817 3818 3819 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 3820 do { \ 3821 if (yydebug) \ 3822 { \ 3823 YYFPRINTF (stderr, "%s ", Title); \ 3824 yy_symbol_print (stderr, \ 3825 Type, Value); \ 3826 YYFPRINTF (stderr, "\n"); \ 3827 } \ 3828 } while (0) 3829 3830 3831 /*----------------------------------------. 3832 | Print this symbol's value on YYOUTPUT. | 3833 `----------------------------------------*/ 3834 4218 3835 static void 4219 3836 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 4220 #else4221 static void4222 yy_symbol_value_print (yyoutput, yytype, yyvaluep)4223 FILE *yyoutput;4224 int yytype;4225 YYSTYPE const * const yyvaluep;4226 #endif4227 3837 { 3838 FILE *yyo = yyoutput; 3839 YYUSE (yyo); 4228 3840 if (!yyvaluep) 4229 3841 return; … … 4231 3843 if (yytype < YYNTOKENS) 4232 3844 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 4233 # else4234 YYUSE (yyoutput);4235 3845 # endif 4236 switch (yytype) 4237 { 4238 default: 4239 break; 4240 } 3846 YYUSE (yytype); 4241 3847 } 4242 3848 … … 4246 3852 `--------------------------------*/ 4247 3853 4248 #if (defined __STDC__ || defined __C99__FUNC__ \4249 || defined __cplusplus || defined _MSC_VER)4250 3854 static void 4251 3855 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 4252 #else4253 static void4254 yy_symbol_print (yyoutput, yytype, yyvaluep)4255 FILE *yyoutput;4256 int yytype;4257 YYSTYPE const * const yyvaluep;4258 #endif4259 3856 { 4260 if (yytype < YYNTOKENS) 4261 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 4262 else 4263 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 3857 YYFPRINTF (yyoutput, "%s %s (", 3858 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 4264 3859 4265 3860 yy_symbol_value_print (yyoutput, yytype, yyvaluep); … … 4272 3867 `------------------------------------------------------------------*/ 4273 3868 4274 #if (defined __STDC__ || defined __C99__FUNC__ \4275 || defined __cplusplus || defined _MSC_VER)4276 3869 static void 4277 3870 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 4278 #else4279 static void4280 yy_stack_print (yybottom, yytop)4281 yytype_int16 *yybottom;4282 yytype_int16 *yytop;4283 #endif4284 3871 { 4285 3872 YYFPRINTF (stderr, "Stack now"); … … 4292 3879 } 4293 3880 4294 # define YY_STACK_PRINT(Bottom, Top) \4295 do { \4296 if (yydebug) \4297 yy_stack_print ((Bottom), (Top)); \4298 } while ( YYID (0))3881 # define YY_STACK_PRINT(Bottom, Top) \ 3882 do { \ 3883 if (yydebug) \ 3884 yy_stack_print ((Bottom), (Top)); \ 3885 } while (0) 4299 3886 4300 3887 … … 4303 3890 `------------------------------------------------*/ 4304 3891 4305 #if (defined __STDC__ || defined __C99__FUNC__ \4306 || defined __cplusplus || defined _MSC_VER)4307 3892 static void 4308 yy_reduce_print (YYSTYPE *yyvsp, int yyrule) 4309 #else 4310 static void 4311 yy_reduce_print (yyvsp, yyrule) 4312 YYSTYPE *yyvsp; 4313 int yyrule; 4314 #endif 3893 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 4315 3894 { 3895 unsigned long int yylno = yyrline[yyrule]; 4316 3896 int yynrhs = yyr2[yyrule]; 4317 3897 int yyi; 4318 unsigned long int yylno = yyrline[yyrule];4319 3898 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 4320 yyrule - 1, yylno);3899 yyrule - 1, yylno); 4321 3900 /* The symbols being reduced. */ 4322 3901 for (yyi = 0; yyi < yynrhs; yyi++) 4323 3902 { 4324 3903 YYFPRINTF (stderr, " $%d = ", yyi + 1); 4325 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 4326 &(yyvsp[(yyi + 1) - (yynrhs)]) 4327 ); 3904 yy_symbol_print (stderr, 3905 yystos[yyssp[yyi + 1 - yynrhs]], 3906 &(yyvsp[(yyi + 1) - (yynrhs)]) 3907 ); 4328 3908 YYFPRINTF (stderr, "\n"); 4329 3909 } 4330 3910 } 4331 3911 4332 # define YY_REDUCE_PRINT(Rule) \4333 do { \4334 if (yydebug) \4335 yy_reduce_print (yy vsp, Rule); \4336 } while ( YYID (0))3912 # define YY_REDUCE_PRINT(Rule) \ 3913 do { \ 3914 if (yydebug) \ 3915 yy_reduce_print (yyssp, yyvsp, Rule); \ 3916 } while (0) 4337 3917 4338 3918 /* Nonzero means print parse trace. It is left uninitialized so that … … 4348 3928 4349 3929 /* YYINITDEPTH -- initial size of the parser's stacks. */ 4350 #ifndef YYINITDEPTH3930 #ifndef YYINITDEPTH 4351 3931 # define YYINITDEPTH 200 4352 3932 #endif … … 4371 3951 # else 4372 3952 /* Return the length of YYSTR. */ 4373 #if (defined __STDC__ || defined __C99__FUNC__ \4374 || defined __cplusplus || defined _MSC_VER)4375 3953 static YYSIZE_T 4376 3954 yystrlen (const char *yystr) 4377 #else4378 static YYSIZE_T4379 yystrlen (yystr)4380 const char *yystr;4381 #endif4382 3955 { 4383 3956 YYSIZE_T yylen; … … 4395 3968 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 4396 3969 YYDEST. */ 4397 #if (defined __STDC__ || defined __C99__FUNC__ \4398 || defined __cplusplus || defined _MSC_VER)4399 3970 static char * 4400 3971 yystpcpy (char *yydest, const char *yysrc) 4401 #else4402 static char *4403 yystpcpy (yydest, yysrc)4404 char *yydest;4405 const char *yysrc;4406 #endif4407 3972 { 4408 3973 char *yyd = yydest; … … 4434 3999 4435 4000 for (;;) 4436 switch (*++yyp)4437 {4438 case '\'':4439 case ',':4440 goto do_not_strip_quotes;4441 4442 case '\\':4443 if (*++yyp != '\\')4444 goto do_not_strip_quotes;4445 /* Fall through. */4446 default:4447 if (yyres)4448 yyres[yyn] = *yyp;4449 yyn++;4450 break;4451 4452 case '"':4453 if (yyres)4454 yyres[yyn] = '\0';4455 return yyn;4456 }4001 switch (*++yyp) 4002 { 4003 case '\'': 4004 case ',': 4005 goto do_not_strip_quotes; 4006 4007 case '\\': 4008 if (*++yyp != '\\') 4009 goto do_not_strip_quotes; 4010 /* Fall through. */ 4011 default: 4012 if (yyres) 4013 yyres[yyn] = *yyp; 4014 yyn++; 4015 break; 4016 4017 case '"': 4018 if (yyres) 4019 yyres[yyn] = '\0'; 4020 return yyn; 4021 } 4457 4022 do_not_strip_quotes: ; 4458 4023 } … … 4477 4042 yytype_int16 *yyssp, int yytoken) 4478 4043 { 4479 YYSIZE_T yysize0 = yytnamerr ( 0, yytname[yytoken]);4044 YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); 4480 4045 YYSIZE_T yysize = yysize0; 4481 YYSIZE_T yysize1;4482 4046 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 4483 4047 /* Internationalized format string. */ 4484 const char *yyformat = 0;4048 const char *yyformat = YY_NULLPTR; 4485 4049 /* Arguments of yyformat. */ 4486 4050 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; … … 4490 4054 4491 4055 /* There are many possibilities here to consider: 4492 - Assume YYFAIL is not used. It's too flawed to consider. See4493 <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>4494 for details. YYERROR is fine as it does not invoke this4495 function.4496 4056 - If this state is a consistent state with a default action, then 4497 4057 the only way this function was invoked is if the default action … … 4542 4102 } 4543 4103 yyarg[yycount++] = yytname[yyx]; 4544 yysize1 = yysize + yytnamerr (0, yytname[yyx]); 4545 if (! (yysize <= yysize1 4546 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4547 return 2; 4548 yysize = yysize1; 4104 { 4105 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); 4106 if (! (yysize <= yysize1 4107 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4108 return 2; 4109 yysize = yysize1; 4110 } 4549 4111 } 4550 4112 } … … 4566 4128 } 4567 4129 4568 yysize1 = yysize + yystrlen (yyformat); 4569 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4570 return 2; 4571 yysize = yysize1; 4130 { 4131 YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 4132 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4133 return 2; 4134 yysize = yysize1; 4135 } 4572 4136 4573 4137 if (*yymsg_alloc < yysize) … … 4606 4170 `-----------------------------------------------*/ 4607 4171 4608 /*ARGSUSED*/4609 #if (defined __STDC__ || defined __C99__FUNC__ \4610 || defined __cplusplus || defined _MSC_VER)4611 4172 static void 4612 4173 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 4613 #else4614 static void4615 yydestruct (yymsg, yytype, yyvaluep)4616 const char *yymsg;4617 int yytype;4618 YYSTYPE *yyvaluep;4619 #endif4620 4174 { 4621 4175 YYUSE (yyvaluep); 4622 4623 4176 if (!yymsg) 4624 4177 yymsg = "Deleting"; 4625 4178 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 4626 4179 4627 switch (yytype) 4628 { 4629 4630 default: 4631 break; 4632 } 4180 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 4181 YYUSE (yytype); 4182 YY_IGNORE_MAYBE_UNINITIALIZED_END 4633 4183 } 4634 4184 4635 4185 4636 /* Prevent warnings from -Wmissing-prototypes. */4637 #ifdef YYPARSE_PARAM4638 #if defined __STDC__ || defined __cplusplus4639 int yyparse (void *YYPARSE_PARAM);4640 #else4641 int yyparse ();4642 #endif4643 #else /* ! YYPARSE_PARAM */4644 #if defined __STDC__ || defined __cplusplus4645 int yyparse (void);4646 #else4647 int yyparse ();4648 #endif4649 #endif /* ! YYPARSE_PARAM */4650 4186 4651 4187 … … 4655 4191 /* The semantic value of the lookahead symbol. */ 4656 4192 YYSTYPE yylval; 4657 4658 4193 /* Number of syntax errors so far. */ 4659 4194 int yynerrs; … … 4664 4199 `----------*/ 4665 4200 4666 #ifdef YYPARSE_PARAM4667 #if (defined __STDC__ || defined __C99__FUNC__ \4668 || defined __cplusplus || defined _MSC_VER)4669 int4670 yyparse (void *YYPARSE_PARAM)4671 #else4672 int4673 yyparse (YYPARSE_PARAM)4674 void *YYPARSE_PARAM;4675 #endif4676 #else /* ! YYPARSE_PARAM */4677 #if (defined __STDC__ || defined __C99__FUNC__ \4678 || defined __cplusplus || defined _MSC_VER)4679 4201 int 4680 4202 yyparse (void) 4681 #else4682 int4683 yyparse ()4684 4685 #endif4686 #endif4687 4203 { 4688 4204 int yystate; … … 4691 4207 4692 4208 /* The stacks and their tools: 4693 `yyss': related to states.4694 `yyvs': related to semantic values.4695 4696 Refer to the stacks thr useparate pointers, to allow yyoverflow4209 'yyss': related to states. 4210 'yyvs': related to semantic values. 4211 4212 Refer to the stacks through separate pointers, to allow yyoverflow 4697 4213 to reallocate them elsewhere. */ 4698 4214 … … 4712 4228 int yyresult; 4713 4229 /* Lookahead token as an internal (translated) token number. */ 4714 int yytoken ;4230 int yytoken = 0; 4715 4231 /* The variables used to return semantic value and location from the 4716 4232 action routines. */ … … 4730 4246 int yylen = 0; 4731 4247 4732 yytoken = 0; 4733 yyss = yyssa; 4734 yyvs = yyvsa; 4248 yyssp = yyss = yyssa; 4249 yyvsp = yyvs = yyvsa; 4735 4250 yystacksize = YYINITDEPTH; 4736 4251 … … 4741 4256 yynerrs = 0; 4742 4257 yychar = YYEMPTY; /* Cause a token to be read. */ 4743 4744 /* Initialize stack pointers.4745 Waste one element of value and location stack4746 so that they stay on the same level as the state stack.4747 The wasted elements are never initialized. */4748 yyssp = yyss;4749 yyvsp = yyvs;4750 4751 4258 goto yysetstate; 4752 4259 … … 4769 4276 #ifdef yyoverflow 4770 4277 { 4771 /* Give user a chance to reallocate the stack. Use copies of4772 these so that the &'s don't force the real ones into4773 memory. */4774 YYSTYPE *yyvs1 = yyvs;4775 yytype_int16 *yyss1 = yyss;4776 4777 /* Each stack pointer address is followed by the size of the4778 data in use in that stack, in bytes. This used to be a4779 conditional around just the two extra args, but that might4780 be undefined if yyoverflow is a macro. */4781 yyoverflow (YY_("memory exhausted"),4782 &yyss1, yysize * sizeof (*yyssp),4783 &yyvs1, yysize * sizeof (*yyvsp),4784 &yystacksize);4785 4786 yyss = yyss1;4787 yyvs = yyvs1;4278 /* Give user a chance to reallocate the stack. Use copies of 4279 these so that the &'s don't force the real ones into 4280 memory. */ 4281 YYSTYPE *yyvs1 = yyvs; 4282 yytype_int16 *yyss1 = yyss; 4283 4284 /* Each stack pointer address is followed by the size of the 4285 data in use in that stack, in bytes. This used to be a 4286 conditional around just the two extra args, but that might 4287 be undefined if yyoverflow is a macro. */ 4288 yyoverflow (YY_("memory exhausted"), 4289 &yyss1, yysize * sizeof (*yyssp), 4290 &yyvs1, yysize * sizeof (*yyvsp), 4291 &yystacksize); 4292 4293 yyss = yyss1; 4294 yyvs = yyvs1; 4788 4295 } 4789 4296 #else /* no yyoverflow */ … … 4793 4300 /* Extend the stack our own way. */ 4794 4301 if (YYMAXDEPTH <= yystacksize) 4795 goto yyexhaustedlab;4302 goto yyexhaustedlab; 4796 4303 yystacksize *= 2; 4797 4304 if (YYMAXDEPTH < yystacksize) 4798 yystacksize = YYMAXDEPTH;4305 yystacksize = YYMAXDEPTH; 4799 4306 4800 4307 { 4801 yytype_int16 *yyss1 = yyss;4802 union yyalloc *yyptr =4803 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));4804 if (! yyptr)4805 goto yyexhaustedlab;4806 YYSTACK_RELOCATE (yyss_alloc, yyss);4807 YYSTACK_RELOCATE (yyvs_alloc, yyvs);4308 yytype_int16 *yyss1 = yyss; 4309 union yyalloc *yyptr = 4310 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 4311 if (! yyptr) 4312 goto yyexhaustedlab; 4313 YYSTACK_RELOCATE (yyss_alloc, yyss); 4314 YYSTACK_RELOCATE (yyvs_alloc, yyvs); 4808 4315 # undef YYSTACK_RELOCATE 4809 if (yyss1 != yyssa)4810 YYSTACK_FREE (yyss1);4316 if (yyss1 != yyssa) 4317 YYSTACK_FREE (yyss1); 4811 4318 } 4812 4319 # endif … … 4817 4324 4818 4325 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 4819 (unsigned long int) yystacksize));4326 (unsigned long int) yystacksize)); 4820 4327 4821 4328 if (yyss + yystacksize - 1 <= yyssp) 4822 YYABORT;4329 YYABORT; 4823 4330 } 4824 4331 … … 4849 4356 { 4850 4357 YYDPRINTF ((stderr, "Reading a token: ")); 4851 yychar = YYLEX;4358 yychar = yylex (); 4852 4359 } 4853 4360 … … 4889 4396 4890 4397 yystate = yyn; 4398 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 4891 4399 *++yyvsp = yylval; 4400 YY_IGNORE_MAYBE_UNINITIALIZED_END 4892 4401 4893 4402 goto yynewstate; … … 4912 4421 4913 4422 /* If YYLEN is nonzero, implement the default value of the action: 4914 `$$ = $1'.4423 '$$ = $1'. 4915 4424 4916 4425 Otherwise, the following line sets YYVAL to garbage. … … 4926 4435 { 4927 4436 case 2: 4928 4929 /* Line 1806 of yacc.c */ 4930 #line 306 "parser.yy" 4437 #line 305 "parser.yy" /* yacc.c:1646 */ 4931 4438 { typedefTable.enterScope(); } 4439 #line 4440 "Parser/parser.cc" /* yacc.c:1646 */ 4932 4440 break; 4933 4441 4934 4442 case 3: 4935 4936 /* Line 1806 of yacc.c */ 4937 #line 310 "parser.yy" 4443 #line 309 "parser.yy" /* yacc.c:1646 */ 4938 4444 { typedefTable.leaveScope(); } 4445 #line 4446 "Parser/parser.cc" /* yacc.c:1646 */ 4939 4446 break; 4940 4447 4941 4448 case 4: 4942 4943 /* Line 1806 of yacc.c */ 4944 #line 317 "parser.yy" 4945 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); } 4449 #line 316 "parser.yy" /* yacc.c:1646 */ 4450 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[0].tok) ) ); } 4451 #line 4452 "Parser/parser.cc" /* yacc.c:1646 */ 4946 4452 break; 4947 4453 4948 4454 case 5: 4949 4950 /* Line 1806 of yacc.c */ 4951 #line 318 "parser.yy" 4952 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4455 #line 317 "parser.yy" /* yacc.c:1646 */ 4456 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[0].tok) ) ); } 4457 #line 4458 "Parser/parser.cc" /* yacc.c:1646 */ 4953 4458 break; 4954 4459 4955 4460 case 6: 4956 4957 /* Line 1806 of yacc.c */ 4958 #line 319 "parser.yy" 4959 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4461 #line 318 "parser.yy" /* yacc.c:1646 */ 4462 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[0].tok) ) ); } 4463 #line 4464 "Parser/parser.cc" /* yacc.c:1646 */ 4960 4464 break; 4961 4465 4962 4466 case 7: 4963 4964 /* Line 1806 of yacc.c */ 4965 #line 320 "parser.yy" 4966 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4467 #line 319 "parser.yy" /* yacc.c:1646 */ 4468 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[0].tok) ) ); } 4469 #line 4470 "Parser/parser.cc" /* yacc.c:1646 */ 4967 4470 break; 4968 4471 4969 4472 case 8: 4970 4971 /* Line 1806 of yacc.c */ 4972 #line 321 "parser.yy" 4973 { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); } 4473 #line 320 "parser.yy" /* yacc.c:1646 */ 4474 { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[0].tok) ) ); } 4475 #line 4476 "Parser/parser.cc" /* yacc.c:1646 */ 4974 4476 break; 4975 4477 4976 4478 case 18: 4977 4978 /* Line 1806 of yacc.c */ 4979 #line 346 "parser.yy" 4980 { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].str) ); } 4479 #line 345 "parser.yy" /* yacc.c:1646 */ 4480 { (yyval.constant) = build_constantStr( *(yyvsp[0].str) ); } 4481 #line 4482 "Parser/parser.cc" /* yacc.c:1646 */ 4981 4482 break; 4982 4483 4983 4484 case 19: 4984 4985 /* Line 1806 of yacc.c */ 4986 #line 350 "parser.yy" 4987 { (yyval.str) = (yyvsp[(1) - (1)].tok); } 4485 #line 349 "parser.yy" /* yacc.c:1646 */ 4486 { (yyval.str) = (yyvsp[0].tok); } 4487 #line 4488 "Parser/parser.cc" /* yacc.c:1646 */ 4988 4488 break; 4989 4489 4990 4490 case 20: 4991 4992 /* Line 1806 of yacc.c */ 4993 #line 352 "parser.yy" 4994 { 4995 appendStr( (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].tok) ); // append 2nd juxtaposed string to 1st 4996 delete (yyvsp[(2) - (2)].tok); // allocated by lexer 4997 (yyval.str) = (yyvsp[(1) - (2)].str); // conversion from tok to str 4491 #line 351 "parser.yy" /* yacc.c:1646 */ 4492 { 4493 appendStr( (yyvsp[-1].str), (yyvsp[0].tok) ); // append 2nd juxtaposed string to 1st 4494 delete (yyvsp[0].tok); // allocated by lexer 4495 (yyval.str) = (yyvsp[-1].str); // conversion from tok to str 4998 4496 } 4497 #line 4498 "Parser/parser.cc" /* yacc.c:1646 */ 4999 4498 break; 5000 4499 5001 4500 case 21: 5002 5003 /* Line 1806 of yacc.c */ 5004 #line 363 "parser.yy" 5005 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 4501 #line 362 "parser.yy" /* yacc.c:1646 */ 4502 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 4503 #line 4504 "Parser/parser.cc" /* yacc.c:1646 */ 5006 4504 break; 5007 4505 5008 4506 case 22: 5009 5010 /* Line 1806 of yacc.c */ 5011 #line 365 "parser.yy" 5012 { (yyval.en) = new ExpressionNode( build_constantZeroOne( *(yyvsp[(1) - (1)].tok) ) ); } 4507 #line 364 "parser.yy" /* yacc.c:1646 */ 4508 { (yyval.en) = new ExpressionNode( build_constantZeroOne( *(yyvsp[0].tok) ) ); } 4509 #line 4510 "Parser/parser.cc" /* yacc.c:1646 */ 5013 4510 break; 5014 4511 5015 4512 case 24: 5016 5017 /* Line 1806 of yacc.c */ 5018 #line 368 "parser.yy" 5019 { (yyval.en) = (yyvsp[(2) - (3)].en); } 4513 #line 367 "parser.yy" /* yacc.c:1646 */ 4514 { (yyval.en) = (yyvsp[-1].en); } 4515 #line 4516 "Parser/parser.cc" /* yacc.c:1646 */ 5020 4516 break; 5021 4517 5022 4518 case 25: 5023 5024 /* Line 1806 of yacc.c */ 5025 #line 370 "parser.yy" 5026 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); } 4519 #line 369 "parser.yy" /* yacc.c:1646 */ 4520 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[-1].sn) ) ); } 4521 #line 4522 "Parser/parser.cc" /* yacc.c:1646 */ 5027 4522 break; 5028 4523 5029 4524 case 27: 5030 5031 /* Line 1806 of yacc.c */ 5032 #line 380 "parser.yy" 5033 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); } 4525 #line 379 "parser.yy" /* yacc.c:1646 */ 4526 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[-5].en), (yyvsp[-2].en) ) ); } 4527 #line 4528 "Parser/parser.cc" /* yacc.c:1646 */ 5034 4528 break; 5035 4529 5036 4530 case 28: 5037 5038 /* Line 1806 of yacc.c */ 5039 #line 382 "parser.yy" 5040 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); } 4531 #line 381 "parser.yy" /* yacc.c:1646 */ 4532 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[-3].en), (yyvsp[-1].en) ) ); } 4533 #line 4534 "Parser/parser.cc" /* yacc.c:1646 */ 5041 4534 break; 5042 4535 5043 4536 case 29: 5044 5045 /* Line 1806 of yacc.c */ 5046 #line 384 "parser.yy" 5047 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 4537 #line 383 "parser.yy" /* yacc.c:1646 */ 4538 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[-2].en), build_varref( (yyvsp[0].tok) ) ) ); } 4539 #line 4540 "Parser/parser.cc" /* yacc.c:1646 */ 5048 4540 break; 5049 4541 5050 4542 case 30: 5051 5052 /* Line 1806 of yacc.c */ 5053 #line 386 "parser.yy" 5054 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 4543 #line 385 "parser.yy" /* yacc.c:1646 */ 4544 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[-6].en), build_tuple( (yyvsp[-2].en) ) ) ); } 4545 #line 4546 "Parser/parser.cc" /* yacc.c:1646 */ 5055 4546 break; 5056 4547 5057 4548 case 31: 5058 5059 /* Line 1806 of yacc.c */ 5060 #line 388 "parser.yy" 5061 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (2)].en), build_field_name_REALFRACTIONconstant( *(yyvsp[(2) - (2)].tok) ) ) ); } 4549 #line 387 "parser.yy" /* yacc.c:1646 */ 4550 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[-1].en), build_field_name_REALFRACTIONconstant( *(yyvsp[0].tok) ) ) ); } 4551 #line 4552 "Parser/parser.cc" /* yacc.c:1646 */ 5062 4552 break; 5063 4553 5064 4554 case 32: 5065 5066 /* Line 1806 of yacc.c */ 5067 #line 390 "parser.yy" 5068 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 4555 #line 389 "parser.yy" /* yacc.c:1646 */ 4556 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[-2].en), build_varref( (yyvsp[0].tok) ) ) ); } 4557 #line 4558 "Parser/parser.cc" /* yacc.c:1646 */ 5069 4558 break; 5070 4559 5071 4560 case 33: 5072 5073 /* Line 1806 of yacc.c */ 5074 #line 392 "parser.yy" 5075 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 4561 #line 391 "parser.yy" /* yacc.c:1646 */ 4562 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[-6].en), build_tuple( (yyvsp[-2].en) ) ) ); } 4563 #line 4564 "Parser/parser.cc" /* yacc.c:1646 */ 5076 4564 break; 5077 4565 5078 4566 case 34: 5079 5080 /* Line 1806 of yacc.c */ 5081 #line 394 "parser.yy" 5082 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); } 4567 #line 393 "parser.yy" /* yacc.c:1646 */ 4568 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[-1].en) ) ); } 4569 #line 4570 "Parser/parser.cc" /* yacc.c:1646 */ 5083 4570 break; 5084 4571 5085 4572 case 35: 5086 5087 /* Line 1806 of yacc.c */ 5088 #line 396 "parser.yy" 5089 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); } 4573 #line 395 "parser.yy" /* yacc.c:1646 */ 4574 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[-1].en) ) ); } 4575 #line 4576 "Parser/parser.cc" /* yacc.c:1646 */ 5090 4576 break; 5091 4577 5092 4578 case 36: 5093 5094 /* Line 1806 of yacc.c */ 5095 #line 398 "parser.yy" 5096 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); } 4579 #line 397 "parser.yy" /* yacc.c:1646 */ 4580 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[-5].decl), new InitializerNode( (yyvsp[-2].in), true ) ) ); } 4581 #line 4582 "Parser/parser.cc" /* yacc.c:1646 */ 5097 4582 break; 5098 4583 5099 4584 case 37: 5100 5101 /* Line 1806 of yacc.c */ 5102 #line 400 "parser.yy" 4585 #line 399 "parser.yy" /* yacc.c:1646 */ 5103 4586 { 5104 4587 Token fn; 5105 4588 fn.str = new std::string( "?{}" ); // location undefined - use location of '{'? 5106 (yyval.en) = new ExpressionNode( new ConstructorExpr( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[ (1) - (4)].en) )->set_last( (yyvsp[(3) - (4)].en) ) ) ) );4589 (yyval.en) = new ExpressionNode( new ConstructorExpr( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[-3].en) )->set_last( (yyvsp[-1].en) ) ) ) ); 5107 4590 } 4591 #line 4592 "Parser/parser.cc" /* yacc.c:1646 */ 5108 4592 break; 5109 4593 5110 4594 case 39: 5111 5112 /* Line 1806 of yacc.c */ 5113 #line 410 "parser.yy" 5114 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 4595 #line 409 "parser.yy" /* yacc.c:1646 */ 4596 { (yyval.en) = (ExpressionNode *)( (yyvsp[-2].en)->set_last( (yyvsp[0].en) )); } 4597 #line 4598 "Parser/parser.cc" /* yacc.c:1646 */ 5115 4598 break; 5116 4599 5117 4600 case 40: 5118 5119 /* Line 1806 of yacc.c */ 5120 #line 415 "parser.yy" 5121 { (yyval.en) = nullptr; } 4601 #line 414 "parser.yy" /* yacc.c:1646 */ 4602 { (yyval.en) = 0; } 4603 #line 4604 "Parser/parser.cc" /* yacc.c:1646 */ 5122 4604 break; 5123 4605 5124 4606 case 43: 5125 5126 /* Line 1806 of yacc.c */ 5127 #line 421 "parser.yy" 5128 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 4607 #line 420 "parser.yy" /* yacc.c:1646 */ 4608 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( (yyvsp[0].en) ); } 4609 #line 4610 "Parser/parser.cc" /* yacc.c:1646 */ 5129 4610 break; 5130 4611 5131 4612 case 45: 5132 5133 /* Line 1806 of yacc.c */ 5134 #line 427 "parser.yy" 5135 { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (2)].tok) ) ), maybeMoveBuild<Expression>( (yyvsp[(2) - (2)].en) ) ) ); } 4613 #line 426 "parser.yy" /* yacc.c:1646 */ 4614 { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[-1].tok) ) ), maybeMoveBuild<Expression>( (yyvsp[0].en) ) ) ); } 4615 #line 4616 "Parser/parser.cc" /* yacc.c:1646 */ 5136 4616 break; 5137 4617 5138 4618 case 46: 5139 5140 /* Line 1806 of yacc.c */ 5141 #line 429 "parser.yy" 5142 { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (6)].tok) ) ), build_tuple( (yyvsp[(4) - (6)].en) ) ) ); } 4619 #line 428 "parser.yy" /* yacc.c:1646 */ 4620 { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[-5].tok) ) ), build_tuple( (yyvsp[-2].en) ) ) ); } 4621 #line 4622 "Parser/parser.cc" /* yacc.c:1646 */ 5143 4622 break; 5144 4623 5145 4624 case 47: 5146 5147 /* Line 1806 of yacc.c */ 5148 #line 431 "parser.yy" 5149 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); } 4625 #line 430 "parser.yy" /* yacc.c:1646 */ 4626 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[-2].en), maybeMoveBuild<Expression>( (yyvsp[0].en) ) ) ); } 4627 #line 4628 "Parser/parser.cc" /* yacc.c:1646 */ 5150 4628 break; 5151 4629 5152 4630 case 48: 5153 5154 /* Line 1806 of yacc.c */ 5155 #line 433 "parser.yy" 5156 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 4631 #line 432 "parser.yy" /* yacc.c:1646 */ 4632 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[-6].en), build_tuple( (yyvsp[-2].en) ) ) ); } 4633 #line 4634 "Parser/parser.cc" /* yacc.c:1646 */ 5157 4634 break; 5158 4635 5159 4636 case 49: 5160 5161 /* Line 1806 of yacc.c */ 5162 #line 435 "parser.yy" 5163 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); } 4637 #line 434 "parser.yy" /* yacc.c:1646 */ 4638 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[-2].en), maybeMoveBuild<Expression>( (yyvsp[0].en) ) ) ); } 4639 #line 4640 "Parser/parser.cc" /* yacc.c:1646 */ 5164 4640 break; 5165 4641 5166 4642 case 50: 5167 5168 /* Line 1806 of yacc.c */ 5169 #line 437 "parser.yy" 5170 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 4643 #line 436 "parser.yy" /* yacc.c:1646 */ 4644 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[-6].en), build_tuple( (yyvsp[-2].en) ) ) ); } 4645 #line 4646 "Parser/parser.cc" /* yacc.c:1646 */ 5171 4646 break; 5172 4647 5173 4648 case 51: 5174 5175 /* Line 1806 of yacc.c */ 5176 #line 442 "parser.yy" 5177 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_constantInteger( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); } 4649 #line 441 "parser.yy" /* yacc.c:1646 */ 4650 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_constantInteger( *(yyvsp[-1].tok) ), (yyvsp[0].en) ) ); } 4651 #line 4652 "Parser/parser.cc" /* yacc.c:1646 */ 5178 4652 break; 5179 4653 5180 4654 case 52: 5181 5182 /* Line 1806 of yacc.c */ 5183 #line 444 "parser.yy" 5184 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_field_name_FLOATINGconstant( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); } 4655 #line 443 "parser.yy" /* yacc.c:1646 */ 4656 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_field_name_FLOATINGconstant( *(yyvsp[-1].tok) ), (yyvsp[0].en) ) ); } 4657 #line 4658 "Parser/parser.cc" /* yacc.c:1646 */ 5185 4658 break; 5186 4659 5187 4660 case 53: 5188 5189 /* Line 1806 of yacc.c */ 5190 #line 446 "parser.yy" 5191 { 5192 if( (*(yyvsp[(1) - (2)].tok)) == "0" || (*(yyvsp[(1) - (2)].tok)) == "1" ) { 5193 (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_constantZeroOne( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); 4661 #line 445 "parser.yy" /* yacc.c:1646 */ 4662 { 4663 if( (*(yyvsp[-1].tok)) == "0" || (*(yyvsp[-1].tok)) == "1" ) { 4664 (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_constantZeroOne( *(yyvsp[-1].tok) ), (yyvsp[0].en) ) ); 5194 4665 } else { 5195 (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_varref( (yyvsp[ (1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) );4666 (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_varref( (yyvsp[-1].tok) ), (yyvsp[0].en) ) ); 5196 4667 } 5197 4668 } 4669 #line 4670 "Parser/parser.cc" /* yacc.c:1646 */ 5198 4670 break; 5199 4671 5200 4672 case 54: 5201 5202 /* Line 1806 of yacc.c */ 5203 #line 457 "parser.yy" 4673 #line 456 "parser.yy" /* yacc.c:1646 */ 5204 4674 { (yyval.en) = nullptr; } 4675 #line 4676 "Parser/parser.cc" /* yacc.c:1646 */ 5205 4676 break; 5206 4677 5207 4678 case 55: 5208 5209 /* Line 1806 of yacc.c */ 5210 #line 459 "parser.yy" 5211 { 5212 Expression * constant = build_field_name_REALFRACTIONconstant( *(yyvsp[(2) - (2)].tok) ); 5213 (yyval.en) = (yyvsp[(1) - (2)].en) != nullptr ? new ExpressionNode( build_fieldSel( (yyvsp[(1) - (2)].en), constant ) ) : new ExpressionNode( constant ); 4679 #line 458 "parser.yy" /* yacc.c:1646 */ 4680 { 4681 Expression * constant = build_field_name_REALFRACTIONconstant( *(yyvsp[0].tok) ); 4682 (yyval.en) = (yyvsp[-1].en) != nullptr ? new ExpressionNode( build_fieldSel( (yyvsp[-1].en), constant ) ) : new ExpressionNode( constant ); 5214 4683 } 4684 #line 4685 "Parser/parser.cc" /* yacc.c:1646 */ 5215 4685 break; 5216 4686 5217 4687 case 57: 5218 5219 /* Line 1806 of yacc.c */ 5220 #line 470 "parser.yy" 5221 { (yyval.en) = (yyvsp[(1) - (1)].en); } 4688 #line 469 "parser.yy" /* yacc.c:1646 */ 4689 { (yyval.en) = (yyvsp[0].en); } 4690 #line 4691 "Parser/parser.cc" /* yacc.c:1646 */ 5222 4691 break; 5223 4692 5224 4693 case 58: 5225 5226 /* Line 1806 of yacc.c */ 5227 #line 472 "parser.yy" 5228 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 4694 #line 471 "parser.yy" /* yacc.c:1646 */ 4695 { (yyval.en) = new ExpressionNode( (yyvsp[0].constant) ); } 4696 #line 4697 "Parser/parser.cc" /* yacc.c:1646 */ 5229 4697 break; 5230 4698 5231 4699 case 59: 5232 5233 /* Line 1806 of yacc.c */ 5234 #line 474 "parser.yy" 5235 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 4700 #line 473 "parser.yy" /* yacc.c:1646 */ 4701 { (yyval.en) = (yyvsp[0].en)->set_extension( true ); } 4702 #line 4703 "Parser/parser.cc" /* yacc.c:1646 */ 5236 4703 break; 5237 4704 5238 4705 case 60: 5239 5240 /* Line 1806 of yacc.c */ 5241 #line 479 "parser.yy" 5242 { 5243 switch ( (yyvsp[(1) - (2)].op) ) { 4706 #line 478 "parser.yy" /* yacc.c:1646 */ 4707 { 4708 switch ( (yyvsp[-1].op) ) { 5244 4709 case OperKinds::AddressOf: 5245 (yyval.en) = new ExpressionNode( build_addressOf( (yyvsp[ (2) - (2)].en) ) );4710 (yyval.en) = new ExpressionNode( build_addressOf( (yyvsp[0].en) ) ); 5246 4711 break; 5247 4712 case OperKinds::PointTo: 5248 (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[ (1) - (2)].op), (yyvsp[(2) - (2)].en) ) );4713 (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[-1].op), (yyvsp[0].en) ) ); 5249 4714 break; 5250 4715 default: … … 5252 4717 } 5253 4718 } 4719 #line 4720 "Parser/parser.cc" /* yacc.c:1646 */ 5254 4720 break; 5255 4721 5256 4722 case 61: 5257 5258 /* Line 1806 of yacc.c */ 5259 #line 492 "parser.yy" 5260 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); } 4723 #line 491 "parser.yy" /* yacc.c:1646 */ 4724 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[-1].op), (yyvsp[0].en) ) ); } 4725 #line 4726 "Parser/parser.cc" /* yacc.c:1646 */ 5261 4726 break; 5262 4727 5263 4728 case 62: 5264 5265 /* Line 1806 of yacc.c */ 5266 #line 494 "parser.yy" 5267 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); } 4729 #line 493 "parser.yy" /* yacc.c:1646 */ 4730 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[0].en) ) ); } 4731 #line 4732 "Parser/parser.cc" /* yacc.c:1646 */ 5268 4732 break; 5269 4733 5270 4734 case 63: 5271 5272 /* Line 1806 of yacc.c */ 5273 #line 496 "parser.yy" 5274 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); } 4735 #line 495 "parser.yy" /* yacc.c:1646 */ 4736 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[0].en) ) ); } 4737 #line 4738 "Parser/parser.cc" /* yacc.c:1646 */ 5275 4738 break; 5276 4739 5277 4740 case 64: 5278 5279 /* Line 1806 of yacc.c */ 5280 #line 498 "parser.yy" 5281 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); } 4741 #line 497 "parser.yy" /* yacc.c:1646 */ 4742 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[0].en) ) ); } 4743 #line 4744 "Parser/parser.cc" /* yacc.c:1646 */ 5282 4744 break; 5283 4745 5284 4746 case 65: 5285 5286 /* Line 1806 of yacc.c */ 5287 #line 500 "parser.yy" 5288 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); } 4747 #line 499 "parser.yy" /* yacc.c:1646 */ 4748 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[-1].decl) ) ); } 4749 #line 4750 "Parser/parser.cc" /* yacc.c:1646 */ 5289 4750 break; 5290 4751 5291 4752 case 66: 5292 5293 /* Line 1806 of yacc.c */ 5294 #line 502 "parser.yy" 5295 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); } 4753 #line 501 "parser.yy" /* yacc.c:1646 */ 4754 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[0].en) ) ); } 4755 #line 4756 "Parser/parser.cc" /* yacc.c:1646 */ 5296 4756 break; 5297 4757 5298 4758 case 67: 5299 5300 /* Line 1806 of yacc.c */ 5301 #line 504 "parser.yy" 5302 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); } 4759 #line 503 "parser.yy" /* yacc.c:1646 */ 4760 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[-1].decl) ) ); } 4761 #line 4762 "Parser/parser.cc" /* yacc.c:1646 */ 5303 4762 break; 5304 4763 5305 4764 case 68: 5306 5307 /* Line 1806 of yacc.c */ 5308 #line 506 "parser.yy" 5309 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); } 4765 #line 505 "parser.yy" /* yacc.c:1646 */ 4766 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[-3].decl), build_varref( (yyvsp[-1].tok) ) ) ); } 4767 #line 4768 "Parser/parser.cc" /* yacc.c:1646 */ 5310 4768 break; 5311 4769 5312 4770 case 69: 5313 5314 /* Line 1806 of yacc.c */ 5315 #line 508 "parser.yy" 5316 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); } 4771 #line 507 "parser.yy" /* yacc.c:1646 */ 4772 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[0].tok) ), nullptr ) ); } 4773 #line 4774 "Parser/parser.cc" /* yacc.c:1646 */ 5317 4774 break; 5318 4775 5319 4776 case 70: 5320 5321 /* Line 1806 of yacc.c */ 5322 #line 510 "parser.yy" 5323 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); } 4777 #line 509 "parser.yy" /* yacc.c:1646 */ 4778 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[-3].tok) ), (yyvsp[-1].en) ) ); } 4779 #line 4780 "Parser/parser.cc" /* yacc.c:1646 */ 5324 4780 break; 5325 4781 5326 4782 case 71: 5327 5328 /* Line 1806 of yacc.c */ 5329 #line 512 "parser.yy" 5330 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); } 4783 #line 511 "parser.yy" /* yacc.c:1646 */ 4784 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[-3].tok) ), (yyvsp[-1].decl) ) ); } 4785 #line 4786 "Parser/parser.cc" /* yacc.c:1646 */ 5331 4786 break; 5332 4787 5333 4788 case 72: 5334 5335 /* Line 1806 of yacc.c */ 5336 #line 518 "parser.yy" 4789 #line 517 "parser.yy" /* yacc.c:1646 */ 5337 4790 { (yyval.op) = OperKinds::PointTo; } 4791 #line 4792 "Parser/parser.cc" /* yacc.c:1646 */ 5338 4792 break; 5339 4793 5340 4794 case 73: 5341 5342 /* Line 1806 of yacc.c */ 5343 #line 519 "parser.yy" 4795 #line 518 "parser.yy" /* yacc.c:1646 */ 5344 4796 { (yyval.op) = OperKinds::AddressOf; } 4797 #line 4798 "Parser/parser.cc" /* yacc.c:1646 */ 5345 4798 break; 5346 4799 5347 4800 case 74: 5348 5349 /* Line 1806 of yacc.c */ 5350 #line 525 "parser.yy" 4801 #line 524 "parser.yy" /* yacc.c:1646 */ 5351 4802 { (yyval.op) = OperKinds::UnPlus; } 4803 #line 4804 "Parser/parser.cc" /* yacc.c:1646 */ 5352 4804 break; 5353 4805 5354 4806 case 75: 5355 5356 /* Line 1806 of yacc.c */ 5357 #line 526 "parser.yy" 4807 #line 525 "parser.yy" /* yacc.c:1646 */ 5358 4808 { (yyval.op) = OperKinds::UnMinus; } 4809 #line 4810 "Parser/parser.cc" /* yacc.c:1646 */ 5359 4810 break; 5360 4811 5361 4812 case 76: 5362 5363 /* Line 1806 of yacc.c */ 5364 #line 527 "parser.yy" 4813 #line 526 "parser.yy" /* yacc.c:1646 */ 5365 4814 { (yyval.op) = OperKinds::Neg; } 4815 #line 4816 "Parser/parser.cc" /* yacc.c:1646 */ 5366 4816 break; 5367 4817 5368 4818 case 77: 5369 5370 /* Line 1806 of yacc.c */ 5371 #line 528 "parser.yy" 4819 #line 527 "parser.yy" /* yacc.c:1646 */ 5372 4820 { (yyval.op) = OperKinds::BitNeg; } 4821 #line 4822 "Parser/parser.cc" /* yacc.c:1646 */ 5373 4822 break; 5374 4823 5375 4824 case 79: 5376 5377 /* Line 1806 of yacc.c */ 5378 #line 534 "parser.yy" 5379 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 4825 #line 533 "parser.yy" /* yacc.c:1646 */ 4826 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[-2].decl), (yyvsp[0].en) ) ); } 4827 #line 4828 "Parser/parser.cc" /* yacc.c:1646 */ 5380 4828 break; 5381 4829 5382 4830 case 81: 5383 5384 /* Line 1806 of yacc.c */ 5385 #line 542 "parser.yy" 5386 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4831 #line 541 "parser.yy" /* yacc.c:1646 */ 4832 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4833 #line 4834 "Parser/parser.cc" /* yacc.c:1646 */ 5387 4834 break; 5388 4835 5389 4836 case 82: 5390 5391 /* Line 1806 of yacc.c */ 5392 #line 544 "parser.yy" 5393 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4837 #line 543 "parser.yy" /* yacc.c:1646 */ 4838 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4839 #line 4840 "Parser/parser.cc" /* yacc.c:1646 */ 5394 4840 break; 5395 4841 5396 4842 case 83: 5397 5398 /* Line 1806 of yacc.c */ 5399 #line 546 "parser.yy" 5400 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4843 #line 545 "parser.yy" /* yacc.c:1646 */ 4844 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4845 #line 4846 "Parser/parser.cc" /* yacc.c:1646 */ 5401 4846 break; 5402 4847 5403 4848 case 85: 5404 5405 /* Line 1806 of yacc.c */ 5406 #line 552 "parser.yy" 5407 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4849 #line 551 "parser.yy" /* yacc.c:1646 */ 4850 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4851 #line 4852 "Parser/parser.cc" /* yacc.c:1646 */ 5408 4852 break; 5409 4853 5410 4854 case 86: 5411 5412 /* Line 1806 of yacc.c */ 5413 #line 554 "parser.yy" 5414 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4855 #line 553 "parser.yy" /* yacc.c:1646 */ 4856 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4857 #line 4858 "Parser/parser.cc" /* yacc.c:1646 */ 5415 4858 break; 5416 4859 5417 4860 case 88: 5418 5419 /* Line 1806 of yacc.c */ 5420 #line 560 "parser.yy" 5421 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4861 #line 559 "parser.yy" /* yacc.c:1646 */ 4862 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4863 #line 4864 "Parser/parser.cc" /* yacc.c:1646 */ 5422 4864 break; 5423 4865 5424 4866 case 89: 5425 5426 /* Line 1806 of yacc.c */ 5427 #line 562 "parser.yy" 5428 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4867 #line 561 "parser.yy" /* yacc.c:1646 */ 4868 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4869 #line 4870 "Parser/parser.cc" /* yacc.c:1646 */ 5429 4870 break; 5430 4871 5431 4872 case 91: 5432 5433 /* Line 1806 of yacc.c */ 5434 #line 568 "parser.yy" 5435 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4873 #line 567 "parser.yy" /* yacc.c:1646 */ 4874 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4875 #line 4876 "Parser/parser.cc" /* yacc.c:1646 */ 5436 4876 break; 5437 4877 5438 4878 case 92: 5439 5440 /* Line 1806 of yacc.c */ 5441 #line 570 "parser.yy" 5442 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4879 #line 569 "parser.yy" /* yacc.c:1646 */ 4880 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4881 #line 4882 "Parser/parser.cc" /* yacc.c:1646 */ 5443 4882 break; 5444 4883 5445 4884 case 93: 5446 5447 /* Line 1806 of yacc.c */ 5448 #line 572 "parser.yy" 5449 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4885 #line 571 "parser.yy" /* yacc.c:1646 */ 4886 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4887 #line 4888 "Parser/parser.cc" /* yacc.c:1646 */ 5450 4888 break; 5451 4889 5452 4890 case 94: 5453 5454 /* Line 1806 of yacc.c */ 5455 #line 574 "parser.yy" 5456 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4891 #line 573 "parser.yy" /* yacc.c:1646 */ 4892 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4893 #line 4894 "Parser/parser.cc" /* yacc.c:1646 */ 5457 4894 break; 5458 4895 5459 4896 case 96: 5460 5461 /* Line 1806 of yacc.c */ 5462 #line 580 "parser.yy" 5463 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4897 #line 579 "parser.yy" /* yacc.c:1646 */ 4898 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4899 #line 4900 "Parser/parser.cc" /* yacc.c:1646 */ 5464 4900 break; 5465 4901 5466 4902 case 97: 5467 5468 /* Line 1806 of yacc.c */ 5469 #line 582 "parser.yy" 5470 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4903 #line 581 "parser.yy" /* yacc.c:1646 */ 4904 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4905 #line 4906 "Parser/parser.cc" /* yacc.c:1646 */ 5471 4906 break; 5472 4907 5473 4908 case 99: 5474 5475 /* Line 1806 of yacc.c */ 5476 #line 588 "parser.yy" 5477 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4909 #line 587 "parser.yy" /* yacc.c:1646 */ 4910 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4911 #line 4912 "Parser/parser.cc" /* yacc.c:1646 */ 5478 4912 break; 5479 4913 5480 4914 case 101: 5481 5482 /* Line 1806 of yacc.c */ 5483 #line 594 "parser.yy" 5484 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4915 #line 593 "parser.yy" /* yacc.c:1646 */ 4916 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4917 #line 4918 "Parser/parser.cc" /* yacc.c:1646 */ 5485 4918 break; 5486 4919 5487 4920 case 103: 5488 5489 /* Line 1806 of yacc.c */ 5490 #line 600 "parser.yy" 5491 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4921 #line 599 "parser.yy" /* yacc.c:1646 */ 4922 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4923 #line 4924 "Parser/parser.cc" /* yacc.c:1646 */ 5492 4924 break; 5493 4925 5494 4926 case 105: 5495 5496 /* Line 1806 of yacc.c */ 5497 #line 606 "parser.yy" 5498 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); } 4927 #line 605 "parser.yy" /* yacc.c:1646 */ 4928 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[-2].en), (yyvsp[0].en), true ) ); } 4929 #line 4930 "Parser/parser.cc" /* yacc.c:1646 */ 5499 4930 break; 5500 4931 5501 4932 case 107: 5502 5503 /* Line 1806 of yacc.c */ 5504 #line 612 "parser.yy" 5505 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); } 4933 #line 611 "parser.yy" /* yacc.c:1646 */ 4934 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[-2].en), (yyvsp[0].en), false ) ); } 4935 #line 4936 "Parser/parser.cc" /* yacc.c:1646 */ 5506 4936 break; 5507 4937 5508 4938 case 109: 5509 5510 /* Line 1806 of yacc.c */ 5511 #line 618 "parser.yy" 5512 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 4939 #line 617 "parser.yy" /* yacc.c:1646 */ 4940 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[-4].en), (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4941 #line 4942 "Parser/parser.cc" /* yacc.c:1646 */ 5513 4942 break; 5514 4943 5515 4944 case 110: 5516 5517 /* Line 1806 of yacc.c */ 5518 #line 621 "parser.yy" 5519 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); } 4945 #line 620 "parser.yy" /* yacc.c:1646 */ 4946 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[-3].en), (yyvsp[-3].en), (yyvsp[0].en) ) ); } 4947 #line 4948 "Parser/parser.cc" /* yacc.c:1646 */ 5520 4948 break; 5521 4949 5522 4950 case 113: 5523 5524 /* Line 1806 of yacc.c */ 5525 #line 634 "parser.yy" 5526 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4951 #line 633 "parser.yy" /* yacc.c:1646 */ 4952 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[-1].op), (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4953 #line 4954 "Parser/parser.cc" /* yacc.c:1646 */ 5527 4954 break; 5528 4955 5529 4956 case 114: 5530 5531 /* Line 1806 of yacc.c */ 5532 #line 641 "parser.yy" 4957 #line 640 "parser.yy" /* yacc.c:1646 */ 5533 4958 { (yyval.en) = nullptr; } 4959 #line 4960 "Parser/parser.cc" /* yacc.c:1646 */ 5534 4960 break; 5535 4961 5536 4962 case 116: 5537 5538 /* Line 1806 of yacc.c */ 5539 #line 646 "parser.yy" 4963 #line 645 "parser.yy" /* yacc.c:1646 */ 5540 4964 { (yyval.op) = OperKinds::Assign; } 4965 #line 4966 "Parser/parser.cc" /* yacc.c:1646 */ 5541 4966 break; 5542 4967 5543 4968 case 117: 5544 5545 /* Line 1806 of yacc.c */ 5546 #line 647 "parser.yy" 4969 #line 646 "parser.yy" /* yacc.c:1646 */ 5547 4970 { (yyval.op) = OperKinds::AtAssn; } 4971 #line 4972 "Parser/parser.cc" /* yacc.c:1646 */ 5548 4972 break; 5549 4973 5550 4974 case 118: 5551 5552 /* Line 1806 of yacc.c */ 5553 #line 648 "parser.yy" 4975 #line 647 "parser.yy" /* yacc.c:1646 */ 5554 4976 { (yyval.op) = OperKinds::MulAssn; } 4977 #line 4978 "Parser/parser.cc" /* yacc.c:1646 */ 5555 4978 break; 5556 4979 5557 4980 case 119: 5558 5559 /* Line 1806 of yacc.c */ 5560 #line 649 "parser.yy" 4981 #line 648 "parser.yy" /* yacc.c:1646 */ 5561 4982 { (yyval.op) = OperKinds::DivAssn; } 4983 #line 4984 "Parser/parser.cc" /* yacc.c:1646 */ 5562 4984 break; 5563 4985 5564 4986 case 120: 5565 5566 /* Line 1806 of yacc.c */ 5567 #line 650 "parser.yy" 4987 #line 649 "parser.yy" /* yacc.c:1646 */ 5568 4988 { (yyval.op) = OperKinds::ModAssn; } 4989 #line 4990 "Parser/parser.cc" /* yacc.c:1646 */ 5569 4990 break; 5570 4991 5571 4992 case 121: 5572 5573 /* Line 1806 of yacc.c */ 5574 #line 651 "parser.yy" 4993 #line 650 "parser.yy" /* yacc.c:1646 */ 5575 4994 { (yyval.op) = OperKinds::PlusAssn; } 4995 #line 4996 "Parser/parser.cc" /* yacc.c:1646 */ 5576 4996 break; 5577 4997 5578 4998 case 122: 5579 5580 /* Line 1806 of yacc.c */ 5581 #line 652 "parser.yy" 4999 #line 651 "parser.yy" /* yacc.c:1646 */ 5582 5000 { (yyval.op) = OperKinds::MinusAssn; } 5001 #line 5002 "Parser/parser.cc" /* yacc.c:1646 */ 5583 5002 break; 5584 5003 5585 5004 case 123: 5586 5587 /* Line 1806 of yacc.c */ 5588 #line 653 "parser.yy" 5005 #line 652 "parser.yy" /* yacc.c:1646 */ 5589 5006 { (yyval.op) = OperKinds::LSAssn; } 5007 #line 5008 "Parser/parser.cc" /* yacc.c:1646 */ 5590 5008 break; 5591 5009 5592 5010 case 124: 5593 5594 /* Line 1806 of yacc.c */ 5595 #line 654 "parser.yy" 5011 #line 653 "parser.yy" /* yacc.c:1646 */ 5596 5012 { (yyval.op) = OperKinds::RSAssn; } 5013 #line 5014 "Parser/parser.cc" /* yacc.c:1646 */ 5597 5014 break; 5598 5015 5599 5016 case 125: 5600 5601 /* Line 1806 of yacc.c */ 5602 #line 655 "parser.yy" 5017 #line 654 "parser.yy" /* yacc.c:1646 */ 5603 5018 { (yyval.op) = OperKinds::AndAssn; } 5019 #line 5020 "Parser/parser.cc" /* yacc.c:1646 */ 5604 5020 break; 5605 5021 5606 5022 case 126: 5607 5608 /* Line 1806 of yacc.c */ 5609 #line 656 "parser.yy" 5023 #line 655 "parser.yy" /* yacc.c:1646 */ 5610 5024 { (yyval.op) = OperKinds::ERAssn; } 5025 #line 5026 "Parser/parser.cc" /* yacc.c:1646 */ 5611 5026 break; 5612 5027 5613 5028 case 127: 5614 5615 /* Line 1806 of yacc.c */ 5616 #line 657 "parser.yy" 5029 #line 656 "parser.yy" /* yacc.c:1646 */ 5617 5030 { (yyval.op) = OperKinds::OrAssn; } 5031 #line 5032 "Parser/parser.cc" /* yacc.c:1646 */ 5618 5032 break; 5619 5033 5620 5034 case 128: 5621 5622 /* Line 1806 of yacc.c */ 5623 #line 668 "parser.yy" 5624 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); } 5035 #line 667 "parser.yy" /* yacc.c:1646 */ 5036 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[-2].en) ) ) ); } 5037 #line 5038 "Parser/parser.cc" /* yacc.c:1646 */ 5625 5038 break; 5626 5039 5627 5040 case 129: 5628 5629 /* Line 1806 of yacc.c */ 5630 #line 670 "parser.yy" 5631 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); } 5041 #line 669 "parser.yy" /* yacc.c:1646 */ 5042 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[-4].en)->set_last( (yyvsp[-2].en) ) ) ); } 5043 #line 5044 "Parser/parser.cc" /* yacc.c:1646 */ 5632 5044 break; 5633 5045 5634 5046 case 131: 5635 5636 /* Line 1806 of yacc.c */ 5637 #line 676 "parser.yy" 5638 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5047 #line 675 "parser.yy" /* yacc.c:1646 */ 5048 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( (yyvsp[0].en) ); } 5049 #line 5050 "Parser/parser.cc" /* yacc.c:1646 */ 5639 5050 break; 5640 5051 5641 5052 case 133: 5642 5643 /* Line 1806 of yacc.c */ 5644 #line 682 "parser.yy" 5645 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5053 #line 681 "parser.yy" /* yacc.c:1646 */ 5054 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[-2].en), (yyvsp[0].en) ) ); } 5055 #line 5056 "Parser/parser.cc" /* yacc.c:1646 */ 5646 5056 break; 5647 5057 5648 5058 case 134: 5649 5650 /* Line 1806 of yacc.c */ 5651 #line 687 "parser.yy" 5652 { (yyval.en) = nullptr; } 5059 #line 686 "parser.yy" /* yacc.c:1646 */ 5060 { (yyval.en) = 0; } 5061 #line 5062 "Parser/parser.cc" /* yacc.c:1646 */ 5653 5062 break; 5654 5063 5655 5064 case 138: 5656 5657 /* Line 1806 of yacc.c */ 5658 #line 696 "parser.yy" 5659 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5065 #line 695 "parser.yy" /* yacc.c:1646 */ 5066 { (yyval.sn) = (yyvsp[0].sn); } 5067 #line 5068 "Parser/parser.cc" /* yacc.c:1646 */ 5660 5068 break; 5661 5069 5662 5070 case 144: 5663 5664 /* Line 1806 of yacc.c */ 5665 #line 703 "parser.yy" 5071 #line 702 "parser.yy" /* yacc.c:1646 */ 5666 5072 { 5667 5073 Token fn; 5668 5074 fn.str = new string( "^?{}" ); // location undefined 5669 (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) ) ) ) ) );5075 (yyval.sn) = new StatementNode( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[-4].en) )->set_last( (yyvsp[-2].en) ) ) ) ) ); 5670 5076 } 5077 #line 5078 "Parser/parser.cc" /* yacc.c:1646 */ 5671 5078 break; 5672 5079 5673 5080 case 145: 5674 5675 /* Line 1806 of yacc.c */ 5676 #line 713 "parser.yy" 5677 { 5678 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); 5081 #line 712 "parser.yy" /* yacc.c:1646 */ 5082 { 5083 (yyval.sn) = (yyvsp[0].sn)->add_label( (yyvsp[-3].tok) ); 5679 5084 } 5085 #line 5086 "Parser/parser.cc" /* yacc.c:1646 */ 5680 5086 break; 5681 5087 5682 5088 case 146: 5683 5684 /* Line 1806 of yacc.c */ 5685 #line 720 "parser.yy" 5089 #line 719 "parser.yy" /* yacc.c:1646 */ 5686 5090 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); } 5091 #line 5092 "Parser/parser.cc" /* yacc.c:1646 */ 5687 5092 break; 5688 5093 5689 5094 case 147: 5690 5691 /* Line 1806 of yacc.c */ 5692 #line 727 "parser.yy" 5693 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); } 5095 #line 726 "parser.yy" /* yacc.c:1646 */ 5096 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[-2].sn) ) ); } 5097 #line 5098 "Parser/parser.cc" /* yacc.c:1646 */ 5694 5098 break; 5695 5099 5696 5100 case 149: 5697 5698 /* Line 1806 of yacc.c */ 5699 #line 733 "parser.yy" 5700 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5101 #line 732 "parser.yy" /* yacc.c:1646 */ 5102 { if ( (yyvsp[-2].sn) != 0 ) { (yyvsp[-2].sn)->set_last( (yyvsp[0].sn) ); (yyval.sn) = (yyvsp[-2].sn); } } 5103 #line 5104 "Parser/parser.cc" /* yacc.c:1646 */ 5701 5104 break; 5702 5105 5703 5106 case 150: 5704 5705 /* Line 1806 of yacc.c */ 5706 #line 738 "parser.yy" 5707 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5107 #line 737 "parser.yy" /* yacc.c:1646 */ 5108 { (yyval.sn) = new StatementNode( (yyvsp[0].decl) ); } 5109 #line 5110 "Parser/parser.cc" /* yacc.c:1646 */ 5708 5110 break; 5709 5111 5710 5112 case 151: 5711 5712 /* Line 1806 of yacc.c */ 5713 #line 740 "parser.yy" 5113 #line 739 "parser.yy" /* yacc.c:1646 */ 5714 5114 { // mark all fields in list 5715 for ( DeclarationNode *iter = (yyvsp[ (2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )5115 for ( DeclarationNode *iter = (yyvsp[0].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) 5716 5116 iter->set_extension( true ); 5717 (yyval.sn) = new StatementNode( (yyvsp[ (2) - (2)].decl) );5117 (yyval.sn) = new StatementNode( (yyvsp[0].decl) ); 5718 5118 } 5119 #line 5120 "Parser/parser.cc" /* yacc.c:1646 */ 5719 5120 break; 5720 5121 5721 5122 case 152: 5722 5723 /* Line 1806 of yacc.c */ 5724 #line 746 "parser.yy" 5725 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5123 #line 745 "parser.yy" /* yacc.c:1646 */ 5124 { (yyval.sn) = new StatementNode( (yyvsp[0].decl) ); } 5125 #line 5126 "Parser/parser.cc" /* yacc.c:1646 */ 5726 5126 break; 5727 5127 5728 5128 case 155: 5729 5730 /* Line 1806 of yacc.c */ 5731 #line 753 "parser.yy" 5732 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5129 #line 752 "parser.yy" /* yacc.c:1646 */ 5130 { if ( (yyvsp[-1].sn) != 0 ) { (yyvsp[-1].sn)->set_last( (yyvsp[0].sn) ); (yyval.sn) = (yyvsp[-1].sn); } } 5131 #line 5132 "Parser/parser.cc" /* yacc.c:1646 */ 5733 5132 break; 5734 5133 5735 5134 case 156: 5736 5737 /* Line 1806 of yacc.c */ 5738 #line 758 "parser.yy" 5739 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); } 5135 #line 757 "parser.yy" /* yacc.c:1646 */ 5136 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[-1].en) ) ); } 5137 #line 5138 "Parser/parser.cc" /* yacc.c:1646 */ 5740 5138 break; 5741 5139 5742 5140 case 157: 5743 5744 /* Line 1806 of yacc.c */ 5745 #line 764 "parser.yy" 5746 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); } 5141 #line 763 "parser.yy" /* yacc.c:1646 */ 5142 { (yyval.sn) = new StatementNode( build_if( (yyvsp[-2].en), (yyvsp[0].sn), nullptr ) ); } 5143 #line 5144 "Parser/parser.cc" /* yacc.c:1646 */ 5747 5144 break; 5748 5145 5749 5146 case 158: 5750 5751 /* Line 1806 of yacc.c */ 5752 #line 766 "parser.yy" 5753 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); } 5147 #line 765 "parser.yy" /* yacc.c:1646 */ 5148 { (yyval.sn) = new StatementNode( build_if( (yyvsp[-4].en), (yyvsp[-2].sn), (yyvsp[0].sn) ) ); } 5149 #line 5150 "Parser/parser.cc" /* yacc.c:1646 */ 5754 5150 break; 5755 5151 5756 5152 case 159: 5757 5758 /* Line 1806 of yacc.c */ 5759 #line 768 "parser.yy" 5760 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5153 #line 767 "parser.yy" /* yacc.c:1646 */ 5154 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[-2].en), (yyvsp[0].sn) ) ); } 5155 #line 5156 "Parser/parser.cc" /* yacc.c:1646 */ 5761 5156 break; 5762 5157 5763 5158 case 160: 5764 5765 /* Line 1806 of yacc.c */ 5766 #line 770 "parser.yy" 5767 { 5768 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); 5159 #line 769 "parser.yy" /* yacc.c:1646 */ 5160 { 5161 StatementNode *sw = new StatementNode( build_switch( (yyvsp[-6].en), (yyvsp[-1].sn) ) ); 5769 5162 // The semantics of the declaration list is changed to include associated initialization, which is performed 5770 5163 // *before* the transfer to the appropriate case clause by hoisting the declarations into a compound … … 5772 5165 // therefore, are removed from the grammar even though C allows it. The change also applies to choose 5773 5166 // statement. 5774 (yyval.sn) = (yyvsp[ (7) - (9)].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw;5167 (yyval.sn) = (yyvsp[-2].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[-2].decl) ))->set_last( sw )) ) ) : sw; 5775 5168 } 5169 #line 5170 "Parser/parser.cc" /* yacc.c:1646 */ 5776 5170 break; 5777 5171 5778 5172 case 161: 5779 5780 /* Line 1806 of yacc.c */ 5781 #line 780 "parser.yy" 5782 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5173 #line 779 "parser.yy" /* yacc.c:1646 */ 5174 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[-2].en), (yyvsp[0].sn) ) ); } 5175 #line 5176 "Parser/parser.cc" /* yacc.c:1646 */ 5783 5176 break; 5784 5177 5785 5178 case 162: 5786 5787 /* Line 1806 of yacc.c */ 5788 #line 782 "parser.yy" 5789 { 5790 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); 5791 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw; 5179 #line 781 "parser.yy" /* yacc.c:1646 */ 5180 { 5181 StatementNode *sw = new StatementNode( build_switch( (yyvsp[-6].en), (yyvsp[-1].sn) ) ); 5182 (yyval.sn) = (yyvsp[-2].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[-2].decl) ))->set_last( sw )) ) ) : sw; 5792 5183 } 5184 #line 5185 "Parser/parser.cc" /* yacc.c:1646 */ 5793 5185 break; 5794 5186 5795 5187 case 163: 5796 5797 /* Line 1806 of yacc.c */ 5798 #line 792 "parser.yy" 5799 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5188 #line 791 "parser.yy" /* yacc.c:1646 */ 5189 { (yyval.en) = (yyvsp[0].en); } 5190 #line 5191 "Parser/parser.cc" /* yacc.c:1646 */ 5800 5191 break; 5801 5192 5802 5193 case 164: 5803 5804 /* Line 1806 of yacc.c */ 5805 #line 794 "parser.yy" 5806 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5194 #line 793 "parser.yy" /* yacc.c:1646 */ 5195 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[-2].en), (yyvsp[0].en) ) ); } 5196 #line 5197 "Parser/parser.cc" /* yacc.c:1646 */ 5807 5197 break; 5808 5198 5809 5199 case 166: 5810 5811 /* Line 1806 of yacc.c */ 5812 #line 799 "parser.yy" 5813 { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); } 5200 #line 798 "parser.yy" /* yacc.c:1646 */ 5201 { (yyval.sn) = new StatementNode( build_case( (yyvsp[0].en) ) ); } 5202 #line 5203 "Parser/parser.cc" /* yacc.c:1646 */ 5814 5203 break; 5815 5204 5816 5205 case 167: 5817 5818 /* Line 1806 of yacc.c */ 5819 #line 801 "parser.yy" 5820 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 5206 #line 800 "parser.yy" /* yacc.c:1646 */ 5207 { (yyval.sn) = (StatementNode *)((yyvsp[-2].sn)->set_last( new StatementNode( build_case( (yyvsp[0].en) ) ) ) ); } 5208 #line 5209 "Parser/parser.cc" /* yacc.c:1646 */ 5821 5209 break; 5822 5210 5823 5211 case 168: 5824 5825 /* Line 1806 of yacc.c */ 5826 #line 805 "parser.yy" 5827 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5212 #line 804 "parser.yy" /* yacc.c:1646 */ 5213 { (yyval.sn) = (yyvsp[-1].sn); } 5214 #line 5215 "Parser/parser.cc" /* yacc.c:1646 */ 5828 5215 break; 5829 5216 5830 5217 case 169: 5831 5832 /* Line 1806 of yacc.c */ 5833 #line 806 "parser.yy" 5218 #line 805 "parser.yy" /* yacc.c:1646 */ 5834 5219 { (yyval.sn) = new StatementNode( build_default() ); } 5220 #line 5221 "Parser/parser.cc" /* yacc.c:1646 */ 5835 5221 break; 5836 5222 5837 5223 case 171: 5838 5839 /* Line 1806 of yacc.c */ 5840 #line 812 "parser.yy" 5841 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); } 5224 #line 811 "parser.yy" /* yacc.c:1646 */ 5225 { (yyval.sn) = (StatementNode *)( (yyvsp[-1].sn)->set_last( (yyvsp[0].sn) )); } 5226 #line 5227 "Parser/parser.cc" /* yacc.c:1646 */ 5842 5227 break; 5843 5228 5844 5229 case 172: 5845 5846 /* Line 1806 of yacc.c */ 5847 #line 816 "parser.yy" 5848 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5230 #line 815 "parser.yy" /* yacc.c:1646 */ 5231 { (yyval.sn) = (yyvsp[-1].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[0].sn) ) ) ); } 5232 #line 5233 "Parser/parser.cc" /* yacc.c:1646 */ 5849 5233 break; 5850 5234 5851 5235 case 173: 5852 5853 /* Line 1806 of yacc.c */ 5854 #line 821 "parser.yy" 5855 { (yyval.sn) = nullptr; } 5236 #line 820 "parser.yy" /* yacc.c:1646 */ 5237 { (yyval.sn) = 0; } 5238 #line 5239 "Parser/parser.cc" /* yacc.c:1646 */ 5856 5239 break; 5857 5240 5858 5241 case 175: 5859 5860 /* Line 1806 of yacc.c */ 5861 #line 827 "parser.yy" 5862 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5242 #line 826 "parser.yy" /* yacc.c:1646 */ 5243 { (yyval.sn) = (yyvsp[-1].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[0].sn) ) ) ); } 5244 #line 5245 "Parser/parser.cc" /* yacc.c:1646 */ 5863 5245 break; 5864 5246 5865 5247 case 176: 5866 5867 /* Line 1806 of yacc.c */ 5868 #line 829 "parser.yy" 5869 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); } 5248 #line 828 "parser.yy" /* yacc.c:1646 */ 5249 { (yyval.sn) = (StatementNode *)( (yyvsp[-2].sn)->set_last( (yyvsp[-1].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[0].sn) ) ) ) ) ); } 5250 #line 5251 "Parser/parser.cc" /* yacc.c:1646 */ 5870 5251 break; 5871 5252 5872 5253 case 177: 5873 5874 /* Line 1806 of yacc.c */ 5875 #line 834 "parser.yy" 5876 { (yyval.sn) = nullptr; } 5254 #line 833 "parser.yy" /* yacc.c:1646 */ 5255 { (yyval.sn) = 0; } 5256 #line 5257 "Parser/parser.cc" /* yacc.c:1646 */ 5877 5257 break; 5878 5258 5879 5259 case 179: 5880 5881 /* Line 1806 of yacc.c */ 5882 #line 840 "parser.yy" 5883 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5260 #line 839 "parser.yy" /* yacc.c:1646 */ 5261 { (yyval.sn) = (yyvsp[-1].sn)->append_last_case( (yyvsp[0].sn) ); } 5262 #line 5263 "Parser/parser.cc" /* yacc.c:1646 */ 5884 5263 break; 5885 5264 5886 5265 case 180: 5887 5888 /* Line 1806 of yacc.c */ 5889 #line 842 "parser.yy" 5890 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); } 5266 #line 841 "parser.yy" /* yacc.c:1646 */ 5267 { (yyval.sn) = (yyvsp[-2].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[-1].sn)->set_last( (yyvsp[0].sn) ) ) ) ); } 5268 #line 5269 "Parser/parser.cc" /* yacc.c:1646 */ 5891 5269 break; 5892 5270 5893 5271 case 181: 5894 5895 /* Line 1806 of yacc.c */ 5896 #line 844 "parser.yy" 5897 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5272 #line 843 "parser.yy" /* yacc.c:1646 */ 5273 { (yyval.sn) = (StatementNode *)( (yyvsp[-2].sn)->set_last( (yyvsp[-1].sn)->append_last_case( (yyvsp[0].sn) ))); } 5274 #line 5275 "Parser/parser.cc" /* yacc.c:1646 */ 5898 5275 break; 5899 5276 5900 5277 case 182: 5901 5902 /* Line 1806 of yacc.c */ 5903 #line 846 "parser.yy" 5904 { (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) ) ) ) ) ) ); } 5278 #line 845 "parser.yy" /* yacc.c:1646 */ 5279 { (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) ) ) ) ) ) ); } 5280 #line 5281 "Parser/parser.cc" /* yacc.c:1646 */ 5905 5281 break; 5906 5282 5907 5283 case 183: 5908 5909 /* Line 1806 of yacc.c */ 5910 #line 851 "parser.yy" 5284 #line 850 "parser.yy" /* yacc.c:1646 */ 5911 5285 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5286 #line 5287 "Parser/parser.cc" /* yacc.c:1646 */ 5912 5287 break; 5913 5288 5914 5289 case 185: 5915 5916 /* Line 1806 of yacc.c */ 5917 #line 857 "parser.yy" 5918 { (yyval.sn) = nullptr; } 5290 #line 856 "parser.yy" /* yacc.c:1646 */ 5291 { (yyval.sn) = 0; } 5292 #line 5293 "Parser/parser.cc" /* yacc.c:1646 */ 5919 5293 break; 5920 5294 5921 5295 case 186: 5922 5923 /* Line 1806 of yacc.c */ 5924 #line 859 "parser.yy" 5925 { (yyval.sn) = nullptr; } 5296 #line 858 "parser.yy" /* yacc.c:1646 */ 5297 { (yyval.sn) = 0; } 5298 #line 5299 "Parser/parser.cc" /* yacc.c:1646 */ 5926 5299 break; 5927 5300 5928 5301 case 187: 5929 5930 /* Line 1806 of yacc.c */ 5931 #line 864 "parser.yy" 5932 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5302 #line 863 "parser.yy" /* yacc.c:1646 */ 5303 { (yyval.sn) = new StatementNode( build_while( (yyvsp[-2].en), (yyvsp[0].sn) ) ); } 5304 #line 5305 "Parser/parser.cc" /* yacc.c:1646 */ 5933 5305 break; 5934 5306 5935 5307 case 188: 5936 5937 /* Line 1806 of yacc.c */ 5938 #line 866 "parser.yy" 5939 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true ) ); } 5308 #line 865 "parser.yy" /* yacc.c:1646 */ 5309 { (yyval.sn) = new StatementNode( build_while( (yyvsp[-2].en), (yyvsp[-5].sn), true ) ); } 5310 #line 5311 "Parser/parser.cc" /* yacc.c:1646 */ 5940 5311 break; 5941 5312 5942 5313 case 189: 5943 5944 /* Line 1806 of yacc.c */ 5945 #line 868 "parser.yy" 5946 { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); } 5314 #line 867 "parser.yy" /* yacc.c:1646 */ 5315 { (yyval.sn) = new StatementNode( build_for( (yyvsp[-2].fctl), (yyvsp[0].sn) ) ); } 5316 #line 5317 "Parser/parser.cc" /* yacc.c:1646 */ 5947 5317 break; 5948 5318 5949 5319 case 190: 5950 5951 /* Line 1806 of yacc.c */ 5952 #line 873 "parser.yy" 5953 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 5320 #line 872 "parser.yy" /* yacc.c:1646 */ 5321 { (yyval.fctl) = new ForCtl( (yyvsp[-5].en), (yyvsp[-2].en), (yyvsp[0].en) ); } 5322 #line 5323 "Parser/parser.cc" /* yacc.c:1646 */ 5954 5323 break; 5955 5324 5956 5325 case 191: 5957 5958 /* Line 1806 of yacc.c */ 5959 #line 875 "parser.yy" 5960 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5326 #line 874 "parser.yy" /* yacc.c:1646 */ 5327 { (yyval.fctl) = new ForCtl( (yyvsp[-3].decl), (yyvsp[-2].en), (yyvsp[0].en) ); } 5328 #line 5329 "Parser/parser.cc" /* yacc.c:1646 */ 5961 5329 break; 5962 5330 5963 5331 case 192: 5964 5965 /* Line 1806 of yacc.c */ 5966 #line 880 "parser.yy" 5967 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); } 5332 #line 879 "parser.yy" /* yacc.c:1646 */ 5333 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[-1].tok), BranchStmt::Goto ) ); } 5334 #line 5335 "Parser/parser.cc" /* yacc.c:1646 */ 5968 5335 break; 5969 5336 5970 5337 case 193: 5971 5972 /* Line 1806 of yacc.c */ 5973 #line 884 "parser.yy" 5974 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); } 5338 #line 883 "parser.yy" /* yacc.c:1646 */ 5339 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[-1].en) ) ); } 5340 #line 5341 "Parser/parser.cc" /* yacc.c:1646 */ 5975 5341 break; 5976 5342 5977 5343 case 194: 5978 5979 /* Line 1806 of yacc.c */ 5980 #line 887 "parser.yy" 5344 #line 886 "parser.yy" /* yacc.c:1646 */ 5981 5345 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); } 5346 #line 5347 "Parser/parser.cc" /* yacc.c:1646 */ 5982 5347 break; 5983 5348 5984 5349 case 195: 5985 5986 /* Line 1806 of yacc.c */ 5987 #line 891 "parser.yy" 5988 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); } 5350 #line 890 "parser.yy" /* yacc.c:1646 */ 5351 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[-1].tok), BranchStmt::Continue ) ); } 5352 #line 5353 "Parser/parser.cc" /* yacc.c:1646 */ 5989 5353 break; 5990 5354 5991 5355 case 196: 5992 5993 /* Line 1806 of yacc.c */ 5994 #line 894 "parser.yy" 5356 #line 893 "parser.yy" /* yacc.c:1646 */ 5995 5357 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5358 #line 5359 "Parser/parser.cc" /* yacc.c:1646 */ 5996 5359 break; 5997 5360 5998 5361 case 197: 5999 6000 /* Line 1806 of yacc.c */ 6001 #line 898 "parser.yy" 6002 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); } 5362 #line 897 "parser.yy" /* yacc.c:1646 */ 5363 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[-1].tok), BranchStmt::Break ) ); } 5364 #line 5365 "Parser/parser.cc" /* yacc.c:1646 */ 6003 5365 break; 6004 5366 6005 5367 case 198: 6006 6007 /* Line 1806 of yacc.c */ 6008 #line 900 "parser.yy" 6009 { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); } 5368 #line 899 "parser.yy" /* yacc.c:1646 */ 5369 { (yyval.sn) = new StatementNode( build_return( (yyvsp[-1].en) ) ); } 5370 #line 5371 "Parser/parser.cc" /* yacc.c:1646 */ 6010 5371 break; 6011 5372 6012 5373 case 199: 6013 6014 /* Line 1806 of yacc.c */ 6015 #line 902 "parser.yy" 6016 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 5374 #line 901 "parser.yy" /* yacc.c:1646 */ 5375 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[-1].en) ) ); } 5376 #line 5377 "Parser/parser.cc" /* yacc.c:1646 */ 6017 5377 break; 6018 5378 6019 5379 case 200: 6020 6021 /* Line 1806 of yacc.c */ 6022 #line 904 "parser.yy" 6023 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 5380 #line 903 "parser.yy" /* yacc.c:1646 */ 5381 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[-1].en) ) ); } 5382 #line 5383 "Parser/parser.cc" /* yacc.c:1646 */ 6024 5383 break; 6025 5384 6026 5385 case 201: 6027 6028 /* Line 1806 of yacc.c */ 6029 #line 906 "parser.yy" 6030 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); } 5386 #line 905 "parser.yy" /* yacc.c:1646 */ 5387 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[-3].en) ) ); } 5388 #line 5389 "Parser/parser.cc" /* yacc.c:1646 */ 6031 5389 break; 6032 5390 6033 5391 case 202: 6034 6035 /* Line 1806 of yacc.c */ 6036 #line 911 "parser.yy" 6037 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); } 5392 #line 910 "parser.yy" /* yacc.c:1646 */ 5393 { (yyval.sn) = new StatementNode( build_try( (yyvsp[-1].sn), (yyvsp[0].sn), 0 ) ); } 5394 #line 5395 "Parser/parser.cc" /* yacc.c:1646 */ 6038 5395 break; 6039 5396 6040 5397 case 203: 6041 6042 /* Line 1806 of yacc.c */ 6043 #line 913 "parser.yy" 6044 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); } 5398 #line 912 "parser.yy" /* yacc.c:1646 */ 5399 { (yyval.sn) = new StatementNode( build_try( (yyvsp[-1].sn), 0, (yyvsp[0].sn) ) ); } 5400 #line 5401 "Parser/parser.cc" /* yacc.c:1646 */ 6045 5401 break; 6046 5402 6047 5403 case 204: 6048 6049 /* Line 1806 of yacc.c */ 6050 #line 915 "parser.yy" 6051 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); } 5404 #line 914 "parser.yy" /* yacc.c:1646 */ 5405 { (yyval.sn) = new StatementNode( build_try( (yyvsp[-2].sn), (yyvsp[-1].sn), (yyvsp[0].sn) ) ); } 5406 #line 5407 "Parser/parser.cc" /* yacc.c:1646 */ 6052 5407 break; 6053 5408 6054 5409 case 206: 6055 6056 /* Line 1806 of yacc.c */ 6057 #line 922 "parser.yy" 6058 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 5410 #line 921 "parser.yy" /* yacc.c:1646 */ 5411 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ); } 5412 #line 5413 "Parser/parser.cc" /* yacc.c:1646 */ 6059 5413 break; 6060 5414 6061 5415 case 207: 6062 6063 /* Line 1806 of yacc.c */ 6064 #line 924 "parser.yy" 6065 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 5416 #line 923 "parser.yy" /* yacc.c:1646 */ 5417 { (yyval.sn) = (StatementNode *)(yyvsp[-5].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ) ); } 5418 #line 5419 "Parser/parser.cc" /* yacc.c:1646 */ 6066 5419 break; 6067 5420 6068 5421 case 208: 6069 6070 /* Line 1806 of yacc.c */ 6071 #line 926 "parser.yy" 6072 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 5422 #line 925 "parser.yy" /* yacc.c:1646 */ 5423 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ); } 5424 #line 5425 "Parser/parser.cc" /* yacc.c:1646 */ 6073 5425 break; 6074 5426 6075 5427 case 209: 6076 6077 /* Line 1806 of yacc.c */ 6078 #line 928 "parser.yy" 6079 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 5428 #line 927 "parser.yy" /* yacc.c:1646 */ 5429 { (yyval.sn) = (StatementNode *)(yyvsp[-5].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ) ); } 5430 #line 5431 "Parser/parser.cc" /* yacc.c:1646 */ 6080 5431 break; 6081 5432 6082 5433 case 210: 6083 6084 /* Line 1806 of yacc.c */ 6085 #line 933 "parser.yy" 6086 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 5434 #line 932 "parser.yy" /* yacc.c:1646 */ 5435 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ); } 5436 #line 5437 "Parser/parser.cc" /* yacc.c:1646 */ 6087 5437 break; 6088 5438 6089 5439 case 211: 6090 6091 /* Line 1806 of yacc.c */ 6092 #line 935 "parser.yy" 6093 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 5440 #line 934 "parser.yy" /* yacc.c:1646 */ 5441 { (yyval.sn) = (StatementNode *)(yyvsp[-9].sn)->set_last( new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ) ); } 5442 #line 5443 "Parser/parser.cc" /* yacc.c:1646 */ 6094 5443 break; 6095 5444 6096 5445 case 212: 6097 6098 /* Line 1806 of yacc.c */ 6099 #line 937 "parser.yy" 6100 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 5446 #line 936 "parser.yy" /* yacc.c:1646 */ 5447 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ); } 5448 #line 5449 "Parser/parser.cc" /* yacc.c:1646 */ 6101 5449 break; 6102 5450 6103 5451 case 213: 6104 6105 /* Line 1806 of yacc.c */ 6106 #line 939 "parser.yy" 6107 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 5452 #line 938 "parser.yy" /* yacc.c:1646 */ 5453 { (yyval.sn) = (StatementNode *)(yyvsp[-9].sn)->set_last( new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ) ); } 5454 #line 5455 "Parser/parser.cc" /* yacc.c:1646 */ 6108 5455 break; 6109 5456 6110 5457 case 214: 6111 6112 /* Line 1806 of yacc.c */ 6113 #line 944 "parser.yy" 6114 { 6115 (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) ); 5458 #line 943 "parser.yy" /* yacc.c:1646 */ 5459 { 5460 (yyval.sn) = new StatementNode( build_finally( (yyvsp[0].sn) ) ); 6116 5461 } 5462 #line 5463 "Parser/parser.cc" /* yacc.c:1646 */ 6117 5463 break; 6118 5464 6119 5465 case 216: 6120 6121 /* Line 1806 of yacc.c */ 6122 #line 957 "parser.yy" 5466 #line 956 "parser.yy" /* yacc.c:1646 */ 6123 5467 { 6124 5468 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6125 (yyval.decl) = (yyvsp[ (2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) );5469 (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); 6126 5470 } 5471 #line 5472 "Parser/parser.cc" /* yacc.c:1646 */ 6127 5472 break; 6128 5473 6129 5474 case 217: 6130 6131 /* Line 1806 of yacc.c */ 6132 #line 962 "parser.yy" 6133 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 5475 #line 961 "parser.yy" /* yacc.c:1646 */ 5476 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 5477 #line 5478 "Parser/parser.cc" /* yacc.c:1646 */ 6134 5478 break; 6135 5479 6136 5480 case 218: 6137 6138 /* Line 1806 of yacc.c */ 6139 #line 964 "parser.yy" 5481 #line 963 "parser.yy" /* yacc.c:1646 */ 6140 5482 { 6141 5483 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6142 (yyval.decl) = (yyvsp[ (1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) );5484 (yyval.decl) = (yyvsp[-1].decl)->addName( (yyvsp[0].tok) ); 6143 5485 } 5486 #line 5487 "Parser/parser.cc" /* yacc.c:1646 */ 6144 5487 break; 6145 5488 6146 5489 case 220: 6147 6148 /* Line 1806 of yacc.c */ 6149 #line 973 "parser.yy" 6150 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); } 5490 #line 972 "parser.yy" /* yacc.c:1646 */ 5491 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-4].flag), (yyvsp[-2].constant), 0 ) ); } 5492 #line 5493 "Parser/parser.cc" /* yacc.c:1646 */ 6151 5493 break; 6152 5494 6153 5495 case 221: 6154 6155 /* Line 1806 of yacc.c */ 6156 #line 975 "parser.yy" 6157 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); } 5496 #line 974 "parser.yy" /* yacc.c:1646 */ 5497 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-6].flag), (yyvsp[-4].constant), (yyvsp[-2].en) ) ); } 5498 #line 5499 "Parser/parser.cc" /* yacc.c:1646 */ 6158 5499 break; 6159 5500 6160 5501 case 222: 6161 6162 /* Line 1806 of yacc.c */ 6163 #line 977 "parser.yy" 6164 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); } 5502 #line 976 "parser.yy" /* yacc.c:1646 */ 5503 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-8].flag), (yyvsp[-6].constant), (yyvsp[-4].en), (yyvsp[-2].en) ) ); } 5504 #line 5505 "Parser/parser.cc" /* yacc.c:1646 */ 6165 5505 break; 6166 5506 6167 5507 case 223: 6168 6169 /* Line 1806 of yacc.c */ 6170 #line 979 "parser.yy" 6171 { (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) ) ); } 5508 #line 978 "parser.yy" /* yacc.c:1646 */ 5509 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-10].flag), (yyvsp[-8].constant), (yyvsp[-6].en), (yyvsp[-4].en), (yyvsp[-2].en) ) ); } 5510 #line 5511 "Parser/parser.cc" /* yacc.c:1646 */ 6172 5511 break; 6173 5512 6174 5513 case 224: 6175 6176 /* Line 1806 of yacc.c */ 6177 #line 981 "parser.yy" 6178 { (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) ) ); } 5514 #line 980 "parser.yy" /* yacc.c:1646 */ 5515 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-12].flag), (yyvsp[-9].constant), 0, (yyvsp[-6].en), (yyvsp[-4].en), (yyvsp[-2].label) ) ); } 5516 #line 5517 "Parser/parser.cc" /* yacc.c:1646 */ 6179 5517 break; 6180 5518 6181 5519 case 225: 6182 6183 /* Line 1806 of yacc.c */ 6184 #line 986 "parser.yy" 5520 #line 985 "parser.yy" /* yacc.c:1646 */ 6185 5521 { (yyval.flag) = false; } 5522 #line 5523 "Parser/parser.cc" /* yacc.c:1646 */ 6186 5523 break; 6187 5524 6188 5525 case 226: 6189 6190 /* Line 1806 of yacc.c */ 6191 #line 988 "parser.yy" 5526 #line 987 "parser.yy" /* yacc.c:1646 */ 6192 5527 { (yyval.flag) = true; } 5528 #line 5529 "Parser/parser.cc" /* yacc.c:1646 */ 6193 5529 break; 6194 5530 6195 5531 case 227: 6196 6197 /* Line 1806 of yacc.c */ 6198 #line 993 "parser.yy" 6199 { (yyval.en) = nullptr; } 5532 #line 992 "parser.yy" /* yacc.c:1646 */ 5533 { (yyval.en) = 0; } 5534 #line 5535 "Parser/parser.cc" /* yacc.c:1646 */ 6200 5535 break; 6201 5536 6202 5537 case 230: 6203 6204 /* Line 1806 of yacc.c */ 6205 #line 1000 "parser.yy" 6206 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5538 #line 999 "parser.yy" /* yacc.c:1646 */ 5539 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( (yyvsp[0].en) ); } 5540 #line 5541 "Parser/parser.cc" /* yacc.c:1646 */ 6207 5541 break; 6208 5542 6209 5543 case 231: 6210 6211 /* Line 1806 of yacc.c */ 6212 #line 1005 "parser.yy" 6213 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 5544 #line 1004 "parser.yy" /* yacc.c:1646 */ 5545 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[-3].constant), (yyvsp[-1].en) ) ); } 5546 #line 5547 "Parser/parser.cc" /* yacc.c:1646 */ 6214 5547 break; 6215 5548 6216 5549 case 232: 6217 6218 /* Line 1806 of yacc.c */ 6219 #line 1007 "parser.yy" 6220 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 5550 #line 1006 "parser.yy" /* yacc.c:1646 */ 5551 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[-5].en), (yyvsp[-3].constant), (yyvsp[-1].en) ) ); } 5552 #line 5553 "Parser/parser.cc" /* yacc.c:1646 */ 6221 5553 break; 6222 5554 6223 5555 case 233: 6224 6225 /* Line 1806 of yacc.c */ 6226 #line 1012 "parser.yy" 6227 { (yyval.en) = nullptr; } 5556 #line 1011 "parser.yy" /* yacc.c:1646 */ 5557 { (yyval.en) = 0; } 5558 #line 5559 "Parser/parser.cc" /* yacc.c:1646 */ 6228 5559 break; 6229 5560 6230 5561 case 234: 6231 6232 /* Line 1806 of yacc.c */ 6233 #line 1014 "parser.yy" 6234 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 5562 #line 1013 "parser.yy" /* yacc.c:1646 */ 5563 { (yyval.en) = new ExpressionNode( (yyvsp[0].constant) ); } 5564 #line 5565 "Parser/parser.cc" /* yacc.c:1646 */ 6235 5565 break; 6236 5566 6237 5567 case 235: 6238 6239 /* Line 1806 of yacc.c */ 6240 #line 1016 "parser.yy" 6241 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 5568 #line 1015 "parser.yy" /* yacc.c:1646 */ 5569 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( new ExpressionNode( (yyvsp[0].constant) ) ); } 5570 #line 5571 "Parser/parser.cc" /* yacc.c:1646 */ 6242 5571 break; 6243 5572 6244 5573 case 236: 6245 6246 /* Line 1806 of yacc.c */ 6247 #line 1021 "parser.yy" 6248 { 6249 (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) ); 6250 delete (yyvsp[(1) - (1)].tok); // allocated by lexer 5574 #line 1020 "parser.yy" /* yacc.c:1646 */ 5575 { 5576 (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[0].tok) ); 5577 delete (yyvsp[0].tok); // allocated by lexer 6251 5578 } 5579 #line 5580 "Parser/parser.cc" /* yacc.c:1646 */ 6252 5580 break; 6253 5581 6254 5582 case 237: 6255 6256 /* Line 1806 of yacc.c */ 6257 #line 1026 "parser.yy" 6258 { 6259 (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) ); 6260 delete (yyvsp[(3) - (3)].tok); // allocated by lexer 5583 #line 1025 "parser.yy" /* yacc.c:1646 */ 5584 { 5585 (yyval.label) = (yyvsp[-2].label); (yyvsp[-2].label)->labels.push_back( *(yyvsp[0].tok) ); 5586 delete (yyvsp[0].tok); // allocated by lexer 6261 5587 } 5588 #line 5589 "Parser/parser.cc" /* yacc.c:1646 */ 6262 5589 break; 6263 5590 6264 5591 case 238: 6265 6266 /* Line 1806 of yacc.c */ 6267 #line 1036 "parser.yy" 6268 { (yyval.decl) = nullptr; } 5592 #line 1035 "parser.yy" /* yacc.c:1646 */ 5593 { (yyval.decl) = 0; } 5594 #line 5595 "Parser/parser.cc" /* yacc.c:1646 */ 6269 5595 break; 6270 5596 6271 5597 case 241: 6272 6273 /* Line 1806 of yacc.c */ 6274 #line 1043 "parser.yy" 6275 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 5598 #line 1042 "parser.yy" /* yacc.c:1646 */ 5599 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ); } 5600 #line 5601 "Parser/parser.cc" /* yacc.c:1646 */ 6276 5601 break; 6277 5602 6278 5603 case 242: 6279 6280 /* Line 1806 of yacc.c */ 6281 #line 1048 "parser.yy" 6282 { (yyval.decl) = nullptr; } 5604 #line 1047 "parser.yy" /* yacc.c:1646 */ 5605 { (yyval.decl) = 0; } 5606 #line 5607 "Parser/parser.cc" /* yacc.c:1646 */ 6283 5607 break; 6284 5608 6285 5609 case 245: 6286 6287 /* Line 1806 of yacc.c */ 6288 #line 1055 "parser.yy" 6289 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 5610 #line 1054 "parser.yy" /* yacc.c:1646 */ 5611 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ); } 5612 #line 5613 "Parser/parser.cc" /* yacc.c:1646 */ 6290 5613 break; 6291 5614 6292 5615 case 250: 6293 6294 /* Line 1806 of yacc.c */ 6295 #line 1069 "parser.yy" 5616 #line 1068 "parser.yy" /* yacc.c:1646 */ 6296 5617 {} 5618 #line 5619 "Parser/parser.cc" /* yacc.c:1646 */ 6297 5619 break; 6298 5620 6299 5621 case 251: 6300 6301 /* Line 1806 of yacc.c */ 6302 #line 1070 "parser.yy" 5622 #line 1069 "parser.yy" /* yacc.c:1646 */ 6303 5623 {} 5624 #line 5625 "Parser/parser.cc" /* yacc.c:1646 */ 6304 5625 break; 6305 5626 6306 5627 case 259: 6307 6308 /* Line 1806 of yacc.c */ 6309 #line 1099 "parser.yy" 5628 #line 1098 "parser.yy" /* yacc.c:1646 */ 6310 5629 { 6311 5630 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6312 (yyval.decl) = (yyvsp[ (1) - (2)].decl)->addInitializer( (yyvsp[(2) - (2)].in) );5631 (yyval.decl) = (yyvsp[-1].decl)->addInitializer( (yyvsp[0].in) ); 6313 5632 } 5633 #line 5634 "Parser/parser.cc" /* yacc.c:1646 */ 6314 5634 break; 6315 5635 6316 5636 case 260: 6317 6318 /* Line 1806 of yacc.c */ 6319 #line 1106 "parser.yy" 5637 #line 1105 "parser.yy" /* yacc.c:1646 */ 6320 5638 { 6321 5639 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6322 (yyval.decl) = (yyvsp[ (2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].in) );;5640 (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[-2].decl) )->addInitializer( (yyvsp[0].in) );; 6323 5641 } 5642 #line 5643 "Parser/parser.cc" /* yacc.c:1646 */ 6324 5643 break; 6325 5644 6326 5645 case 261: 6327 6328 /* Line 1806 of yacc.c */ 6329 #line 1111 "parser.yy" 6330 { 6331 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); 6332 (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) )->addInitializer( (yyvsp[(6) - (6)].in) ) ); 5646 #line 1110 "parser.yy" /* yacc.c:1646 */ 5647 { 5648 typedefTable.addToEnclosingScope( *(yyvsp[-1].tok), TypedefTable::ID ); 5649 (yyval.decl) = (yyvsp[-5].decl)->appendList( (yyvsp[-5].decl)->cloneType( (yyvsp[-1].tok) )->addInitializer( (yyvsp[0].in) ) ); 6333 5650 } 5651 #line 5652 "Parser/parser.cc" /* yacc.c:1646 */ 6334 5652 break; 6335 5653 6336 5654 case 262: 6337 6338 /* Line 1806 of yacc.c */ 6339 #line 1121 "parser.yy" 6340 { 6341 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); 6342 (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) )->addAsmName( (yyvsp[(3) - (3)].constant) ); 5655 #line 1120 "parser.yy" /* yacc.c:1646 */ 5656 { 5657 typedefTable.setNextIdentifier( *(yyvsp[-1].tok) ); 5658 (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) ); 6343 5659 } 5660 #line 5661 "Parser/parser.cc" /* yacc.c:1646 */ 6344 5661 break; 6345 5662 6346 5663 case 263: 6347 6348 /* Line 1806 of yacc.c */ 6349 #line 1126 "parser.yy" 6350 { 6351 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); 6352 (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) )->addAsmName( (yyvsp[(3) - (3)].constant) ); 5664 #line 1125 "parser.yy" /* yacc.c:1646 */ 5665 { 5666 typedefTable.setNextIdentifier( *(yyvsp[-1].tok) ); 5667 (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) ); 6353 5668 } 5669 #line 5670 "Parser/parser.cc" /* yacc.c:1646 */ 6354 5670 break; 6355 5671 6356 5672 case 264: 6357 6358 /* Line 1806 of yacc.c */ 6359 #line 1131 "parser.yy" 6360 { 6361 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); 6362 (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addName( (yyvsp[(3) - (4)].tok) )->addAsmName( (yyvsp[(4) - (4)].constant) ); 5673 #line 1130 "parser.yy" /* yacc.c:1646 */ 5674 { 5675 typedefTable.setNextIdentifier( *(yyvsp[-1].tok) ); 5676 (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-3].decl) )->addName( (yyvsp[-1].tok) ); 6363 5677 } 5678 #line 5679 "Parser/parser.cc" /* yacc.c:1646 */ 6364 5679 break; 6365 5680 6366 5681 case 265: 6367 6368 /* Line 1806 of yacc.c */ 6369 #line 1139 "parser.yy" 5682 #line 1138 "parser.yy" /* yacc.c:1646 */ 6370 5683 { 6371 5684 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6372 (yyval.decl) = (yyvsp[ (1) - (1)].decl);5685 (yyval.decl) = (yyvsp[0].decl); 6373 5686 } 5687 #line 5688 "Parser/parser.cc" /* yacc.c:1646 */ 6374 5688 break; 6375 5689 6376 5690 case 266: 6377 6378 /* Line 1806 of yacc.c */ 6379 #line 1144 "parser.yy" 5691 #line 1143 "parser.yy" /* yacc.c:1646 */ 6380 5692 { 6381 5693 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6382 (yyval.decl) = (yyvsp[ (2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) );5694 (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); 6383 5695 } 5696 #line 5697 "Parser/parser.cc" /* yacc.c:1646 */ 6384 5697 break; 6385 5698 6386 5699 case 267: 6387 6388 /* Line 1806 of yacc.c */ 6389 #line 1149 "parser.yy" 5700 #line 1148 "parser.yy" /* yacc.c:1646 */ 6390 5701 { 6391 5702 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6392 (yyval.decl) = (yyvsp[ (2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) );5703 (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); 6393 5704 } 5705 #line 5706 "Parser/parser.cc" /* yacc.c:1646 */ 6394 5706 break; 6395 5707 6396 5708 case 268: 6397 6398 /* Line 1806 of yacc.c */ 6399 #line 1154 "parser.yy" 5709 #line 1153 "parser.yy" /* yacc.c:1646 */ 6400 5710 { 6401 5711 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6402 (yyval.decl) = (yyvsp[ (3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(2) - (3)].decl) );5712 (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-2].decl) )->addQualifiers( (yyvsp[-1].decl) ); 6403 5713 } 5714 #line 5715 "Parser/parser.cc" /* yacc.c:1646 */ 6404 5715 break; 6405 5716 6406 5717 case 269: 6407 6408 /* Line 1806 of yacc.c */ 6409 #line 1159 "parser.yy" 6410 { 6411 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); 6412 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) ); 5718 #line 1158 "parser.yy" /* yacc.c:1646 */ 5719 { 5720 typedefTable.addToEnclosingScope( *(yyvsp[0].tok), TypedefTable::ID ); 5721 (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[-4].decl)->cloneType( (yyvsp[0].tok) ) ); 6413 5722 } 5723 #line 5724 "Parser/parser.cc" /* yacc.c:1646 */ 6414 5724 break; 6415 5725 6416 5726 case 270: 6417 6418 /* Line 1806 of yacc.c */ 6419 #line 1190 "parser.yy" 6420 { 6421 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); 5727 #line 1189 "parser.yy" /* yacc.c:1646 */ 5728 { 5729 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[-5].tok), (yyvsp[-6].decl), (yyvsp[-2].decl), 0, true ); 6422 5730 } 5731 #line 5732 "Parser/parser.cc" /* yacc.c:1646 */ 6423 5732 break; 6424 5733 6425 5734 case 271: 6426 6427 /* Line 1806 of yacc.c */ 6428 #line 1194 "parser.yy" 6429 { 6430 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); 5735 #line 1193 "parser.yy" /* yacc.c:1646 */ 5736 { 5737 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[-5].tok), (yyvsp[-6].decl), (yyvsp[-2].decl), 0, true ); 6431 5738 } 5739 #line 5740 "Parser/parser.cc" /* yacc.c:1646 */ 6432 5740 break; 6433 5741 6434 5742 case 272: 6435 6436 /* Line 1806 of yacc.c */ 6437 #line 1201 "parser.yy" 6438 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 5743 #line 1200 "parser.yy" /* yacc.c:1646 */ 5744 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-2].decl) ); } 5745 #line 5746 "Parser/parser.cc" /* yacc.c:1646 */ 6439 5746 break; 6440 5747 6441 5748 case 273: 6442 6443 /* Line 1806 of yacc.c */ 6444 #line 1205 "parser.yy" 6445 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 5749 #line 1204 "parser.yy" /* yacc.c:1646 */ 5750 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-6].decl)->appendList( (yyvsp[-2].decl) ) ); } 5751 #line 5752 "Parser/parser.cc" /* yacc.c:1646 */ 6446 5752 break; 6447 5753 6448 5754 case 274: 6449 6450 /* Line 1806 of yacc.c */ 6451 #line 1210 "parser.yy" 5755 #line 1209 "parser.yy" /* yacc.c:1646 */ 6452 5756 { 6453 5757 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6454 (yyval.decl) = (yyvsp[ (2) - (2)].decl)->addTypedef();5758 (yyval.decl) = (yyvsp[0].decl)->addTypedef(); 6455 5759 } 5760 #line 5761 "Parser/parser.cc" /* yacc.c:1646 */ 6456 5761 break; 6457 5762 6458 5763 case 275: 6459 6460 /* Line 1806 of yacc.c */ 6461 #line 1215 "parser.yy" 5764 #line 1214 "parser.yy" /* yacc.c:1646 */ 6462 5765 { 6463 5766 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6464 (yyval.decl) = (yyvsp[ (2) - (2)].decl)->addTypedef();5767 (yyval.decl) = (yyvsp[0].decl)->addTypedef(); 6465 5768 } 5769 #line 5770 "Parser/parser.cc" /* yacc.c:1646 */ 6466 5770 break; 6467 5771 6468 5772 case 276: 6469 6470 /* Line 1806 of yacc.c */ 6471 #line 1220 "parser.yy" 6472 { 6473 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); 6474 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) ); 5773 #line 1219 "parser.yy" /* yacc.c:1646 */ 5774 { 5775 typedefTable.addToEnclosingScope( *(yyvsp[0].tok), TypedefTable::TD ); 5776 (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[-4].decl)->cloneType( (yyvsp[0].tok) ) ); 6475 5777 } 5778 #line 5779 "Parser/parser.cc" /* yacc.c:1646 */ 6476 5779 break; 6477 5780 6478 5781 case 277: 6479 6480 /* Line 1806 of yacc.c */ 6481 #line 1231 "parser.yy" 5782 #line 1230 "parser.yy" /* yacc.c:1646 */ 6482 5783 { 6483 5784 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6484 (yyval.decl) = (yyvsp[ (3) - (3)].decl)->addType( (yyvsp[(2) - (3)].decl) )->addTypedef();5785 (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) )->addTypedef(); 6485 5786 } 5787 #line 5788 "Parser/parser.cc" /* yacc.c:1646 */ 6486 5788 break; 6487 5789 6488 5790 case 278: 6489 6490 /* Line 1806 of yacc.c */ 6491 #line 1236 "parser.yy" 5791 #line 1235 "parser.yy" /* yacc.c:1646 */ 6492 5792 { 6493 5793 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6494 (yyval.decl) = (yyvsp[ (1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneBaseType( (yyvsp[(5) - (5)].decl) )->addTypedef() );5794 (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[-4].decl)->cloneBaseType( (yyvsp[0].decl) )->addTypedef() ); 6495 5795 } 5796 #line 5797 "Parser/parser.cc" /* yacc.c:1646 */ 6496 5797 break; 6497 5798 6498 5799 case 279: 6499 6500 /* Line 1806 of yacc.c */ 6501 #line 1241 "parser.yy" 5800 #line 1240 "parser.yy" /* yacc.c:1646 */ 6502 5801 { 6503 5802 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6504 (yyval.decl) = (yyvsp[ (4) - (4)].decl)->addType( (yyvsp[(3) - (4)].decl) )->addQualifiers( (yyvsp[(1) - (4)].decl) )->addTypedef();5803 (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[-3].decl) )->addTypedef(); 6505 5804 } 5805 #line 5806 "Parser/parser.cc" /* yacc.c:1646 */ 6506 5806 break; 6507 5807 6508 5808 case 280: 6509 6510 /* Line 1806 of yacc.c */ 6511 #line 1246 "parser.yy" 5809 #line 1245 "parser.yy" /* yacc.c:1646 */ 6512 5810 { 6513 5811 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6514 (yyval.decl) = (yyvsp[ (3) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addTypedef();5812 (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-2].decl) )->addTypedef(); 6515 5813 } 5814 #line 5815 "Parser/parser.cc" /* yacc.c:1646 */ 6516 5815 break; 6517 5816 6518 5817 case 281: 6519 6520 /* Line 1806 of yacc.c */ 6521 #line 1251 "parser.yy" 5818 #line 1250 "parser.yy" /* yacc.c:1646 */ 6522 5819 { 6523 5820 typedefTable.addToEnclosingScope( TypedefTable::TD ); 6524 (yyval.decl) = (yyvsp[ (4) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addTypedef()->addType( (yyvsp[(1) - (4)].decl) );5821 (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-3].decl) )->addTypedef()->addType( (yyvsp[-3].decl) ); 6525 5822 } 5823 #line 5824 "Parser/parser.cc" /* yacc.c:1646 */ 6526 5824 break; 6527 5825 6528 5826 case 282: 6529 6530 /* Line 1806 of yacc.c */ 6531 #line 1260 "parser.yy" 6532 { 6533 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); 5827 #line 1259 "parser.yy" /* yacc.c:1646 */ 5828 { 5829 typedefTable.addToEnclosingScope( *(yyvsp[-2].tok), TypedefTable::TD ); 6534 5830 (yyval.decl) = DeclarationNode::newName( 0 ); // XXX 6535 5831 } 5832 #line 5833 "Parser/parser.cc" /* yacc.c:1646 */ 6536 5833 break; 6537 5834 6538 5835 case 283: 6539 6540 /* Line 1806 of yacc.c */ 6541 #line 1265 "parser.yy" 6542 { 6543 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); 5836 #line 1264 "parser.yy" /* yacc.c:1646 */ 5837 { 5838 typedefTable.addToEnclosingScope( *(yyvsp[-2].tok), TypedefTable::TD ); 6544 5839 (yyval.decl) = DeclarationNode::newName( 0 ); // XXX 6545 5840 } 5841 #line 5842 "Parser/parser.cc" /* yacc.c:1646 */ 6546 5842 break; 6547 5843 6548 5844 case 288: 6549 6550 /* Line 1806 of yacc.c */ 6551 #line 1282 "parser.yy" 5845 #line 1281 "parser.yy" /* yacc.c:1646 */ 6552 5846 { 6553 5847 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6554 (yyval.decl) = ( (yyvsp[ (2) - (4)].decl)->addType( (yyvsp[(1) - (4)].decl) ))->addAsmName( (yyvsp[(3) - (4)].constant) )->addInitializer( (yyvsp[(4) - (4)].in) );5848 (yyval.decl) = ( (yyvsp[-2].decl)->addType( (yyvsp[-3].decl) ))->addInitializer( (yyvsp[0].in) ); 6555 5849 } 5850 #line 5851 "Parser/parser.cc" /* yacc.c:1646 */ 6556 5851 break; 6557 5852 6558 5853 case 289: 6559 6560 /* Line 1806 of yacc.c */ 6561 #line 1287 "parser.yy" 5854 #line 1286 "parser.yy" /* yacc.c:1646 */ 6562 5855 { 6563 5856 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6564 (yyval.decl) = (yyvsp[ (1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneBaseType( (yyvsp[(4) - (6)].decl)->addAsmName( (yyvsp[(5) - (6)].constant) )->addInitializer( (yyvsp[(6) - (6)].in) ) ) );5857 (yyval.decl) = (yyvsp[-5].decl)->appendList( (yyvsp[-5].decl)->cloneBaseType( (yyvsp[-2].decl)->addInitializer( (yyvsp[0].in) ) ) ); 6565 5858 } 5859 #line 5860 "Parser/parser.cc" /* yacc.c:1646 */ 6566 5860 break; 6567 5861 6568 5862 case 298: 6569 6570 /* Line 1806 of yacc.c */ 6571 #line 1309 "parser.yy" 6572 { (yyval.decl) = nullptr; } 5863 #line 1308 "parser.yy" /* yacc.c:1646 */ 5864 { (yyval.decl) = 0; } 5865 #line 5866 "Parser/parser.cc" /* yacc.c:1646 */ 6573 5866 break; 6574 5867 6575 5868 case 301: 6576 6577 /* Line 1806 of yacc.c */ 6578 #line 1321 "parser.yy" 6579 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 5869 #line 1320 "parser.yy" /* yacc.c:1646 */ 5870 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 5871 #line 5872 "Parser/parser.cc" /* yacc.c:1646 */ 6580 5872 break; 6581 5873 6582 5874 case 304: 6583 6584 /* Line 1806 of yacc.c */ 6585 #line 1332 "parser.yy" 5875 #line 1331 "parser.yy" /* yacc.c:1646 */ 6586 5876 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 5877 #line 5878 "Parser/parser.cc" /* yacc.c:1646 */ 6587 5878 break; 6588 5879 6589 5880 case 305: 6590 6591 /* Line 1806 of yacc.c */ 6592 #line 1334 "parser.yy" 5881 #line 1333 "parser.yy" /* yacc.c:1646 */ 6593 5882 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 5883 #line 5884 "Parser/parser.cc" /* yacc.c:1646 */ 6594 5884 break; 6595 5885 6596 5886 case 306: 6597 6598 /* Line 1806 of yacc.c */ 6599 #line 1336 "parser.yy" 5887 #line 1335 "parser.yy" /* yacc.c:1646 */ 6600 5888 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 5889 #line 5890 "Parser/parser.cc" /* yacc.c:1646 */ 6601 5890 break; 6602 5891 6603 5892 case 307: 6604 6605 /* Line 1806 of yacc.c */ 6606 #line 1338 "parser.yy" 5893 #line 1337 "parser.yy" /* yacc.c:1646 */ 6607 5894 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 5895 #line 5896 "Parser/parser.cc" /* yacc.c:1646 */ 6608 5896 break; 6609 5897 6610 5898 case 308: 6611 6612 /* Line 1806 of yacc.c */ 6613 #line 1340 "parser.yy" 5899 #line 1339 "parser.yy" /* yacc.c:1646 */ 6614 5900 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 5901 #line 5902 "Parser/parser.cc" /* yacc.c:1646 */ 6615 5902 break; 6616 5903 6617 5904 case 309: 6618 6619 /* Line 1806 of yacc.c */ 6620 #line 1342 "parser.yy" 5905 #line 1341 "parser.yy" /* yacc.c:1646 */ 6621 5906 { 6622 5907 typedefTable.enterScope(); 6623 5908 } 5909 #line 5910 "Parser/parser.cc" /* yacc.c:1646 */ 6624 5910 break; 6625 5911 6626 5912 case 310: 6627 6628 /* Line 1806 of yacc.c */ 6629 #line 1346 "parser.yy" 5913 #line 1345 "parser.yy" /* yacc.c:1646 */ 6630 5914 { 6631 5915 typedefTable.leaveScope(); 6632 (yyval.decl) = DeclarationNode::newForall( (yyvsp[ (4) - (5)].decl) );5916 (yyval.decl) = DeclarationNode::newForall( (yyvsp[-1].decl) ); 6633 5917 } 5918 #line 5919 "Parser/parser.cc" /* yacc.c:1646 */ 6634 5919 break; 6635 5920 6636 5921 case 312: 6637 6638 /* Line 1806 of yacc.c */ 6639 #line 1355 "parser.yy" 6640 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 5922 #line 1354 "parser.yy" /* yacc.c:1646 */ 5923 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 5924 #line 5925 "Parser/parser.cc" /* yacc.c:1646 */ 6641 5925 break; 6642 5926 6643 5927 case 313: 6644 6645 /* Line 1806 of yacc.c */ 6646 #line 1357 "parser.yy" 6647 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 5928 #line 1356 "parser.yy" /* yacc.c:1646 */ 5929 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 5930 #line 5931 "Parser/parser.cc" /* yacc.c:1646 */ 6648 5931 break; 6649 5932 6650 5933 case 315: 6651 6652 /* Line 1806 of yacc.c */ 6653 #line 1368 "parser.yy" 6654 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 5934 #line 1367 "parser.yy" /* yacc.c:1646 */ 5935 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 5936 #line 5937 "Parser/parser.cc" /* yacc.c:1646 */ 6655 5937 break; 6656 5938 6657 5939 case 316: 6658 6659 /* Line 1806 of yacc.c */ 6660 #line 1373 "parser.yy" 5940 #line 1372 "parser.yy" /* yacc.c:1646 */ 6661 5941 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 5942 #line 5943 "Parser/parser.cc" /* yacc.c:1646 */ 6662 5943 break; 6663 5944 6664 5945 case 317: 6665 6666 /* Line 1806 of yacc.c */ 6667 #line 1375 "parser.yy" 5946 #line 1374 "parser.yy" /* yacc.c:1646 */ 6668 5947 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 5948 #line 5949 "Parser/parser.cc" /* yacc.c:1646 */ 6669 5949 break; 6670 5950 6671 5951 case 318: 6672 6673 /* Line 1806 of yacc.c */ 6674 #line 1377 "parser.yy" 5952 #line 1376 "parser.yy" /* yacc.c:1646 */ 6675 5953 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 5954 #line 5955 "Parser/parser.cc" /* yacc.c:1646 */ 6676 5955 break; 6677 5956 6678 5957 case 319: 6679 6680 /* Line 1806 of yacc.c */ 6681 #line 1379 "parser.yy" 5958 #line 1378 "parser.yy" /* yacc.c:1646 */ 6682 5959 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 5960 #line 5961 "Parser/parser.cc" /* yacc.c:1646 */ 6683 5961 break; 6684 5962 6685 5963 case 320: 6686 6687 /* Line 1806 of yacc.c */ 6688 #line 1382 "parser.yy" 5964 #line 1381 "parser.yy" /* yacc.c:1646 */ 6689 5965 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; } 5966 #line 5967 "Parser/parser.cc" /* yacc.c:1646 */ 6690 5967 break; 6691 5968 6692 5969 case 321: 6693 6694 /* Line 1806 of yacc.c */ 6695 #line 1384 "parser.yy" 5970 #line 1383 "parser.yy" /* yacc.c:1646 */ 6696 5971 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 5972 #line 5973 "Parser/parser.cc" /* yacc.c:1646 */ 6697 5973 break; 6698 5974 6699 5975 case 322: 6700 6701 /* Line 1806 of yacc.c */ 6702 #line 1387 "parser.yy" 5976 #line 1386 "parser.yy" /* yacc.c:1646 */ 6703 5977 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; } 5978 #line 5979 "Parser/parser.cc" /* yacc.c:1646 */ 6704 5979 break; 6705 5980 6706 5981 case 323: 6707 6708 /* Line 1806 of yacc.c */ 6709 #line 1389 "parser.yy" 5982 #line 1388 "parser.yy" /* yacc.c:1646 */ 6710 5983 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 5984 #line 5985 "Parser/parser.cc" /* yacc.c:1646 */ 6711 5985 break; 6712 5986 6713 5987 case 324: 6714 6715 /* Line 1806 of yacc.c */ 6716 #line 1394 "parser.yy" 5988 #line 1393 "parser.yy" /* yacc.c:1646 */ 6717 5989 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 5990 #line 5991 "Parser/parser.cc" /* yacc.c:1646 */ 6718 5991 break; 6719 5992 6720 5993 case 325: 6721 6722 /* Line 1806 of yacc.c */ 6723 #line 1396 "parser.yy" 5994 #line 1395 "parser.yy" /* yacc.c:1646 */ 6724 5995 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 5996 #line 5997 "Parser/parser.cc" /* yacc.c:1646 */ 6725 5997 break; 6726 5998 6727 5999 case 326: 6728 6729 /* Line 1806 of yacc.c */ 6730 #line 1398 "parser.yy" 6000 #line 1397 "parser.yy" /* yacc.c:1646 */ 6731 6001 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6002 #line 6003 "Parser/parser.cc" /* yacc.c:1646 */ 6732 6003 break; 6733 6004 6734 6005 case 327: 6735 6736 /* Line 1806 of yacc.c */ 6737 #line 1400 "parser.yy" 6006 #line 1399 "parser.yy" /* yacc.c:1646 */ 6738 6007 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6008 #line 6009 "Parser/parser.cc" /* yacc.c:1646 */ 6739 6009 break; 6740 6010 6741 6011 case 328: 6742 6743 /* Line 1806 of yacc.c */ 6744 #line 1402 "parser.yy" 6012 #line 1401 "parser.yy" /* yacc.c:1646 */ 6745 6013 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); } 6014 #line 6015 "Parser/parser.cc" /* yacc.c:1646 */ 6746 6015 break; 6747 6016 6748 6017 case 329: 6749 6750 /* Line 1806 of yacc.c */ 6751 #line 1404 "parser.yy" 6018 #line 1403 "parser.yy" /* yacc.c:1646 */ 6752 6019 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); } 6020 #line 6021 "Parser/parser.cc" /* yacc.c:1646 */ 6753 6021 break; 6754 6022 6755 6023 case 330: 6756 6757 /* Line 1806 of yacc.c */ 6758 #line 1406 "parser.yy" 6024 #line 1405 "parser.yy" /* yacc.c:1646 */ 6759 6025 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); } 6026 #line 6027 "Parser/parser.cc" /* yacc.c:1646 */ 6760 6027 break; 6761 6028 6762 6029 case 331: 6763 6764 /* Line 1806 of yacc.c */ 6765 #line 1408 "parser.yy" 6030 #line 1407 "parser.yy" /* yacc.c:1646 */ 6766 6031 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); } 6032 #line 6033 "Parser/parser.cc" /* yacc.c:1646 */ 6767 6033 break; 6768 6034 6769 6035 case 332: 6770 6771 /* Line 1806 of yacc.c */ 6772 #line 1410 "parser.yy" 6036 #line 1409 "parser.yy" /* yacc.c:1646 */ 6773 6037 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6038 #line 6039 "Parser/parser.cc" /* yacc.c:1646 */ 6774 6039 break; 6775 6040 6776 6041 case 333: 6777 6778 /* Line 1806 of yacc.c */ 6779 #line 1412 "parser.yy" 6042 #line 1411 "parser.yy" /* yacc.c:1646 */ 6780 6043 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6044 #line 6045 "Parser/parser.cc" /* yacc.c:1646 */ 6781 6045 break; 6782 6046 6783 6047 case 334: 6784 6785 /* Line 1806 of yacc.c */ 6786 #line 1414 "parser.yy" 6048 #line 1413 "parser.yy" /* yacc.c:1646 */ 6787 6049 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); } 6050 #line 6051 "Parser/parser.cc" /* yacc.c:1646 */ 6788 6051 break; 6789 6052 6790 6053 case 335: 6791 6792 /* Line 1806 of yacc.c */ 6793 #line 1416 "parser.yy" 6054 #line 1415 "parser.yy" /* yacc.c:1646 */ 6794 6055 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); } 6056 #line 6057 "Parser/parser.cc" /* yacc.c:1646 */ 6795 6057 break; 6796 6058 6797 6059 case 336: 6798 6799 /* Line 1806 of yacc.c */ 6800 #line 1418 "parser.yy" 6060 #line 1417 "parser.yy" /* yacc.c:1646 */ 6801 6061 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6062 #line 6063 "Parser/parser.cc" /* yacc.c:1646 */ 6802 6063 break; 6803 6064 6804 6065 case 337: 6805 6806 /* Line 1806 of yacc.c */ 6807 #line 1420 "parser.yy" 6066 #line 1419 "parser.yy" /* yacc.c:1646 */ 6808 6067 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Zero ); } 6068 #line 6069 "Parser/parser.cc" /* yacc.c:1646 */ 6809 6069 break; 6810 6070 6811 6071 case 338: 6812 6813 /* Line 1806 of yacc.c */ 6814 #line 1422 "parser.yy" 6072 #line 1421 "parser.yy" /* yacc.c:1646 */ 6815 6073 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::One ); } 6074 #line 6075 "Parser/parser.cc" /* yacc.c:1646 */ 6816 6075 break; 6817 6076 6818 6077 case 340: 6819 6820 /* Line 1806 of yacc.c */ 6821 #line 1429 "parser.yy" 6822 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6078 #line 1428 "parser.yy" /* yacc.c:1646 */ 6079 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6080 #line 6081 "Parser/parser.cc" /* yacc.c:1646 */ 6823 6081 break; 6824 6082 6825 6083 case 341: 6826 6827 /* Line 1806 of yacc.c */ 6828 #line 1431 "parser.yy" 6829 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6084 #line 1430 "parser.yy" /* yacc.c:1646 */ 6085 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6086 #line 6087 "Parser/parser.cc" /* yacc.c:1646 */ 6830 6087 break; 6831 6088 6832 6089 case 342: 6833 6834 /* Line 1806 of yacc.c */ 6835 #line 1433 "parser.yy" 6836 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6090 #line 1432 "parser.yy" /* yacc.c:1646 */ 6091 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6092 #line 6093 "Parser/parser.cc" /* yacc.c:1646 */ 6837 6093 break; 6838 6094 6839 6095 case 343: 6840 6841 /* Line 1806 of yacc.c */ 6842 #line 1435 "parser.yy" 6843 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6096 #line 1434 "parser.yy" /* yacc.c:1646 */ 6097 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) )->addType( (yyvsp[-2].decl) ); } 6098 #line 6099 "Parser/parser.cc" /* yacc.c:1646 */ 6844 6099 break; 6845 6100 6846 6101 case 345: 6847 6848 /* Line 1806 of yacc.c */ 6849 #line 1441 "parser.yy" 6850 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6102 #line 1440 "parser.yy" /* yacc.c:1646 */ 6103 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[-2].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6104 #line 6105 "Parser/parser.cc" /* yacc.c:1646 */ 6851 6105 break; 6852 6106 6853 6107 case 347: 6854 6855 /* Line 1806 of yacc.c */ 6856 #line 1448 "parser.yy" 6857 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6108 #line 1447 "parser.yy" /* yacc.c:1646 */ 6109 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6110 #line 6111 "Parser/parser.cc" /* yacc.c:1646 */ 6858 6111 break; 6859 6112 6860 6113 case 348: 6861 6862 /* Line 1806 of yacc.c */ 6863 #line 1450 "parser.yy" 6864 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6114 #line 1449 "parser.yy" /* yacc.c:1646 */ 6115 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6116 #line 6117 "Parser/parser.cc" /* yacc.c:1646 */ 6865 6117 break; 6866 6118 6867 6119 case 349: 6868 6869 /* Line 1806 of yacc.c */ 6870 #line 1452 "parser.yy" 6871 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6120 #line 1451 "parser.yy" /* yacc.c:1646 */ 6121 { (yyval.decl) = (yyvsp[-1].decl)->addType( (yyvsp[0].decl) ); } 6122 #line 6123 "Parser/parser.cc" /* yacc.c:1646 */ 6872 6123 break; 6873 6124 6874 6125 case 350: 6875 6876 /* Line 1806 of yacc.c */ 6877 #line 1457 "parser.yy" 6878 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6126 #line 1456 "parser.yy" /* yacc.c:1646 */ 6127 { (yyval.decl) = (yyvsp[-1].decl); } 6128 #line 6129 "Parser/parser.cc" /* yacc.c:1646 */ 6879 6129 break; 6880 6130 6881 6131 case 351: 6882 6883 /* Line 1806 of yacc.c */ 6884 #line 1459 "parser.yy" 6885 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6132 #line 1458 "parser.yy" /* yacc.c:1646 */ 6133 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[-1].en) ); } 6134 #line 6135 "Parser/parser.cc" /* yacc.c:1646 */ 6886 6135 break; 6887 6136 6888 6137 case 352: 6889 6890 /* Line 1806 of yacc.c */ 6891 #line 1461 "parser.yy" 6892 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6138 #line 1460 "parser.yy" /* yacc.c:1646 */ 6139 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[-3].tok), (yyvsp[-1].decl) ); } 6140 #line 6141 "Parser/parser.cc" /* yacc.c:1646 */ 6893 6141 break; 6894 6142 6895 6143 case 353: 6896 6897 /* Line 1806 of yacc.c */ 6898 #line 1463 "parser.yy" 6899 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6144 #line 1462 "parser.yy" /* yacc.c:1646 */ 6145 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[-3].tok), (yyvsp[-1].en) ); } 6146 #line 6147 "Parser/parser.cc" /* yacc.c:1646 */ 6900 6147 break; 6901 6148 6902 6149 case 355: 6903 6904 /* Line 1806 of yacc.c */ 6905 #line 1469 "parser.yy" 6906 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6150 #line 1468 "parser.yy" /* yacc.c:1646 */ 6151 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6152 #line 6153 "Parser/parser.cc" /* yacc.c:1646 */ 6907 6153 break; 6908 6154 6909 6155 case 356: 6910 6911 /* Line 1806 of yacc.c */ 6912 #line 1471 "parser.yy" 6913 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6156 #line 1470 "parser.yy" /* yacc.c:1646 */ 6157 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6158 #line 6159 "Parser/parser.cc" /* yacc.c:1646 */ 6914 6159 break; 6915 6160 6916 6161 case 357: 6917 6918 /* Line 1806 of yacc.c */ 6919 #line 1473 "parser.yy" 6920 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6162 #line 1472 "parser.yy" /* yacc.c:1646 */ 6163 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6164 #line 6165 "Parser/parser.cc" /* yacc.c:1646 */ 6921 6165 break; 6922 6166 6923 6167 case 359: 6924 6925 /* Line 1806 of yacc.c */ 6926 #line 1479 "parser.yy" 6927 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6168 #line 1478 "parser.yy" /* yacc.c:1646 */ 6169 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6170 #line 6171 "Parser/parser.cc" /* yacc.c:1646 */ 6928 6171 break; 6929 6172 6930 6173 case 360: 6931 6932 /* Line 1806 of yacc.c */ 6933 #line 1481 "parser.yy" 6934 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6174 #line 1480 "parser.yy" /* yacc.c:1646 */ 6175 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6176 #line 6177 "Parser/parser.cc" /* yacc.c:1646 */ 6935 6177 break; 6936 6178 6937 6179 case 362: 6938 6939 /* Line 1806 of yacc.c */ 6940 #line 1487 "parser.yy" 6941 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6180 #line 1486 "parser.yy" /* yacc.c:1646 */ 6181 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6182 #line 6183 "Parser/parser.cc" /* yacc.c:1646 */ 6942 6183 break; 6943 6184 6944 6185 case 363: 6945 6946 /* Line 1806 of yacc.c */ 6947 #line 1489 "parser.yy" 6948 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6186 #line 1488 "parser.yy" /* yacc.c:1646 */ 6187 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6188 #line 6189 "Parser/parser.cc" /* yacc.c:1646 */ 6949 6189 break; 6950 6190 6951 6191 case 364: 6952 6953 /* Line 1806 of yacc.c */ 6954 #line 1491 "parser.yy" 6955 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6192 #line 1490 "parser.yy" /* yacc.c:1646 */ 6193 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6194 #line 6195 "Parser/parser.cc" /* yacc.c:1646 */ 6956 6195 break; 6957 6196 6958 6197 case 365: 6959 6960 /* Line 1806 of yacc.c */ 6961 #line 1496 "parser.yy" 6962 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6198 #line 1495 "parser.yy" /* yacc.c:1646 */ 6199 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[0].tok) ); } 6200 #line 6201 "Parser/parser.cc" /* yacc.c:1646 */ 6963 6201 break; 6964 6202 6965 6203 case 366: 6966 6967 /* Line 1806 of yacc.c */ 6968 #line 1498 "parser.yy" 6969 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6204 #line 1497 "parser.yy" /* yacc.c:1646 */ 6205 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[0].tok) )->addQualifiers( (yyvsp[-1].decl) ); } 6206 #line 6207 "Parser/parser.cc" /* yacc.c:1646 */ 6970 6207 break; 6971 6208 6972 6209 case 367: 6973 6974 /* Line 1806 of yacc.c */ 6975 #line 1500 "parser.yy" 6976 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6210 #line 1499 "parser.yy" /* yacc.c:1646 */ 6211 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6212 #line 6213 "Parser/parser.cc" /* yacc.c:1646 */ 6977 6213 break; 6978 6214 6979 6215 case 370: 6980 6981 /* Line 1806 of yacc.c */ 6982 #line 1510 "parser.yy" 6983 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), nullptr, nullptr, (yyvsp[(3) - (4)].decl), true ); } 6216 #line 1509 "parser.yy" /* yacc.c:1646 */ 6217 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-3].aggKey), nullptr, nullptr, (yyvsp[-1].decl), true ); } 6218 #line 6219 "Parser/parser.cc" /* yacc.c:1646 */ 6984 6219 break; 6985 6220 6986 6221 case 371: 6987 6988 /* Line 1806 of yacc.c */ 6989 #line 1512 "parser.yy" 6990 { 6991 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); 6992 (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), nullptr, nullptr, false ); 6222 #line 1511 "parser.yy" /* yacc.c:1646 */ 6223 { 6224 typedefTable.makeTypedef( *(yyvsp[0].tok) ); 6225 (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-1].aggKey), (yyvsp[0].tok), nullptr, nullptr, false ); 6993 6226 } 6227 #line 6228 "Parser/parser.cc" /* yacc.c:1646 */ 6994 6228 break; 6995 6229 6996 6230 case 372: 6997 6998 /* Line 1806 of yacc.c */ 6999 #line 1517 "parser.yy" 7000 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6231 #line 1516 "parser.yy" /* yacc.c:1646 */ 6232 { typedefTable.makeTypedef( *(yyvsp[0].tok) ); } 6233 #line 6234 "Parser/parser.cc" /* yacc.c:1646 */ 7001 6234 break; 7002 6235 7003 6236 case 373: 7004 7005 /* Line 1806 of yacc.c */ 7006 #line 1519 "parser.yy" 7007 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), nullptr, (yyvsp[(5) - (6)].decl), true ); } 6237 #line 1518 "parser.yy" /* yacc.c:1646 */ 6238 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-5].aggKey), (yyvsp[-4].tok), nullptr, (yyvsp[-1].decl), true ); } 6239 #line 6240 "Parser/parser.cc" /* yacc.c:1646 */ 7008 6240 break; 7009 6241 7010 6242 case 374: 7011 7012 /* Line 1806 of yacc.c */ 7013 #line 1521 "parser.yy" 7014 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), nullptr, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 6243 #line 1520 "parser.yy" /* yacc.c:1646 */ 6244 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-6].aggKey), nullptr, (yyvsp[-4].en), (yyvsp[-1].decl), false ); } 6245 #line 6246 "Parser/parser.cc" /* yacc.c:1646 */ 7015 6246 break; 7016 6247 7017 6248 case 375: 7018 7019 /* Line 1806 of yacc.c */ 7020 #line 1523 "parser.yy" 7021 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 6249 #line 1522 "parser.yy" /* yacc.c:1646 */ 6250 { (yyval.decl) = (yyvsp[0].decl); } 6251 #line 6252 "Parser/parser.cc" /* yacc.c:1646 */ 7022 6252 break; 7023 6253 7024 6254 case 376: 7025 7026 /* Line 1806 of yacc.c */ 7027 #line 1528 "parser.yy" 6255 #line 1527 "parser.yy" /* yacc.c:1646 */ 7028 6256 { (yyval.aggKey) = DeclarationNode::Struct; } 6257 #line 6258 "Parser/parser.cc" /* yacc.c:1646 */ 7029 6258 break; 7030 6259 7031 6260 case 377: 7032 7033 /* Line 1806 of yacc.c */ 7034 #line 1530 "parser.yy" 6261 #line 1529 "parser.yy" /* yacc.c:1646 */ 7035 6262 { (yyval.aggKey) = DeclarationNode::Union; } 6263 #line 6264 "Parser/parser.cc" /* yacc.c:1646 */ 7036 6264 break; 7037 6265 7038 6266 case 378: 7039 7040 /* Line 1806 of yacc.c */ 7041 #line 1535 "parser.yy" 7042 { (yyval.decl) = nullptr; } 6267 #line 1534 "parser.yy" /* yacc.c:1646 */ 6268 { (yyval.decl) = 0; } 6269 #line 6270 "Parser/parser.cc" /* yacc.c:1646 */ 7043 6270 break; 7044 6271 7045 6272 case 379: 7046 7047 /* Line 1806 of yacc.c */ 7048 #line 1537 "parser.yy" 7049 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 6273 #line 1536 "parser.yy" /* yacc.c:1646 */ 6274 { (yyval.decl) = (yyvsp[-1].decl) != 0 ? (yyvsp[-1].decl)->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6275 #line 6276 "Parser/parser.cc" /* yacc.c:1646 */ 7050 6276 break; 7051 6277 7052 6278 case 381: 7053 7054 /* Line 1806 of yacc.c */ 7055 #line 1543 "parser.yy" 7056 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 6279 #line 1542 "parser.yy" /* yacc.c:1646 */ 6280 { (yyval.decl) = (yyvsp[-1].decl)->set_extension( true ); } 6281 #line 6282 "Parser/parser.cc" /* yacc.c:1646 */ 7057 6282 break; 7058 6283 7059 6284 case 383: 7060 7061 /* Line 1806 of yacc.c */ 7062 #line 1546 "parser.yy" 6285 #line 1545 "parser.yy" /* yacc.c:1646 */ 7063 6286 { // mark all fields in list 7064 for ( DeclarationNode *iter = (yyvsp[ (2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )6287 for ( DeclarationNode *iter = (yyvsp[-1].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) 7065 6288 iter->set_extension( true ); 7066 (yyval.decl) = (yyvsp[ (2) - (3)].decl);6289 (yyval.decl) = (yyvsp[-1].decl); 7067 6290 } 6291 #line 6292 "Parser/parser.cc" /* yacc.c:1646 */ 7068 6292 break; 7069 6293 7070 6294 case 385: 7071 7072 /* Line 1806 of yacc.c */ 7073 #line 1556 "parser.yy" 7074 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 6295 #line 1555 "parser.yy" /* yacc.c:1646 */ 6296 { (yyval.decl) = (yyvsp[-1].decl)->addName( (yyvsp[0].tok) ); } 6297 #line 6298 "Parser/parser.cc" /* yacc.c:1646 */ 7075 6298 break; 7076 6299 7077 6300 case 386: 7078 7079 /* Line 1806 of yacc.c */ 7080 #line 1558 "parser.yy" 7081 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 6301 #line 1557 "parser.yy" /* yacc.c:1646 */ 6302 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[-2].decl)->cloneType( (yyvsp[0].tok) ) ); } 6303 #line 6304 "Parser/parser.cc" /* yacc.c:1646 */ 7082 6304 break; 7083 6305 7084 6306 case 387: 7085 7086 /* Line 1806 of yacc.c */ 7087 #line 1560 "parser.yy" 7088 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 6307 #line 1559 "parser.yy" /* yacc.c:1646 */ 6308 { (yyval.decl) = (yyvsp[-1].decl)->appendList( (yyvsp[-1].decl)->cloneType( 0 ) ); } 6309 #line 6310 "Parser/parser.cc" /* yacc.c:1646 */ 7089 6310 break; 7090 6311 7091 6312 case 388: 7092 7093 /* Line 1806 of yacc.c */ 7094 #line 1565 "parser.yy" 7095 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6313 #line 1564 "parser.yy" /* yacc.c:1646 */ 6314 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6315 #line 6316 "Parser/parser.cc" /* yacc.c:1646 */ 7096 6316 break; 7097 6317 7098 6318 case 389: 7099 7100 /* Line 1806 of yacc.c */ 7101 #line 1567 "parser.yy" 7102 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 6319 #line 1566 "parser.yy" /* yacc.c:1646 */ 6320 { (yyval.decl) = (yyvsp[-3].decl)->appendList( (yyvsp[-3].decl)->cloneBaseType( (yyvsp[0].decl) ) ); } 6321 #line 6322 "Parser/parser.cc" /* yacc.c:1646 */ 7103 6322 break; 7104 6323 7105 6324 case 390: 7106 7107 /* Line 1806 of yacc.c */ 7108 #line 1572 "parser.yy" 6325 #line 1571 "parser.yy" /* yacc.c:1646 */ 7109 6326 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 6327 #line 6328 "Parser/parser.cc" /* yacc.c:1646 */ 7110 6328 break; 7111 6329 7112 6330 case 391: 7113 7114 /* Line 1806 of yacc.c */ 7115 #line 1574 "parser.yy" 7116 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 6331 #line 1573 "parser.yy" /* yacc.c:1646 */ 6332 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[0].en) ); } 6333 #line 6334 "Parser/parser.cc" /* yacc.c:1646 */ 7117 6334 break; 7118 6335 7119 6336 case 392: 7120 7121 /* Line 1806 of yacc.c */ 7122 #line 1577 "parser.yy" 7123 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 6337 #line 1576 "parser.yy" /* yacc.c:1646 */ 6338 { (yyval.decl) = (yyvsp[-1].decl)->addBitfield( (yyvsp[0].en) ); } 6339 #line 6340 "Parser/parser.cc" /* yacc.c:1646 */ 7124 6340 break; 7125 6341 7126 6342 case 393: 7127 7128 /* Line 1806 of yacc.c */ 7129 #line 1580 "parser.yy" 7130 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 6343 #line 1579 "parser.yy" /* yacc.c:1646 */ 6344 { (yyval.decl) = (yyvsp[-1].decl)->addBitfield( (yyvsp[0].en) ); } 6345 #line 6346 "Parser/parser.cc" /* yacc.c:1646 */ 7131 6346 break; 7132 6347 7133 6348 case 395: 7134 7135 /* Line 1806 of yacc.c */ 7136 #line 1586 "parser.yy" 7137 { (yyval.en) = nullptr; } 6349 #line 1585 "parser.yy" /* yacc.c:1646 */ 6350 { (yyval.en) = 0; } 6351 #line 6352 "Parser/parser.cc" /* yacc.c:1646 */ 7138 6352 break; 7139 6353 7140 6354 case 396: 7141 7142 /* Line 1806 of yacc.c */ 7143 #line 1588 "parser.yy" 7144 { (yyval.en) = (yyvsp[(1) - (1)].en); } 6355 #line 1587 "parser.yy" /* yacc.c:1646 */ 6356 { (yyval.en) = (yyvsp[0].en); } 6357 #line 6358 "Parser/parser.cc" /* yacc.c:1646 */ 7145 6358 break; 7146 6359 7147 6360 case 397: 7148 7149 /* Line 1806 of yacc.c */ 7150 #line 1593 "parser.yy" 7151 { (yyval.en) = (yyvsp[(2) - (2)].en); } 6361 #line 1592 "parser.yy" /* yacc.c:1646 */ 6362 { (yyval.en) = (yyvsp[0].en); } 6363 #line 6364 "Parser/parser.cc" /* yacc.c:1646 */ 7152 6364 break; 7153 6365 7154 6366 case 399: 7155 7156 /* Line 1806 of yacc.c */ 7157 #line 1602 "parser.yy" 7158 { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(3) - (5)].decl) ); } 6367 #line 1601 "parser.yy" /* yacc.c:1646 */ 6368 { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[-2].decl) ); } 6369 #line 6370 "Parser/parser.cc" /* yacc.c:1646 */ 7159 6370 break; 7160 6371 7161 6372 case 400: 7162 7163 /* Line 1806 of yacc.c */ 7164 #line 1604 "parser.yy" 7165 { 7166 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); 7167 (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); 6373 #line 1603 "parser.yy" /* yacc.c:1646 */ 6374 { 6375 typedefTable.makeTypedef( *(yyvsp[0].tok) ); 6376 (yyval.decl) = DeclarationNode::newEnum( (yyvsp[0].tok), 0 ); 7168 6377 } 6378 #line 6379 "Parser/parser.cc" /* yacc.c:1646 */ 7169 6379 break; 7170 6380 7171 6381 case 401: 7172 7173 /* Line 1806 of yacc.c */ 7174 #line 1609 "parser.yy" 7175 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6382 #line 1608 "parser.yy" /* yacc.c:1646 */ 6383 { typedefTable.makeTypedef( *(yyvsp[0].tok) ); } 6384 #line 6385 "Parser/parser.cc" /* yacc.c:1646 */ 7176 6385 break; 7177 6386 7178 6387 case 402: 7179 7180 /* Line 1806 of yacc.c */ 7181 #line 1611 "parser.yy" 7182 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 6388 #line 1610 "parser.yy" /* yacc.c:1646 */ 6389 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[-5].tok), (yyvsp[-2].decl) ); } 6390 #line 6391 "Parser/parser.cc" /* yacc.c:1646 */ 7183 6391 break; 7184 6392 7185 6393 case 403: 7186 7187 /* Line 1806 of yacc.c */ 7188 #line 1616 "parser.yy" 7189 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 6394 #line 1615 "parser.yy" /* yacc.c:1646 */ 6395 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[-1].tok), (yyvsp[0].en) ); } 6396 #line 6397 "Parser/parser.cc" /* yacc.c:1646 */ 7190 6397 break; 7191 6398 7192 6399 case 404: 7193 7194 /* Line 1806 of yacc.c */ 7195 #line 1618 "parser.yy" 7196 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 6400 #line 1617 "parser.yy" /* yacc.c:1646 */ 6401 { (yyval.decl) = (yyvsp[-3].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[-1].tok), (yyvsp[0].en) ) ); } 6402 #line 6403 "Parser/parser.cc" /* yacc.c:1646 */ 7197 6403 break; 7198 6404 7199 6405 case 405: 7200 7201 /* Line 1806 of yacc.c */ 7202 #line 1623 "parser.yy" 7203 { (yyval.en) = nullptr; } 6406 #line 1622 "parser.yy" /* yacc.c:1646 */ 6407 { (yyval.en) = 0; } 6408 #line 6409 "Parser/parser.cc" /* yacc.c:1646 */ 7204 6409 break; 7205 6410 7206 6411 case 406: 7207 7208 /* Line 1806 of yacc.c */ 7209 #line 1625 "parser.yy" 7210 { (yyval.en) = (yyvsp[(2) - (2)].en); } 6412 #line 1624 "parser.yy" /* yacc.c:1646 */ 6413 { (yyval.en) = (yyvsp[0].en); } 6414 #line 6415 "Parser/parser.cc" /* yacc.c:1646 */ 7211 6415 break; 7212 6416 7213 6417 case 407: 7214 7215 /* Line 1806 of yacc.c */ 7216 #line 1632 "parser.yy" 7217 { (yyval.decl) = nullptr; } 6418 #line 1631 "parser.yy" /* yacc.c:1646 */ 6419 { (yyval.decl) = 0; } 6420 #line 6421 "Parser/parser.cc" /* yacc.c:1646 */ 7218 6421 break; 7219 6422 7220 6423 case 411: 7221 7222 /* Line 1806 of yacc.c */ 7223 #line 1640 "parser.yy" 7224 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6424 #line 1639 "parser.yy" /* yacc.c:1646 */ 6425 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6426 #line 6427 "Parser/parser.cc" /* yacc.c:1646 */ 7225 6427 break; 7226 6428 7227 6429 case 412: 7228 7229 /* Line 1806 of yacc.c */ 7230 #line 1642 "parser.yy" 7231 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 6430 #line 1641 "parser.yy" /* yacc.c:1646 */ 6431 { (yyval.decl) = (yyvsp[-4].decl)->addVarArgs(); } 6432 #line 6433 "Parser/parser.cc" /* yacc.c:1646 */ 7232 6433 break; 7233 6434 7234 6435 case 413: 7235 7236 /* Line 1806 of yacc.c */ 7237 #line 1644 "parser.yy" 7238 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 6436 #line 1643 "parser.yy" /* yacc.c:1646 */ 6437 { (yyval.decl) = (yyvsp[-4].decl)->addVarArgs(); } 6438 #line 6439 "Parser/parser.cc" /* yacc.c:1646 */ 7239 6439 break; 7240 6440 7241 6441 case 415: 7242 7243 /* Line 1806 of yacc.c */ 7244 #line 1652 "parser.yy" 7245 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6442 #line 1651 "parser.yy" /* yacc.c:1646 */ 6443 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6444 #line 6445 "Parser/parser.cc" /* yacc.c:1646 */ 7246 6445 break; 7247 6446 7248 6447 case 416: 7249 7250 /* Line 1806 of yacc.c */ 7251 #line 1654 "parser.yy" 7252 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6448 #line 1653 "parser.yy" /* yacc.c:1646 */ 6449 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6450 #line 6451 "Parser/parser.cc" /* yacc.c:1646 */ 7253 6451 break; 7254 6452 7255 6453 case 417: 7256 7257 /* Line 1806 of yacc.c */ 7258 #line 1656 "parser.yy" 7259 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 6454 #line 1655 "parser.yy" /* yacc.c:1646 */ 6455 { (yyval.decl) = (yyvsp[-8].decl)->appendList( (yyvsp[-4].decl) )->appendList( (yyvsp[0].decl) ); } 6456 #line 6457 "Parser/parser.cc" /* yacc.c:1646 */ 7260 6457 break; 7261 6458 7262 6459 case 419: 7263 7264 /* Line 1806 of yacc.c */ 7265 #line 1662 "parser.yy" 7266 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6460 #line 1661 "parser.yy" /* yacc.c:1646 */ 6461 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6462 #line 6463 "Parser/parser.cc" /* yacc.c:1646 */ 7267 6463 break; 7268 6464 7269 6465 case 420: 7270 7271 /* Line 1806 of yacc.c */ 7272 #line 1667 "parser.yy" 7273 { (yyval.decl) = nullptr; } 6466 #line 1666 "parser.yy" /* yacc.c:1646 */ 6467 { (yyval.decl) = 0; } 6468 #line 6469 "Parser/parser.cc" /* yacc.c:1646 */ 7274 6469 break; 7275 6470 7276 6471 case 423: 7277 7278 /* Line 1806 of yacc.c */ 7279 #line 1674 "parser.yy" 7280 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 6472 #line 1673 "parser.yy" /* yacc.c:1646 */ 6473 { (yyval.decl) = (yyvsp[-4].decl)->addVarArgs(); } 6474 #line 6475 "Parser/parser.cc" /* yacc.c:1646 */ 7281 6475 break; 7282 6476 7283 6477 case 426: 7284 7285 /* Line 1806 of yacc.c */ 7286 #line 1681 "parser.yy" 7287 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6478 #line 1680 "parser.yy" /* yacc.c:1646 */ 6479 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6480 #line 6481 "Parser/parser.cc" /* yacc.c:1646 */ 7288 6481 break; 7289 6482 7290 6483 case 427: 7291 7292 /* Line 1806 of yacc.c */ 7293 #line 1683 "parser.yy" 7294 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6484 #line 1682 "parser.yy" /* yacc.c:1646 */ 6485 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6486 #line 6487 "Parser/parser.cc" /* yacc.c:1646 */ 7295 6487 break; 7296 6488 7297 6489 case 429: 7298 7299 /* Line 1806 of yacc.c */ 7300 #line 1692 "parser.yy" 7301 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 6490 #line 1691 "parser.yy" /* yacc.c:1646 */ 6491 { (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) ); } 6492 #line 6493 "Parser/parser.cc" /* yacc.c:1646 */ 7302 6493 break; 7303 6494 7304 6495 case 430: 7305 7306 /* Line 1806 of yacc.c */ 7307 #line 1695 "parser.yy" 7308 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 6496 #line 1694 "parser.yy" /* yacc.c:1646 */ 6497 { (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) ); } 6498 #line 6499 "Parser/parser.cc" /* yacc.c:1646 */ 7309 6499 break; 7310 6500 7311 6501 case 431: 7312 7313 /* Line 1806 of yacc.c */ 7314 #line 1697 "parser.yy" 7315 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 6502 #line 1696 "parser.yy" /* yacc.c:1646 */ 6503 { (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) )->addQualifiers( (yyvsp[-3].decl) ); } 6504 #line 6505 "Parser/parser.cc" /* yacc.c:1646 */ 7316 6505 break; 7317 6506 7318 6507 case 436: 7319 7320 /* Line 1806 of yacc.c */ 7321 #line 1707 "parser.yy" 7322 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6508 #line 1706 "parser.yy" /* yacc.c:1646 */ 6509 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6510 #line 6511 "Parser/parser.cc" /* yacc.c:1646 */ 7323 6511 break; 7324 6512 7325 6513 case 438: 7326 7327 /* Line 1806 of yacc.c */ 7328 #line 1713 "parser.yy" 6514 #line 1712 "parser.yy" /* yacc.c:1646 */ 7329 6515 { 7330 6516 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7331 (yyval.decl) = (yyvsp[ (2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) );6517 (yyval.decl) = (yyvsp[-1].decl)->addType( (yyvsp[-2].decl) )->addInitializer( new InitializerNode( (yyvsp[0].en) ) ); 7332 6518 } 6519 #line 6520 "Parser/parser.cc" /* yacc.c:1646 */ 7333 6520 break; 7334 6521 7335 6522 case 439: 7336 7337 /* Line 1806 of yacc.c */ 7338 #line 1718 "parser.yy" 6523 #line 1717 "parser.yy" /* yacc.c:1646 */ 7339 6524 { 7340 6525 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7341 (yyval.decl) = (yyvsp[ (2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) );6526 (yyval.decl) = (yyvsp[-1].decl)->addType( (yyvsp[-2].decl) )->addInitializer( new InitializerNode( (yyvsp[0].en) ) ); 7342 6527 } 6528 #line 6529 "Parser/parser.cc" /* yacc.c:1646 */ 7343 6529 break; 7344 6530 7345 6531 case 441: 7346 7347 /* Line 1806 of yacc.c */ 7348 #line 1727 "parser.yy" 7349 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6532 #line 1726 "parser.yy" /* yacc.c:1646 */ 6533 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6534 #line 6535 "Parser/parser.cc" /* yacc.c:1646 */ 7350 6535 break; 7351 6536 7352 6537 case 442: 7353 7354 /* Line 1806 of yacc.c */ 7355 #line 1736 "parser.yy" 7356 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 6538 #line 1735 "parser.yy" /* yacc.c:1646 */ 6539 { (yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) ); } 6540 #line 6541 "Parser/parser.cc" /* yacc.c:1646 */ 7357 6541 break; 7358 6542 7359 6543 case 443: 7360 7361 /* Line 1806 of yacc.c */ 7362 #line 1738 "parser.yy" 7363 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 6544 #line 1737 "parser.yy" /* yacc.c:1646 */ 6545 { (yyval.decl) = (yyvsp[-2].decl)->appendList( DeclarationNode::newName( (yyvsp[0].tok) ) ); } 6546 #line 6547 "Parser/parser.cc" /* yacc.c:1646 */ 7364 6547 break; 7365 6548 7366 6549 case 455: 7367 7368 /* Line 1806 of yacc.c */ 7369 #line 1763 "parser.yy" 7370 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6550 #line 1762 "parser.yy" /* yacc.c:1646 */ 6551 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6552 #line 6553 "Parser/parser.cc" /* yacc.c:1646 */ 7371 6553 break; 7372 6554 7373 6555 case 459: 7374 7375 /* Line 1806 of yacc.c */ 7376 #line 1771 "parser.yy" 7377 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6556 #line 1770 "parser.yy" /* yacc.c:1646 */ 6557 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6558 #line 6559 "Parser/parser.cc" /* yacc.c:1646 */ 7378 6559 break; 7379 6560 7380 6561 case 460: 7381 7382 /* Line 1806 of yacc.c */ 7383 #line 1776 "parser.yy" 7384 { (yyval.in) = nullptr; } 6562 #line 1775 "parser.yy" /* yacc.c:1646 */ 6563 { (yyval.in) = 0; } 6564 #line 6565 "Parser/parser.cc" /* yacc.c:1646 */ 7385 6565 break; 7386 6566 7387 6567 case 461: 7388 7389 /* Line 1806 of yacc.c */ 7390 #line 1778 "parser.yy" 7391 { (yyval.in) = (yyvsp[(2) - (2)].in); } 6568 #line 1777 "parser.yy" /* yacc.c:1646 */ 6569 { (yyval.in) = (yyvsp[0].in); } 6570 #line 6571 "Parser/parser.cc" /* yacc.c:1646 */ 7392 6571 break; 7393 6572 7394 6573 case 462: 7395 7396 /* Line 1806 of yacc.c */ 7397 #line 1780 "parser.yy" 7398 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 6574 #line 1779 "parser.yy" /* yacc.c:1646 */ 6575 { (yyval.in) = (yyvsp[0].in)->set_maybeConstructed( false ); } 6576 #line 6577 "Parser/parser.cc" /* yacc.c:1646 */ 7399 6577 break; 7400 6578 7401 6579 case 463: 7402 7403 /* Line 1806 of yacc.c */ 7404 #line 1784 "parser.yy" 7405 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 6580 #line 1783 "parser.yy" /* yacc.c:1646 */ 6581 { (yyval.in) = new InitializerNode( (yyvsp[0].en) ); } 6582 #line 6583 "Parser/parser.cc" /* yacc.c:1646 */ 7406 6583 break; 7407 6584 7408 6585 case 464: 7409 7410 /* Line 1806 of yacc.c */ 7411 #line 1785 "parser.yy" 7412 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 6586 #line 1784 "parser.yy" /* yacc.c:1646 */ 6587 { (yyval.in) = new InitializerNode( (yyvsp[-2].in), true ); } 6588 #line 6589 "Parser/parser.cc" /* yacc.c:1646 */ 7413 6589 break; 7414 6590 7415 6591 case 465: 7416 7417 /* Line 1806 of yacc.c */ 7418 #line 1790 "parser.yy" 7419 { (yyval.in) = nullptr; } 6592 #line 1789 "parser.yy" /* yacc.c:1646 */ 6593 { (yyval.in) = 0; } 6594 #line 6595 "Parser/parser.cc" /* yacc.c:1646 */ 7420 6595 break; 7421 6596 7422 6597 case 467: 7423 7424 /* Line 1806 of yacc.c */ 7425 #line 1792 "parser.yy" 7426 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 6598 #line 1791 "parser.yy" /* yacc.c:1646 */ 6599 { (yyval.in) = (yyvsp[0].in)->set_designators( (yyvsp[-1].en) ); } 6600 #line 6601 "Parser/parser.cc" /* yacc.c:1646 */ 7427 6601 break; 7428 6602 7429 6603 case 468: 7430 7431 /* Line 1806 of yacc.c */ 7432 #line 1793 "parser.yy" 7433 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); } 6604 #line 1792 "parser.yy" /* yacc.c:1646 */ 6605 { (yyval.in) = (InitializerNode *)( (yyvsp[-2].in)->set_last( (yyvsp[0].in) ) ); } 6606 #line 6607 "Parser/parser.cc" /* yacc.c:1646 */ 7434 6607 break; 7435 6608 7436 6609 case 469: 7437 7438 /* Line 1806 of yacc.c */ 7439 #line 1795 "parser.yy" 7440 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 6610 #line 1794 "parser.yy" /* yacc.c:1646 */ 6611 { (yyval.in) = (InitializerNode *)( (yyvsp[-3].in)->set_last( (yyvsp[0].in)->set_designators( (yyvsp[-1].en) ) ) ); } 6612 #line 6613 "Parser/parser.cc" /* yacc.c:1646 */ 7441 6613 break; 7442 6614 7443 6615 case 471: 7444 7445 /* Line 1806 of yacc.c */ 7446 #line 1811 "parser.yy" 7447 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 6616 #line 1810 "parser.yy" /* yacc.c:1646 */ 6617 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[-1].tok) ) ); } 6618 #line 6619 "Parser/parser.cc" /* yacc.c:1646 */ 7448 6619 break; 7449 6620 7450 6621 case 473: 7451 7452 /* Line 1806 of yacc.c */ 7453 #line 1817 "parser.yy" 7454 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); } 6622 #line 1816 "parser.yy" /* yacc.c:1646 */ 6623 { (yyval.en) = (ExpressionNode *)( (yyvsp[-1].en)->set_last( (yyvsp[0].en) ) ); } 6624 #line 6625 "Parser/parser.cc" /* yacc.c:1646 */ 7455 6625 break; 7456 6626 7457 6627 case 474: 7458 7459 /* Line 1806 of yacc.c */ 7460 #line 1823 "parser.yy" 7461 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 6628 #line 1822 "parser.yy" /* yacc.c:1646 */ 6629 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 6630 #line 6631 "Parser/parser.cc" /* yacc.c:1646 */ 7462 6631 break; 7463 6632 7464 6633 case 475: 7465 7466 /* Line 1806 of yacc.c */ 7467 #line 1826 "parser.yy" 7468 { (yyval.en) = (yyvsp[(3) - (5)].en); } 6634 #line 1825 "parser.yy" /* yacc.c:1646 */ 6635 { (yyval.en) = (yyvsp[-2].en); } 6636 #line 6637 "Parser/parser.cc" /* yacc.c:1646 */ 7469 6637 break; 7470 6638 7471 6639 case 476: 7472 7473 /* Line 1806 of yacc.c */ 7474 #line 1828 "parser.yy" 7475 { (yyval.en) = (yyvsp[(3) - (5)].en); } 6640 #line 1827 "parser.yy" /* yacc.c:1646 */ 6641 { (yyval.en) = (yyvsp[-2].en); } 6642 #line 6643 "Parser/parser.cc" /* yacc.c:1646 */ 7476 6643 break; 7477 6644 7478 6645 case 477: 7479 7480 /* Line 1806 of yacc.c */ 7481 #line 1830 "parser.yy" 7482 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 6646 #line 1829 "parser.yy" /* yacc.c:1646 */ 6647 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[-4].en), (yyvsp[-2].en) ) ); } 6648 #line 6649 "Parser/parser.cc" /* yacc.c:1646 */ 7483 6649 break; 7484 6650 7485 6651 case 478: 7486 7487 /* Line 1806 of yacc.c */ 7488 #line 1832 "parser.yy" 7489 { (yyval.en) = (yyvsp[(4) - (6)].en); } 6652 #line 1831 "parser.yy" /* yacc.c:1646 */ 6653 { (yyval.en) = (yyvsp[-2].en); } 6654 #line 6655 "Parser/parser.cc" /* yacc.c:1646 */ 7490 6655 break; 7491 6656 7492 6657 case 480: 7493 7494 /* Line 1806 of yacc.c */ 7495 #line 1856 "parser.yy" 7496 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6658 #line 1855 "parser.yy" /* yacc.c:1646 */ 6659 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6660 #line 6661 "Parser/parser.cc" /* yacc.c:1646 */ 7497 6661 break; 7498 6662 7499 6663 case 481: 7500 7501 /* Line 1806 of yacc.c */ 7502 #line 1858 "parser.yy" 7503 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6664 #line 1857 "parser.yy" /* yacc.c:1646 */ 6665 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6666 #line 6667 "Parser/parser.cc" /* yacc.c:1646 */ 7504 6667 break; 7505 6668 7506 6669 case 482: 7507 7508 /* Line 1806 of yacc.c */ 7509 #line 1860 "parser.yy" 7510 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6670 #line 1859 "parser.yy" /* yacc.c:1646 */ 6671 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6672 #line 6673 "Parser/parser.cc" /* yacc.c:1646 */ 7511 6673 break; 7512 6674 7513 6675 case 484: 7514 7515 /* Line 1806 of yacc.c */ 7516 #line 1866 "parser.yy" 7517 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6676 #line 1865 "parser.yy" /* yacc.c:1646 */ 6677 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6678 #line 6679 "Parser/parser.cc" /* yacc.c:1646 */ 7518 6679 break; 7519 6680 7520 6681 case 485: 7521 7522 /* Line 1806 of yacc.c */ 7523 #line 1868 "parser.yy" 7524 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6682 #line 1867 "parser.yy" /* yacc.c:1646 */ 6683 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6684 #line 6685 "Parser/parser.cc" /* yacc.c:1646 */ 7525 6685 break; 7526 6686 7527 6687 case 486: 7528 7529 /* Line 1806 of yacc.c */ 7530 #line 1873 "parser.yy" 7531 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6688 #line 1872 "parser.yy" /* yacc.c:1646 */ 6689 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[-3].tok), (yyvsp[-1].en) ); } 6690 #line 6691 "Parser/parser.cc" /* yacc.c:1646 */ 7532 6691 break; 7533 6692 7534 6693 case 488: 7535 7536 /* Line 1806 of yacc.c */ 7537 #line 1879 "parser.yy" 7538 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 6694 #line 1878 "parser.yy" /* yacc.c:1646 */ 6695 { (yyval.decl) = (yyvsp[-3].decl)->appendList( (yyvsp[-1].decl) ); } 6696 #line 6697 "Parser/parser.cc" /* yacc.c:1646 */ 7539 6697 break; 7540 6698 7541 6699 case 489: 7542 7543 /* Line 1806 of yacc.c */ 7544 #line 1884 "parser.yy" 7545 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 6700 #line 1883 "parser.yy" /* yacc.c:1646 */ 6701 { typedefTable.addToEnclosingScope( *(yyvsp[0].tok), TypedefTable::TD ); } 6702 #line 6703 "Parser/parser.cc" /* yacc.c:1646 */ 7546 6703 break; 7547 6704 7548 6705 case 490: 7549 7550 /* Line 1806 of yacc.c */ 7551 #line 1886 "parser.yy" 7552 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 6706 #line 1885 "parser.yy" /* yacc.c:1646 */ 6707 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[-3].tclass), (yyvsp[-2].tok) )->addAssertions( (yyvsp[0].decl) ); } 6708 #line 6709 "Parser/parser.cc" /* yacc.c:1646 */ 7553 6709 break; 7554 6710 7555 6711 case 492: 7556 7557 /* Line 1806 of yacc.c */ 7558 #line 1892 "parser.yy" 6712 #line 1891 "parser.yy" /* yacc.c:1646 */ 7559 6713 { (yyval.tclass) = DeclarationNode::Otype; } 6714 #line 6715 "Parser/parser.cc" /* yacc.c:1646 */ 7560 6715 break; 7561 6716 7562 6717 case 493: 7563 7564 /* Line 1806 of yacc.c */ 7565 #line 1894 "parser.yy" 6718 #line 1893 "parser.yy" /* yacc.c:1646 */ 7566 6719 { (yyval.tclass) = DeclarationNode::Ftype; } 6720 #line 6721 "Parser/parser.cc" /* yacc.c:1646 */ 7567 6721 break; 7568 6722 7569 6723 case 494: 7570 7571 /* Line 1806 of yacc.c */ 7572 #line 1896 "parser.yy" 6724 #line 1895 "parser.yy" /* yacc.c:1646 */ 7573 6725 { (yyval.tclass) = DeclarationNode::Dtype; } 6726 #line 6727 "Parser/parser.cc" /* yacc.c:1646 */ 7574 6727 break; 7575 6728 7576 6729 case 495: 7577 7578 /* Line 1806 of yacc.c */ 7579 #line 1901 "parser.yy" 7580 { (yyval.decl) = nullptr; } 6730 #line 1900 "parser.yy" /* yacc.c:1646 */ 6731 { (yyval.decl) = 0; } 6732 #line 6733 "Parser/parser.cc" /* yacc.c:1646 */ 7581 6733 break; 7582 6734 7583 6735 case 496: 7584 7585 /* Line 1806 of yacc.c */ 7586 #line 1903 "parser.yy" 7587 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 6736 #line 1902 "parser.yy" /* yacc.c:1646 */ 6737 { (yyval.decl) = (yyvsp[-1].decl) != 0 ? (yyvsp[-1].decl)->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6738 #line 6739 "Parser/parser.cc" /* yacc.c:1646 */ 7588 6739 break; 7589 6740 7590 6741 case 497: 7591 7592 /* Line 1806 of yacc.c */ 7593 #line 1908 "parser.yy" 7594 { 7595 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); 7596 (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) ); 6742 #line 1907 "parser.yy" /* yacc.c:1646 */ 6743 { 6744 typedefTable.openTrait( *(yyvsp[-3].tok) ); 6745 (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[-3].tok), (yyvsp[-1].en) ); 7597 6746 } 6747 #line 6748 "Parser/parser.cc" /* yacc.c:1646 */ 7598 6748 break; 7599 6749 7600 6750 case 498: 7601 7602 /* Line 1806 of yacc.c */ 7603 #line 1913 "parser.yy" 7604 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 6751 #line 1912 "parser.yy" /* yacc.c:1646 */ 6752 { (yyval.decl) = (yyvsp[-1].decl); } 6753 #line 6754 "Parser/parser.cc" /* yacc.c:1646 */ 7605 6754 break; 7606 6755 7607 6756 case 499: 7608 7609 /* Line 1806 of yacc.c */ 7610 #line 1915 "parser.yy" 7611 { (yyval.decl) = nullptr; } 6757 #line 1914 "parser.yy" /* yacc.c:1646 */ 6758 { (yyval.decl) = 0; } 6759 #line 6760 "Parser/parser.cc" /* yacc.c:1646 */ 7612 6760 break; 7613 6761 7614 6762 case 500: 7615 7616 /* Line 1806 of yacc.c */ 7617 #line 1920 "parser.yy" 7618 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 6763 #line 1919 "parser.yy" /* yacc.c:1646 */ 6764 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[0].decl) ) ); } 6765 #line 6766 "Parser/parser.cc" /* yacc.c:1646 */ 7619 6766 break; 7620 6767 7621 6768 case 502: 7622 7623 /* Line 1806 of yacc.c */ 7624 #line 1923 "parser.yy" 7625 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 6769 #line 1922 "parser.yy" /* yacc.c:1646 */ 6770 { (yyval.en) = (ExpressionNode *)( (yyvsp[-2].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[0].decl) ) ) ) ); } 6771 #line 6772 "Parser/parser.cc" /* yacc.c:1646 */ 7626 6772 break; 7627 6773 7628 6774 case 503: 7629 7630 /* Line 1806 of yacc.c */ 7631 #line 1925 "parser.yy" 7632 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 6775 #line 1924 "parser.yy" /* yacc.c:1646 */ 6776 { (yyval.en) = (ExpressionNode *)( (yyvsp[-2].en)->set_last( (yyvsp[0].en) )); } 6777 #line 6778 "Parser/parser.cc" /* yacc.c:1646 */ 7633 6778 break; 7634 6779 7635 6780 case 504: 7636 7637 /* Line 1806 of yacc.c */ 7638 #line 1930 "parser.yy" 7639 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 6781 #line 1929 "parser.yy" /* yacc.c:1646 */ 6782 { (yyval.decl) = (yyvsp[0].decl); } 6783 #line 6784 "Parser/parser.cc" /* yacc.c:1646 */ 7640 6784 break; 7641 6785 7642 6786 case 505: 7643 7644 /* Line 1806 of yacc.c */ 7645 #line 1932 "parser.yy" 7646 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 6787 #line 1931 "parser.yy" /* yacc.c:1646 */ 6788 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-2].decl) ); } 6789 #line 6790 "Parser/parser.cc" /* yacc.c:1646 */ 7647 6790 break; 7648 6791 7649 6792 case 506: 7650 7651 /* Line 1806 of yacc.c */ 7652 #line 1934 "parser.yy" 7653 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 6793 #line 1933 "parser.yy" /* yacc.c:1646 */ 6794 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl)->copyStorageClasses( (yyvsp[-2].decl) ) ); } 6795 #line 6796 "Parser/parser.cc" /* yacc.c:1646 */ 7654 6796 break; 7655 6797 7656 6798 case 507: 7657 7658 /* Line 1806 of yacc.c */ 7659 #line 1939 "parser.yy" 7660 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 6799 #line 1938 "parser.yy" /* yacc.c:1646 */ 6800 { (yyval.decl) = (yyvsp[-1].decl)->addAssertions( (yyvsp[0].decl) ); } 6801 #line 6802 "Parser/parser.cc" /* yacc.c:1646 */ 7661 6802 break; 7662 6803 7663 6804 case 508: 7664 7665 /* Line 1806 of yacc.c */ 7666 #line 1941 "parser.yy" 7667 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 6805 #line 1940 "parser.yy" /* yacc.c:1646 */ 6806 { (yyval.decl) = (yyvsp[-3].decl)->addAssertions( (yyvsp[-2].decl) )->addType( (yyvsp[0].decl) ); } 6807 #line 6808 "Parser/parser.cc" /* yacc.c:1646 */ 7668 6808 break; 7669 6809 7670 6810 case 509: 7671 7672 /* Line 1806 of yacc.c */ 7673 #line 1946 "parser.yy" 7674 { 7675 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); 7676 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[(1) - (1)].tok), 0 ); 6811 #line 1945 "parser.yy" /* yacc.c:1646 */ 6812 { 6813 typedefTable.addToEnclosingScope( *(yyvsp[0].tok), TypedefTable::TD ); 6814 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[0].tok), 0 ); 7677 6815 } 6816 #line 6817 "Parser/parser.cc" /* yacc.c:1646 */ 7678 6817 break; 7679 6818 7680 6819 case 510: 7681 7682 /* Line 1806 of yacc.c */ 7683 #line 1951 "parser.yy" 7684 { 7685 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); 7686 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[(1) - (6)].tok), (yyvsp[(4) - (6)].decl) ); 6820 #line 1950 "parser.yy" /* yacc.c:1646 */ 6821 { 6822 typedefTable.addToEnclosingScope( *(yyvsp[-5].tok), TypedefTable::TG ); 6823 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[-5].tok), (yyvsp[-2].decl) ); 7687 6824 } 6825 #line 6826 "Parser/parser.cc" /* yacc.c:1646 */ 7688 6826 break; 7689 6827 7690 6828 case 511: 7691 7692 /* Line 1806 of yacc.c */ 7693 #line 1959 "parser.yy" 7694 { 7695 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); 7696 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 ); 6829 #line 1958 "parser.yy" /* yacc.c:1646 */ 6830 { 6831 typedefTable.addToEnclosingScope( *(yyvsp[-7].tok), TypedefTable::ID ); 6832 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[-7].tok), (yyvsp[-4].decl), 0 ); 7697 6833 } 6834 #line 6835 "Parser/parser.cc" /* yacc.c:1646 */ 7698 6835 break; 7699 6836 7700 6837 case 512: 7701 7702 /* Line 1806 of yacc.c */ 7703 #line 1964 "parser.yy" 7704 { 7705 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); 6838 #line 1963 "parser.yy" /* yacc.c:1646 */ 6839 { 6840 typedefTable.enterTrait( *(yyvsp[-6].tok) ); 7706 6841 typedefTable.enterScope(); 7707 6842 } 6843 #line 6844 "Parser/parser.cc" /* yacc.c:1646 */ 7708 6844 break; 7709 6845 7710 6846 case 513: 7711 7712 /* Line 1806 of yacc.c */ 7713 #line 1969 "parser.yy" 6847 #line 1968 "parser.yy" /* yacc.c:1646 */ 7714 6848 { 7715 6849 typedefTable.leaveTrait(); 7716 typedefTable.addToEnclosingScope( *(yyvsp[ (2) - (11)].tok), TypedefTable::ID );7717 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[ (2) - (11)].tok), (yyvsp[(5) - (11)].decl), (yyvsp[(10) - (11)].decl) );6850 typedefTable.addToEnclosingScope( *(yyvsp[-9].tok), TypedefTable::ID ); 6851 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[-9].tok), (yyvsp[-6].decl), (yyvsp[-1].decl) ); 7718 6852 } 6853 #line 6854 "Parser/parser.cc" /* yacc.c:1646 */ 7719 6854 break; 7720 6855 7721 6856 case 515: 7722 7723 /* Line 1806 of yacc.c */ 7724 #line 1979 "parser.yy" 7725 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6857 #line 1978 "parser.yy" /* yacc.c:1646 */ 6858 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ); } 6859 #line 6860 "Parser/parser.cc" /* yacc.c:1646 */ 7726 6860 break; 7727 6861 7728 6862 case 518: 7729 7730 /* Line 1806 of yacc.c */ 7731 #line 1989 "parser.yy" 6863 #line 1988 "parser.yy" /* yacc.c:1646 */ 7732 6864 { 7733 6865 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 7734 (yyval.decl) = (yyvsp[ (1) - (1)].decl);6866 (yyval.decl) = (yyvsp[0].decl); 7735 6867 } 6868 #line 6869 "Parser/parser.cc" /* yacc.c:1646 */ 7736 6869 break; 7737 6870 7738 6871 case 519: 7739 7740 /* Line 1806 of yacc.c */ 7741 #line 1994 "parser.yy" 6872 #line 1993 "parser.yy" /* yacc.c:1646 */ 7742 6873 { 7743 6874 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 7744 (yyval.decl) = (yyvsp[ (1) - (1)].decl);6875 (yyval.decl) = (yyvsp[0].decl); 7745 6876 } 6877 #line 6878 "Parser/parser.cc" /* yacc.c:1646 */ 7746 6878 break; 7747 6879 7748 6880 case 520: 7749 7750 /* Line 1806 of yacc.c */ 7751 #line 1999 "parser.yy" 7752 { 7753 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); 7754 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) ); 6881 #line 1998 "parser.yy" /* yacc.c:1646 */ 6882 { 6883 typedefTable.addToEnclosingScope2( *(yyvsp[0].tok), TypedefTable::ID ); 6884 (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[-4].decl)->cloneType( (yyvsp[0].tok) ) ); 7755 6885 } 6886 #line 6887 "Parser/parser.cc" /* yacc.c:1646 */ 7756 6887 break; 7757 6888 7758 6889 case 521: 7759 7760 /* Line 1806 of yacc.c */ 7761 #line 2007 "parser.yy" 6890 #line 2006 "parser.yy" /* yacc.c:1646 */ 7762 6891 { 7763 6892 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 7764 (yyval.decl) = (yyvsp[ (2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) );6893 (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); 7765 6894 } 6895 #line 6896 "Parser/parser.cc" /* yacc.c:1646 */ 7766 6896 break; 7767 6897 7768 6898 case 522: 7769 7770 /* Line 1806 of yacc.c */ 7771 #line 2012 "parser.yy" 6899 #line 2011 "parser.yy" /* yacc.c:1646 */ 7772 6900 { 7773 6901 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 7774 (yyval.decl) = (yyvsp[ (1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneBaseType( (yyvsp[(5) - (5)].decl) ) );6902 (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[-4].decl)->cloneBaseType( (yyvsp[0].decl) ) ); 7775 6903 } 6904 #line 6905 "Parser/parser.cc" /* yacc.c:1646 */ 7776 6905 break; 7777 6906 7778 6907 case 523: 7779 7780 /* Line 1806 of yacc.c */ 7781 #line 2022 "parser.yy" 6908 #line 2021 "parser.yy" /* yacc.c:1646 */ 7782 6909 {} 6910 #line 6911 "Parser/parser.cc" /* yacc.c:1646 */ 7783 6911 break; 7784 6912 7785 6913 case 524: 7786 7787 /* Line 1806 of yacc.c */ 7788 #line 2024 "parser.yy" 7789 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl); } 6914 #line 2023 "parser.yy" /* yacc.c:1646 */ 6915 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6916 #line 6917 "Parser/parser.cc" /* yacc.c:1646 */ 7790 6917 break; 7791 6918 7792 6919 case 526: 7793 7794 /* Line 1806 of yacc.c */ 7795 #line 2030 "parser.yy" 7796 { (yyval.decl) = (yyvsp[(1) - (3)].decl) != nullptr ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 6920 #line 2029 "parser.yy" /* yacc.c:1646 */ 6921 { (yyval.decl) = (yyvsp[-2].decl) != nullptr ? (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6922 #line 6923 "Parser/parser.cc" /* yacc.c:1646 */ 7797 6923 break; 7798 6924 7799 6925 case 527: 7800 7801 /* Line 1806 of yacc.c */ 7802 #line 2035 "parser.yy" 7803 { (yyval.decl) = nullptr; } 6926 #line 2034 "parser.yy" /* yacc.c:1646 */ 6927 { (yyval.decl) = 0; } 6928 #line 6929 "Parser/parser.cc" /* yacc.c:1646 */ 7804 6929 break; 7805 6930 7806 6931 case 531: 7807 7808 /* Line 1806 of yacc.c */ 7809 #line 2043 "parser.yy" 6932 #line 2042 "parser.yy" /* yacc.c:1646 */ 7810 6933 {} 6934 #line 6935 "Parser/parser.cc" /* yacc.c:1646 */ 7811 6935 break; 7812 6936 7813 6937 case 532: 7814 7815 /* Line 1806 of yacc.c */ 7816 #line 2045 "parser.yy" 6938 #line 2044 "parser.yy" /* yacc.c:1646 */ 7817 6939 { 7818 6940 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" 7819 linkage = LinkageSpec::linkageCheck( (yyvsp[ (2) - (2)].tok) );6941 linkage = LinkageSpec::linkageCheck( (yyvsp[0].tok) ); 7820 6942 } 6943 #line 6944 "Parser/parser.cc" /* yacc.c:1646 */ 7821 6944 break; 7822 6945 7823 6946 case 533: 7824 7825 /* Line 1806 of yacc.c */ 7826 #line 2050 "parser.yy" 6947 #line 2049 "parser.yy" /* yacc.c:1646 */ 7827 6948 { 7828 6949 linkage = linkageStack.top(); 7829 6950 linkageStack.pop(); 7830 (yyval.decl) = (yyvsp[ (5) - (6)].decl);6951 (yyval.decl) = (yyvsp[-1].decl); 7831 6952 } 6953 #line 6954 "Parser/parser.cc" /* yacc.c:1646 */ 7832 6954 break; 7833 6955 7834 6956 case 534: 7835 7836 /* Line 1806 of yacc.c */ 7837 #line 2056 "parser.yy" 6957 #line 2055 "parser.yy" /* yacc.c:1646 */ 7838 6958 { // mark all fields in list 7839 for ( DeclarationNode *iter = (yyvsp[ (2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )6959 for ( DeclarationNode *iter = (yyvsp[0].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) 7840 6960 iter->set_extension( true ); 7841 (yyval.decl) = (yyvsp[ (2) - (2)].decl);6961 (yyval.decl) = (yyvsp[0].decl); 7842 6962 } 6963 #line 6964 "Parser/parser.cc" /* yacc.c:1646 */ 7843 6964 break; 7844 6965 7845 6966 case 536: 7846 7847 /* Line 1806 of yacc.c */ 7848 #line 2071 "parser.yy" 6967 #line 2070 "parser.yy" /* yacc.c:1646 */ 7849 6968 { 7850 6969 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7851 6970 typedefTable.leaveScope(); 7852 (yyval.decl) = (yyvsp[ (1) - (2)].decl)->addFunctionBody( (yyvsp[(2) - (2)].sn) );6971 (yyval.decl) = (yyvsp[-1].decl)->addFunctionBody( (yyvsp[0].sn) ); 7853 6972 } 6973 #line 6974 "Parser/parser.cc" /* yacc.c:1646 */ 7854 6974 break; 7855 6975 7856 6976 case 537: 7857 7858 /* Line 1806 of yacc.c */ 7859 #line 2077 "parser.yy" 6977 #line 2076 "parser.yy" /* yacc.c:1646 */ 7860 6978 { 7861 6979 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7862 6980 typedefTable.leaveScope(); 7863 (yyval.decl) = (yyvsp[ (1) - (4)].decl)->addOldDeclList( (yyvsp[(3) - (4)].decl) )->addFunctionBody( (yyvsp[(4) - (4)].sn) );6981 (yyval.decl) = (yyvsp[-3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) ); 7864 6982 } 6983 #line 6984 "Parser/parser.cc" /* yacc.c:1646 */ 7865 6984 break; 7866 6985 7867 6986 case 538: 7868 7869 /* Line 1806 of yacc.c */ 7870 #line 2086 "parser.yy" 6987 #line 2085 "parser.yy" /* yacc.c:1646 */ 7871 6988 { 7872 6989 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7873 6990 typedefTable.leaveScope(); 7874 (yyval.decl) = (yyvsp[ (1) - (2)].decl)->addFunctionBody( (yyvsp[(2) - (2)].sn) );6991 (yyval.decl) = (yyvsp[-1].decl)->addFunctionBody( (yyvsp[0].sn) ); 7875 6992 } 6993 #line 6994 "Parser/parser.cc" /* yacc.c:1646 */ 7876 6994 break; 7877 6995 7878 6996 case 539: 7879 7880 /* Line 1806 of yacc.c */ 7881 #line 2092 "parser.yy" 6997 #line 2091 "parser.yy" /* yacc.c:1646 */ 7882 6998 { 7883 6999 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7884 7000 typedefTable.leaveScope(); 7885 (yyval.decl) = (yyvsp[ (2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addType( (yyvsp[(1) - (3)].decl) );7001 (yyval.decl) = (yyvsp[-1].decl)->addFunctionBody( (yyvsp[0].sn) )->addType( (yyvsp[-2].decl) ); 7886 7002 } 7003 #line 7004 "Parser/parser.cc" /* yacc.c:1646 */ 7887 7004 break; 7888 7005 7889 7006 case 540: 7890 7891 /* Line 1806 of yacc.c */ 7892 #line 2098 "parser.yy" 7007 #line 2097 "parser.yy" /* yacc.c:1646 */ 7893 7008 { 7894 7009 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7895 7010 typedefTable.leaveScope(); 7896 (yyval.decl) = (yyvsp[ (2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) );7011 (yyval.decl) = (yyvsp[-1].decl)->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-2].decl) ); 7897 7012 } 7013 #line 7014 "Parser/parser.cc" /* yacc.c:1646 */ 7898 7014 break; 7899 7015 7900 7016 case 541: 7901 7902 /* Line 1806 of yacc.c */ 7903 #line 2104 "parser.yy" 7017 #line 2103 "parser.yy" /* yacc.c:1646 */ 7904 7018 { 7905 7019 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7906 7020 typedefTable.leaveScope(); 7907 (yyval.decl) = (yyvsp[ (2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) );7021 (yyval.decl) = (yyvsp[-1].decl)->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-2].decl) ); 7908 7022 } 7023 #line 7024 "Parser/parser.cc" /* yacc.c:1646 */ 7909 7024 break; 7910 7025 7911 7026 case 542: 7912 7913 /* Line 1806 of yacc.c */ 7914 #line 2110 "parser.yy" 7027 #line 2109 "parser.yy" /* yacc.c:1646 */ 7915 7028 { 7916 7029 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7917 7030 typedefTable.leaveScope(); 7918 (yyval.decl) = (yyvsp[ (3) - (4)].decl)->addFunctionBody( (yyvsp[(4) - (4)].sn) )->addQualifiers( (yyvsp[(2) - (4)].decl) )->addQualifiers( (yyvsp[(1) - (4)].decl) );7031 (yyval.decl) = (yyvsp[-1].decl)->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-2].decl) )->addQualifiers( (yyvsp[-3].decl) ); 7919 7032 } 7033 #line 7034 "Parser/parser.cc" /* yacc.c:1646 */ 7920 7034 break; 7921 7035 7922 7036 case 543: 7923 7924 /* Line 1806 of yacc.c */ 7925 #line 2118 "parser.yy" 7037 #line 2117 "parser.yy" /* yacc.c:1646 */ 7926 7038 { 7927 7039 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7928 7040 typedefTable.leaveScope(); 7929 (yyval.decl) = (yyvsp[ (2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addType( (yyvsp[(1) - (5)].decl) );7041 (yyval.decl) = (yyvsp[-3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addType( (yyvsp[-4].decl) ); 7930 7042 } 7043 #line 7044 "Parser/parser.cc" /* yacc.c:1646 */ 7931 7044 break; 7932 7045 7933 7046 case 544: 7934 7935 /* Line 1806 of yacc.c */ 7936 #line 2124 "parser.yy" 7047 #line 2123 "parser.yy" /* yacc.c:1646 */ 7937 7048 { 7938 7049 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7939 7050 typedefTable.leaveScope(); 7940 (yyval.decl) = (yyvsp[ (2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addQualifiers( (yyvsp[(1) - (5)].decl) );7051 (yyval.decl) = (yyvsp[-3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-4].decl) ); 7941 7052 } 7053 #line 7054 "Parser/parser.cc" /* yacc.c:1646 */ 7942 7054 break; 7943 7055 7944 7056 case 545: 7945 7946 /* Line 1806 of yacc.c */ 7947 #line 2132 "parser.yy" 7057 #line 2131 "parser.yy" /* yacc.c:1646 */ 7948 7058 { 7949 7059 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7950 7060 typedefTable.leaveScope(); 7951 (yyval.decl) = (yyvsp[ (2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addQualifiers( (yyvsp[(1) - (5)].decl) );7061 (yyval.decl) = (yyvsp[-3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-4].decl) ); 7952 7062 } 7063 #line 7064 "Parser/parser.cc" /* yacc.c:1646 */ 7953 7064 break; 7954 7065 7955 7066 case 546: 7956 7957 /* Line 1806 of yacc.c */ 7958 #line 2138 "parser.yy" 7067 #line 2137 "parser.yy" /* yacc.c:1646 */ 7959 7068 { 7960 7069 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7961 7070 typedefTable.leaveScope(); 7962 (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) );7071 (yyval.decl) = (yyvsp[-3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-4].decl) )->addQualifiers( (yyvsp[-5].decl) ); 7963 7072 } 7073 #line 7074 "Parser/parser.cc" /* yacc.c:1646 */ 7964 7074 break; 7965 7075 7966 7076 case 550: 7967 7968 /* Line 1806 of yacc.c */ 7969 #line 2153 "parser.yy" 7970 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 7971 break; 7972 7973 case 551: 7974 7975 /* Line 1806 of yacc.c */ 7976 #line 2158 "parser.yy" 7977 { (yyval.constant) = nullptr; } 7077 #line 2152 "parser.yy" /* yacc.c:1646 */ 7078 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[-2].en), (yyvsp[0].en) ) ); } 7079 #line 7080 "Parser/parser.cc" /* yacc.c:1646 */ 7978 7080 break; 7979 7081 7980 7082 case 552: 7981 7982 /* Line 1806 of yacc.c */ 7983 #line 2160 "parser.yy" 7984 { (yyval.constant) = (yyvsp[(3) - (5)].constant); } 7083 #line 2157 "parser.yy" /* yacc.c:1646 */ 7084 { delete (yyvsp[-2].str); } 7085 #line 7086 "Parser/parser.cc" /* yacc.c:1646 */ 7985 7086 break; 7986 7087 7987 7088 case 553: 7988 7989 /* Line 1806 of yacc.c */ 7990 #line 2165 "parser.yy" 7991 { (yyval.decl) = nullptr; } 7089 #line 2162 "parser.yy" /* yacc.c:1646 */ 7090 { (yyval.decl) = 0; } 7091 #line 7092 "Parser/parser.cc" /* yacc.c:1646 */ 7992 7092 break; 7993 7093 7994 7094 case 556: 7995 7996 /* Line 1806 of yacc.c */ 7997 #line 2172 "parser.yy" 7998 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7095 #line 2169 "parser.yy" /* yacc.c:1646 */ 7096 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 7097 #line 7098 "Parser/parser.cc" /* yacc.c:1646 */ 7999 7098 break; 8000 7099 8001 7100 case 557: 8002 8003 /* Line 1806 of yacc.c */ 8004 #line 2178 "parser.yy" 8005 { (yyval.decl) = nullptr; } 7101 #line 2175 "parser.yy" /* yacc.c:1646 */ 7102 { (yyval.decl) = 0; } 7103 #line 7104 "Parser/parser.cc" /* yacc.c:1646 */ 8006 7104 break; 8007 7105 8008 7106 case 562: 8009 8010 /* Line 1806 of yacc.c */ 8011 #line 2189 "parser.yy" 8012 { delete (yyvsp[(3) - (4)].en); } 7107 #line 2186 "parser.yy" /* yacc.c:1646 */ 7108 { delete (yyvsp[-1].en); } 7109 #line 7110 "Parser/parser.cc" /* yacc.c:1646 */ 8013 7110 break; 8014 7111 8015 7112 case 563: 8016 8017 /* Line 1806 of yacc.c */ 8018 #line 2193 "parser.yy" 8019 { delete (yyvsp[(1) - (1)].tok); } 7113 #line 2190 "parser.yy" /* yacc.c:1646 */ 7114 { delete (yyvsp[0].tok); } 7115 #line 7116 "Parser/parser.cc" /* yacc.c:1646 */ 8020 7116 break; 8021 7117 8022 7118 case 564: 8023 8024 /* Line 1806 of yacc.c */ 8025 #line 2194 "parser.yy" 8026 { delete (yyvsp[(1) - (1)].decl); } 7119 #line 2191 "parser.yy" /* yacc.c:1646 */ 7120 { delete (yyvsp[0].decl); } 7121 #line 7122 "Parser/parser.cc" /* yacc.c:1646 */ 8027 7122 break; 8028 7123 8029 7124 case 565: 8030 8031 /* Line 1806 of yacc.c */ 8032 #line 2195 "parser.yy" 8033 { delete (yyvsp[(1) - (1)].decl); } 7125 #line 2192 "parser.yy" /* yacc.c:1646 */ 7126 { delete (yyvsp[0].decl); } 7127 #line 7128 "Parser/parser.cc" /* yacc.c:1646 */ 8034 7128 break; 8035 7129 8036 7130 case 566: 8037 8038 /* Line 1806 of yacc.c */ 8039 #line 2196 "parser.yy" 8040 { delete (yyvsp[(1) - (1)].decl); } 7131 #line 2193 "parser.yy" /* yacc.c:1646 */ 7132 { delete (yyvsp[0].decl); } 7133 #line 7134 "Parser/parser.cc" /* yacc.c:1646 */ 8041 7134 break; 8042 7135 8043 7136 case 567: 8044 8045 /* Line 1806 of yacc.c */ 8046 #line 2231 "parser.yy" 8047 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7137 #line 2228 "parser.yy" /* yacc.c:1646 */ 7138 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7139 #line 7140 "Parser/parser.cc" /* yacc.c:1646 */ 8048 7140 break; 8049 7141 8050 7142 case 569: 8051 8052 /* Line 1806 of yacc.c */ 8053 #line 2234 "parser.yy" 8054 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7143 #line 2231 "parser.yy" /* yacc.c:1646 */ 7144 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7145 #line 7146 "Parser/parser.cc" /* yacc.c:1646 */ 8055 7146 break; 8056 7147 8057 7148 case 570: 8058 8059 /* Line 1806 of yacc.c */ 8060 #line 2236 "parser.yy" 8061 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7149 #line 2233 "parser.yy" /* yacc.c:1646 */ 7150 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7151 #line 7152 "Parser/parser.cc" /* yacc.c:1646 */ 8062 7152 break; 8063 7153 8064 7154 case 571: 8065 8066 /* Line 1806 of yacc.c */ 8067 #line 2241 "parser.yy" 8068 { 8069 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8070 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 7155 #line 2238 "parser.yy" /* yacc.c:1646 */ 7156 { 7157 typedefTable.setNextIdentifier( *(yyvsp[0].tok) ); 7158 (yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) ); 8071 7159 } 7160 #line 7161 "Parser/parser.cc" /* yacc.c:1646 */ 8072 7161 break; 8073 7162 8074 7163 case 572: 8075 8076 /* Line 1806 of yacc.c */ 8077 #line 2246 "parser.yy" 8078 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7164 #line 2243 "parser.yy" /* yacc.c:1646 */ 7165 { (yyval.decl) = (yyvsp[-1].decl); } 7166 #line 7167 "Parser/parser.cc" /* yacc.c:1646 */ 8079 7167 break; 8080 7168 8081 7169 case 573: 8082 8083 /* Line 1806 of yacc.c */ 8084 #line 2251 "parser.yy" 8085 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7170 #line 2248 "parser.yy" /* yacc.c:1646 */ 7171 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7172 #line 7173 "Parser/parser.cc" /* yacc.c:1646 */ 8086 7173 break; 8087 7174 8088 7175 case 574: 8089 8090 /* Line 1806 of yacc.c */ 8091 #line 2253 "parser.yy" 8092 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7176 #line 2250 "parser.yy" /* yacc.c:1646 */ 7177 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7178 #line 7179 "Parser/parser.cc" /* yacc.c:1646 */ 8093 7179 break; 8094 7180 8095 7181 case 575: 8096 8097 /* Line 1806 of yacc.c */ 8098 #line 2255 "parser.yy" 8099 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7182 #line 2252 "parser.yy" /* yacc.c:1646 */ 7183 { (yyval.decl) = (yyvsp[-1].decl); } 7184 #line 7185 "Parser/parser.cc" /* yacc.c:1646 */ 8100 7185 break; 8101 7186 8102 7187 case 576: 8103 8104 /* Line 1806 of yacc.c */ 8105 #line 2260 "parser.yy" 8106 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7188 #line 2257 "parser.yy" /* yacc.c:1646 */ 7189 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7190 #line 7191 "Parser/parser.cc" /* yacc.c:1646 */ 8107 7191 break; 8108 7192 8109 7193 case 577: 8110 8111 /* Line 1806 of yacc.c */ 8112 #line 2262 "parser.yy" 8113 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7194 #line 2259 "parser.yy" /* yacc.c:1646 */ 7195 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7196 #line 7197 "Parser/parser.cc" /* yacc.c:1646 */ 8114 7197 break; 8115 7198 8116 7199 case 578: 8117 8118 /* Line 1806 of yacc.c */ 8119 #line 2264 "parser.yy" 8120 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7200 #line 2261 "parser.yy" /* yacc.c:1646 */ 7201 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7202 #line 7203 "Parser/parser.cc" /* yacc.c:1646 */ 8121 7203 break; 8122 7204 8123 7205 case 579: 8124 8125 /* Line 1806 of yacc.c */ 8126 #line 2266 "parser.yy" 8127 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7206 #line 2263 "parser.yy" /* yacc.c:1646 */ 7207 { (yyval.decl) = (yyvsp[-1].decl); } 7208 #line 7209 "Parser/parser.cc" /* yacc.c:1646 */ 8128 7209 break; 8129 7210 8130 7211 case 580: 8131 8132 /* Line 1806 of yacc.c */ 8133 #line 2271 "parser.yy" 8134 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7212 #line 2268 "parser.yy" /* yacc.c:1646 */ 7213 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7214 #line 7215 "Parser/parser.cc" /* yacc.c:1646 */ 8135 7215 break; 8136 7216 8137 7217 case 581: 8138 8139 /* Line 1806 of yacc.c */ 8140 #line 2273 "parser.yy" 8141 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7218 #line 2270 "parser.yy" /* yacc.c:1646 */ 7219 { (yyval.decl) = (yyvsp[-1].decl); } 7220 #line 7221 "Parser/parser.cc" /* yacc.c:1646 */ 8142 7221 break; 8143 7222 8144 7223 case 582: 8145 8146 /* Line 1806 of yacc.c */ 8147 #line 2282 "parser.yy" 8148 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7224 #line 2279 "parser.yy" /* yacc.c:1646 */ 7225 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7226 #line 7227 "Parser/parser.cc" /* yacc.c:1646 */ 8149 7227 break; 8150 7228 8151 7229 case 584: 8152 8153 /* Line 1806 of yacc.c */ 8154 #line 2285 "parser.yy" 8155 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7230 #line 2282 "parser.yy" /* yacc.c:1646 */ 7231 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7232 #line 7233 "Parser/parser.cc" /* yacc.c:1646 */ 8156 7233 break; 8157 7234 8158 7235 case 585: 8159 8160 /* Line 1806 of yacc.c */ 8161 #line 2290 "parser.yy" 8162 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7236 #line 2287 "parser.yy" /* yacc.c:1646 */ 7237 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7238 #line 7239 "Parser/parser.cc" /* yacc.c:1646 */ 8163 7239 break; 8164 7240 8165 7241 case 586: 8166 8167 /* Line 1806 of yacc.c */ 8168 #line 2292 "parser.yy" 8169 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7242 #line 2289 "parser.yy" /* yacc.c:1646 */ 7243 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7244 #line 7245 "Parser/parser.cc" /* yacc.c:1646 */ 8170 7245 break; 8171 7246 8172 7247 case 587: 8173 8174 /* Line 1806 of yacc.c */ 8175 #line 2294 "parser.yy" 8176 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7248 #line 2291 "parser.yy" /* yacc.c:1646 */ 7249 { (yyval.decl) = (yyvsp[-1].decl); } 7250 #line 7251 "Parser/parser.cc" /* yacc.c:1646 */ 8177 7251 break; 8178 7252 8179 7253 case 588: 8180 8181 /* Line 1806 of yacc.c */ 8182 #line 2299 "parser.yy" 8183 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7254 #line 2296 "parser.yy" /* yacc.c:1646 */ 7255 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7256 #line 7257 "Parser/parser.cc" /* yacc.c:1646 */ 8184 7257 break; 8185 7258 8186 7259 case 589: 8187 8188 /* Line 1806 of yacc.c */ 8189 #line 2301 "parser.yy" 8190 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7260 #line 2298 "parser.yy" /* yacc.c:1646 */ 7261 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7262 #line 7263 "Parser/parser.cc" /* yacc.c:1646 */ 8191 7263 break; 8192 7264 8193 7265 case 590: 8194 8195 /* Line 1806 of yacc.c */ 8196 #line 2303 "parser.yy" 8197 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7266 #line 2300 "parser.yy" /* yacc.c:1646 */ 7267 { (yyval.decl) = (yyvsp[-1].decl); } 7268 #line 7269 "Parser/parser.cc" /* yacc.c:1646 */ 8198 7269 break; 8199 7270 8200 7271 case 591: 8201 8202 /* Line 1806 of yacc.c */ 8203 #line 2308 "parser.yy" 8204 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7272 #line 2305 "parser.yy" /* yacc.c:1646 */ 7273 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7274 #line 7275 "Parser/parser.cc" /* yacc.c:1646 */ 8205 7275 break; 8206 7276 8207 7277 case 592: 8208 8209 /* Line 1806 of yacc.c */ 8210 #line 2310 "parser.yy" 8211 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7278 #line 2307 "parser.yy" /* yacc.c:1646 */ 7279 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7280 #line 7281 "Parser/parser.cc" /* yacc.c:1646 */ 8212 7281 break; 8213 7282 8214 7283 case 593: 8215 8216 /* Line 1806 of yacc.c */ 8217 #line 2312 "parser.yy" 8218 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7284 #line 2309 "parser.yy" /* yacc.c:1646 */ 7285 { (yyval.decl) = (yyvsp[-1].decl); } 7286 #line 7287 "Parser/parser.cc" /* yacc.c:1646 */ 8219 7287 break; 8220 7288 8221 7289 case 597: 8222 8223 /* Line 1806 of yacc.c */ 8224 #line 2327 "parser.yy" 8225 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 7290 #line 2324 "parser.yy" /* yacc.c:1646 */ 7291 { (yyval.decl) = (yyvsp[-3].decl)->addIdList( (yyvsp[-1].decl) ); } 7292 #line 7293 "Parser/parser.cc" /* yacc.c:1646 */ 8226 7293 break; 8227 7294 8228 7295 case 598: 8229 8230 /* Line 1806 of yacc.c */ 8231 #line 2329 "parser.yy" 8232 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 7296 #line 2326 "parser.yy" /* yacc.c:1646 */ 7297 { (yyval.decl) = (yyvsp[-4].decl)->addIdList( (yyvsp[-1].decl) ); } 7298 #line 7299 "Parser/parser.cc" /* yacc.c:1646 */ 8233 7299 break; 8234 7300 8235 7301 case 599: 8236 8237 /* Line 1806 of yacc.c */ 8238 #line 2331 "parser.yy" 8239 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7302 #line 2328 "parser.yy" /* yacc.c:1646 */ 7303 { (yyval.decl) = (yyvsp[-1].decl); } 7304 #line 7305 "Parser/parser.cc" /* yacc.c:1646 */ 8240 7305 break; 8241 7306 8242 7307 case 600: 8243 8244 /* Line 1806 of yacc.c */ 8245 #line 2336 "parser.yy" 8246 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7308 #line 2333 "parser.yy" /* yacc.c:1646 */ 7309 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7310 #line 7311 "Parser/parser.cc" /* yacc.c:1646 */ 8247 7311 break; 8248 7312 8249 7313 case 601: 8250 8251 /* Line 1806 of yacc.c */ 8252 #line 2338 "parser.yy" 8253 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7314 #line 2335 "parser.yy" /* yacc.c:1646 */ 7315 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7316 #line 7317 "Parser/parser.cc" /* yacc.c:1646 */ 8254 7317 break; 8255 7318 8256 7319 case 602: 8257 8258 /* Line 1806 of yacc.c */ 8259 #line 2340 "parser.yy" 8260 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7320 #line 2337 "parser.yy" /* yacc.c:1646 */ 7321 { (yyval.decl) = (yyvsp[-1].decl); } 7322 #line 7323 "Parser/parser.cc" /* yacc.c:1646 */ 8261 7323 break; 8262 7324 8263 7325 case 603: 8264 8265 /* Line 1806 of yacc.c */ 8266 #line 2345 "parser.yy" 8267 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7326 #line 2342 "parser.yy" /* yacc.c:1646 */ 7327 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7328 #line 7329 "Parser/parser.cc" /* yacc.c:1646 */ 8268 7329 break; 8269 7330 8270 7331 case 604: 8271 8272 /* Line 1806 of yacc.c */ 8273 #line 2347 "parser.yy" 8274 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7332 #line 2344 "parser.yy" /* yacc.c:1646 */ 7333 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7334 #line 7335 "Parser/parser.cc" /* yacc.c:1646 */ 8275 7335 break; 8276 7336 8277 7337 case 605: 8278 8279 /* Line 1806 of yacc.c */ 8280 #line 2349 "parser.yy" 8281 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7338 #line 2346 "parser.yy" /* yacc.c:1646 */ 7339 { (yyval.decl) = (yyvsp[-1].decl); } 7340 #line 7341 "Parser/parser.cc" /* yacc.c:1646 */ 8282 7341 break; 8283 7342 8284 7343 case 606: 8285 8286 /* Line 1806 of yacc.c */ 8287 #line 2364 "parser.yy" 8288 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7344 #line 2361 "parser.yy" /* yacc.c:1646 */ 7345 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7346 #line 7347 "Parser/parser.cc" /* yacc.c:1646 */ 8289 7347 break; 8290 7348 8291 7349 case 608: 8292 8293 /* Line 1806 of yacc.c */ 8294 #line 2367 "parser.yy" 8295 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7350 #line 2364 "parser.yy" /* yacc.c:1646 */ 7351 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7352 #line 7353 "Parser/parser.cc" /* yacc.c:1646 */ 8296 7353 break; 8297 7354 8298 7355 case 609: 8299 8300 /* Line 1806 of yacc.c */ 8301 #line 2369 "parser.yy" 8302 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7356 #line 2366 "parser.yy" /* yacc.c:1646 */ 7357 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7358 #line 7359 "Parser/parser.cc" /* yacc.c:1646 */ 8303 7359 break; 8304 7360 8305 7361 case 611: 8306 8307 /* Line 1806 of yacc.c */ 8308 #line 2375 "parser.yy" 8309 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7362 #line 2372 "parser.yy" /* yacc.c:1646 */ 7363 { (yyval.decl) = (yyvsp[-1].decl); } 7364 #line 7365 "Parser/parser.cc" /* yacc.c:1646 */ 8310 7365 break; 8311 7366 8312 7367 case 612: 8313 8314 /* Line 1806 of yacc.c */ 8315 #line 2380 "parser.yy" 8316 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7368 #line 2377 "parser.yy" /* yacc.c:1646 */ 7369 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7370 #line 7371 "Parser/parser.cc" /* yacc.c:1646 */ 8317 7371 break; 8318 7372 8319 7373 case 613: 8320 8321 /* Line 1806 of yacc.c */ 8322 #line 2382 "parser.yy" 8323 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7374 #line 2379 "parser.yy" /* yacc.c:1646 */ 7375 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7376 #line 7377 "Parser/parser.cc" /* yacc.c:1646 */ 8324 7377 break; 8325 7378 8326 7379 case 614: 8327 8328 /* Line 1806 of yacc.c */ 8329 #line 2384 "parser.yy" 8330 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7380 #line 2381 "parser.yy" /* yacc.c:1646 */ 7381 { (yyval.decl) = (yyvsp[-1].decl); } 7382 #line 7383 "Parser/parser.cc" /* yacc.c:1646 */ 8331 7383 break; 8332 7384 8333 7385 case 615: 8334 8335 /* Line 1806 of yacc.c */ 8336 #line 2389 "parser.yy" 8337 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7386 #line 2386 "parser.yy" /* yacc.c:1646 */ 7387 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7388 #line 7389 "Parser/parser.cc" /* yacc.c:1646 */ 8338 7389 break; 8339 7390 8340 7391 case 616: 8341 8342 /* Line 1806 of yacc.c */ 8343 #line 2391 "parser.yy" 8344 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7392 #line 2388 "parser.yy" /* yacc.c:1646 */ 7393 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7394 #line 7395 "Parser/parser.cc" /* yacc.c:1646 */ 8345 7395 break; 8346 7396 8347 7397 case 617: 8348 8349 /* Line 1806 of yacc.c */ 8350 #line 2393 "parser.yy" 8351 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7398 #line 2390 "parser.yy" /* yacc.c:1646 */ 7399 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7400 #line 7401 "Parser/parser.cc" /* yacc.c:1646 */ 8352 7401 break; 8353 7402 8354 7403 case 618: 8355 8356 /* Line 1806 of yacc.c */ 8357 #line 2395 "parser.yy" 8358 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7404 #line 2392 "parser.yy" /* yacc.c:1646 */ 7405 { (yyval.decl) = (yyvsp[-1].decl); } 7406 #line 7407 "Parser/parser.cc" /* yacc.c:1646 */ 8359 7407 break; 8360 7408 8361 7409 case 619: 8362 8363 /* Line 1806 of yacc.c */ 8364 #line 2400 "parser.yy" 8365 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7410 #line 2397 "parser.yy" /* yacc.c:1646 */ 7411 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7412 #line 7413 "Parser/parser.cc" /* yacc.c:1646 */ 8366 7413 break; 8367 7414 8368 7415 case 620: 8369 8370 /* Line 1806 of yacc.c */ 8371 #line 2402 "parser.yy" 8372 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7416 #line 2399 "parser.yy" /* yacc.c:1646 */ 7417 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7418 #line 7419 "Parser/parser.cc" /* yacc.c:1646 */ 8373 7419 break; 8374 7420 8375 7421 case 621: 8376 8377 /* Line 1806 of yacc.c */ 8378 #line 2404 "parser.yy" 8379 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7422 #line 2401 "parser.yy" /* yacc.c:1646 */ 7423 { (yyval.decl) = (yyvsp[-1].decl); } 7424 #line 7425 "Parser/parser.cc" /* yacc.c:1646 */ 8380 7425 break; 8381 7426 8382 7427 case 622: 8383 8384 /* Line 1806 of yacc.c */ 8385 #line 2414 "parser.yy" 8386 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7428 #line 2411 "parser.yy" /* yacc.c:1646 */ 7429 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7430 #line 7431 "Parser/parser.cc" /* yacc.c:1646 */ 8387 7431 break; 8388 7432 8389 7433 case 624: 8390 8391 /* Line 1806 of yacc.c */ 8392 #line 2417 "parser.yy" 8393 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7434 #line 2414 "parser.yy" /* yacc.c:1646 */ 7435 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7436 #line 7437 "Parser/parser.cc" /* yacc.c:1646 */ 8394 7437 break; 8395 7438 8396 7439 case 625: 8397 8398 /* Line 1806 of yacc.c */ 8399 #line 2419 "parser.yy" 8400 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7440 #line 2416 "parser.yy" /* yacc.c:1646 */ 7441 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7442 #line 7443 "Parser/parser.cc" /* yacc.c:1646 */ 8401 7443 break; 8402 7444 8403 7445 case 626: 8404 8405 /* Line 1806 of yacc.c */ 8406 #line 2424 "parser.yy" 8407 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7446 #line 2421 "parser.yy" /* yacc.c:1646 */ 7447 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7448 #line 7449 "Parser/parser.cc" /* yacc.c:1646 */ 8408 7449 break; 8409 7450 8410 7451 case 627: 8411 8412 /* Line 1806 of yacc.c */ 8413 #line 2426 "parser.yy" 8414 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7452 #line 2423 "parser.yy" /* yacc.c:1646 */ 7453 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7454 #line 7455 "Parser/parser.cc" /* yacc.c:1646 */ 8415 7455 break; 8416 7456 8417 7457 case 628: 8418 8419 /* Line 1806 of yacc.c */ 8420 #line 2428 "parser.yy" 8421 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7458 #line 2425 "parser.yy" /* yacc.c:1646 */ 7459 { (yyval.decl) = (yyvsp[-1].decl); } 7460 #line 7461 "Parser/parser.cc" /* yacc.c:1646 */ 8422 7461 break; 8423 7462 8424 7463 case 629: 8425 8426 /* Line 1806 of yacc.c */ 8427 #line 2433 "parser.yy" 8428 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7464 #line 2430 "parser.yy" /* yacc.c:1646 */ 7465 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7466 #line 7467 "Parser/parser.cc" /* yacc.c:1646 */ 8429 7467 break; 8430 7468 8431 7469 case 630: 8432 8433 /* Line 1806 of yacc.c */ 8434 #line 2435 "parser.yy" 8435 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7470 #line 2432 "parser.yy" /* yacc.c:1646 */ 7471 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7472 #line 7473 "Parser/parser.cc" /* yacc.c:1646 */ 8436 7473 break; 8437 7474 8438 7475 case 631: 8439 8440 /* Line 1806 of yacc.c */ 8441 #line 2437 "parser.yy" 8442 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7476 #line 2434 "parser.yy" /* yacc.c:1646 */ 7477 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7478 #line 7479 "Parser/parser.cc" /* yacc.c:1646 */ 8443 7479 break; 8444 7480 8445 7481 case 632: 8446 8447 /* Line 1806 of yacc.c */ 8448 #line 2439 "parser.yy" 8449 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7482 #line 2436 "parser.yy" /* yacc.c:1646 */ 7483 { (yyval.decl) = (yyvsp[-1].decl); } 7484 #line 7485 "Parser/parser.cc" /* yacc.c:1646 */ 8450 7485 break; 8451 7486 8452 7487 case 633: 8453 8454 /* Line 1806 of yacc.c */ 8455 #line 2444 "parser.yy" 8456 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7488 #line 2441 "parser.yy" /* yacc.c:1646 */ 7489 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7490 #line 7491 "Parser/parser.cc" /* yacc.c:1646 */ 8457 7491 break; 8458 7492 8459 7493 case 634: 8460 8461 /* Line 1806 of yacc.c */ 8462 #line 2446 "parser.yy" 8463 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7494 #line 2443 "parser.yy" /* yacc.c:1646 */ 7495 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7496 #line 7497 "Parser/parser.cc" /* yacc.c:1646 */ 8464 7497 break; 8465 7498 8466 7499 case 635: 8467 8468 /* Line 1806 of yacc.c */ 8469 #line 2448 "parser.yy" 8470 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7500 #line 2445 "parser.yy" /* yacc.c:1646 */ 7501 { (yyval.decl) = (yyvsp[-1].decl); } 7502 #line 7503 "Parser/parser.cc" /* yacc.c:1646 */ 8471 7503 break; 8472 7504 8473 7505 case 636: 8474 8475 /* Line 1806 of yacc.c */ 8476 #line 2479 "parser.yy" 8477 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7506 #line 2476 "parser.yy" /* yacc.c:1646 */ 7507 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7508 #line 7509 "Parser/parser.cc" /* yacc.c:1646 */ 8478 7509 break; 8479 7510 8480 7511 case 638: 8481 8482 /* Line 1806 of yacc.c */ 8483 #line 2482 "parser.yy" 8484 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7512 #line 2479 "parser.yy" /* yacc.c:1646 */ 7513 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7514 #line 7515 "Parser/parser.cc" /* yacc.c:1646 */ 8485 7515 break; 8486 7516 8487 7517 case 639: 8488 8489 /* Line 1806 of yacc.c */ 8490 #line 2484 "parser.yy" 8491 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7518 #line 2481 "parser.yy" /* yacc.c:1646 */ 7519 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7520 #line 7521 "Parser/parser.cc" /* yacc.c:1646 */ 8492 7521 break; 8493 7522 8494 7523 case 640: 8495 8496 /* Line 1806 of yacc.c */ 8497 #line 2489 "parser.yy" 8498 { 8499 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8500 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 7524 #line 2486 "parser.yy" /* yacc.c:1646 */ 7525 { 7526 typedefTable.setNextIdentifier( *(yyvsp[0].tok) ); 7527 (yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) ); 8501 7528 } 7529 #line 7530 "Parser/parser.cc" /* yacc.c:1646 */ 8502 7530 break; 8503 7531 8504 7532 case 641: 8505 8506 /* Line 1806 of yacc.c */ 8507 #line 2494 "parser.yy" 8508 { 8509 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8510 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 7533 #line 2491 "parser.yy" /* yacc.c:1646 */ 7534 { 7535 typedefTable.setNextIdentifier( *(yyvsp[0].tok) ); 7536 (yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) ); 8511 7537 } 7538 #line 7539 "Parser/parser.cc" /* yacc.c:1646 */ 8512 7539 break; 8513 7540 8514 7541 case 642: 8515 8516 /* Line 1806 of yacc.c */ 8517 #line 2502 "parser.yy" 8518 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7542 #line 2499 "parser.yy" /* yacc.c:1646 */ 7543 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7544 #line 7545 "Parser/parser.cc" /* yacc.c:1646 */ 8519 7545 break; 8520 7546 8521 7547 case 643: 8522 8523 /* Line 1806 of yacc.c */ 8524 #line 2504 "parser.yy" 8525 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7548 #line 2501 "parser.yy" /* yacc.c:1646 */ 7549 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7550 #line 7551 "Parser/parser.cc" /* yacc.c:1646 */ 8526 7551 break; 8527 7552 8528 7553 case 644: 8529 8530 /* Line 1806 of yacc.c */ 8531 #line 2506 "parser.yy" 8532 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7554 #line 2503 "parser.yy" /* yacc.c:1646 */ 7555 { (yyval.decl) = (yyvsp[-1].decl); } 7556 #line 7557 "Parser/parser.cc" /* yacc.c:1646 */ 8533 7557 break; 8534 7558 8535 7559 case 645: 8536 8537 /* Line 1806 of yacc.c */ 8538 #line 2511 "parser.yy" 8539 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7560 #line 2508 "parser.yy" /* yacc.c:1646 */ 7561 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7562 #line 7563 "Parser/parser.cc" /* yacc.c:1646 */ 8540 7563 break; 8541 7564 8542 7565 case 646: 8543 8544 /* Line 1806 of yacc.c */ 8545 #line 2513 "parser.yy" 8546 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7566 #line 2510 "parser.yy" /* yacc.c:1646 */ 7567 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7568 #line 7569 "Parser/parser.cc" /* yacc.c:1646 */ 8547 7569 break; 8548 7570 8549 7571 case 647: 8550 8551 /* Line 1806 of yacc.c */ 8552 #line 2518 "parser.yy" 8553 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7572 #line 2515 "parser.yy" /* yacc.c:1646 */ 7573 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7574 #line 7575 "Parser/parser.cc" /* yacc.c:1646 */ 8554 7575 break; 8555 7576 8556 7577 case 648: 8557 8558 /* Line 1806 of yacc.c */ 8559 #line 2520 "parser.yy" 8560 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7578 #line 2517 "parser.yy" /* yacc.c:1646 */ 7579 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7580 #line 7581 "Parser/parser.cc" /* yacc.c:1646 */ 8561 7581 break; 8562 7582 8563 7583 case 650: 8564 8565 /* Line 1806 of yacc.c */ 8566 #line 2535 "parser.yy" 8567 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7584 #line 2532 "parser.yy" /* yacc.c:1646 */ 7585 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7586 #line 7587 "Parser/parser.cc" /* yacc.c:1646 */ 8568 7587 break; 8569 7588 8570 7589 case 651: 8571 8572 /* Line 1806 of yacc.c */ 8573 #line 2537 "parser.yy" 8574 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7590 #line 2534 "parser.yy" /* yacc.c:1646 */ 7591 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7592 #line 7593 "Parser/parser.cc" /* yacc.c:1646 */ 8575 7593 break; 8576 7594 8577 7595 case 652: 8578 8579 /* Line 1806 of yacc.c */ 8580 #line 2542 "parser.yy" 7596 #line 2539 "parser.yy" /* yacc.c:1646 */ 8581 7597 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 7598 #line 7599 "Parser/parser.cc" /* yacc.c:1646 */ 8582 7599 break; 8583 7600 8584 7601 case 653: 8585 8586 /* Line 1806 of yacc.c */ 8587 #line 2544 "parser.yy" 8588 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 7602 #line 2541 "parser.yy" /* yacc.c:1646 */ 7603 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); } 7604 #line 7605 "Parser/parser.cc" /* yacc.c:1646 */ 8589 7605 break; 8590 7606 8591 7607 case 654: 8592 8593 /* Line 1806 of yacc.c */ 8594 #line 2546 "parser.yy" 8595 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7608 #line 2543 "parser.yy" /* yacc.c:1646 */ 7609 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7610 #line 7611 "Parser/parser.cc" /* yacc.c:1646 */ 8596 7611 break; 8597 7612 8598 7613 case 655: 8599 8600 /* Line 1806 of yacc.c */ 8601 #line 2548 "parser.yy" 8602 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7614 #line 2545 "parser.yy" /* yacc.c:1646 */ 7615 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7616 #line 7617 "Parser/parser.cc" /* yacc.c:1646 */ 8603 7617 break; 8604 7618 8605 7619 case 656: 8606 8607 /* Line 1806 of yacc.c */ 8608 #line 2550 "parser.yy" 8609 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7620 #line 2547 "parser.yy" /* yacc.c:1646 */ 7621 { (yyval.decl) = (yyvsp[-1].decl); } 7622 #line 7623 "Parser/parser.cc" /* yacc.c:1646 */ 8610 7623 break; 8611 7624 8612 7625 case 658: 8613 8614 /* Line 1806 of yacc.c */ 8615 #line 2556 "parser.yy" 8616 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7626 #line 2553 "parser.yy" /* yacc.c:1646 */ 7627 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7628 #line 7629 "Parser/parser.cc" /* yacc.c:1646 */ 8617 7629 break; 8618 7630 8619 7631 case 659: 8620 8621 /* Line 1806 of yacc.c */ 8622 #line 2558 "parser.yy" 8623 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7632 #line 2555 "parser.yy" /* yacc.c:1646 */ 7633 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7634 #line 7635 "Parser/parser.cc" /* yacc.c:1646 */ 8624 7635 break; 8625 7636 8626 7637 case 660: 8627 8628 /* Line 1806 of yacc.c */ 8629 #line 2560 "parser.yy" 8630 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7638 #line 2557 "parser.yy" /* yacc.c:1646 */ 7639 { (yyval.decl) = (yyvsp[-1].decl); } 7640 #line 7641 "Parser/parser.cc" /* yacc.c:1646 */ 8631 7641 break; 8632 7642 8633 7643 case 661: 8634 8635 /* Line 1806 of yacc.c */ 8636 #line 2565 "parser.yy" 8637 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 7644 #line 2562 "parser.yy" /* yacc.c:1646 */ 7645 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[-2].decl), nullptr ); } 7646 #line 7647 "Parser/parser.cc" /* yacc.c:1646 */ 8638 7647 break; 8639 7648 8640 7649 case 662: 8641 8642 /* Line 1806 of yacc.c */ 8643 #line 2567 "parser.yy" 8644 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7650 #line 2564 "parser.yy" /* yacc.c:1646 */ 7651 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7652 #line 7653 "Parser/parser.cc" /* yacc.c:1646 */ 8645 7653 break; 8646 7654 8647 7655 case 663: 8648 8649 /* Line 1806 of yacc.c */ 8650 #line 2569 "parser.yy" 8651 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7656 #line 2566 "parser.yy" /* yacc.c:1646 */ 7657 { (yyval.decl) = (yyvsp[-1].decl); } 7658 #line 7659 "Parser/parser.cc" /* yacc.c:1646 */ 8652 7659 break; 8653 7660 8654 7661 case 664: 8655 8656 /* Line 1806 of yacc.c */ 8657 #line 2575 "parser.yy" 7662 #line 2572 "parser.yy" /* yacc.c:1646 */ 8658 7663 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 7664 #line 7665 "Parser/parser.cc" /* yacc.c:1646 */ 8659 7665 break; 8660 7666 8661 7667 case 665: 8662 8663 /* Line 1806 of yacc.c */ 8664 #line 2577 "parser.yy" 8665 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 7668 #line 2574 "parser.yy" /* yacc.c:1646 */ 7669 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[0].decl) ); } 7670 #line 7671 "Parser/parser.cc" /* yacc.c:1646 */ 8666 7671 break; 8667 7672 8668 7673 case 667: 8669 8670 /* Line 1806 of yacc.c */ 8671 #line 2583 "parser.yy" 8672 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 7674 #line 2580 "parser.yy" /* yacc.c:1646 */ 7675 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), 0, false ); } 7676 #line 7677 "Parser/parser.cc" /* yacc.c:1646 */ 8673 7677 break; 8674 7678 8675 7679 case 668: 8676 8677 /* Line 1806 of yacc.c */ 8678 #line 2585 "parser.yy" 7680 #line 2582 "parser.yy" /* yacc.c:1646 */ 8679 7681 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 7682 #line 7683 "Parser/parser.cc" /* yacc.c:1646 */ 8680 7683 break; 8681 7684 8682 7685 case 669: 8683 8684 /* Line 1806 of yacc.c */ 8685 #line 2587 "parser.yy" 8686 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 7686 #line 2584 "parser.yy" /* yacc.c:1646 */ 7687 { (yyval.decl) = (yyvsp[-5].decl)->addArray( DeclarationNode::newArray( (yyvsp[-2].en), 0, false ) ); } 7688 #line 7689 "Parser/parser.cc" /* yacc.c:1646 */ 8687 7689 break; 8688 7690 8689 7691 case 670: 8690 8691 /* Line 1806 of yacc.c */ 8692 #line 2589 "parser.yy" 8693 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 7692 #line 2586 "parser.yy" /* yacc.c:1646 */ 7693 { (yyval.decl) = (yyvsp[-5].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 7694 #line 7695 "Parser/parser.cc" /* yacc.c:1646 */ 8694 7695 break; 8695 7696 8696 7697 case 672: 8697 8698 /* Line 1806 of yacc.c */ 8699 #line 2604 "parser.yy" 8700 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7698 #line 2601 "parser.yy" /* yacc.c:1646 */ 7699 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7700 #line 7701 "Parser/parser.cc" /* yacc.c:1646 */ 8701 7701 break; 8702 7702 8703 7703 case 673: 8704 8705 /* Line 1806 of yacc.c */ 8706 #line 2606 "parser.yy" 8707 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7704 #line 2603 "parser.yy" /* yacc.c:1646 */ 7705 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7706 #line 7707 "Parser/parser.cc" /* yacc.c:1646 */ 8708 7707 break; 8709 7708 8710 7709 case 674: 8711 8712 /* Line 1806 of yacc.c */ 8713 #line 2611 "parser.yy" 7710 #line 2608 "parser.yy" /* yacc.c:1646 */ 8714 7711 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 7712 #line 7713 "Parser/parser.cc" /* yacc.c:1646 */ 8715 7713 break; 8716 7714 8717 7715 case 675: 8718 8719 /* Line 1806 of yacc.c */ 8720 #line 2613 "parser.yy" 8721 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 7716 #line 2610 "parser.yy" /* yacc.c:1646 */ 7717 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); } 7718 #line 7719 "Parser/parser.cc" /* yacc.c:1646 */ 8722 7719 break; 8723 7720 8724 7721 case 676: 8725 8726 /* Line 1806 of yacc.c */ 8727 #line 2615 "parser.yy" 8728 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7722 #line 2612 "parser.yy" /* yacc.c:1646 */ 7723 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7724 #line 7725 "Parser/parser.cc" /* yacc.c:1646 */ 8729 7725 break; 8730 7726 8731 7727 case 677: 8732 8733 /* Line 1806 of yacc.c */ 8734 #line 2617 "parser.yy" 8735 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7728 #line 2614 "parser.yy" /* yacc.c:1646 */ 7729 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7730 #line 7731 "Parser/parser.cc" /* yacc.c:1646 */ 8736 7731 break; 8737 7732 8738 7733 case 678: 8739 8740 /* Line 1806 of yacc.c */ 8741 #line 2619 "parser.yy" 8742 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7734 #line 2616 "parser.yy" /* yacc.c:1646 */ 7735 { (yyval.decl) = (yyvsp[-1].decl); } 7736 #line 7737 "Parser/parser.cc" /* yacc.c:1646 */ 8743 7737 break; 8744 7738 8745 7739 case 680: 8746 8747 /* Line 1806 of yacc.c */ 8748 #line 2625 "parser.yy" 8749 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7740 #line 2622 "parser.yy" /* yacc.c:1646 */ 7741 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7742 #line 7743 "Parser/parser.cc" /* yacc.c:1646 */ 8750 7743 break; 8751 7744 8752 7745 case 681: 8753 8754 /* Line 1806 of yacc.c */ 8755 #line 2627 "parser.yy" 8756 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7746 #line 2624 "parser.yy" /* yacc.c:1646 */ 7747 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7748 #line 7749 "Parser/parser.cc" /* yacc.c:1646 */ 8757 7749 break; 8758 7750 8759 7751 case 682: 8760 8761 /* Line 1806 of yacc.c */ 8762 #line 2629 "parser.yy" 8763 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7752 #line 2626 "parser.yy" /* yacc.c:1646 */ 7753 { (yyval.decl) = (yyvsp[-1].decl); } 7754 #line 7755 "Parser/parser.cc" /* yacc.c:1646 */ 8764 7755 break; 8765 7756 8766 7757 case 683: 8767 8768 /* Line 1806 of yacc.c */ 8769 #line 2634 "parser.yy" 8770 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 7758 #line 2631 "parser.yy" /* yacc.c:1646 */ 7759 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[-2].decl), nullptr ); } 7760 #line 7761 "Parser/parser.cc" /* yacc.c:1646 */ 8771 7761 break; 8772 7762 8773 7763 case 684: 8774 8775 /* Line 1806 of yacc.c */ 8776 #line 2636 "parser.yy" 8777 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7764 #line 2633 "parser.yy" /* yacc.c:1646 */ 7765 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7766 #line 7767 "Parser/parser.cc" /* yacc.c:1646 */ 8778 7767 break; 8779 7768 8780 7769 case 685: 8781 8782 /* Line 1806 of yacc.c */ 8783 #line 2638 "parser.yy" 8784 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7770 #line 2635 "parser.yy" /* yacc.c:1646 */ 7771 { (yyval.decl) = (yyvsp[-1].decl); } 7772 #line 7773 "Parser/parser.cc" /* yacc.c:1646 */ 8785 7773 break; 8786 7774 8787 7775 case 687: 8788 8789 /* Line 1806 of yacc.c */ 8790 #line 2645 "parser.yy" 8791 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7776 #line 2642 "parser.yy" /* yacc.c:1646 */ 7777 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7778 #line 7779 "Parser/parser.cc" /* yacc.c:1646 */ 8792 7779 break; 8793 7780 8794 7781 case 689: 8795 8796 /* Line 1806 of yacc.c */ 8797 #line 2656 "parser.yy" 7782 #line 2653 "parser.yy" /* yacc.c:1646 */ 8798 7783 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 7784 #line 7785 "Parser/parser.cc" /* yacc.c:1646 */ 8799 7785 break; 8800 7786 8801 7787 case 690: 8802 8803 /* Line 1806 of yacc.c */ 8804 #line 2659 "parser.yy" 8805 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 7788 #line 2656 "parser.yy" /* yacc.c:1646 */ 7789 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[-3].decl) ); } 7790 #line 7791 "Parser/parser.cc" /* yacc.c:1646 */ 8806 7791 break; 8807 7792 8808 7793 case 691: 8809 8810 /* Line 1806 of yacc.c */ 8811 #line 2661 "parser.yy" 8812 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 7794 #line 2658 "parser.yy" /* yacc.c:1646 */ 7795 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[-2].decl), false ); } 7796 #line 7797 "Parser/parser.cc" /* yacc.c:1646 */ 8813 7797 break; 8814 7798 8815 7799 case 692: 8816 8817 /* Line 1806 of yacc.c */ 8818 #line 2664 "parser.yy" 8819 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 7800 #line 2661 "parser.yy" /* yacc.c:1646 */ 7801 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), false ); } 7802 #line 7803 "Parser/parser.cc" /* yacc.c:1646 */ 8820 7803 break; 8821 7804 8822 7805 case 693: 8823 8824 /* Line 1806 of yacc.c */ 8825 #line 2666 "parser.yy" 8826 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 7806 #line 2663 "parser.yy" /* yacc.c:1646 */ 7807 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), true ); } 7808 #line 7809 "Parser/parser.cc" /* yacc.c:1646 */ 8827 7809 break; 8828 7810 8829 7811 case 694: 8830 8831 /* Line 1806 of yacc.c */ 8832 #line 2668 "parser.yy" 8833 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 7812 #line 2665 "parser.yy" /* yacc.c:1646 */ 7813 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-4].decl), true ); } 7814 #line 7815 "Parser/parser.cc" /* yacc.c:1646 */ 8834 7815 break; 8835 7816 8836 7817 case 696: 8837 8838 /* Line 1806 of yacc.c */ 8839 #line 2682 "parser.yy" 8840 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7818 #line 2679 "parser.yy" /* yacc.c:1646 */ 7819 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7820 #line 7821 "Parser/parser.cc" /* yacc.c:1646 */ 8841 7821 break; 8842 7822 8843 7823 case 697: 8844 8845 /* Line 1806 of yacc.c */ 8846 #line 2684 "parser.yy" 8847 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7824 #line 2681 "parser.yy" /* yacc.c:1646 */ 7825 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7826 #line 7827 "Parser/parser.cc" /* yacc.c:1646 */ 8848 7827 break; 8849 7828 8850 7829 case 698: 8851 8852 /* Line 1806 of yacc.c */ 8853 #line 2689 "parser.yy" 7830 #line 2686 "parser.yy" /* yacc.c:1646 */ 8854 7831 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 7832 #line 7833 "Parser/parser.cc" /* yacc.c:1646 */ 8855 7833 break; 8856 7834 8857 7835 case 699: 8858 8859 /* Line 1806 of yacc.c */ 8860 #line 2691 "parser.yy" 8861 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 7836 #line 2688 "parser.yy" /* yacc.c:1646 */ 7837 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); } 7838 #line 7839 "Parser/parser.cc" /* yacc.c:1646 */ 8862 7839 break; 8863 7840 8864 7841 case 700: 8865 8866 /* Line 1806 of yacc.c */ 8867 #line 2693 "parser.yy" 8868 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7842 #line 2690 "parser.yy" /* yacc.c:1646 */ 7843 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7844 #line 7845 "Parser/parser.cc" /* yacc.c:1646 */ 8869 7845 break; 8870 7846 8871 7847 case 701: 8872 8873 /* Line 1806 of yacc.c */ 8874 #line 2695 "parser.yy" 8875 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7848 #line 2692 "parser.yy" /* yacc.c:1646 */ 7849 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7850 #line 7851 "Parser/parser.cc" /* yacc.c:1646 */ 8876 7851 break; 8877 7852 8878 7853 case 702: 8879 8880 /* Line 1806 of yacc.c */ 8881 #line 2697 "parser.yy" 8882 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7854 #line 2694 "parser.yy" /* yacc.c:1646 */ 7855 { (yyval.decl) = (yyvsp[-1].decl); } 7856 #line 7857 "Parser/parser.cc" /* yacc.c:1646 */ 8883 7857 break; 8884 7858 8885 7859 case 704: 8886 8887 /* Line 1806 of yacc.c */ 8888 #line 2703 "parser.yy" 8889 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7860 #line 2700 "parser.yy" /* yacc.c:1646 */ 7861 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7862 #line 7863 "Parser/parser.cc" /* yacc.c:1646 */ 8890 7863 break; 8891 7864 8892 7865 case 705: 8893 8894 /* Line 1806 of yacc.c */ 8895 #line 2705 "parser.yy" 8896 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7866 #line 2702 "parser.yy" /* yacc.c:1646 */ 7867 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7868 #line 7869 "Parser/parser.cc" /* yacc.c:1646 */ 8897 7869 break; 8898 7870 8899 7871 case 706: 8900 8901 /* Line 1806 of yacc.c */ 8902 #line 2707 "parser.yy" 8903 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7872 #line 2704 "parser.yy" /* yacc.c:1646 */ 7873 { (yyval.decl) = (yyvsp[-1].decl); } 7874 #line 7875 "Parser/parser.cc" /* yacc.c:1646 */ 8904 7875 break; 8905 7876 8906 7877 case 707: 8907 8908 /* Line 1806 of yacc.c */ 8909 #line 2712 "parser.yy" 8910 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7878 #line 2709 "parser.yy" /* yacc.c:1646 */ 7879 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7880 #line 7881 "Parser/parser.cc" /* yacc.c:1646 */ 8911 7881 break; 8912 7882 8913 7883 case 708: 8914 8915 /* Line 1806 of yacc.c */ 8916 #line 2714 "parser.yy" 8917 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7884 #line 2711 "parser.yy" /* yacc.c:1646 */ 7885 { (yyval.decl) = (yyvsp[-1].decl); } 7886 #line 7887 "Parser/parser.cc" /* yacc.c:1646 */ 8918 7887 break; 8919 7888 8920 7889 case 711: 8921 8922 /* Line 1806 of yacc.c */ 8923 #line 2724 "parser.yy" 8924 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7890 #line 2721 "parser.yy" /* yacc.c:1646 */ 7891 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 7892 #line 7893 "Parser/parser.cc" /* yacc.c:1646 */ 8925 7893 break; 8926 7894 8927 7895 case 714: 8928 8929 /* Line 1806 of yacc.c */ 8930 #line 2734 "parser.yy" 8931 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7896 #line 2731 "parser.yy" /* yacc.c:1646 */ 7897 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7898 #line 7899 "Parser/parser.cc" /* yacc.c:1646 */ 8932 7899 break; 8933 7900 8934 7901 case 715: 8935 8936 /* Line 1806 of yacc.c */ 8937 #line 2736 "parser.yy" 8938 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 7902 #line 2733 "parser.yy" /* yacc.c:1646 */ 7903 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 7904 #line 7905 "Parser/parser.cc" /* yacc.c:1646 */ 8939 7905 break; 8940 7906 8941 7907 case 716: 8942 8943 /* Line 1806 of yacc.c */ 8944 #line 2738 "parser.yy" 8945 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7908 #line 2735 "parser.yy" /* yacc.c:1646 */ 7909 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7910 #line 7911 "Parser/parser.cc" /* yacc.c:1646 */ 8946 7911 break; 8947 7912 8948 7913 case 717: 8949 8950 /* Line 1806 of yacc.c */ 8951 #line 2740 "parser.yy" 8952 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 7914 #line 2737 "parser.yy" /* yacc.c:1646 */ 7915 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 7916 #line 7917 "Parser/parser.cc" /* yacc.c:1646 */ 8953 7917 break; 8954 7918 8955 7919 case 718: 8956 8957 /* Line 1806 of yacc.c */ 8958 #line 2742 "parser.yy" 8959 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7920 #line 2739 "parser.yy" /* yacc.c:1646 */ 7921 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7922 #line 7923 "Parser/parser.cc" /* yacc.c:1646 */ 8960 7923 break; 8961 7924 8962 7925 case 719: 8963 8964 /* Line 1806 of yacc.c */ 8965 #line 2744 "parser.yy" 8966 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 7926 #line 2741 "parser.yy" /* yacc.c:1646 */ 7927 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 7928 #line 7929 "Parser/parser.cc" /* yacc.c:1646 */ 8967 7929 break; 8968 7930 8969 7931 case 720: 8970 8971 /* Line 1806 of yacc.c */ 8972 #line 2751 "parser.yy" 8973 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7932 #line 2748 "parser.yy" /* yacc.c:1646 */ 7933 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7934 #line 7935 "Parser/parser.cc" /* yacc.c:1646 */ 8974 7935 break; 8975 7936 8976 7937 case 721: 8977 8978 /* Line 1806 of yacc.c */ 8979 #line 2753 "parser.yy" 8980 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7938 #line 2750 "parser.yy" /* yacc.c:1646 */ 7939 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7940 #line 7941 "Parser/parser.cc" /* yacc.c:1646 */ 8981 7941 break; 8982 7942 8983 7943 case 722: 8984 8985 /* Line 1806 of yacc.c */ 8986 #line 2755 "parser.yy" 8987 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7944 #line 2752 "parser.yy" /* yacc.c:1646 */ 7945 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7946 #line 7947 "Parser/parser.cc" /* yacc.c:1646 */ 8988 7947 break; 8989 7948 8990 7949 case 723: 8991 8992 /* Line 1806 of yacc.c */ 8993 #line 2757 "parser.yy" 8994 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 7950 #line 2754 "parser.yy" /* yacc.c:1646 */ 7951 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( (yyvsp[-2].decl) ); } 7952 #line 7953 "Parser/parser.cc" /* yacc.c:1646 */ 8995 7953 break; 8996 7954 8997 7955 case 724: 8998 8999 /* Line 1806 of yacc.c */ 9000 #line 2759 "parser.yy" 9001 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7956 #line 2756 "parser.yy" /* yacc.c:1646 */ 7957 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7958 #line 7959 "Parser/parser.cc" /* yacc.c:1646 */ 9002 7959 break; 9003 7960 9004 7961 case 725: 9005 9006 /* Line 1806 of yacc.c */ 9007 #line 2762 "parser.yy" 9008 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7962 #line 2759 "parser.yy" /* yacc.c:1646 */ 7963 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7964 #line 7965 "Parser/parser.cc" /* yacc.c:1646 */ 9009 7965 break; 9010 7966 9011 7967 case 726: 9012 9013 /* Line 1806 of yacc.c */ 9014 #line 2764 "parser.yy" 9015 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7968 #line 2761 "parser.yy" /* yacc.c:1646 */ 7969 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7970 #line 7971 "Parser/parser.cc" /* yacc.c:1646 */ 9016 7971 break; 9017 7972 9018 7973 case 727: 9019 9020 /* Line 1806 of yacc.c */ 9021 #line 2766 "parser.yy" 9022 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7974 #line 2763 "parser.yy" /* yacc.c:1646 */ 7975 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7976 #line 7977 "Parser/parser.cc" /* yacc.c:1646 */ 9023 7977 break; 9024 7978 9025 7979 case 728: 9026 9027 /* Line 1806 of yacc.c */ 9028 #line 2768 "parser.yy" 9029 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 7980 #line 2765 "parser.yy" /* yacc.c:1646 */ 7981 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( (yyvsp[-2].decl) ); } 7982 #line 7983 "Parser/parser.cc" /* yacc.c:1646 */ 9030 7983 break; 9031 7984 9032 7985 case 729: 9033 9034 /* Line 1806 of yacc.c */ 9035 #line 2770 "parser.yy" 9036 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7986 #line 2767 "parser.yy" /* yacc.c:1646 */ 7987 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7988 #line 7989 "Parser/parser.cc" /* yacc.c:1646 */ 9037 7989 break; 9038 7990 9039 7991 case 730: 9040 9041 /* Line 1806 of yacc.c */ 9042 #line 2775 "parser.yy" 9043 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 7992 #line 2772 "parser.yy" /* yacc.c:1646 */ 7993 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[-3].decl) ); } 7994 #line 7995 "Parser/parser.cc" /* yacc.c:1646 */ 9044 7995 break; 9045 7996 9046 7997 case 731: 9047 9048 /* Line 1806 of yacc.c */ 9049 #line 2777 "parser.yy" 9050 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 7998 #line 2774 "parser.yy" /* yacc.c:1646 */ 7999 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), false ); } 8000 #line 8001 "Parser/parser.cc" /* yacc.c:1646 */ 9051 8001 break; 9052 8002 9053 8003 case 732: 9054 9055 /* Line 1806 of yacc.c */ 9056 #line 2782 "parser.yy" 9057 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 8004 #line 2779 "parser.yy" /* yacc.c:1646 */ 8005 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), true ); } 8006 #line 8007 "Parser/parser.cc" /* yacc.c:1646 */ 9058 8007 break; 9059 8008 9060 8009 case 733: 9061 9062 /* Line 1806 of yacc.c */ 9063 #line 2784 "parser.yy" 9064 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 8010 #line 2781 "parser.yy" /* yacc.c:1646 */ 8011 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl)->addQualifiers( (yyvsp[-4].decl) ), true ); } 8012 #line 8013 "Parser/parser.cc" /* yacc.c:1646 */ 9065 8013 break; 9066 8014 9067 8015 case 735: 9068 9069 /* Line 1806 of yacc.c */ 9070 #line 2811 "parser.yy" 9071 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8016 #line 2808 "parser.yy" /* yacc.c:1646 */ 8017 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 8018 #line 8019 "Parser/parser.cc" /* yacc.c:1646 */ 9072 8019 break; 9073 8020 9074 8021 case 739: 9075 9076 /* Line 1806 of yacc.c */ 9077 #line 2822 "parser.yy" 9078 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8022 #line 2819 "parser.yy" /* yacc.c:1646 */ 8023 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8024 #line 8025 "Parser/parser.cc" /* yacc.c:1646 */ 9079 8025 break; 9080 8026 9081 8027 case 740: 9082 9083 /* Line 1806 of yacc.c */ 9084 #line 2824 "parser.yy" 9085 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8028 #line 2821 "parser.yy" /* yacc.c:1646 */ 8029 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 8030 #line 8031 "Parser/parser.cc" /* yacc.c:1646 */ 9086 8031 break; 9087 8032 9088 8033 case 741: 9089 9090 /* Line 1806 of yacc.c */ 9091 #line 2826 "parser.yy" 9092 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8034 #line 2823 "parser.yy" /* yacc.c:1646 */ 8035 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8036 #line 8037 "Parser/parser.cc" /* yacc.c:1646 */ 9093 8037 break; 9094 8038 9095 8039 case 742: 9096 9097 /* Line 1806 of yacc.c */ 9098 #line 2828 "parser.yy" 9099 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8040 #line 2825 "parser.yy" /* yacc.c:1646 */ 8041 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 8042 #line 8043 "Parser/parser.cc" /* yacc.c:1646 */ 9100 8043 break; 9101 8044 9102 8045 case 743: 9103 9104 /* Line 1806 of yacc.c */ 9105 #line 2830 "parser.yy" 9106 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8046 #line 2827 "parser.yy" /* yacc.c:1646 */ 8047 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8048 #line 8049 "Parser/parser.cc" /* yacc.c:1646 */ 9107 8049 break; 9108 8050 9109 8051 case 744: 9110 9111 /* Line 1806 of yacc.c */ 9112 #line 2832 "parser.yy" 9113 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8052 #line 2829 "parser.yy" /* yacc.c:1646 */ 8053 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 8054 #line 8055 "Parser/parser.cc" /* yacc.c:1646 */ 9114 8055 break; 9115 8056 9116 8057 case 745: 9117 9118 /* Line 1806 of yacc.c */ 9119 #line 2839 "parser.yy" 9120 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 8058 #line 2836 "parser.yy" /* yacc.c:1646 */ 8059 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 8060 #line 8061 "Parser/parser.cc" /* yacc.c:1646 */ 9121 8061 break; 9122 8062 9123 8063 case 746: 9124 9125 /* Line 1806 of yacc.c */ 9126 #line 2841 "parser.yy" 9127 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 8064 #line 2838 "parser.yy" /* yacc.c:1646 */ 8065 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 8066 #line 8067 "Parser/parser.cc" /* yacc.c:1646 */ 9128 8067 break; 9129 8068 9130 8069 case 747: 9131 9132 /* Line 1806 of yacc.c */ 9133 #line 2843 "parser.yy" 9134 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8070 #line 2840 "parser.yy" /* yacc.c:1646 */ 8071 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 8072 #line 8073 "Parser/parser.cc" /* yacc.c:1646 */ 9135 8073 break; 9136 8074 9137 8075 case 748: 9138 9139 /* Line 1806 of yacc.c */ 9140 #line 2845 "parser.yy" 9141 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 8076 #line 2842 "parser.yy" /* yacc.c:1646 */ 8077 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 8078 #line 8079 "Parser/parser.cc" /* yacc.c:1646 */ 9142 8079 break; 9143 8080 9144 8081 case 749: 9145 9146 /* Line 1806 of yacc.c */ 9147 #line 2847 "parser.yy" 9148 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 8082 #line 2844 "parser.yy" /* yacc.c:1646 */ 8083 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 8084 #line 8085 "Parser/parser.cc" /* yacc.c:1646 */ 9149 8085 break; 9150 8086 9151 8087 case 750: 9152 9153 /* Line 1806 of yacc.c */ 9154 #line 2849 "parser.yy" 9155 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8088 #line 2846 "parser.yy" /* yacc.c:1646 */ 8089 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 8090 #line 8091 "Parser/parser.cc" /* yacc.c:1646 */ 9156 8091 break; 9157 8092 9158 8093 case 751: 9159 9160 /* Line 1806 of yacc.c */ 9161 #line 2854 "parser.yy" 9162 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 8094 #line 2851 "parser.yy" /* yacc.c:1646 */ 8095 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-2].decl) ); } 8096 #line 8097 "Parser/parser.cc" /* yacc.c:1646 */ 9163 8097 break; 9164 8098 9165 8099 case 752: 9166 9167 /* Line 1806 of yacc.c */ 9168 #line 2861 "parser.yy" 9169 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 8100 #line 2858 "parser.yy" /* yacc.c:1646 */ 8101 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[-5].decl), (yyvsp[-2].decl), nullptr ); } 8102 #line 8103 "Parser/parser.cc" /* yacc.c:1646 */ 9170 8103 break; 9171 8104 9172 8105 case 753: 9173 9174 /* Line 1806 of yacc.c */ 9175 #line 2863 "parser.yy" 9176 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 8106 #line 2860 "parser.yy" /* yacc.c:1646 */ 8107 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[-5].decl), (yyvsp[-2].decl), nullptr ); } 8108 #line 8109 "Parser/parser.cc" /* yacc.c:1646 */ 9177 8109 break; 9178 8110 9179 8111 case 756: 9180 9181 /* Line 1806 of yacc.c */ 9182 #line 2887 "parser.yy" 9183 { (yyval.en) = nullptr; } 8112 #line 2884 "parser.yy" /* yacc.c:1646 */ 8113 { (yyval.en) = 0; } 8114 #line 8115 "Parser/parser.cc" /* yacc.c:1646 */ 9184 8115 break; 9185 8116 9186 8117 case 757: 9187 9188 /* Line 1806 of yacc.c */ 9189 #line 2889 "parser.yy" 9190 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9191 break; 9192 9193 9194 9195 /* Line 1806 of yacc.c */ 9196 #line 9197 "Parser/parser.cc" 8118 #line 2886 "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 */ 9197 8125 default: break; 9198 8126 } … … 9216 8144 *++yyvsp = yyval; 9217 8145 9218 /* Now `shift' the result of the reduction. Determine what state8146 /* Now 'shift' the result of the reduction. Determine what state 9219 8147 that goes to, based on the state we popped back to and the rule 9220 8148 number reduced by. */ … … 9231 8159 9232 8160 9233 /*------------------------------------ .9234 | yyerrlab -- here on detecting error |9235 `------------------------------------ */8161 /*--------------------------------------. 8162 | yyerrlab -- here on detecting error. | 8163 `--------------------------------------*/ 9236 8164 yyerrlab: 9237 8165 /* Make sure we have latest lookahead translation. See comments at … … 9284 8212 { 9285 8213 /* If just tried and failed to reuse lookahead token after an 9286 error, discard it. */8214 error, discard it. */ 9287 8215 9288 8216 if (yychar <= YYEOF) 9289 {9290 /* Return failure if at end of input. */9291 if (yychar == YYEOF)9292 YYABORT;9293 }8217 { 8218 /* Return failure if at end of input. */ 8219 if (yychar == YYEOF) 8220 YYABORT; 8221 } 9294 8222 else 9295 {9296 yydestruct ("Error: discarding",9297 yytoken, &yylval);9298 yychar = YYEMPTY;9299 }8223 { 8224 yydestruct ("Error: discarding", 8225 yytoken, &yylval); 8226 yychar = YYEMPTY; 8227 } 9300 8228 } 9301 8229 … … 9316 8244 goto yyerrorlab; 9317 8245 9318 /* Do not reclaim the symbols of the rule wh ichaction triggered8246 /* Do not reclaim the symbols of the rule whose action triggered 9319 8247 this YYERROR. */ 9320 8248 YYPOPSTACK (yylen); … … 9329 8257 `-------------------------------------------------------------*/ 9330 8258 yyerrlab1: 9331 yyerrstatus = 3; /* Each real token shifted decrements this. */8259 yyerrstatus = 3; /* Each real token shifted decrements this. */ 9332 8260 9333 8261 for (;;) … … 9335 8263 yyn = yypact[yystate]; 9336 8264 if (!yypact_value_is_default (yyn)) 9337 {9338 yyn += YYTERROR;9339 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)9340 {9341 yyn = yytable[yyn];9342 if (0 < yyn)9343 break;9344 }9345 }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 } 9346 8274 9347 8275 /* Pop the current state because it cannot handle the error token. */ 9348 8276 if (yyssp == yyss) 9349 YYABORT;8277 YYABORT; 9350 8278 9351 8279 9352 8280 yydestruct ("Error: popping", 9353 yystos[yystate], yyvsp);8281 yystos[yystate], yyvsp); 9354 8282 YYPOPSTACK (1); 9355 8283 yystate = *yyssp; … … 9357 8285 } 9358 8286 8287 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 9359 8288 *++yyvsp = yylval; 8289 YY_IGNORE_MAYBE_UNINITIALIZED_END 9360 8290 9361 8291 … … 9381 8311 goto yyreturn; 9382 8312 9383 #if !defined (yyoverflow)|| YYERROR_VERBOSE8313 #if !defined yyoverflow || YYERROR_VERBOSE 9384 8314 /*-------------------------------------------------. 9385 8315 | yyexhaustedlab -- memory exhaustion comes here. | … … 9400 8330 yytoken, &yylval); 9401 8331 } 9402 /* Do not reclaim the symbols of the rule wh ichaction triggered8332 /* Do not reclaim the symbols of the rule whose action triggered 9403 8333 this YYABORT or YYACCEPT. */ 9404 8334 YYPOPSTACK (yylen); … … 9407 8337 { 9408 8338 yydestruct ("Cleanup: popping", 9409 yystos[*yyssp], yyvsp);8339 yystos[*yyssp], yyvsp); 9410 8340 YYPOPSTACK (1); 9411 8341 } … … 9418 8348 YYSTACK_FREE (yymsg); 9419 8349 #endif 9420 /* Make sure YYID is used. */ 9421 return YYID (yyresult); 8350 return yyresult; 9422 8351 } 9423 9424 9425 9426 /* Line 2067 of yacc.c */ 9427 #line 2892 "parser.yy" 8352 #line 2889 "parser.yy" /* yacc.c:1906 */ 9428 8353 9429 8354 // ----end of grammar---- … … 9444 8369 // compile-command: "make install" // 9445 8370 // End: // 9446 -
src/Parser/parser.h
r04c8bba r0edebf8 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 interface 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. */ 32 32 33 34 /* Tokens. */ 33 #ifndef YY_YY_PARSER_PARSER_H_INCLUDED 34 # define YY_YY_PARSER_PARSER_H_INCLUDED 35 /* Debug traces. */ 36 #ifndef YYDEBUG 37 # define YYDEBUG 1 38 #endif 39 #if YYDEBUG 40 extern int yydebug; 41 #endif 42 43 /* Token type. */ 35 44 #ifndef YYTOKENTYPE 36 45 # define YYTOKENTYPE 37 /* Put the tokens into the symbol table, so that GDB and other debuggers 38 know about them. */ 39 enum yytokentype { 40 TYPEDEF = 258, 41 AUTO = 259, 42 EXTERN = 260, 43 REGISTER = 261, 44 STATIC = 262, 45 INLINE = 263, 46 FORTRAN = 264, 47 CONST = 265, 48 VOLATILE = 266, 49 RESTRICT = 267, 50 FORALL = 268, 51 LVALUE = 269, 52 VOID = 270, 53 CHAR = 271, 54 SHORT = 272, 55 INT = 273, 56 LONG = 274, 57 FLOAT = 275, 58 DOUBLE = 276, 59 SIGNED = 277, 60 UNSIGNED = 278, 61 ZERO_T = 279, 62 ONE_T = 280, 63 VALIST = 281, 64 BOOL = 282, 65 COMPLEX = 283, 66 IMAGINARY = 284, 67 TYPEOF = 285, 68 LABEL = 286, 69 ENUM = 287, 70 STRUCT = 288, 71 UNION = 289, 72 OTYPE = 290, 73 FTYPE = 291, 74 DTYPE = 292, 75 TRAIT = 293, 76 SIZEOF = 294, 77 OFFSETOF = 295, 78 ATTRIBUTE = 296, 79 EXTENSION = 297, 80 IF = 298, 81 ELSE = 299, 82 SWITCH = 300, 83 CASE = 301, 84 DEFAULT = 302, 85 DO = 303, 86 WHILE = 304, 87 FOR = 305, 88 BREAK = 306, 89 CONTINUE = 307, 90 GOTO = 308, 91 RETURN = 309, 92 CHOOSE = 310, 93 DISABLE = 311, 94 ENABLE = 312, 95 FALLTHRU = 313, 96 TRY = 314, 97 CATCH = 315, 98 CATCHRESUME = 316, 99 FINALLY = 317, 100 THROW = 318, 101 THROWRESUME = 319, 102 AT = 320, 103 ASM = 321, 104 ALIGNAS = 322, 105 ALIGNOF = 323, 106 ATOMIC = 324, 107 GENERIC = 325, 108 NORETURN = 326, 109 STATICASSERT = 327, 110 THREADLOCAL = 328, 111 IDENTIFIER = 329, 112 QUOTED_IDENTIFIER = 330, 113 TYPEDEFname = 331, 114 TYPEGENname = 332, 115 ATTR_IDENTIFIER = 333, 116 ATTR_TYPEDEFname = 334, 117 ATTR_TYPEGENname = 335, 118 INTEGERconstant = 336, 119 CHARACTERconstant = 337, 120 STRINGliteral = 338, 121 REALDECIMALconstant = 339, 122 REALFRACTIONconstant = 340, 123 FLOATINGconstant = 341, 124 ZERO = 342, 125 ONE = 343, 126 ARROW = 344, 127 ICR = 345, 128 DECR = 346, 129 LS = 347, 130 RS = 348, 131 LE = 349, 132 GE = 350, 133 EQ = 351, 134 NE = 352, 135 ANDAND = 353, 136 OROR = 354, 137 ELLIPSIS = 355, 138 MULTassign = 356, 139 DIVassign = 357, 140 MODassign = 358, 141 PLUSassign = 359, 142 MINUSassign = 360, 143 LSassign = 361, 144 RSassign = 362, 145 ANDassign = 363, 146 ERassign = 364, 147 ORassign = 365, 148 ATassign = 366, 149 THEN = 367 150 }; 46 enum yytokentype 47 { 48 TYPEDEF = 258, 49 AUTO = 259, 50 EXTERN = 260, 51 REGISTER = 261, 52 STATIC = 262, 53 INLINE = 263, 54 FORTRAN = 264, 55 CONST = 265, 56 VOLATILE = 266, 57 RESTRICT = 267, 58 FORALL = 268, 59 LVALUE = 269, 60 VOID = 270, 61 CHAR = 271, 62 SHORT = 272, 63 INT = 273, 64 LONG = 274, 65 FLOAT = 275, 66 DOUBLE = 276, 67 SIGNED = 277, 68 UNSIGNED = 278, 69 ZERO_T = 279, 70 ONE_T = 280, 71 VALIST = 281, 72 BOOL = 282, 73 COMPLEX = 283, 74 IMAGINARY = 284, 75 TYPEOF = 285, 76 LABEL = 286, 77 ENUM = 287, 78 STRUCT = 288, 79 UNION = 289, 80 OTYPE = 290, 81 FTYPE = 291, 82 DTYPE = 292, 83 TRAIT = 293, 84 SIZEOF = 294, 85 OFFSETOF = 295, 86 ATTRIBUTE = 296, 87 EXTENSION = 297, 88 IF = 298, 89 ELSE = 299, 90 SWITCH = 300, 91 CASE = 301, 92 DEFAULT = 302, 93 DO = 303, 94 WHILE = 304, 95 FOR = 305, 96 BREAK = 306, 97 CONTINUE = 307, 98 GOTO = 308, 99 RETURN = 309, 100 CHOOSE = 310, 101 DISABLE = 311, 102 ENABLE = 312, 103 FALLTHRU = 313, 104 TRY = 314, 105 CATCH = 315, 106 CATCHRESUME = 316, 107 FINALLY = 317, 108 THROW = 318, 109 THROWRESUME = 319, 110 AT = 320, 111 ASM = 321, 112 ALIGNAS = 322, 113 ALIGNOF = 323, 114 ATOMIC = 324, 115 GENERIC = 325, 116 NORETURN = 326, 117 STATICASSERT = 327, 118 THREADLOCAL = 328, 119 IDENTIFIER = 329, 120 QUOTED_IDENTIFIER = 330, 121 TYPEDEFname = 331, 122 TYPEGENname = 332, 123 ATTR_IDENTIFIER = 333, 124 ATTR_TYPEDEFname = 334, 125 ATTR_TYPEGENname = 335, 126 INTEGERconstant = 336, 127 CHARACTERconstant = 337, 128 STRINGliteral = 338, 129 REALDECIMALconstant = 339, 130 REALFRACTIONconstant = 340, 131 FLOATINGconstant = 341, 132 ZERO = 342, 133 ONE = 343, 134 ARROW = 344, 135 ICR = 345, 136 DECR = 346, 137 LS = 347, 138 RS = 348, 139 LE = 349, 140 GE = 350, 141 EQ = 351, 142 NE = 352, 143 ANDAND = 353, 144 OROR = 354, 145 ELLIPSIS = 355, 146 MULTassign = 356, 147 DIVassign = 357, 148 MODassign = 358, 149 PLUSassign = 359, 150 MINUSassign = 360, 151 LSassign = 361, 152 RSassign = 362, 153 ANDassign = 363, 154 ERassign = 364, 155 ORassign = 365, 156 ATassign = 366, 157 THEN = 367 158 }; 151 159 #endif 152 160 /* Tokens. */ … … 262 270 #define THEN 367 263 271 264 265 266 272 /* Value type. */ 267 273 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 268 typedef union YYSTYPE 274 typedef union YYSTYPE YYSTYPE; 275 union YYSTYPE 269 276 { 270 271 /* Line 2068 of yacc.c */ 272 #line 120 "parser.yy" 277 #line 120 "parser.yy" /* yacc.c:1909 */ 273 278 274 279 Token tok; … … 287 292 bool flag; 288 293 289 290 291 /* Line 2068 of yacc.c */ 292 #line 293 "Parser/parser.h" 293 } YYSTYPE; 294 #line 295 "Parser/parser.h" /* yacc.c:1909 */ 295 }; 294 296 # define YYSTYPE_IS_TRIVIAL 1 295 # define yystype YYSTYPE /* obsolescent; will be withdrawn */296 297 # define YYSTYPE_IS_DECLARED 1 297 298 #endif 298 299 300 299 301 extern YYSTYPE yylval; 300 302 301 303 int yyparse (void); 304 305 #endif /* !YY_YY_PARSER_PARSER_H_INCLUDED */ -
src/Parser/parser.yy
r04c8bba r0edebf8 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 13 14:14:52 201613 // Update Count : 20 8112 // Last Modified On : Tue Nov 29 11:35:52 2016 13 // Update Count : 2069 14 14 // 15 15 … … 153 153 %type<fctl> for_control_expression 154 154 %type<en> subrange 155 %type<constant> asm_name_opt156 155 %type<en> asm_operands_opt asm_operands_list asm_operand 157 156 %type<label> label_list … … 413 412 argument_expression: 414 413 // empty 415 { $$ = nullptr; }// use default argument414 { $$ = 0; } // use default argument 416 415 | assignment_expression 417 416 ; … … 685 684 comma_expression_opt: 686 685 // empty 687 { $$ = nullptr; }686 { $$ = 0; } 688 687 | comma_expression 689 688 ; … … 819 818 switch_clause_list_opt: // CFA 820 819 // empty 821 { $$ = nullptr; }820 { $$ = 0; } 822 821 | switch_clause_list 823 822 ; … … 832 831 choose_clause_list_opt: // CFA 833 832 // empty 834 { $$ = nullptr; }833 { $$ = 0; } 835 834 | choose_clause_list 836 835 ; … … 855 854 fall_through: // CFA 856 855 FALLTHRU 857 { $$ = nullptr; }856 { $$ = 0; } 858 857 | FALLTHRU ';' 859 { $$ = nullptr; }858 { $$ = 0; } 860 859 ; 861 860 … … 991 990 asm_operands_opt: // GCC 992 991 // empty 993 { $$ = nullptr; }// use default argument992 { $$ = 0; } // use default argument 994 993 | asm_operands_list 995 994 ; … … 1010 1009 asm_clobbers_list_opt: // GCC 1011 1010 // empty 1012 { $$ = nullptr; }// use default argument1011 { $$ = 0; } // use default argument 1013 1012 | string_literal 1014 1013 { $$ = new ExpressionNode( $1 ); } … … 1034 1033 declaration_list_opt: // used at beginning of switch statement 1035 1034 pop 1036 { $$ = nullptr; }1035 { $$ = 0; } 1037 1036 | declaration_list 1038 1037 ; … … 1046 1045 old_declaration_list_opt: // used to declare parameter types in K&R style functions 1047 1046 pop 1048 { $$ = nullptr; }1047 { $$ = 0; } 1049 1048 | old_declaration_list 1050 1049 ; … … 1121 1120 { 1122 1121 typedefTable.setNextIdentifier( *$2 ); 1123 $$ = $1->addName( $2 ) ->addAsmName( $3 );1122 $$ = $1->addName( $2 ); 1124 1123 } 1125 1124 | new_abstract_tuple identifier_or_type_name asm_name_opt 1126 1125 { 1127 1126 typedefTable.setNextIdentifier( *$2 ); 1128 $$ = $1->addName( $2 ) ->addAsmName( $3 );1127 $$ = $1->addName( $2 ); 1129 1128 } 1130 1129 | type_qualifier_list new_abstract_tuple identifier_or_type_name asm_name_opt 1131 1130 { 1132 1131 typedefTable.setNextIdentifier( *$3 ); 1133 $$ = $2->addQualifiers( $1 )->addName( $3 ) ->addAsmName( $4 );1132 $$ = $2->addQualifiers( $1 )->addName( $3 ); 1134 1133 } 1135 1134 ; … … 1282 1281 { 1283 1282 typedefTable.addToEnclosingScope( TypedefTable::ID ); 1284 $$ = ( $2->addType( $1 ))->add AsmName( $3 )->addInitializer( $4 );1283 $$ = ( $2->addType( $1 ))->addInitializer( $4 ); 1285 1284 } 1286 1285 | declaring_list ',' attribute_list_opt declarator asm_name_opt initializer_opt 1287 1286 { 1288 1287 typedefTable.addToEnclosingScope( TypedefTable::ID ); 1289 $$ = $1->appendList( $1->cloneBaseType( $4->add AsmName( $5 )->addInitializer( $6 ) ) );1288 $$ = $1->appendList( $1->cloneBaseType( $4->addInitializer( $6 ) ) ); 1290 1289 } 1291 1290 ; … … 1307 1306 type_qualifier_list_opt: // GCC, used in asm_statement 1308 1307 // empty 1309 { $$ = nullptr; }1308 { $$ = 0; } 1310 1309 | type_qualifier_list 1311 1310 ; … … 1533 1532 field_declaration_list: 1534 1533 // empty 1535 { $$ = nullptr; }1534 { $$ = 0; } 1536 1535 | field_declaration_list field_declaration 1537 1536 { $$ = $1 != 0 ? $1->appendList( $2 ) : $2; } … … 1584 1583 bit_subrange_size_opt: 1585 1584 // empty 1586 { $$ = nullptr; }1585 { $$ = 0; } 1587 1586 | bit_subrange_size 1588 1587 { $$ = $1; } … … 1621 1620 enumerator_value_opt: 1622 1621 // empty 1623 { $$ = nullptr; }1622 { $$ = 0; } 1624 1623 | '=' constant_expression 1625 1624 { $$ = $2; } … … 1630 1629 new_parameter_type_list_opt: // CFA 1631 1630 // empty 1632 { $$ = nullptr; }1631 { $$ = 0; } 1633 1632 | new_parameter_type_list 1634 1633 ; … … 1665 1664 parameter_type_list_opt: 1666 1665 // empty 1667 { $$ = nullptr; }1666 { $$ = 0; } 1668 1667 | parameter_type_list 1669 1668 ; … … 1774 1773 initializer_opt: 1775 1774 // empty 1776 { $$ = nullptr; }1775 { $$ = 0; } 1777 1776 | '=' initializer 1778 1777 { $$ = $2; } … … 1788 1787 initializer_list: 1789 1788 // empty 1790 { $$ = nullptr; }1789 { $$ = 0; } 1791 1790 | initializer 1792 1791 | designation initializer { $$ = $2->set_designators( $1 ); } … … 1899 1898 assertion_list_opt: // CFA 1900 1899 // empty 1901 { $$ = nullptr; }1900 { $$ = 0; } 1902 1901 | assertion_list_opt assertion 1903 1902 { $$ = $1 != 0 ? $1->appendList( $2 ) : $2; } … … 1913 1912 { $$ = $4; } 1914 1913 | '|' '(' push type_parameter_list pop ')' '{' push trait_declaration_list '}' '(' type_name_list ')' 1915 { $$ = nullptr; }1914 { $$ = 0; } 1916 1915 ; 1917 1916 … … 2033 2032 external_definition_list_opt: 2034 2033 // empty 2035 { $$ = nullptr; }2034 { $$ = 0; } 2036 2035 | external_definition_list 2037 2036 ; … … 2156 2155 asm_name_opt: // GCC 2157 2156 // empty 2158 { $$ = nullptr; } 2159 | ASM '(' string_literal ')' attribute_list_opt 2160 { $$ = $3; } 2157 | ASM '(' string_literal_list ')' attribute_list_opt { delete $3; } // FIX ME: unimplemented 2161 2158 ; 2162 2159 2163 2160 attribute_list_opt: // GCC 2164 2161 // empty 2165 { $$ = nullptr; }2162 { $$ = 0; } 2166 2163 | attribute_list 2167 2164 ; … … 2176 2173 ATTRIBUTE '(' '(' attribute_parameter_list ')' ')' 2177 2174 // { $$ = DeclarationNode::newQualifier( DeclarationNode::Attribute ); } 2178 { $$ = nullptr; }2175 { $$ = 0; } 2179 2176 ; 2180 2177 … … 2885 2882 assignment_opt: 2886 2883 // empty 2887 { $$ = nullptr; }2884 { $$ = 0; } 2888 2885 | '=' assignment_expression 2889 2886 { $$ = $2; } -
src/SynTree/Declaration.h
r04c8bba r0edebf8 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Dec 13 13:37:33201613 // Update Count : 4 912 // Last Modified On : Thu Aug 18 23:50:24 2016 13 // Update Count : 40 14 14 // 15 15 … … 69 69 70 70 std::string get_mangleName() const { return mangleName; } 71 DeclarationWithType * set_mangleName( std::string newValue ) { mangleName = newValue; return this; }71 void set_mangleName( std::string newValue ) { mangleName = newValue; } 72 72 73 73 std::string get_scopedMangleName() const { return mangleName + "_" + std::to_string(scopeLevel); } 74 74 75 75 int get_scopeLevel() const { return scopeLevel; } 76 DeclarationWithType * set_scopeLevel( int newValue ) { scopeLevel = newValue; return this; } 77 78 ConstantExpr *get_asmName() const { return asmName; } 79 DeclarationWithType * set_asmName( ConstantExpr *newValue ) { asmName = newValue; return this; } 76 void set_scopeLevel( int newValue ) { scopeLevel = newValue; } 80 77 81 78 std::list< Attribute * >& get_attributes() { return attributes; } … … 90 87 // this represents the type with all types and typedefs expanded it is generated by SymTab::Validate::Pass2 91 88 std::string mangleName; 92 // need to remember the scope level at which the variable was declared, so that shadowed identifiers can be accessed 89 // need to remember the scope level at which the variable was declared, so that 90 // shadowed identifiers can be accessed 93 91 int scopeLevel = 0; 94 92 95 ConstantExpr *asmName;96 93 std::list< Attribute * > attributes; 97 94 }; … … 109 106 Initializer *get_init() const { return init; } 110 107 void set_init( Initializer *newValue ) { init = newValue; } 111 112 108 Expression *get_bitfieldWidth() const { return bitfieldWidth; } 113 109 void set_bitfieldWidth( Expression *newValue ) { bitfieldWidth = newValue; } -
src/SynTree/DeclarationWithType.cc
r04c8bba r0edebf8 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Dec 13 14:49:43201613 // Update Count : 712 // Last Modified On : Thu Aug 18 23:50:41 2016 13 // Update Count : 4 14 14 // 15 15 … … 20 20 21 21 DeclarationWithType::DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes ) 22 : Declaration( name, sc, linkage ), asmName( nullptr), attributes( attributes ) {22 : Declaration( name, sc, linkage ), attributes( attributes ) { 23 23 } 24 24 … … 26 26 : Declaration( other ), mangleName( other.mangleName ), scopeLevel( other.scopeLevel ) { 27 27 cloneAll( other.attributes, attributes ); 28 asmName = maybeClone( other.asmName );29 28 } 30 29 31 30 DeclarationWithType::~DeclarationWithType() { 32 31 deleteAll( attributes ); 33 delete asmName;34 32 } 35 33 -
src/tests/.expect/32/gccExtensions.txt
r04c8bba r0edebf8 5 5 extern void exit(int __status); 6 6 extern int printf(const char *__restrict __format, ...); 7 extern int __x__i_1 asm ( "xx" );7 extern int __x__i_1; 8 8 int main(int __argc__i_1, const char **__argv__PPCc_1){ 9 9 asm ( "nop" : : : ); 10 10 asm ( "nop" : : : ); 11 11 asm ( "nop" : : : ); 12 static int __y__i_2 asm ( "yy" );13 static int *__z__Pi_2 asm ( "zz" );12 static int __y__i_2; 13 static int *__z__Pi_2; 14 14 int __src__i_2; 15 15 int __dst__i_2; -
src/tests/.expect/64/gccExtensions.txt
r04c8bba r0edebf8 5 5 extern void exit(int __status); 6 6 extern int printf(const char *__restrict __format, ...); 7 extern int __x__i_1 asm ( "xx" );7 extern int __x__i_1; 8 8 int main(int __argc__i_1, const char **__argv__PPCc_1){ 9 9 asm ( "nop" : : : ); 10 10 asm ( "nop" : : : ); 11 11 asm ( "nop" : : : ); 12 static int __y__i_2 asm ( "yy" );13 static int *__z__Pi_2 asm ( "zz" );12 static int __y__i_2; 13 static int *__z__Pi_2; 14 14 int __src__i_2; 15 15 int __dst__i_2;
Note:
See TracChangeset
for help on using the changeset viewer.