Changeset 58dd019
- Timestamp:
- Dec 13, 2016, 3:14:59 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 04c8bba
- Parents:
- 2ee5426
- Location:
- src
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.cc
r2ee5426 r58dd019 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 4 13:35:30201613 // Update Count : 3 5212 // Last Modified On : Tue Dec 13 14:51:27 2016 13 // Update Count : 362 14 14 // 15 15 … … 57 57 if ( decl->get_extension() ) { 58 58 output << "__extension__ "; 59 } // if 60 } // extension 61 62 void CodeGenerator::asmName( DeclarationWithType * decl ) { 63 if ( ConstantExpr * asmName = decl->get_asmName() ) { 64 output << " asm ( " << asmName->get_constant()->get_value() << " )"; 59 65 } // if 60 66 } // extension … … 141 147 } // if 142 148 149 asmName( functionDecl ); 150 143 151 // acceptAll( functionDecl->get_oldDecls(), *this ); 144 152 if ( functionDecl->get_statements() ) { … … 153 161 handleStorageClass( objectDecl ); 154 162 output << genType( objectDecl->get_type(), mangleName( objectDecl ) ); 163 164 asmName( objectDecl ); 155 165 156 166 if ( objectDecl->get_init() ) { -
src/CodeGen/CodeGenerator.h
r2ee5426 r58dd019 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 4 13:37:07201613 // Update Count : 3 812 // Last Modified On : Tue Dec 13 13:51:53 2016 13 // Update Count : 39 14 14 // 15 15 … … 107 107 }; 108 108 109 void asmName( DeclarationWithType *decl ); 110 109 111 void extension( Expression *expr ); 110 112 void extension( Declaration *decl ); -
src/CodeGen/OperatorTable.cc
r2ee5426 r58dd019 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : T hu Apr 14 16:48:27201613 // Update Count : 911 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 13 14:33:05 2016 13 // Update Count : 10 14 14 // 15 15 … … 21 21 const OperatorInfo tableValues[] = { 22 22 { "?[?]", "", "_operator_index", OT_INDEX }, 23 { "?{}", "=", 23 { "?{}", "=", "_constructor", OT_CTOR }, 24 24 { "^?{}", "", "_destructor", OT_DTOR }, 25 25 { "?()", "", "_operator_call", OT_CALL }, -
src/Parser/DeclarationNode.cc
r2ee5426 r58dd019 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Oct 3 18:03:08 201613 // Update Count : 6 5112 // Last Modified On : Tue Dec 13 14:43:38 2016 13 // Update Count : 660 14 14 // 15 15 … … 48 48 type( nullptr ), 49 49 storageClass( NoStorageClass ), 50 bitfieldWidth( nullptr ), 50 51 isInline( false ), 51 52 isNoreturn( false ), 52 bitfieldWidth( nullptr ),53 initializer( nullptr ),54 53 hasEllipsis( false ), 55 54 linkage( ::linkage ), 55 asmName( nullptr ), 56 initializer( nullptr ), 56 57 extension( false ) { 57 58 … … 75 76 delete type; 76 77 delete bitfieldWidth; 78 // asmName, no delete, passed to next stage 77 79 delete initializer; 78 80 } … … 90 92 newnode->set_next( maybeClone( get_next() ) ); 91 93 newnode->linkage = linkage; 94 newnode->asmName = maybeClone( asmName ); 92 95 93 96 // newnode->variable.name = variable.name ? new string( *variable.name ) : nullptr; … … 641 644 } 642 645 646 DeclarationNode * DeclarationNode::addAsmName( ConstantExpr * newname ) { 647 assert( ! asmName ); 648 asmName = newname; 649 return this; 650 } 651 643 652 DeclarationNode * DeclarationNode::addBitfield( ExpressionNode * size ) { 644 653 bitfieldWidth = size; … … 947 956 948 957 if ( type ) { 949 return buildDecl( type, name ? *name : string( "" ), storageClass, maybeBuild< Expression >( bitfieldWidth ), isInline, isNoreturn, linkage, maybeBuild< Initializer >(initializer) )->set_extension( extension );958 return buildDecl( type, name ? *name : string( "" ), storageClass, maybeBuild< Expression >( bitfieldWidth ), isInline, isNoreturn, linkage, asmName, maybeBuild< Initializer >(initializer) )->set_extension( extension ); 950 959 } // if 951 960 952 961 if ( ! isInline && ! isNoreturn ) { 953 962 assertf( name, "ObjectDecl are assumed to have names\n" ); 954 return (new ObjectDecl( *name, storageClass, linkage, maybeBuild< Expression >( bitfieldWidth ), nullptr, maybeBuild< Initializer >( initializer ) ))->set_ extension( extension );963 return (new ObjectDecl( *name, storageClass, linkage, maybeBuild< Expression >( bitfieldWidth ), nullptr, maybeBuild< Initializer >( initializer ) ))->set_asmName( asmName )->set_extension( extension ); 955 964 } // if 956 965 -
src/Parser/ParseNode.h
r2ee5426 r58dd019 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Oct 3 18:03:08201613 // Update Count : 6 3612 // Last Modified On : Tue Dec 13 13:26:56 2016 13 // Update Count : 642 14 14 // 15 15 … … 73 73 InitializerNode( InitializerNode *, bool aggrp = false, ExpressionNode * des = nullptr ); 74 74 ~InitializerNode(); 75 virtual InitializerNode * clone() const { assert( false );return nullptr; }75 virtual InitializerNode * clone() const { 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 * ); 259 260 DeclarationNode * addBitfield( ExpressionNode * size ); 260 261 DeclarationNode * addVarArgs(); … … 309 310 TypeData * type; 310 311 StorageClass storageClass; 312 ExpressionNode * bitfieldWidth; 311 313 bool isInline, isNoreturn; 312 std::list< std::string > attributes;313 ExpressionNode * bitfieldWidth;314 314 std::unique_ptr<ExpressionNode> enumeratorValue; 315 InitializerNode * initializer;316 315 bool hasEllipsis; 317 316 LinkageSpec::Spec linkage; 317 ConstantExpr *asmName; 318 std::list< std::string > attributes; 319 InitializerNode * initializer; 318 320 bool extension = false; 319 321 std::string error; -
src/Parser/TypeData.cc
r2ee5426 r58dd019 10 10 // Created On : Sat May 16 15:12:51 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Sep 24 11:14:26201613 // Update Count : 4 1512 // Last Modified On : Tue Dec 13 13:40:33 2016 13 // Update Count : 420 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, Initializer * init ) {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 ) { 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 ;745 return decl->set_asmName( asmName ); 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);753 return (new ObjectDecl( name, sc, linkage, bitfieldWidth, typebuild( td ), init, list< Attribute * >(), isInline, isNoreturn ))->set_asmName( asmName ); 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 ) ) );771 ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( buildDecl( td->base, "", DeclarationNode::NoStorageClass, nullptr, false, false, LinkageSpec::Cforall, nullptr ) ) ); 772 772 } // switch 773 773 } else { -
src/Parser/TypeData.h
r2ee5426 r58dd019 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Oct 3 12:34:08201613 // Update Count : 14 212 // Last Modified On : Tue Dec 13 13:39:39 2016 13 // Update Count : 143 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, Initializer * init = nullptr );113 Declaration * buildDecl( const TypeData *, const std::string &, DeclarationNode::StorageClass, Expression *, bool isInline, bool isNoreturn, LinkageSpec::Spec, ConstantExpr *asmName, Initializer * init = nullptr ); 114 114 FunctionType * buildFunction( const TypeData * ); 115 115 -
src/Parser/parser.cc
r2ee5426 r58dd019 1 /* A Bison parser, made by GNU Bison 3.0.2. */1 /* A Bison parser, made by GNU Bison 2.5. */ 2 2 3 3 /* Bison implementation for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2013Free Software Foundation, Inc.6 4 5 Copyright (C) 1984, 1989-1990, 2000-2011 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 " 3.0.2"47 #define YYBISON_VERSION "2.5" 48 48 49 49 /* Skeleton name. */ … … 59 59 #define YYPULL 1 60 60 61 /* Using locations. */ 62 #define YYLSP_NEEDED 0 61 63 62 64 63 65 64 66 /* Copy the first part of user declarations. */ 65 #line 42 "parser.yy" /* yacc.c:339 */ 67 68 /* Line 268 of yacc.c */ 69 #line 42 "parser.yy" 66 70 67 71 #define YYDEBUG_LEXER_TEXT (yylval) // lexer loads this up each time … … 91 95 } // appendStr 92 96 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 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 102 105 103 106 /* Enabling verbose error messages. */ … … 109 112 #endif 110 113 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 114 /* Enabling the token table. */ 115 #ifndef YYTOKEN_TABLE 116 # define YYTOKEN_TABLE 0 118 117 #endif 119 #if YYDEBUG 120 extern int yydebug; 121 #endif 122 123 /* Token type. */ 118 119 120 /* Tokens. */ 124 121 #ifndef YYTOKENTYPE 125 122 # define YYTOKENTYPE 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 }; 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 }; 239 237 #endif 240 238 /* Tokens. */ … … 350 348 #define THEN 367 351 349 352 /* Value type. */ 350 351 352 353 353 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 354 typedef union YYSTYPE YYSTYPE; 355 union YYSTYPE 354 typedef union YYSTYPE 356 355 { 357 #line 120 "parser.yy" /* yacc.c:355 */ 356 357 /* Line 293 of yacc.c */ 358 #line 120 "parser.yy" 358 359 359 360 Token tok; … … 372 373 bool flag; 373 374 374 #line 375 "Parser/parser.cc" /* yacc.c:355 */ 375 }; 375 376 377 /* Line 293 of yacc.c */ 378 #line 379 "Parser/parser.cc" 379 } YYSTYPE; 376 380 # define YYSTYPE_IS_TRIVIAL 1 381 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 377 382 # define YYSTYPE_IS_DECLARED 1 378 383 #endif 379 384 380 385 381 extern YYSTYPE yylval;382 383 int yyparse (void);384 385 #endif /* !YY_YY_Y_TAB_H_INCLUDED */386 387 386 /* Copy the second part of user declarations. */ 388 387 389 #line 390 "Parser/parser.cc" /* yacc.c:358 */ 388 389 /* Line 343 of yacc.c */ 390 #line 391 "Parser/parser.cc" 390 391 391 392 #ifdef short … … 401 402 #ifdef YYTYPE_INT8 402 403 typedef YYTYPE_INT8 yytype_int8; 404 #elif (defined __STDC__ || defined __C99__FUNC__ \ 405 || defined __cplusplus || defined _MSC_VER) 406 typedef signed char yytype_int8; 403 407 #else 404 typedef s igned charyytype_int8;408 typedef short int yytype_int8; 405 409 #endif 406 410 … … 422 426 # elif defined size_t 423 427 # define YYSIZE_T size_t 424 # elif ! defined YYSIZE_T 428 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 429 || defined __cplusplus || defined _MSC_VER) 425 430 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 426 431 # define YYSIZE_T size_t … … 436 441 # if ENABLE_NLS 437 442 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 438 # define YY_( Msgid) dgettext ("bison-runtime", Msgid)443 # define YY_(msgid) dgettext ("bison-runtime", msgid) 439 444 # endif 440 445 # endif 441 446 # ifndef YY_ 442 # define YY_( Msgid) Msgid447 # define YY_(msgid) msgid 443 448 # endif 444 449 #endif 445 450 446 #ifndef YY_ATTRIBUTE447 # if (defined __GNUC__ \448 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \449 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C450 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)451 # else452 # define YY_ATTRIBUTE(Spec) /* empty */453 # endif454 #endif455 456 #ifndef YY_ATTRIBUTE_PURE457 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))458 #endif459 460 #ifndef YY_ATTRIBUTE_UNUSED461 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))462 #endif463 464 #if !defined _Noreturn \465 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)466 # if defined _MSC_VER && 1200 <= _MSC_VER467 # define _Noreturn __declspec (noreturn)468 # else469 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))470 # endif471 #endif472 473 451 /* Suppress unused-variable warnings by "using" E. */ 474 452 #if ! defined lint || defined __GNUC__ 475 # define YYUSE( E) ((void) (E))453 # define YYUSE(e) ((void) (e)) 476 454 #else 477 # define YYUSE( E) /* empty */455 # define YYUSE(e) /* empty */ 478 456 #endif 479 457 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") 458 /* Identity function, used to suppress warnings about constant conditions. */ 459 #ifndef lint 460 # define YYID(n) (n) 488 461 #else 489 # define YY_INITIAL_VALUE(Value) Value 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; 490 470 #endif 491 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 492 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 493 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 471 { 472 return yyi; 473 } 494 474 #endif 495 #ifndef YY_INITIAL_VALUE496 # define YY_INITIAL_VALUE(Value) /* Nothing. */497 #endif498 499 475 500 476 #if ! defined yyoverflow || YYERROR_VERBOSE … … 515 491 # else 516 492 # define YYSTACK_ALLOC alloca 517 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 493 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 494 || defined __cplusplus || defined _MSC_VER) 518 495 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 519 /* Use EXIT_SUCCESS as a witness for stdlib.h. */520 496 # ifndef EXIT_SUCCESS 521 497 # define EXIT_SUCCESS 0 … … 527 503 528 504 # ifdef YYSTACK_ALLOC 529 /* Pacify GCC's 'empty if-body' warning. */530 # define YYSTACK_FREE(Ptr) do { /* empty */; } while ( 0)505 /* Pacify GCC's `empty if-body' warning. */ 506 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 531 507 # ifndef YYSTACK_ALLOC_MAXIMUM 532 508 /* The OS might guarantee only one guard page at the bottom of the stack, … … 544 520 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 545 521 && ! ((defined YYMALLOC || defined malloc) \ 546 522 && (defined YYFREE || defined free))) 547 523 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 548 524 # ifndef EXIT_SUCCESS … … 552 528 # ifndef YYMALLOC 553 529 # define YYMALLOC malloc 554 # if ! defined malloc && ! defined EXIT_SUCCESS 530 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 531 || defined __cplusplus || defined _MSC_VER) 555 532 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 556 533 # endif … … 558 535 # ifndef YYFREE 559 536 # define YYFREE free 560 # if ! defined free && ! defined EXIT_SUCCESS 537 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 538 || defined __cplusplus || defined _MSC_VER) 561 539 void free (void *); /* INFRINGES ON USER NAME SPACE */ 562 540 # endif … … 568 546 #if (! defined yyoverflow \ 569 547 && (! defined __cplusplus \ 570 548 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 571 549 572 550 /* A type that is properly aligned for any stack member. */ … … 593 571 stack. Advance YYPTR to a properly aligned location for the next 594 572 stack. */ 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 602 yyptr += yynewbytes / sizeof (*yyptr);\603 } 604 while ( 0)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)) 605 583 606 584 #endif 607 585 608 586 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 609 /* Copy COUNT objects from SRC to DST. The source and destination do587 /* Copy COUNT objects from FROM to TO. The source and destination do 610 588 not overlap. */ 611 589 # ifndef YYCOPY 612 590 # if defined __GNUC__ && 1 < __GNUC__ 613 # define YYCOPY( Dst, Src, Count) \614 __builtin_memcpy ( Dst, Src, (Count) * sizeof (*(Src)))591 # define YYCOPY(To, From, Count) \ 592 __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 615 593 # else 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)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)) 624 602 # endif 625 603 # endif … … 637 615 /* YYNRULES -- Number of rules. */ 638 616 #define YYNRULES 757 639 /* YYN STATES -- Number of states. */617 /* YYNRULES -- Number of states. */ 640 618 #define YYNSTATES 1540 641 619 642 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 643 by yylex, with out-of-bounds checking. */ 620 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 644 621 #define YYUNDEFTOK 2 645 622 #define YYMAXUTOK 367 646 623 647 #define YYTRANSLATE(YYX) 624 #define YYTRANSLATE(YYX) \ 648 625 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 649 626 650 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 651 as returned by yylex, without out-of-bounds checking. */ 627 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 652 628 static const yytype_uint8 yytranslate[] = 653 629 { … … 692 668 693 669 #if YYDEBUG 694 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 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. */ 695 1030 static const yytype_uint16 yyrline[] = 696 1031 { 697 0, 30 5, 305, 309, 316, 317, 318, 319, 320, 324,698 32 5, 326, 330, 331, 335, 336, 340, 341, 345, 349,699 35 0, 361, 363, 365, 366, 368, 373, 374, 380, 382,700 38 4, 386, 388, 390, 392, 394, 396, 398, 407, 408,701 41 4, 415, 419, 420, 424, 425, 427, 429, 431, 433,702 43 5, 440, 442, 444, 456, 457, 465, 468, 470, 472,703 47 7, 490, 492, 494, 496, 498, 500, 502, 504, 506,704 50 8, 510, 517, 518, 524, 525, 526, 527, 531, 532,705 5 39, 540, 542, 544, 549, 550, 552, 557, 558, 560,706 56 5, 566, 568, 570, 572, 577, 578, 580, 585, 586,707 59 1, 592, 597, 598, 603, 604, 609, 610, 615, 616,708 6 19, 626, 631, 632, 640, 641, 645, 646, 647, 648,709 6 49, 650, 651, 652, 653, 654, 655, 656, 666, 668,710 67 3, 674, 679, 680, 686, 687, 693, 694, 695, 696,711 69 7, 698, 699, 700, 701, 711, 718, 720, 730, 731,712 73 6, 738, 744, 746, 750, 751, 756, 761, 764, 766,713 76 8, 778, 780, 791, 792, 794, 798, 800, 804, 805,714 81 0, 811, 815, 820, 821, 825, 827, 833, 834, 838,715 84 0, 842, 844, 850, 851, 855, 857, 862, 864, 866,716 87 1, 873, 878, 880, 884, 887, 891, 894, 898, 900,717 90 2, 904, 909, 911, 913, 918, 920, 922, 924, 926,718 93 1, 933, 935, 937, 942, 954, 955, 960, 962, 967,719 97 1, 973, 975, 977, 979, 985, 986, 992, 993, 997,720 99 8, 1003, 1005, 1011, 1012, 1014, 1019, 1024, 1034, 1036,721 104 0, 1041, 1046, 1048, 1052, 1053, 1057, 1059, 1063, 1064,722 106 8, 1069, 1073, 1074, 1089, 1090, 1091, 1092, 1093, 1097,723 110 2, 1109, 1119, 1124, 1129, 1137, 1142, 1147, 1152, 1157,724 118 7, 1192, 1199, 1201, 1208, 1213, 1218, 1229, 1234, 1239,725 124 4, 1249, 1258, 1263, 1271, 1272, 1273, 1274, 1280, 1285,726 129 3, 1294, 1295, 1296, 1300, 1301, 1302, 1303, 1308, 1309,727 131 8, 1319, 1324, 1325, 1330, 1332, 1334, 1336, 1338, 1341,728 134 0, 1352, 1353, 1355, 1365, 1366, 1371, 1373, 1375, 1377,729 13 79, 1382, 1384, 1387, 1392, 1394, 1396, 1398, 1400, 1402,730 140 4, 1406, 1408, 1410, 1412, 1414, 1416, 1418, 1420, 1426,731 142 7, 1429, 1431, 1433, 1438, 1439, 1445, 1446, 1448, 1450,732 145 5, 1457, 1459, 1461, 1466, 1467, 1469, 1471, 1476, 1477,733 14 79, 1484, 1485, 1487, 1489, 1494, 1496, 1498, 1503, 1504,734 150 8, 1510, 1516, 1515, 1519, 1521, 1526, 1528, 1534, 1535,735 154 0, 1541, 1543, 1544, 1553, 1554, 1556, 1558, 1563, 1565,736 157 1, 1572, 1574, 1577, 1580, 1585, 1586, 1591, 1596, 1600,737 160 2, 1608, 1607, 1614, 1616, 1622, 1623, 1631, 1632, 1636,738 163 7, 1638, 1640, 1642, 1649, 1650, 1652, 1654, 1659, 1660,739 166 6, 1667, 1671, 1672, 1677, 1678, 1679, 1681, 1689, 1690,740 169 2, 1695, 1697, 1701, 1702, 1703, 1705, 1707, 1711, 1716,741 172 4, 1725, 1734, 1736, 1741, 1742, 1743, 1747, 1748, 1749,742 175 3, 1754, 1755, 1759, 1760, 1761, 1766, 1767, 1768, 1769,743 177 5, 1776, 1778, 1783, 1784, 1789, 1790, 1791, 1792, 1793,744 180 8, 1809, 1814, 1815, 1821, 1823, 1826, 1828, 1830, 1853,745 185 4, 1856, 1858, 1863, 1864, 1866, 1871, 1876, 1877, 1883,746 188 2, 1886, 1890, 1892, 1894, 1900, 1901, 1906, 1911, 1913,747 191 8, 1920, 1921, 1923, 1928, 1930, 1932, 1937, 1939, 1944,748 19 49, 1957, 1963, 1962, 1976, 1977, 1982, 1983, 1987, 1992,749 199 7, 2005, 2010, 2021, 2022, 2027, 2028, 2034, 2035, 2039,750 204 0, 2041, 2044, 2043, 2054, 2063, 2069, 2075, 2084, 2090,751 209 6, 2102, 2108, 2116, 2122, 2130, 2136, 2145, 2146, 2147,752 215 1, 2155, 2157, 2162, 2163, 2167, 2168, 2173, 2179, 2180,753 218 3, 2185, 2186, 2190, 2191, 2192, 2193, 2227, 2229, 2230,754 223 2, 2237, 2242, 2247, 2249, 2251, 2256, 2258, 2260, 2262,755 22 67, 2269, 2278, 2280, 2281, 2286, 2288, 2290, 2295, 2297,756 2 299, 2304, 2306, 2308, 2317, 2318, 2319, 2323, 2325, 2327,757 233 2, 2334, 2336, 2341, 2343, 2345, 2360, 2362, 2363, 2365,758 237 0, 2371, 2376, 2378, 2380, 2385, 2387, 2389, 2391, 2396,759 2 398, 2400, 2410, 2412, 2413, 2415, 2420, 2422, 2424, 2429,760 243 1, 2433, 2435, 2440, 2442, 2444, 2475, 2477, 2478, 2480,761 248 5, 2490, 2498, 2500, 2502, 2507, 2509, 2514, 2516, 2530,762 253 1, 2533, 2538, 2540, 2542, 2544, 2546, 2551, 2552, 2554,763 255 6, 2561, 2563, 2565, 2571, 2573, 2575, 2579, 2581, 2583,764 258 5, 2599, 2600, 2602, 2607, 2609, 2611, 2613, 2615, 2620,765 262 1, 2623, 2625, 2630, 2632, 2634, 2640, 2641, 2643, 2652,766 265 5, 2657, 2660, 2662, 2664, 2677, 2678, 2680, 2685, 2687,767 26 89, 2691, 2693, 2698, 2699, 2701, 2703, 2708, 2710, 2718,768 27 19, 2720, 2725, 2726, 2730, 2732, 2734, 2736, 2738, 2740,769 27 47, 2749, 2751, 2753, 2755, 2758, 2760, 2762, 2764, 2766,770 277 1, 2773, 2775, 2780, 2806, 2807, 2809, 2813, 2814, 2818,771 282 0, 2822, 2824, 2826, 2828, 2835, 2837, 2839, 2841, 2843,772 284 5, 2850, 2857, 2859, 2877, 2879, 2884, 28851032 0, 306, 306, 310, 317, 318, 319, 320, 321, 325, 1033 326, 327, 331, 332, 336, 337, 341, 342, 346, 350, 1034 351, 362, 364, 366, 367, 369, 374, 375, 381, 383, 1035 385, 387, 389, 391, 393, 395, 397, 399, 408, 409, 1036 415, 416, 420, 421, 425, 426, 428, 430, 432, 434, 1037 436, 441, 443, 445, 457, 458, 466, 469, 471, 473, 1038 478, 491, 493, 495, 497, 499, 501, 503, 505, 507, 1039 509, 511, 518, 519, 525, 526, 527, 528, 532, 533, 1040 540, 541, 543, 545, 550, 551, 553, 558, 559, 561, 1041 566, 567, 569, 571, 573, 578, 579, 581, 586, 587, 1042 592, 593, 598, 599, 604, 605, 610, 611, 616, 617, 1043 620, 627, 632, 633, 641, 642, 646, 647, 648, 649, 1044 650, 651, 652, 653, 654, 655, 656, 657, 667, 669, 1045 674, 675, 680, 681, 687, 688, 694, 695, 696, 697, 1046 698, 699, 700, 701, 702, 712, 719, 721, 731, 732, 1047 737, 739, 745, 747, 751, 752, 757, 762, 765, 767, 1048 769, 779, 781, 792, 793, 795, 799, 801, 805, 806, 1049 811, 812, 816, 821, 822, 826, 828, 834, 835, 839, 1050 841, 843, 845, 851, 852, 856, 858, 863, 865, 867, 1051 872, 874, 879, 881, 885, 888, 892, 895, 899, 901, 1052 903, 905, 910, 912, 914, 919, 921, 923, 925, 927, 1053 932, 934, 936, 938, 943, 955, 956, 961, 963, 968, 1054 972, 974, 976, 978, 980, 986, 987, 993, 994, 998, 1055 999, 1004, 1006, 1012, 1013, 1015, 1020, 1025, 1035, 1037, 1056 1041, 1042, 1047, 1049, 1053, 1054, 1058, 1060, 1064, 1065, 1057 1069, 1070, 1074, 1075, 1090, 1091, 1092, 1093, 1094, 1098, 1058 1103, 1110, 1120, 1125, 1130, 1138, 1143, 1148, 1153, 1158, 1059 1188, 1193, 1200, 1202, 1209, 1214, 1219, 1230, 1235, 1240, 1060 1245, 1250, 1259, 1264, 1272, 1273, 1274, 1275, 1281, 1286, 1061 1294, 1295, 1296, 1297, 1301, 1302, 1303, 1304, 1309, 1310, 1062 1319, 1320, 1325, 1326, 1331, 1333, 1335, 1337, 1339, 1342, 1063 1341, 1353, 1354, 1356, 1366, 1367, 1372, 1374, 1376, 1378, 1064 1380, 1383, 1385, 1388, 1393, 1395, 1397, 1399, 1401, 1403, 1065 1405, 1407, 1409, 1411, 1413, 1415, 1417, 1419, 1421, 1427, 1066 1428, 1430, 1432, 1434, 1439, 1440, 1446, 1447, 1449, 1451, 1067 1456, 1458, 1460, 1462, 1467, 1468, 1470, 1472, 1477, 1478, 1068 1480, 1485, 1486, 1488, 1490, 1495, 1497, 1499, 1504, 1505, 1069 1509, 1511, 1517, 1516, 1520, 1522, 1527, 1529, 1535, 1536, 1070 1541, 1542, 1544, 1545, 1554, 1555, 1557, 1559, 1564, 1566, 1071 1572, 1573, 1575, 1578, 1581, 1586, 1587, 1592, 1597, 1601, 1072 1603, 1609, 1608, 1615, 1617, 1623, 1624, 1632, 1633, 1637, 1073 1638, 1639, 1641, 1643, 1650, 1651, 1653, 1655, 1660, 1661, 1074 1667, 1668, 1672, 1673, 1678, 1679, 1680, 1682, 1690, 1691, 1075 1693, 1696, 1698, 1702, 1703, 1704, 1706, 1708, 1712, 1717, 1076 1725, 1726, 1735, 1737, 1742, 1743, 1744, 1748, 1749, 1750, 1077 1754, 1755, 1756, 1760, 1761, 1762, 1767, 1768, 1769, 1770, 1078 1776, 1777, 1779, 1784, 1785, 1790, 1791, 1792, 1793, 1794, 1079 1809, 1810, 1815, 1816, 1822, 1824, 1827, 1829, 1831, 1854, 1080 1855, 1857, 1859, 1864, 1865, 1867, 1872, 1877, 1878, 1884, 1081 1883, 1887, 1891, 1893, 1895, 1901, 1902, 1907, 1912, 1914, 1082 1919, 1921, 1922, 1924, 1929, 1931, 1933, 1938, 1940, 1945, 1083 1950, 1958, 1964, 1963, 1977, 1978, 1983, 1984, 1988, 1993, 1084 1998, 2006, 2011, 2022, 2023, 2028, 2029, 2035, 2036, 2040, 1085 2041, 2042, 2045, 2044, 2055, 2064, 2070, 2076, 2085, 2091, 1086 2097, 2103, 2109, 2117, 2123, 2131, 2137, 2146, 2147, 2148, 1087 2152, 2158, 2159, 2165, 2166, 2170, 2171, 2176, 2182, 2183, 1088 2186, 2188, 2189, 2193, 2194, 2195, 2196, 2230, 2232, 2233, 1089 2235, 2240, 2245, 2250, 2252, 2254, 2259, 2261, 2263, 2265, 1090 2270, 2272, 2281, 2283, 2284, 2289, 2291, 2293, 2298, 2300, 1091 2302, 2307, 2309, 2311, 2320, 2321, 2322, 2326, 2328, 2330, 1092 2335, 2337, 2339, 2344, 2346, 2348, 2363, 2365, 2366, 2368, 1093 2373, 2374, 2379, 2381, 2383, 2388, 2390, 2392, 2394, 2399, 1094 2401, 2403, 2413, 2415, 2416, 2418, 2423, 2425, 2427, 2432, 1095 2434, 2436, 2438, 2443, 2445, 2447, 2478, 2480, 2481, 2483, 1096 2488, 2493, 2501, 2503, 2505, 2510, 2512, 2517, 2519, 2533, 1097 2534, 2536, 2541, 2543, 2545, 2547, 2549, 2554, 2555, 2557, 1098 2559, 2564, 2566, 2568, 2574, 2576, 2578, 2582, 2584, 2586, 1099 2588, 2602, 2603, 2605, 2610, 2612, 2614, 2616, 2618, 2623, 1100 2624, 2626, 2628, 2633, 2635, 2637, 2643, 2644, 2646, 2655, 1101 2658, 2660, 2663, 2665, 2667, 2680, 2681, 2683, 2688, 2690, 1102 2692, 2694, 2696, 2701, 2702, 2704, 2706, 2711, 2713, 2721, 1103 2722, 2723, 2728, 2729, 2733, 2735, 2737, 2739, 2741, 2743, 1104 2750, 2752, 2754, 2756, 2758, 2761, 2763, 2765, 2767, 2769, 1105 2774, 2776, 2778, 2783, 2809, 2810, 2812, 2816, 2817, 2821, 1106 2823, 2825, 2827, 2829, 2831, 2838, 2840, 2842, 2844, 2846, 1107 2848, 2853, 2860, 2862, 2880, 2882, 2887, 2888 773 1108 }; 774 1109 #endif 775 1110 776 #if YYDEBUG || YYERROR_VERBOSE || 01111 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE 777 1112 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 778 1113 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ … … 885 1220 "new_abstract_declarator_no_tuple", "new_abstract_ptr", 886 1221 "new_abstract_array", "new_abstract_tuple", "new_abstract_function", 887 "comma_opt", "assignment_opt", YY_NULLPTR1222 "comma_opt", "assignment_opt", 0 888 1223 }; 889 1224 #endif 890 1225 891 1226 # ifdef YYPRINT 892 /* YYTOKNUM[ NUM] -- (External) token number corresponding to the893 (internal) symbol number NUM (which must be that of a token). */1227 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 1228 token YYLEX-NUM. */ 894 1229 static const yytype_uint16 yytoknum[] = 895 1230 { … … 911 1246 # endif 912 1247 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[] = 1248 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 1249 static const yytype_uint16 yyr1[] = 926 1250 { 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 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 1081 1327 }; 1082 1328 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. */ 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. */ 1086 1413 static const yytype_uint16 yydefact[] = 1087 1414 { … … 1242 1569 }; 1243 1570 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]. */ 1571 /* YYDEFGOTO[NTERM-NUM]. */ 1275 1572 static const yytype_int16 yydefgoto[] = 1276 1573 { … … 1302 1599 }; 1303 1600 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. */ 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 1307 1796 static const yytype_int16 yytable[] = 1308 1797 { … … 1326 1815 952, 98, 900, 108, 146, 953, 1178, 33, -239, 591, 1327 1816 713, 1161, 918, 1285, 326, 190, 187, 187, 98, 566, 1328 154, 98, 177, 340, 162, 1235, 846, 740, 665, 667,1817 154, 98, 177, 340, 162, 1235, 846, 157, 665, 667, 1329 1818 291, 804, 267, 253, 418, 410, 410, 1180, 805, 790, 1330 51, 971, 847, 847, 479, 806, 410, 162, 155, 58,1819 51, 1157, 847, 847, 479, 806, 410, 162, 155, 58, 1331 1820 117, 1512, 210, 167, 660, 1424, 151, 152, 847, 441, 1332 153, 1314, 939, 1317, 1319, 808, 144, 524, 437, 474,1821 153, 1314, 939, 1317, 1319, 808, 144, 1158, 437, 474, 1333 1822 310, 177, 429, 879, 177, 809, 432, 1061, 1527, 817, 1334 1823 1050, 596, 51, 58, 999, 819, 330, 156, 810, 99, 1335 272, 716, 728, 1152, 71, 272, 267, 267, 1058, 98,1824 272, 716, 728, 1152, 71, 272, 267, 267, 729, 98, 1336 1825 148, 976, 115, 78, 162, 52, 326, 517, 78, 407, 1337 1167, 98, 517, 440, 604, 517, 847, 211, 157, 1000,1826 1167, 98, 517, 440, 604, 517, 847, 211, 730, 1000, 1338 1827 221, 804, 481, 469, 461, 1184, 1185, 310, 805, 498, 1339 1074, 649, 657, 987, 729, 806, 397, 190, 432, 1065,1828 1074, 649, 657, 987, 1099, 806, 397, 190, 432, 1065, 1340 1829 310, 486, 469, 72, 707, 695, 172, 1152, 434, 886, 1341 469, 706, 1382, 1383, 730, 281, 568, 1382, 1383, 664,1830 469, 706, 1382, 1383, 1100, 281, 568, 1382, 1383, 664, 1342 1831 98, 149, 445, 519, 164, 669, 169, 182, 372, 780, 1343 1 157, 115, 98, 1150, 1151, 345, 160, 584, 330, 597,1832 1454, 115, 98, 1150, 1151, 345, 160, 584, 330, 597, 1344 1833 615, 458, 177, 808, 108, 1097, 795, 1181, 1051, 407, 1345 170, 972, 65, 809, 620, 1454, 1158, 470, 620, 1224,1346 1 099, 977, 98, 1003, 836, 657, 810, 583, 837, 1407,1347 434, 588, 988, 202, 624, 282, 477, 1307, 628, 112,1348 1 100, 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 25 1, 98, 115, 593, 591, 43, 44, 78, 244, 376,1355 852, 326, 326, 1082, 1419, 78, 1085, -524, 386, 598,1356 267, 58, 83 8, 1470, 706, 377, 1081, 1118, 267, 1369,1357 620, 177, 51, 757, 3 87, 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,1834 170, 972, 65, 809, 620, 112, 1158, 470, 620, 1224, 1835 1307, 977, 98, 1003, 202, 657, 810, 583, 43, 44, 1836 434, 588, 988, -294, 624, 282, 477, 1470, 628, 112, 1837 1308, 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 253, 98, 115, 593, 591, 43, 44, 78, 244, 386, 1844 264, 326, 326, 1082, 1419, 78, 1085, 557, 558, 598, 1845 267, 58, 836, -12, 706, 387, 837, 1118, 267, 1369, 1846 620, 177, 51, 757, 333, 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, 1364 1853 469, 1526, 435, 867, 470, 433, 1000, 392, 1106, 253, 1365 1854 332, 410, 443, 900, 858, 980, 635, 568, 568, 576, 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, 90 1, 98, 555, 556, 491, 598, 394, 492, 696,1370 39, 326, 175, 176, 42, 620, 27 7, 902, 998, 330,1371 620, 793, 615, 43, 44, 90 3, 620, 901, 279, 620,1372 620, 5 79, 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, 1 164, 1063, 115, 440, 112,1377 894, 1 298, 334, 330, 1055, 8, 9, 10, 11, 12,1378 1 165, 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, 13 01, 401,1381 402, 78, 403, 834, 404, 707, 3 36, 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 7 15, 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,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, 903, 98, 579, 394, 410, 598, 902, 1456, 696, 1859 39, 326, 175, 176, 42, 620, 279, 904, 998, 330, 1860 620, 793, 615, 43, 44, 901, 620, 903, 280, 620, 1861 620, 567, 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, 1298, 1165, 115, 440, 336, 1866 894, 1300, 337, 330, 1055, 8, 9, 10, 11, 12, 1867 1290, 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, 1346, 401, 1870 402, 78, 403, 834, 404, 707, 375, 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 740, 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, 1392 1881 979, 803, 598, 2, 207, 4, 5, 6, 7, 518, 1393 1335, 1 137, -295, 596, 518, 253, 332, 518, 704, 8,1394 9, 10, 11, 12, 695, 695, 940, 213, 4 48, 177,1395 940, 940, 310, 1211, 229, 112, -372, 50, 114, 575,1396 1480, 1421, 1 111, 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, 1 340, 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, 5 06, 657, 108, 486, 1088, 326, 897, 561,1406 1476, 1532, 65, 511, 1305, 50, 1477, 575, 50, 112,1407 -296, 141, 142, 345, 56 2, 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, 65 5, 72, 766, 767, 50, 656, 267, 50,1418 6 61, 834, 695, 817, 332, 596, 114, 680, 659, 695,1882 1335, 1332, -295, 502, 518, 1333, 460, 518, 704, 8, 1883 9, 10, 11, 12, 695, 695, 940, 213, 482, 177, 1884 940, 940, 310, 112, 229, 141, 142, 50, 114, 1340, 1885 1480, 1421, 1342, 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, 1410, 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, 562, 657, 108, 486, 1088, 326, 897, 817, 1895 332, 596, 65, 563, 1305, 50, 332, 410, 50, 112, 1896 -296, 141, 142, 345, 564, 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, 652, 72, 766, 767, 50, 654, 267, 50, 1907 655, 834, 695, 772, 773, 656, 114, 680, 661, 695, 1419 1908 695, 695, 258, 546, 547, 2, 207, 4, 5, 6, 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, 8 11, 45, 1453, 658, -15,1425 8 55, 861, 695, 899, 47, 48, 854, 1444, 272, 115,1426 881, 883, 37, 546, 38, -422, 888, 931, 220, 908,1427 93 3, 33, -528, 230, 923, 696, 898, 715, 937, 684,1428 310, 898, 696, 696, 696, 9 38, 944, 945, 50, 946,1429 9 47, 948, 71, 949, 620, 973, 974, 975, 115, 36,1430 9 63, 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 10 76, 58, 1521, 893, 1088, 1077, 636, 68, 1521, 1078,1434 496, 72, 10 84, 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,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, 881, 45, 1453, 658, 883, 1914 888, 931, 695, 899, 47, 48, 908, 1444, 272, 115, 1915 -422, -528, 37, 546, 38, 715, 923, 933, 220, 944, 1916 937, 33, 945, 230, 946, 696, 898, 938, 947, 684, 1917 310, 898, 696, 696, 696, 948, 949, 963, 50, 973, 1918 974, 975, 71, 989, 620, 990, 991, 992, 115, 36, 1919 993, 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 1084, 58, 1521, 1094, 1088, 740, 636, 68, 1521, 1095, 1923 496, 72, 1096, 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, 1438 1927 50, 78, 108, 1170, 1171, 1173, 50, 529, 1174, 530, 1439 1928 65, 531, 532, 115, 1182, 1188, -3, 398, 399, 1193, 1440 108, 1186, 1086, 400, 704, 1198, 120 1, 1203, 401, 402,1929 108, 1186, 1086, 400, 704, 1198, 1203, 1201, 401, 402, 1441 1930 260, 403, 230, 404, 235, 567, 440, 410, 491, 1207, 1442 1931 1214, 72, 114, 47, 48, 1212, 1216, 50, 1219, 1088, … … 1461 1950 1450, 1461, 1087, 372, 1471, 1473, 1486, 1475, 108, 76, 1462 1951 8, 9, 10, 11, 12, 108, 470, 326, 1478, 1479, 1463 1501, 876, 959, 470, 1506, 1513, 72, 50, 1502, 1515,1952 1501, 1187, 959, 470, 1506, 1513, 72, 50, 1502, 1515, 1464 1953 1517, 114, 1523, 114, 260, 1530, 163, 114, 589, 1531, 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, 8 89, 1200, 50, 1069, 470, 890, 911, 792, 39,1469 10 73, 184, 185, 42, 909, 1017, 463, 1107, 658, 330,1470 860, 477, 43, 44, 1350, 131, 925, 132, 133, 134,1471 1 297, 709, 1087, 39, 1083, 184, 185, 42, 43, 44,1472 471, 0, 0, 742, 934, 410, 43, 44, 595, 782,1473 596, 47, 48, 78 3, 350, 58, 47, 48, 784, 471,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, 890, 1200, 50, 1069, 470, 911, 1073, 792, 39, 1958 1017, 184, 185, 42, 909, 860, 463, 1107, 658, 330, 1959 925, 477, 43, 44, 1350, 131, 1297, 132, 133, 134, 1960 1083, 709, 1087, 39, 0, 184, 185, 42, 43, 44, 1961 471, 782, 0, 742, 934, 410, 43, 44, 595, 783, 1962 596, 47, 48, 784, 350, 58, 47, 48, 0, 471, 1474 1963 909, 0, 58, 353, 163, 0, 0, 471, 0, 0, 1475 1964 0, 0, 892, 0, 410, 0, 373, 0, 50, 0, … … 2372 2861 }; 2373 2862 2863 #define yypact_value_is_default(yystate) \ 2864 ((yystate) == (-1267)) 2865 2866 #define yytable_value_is_error(yytable_value) \ 2867 YYID (0) 2868 2374 2869 static const yytype_int16 yycheck[] = 2375 2870 { … … 2393 2888 892, 51, 680, 71, 11, 892, 136, 41, 119, 345, 2394 2889 486, 1015, 703, 136, 148, 65, 186, 187, 68, 133, 2395 186, 71, 59, 157, 187, 117, 703, 1 20, 425, 426,2890 186, 71, 59, 157, 187, 117, 703, 116, 425, 426, 2396 2891 83, 711, 202, 113, 113, 115, 115, 121, 711, 575, 2397 210, 1 34, 629, 630, 113, 711, 115, 210, 186, 0,2892 210, 100, 629, 630, 113, 711, 115, 210, 186, 0, 2398 2893 1, 1487, 222, 115, 409, 1455, 266, 266, 645, 222, 2399 266, 1232, 115, 1234, 1235, 801, 113, 83, 219, 113,2894 266, 1232, 115, 1234, 1235, 801, 113, 126, 219, 113, 2400 2895 240, 108, 206, 663, 111, 801, 210, 888, 1514, 113, 2401 2896 862, 115, 252, 34, 813, 803, 148, 186, 801, 252, 2402 2897 260, 135, 502, 1204, 252, 265, 266, 267, 114, 149, 2403 2898 113, 785, 272, 252, 267, 252, 240, 504, 257, 187, 2404 1270, 161, 509, 222, 597, 512, 703, 68, 1 16, 813,2899 1270, 161, 509, 222, 597, 512, 703, 68, 134, 813, 2405 2900 71, 801, 273, 417, 252, 1034, 1035, 297, 801, 280, 2406 2901 911, 395, 405, 801, 114, 801, 186, 187, 272, 893, … … 2410 2905 100, 341, 222, 1257, 1258, 345, 310, 341, 240, 349, 2411 2906 350, 248, 219, 919, 252, 939, 585, 1031, 1190, 267, 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, 12 6, 57, 134, 118, 395, 920, 626, 115, 118,2416 364, 983, 87, 88, 368, 405, 273, 13 4, 462, 1458,2417 1022, 350, 405, 280, 74, 1464, 76, 77, 310, 74,2418 11 6, 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 1 15, 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, 1 36, 478, 486, 649, 452, 482,2425 730, 11 3, 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, 1 35, 115, 523, 1487, 405, 490, 417, 492, 194,2429 494, 134, 471, 425, 426, 1 16, 1370, 1371, 113, 120,2430 504, 120, 506, 482, 1507, 509, 436, 511, 512, 11 4,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, 120, 57, 120, 118, 395, 920, 626, 115, 118, 2911 364, 983, 87, 88, 368, 405, 273, 136, 462, 1458, 2912 1022, 350, 405, 280, 74, 1464, 76, 77, 310, 659, 2913 113, 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 135, 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, 114, 478, 486, 649, 452, 482, 2920 730, 114, 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, 120, 115, 523, 1487, 405, 490, 417, 492, 194, 2924 494, 134, 471, 425, 426, 134, 1370, 1371, 123, 124, 2925 504, 120, 506, 482, 1507, 509, 436, 511, 512, 113, 2431 2926 674, 1514, 217, 647, 444, 272, 1080, 136, 1066, 113, 2432 2927 114, 115, 227, 1071, 115, 794, 117, 567, 568, 113, 2433 2928 478, 115, 738, 1157, 1158, 575, 700, 680, 1190, 113, 2434 297, 1001, 1002, 134, 482, 585, 586, 1004, 1 14, 589,2929 297, 1001, 1002, 134, 482, 585, 586, 1004, 120, 589, 2435 2930 480, 120, 482, 310, 120, 595, 1270, 597, 586, 862, 2436 492, 120, 482, 94, 95, 132, 486, 136, 135, 663,2931 492, 120, 482, 113, 136, 115, 486, 136, 134, 663, 2437 2932 74, 575, 76, 77, 78, 615, 113, 136, 924, 511, 2438 2933 620, 585, 622, 87, 88, 120, 626, 120, 113, 629, 2439 630, 113, 297, 115, 781, 616, 1056, 1057, 1 29, 130,2440 1 13, 136, 114, 136, 791, 645, 121, 647, 120, 113,2934 630, 113, 297, 115, 781, 616, 1056, 1057, 114, 121, 2935 122, 136, 114, 136, 791, 645, 121, 647, 120, 113, 2441 2936 631, 615, 127, 128, 1386, 802, 620, 116, 1270, 74, 2442 2937 120, 120, 626, 644, 849, 4, 5, 6, 7, 8, 2443 9, 1345, 87, 88, 120, 120, 136, 677, 617, 74,2938 9, 1345, 87, 88, 120, 120, 136, 677, 617, 114, 2444 2939 680, 120, 114, 575, 869, 10, 11, 12, 13, 14, 2445 136, 136, 87, 88, 113, 674, 115, 136, 113, 113,2446 115, 482, 120, 703, 704, 705, 931, 11 4, 892, 892,2940 136, 136, 116, 114, 114, 674, 120, 136, 113, 120, 2941 115, 482, 120, 703, 704, 705, 931, 113, 892, 892, 2447 2942 1127, 711, 712, 677, 892, 595, 41, 597, 136, 892, 2448 892, 700, 892, 615, 892, 891, 11 4, 781, 620, 113,2449 1 20, 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,2943 892, 700, 892, 615, 892, 891, 113, 781, 620, 119, 2944 114, 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, 2452 2947 120, 114, 1025, 120, 631, 113, 705, 120, 1491, 1491, 2453 11 9, 113, 680, 115, 1491, 1507, 441, 644, 113, 121,2454 122, 1365, 1514, 66, 674, 785, 113, 504, 115, 506,2455 1 36, 894, 509, 114, 794, 512, 796, 136, 1382, 120,2456 680, 801, 467, 11 3, 897, 114, 899, 113, 996, 115,2948 113, 113, 680, 115, 1491, 1507, 441, 644, 136, 121, 2949 122, 1365, 1514, 118, 674, 785, 116, 504, 83, 506, 2950 120, 894, 509, 114, 794, 512, 796, 136, 1382, 120, 2951 680, 801, 467, 118, 897, 114, 899, 113, 996, 115, 2457 2952 700, 120, 1486, 813, 1426, 121, 122, 983, 114, 1239, 2458 113, 1433, 115, 114, 120, 1 13, 1246, 1247, 1248, 120,2953 113, 1433, 115, 114, 120, 136, 1246, 1247, 1248, 120, 2459 2954 794, 711, 712, 4, 5, 6, 7, 8, 9, 504, 2460 1257, 11 3, 3, 115, 509, 113, 114, 512, 738, 10,2461 11, 12, 13, 14, 1001, 1002, 1096, 796, 1 36, 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, 11 8, 120, 862, 884, 504, 113, 506, 115, 1309,2955 1257, 116, 3, 113, 509, 120, 136, 512, 738, 10, 2956 11, 12, 13, 14, 1001, 1002, 1096, 796, 118, 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, 115, 114, 862, 884, 504, 113, 506, 120, 1309, 2465 2960 509, 891, 892, 512, 894, 1017, 884, 114, 31, 32, 2466 71, 34, 73, 120, 1 36, 113, 906, 115, 69, 1056,2467 1057, 1 14, 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, 1 13, 1066, 862, 929, 930, 931, 1071, 122,2473 114, 11 4, 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, 1 32, 892, 98, 894, 115, 149, 74, 41, 983,2478 11 4, 115, 1022, 1286, 81, 60, 61, 84, 161, 86,2479 87, 88, 930, 11 6, 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,2961 71, 34, 73, 120, 115, 114, 906, 113, 69, 1056, 2962 1057, 120, 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, 131, 1066, 862, 929, 930, 931, 1071, 113, 2968 114, 115, 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, 113, 892, 115, 894, 115, 149, 74, 41, 983, 2973 119, 120, 1022, 1286, 81, 46, 47, 84, 161, 86, 2974 87, 88, 930, 113, 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, 2484 2979 1080, 862, 114, 1022, 553, 554, 219, 114, 1088, 222, 2485 11 6, 983, 1239, 113, 114, 115, 229, 1061, 113, 1246,2980 114, 983, 1239, 559, 560, 114, 229, 1061, 116, 1246, 2486 2981 1247, 1248, 115, 310, 311, 4, 5, 6, 7, 8, 2487 9, 244, 559, 560, 1341, 248, 118, 74, 135, 252,2488 253, 78, 1 20, 1386, 1022, 118, 118, 1127, 1391, 135,2489 87, 88, 1022, 266, 267, 60, 61, 62, 345, 113,2490 273, 11 4, 114, 3, 134, 116, 116, 280, 1202, 930,2491 10, 11, 12, 13, 14, 11 6, 113, 1420, 1066, 134,2492 1 20, 31, 1309, 1071, 121, 122, 134, 1407, 1168, 1169,2493 114, 11 4, 71, 380, 73, 114, 118, 113, 1169, 119,2494 1 14, 41, 119, 213, 119, 1239, 1066, 120, 134, 906,2495 1190, 1071, 1246, 1247, 1248, 1 36, 114, 120, 331, 114,2982 9, 244, 118, 120, 1341, 248, 118, 74, 135, 252, 2983 253, 78, 118, 1386, 1022, 135, 113, 1127, 1391, 114, 2984 87, 88, 1022, 266, 267, 114, 116, 134, 345, 116, 2985 273, 116, 134, 3, 134, 31, 120, 280, 1202, 930, 2986 10, 11, 12, 13, 14, 114, 113, 1420, 1066, 114, 2987 118, 113, 1309, 1071, 121, 122, 119, 1407, 1168, 1169, 2988 114, 119, 71, 380, 73, 120, 119, 114, 1169, 114, 2989 134, 41, 120, 213, 114, 1239, 1066, 136, 114, 906, 2990 1190, 1071, 1246, 1247, 1248, 114, 114, 120, 331, 114, 2496 2991 114, 114, 1190, 114, 1204, 114, 114, 114, 1208, 69, 2497 1 20, 1190, 114, 0, 1, 348, 349, 1208, 114, 114,2498 114, 886, 10, 11, 12, 13, 14, 11 4, 114, 1168,2499 1 14, 114, 365, 114, 119, 31, 369, 1127, 135, 114,2500 1 20, 1022, 1505, 134, 1208, 116, 379, 34, 1511, 116,2501 280, 1190, 1 14, 41, 120, 1309, 114, 1257, 1258, 1522,2502 11 4, 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,2992 114, 1190, 114, 0, 1, 348, 349, 1208, 114, 114, 2993 114, 886, 10, 11, 12, 13, 14, 119, 31, 1168, 2994 135, 114, 365, 134, 114, 120, 369, 1127, 116, 116, 2995 114, 1022, 1505, 114, 1208, 120, 379, 34, 1511, 114, 2996 280, 1190, 134, 41, 113, 1309, 120, 1257, 1258, 1522, 2997 118, 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, 2505 3000 423, 1270, 1190, 113, 113, 113, 429, 113, 113, 115, 2506 3001 1190, 117, 118, 1303, 113, 136, 119, 1491, 1491, 114, 2507 1208, 134, 1303, 1491, 1204, 114, 11 9, 114, 1491, 1491,3002 1208, 134, 1303, 1491, 1204, 114, 114, 119, 1491, 1491, 2508 3003 107, 1491, 352, 1491, 354, 113, 1265, 115, 132, 119, 2509 3004 116, 1270, 465, 121, 122, 118, 136, 470, 114, 1303, … … 2528 3023 116, 136, 1303, 1516, 114, 114, 136, 119, 1426, 34, 2529 3024 10, 11, 12, 13, 14, 1433, 1426, 1501, 116, 116, 2530 113, 659, 749, 1433, 119, 119, 1485, 680, 136, 114,3025 113, 1037, 749, 1433, 119, 119, 1485, 680, 136, 114, 2531 3026 114, 684, 136, 686, 341, 114, 51, 690, 345, 114, 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, 6 77, 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,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, 690, 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, 2541 3036 939, -1, 1433, 158, 149, -1, -1, 444, -1, -1, 2542 3037 -1, -1, 113, -1, 115, -1, 161, -1, 801, -1, … … 3439 3934 }; 3440 3935 3441 3442 3936 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 3937 symbol of state STATE-NUM. */ 3443 3938 static const yytype_uint16 yystos[] = 3444 3939 { … … 3530 4025 171, 138, 115, 280, 134, 120, 378, 284, 115, 134, 3531 4026 288, 31, 216, 217, 278, 266, 143, 315, 143, 317, 3532 113, 355, 356, 113, 355, 356, 14 6, 356, 180, 270,4027 113, 355, 356, 113, 355, 356, 145, 356, 180, 270, 3533 4028 114, 114, 114, 114, 138, 180, 214, 180, 118, 256, 3534 4029 257, 138, 113, 134, 156, 258, 260, 324, 325, 337, … … 3599 4094 }; 3600 4095 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 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 3773 4120 3774 4121 #define YYRECOVERING() (!!yyerrstatus) 3775 4122 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 { \ 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 { \ 3788 4134 yyerror (YY_("syntax error: cannot back up")); \ 3789 YYERROR; \ 3790 } \ 3791 while (0) 3792 3793 /* Error token number */ 3794 #define YYTERROR 1 3795 #define YYERRCODE 256 3796 3797 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 3798 4184 3799 4185 /* Enable debugging if requested. */ … … 3805 4191 # endif 3806 4192 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 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) 3835 4218 static void 3836 4219 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 4220 #else 4221 static void 4222 yy_symbol_value_print (yyoutput, yytype, yyvaluep) 4223 FILE *yyoutput; 4224 int yytype; 4225 YYSTYPE const * const yyvaluep; 4226 #endif 3837 4227 { 3838 FILE *yyo = yyoutput;3839 YYUSE (yyo);3840 4228 if (!yyvaluep) 3841 4229 return; … … 3843 4231 if (yytype < YYNTOKENS) 3844 4232 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 4233 # else 4234 YYUSE (yyoutput); 3845 4235 # endif 3846 YYUSE (yytype); 4236 switch (yytype) 4237 { 4238 default: 4239 break; 4240 } 3847 4241 } 3848 4242 … … 3852 4246 `--------------------------------*/ 3853 4247 4248 #if (defined __STDC__ || defined __C99__FUNC__ \ 4249 || defined __cplusplus || defined _MSC_VER) 3854 4250 static void 3855 4251 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 4252 #else 4253 static void 4254 yy_symbol_print (yyoutput, yytype, yyvaluep) 4255 FILE *yyoutput; 4256 int yytype; 4257 YYSTYPE const * const yyvaluep; 4258 #endif 3856 4259 { 3857 YYFPRINTF (yyoutput, "%s %s (", 3858 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 4260 if (yytype < YYNTOKENS) 4261 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 4262 else 4263 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 3859 4264 3860 4265 yy_symbol_value_print (yyoutput, yytype, yyvaluep); … … 3867 4272 `------------------------------------------------------------------*/ 3868 4273 4274 #if (defined __STDC__ || defined __C99__FUNC__ \ 4275 || defined __cplusplus || defined _MSC_VER) 3869 4276 static void 3870 4277 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 4278 #else 4279 static void 4280 yy_stack_print (yybottom, yytop) 4281 yytype_int16 *yybottom; 4282 yytype_int16 *yytop; 4283 #endif 3871 4284 { 3872 4285 YYFPRINTF (stderr, "Stack now"); … … 3879 4292 } 3880 4293 3881 # define YY_STACK_PRINT(Bottom, Top) 3882 do { 3883 if (yydebug) 3884 yy_stack_print ((Bottom), (Top)); 3885 } while ( 0)4294 # define YY_STACK_PRINT(Bottom, Top) \ 4295 do { \ 4296 if (yydebug) \ 4297 yy_stack_print ((Bottom), (Top)); \ 4298 } while (YYID (0)) 3886 4299 3887 4300 … … 3890 4303 `------------------------------------------------*/ 3891 4304 4305 #if (defined __STDC__ || defined __C99__FUNC__ \ 4306 || defined __cplusplus || defined _MSC_VER) 3892 4307 static void 3893 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 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 3894 4315 { 3895 unsigned long int yylno = yyrline[yyrule];3896 4316 int yynrhs = yyr2[yyrule]; 3897 4317 int yyi; 4318 unsigned long int yylno = yyrline[yyrule]; 3898 4319 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 3899 4320 yyrule - 1, yylno); 3900 4321 /* The symbols being reduced. */ 3901 4322 for (yyi = 0; yyi < yynrhs; yyi++) 3902 4323 { 3903 4324 YYFPRINTF (stderr, " $%d = ", yyi + 1); 3904 yy_symbol_print (stderr, 3905 yystos[yyssp[yyi + 1 - yynrhs]], 3906 &(yyvsp[(yyi + 1) - (yynrhs)]) 3907 ); 4325 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 4326 &(yyvsp[(yyi + 1) - (yynrhs)]) 4327 ); 3908 4328 YYFPRINTF (stderr, "\n"); 3909 4329 } 3910 4330 } 3911 4331 3912 # define YY_REDUCE_PRINT(Rule) 3913 do { 3914 if (yydebug) 3915 yy_reduce_print (yy ssp, yyvsp, Rule); \3916 } while ( 0)4332 # define YY_REDUCE_PRINT(Rule) \ 4333 do { \ 4334 if (yydebug) \ 4335 yy_reduce_print (yyvsp, Rule); \ 4336 } while (YYID (0)) 3917 4337 3918 4338 /* Nonzero means print parse trace. It is left uninitialized so that … … 3928 4348 3929 4349 /* YYINITDEPTH -- initial size of the parser's stacks. */ 3930 #ifndef 4350 #ifndef YYINITDEPTH 3931 4351 # define YYINITDEPTH 200 3932 4352 #endif … … 3951 4371 # else 3952 4372 /* Return the length of YYSTR. */ 4373 #if (defined __STDC__ || defined __C99__FUNC__ \ 4374 || defined __cplusplus || defined _MSC_VER) 3953 4375 static YYSIZE_T 3954 4376 yystrlen (const char *yystr) 4377 #else 4378 static YYSIZE_T 4379 yystrlen (yystr) 4380 const char *yystr; 4381 #endif 3955 4382 { 3956 4383 YYSIZE_T yylen; … … 3968 4395 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 3969 4396 YYDEST. */ 4397 #if (defined __STDC__ || defined __C99__FUNC__ \ 4398 || defined __cplusplus || defined _MSC_VER) 3970 4399 static char * 3971 4400 yystpcpy (char *yydest, const char *yysrc) 4401 #else 4402 static char * 4403 yystpcpy (yydest, yysrc) 4404 char *yydest; 4405 const char *yysrc; 4406 #endif 3972 4407 { 3973 4408 char *yyd = yydest; … … 3999 4434 4000 4435 for (;;) 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 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 } 4022 4457 do_not_strip_quotes: ; 4023 4458 } … … 4042 4477 yytype_int16 *yyssp, int yytoken) 4043 4478 { 4044 YYSIZE_T yysize0 = yytnamerr ( YY_NULLPTR, yytname[yytoken]);4479 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); 4045 4480 YYSIZE_T yysize = yysize0; 4481 YYSIZE_T yysize1; 4046 4482 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 4047 4483 /* Internationalized format string. */ 4048 const char *yyformat = YY_NULLPTR;4484 const char *yyformat = 0; 4049 4485 /* Arguments of yyformat. */ 4050 4486 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; … … 4054 4490 4055 4491 /* There are many possibilities here to consider: 4492 - Assume YYFAIL is not used. It's too flawed to consider. See 4493 <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> 4494 for details. YYERROR is fine as it does not invoke this 4495 function. 4056 4496 - If this state is a consistent state with a default action, then 4057 4497 the only way this function was invoked is if the default action … … 4102 4542 } 4103 4543 yyarg[yycount++] = yytname[yyx]; 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 } 4544 yysize1 = yysize + yytnamerr (0, yytname[yyx]); 4545 if (! (yysize <= yysize1 4546 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4547 return 2; 4548 yysize = yysize1; 4111 4549 } 4112 4550 } … … 4128 4566 } 4129 4567 4130 { 4131 YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 4132 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4133 return 2; 4134 yysize = yysize1; 4135 } 4568 yysize1 = yysize + yystrlen (yyformat); 4569 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4570 return 2; 4571 yysize = yysize1; 4136 4572 4137 4573 if (*yymsg_alloc < yysize) … … 4170 4606 `-----------------------------------------------*/ 4171 4607 4608 /*ARGSUSED*/ 4609 #if (defined __STDC__ || defined __C99__FUNC__ \ 4610 || defined __cplusplus || defined _MSC_VER) 4172 4611 static void 4173 4612 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 4613 #else 4614 static void 4615 yydestruct (yymsg, yytype, yyvaluep) 4616 const char *yymsg; 4617 int yytype; 4618 YYSTYPE *yyvaluep; 4619 #endif 4174 4620 { 4175 4621 YYUSE (yyvaluep); 4622 4176 4623 if (!yymsg) 4177 4624 yymsg = "Deleting"; 4178 4625 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 4179 4626 4180 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 4181 YYUSE (yytype); 4182 YY_IGNORE_MAYBE_UNINITIALIZED_END 4627 switch (yytype) 4628 { 4629 4630 default: 4631 break; 4632 } 4183 4633 } 4184 4634 4185 4635 4636 /* Prevent warnings from -Wmissing-prototypes. */ 4637 #ifdef YYPARSE_PARAM 4638 #if defined __STDC__ || defined __cplusplus 4639 int yyparse (void *YYPARSE_PARAM); 4640 #else 4641 int yyparse (); 4642 #endif 4643 #else /* ! YYPARSE_PARAM */ 4644 #if defined __STDC__ || defined __cplusplus 4645 int yyparse (void); 4646 #else 4647 int yyparse (); 4648 #endif 4649 #endif /* ! YYPARSE_PARAM */ 4186 4650 4187 4651 … … 4191 4655 /* The semantic value of the lookahead symbol. */ 4192 4656 YYSTYPE yylval; 4657 4193 4658 /* Number of syntax errors so far. */ 4194 4659 int yynerrs; … … 4199 4664 `----------*/ 4200 4665 4666 #ifdef YYPARSE_PARAM 4667 #if (defined __STDC__ || defined __C99__FUNC__ \ 4668 || defined __cplusplus || defined _MSC_VER) 4669 int 4670 yyparse (void *YYPARSE_PARAM) 4671 #else 4672 int 4673 yyparse (YYPARSE_PARAM) 4674 void *YYPARSE_PARAM; 4675 #endif 4676 #else /* ! YYPARSE_PARAM */ 4677 #if (defined __STDC__ || defined __C99__FUNC__ \ 4678 || defined __cplusplus || defined _MSC_VER) 4201 4679 int 4202 4680 yyparse (void) 4681 #else 4682 int 4683 yyparse () 4684 4685 #endif 4686 #endif 4203 4687 { 4204 4688 int yystate; … … 4207 4691 4208 4692 /* The stacks and their tools: 4209 'yyss': related to states.4210 'yyvs': related to semantic values.4211 4212 Refer to the stacks thr oughseparate pointers, to allow yyoverflow4693 `yyss': related to states. 4694 `yyvs': related to semantic values. 4695 4696 Refer to the stacks thru separate pointers, to allow yyoverflow 4213 4697 to reallocate them elsewhere. */ 4214 4698 … … 4228 4712 int yyresult; 4229 4713 /* Lookahead token as an internal (translated) token number. */ 4230 int yytoken = 0;4714 int yytoken; 4231 4715 /* The variables used to return semantic value and location from the 4232 4716 action routines. */ … … 4246 4730 int yylen = 0; 4247 4731 4248 yyssp = yyss = yyssa; 4249 yyvsp = yyvs = yyvsa; 4732 yytoken = 0; 4733 yyss = yyssa; 4734 yyvs = yyvsa; 4250 4735 yystacksize = YYINITDEPTH; 4251 4736 … … 4256 4741 yynerrs = 0; 4257 4742 yychar = YYEMPTY; /* Cause a token to be read. */ 4743 4744 /* Initialize stack pointers. 4745 Waste one element of value and location stack 4746 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 4258 4751 goto yysetstate; 4259 4752 … … 4276 4769 #ifdef yyoverflow 4277 4770 { 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4771 /* Give user a chance to reallocate the stack. Use copies of 4772 these so that the &'s don't force the real ones into 4773 memory. */ 4774 YYSTYPE *yyvs1 = yyvs; 4775 yytype_int16 *yyss1 = yyss; 4776 4777 /* Each stack pointer address is followed by the size of the 4778 data in use in that stack, in bytes. This used to be a 4779 conditional around just the two extra args, but that might 4780 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; 4295 4788 } 4296 4789 #else /* no yyoverflow */ … … 4300 4793 /* Extend the stack our own way. */ 4301 4794 if (YYMAXDEPTH <= yystacksize) 4302 4795 goto yyexhaustedlab; 4303 4796 yystacksize *= 2; 4304 4797 if (YYMAXDEPTH < yystacksize) 4305 4798 yystacksize = YYMAXDEPTH; 4306 4799 4307 4800 { 4308 4309 4310 4311 4312 4313 4314 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); 4315 4808 # undef YYSTACK_RELOCATE 4316 4317 4809 if (yyss1 != yyssa) 4810 YYSTACK_FREE (yyss1); 4318 4811 } 4319 4812 # endif … … 4324 4817 4325 4818 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 4326 4819 (unsigned long int) yystacksize)); 4327 4820 4328 4821 if (yyss + yystacksize - 1 <= yyssp) 4329 4822 YYABORT; 4330 4823 } 4331 4824 … … 4356 4849 { 4357 4850 YYDPRINTF ((stderr, "Reading a token: ")); 4358 yychar = yylex ();4851 yychar = YYLEX; 4359 4852 } 4360 4853 … … 4396 4889 4397 4890 yystate = yyn; 4398 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN4399 4891 *++yyvsp = yylval; 4400 YY_IGNORE_MAYBE_UNINITIALIZED_END4401 4892 4402 4893 goto yynewstate; … … 4421 4912 4422 4913 /* If YYLEN is nonzero, implement the default value of the action: 4423 '$$ = $1'.4914 `$$ = $1'. 4424 4915 4425 4916 Otherwise, the following line sets YYVAL to garbage. … … 4435 4926 { 4436 4927 case 2: 4437 #line 305 "parser.yy" /* yacc.c:1646 */ 4928 4929 /* Line 1806 of yacc.c */ 4930 #line 306 "parser.yy" 4438 4931 { typedefTable.enterScope(); } 4439 #line 4440 "Parser/parser.cc" /* yacc.c:1646 */4440 4932 break; 4441 4933 4442 4934 case 3: 4443 #line 309 "parser.yy" /* yacc.c:1646 */ 4935 4936 /* Line 1806 of yacc.c */ 4937 #line 310 "parser.yy" 4444 4938 { typedefTable.leaveScope(); } 4445 #line 4446 "Parser/parser.cc" /* yacc.c:1646 */4446 4939 break; 4447 4940 4448 4941 case 4: 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 */ 4942 4943 /* Line 1806 of yacc.c */ 4944 #line 317 "parser.yy" 4945 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); } 4452 4946 break; 4453 4947 4454 4948 case 5: 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 */ 4949 4950 /* Line 1806 of yacc.c */ 4951 #line 318 "parser.yy" 4952 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4458 4953 break; 4459 4954 4460 4955 case 6: 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 */ 4956 4957 /* Line 1806 of yacc.c */ 4958 #line 319 "parser.yy" 4959 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4464 4960 break; 4465 4961 4466 4962 case 7: 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 */ 4963 4964 /* Line 1806 of yacc.c */ 4965 #line 320 "parser.yy" 4966 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4470 4967 break; 4471 4968 4472 4969 case 8: 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 */ 4970 4971 /* Line 1806 of yacc.c */ 4972 #line 321 "parser.yy" 4973 { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); } 4476 4974 break; 4477 4975 4478 4976 case 18: 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 */ 4977 4978 /* Line 1806 of yacc.c */ 4979 #line 346 "parser.yy" 4980 { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].str) ); } 4482 4981 break; 4483 4982 4484 4983 case 19: 4485 #line 349 "parser.yy" /* yacc.c:1646 */ 4486 { (yyval.str) = (yyvsp[0].tok); } 4487 #line 4488 "Parser/parser.cc" /* yacc.c:1646 */ 4984 4985 /* Line 1806 of yacc.c */ 4986 #line 350 "parser.yy" 4987 { (yyval.str) = (yyvsp[(1) - (1)].tok); } 4488 4988 break; 4489 4989 4490 4990 case 20: 4491 #line 351 "parser.yy" /* yacc.c:1646 */ 4991 4992 /* Line 1806 of yacc.c */ 4993 #line 352 "parser.yy" 4492 4994 { 4493 appendStr( (yyvsp[ -1].str), (yyvsp[0].tok) ); // append 2nd juxtaposed string to 1st4494 delete (yyvsp[ 0].tok); // allocated by lexer4495 (yyval.str) = (yyvsp[ -1].str); // conversion from tok to str4995 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 4496 4998 } 4497 #line 4498 "Parser/parser.cc" /* yacc.c:1646 */4498 4999 break; 4499 5000 4500 5001 case 21: 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 */ 5002 5003 /* Line 1806 of yacc.c */ 5004 #line 363 "parser.yy" 5005 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 4504 5006 break; 4505 5007 4506 5008 case 22: 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 */ 5009 5010 /* Line 1806 of yacc.c */ 5011 #line 365 "parser.yy" 5012 { (yyval.en) = new ExpressionNode( build_constantZeroOne( *(yyvsp[(1) - (1)].tok) ) ); } 4510 5013 break; 4511 5014 4512 5015 case 24: 4513 #line 367 "parser.yy" /* yacc.c:1646 */ 4514 { (yyval.en) = (yyvsp[-1].en); } 4515 #line 4516 "Parser/parser.cc" /* yacc.c:1646 */ 5016 5017 /* Line 1806 of yacc.c */ 5018 #line 368 "parser.yy" 5019 { (yyval.en) = (yyvsp[(2) - (3)].en); } 4516 5020 break; 4517 5021 4518 5022 case 25: 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 */ 5023 5024 /* Line 1806 of yacc.c */ 5025 #line 370 "parser.yy" 5026 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); } 4522 5027 break; 4523 5028 4524 5029 case 27: 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 */ 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) ) ); } 4528 5034 break; 4529 5035 4530 5036 case 28: 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 */ 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) ) ); } 4534 5041 break; 4535 5042 4536 5043 case 29: 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 */ 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) ) ) ); } 4540 5048 break; 4541 5049 4542 5050 case 30: 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 */ 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) ) ) ); } 4546 5055 break; 4547 5056 4548 5057 case 31: 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 */ 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) ) ) ); } 4552 5062 break; 4553 5063 4554 5064 case 32: 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 */ 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) ) ) ); } 4558 5069 break; 4559 5070 4560 5071 case 33: 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 */ 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) ) ) ); } 4564 5076 break; 4565 5077 4566 5078 case 34: 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 */ 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) ) ); } 4570 5083 break; 4571 5084 4572 5085 case 35: 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 */ 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) ) ); } 4576 5090 break; 4577 5091 4578 5092 case 36: 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 */ 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 ) ) ); } 4582 5097 break; 4583 5098 4584 5099 case 37: 4585 #line 399 "parser.yy" /* yacc.c:1646 */ 5100 5101 /* Line 1806 of yacc.c */ 5102 #line 400 "parser.yy" 4586 5103 { 4587 5104 Token fn; 4588 5105 fn.str = new std::string( "?{}" ); // location undefined - use location of '{'? 4589 (yyval.en) = new ExpressionNode( new ConstructorExpr( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[ -3].en) )->set_last( (yyvsp[-1].en) ) ) ) );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) ) ) ) ); 4590 5107 } 4591 #line 4592 "Parser/parser.cc" /* yacc.c:1646 */4592 5108 break; 4593 5109 4594 5110 case 39: 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 */ 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) )); } 4598 5115 break; 4599 5116 4600 5117 case 40: 4601 #line 414 "parser.yy" /* yacc.c:1646 */ 4602 { (yyval.en) = 0; } 4603 #line 4604 "Parser/parser.cc" /* yacc.c:1646 */ 5118 5119 /* Line 1806 of yacc.c */ 5120 #line 415 "parser.yy" 5121 { (yyval.en) = nullptr; } 4604 5122 break; 4605 5123 4606 5124 case 43: 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 */ 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) ); } 4610 5129 break; 4611 5130 4612 5131 case 45: 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 */ 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) ) ) ); } 4616 5136 break; 4617 5137 4618 5138 case 46: 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 */ 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) ) ) ); } 4622 5143 break; 4623 5144 4624 5145 case 47: 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 */ 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) ) ) ); } 4628 5150 break; 4629 5151 4630 5152 case 48: 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 */ 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) ) ) ); } 4634 5157 break; 4635 5158 4636 5159 case 49: 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 */ 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) ) ) ); } 4640 5164 break; 4641 5165 4642 5166 case 50: 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 */ 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) ) ) ); } 4646 5171 break; 4647 5172 4648 5173 case 51: 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 */ 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) ) ); } 4652 5178 break; 4653 5179 4654 5180 case 52: 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 */ 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) ) ); } 4658 5185 break; 4659 5186 4660 5187 case 53: 4661 #line 445 "parser.yy" /* yacc.c:1646 */ 5188 5189 /* Line 1806 of yacc.c */ 5190 #line 446 "parser.yy" 4662 5191 { 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) ) );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) ) ); 4665 5194 } else { 4666 (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_varref( (yyvsp[ -1].tok) ), (yyvsp[0].en) ) );5195 (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_varref( (yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); 4667 5196 } 4668 5197 } 4669 #line 4670 "Parser/parser.cc" /* yacc.c:1646 */4670 5198 break; 4671 5199 4672 5200 case 54: 4673 #line 456 "parser.yy" /* yacc.c:1646 */ 5201 5202 /* Line 1806 of yacc.c */ 5203 #line 457 "parser.yy" 4674 5204 { (yyval.en) = nullptr; } 4675 #line 4676 "Parser/parser.cc" /* yacc.c:1646 */4676 5205 break; 4677 5206 4678 5207 case 55: 4679 #line 458 "parser.yy" /* yacc.c:1646 */ 5208 5209 /* Line 1806 of yacc.c */ 5210 #line 459 "parser.yy" 4680 5211 { 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 );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 ); 4683 5214 } 4684 #line 4685 "Parser/parser.cc" /* yacc.c:1646 */4685 5215 break; 4686 5216 4687 5217 case 57: 4688 #line 469 "parser.yy" /* yacc.c:1646 */ 4689 { (yyval.en) = (yyvsp[0].en); } 4690 #line 4691 "Parser/parser.cc" /* yacc.c:1646 */ 5218 5219 /* Line 1806 of yacc.c */ 5220 #line 470 "parser.yy" 5221 { (yyval.en) = (yyvsp[(1) - (1)].en); } 4691 5222 break; 4692 5223 4693 5224 case 58: 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 */ 5225 5226 /* Line 1806 of yacc.c */ 5227 #line 472 "parser.yy" 5228 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 4697 5229 break; 4698 5230 4699 5231 case 59: 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 */ 5232 5233 /* Line 1806 of yacc.c */ 5234 #line 474 "parser.yy" 5235 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 4703 5236 break; 4704 5237 4705 5238 case 60: 4706 #line 478 "parser.yy" /* yacc.c:1646 */ 5239 5240 /* Line 1806 of yacc.c */ 5241 #line 479 "parser.yy" 4707 5242 { 4708 switch ( (yyvsp[ -1].op) ) {5243 switch ( (yyvsp[(1) - (2)].op) ) { 4709 5244 case OperKinds::AddressOf: 4710 (yyval.en) = new ExpressionNode( build_addressOf( (yyvsp[ 0].en) ) );5245 (yyval.en) = new ExpressionNode( build_addressOf( (yyvsp[(2) - (2)].en) ) ); 4711 5246 break; 4712 5247 case OperKinds::PointTo: 4713 (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[ -1].op), (yyvsp[0].en) ) );5248 (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); 4714 5249 break; 4715 5250 default: … … 4717 5252 } 4718 5253 } 4719 #line 4720 "Parser/parser.cc" /* yacc.c:1646 */4720 5254 break; 4721 5255 4722 5256 case 61: 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 */ 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) ) ); } 4726 5261 break; 4727 5262 4728 5263 case 62: 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 */ 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) ) ); } 4732 5268 break; 4733 5269 4734 5270 case 63: 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 */ 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) ) ); } 4738 5275 break; 4739 5276 4740 5277 case 64: 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 */ 5278 5279 /* Line 1806 of yacc.c */ 5280 #line 498 "parser.yy" 5281 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); } 4744 5282 break; 4745 5283 4746 5284 case 65: 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 */ 5285 5286 /* Line 1806 of yacc.c */ 5287 #line 500 "parser.yy" 5288 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); } 4750 5289 break; 4751 5290 4752 5291 case 66: 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 */ 5292 5293 /* Line 1806 of yacc.c */ 5294 #line 502 "parser.yy" 5295 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); } 4756 5296 break; 4757 5297 4758 5298 case 67: 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 */ 5299 5300 /* Line 1806 of yacc.c */ 5301 #line 504 "parser.yy" 5302 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); } 4762 5303 break; 4763 5304 4764 5305 case 68: 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 */ 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) ) ) ); } 4768 5310 break; 4769 5311 4770 5312 case 69: 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 */ 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 ) ); } 4774 5317 break; 4775 5318 4776 5319 case 70: 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 */ 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) ) ); } 4780 5324 break; 4781 5325 4782 5326 case 71: 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 */ 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) ) ); } 4786 5331 break; 4787 5332 4788 5333 case 72: 4789 #line 517 "parser.yy" /* yacc.c:1646 */ 5334 5335 /* Line 1806 of yacc.c */ 5336 #line 518 "parser.yy" 4790 5337 { (yyval.op) = OperKinds::PointTo; } 4791 #line 4792 "Parser/parser.cc" /* yacc.c:1646 */4792 5338 break; 4793 5339 4794 5340 case 73: 4795 #line 518 "parser.yy" /* yacc.c:1646 */ 5341 5342 /* Line 1806 of yacc.c */ 5343 #line 519 "parser.yy" 4796 5344 { (yyval.op) = OperKinds::AddressOf; } 4797 #line 4798 "Parser/parser.cc" /* yacc.c:1646 */4798 5345 break; 4799 5346 4800 5347 case 74: 4801 #line 524 "parser.yy" /* yacc.c:1646 */ 5348 5349 /* Line 1806 of yacc.c */ 5350 #line 525 "parser.yy" 4802 5351 { (yyval.op) = OperKinds::UnPlus; } 4803 #line 4804 "Parser/parser.cc" /* yacc.c:1646 */4804 5352 break; 4805 5353 4806 5354 case 75: 4807 #line 525 "parser.yy" /* yacc.c:1646 */ 5355 5356 /* Line 1806 of yacc.c */ 5357 #line 526 "parser.yy" 4808 5358 { (yyval.op) = OperKinds::UnMinus; } 4809 #line 4810 "Parser/parser.cc" /* yacc.c:1646 */4810 5359 break; 4811 5360 4812 5361 case 76: 4813 #line 526 "parser.yy" /* yacc.c:1646 */ 5362 5363 /* Line 1806 of yacc.c */ 5364 #line 527 "parser.yy" 4814 5365 { (yyval.op) = OperKinds::Neg; } 4815 #line 4816 "Parser/parser.cc" /* yacc.c:1646 */4816 5366 break; 4817 5367 4818 5368 case 77: 4819 #line 527 "parser.yy" /* yacc.c:1646 */ 5369 5370 /* Line 1806 of yacc.c */ 5371 #line 528 "parser.yy" 4820 5372 { (yyval.op) = OperKinds::BitNeg; } 4821 #line 4822 "Parser/parser.cc" /* yacc.c:1646 */4822 5373 break; 4823 5374 4824 5375 case 79: 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 */ 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) ) ); } 4828 5380 break; 4829 5381 4830 5382 case 81: 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 */ 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) ) ); } 4834 5387 break; 4835 5388 4836 5389 case 82: 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 */ 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) ) ); } 4840 5394 break; 4841 5395 4842 5396 case 83: 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 */ 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) ) ); } 4846 5401 break; 4847 5402 4848 5403 case 85: 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 */ 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) ) ); } 4852 5408 break; 4853 5409 4854 5410 case 86: 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 */ 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) ) ); } 4858 5415 break; 4859 5416 4860 5417 case 88: 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 */ 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) ) ); } 4864 5422 break; 4865 5423 4866 5424 case 89: 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 */ 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) ) ); } 4870 5429 break; 4871 5430 4872 5431 case 91: 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 */ 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) ) ); } 4876 5436 break; 4877 5437 4878 5438 case 92: 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 */ 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) ) ); } 4882 5443 break; 4883 5444 4884 5445 case 93: 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 */ 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) ) ); } 4888 5450 break; 4889 5451 4890 5452 case 94: 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 */ 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) ) ); } 4894 5457 break; 4895 5458 4896 5459 case 96: 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 */ 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) ) ); } 4900 5464 break; 4901 5465 4902 5466 case 97: 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 */ 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) ) ); } 4906 5471 break; 4907 5472 4908 5473 case 99: 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 */ 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) ) ); } 4912 5478 break; 4913 5479 4914 5480 case 101: 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 */ 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) ) ); } 4918 5485 break; 4919 5486 4920 5487 case 103: 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 */ 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) ) ); } 4924 5492 break; 4925 5493 4926 5494 case 105: 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 */ 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 ) ); } 4930 5499 break; 4931 5500 4932 5501 case 107: 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 */ 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 ) ); } 4936 5506 break; 4937 5507 4938 5508 case 109: 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 */ 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) ) ); } 4942 5513 break; 4943 5514 4944 5515 case 110: 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 */ 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) ) ); } 4948 5520 break; 4949 5521 4950 5522 case 113: 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 */ 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) ) ); } 4954 5527 break; 4955 5528 4956 5529 case 114: 4957 #line 640 "parser.yy" /* yacc.c:1646 */ 5530 5531 /* Line 1806 of yacc.c */ 5532 #line 641 "parser.yy" 4958 5533 { (yyval.en) = nullptr; } 4959 #line 4960 "Parser/parser.cc" /* yacc.c:1646 */4960 5534 break; 4961 5535 4962 5536 case 116: 4963 #line 645 "parser.yy" /* yacc.c:1646 */ 5537 5538 /* Line 1806 of yacc.c */ 5539 #line 646 "parser.yy" 4964 5540 { (yyval.op) = OperKinds::Assign; } 4965 #line 4966 "Parser/parser.cc" /* yacc.c:1646 */4966 5541 break; 4967 5542 4968 5543 case 117: 4969 #line 646 "parser.yy" /* yacc.c:1646 */ 5544 5545 /* Line 1806 of yacc.c */ 5546 #line 647 "parser.yy" 4970 5547 { (yyval.op) = OperKinds::AtAssn; } 4971 #line 4972 "Parser/parser.cc" /* yacc.c:1646 */4972 5548 break; 4973 5549 4974 5550 case 118: 4975 #line 647 "parser.yy" /* yacc.c:1646 */ 5551 5552 /* Line 1806 of yacc.c */ 5553 #line 648 "parser.yy" 4976 5554 { (yyval.op) = OperKinds::MulAssn; } 4977 #line 4978 "Parser/parser.cc" /* yacc.c:1646 */4978 5555 break; 4979 5556 4980 5557 case 119: 4981 #line 648 "parser.yy" /* yacc.c:1646 */ 5558 5559 /* Line 1806 of yacc.c */ 5560 #line 649 "parser.yy" 4982 5561 { (yyval.op) = OperKinds::DivAssn; } 4983 #line 4984 "Parser/parser.cc" /* yacc.c:1646 */4984 5562 break; 4985 5563 4986 5564 case 120: 4987 #line 649 "parser.yy" /* yacc.c:1646 */ 5565 5566 /* Line 1806 of yacc.c */ 5567 #line 650 "parser.yy" 4988 5568 { (yyval.op) = OperKinds::ModAssn; } 4989 #line 4990 "Parser/parser.cc" /* yacc.c:1646 */4990 5569 break; 4991 5570 4992 5571 case 121: 4993 #line 650 "parser.yy" /* yacc.c:1646 */ 5572 5573 /* Line 1806 of yacc.c */ 5574 #line 651 "parser.yy" 4994 5575 { (yyval.op) = OperKinds::PlusAssn; } 4995 #line 4996 "Parser/parser.cc" /* yacc.c:1646 */4996 5576 break; 4997 5577 4998 5578 case 122: 4999 #line 651 "parser.yy" /* yacc.c:1646 */ 5579 5580 /* Line 1806 of yacc.c */ 5581 #line 652 "parser.yy" 5000 5582 { (yyval.op) = OperKinds::MinusAssn; } 5001 #line 5002 "Parser/parser.cc" /* yacc.c:1646 */5002 5583 break; 5003 5584 5004 5585 case 123: 5005 #line 652 "parser.yy" /* yacc.c:1646 */ 5586 5587 /* Line 1806 of yacc.c */ 5588 #line 653 "parser.yy" 5006 5589 { (yyval.op) = OperKinds::LSAssn; } 5007 #line 5008 "Parser/parser.cc" /* yacc.c:1646 */5008 5590 break; 5009 5591 5010 5592 case 124: 5011 #line 653 "parser.yy" /* yacc.c:1646 */ 5593 5594 /* Line 1806 of yacc.c */ 5595 #line 654 "parser.yy" 5012 5596 { (yyval.op) = OperKinds::RSAssn; } 5013 #line 5014 "Parser/parser.cc" /* yacc.c:1646 */5014 5597 break; 5015 5598 5016 5599 case 125: 5017 #line 654 "parser.yy" /* yacc.c:1646 */ 5600 5601 /* Line 1806 of yacc.c */ 5602 #line 655 "parser.yy" 5018 5603 { (yyval.op) = OperKinds::AndAssn; } 5019 #line 5020 "Parser/parser.cc" /* yacc.c:1646 */5020 5604 break; 5021 5605 5022 5606 case 126: 5023 #line 655 "parser.yy" /* yacc.c:1646 */ 5607 5608 /* Line 1806 of yacc.c */ 5609 #line 656 "parser.yy" 5024 5610 { (yyval.op) = OperKinds::ERAssn; } 5025 #line 5026 "Parser/parser.cc" /* yacc.c:1646 */5026 5611 break; 5027 5612 5028 5613 case 127: 5029 #line 656 "parser.yy" /* yacc.c:1646 */ 5614 5615 /* Line 1806 of yacc.c */ 5616 #line 657 "parser.yy" 5030 5617 { (yyval.op) = OperKinds::OrAssn; } 5031 #line 5032 "Parser/parser.cc" /* yacc.c:1646 */5032 5618 break; 5033 5619 5034 5620 case 128: 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 */ 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) ) ) ); } 5038 5625 break; 5039 5626 5040 5627 case 129: 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 */ 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) ) ) ); } 5044 5632 break; 5045 5633 5046 5634 case 131: 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 */ 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) ); } 5050 5639 break; 5051 5640 5052 5641 case 133: 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 */ 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) ) ); } 5056 5646 break; 5057 5647 5058 5648 case 134: 5059 #line 686 "parser.yy" /* yacc.c:1646 */ 5060 { (yyval.en) = 0; } 5061 #line 5062 "Parser/parser.cc" /* yacc.c:1646 */ 5649 5650 /* Line 1806 of yacc.c */ 5651 #line 687 "parser.yy" 5652 { (yyval.en) = nullptr; } 5062 5653 break; 5063 5654 5064 5655 case 138: 5065 #line 695 "parser.yy" /* yacc.c:1646 */ 5066 { (yyval.sn) = (yyvsp[0].sn); } 5067 #line 5068 "Parser/parser.cc" /* yacc.c:1646 */ 5656 5657 /* Line 1806 of yacc.c */ 5658 #line 696 "parser.yy" 5659 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5068 5660 break; 5069 5661 5070 5662 case 144: 5071 #line 702 "parser.yy" /* yacc.c:1646 */ 5663 5664 /* Line 1806 of yacc.c */ 5665 #line 703 "parser.yy" 5072 5666 { 5073 5667 Token fn; 5074 5668 fn.str = new string( "^?{}" ); // location undefined 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) ) ) ) ) );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) ) ) ) ) ); 5076 5670 } 5077 #line 5078 "Parser/parser.cc" /* yacc.c:1646 */5078 5671 break; 5079 5672 5080 5673 case 145: 5081 #line 712 "parser.yy" /* yacc.c:1646 */ 5674 5675 /* Line 1806 of yacc.c */ 5676 #line 713 "parser.yy" 5082 5677 { 5083 (yyval.sn) = (yyvsp[ 0].sn)->add_label( (yyvsp[-3].tok) );5678 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); 5084 5679 } 5085 #line 5086 "Parser/parser.cc" /* yacc.c:1646 */5086 5680 break; 5087 5681 5088 5682 case 146: 5089 #line 719 "parser.yy" /* yacc.c:1646 */ 5683 5684 /* Line 1806 of yacc.c */ 5685 #line 720 "parser.yy" 5090 5686 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); } 5091 #line 5092 "Parser/parser.cc" /* yacc.c:1646 */5092 5687 break; 5093 5688 5094 5689 case 147: 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 */ 5690 5691 /* Line 1806 of yacc.c */ 5692 #line 727 "parser.yy" 5693 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); } 5098 5694 break; 5099 5695 5100 5696 case 149: 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 */ 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); } } 5104 5701 break; 5105 5702 5106 5703 case 150: 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 */ 5704 5705 /* Line 1806 of yacc.c */ 5706 #line 738 "parser.yy" 5707 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5110 5708 break; 5111 5709 5112 5710 case 151: 5113 #line 739 "parser.yy" /* yacc.c:1646 */ 5711 5712 /* Line 1806 of yacc.c */ 5713 #line 740 "parser.yy" 5114 5714 { // mark all fields in list 5115 for ( DeclarationNode *iter = (yyvsp[ 0].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )5715 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) 5116 5716 iter->set_extension( true ); 5117 (yyval.sn) = new StatementNode( (yyvsp[ 0].decl) );5717 (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); 5118 5718 } 5119 #line 5120 "Parser/parser.cc" /* yacc.c:1646 */5120 5719 break; 5121 5720 5122 5721 case 152: 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 */ 5722 5723 /* Line 1806 of yacc.c */ 5724 #line 746 "parser.yy" 5725 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5126 5726 break; 5127 5727 5128 5728 case 155: 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 */ 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); } } 5132 5733 break; 5133 5734 5134 5735 case 156: 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 */ 5736 5737 /* Line 1806 of yacc.c */ 5738 #line 758 "parser.yy" 5739 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); } 5138 5740 break; 5139 5741 5140 5742 case 157: 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 */ 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 ) ); } 5144 5747 break; 5145 5748 5146 5749 case 158: 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 */ 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) ) ); } 5150 5754 break; 5151 5755 5152 5756 case 159: 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 */ 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) ) ); } 5156 5761 break; 5157 5762 5158 5763 case 160: 5159 #line 769 "parser.yy" /* yacc.c:1646 */ 5764 5765 /* Line 1806 of yacc.c */ 5766 #line 770 "parser.yy" 5160 5767 { 5161 StatementNode *sw = new StatementNode( build_switch( (yyvsp[ -6].en), (yyvsp[-1].sn) ) );5768 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); 5162 5769 // The semantics of the declaration list is changed to include associated initialization, which is performed 5163 5770 // *before* the transfer to the appropriate case clause by hoisting the declarations into a compound … … 5165 5772 // therefore, are removed from the grammar even though C allows it. The change also applies to choose 5166 5773 // statement. 5167 (yyval.sn) = (yyvsp[ -2].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[-2].decl) ))->set_last( sw )) ) ) : sw;5774 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw; 5168 5775 } 5169 #line 5170 "Parser/parser.cc" /* yacc.c:1646 */5170 5776 break; 5171 5777 5172 5778 case 161: 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 */ 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) ) ); } 5176 5783 break; 5177 5784 5178 5785 case 162: 5179 #line 781 "parser.yy" /* yacc.c:1646 */ 5786 5787 /* Line 1806 of yacc.c */ 5788 #line 782 "parser.yy" 5180 5789 { 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;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; 5183 5792 } 5184 #line 5185 "Parser/parser.cc" /* yacc.c:1646 */5185 5793 break; 5186 5794 5187 5795 case 163: 5188 #line 791 "parser.yy" /* yacc.c:1646 */ 5189 { (yyval.en) = (yyvsp[0].en); } 5190 #line 5191 "Parser/parser.cc" /* yacc.c:1646 */ 5796 5797 /* Line 1806 of yacc.c */ 5798 #line 792 "parser.yy" 5799 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5191 5800 break; 5192 5801 5193 5802 case 164: 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 */ 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) ) ); } 5197 5807 break; 5198 5808 5199 5809 case 166: 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 */ 5810 5811 /* Line 1806 of yacc.c */ 5812 #line 799 "parser.yy" 5813 { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); } 5203 5814 break; 5204 5815 5205 5816 case 167: 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 */ 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) ) ) ) ); } 5209 5821 break; 5210 5822 5211 5823 case 168: 5212 #line 804 "parser.yy" /* yacc.c:1646 */ 5213 { (yyval.sn) = (yyvsp[-1].sn); } 5214 #line 5215 "Parser/parser.cc" /* yacc.c:1646 */ 5824 5825 /* Line 1806 of yacc.c */ 5826 #line 805 "parser.yy" 5827 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5215 5828 break; 5216 5829 5217 5830 case 169: 5218 #line 805 "parser.yy" /* yacc.c:1646 */ 5831 5832 /* Line 1806 of yacc.c */ 5833 #line 806 "parser.yy" 5219 5834 { (yyval.sn) = new StatementNode( build_default() ); } 5220 #line 5221 "Parser/parser.cc" /* yacc.c:1646 */5221 5835 break; 5222 5836 5223 5837 case 171: 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 */ 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) )); } 5227 5842 break; 5228 5843 5229 5844 case 172: 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 */ 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) ) ) ); } 5233 5849 break; 5234 5850 5235 5851 case 173: 5236 #line 820 "parser.yy" /* yacc.c:1646 */ 5237 { (yyval.sn) = 0; } 5238 #line 5239 "Parser/parser.cc" /* yacc.c:1646 */ 5852 5853 /* Line 1806 of yacc.c */ 5854 #line 821 "parser.yy" 5855 { (yyval.sn) = nullptr; } 5239 5856 break; 5240 5857 5241 5858 case 175: 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 */ 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) ) ) ); } 5245 5863 break; 5246 5864 5247 5865 case 176: 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 */ 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) ) ) ) ) ); } 5251 5870 break; 5252 5871 5253 5872 case 177: 5254 #line 833 "parser.yy" /* yacc.c:1646 */ 5255 { (yyval.sn) = 0; } 5256 #line 5257 "Parser/parser.cc" /* yacc.c:1646 */ 5873 5874 /* Line 1806 of yacc.c */ 5875 #line 834 "parser.yy" 5876 { (yyval.sn) = nullptr; } 5257 5877 break; 5258 5878 5259 5879 case 179: 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 */ 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) ); } 5263 5884 break; 5264 5885 5265 5886 case 180: 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 */ 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) ) ) ) ); } 5269 5891 break; 5270 5892 5271 5893 case 181: 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 */ 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) ))); } 5275 5898 break; 5276 5899 5277 5900 case 182: 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 */ 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) ) ) ) ) ) ); } 5281 5905 break; 5282 5906 5283 5907 case 183: 5284 #line 850 "parser.yy" /* yacc.c:1646 */ 5908 5909 /* Line 1806 of yacc.c */ 5910 #line 851 "parser.yy"