diff --git a/dtool/src/cppparser/cppBison.cxx.prebuilt b/dtool/src/cppparser/cppBison.cxx.prebuilt index a2d99d690b..99372f6ed6 100644 --- a/dtool/src/cppparser/cppBison.cxx.prebuilt +++ b/dtool/src/cppparser/cppBison.cxx.prebuilt @@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 3.5.3. */ +/* A Bison parser, made by GNU Bison 3.8.2. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation, + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -34,6 +34,10 @@ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ +/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, + especially those whose name start with YY_ or yy_. They are + private implementation details that can be changed or removed. */ + /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. @@ -41,14 +45,11 @@ define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ -/* Undocumented macros, especially those whose name start with YY_, - are private implementation details. Do not rely on them. */ +/* Identify Bison output, and Bison version. */ +#define YYBISON 30802 -/* Identify Bison output. */ -#define YYBISON 1 - -/* Bison version. */ -#define YYBISON_VERSION "3.5.3" +/* Bison version string. */ +#define YYBISON_VERSION "3.8.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -269,7 +270,7 @@ pop_struct() { } -#line 273 "built/tmp/cppBison.yxx.c" +#line 274 "built/tmp/cppBison.yxx.c" # ifndef YY_CAST # ifdef __cplusplus @@ -292,346 +293,299 @@ pop_struct() { # endif # endif -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - -/* Use api.header.include to #include this header - instead of duplicating it here. */ -#ifndef YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED -# define YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED -/* Debug traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif -#if YYDEBUG -extern int cppyydebug; -#endif - -/* Token type. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - enum yytokentype - { - REAL = 258, - INTEGER = 259, - CHAR_TOK = 260, - SIMPLE_STRING = 261, - SIMPLE_IDENTIFIER = 262, - STRING_LITERAL = 263, - CUSTOM_LITERAL = 264, - IDENTIFIER = 265, - TYPENAME_IDENTIFIER = 266, - TYPEPACK_IDENTIFIER = 267, - SCOPING = 268, - TYPEDEFNAME = 269, - ELLIPSIS = 270, - OROR = 271, - ANDAND = 272, - EQCOMPARE = 273, - NECOMPARE = 274, - LECOMPARE = 275, - GECOMPARE = 276, - LSHIFT = 277, - RSHIFT = 278, - POINTSAT_STAR = 279, - DOT_STAR = 280, - UNARY = 281, - UNARY_NOT = 282, - UNARY_NEGATE = 283, - UNARY_MINUS = 284, - UNARY_PLUS = 285, - UNARY_STAR = 286, - UNARY_REF = 287, - POINTSAT = 288, - SCOPE = 289, - PLUSPLUS = 290, - MINUSMINUS = 291, - TIMESEQUAL = 292, - DIVIDEEQUAL = 293, - MODEQUAL = 294, - PLUSEQUAL = 295, - MINUSEQUAL = 296, - OREQUAL = 297, - ANDEQUAL = 298, - XOREQUAL = 299, - LSHIFTEQUAL = 300, - RSHIFTEQUAL = 301, - ATTR_LEFT = 302, - ATTR_RIGHT = 303, - KW_ALIGNAS = 304, - KW_ALIGNOF = 305, - KW_AUTO = 306, - KW_BEGIN_PUBLISH = 307, - KW_BLOCKING = 308, - KW_BOOL = 309, - KW_CATCH = 310, - KW_CHAR = 311, - KW_CHAR16_T = 312, - KW_CHAR32_T = 313, - KW_CLASS = 314, - KW_CONST = 315, - KW_CONSTEXPR = 316, - KW_CONST_CAST = 317, - KW_DECLTYPE = 318, - KW_DEFAULT = 319, - KW_DELETE = 320, - KW_DOUBLE = 321, - KW_DYNAMIC_CAST = 322, - KW_ELSE = 323, - KW_END_PUBLISH = 324, - KW_ENUM = 325, - KW_EXTENSION = 326, - KW_EXTERN = 327, - KW_EXPLICIT = 328, - KW_PUBLISHED = 329, - KW_FALSE = 330, - KW_FINAL = 331, - KW_FLOAT = 332, - KW_FRIEND = 333, - KW_FOR = 334, - KW_GOTO = 335, - KW_HAS_VIRTUAL_DESTRUCTOR = 336, - KW_IF = 337, - KW_INLINE = 338, - KW_INT = 339, - KW_IS_ABSTRACT = 340, - KW_IS_BASE_OF = 341, - KW_IS_CLASS = 342, - KW_IS_CONSTRUCTIBLE = 343, - KW_IS_CONVERTIBLE_TO = 344, - KW_IS_DESTRUCTIBLE = 345, - KW_IS_EMPTY = 346, - KW_IS_ENUM = 347, - KW_IS_FINAL = 348, - KW_IS_FUNDAMENTAL = 349, - KW_IS_POD = 350, - KW_IS_POLYMORPHIC = 351, - KW_IS_STANDARD_LAYOUT = 352, - KW_IS_TRIVIAL = 353, - KW_IS_UNION = 354, - KW_LONG = 355, - KW_MAKE_MAP_KEYS_SEQ = 356, - KW_MAKE_MAP_PROPERTY = 357, - KW_MAKE_PROPERTY = 358, - KW_MAKE_PROPERTY2 = 359, - KW_MAKE_SEQ = 360, - KW_MAKE_SEQ_PROPERTY = 361, - KW_MUTABLE = 362, - KW_NAMESPACE = 363, - KW_NEW = 364, - KW_NOEXCEPT = 365, - KW_NULLPTR = 366, - KW_OPERATOR = 367, - KW_OVERRIDE = 368, - KW_PRIVATE = 369, - KW_PROTECTED = 370, - KW_PUBLIC = 371, - KW_REGISTER = 372, - KW_REINTERPRET_CAST = 373, - KW_RETURN = 374, - KW_SHORT = 375, - KW_SIGNED = 376, - KW_SIZEOF = 377, - KW_STATIC = 378, - KW_STATIC_ASSERT = 379, - KW_STATIC_CAST = 380, - KW_STRUCT = 381, - KW_TEMPLATE = 382, - KW_THREAD_LOCAL = 383, - KW_THROW = 384, - KW_TRUE = 385, - KW_TRY = 386, - KW_TYPEDEF = 387, - KW_TYPEID = 388, - KW_TYPENAME = 389, - KW_UNDERLYING_TYPE = 390, - KW_UNION = 391, - KW_UNSIGNED = 392, - KW_USING = 393, - KW_VIRTUAL = 394, - KW_VOID = 395, - KW_VOLATILE = 396, - KW_WCHAR_T = 397, - KW_WHILE = 398, - START_CPP = 399, - START_CONST_EXPR = 400, - START_TYPE = 401 - }; -#endif -/* Tokens. */ -#define REAL 258 -#define INTEGER 259 -#define CHAR_TOK 260 -#define SIMPLE_STRING 261 -#define SIMPLE_IDENTIFIER 262 -#define STRING_LITERAL 263 -#define CUSTOM_LITERAL 264 -#define IDENTIFIER 265 -#define TYPENAME_IDENTIFIER 266 -#define TYPEPACK_IDENTIFIER 267 -#define SCOPING 268 -#define TYPEDEFNAME 269 -#define ELLIPSIS 270 -#define OROR 271 -#define ANDAND 272 -#define EQCOMPARE 273 -#define NECOMPARE 274 -#define LECOMPARE 275 -#define GECOMPARE 276 -#define LSHIFT 277 -#define RSHIFT 278 -#define POINTSAT_STAR 279 -#define DOT_STAR 280 -#define UNARY 281 -#define UNARY_NOT 282 -#define UNARY_NEGATE 283 -#define UNARY_MINUS 284 -#define UNARY_PLUS 285 -#define UNARY_STAR 286 -#define UNARY_REF 287 -#define POINTSAT 288 -#define SCOPE 289 -#define PLUSPLUS 290 -#define MINUSMINUS 291 -#define TIMESEQUAL 292 -#define DIVIDEEQUAL 293 -#define MODEQUAL 294 -#define PLUSEQUAL 295 -#define MINUSEQUAL 296 -#define OREQUAL 297 -#define ANDEQUAL 298 -#define XOREQUAL 299 -#define LSHIFTEQUAL 300 -#define RSHIFTEQUAL 301 -#define ATTR_LEFT 302 -#define ATTR_RIGHT 303 -#define KW_ALIGNAS 304 -#define KW_ALIGNOF 305 -#define KW_AUTO 306 -#define KW_BEGIN_PUBLISH 307 -#define KW_BLOCKING 308 -#define KW_BOOL 309 -#define KW_CATCH 310 -#define KW_CHAR 311 -#define KW_CHAR16_T 312 -#define KW_CHAR32_T 313 -#define KW_CLASS 314 -#define KW_CONST 315 -#define KW_CONSTEXPR 316 -#define KW_CONST_CAST 317 -#define KW_DECLTYPE 318 -#define KW_DEFAULT 319 -#define KW_DELETE 320 -#define KW_DOUBLE 321 -#define KW_DYNAMIC_CAST 322 -#define KW_ELSE 323 -#define KW_END_PUBLISH 324 -#define KW_ENUM 325 -#define KW_EXTENSION 326 -#define KW_EXTERN 327 -#define KW_EXPLICIT 328 -#define KW_PUBLISHED 329 -#define KW_FALSE 330 -#define KW_FINAL 331 -#define KW_FLOAT 332 -#define KW_FRIEND 333 -#define KW_FOR 334 -#define KW_GOTO 335 -#define KW_HAS_VIRTUAL_DESTRUCTOR 336 -#define KW_IF 337 -#define KW_INLINE 338 -#define KW_INT 339 -#define KW_IS_ABSTRACT 340 -#define KW_IS_BASE_OF 341 -#define KW_IS_CLASS 342 -#define KW_IS_CONSTRUCTIBLE 343 -#define KW_IS_CONVERTIBLE_TO 344 -#define KW_IS_DESTRUCTIBLE 345 -#define KW_IS_EMPTY 346 -#define KW_IS_ENUM 347 -#define KW_IS_FINAL 348 -#define KW_IS_FUNDAMENTAL 349 -#define KW_IS_POD 350 -#define KW_IS_POLYMORPHIC 351 -#define KW_IS_STANDARD_LAYOUT 352 -#define KW_IS_TRIVIAL 353 -#define KW_IS_UNION 354 -#define KW_LONG 355 -#define KW_MAKE_MAP_KEYS_SEQ 356 -#define KW_MAKE_MAP_PROPERTY 357 -#define KW_MAKE_PROPERTY 358 -#define KW_MAKE_PROPERTY2 359 -#define KW_MAKE_SEQ 360 -#define KW_MAKE_SEQ_PROPERTY 361 -#define KW_MUTABLE 362 -#define KW_NAMESPACE 363 -#define KW_NEW 364 -#define KW_NOEXCEPT 365 -#define KW_NULLPTR 366 -#define KW_OPERATOR 367 -#define KW_OVERRIDE 368 -#define KW_PRIVATE 369 -#define KW_PROTECTED 370 -#define KW_PUBLIC 371 -#define KW_REGISTER 372 -#define KW_REINTERPRET_CAST 373 -#define KW_RETURN 374 -#define KW_SHORT 375 -#define KW_SIGNED 376 -#define KW_SIZEOF 377 -#define KW_STATIC 378 -#define KW_STATIC_ASSERT 379 -#define KW_STATIC_CAST 380 -#define KW_STRUCT 381 -#define KW_TEMPLATE 382 -#define KW_THREAD_LOCAL 383 -#define KW_THROW 384 -#define KW_TRUE 385 -#define KW_TRY 386 -#define KW_TYPEDEF 387 -#define KW_TYPEID 388 -#define KW_TYPENAME 389 -#define KW_UNDERLYING_TYPE 390 -#define KW_UNION 391 -#define KW_UNSIGNED 392 -#define KW_USING 393 -#define KW_VIRTUAL 394 -#define KW_VOID 395 -#define KW_VOLATILE 396 -#define KW_WCHAR_T 397 -#define KW_WHILE 398 -#define START_CPP 399 -#define START_CONST_EXPR 400 -#define START_TYPE 401 - -/* Value type. */ - -/* Location type. */ -#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED -typedef struct YYLTYPE YYLTYPE; -struct YYLTYPE +#include "cppBison.yxx.h" +/* Symbol kind. */ +enum yysymbol_kind_t { - int first_line; - int first_column; - int last_line; - int last_column; + YYSYMBOL_YYEMPTY = -2, + YYSYMBOL_YYEOF = 0, /* "end of file" */ + YYSYMBOL_YYerror = 1, /* error */ + YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ + YYSYMBOL_REAL = 3, /* REAL */ + YYSYMBOL_INTEGER = 4, /* INTEGER */ + YYSYMBOL_CHAR_TOK = 5, /* CHAR_TOK */ + YYSYMBOL_SIMPLE_STRING = 6, /* SIMPLE_STRING */ + YYSYMBOL_SIMPLE_IDENTIFIER = 7, /* SIMPLE_IDENTIFIER */ + YYSYMBOL_STRING_LITERAL = 8, /* STRING_LITERAL */ + YYSYMBOL_CUSTOM_LITERAL = 9, /* CUSTOM_LITERAL */ + YYSYMBOL_IDENTIFIER = 10, /* IDENTIFIER */ + YYSYMBOL_TYPENAME_IDENTIFIER = 11, /* TYPENAME_IDENTIFIER */ + YYSYMBOL_TYPEPACK_IDENTIFIER = 12, /* TYPEPACK_IDENTIFIER */ + YYSYMBOL_SCOPING = 13, /* SCOPING */ + YYSYMBOL_TYPEDEFNAME = 14, /* TYPEDEFNAME */ + YYSYMBOL_ELLIPSIS = 15, /* ELLIPSIS */ + YYSYMBOL_OROR = 16, /* OROR */ + YYSYMBOL_ANDAND = 17, /* ANDAND */ + YYSYMBOL_EQCOMPARE = 18, /* EQCOMPARE */ + YYSYMBOL_NECOMPARE = 19, /* NECOMPARE */ + YYSYMBOL_LECOMPARE = 20, /* LECOMPARE */ + YYSYMBOL_GECOMPARE = 21, /* GECOMPARE */ + YYSYMBOL_LSHIFT = 22, /* LSHIFT */ + YYSYMBOL_RSHIFT = 23, /* RSHIFT */ + YYSYMBOL_POINTSAT_STAR = 24, /* POINTSAT_STAR */ + YYSYMBOL_DOT_STAR = 25, /* DOT_STAR */ + YYSYMBOL_UNARY = 26, /* UNARY */ + YYSYMBOL_UNARY_NOT = 27, /* UNARY_NOT */ + YYSYMBOL_UNARY_NEGATE = 28, /* UNARY_NEGATE */ + YYSYMBOL_UNARY_MINUS = 29, /* UNARY_MINUS */ + YYSYMBOL_UNARY_PLUS = 30, /* UNARY_PLUS */ + YYSYMBOL_UNARY_STAR = 31, /* UNARY_STAR */ + YYSYMBOL_UNARY_REF = 32, /* UNARY_REF */ + YYSYMBOL_POINTSAT = 33, /* POINTSAT */ + YYSYMBOL_SCOPE = 34, /* SCOPE */ + YYSYMBOL_PLUSPLUS = 35, /* PLUSPLUS */ + YYSYMBOL_MINUSMINUS = 36, /* MINUSMINUS */ + YYSYMBOL_TIMESEQUAL = 37, /* TIMESEQUAL */ + YYSYMBOL_DIVIDEEQUAL = 38, /* DIVIDEEQUAL */ + YYSYMBOL_MODEQUAL = 39, /* MODEQUAL */ + YYSYMBOL_PLUSEQUAL = 40, /* PLUSEQUAL */ + YYSYMBOL_MINUSEQUAL = 41, /* MINUSEQUAL */ + YYSYMBOL_OREQUAL = 42, /* OREQUAL */ + YYSYMBOL_ANDEQUAL = 43, /* ANDEQUAL */ + YYSYMBOL_XOREQUAL = 44, /* XOREQUAL */ + YYSYMBOL_LSHIFTEQUAL = 45, /* LSHIFTEQUAL */ + YYSYMBOL_RSHIFTEQUAL = 46, /* RSHIFTEQUAL */ + YYSYMBOL_ATTR_LEFT = 47, /* ATTR_LEFT */ + YYSYMBOL_ATTR_RIGHT = 48, /* ATTR_RIGHT */ + YYSYMBOL_KW_ALIGNAS = 49, /* KW_ALIGNAS */ + YYSYMBOL_KW_ALIGNOF = 50, /* KW_ALIGNOF */ + YYSYMBOL_KW_AUTO = 51, /* KW_AUTO */ + YYSYMBOL_KW_BEGIN_PUBLISH = 52, /* KW_BEGIN_PUBLISH */ + YYSYMBOL_KW_BLOCKING = 53, /* KW_BLOCKING */ + YYSYMBOL_KW_BOOL = 54, /* KW_BOOL */ + YYSYMBOL_KW_CATCH = 55, /* KW_CATCH */ + YYSYMBOL_KW_CHAR = 56, /* KW_CHAR */ + YYSYMBOL_KW_CHAR16_T = 57, /* KW_CHAR16_T */ + YYSYMBOL_KW_CHAR32_T = 58, /* KW_CHAR32_T */ + YYSYMBOL_KW_CLASS = 59, /* KW_CLASS */ + YYSYMBOL_KW_CONST = 60, /* KW_CONST */ + YYSYMBOL_KW_CONSTEXPR = 61, /* KW_CONSTEXPR */ + YYSYMBOL_KW_CONST_CAST = 62, /* KW_CONST_CAST */ + YYSYMBOL_KW_DECLTYPE = 63, /* KW_DECLTYPE */ + YYSYMBOL_KW_DEFAULT = 64, /* KW_DEFAULT */ + YYSYMBOL_KW_DELETE = 65, /* KW_DELETE */ + YYSYMBOL_KW_DOUBLE = 66, /* KW_DOUBLE */ + YYSYMBOL_KW_DYNAMIC_CAST = 67, /* KW_DYNAMIC_CAST */ + YYSYMBOL_KW_ELSE = 68, /* KW_ELSE */ + YYSYMBOL_KW_END_PUBLISH = 69, /* KW_END_PUBLISH */ + YYSYMBOL_KW_ENUM = 70, /* KW_ENUM */ + YYSYMBOL_KW_EXTENSION = 71, /* KW_EXTENSION */ + YYSYMBOL_KW_EXTERN = 72, /* KW_EXTERN */ + YYSYMBOL_KW_EXPLICIT = 73, /* KW_EXPLICIT */ + YYSYMBOL_KW_PUBLISHED = 74, /* KW_PUBLISHED */ + YYSYMBOL_KW_FALSE = 75, /* KW_FALSE */ + YYSYMBOL_KW_FINAL = 76, /* KW_FINAL */ + YYSYMBOL_KW_FLOAT = 77, /* KW_FLOAT */ + YYSYMBOL_KW_FRIEND = 78, /* KW_FRIEND */ + YYSYMBOL_KW_FOR = 79, /* KW_FOR */ + YYSYMBOL_KW_GOTO = 80, /* KW_GOTO */ + YYSYMBOL_KW_HAS_VIRTUAL_DESTRUCTOR = 81, /* KW_HAS_VIRTUAL_DESTRUCTOR */ + YYSYMBOL_KW_IF = 82, /* KW_IF */ + YYSYMBOL_KW_INLINE = 83, /* KW_INLINE */ + YYSYMBOL_KW_INT = 84, /* KW_INT */ + YYSYMBOL_KW_IS_ABSTRACT = 85, /* KW_IS_ABSTRACT */ + YYSYMBOL_KW_IS_BASE_OF = 86, /* KW_IS_BASE_OF */ + YYSYMBOL_KW_IS_CLASS = 87, /* KW_IS_CLASS */ + YYSYMBOL_KW_IS_CONSTRUCTIBLE = 88, /* KW_IS_CONSTRUCTIBLE */ + YYSYMBOL_KW_IS_CONVERTIBLE_TO = 89, /* KW_IS_CONVERTIBLE_TO */ + YYSYMBOL_KW_IS_DESTRUCTIBLE = 90, /* KW_IS_DESTRUCTIBLE */ + YYSYMBOL_KW_IS_EMPTY = 91, /* KW_IS_EMPTY */ + YYSYMBOL_KW_IS_ENUM = 92, /* KW_IS_ENUM */ + YYSYMBOL_KW_IS_FINAL = 93, /* KW_IS_FINAL */ + YYSYMBOL_KW_IS_FUNDAMENTAL = 94, /* KW_IS_FUNDAMENTAL */ + YYSYMBOL_KW_IS_POD = 95, /* KW_IS_POD */ + YYSYMBOL_KW_IS_POLYMORPHIC = 96, /* KW_IS_POLYMORPHIC */ + YYSYMBOL_KW_IS_STANDARD_LAYOUT = 97, /* KW_IS_STANDARD_LAYOUT */ + YYSYMBOL_KW_IS_TRIVIAL = 98, /* KW_IS_TRIVIAL */ + YYSYMBOL_KW_IS_UNION = 99, /* KW_IS_UNION */ + YYSYMBOL_KW_LONG = 100, /* KW_LONG */ + YYSYMBOL_KW_MAKE_MAP_KEYS_SEQ = 101, /* KW_MAKE_MAP_KEYS_SEQ */ + YYSYMBOL_KW_MAKE_MAP_PROPERTY = 102, /* KW_MAKE_MAP_PROPERTY */ + YYSYMBOL_KW_MAKE_PROPERTY = 103, /* KW_MAKE_PROPERTY */ + YYSYMBOL_KW_MAKE_PROPERTY2 = 104, /* KW_MAKE_PROPERTY2 */ + YYSYMBOL_KW_MAKE_SEQ = 105, /* KW_MAKE_SEQ */ + YYSYMBOL_KW_MAKE_SEQ_PROPERTY = 106, /* KW_MAKE_SEQ_PROPERTY */ + YYSYMBOL_KW_MUTABLE = 107, /* KW_MUTABLE */ + YYSYMBOL_KW_NAMESPACE = 108, /* KW_NAMESPACE */ + YYSYMBOL_KW_NEW = 109, /* KW_NEW */ + YYSYMBOL_KW_NOEXCEPT = 110, /* KW_NOEXCEPT */ + YYSYMBOL_KW_NULLPTR = 111, /* KW_NULLPTR */ + YYSYMBOL_KW_OPERATOR = 112, /* KW_OPERATOR */ + YYSYMBOL_KW_OVERRIDE = 113, /* KW_OVERRIDE */ + YYSYMBOL_KW_PRIVATE = 114, /* KW_PRIVATE */ + YYSYMBOL_KW_PROTECTED = 115, /* KW_PROTECTED */ + YYSYMBOL_KW_PUBLIC = 116, /* KW_PUBLIC */ + YYSYMBOL_KW_REGISTER = 117, /* KW_REGISTER */ + YYSYMBOL_KW_REINTERPRET_CAST = 118, /* KW_REINTERPRET_CAST */ + YYSYMBOL_KW_RETURN = 119, /* KW_RETURN */ + YYSYMBOL_KW_SHORT = 120, /* KW_SHORT */ + YYSYMBOL_KW_SIGNED = 121, /* KW_SIGNED */ + YYSYMBOL_KW_SIZEOF = 122, /* KW_SIZEOF */ + YYSYMBOL_KW_STATIC = 123, /* KW_STATIC */ + YYSYMBOL_KW_STATIC_ASSERT = 124, /* KW_STATIC_ASSERT */ + YYSYMBOL_KW_STATIC_CAST = 125, /* KW_STATIC_CAST */ + YYSYMBOL_KW_STRUCT = 126, /* KW_STRUCT */ + YYSYMBOL_KW_TEMPLATE = 127, /* KW_TEMPLATE */ + YYSYMBOL_KW_THREAD_LOCAL = 128, /* KW_THREAD_LOCAL */ + YYSYMBOL_KW_THROW = 129, /* KW_THROW */ + YYSYMBOL_KW_TRUE = 130, /* KW_TRUE */ + YYSYMBOL_KW_TRY = 131, /* KW_TRY */ + YYSYMBOL_KW_TYPEDEF = 132, /* KW_TYPEDEF */ + YYSYMBOL_KW_TYPEID = 133, /* KW_TYPEID */ + YYSYMBOL_KW_TYPENAME = 134, /* KW_TYPENAME */ + YYSYMBOL_KW_UNDERLYING_TYPE = 135, /* KW_UNDERLYING_TYPE */ + YYSYMBOL_KW_UNION = 136, /* KW_UNION */ + YYSYMBOL_KW_UNSIGNED = 137, /* KW_UNSIGNED */ + YYSYMBOL_KW_USING = 138, /* KW_USING */ + YYSYMBOL_KW_VIRTUAL = 139, /* KW_VIRTUAL */ + YYSYMBOL_KW_VOID = 140, /* KW_VOID */ + YYSYMBOL_KW_VOLATILE = 141, /* KW_VOLATILE */ + YYSYMBOL_KW_WCHAR_T = 142, /* KW_WCHAR_T */ + YYSYMBOL_KW_WHILE = 143, /* KW_WHILE */ + YYSYMBOL_START_CPP = 144, /* START_CPP */ + YYSYMBOL_START_CONST_EXPR = 145, /* START_CONST_EXPR */ + YYSYMBOL_START_TYPE = 146, /* START_TYPE */ + YYSYMBOL_147_ = 147, /* '{' */ + YYSYMBOL_148_ = 148, /* ',' */ + YYSYMBOL_149_ = 149, /* ';' */ + YYSYMBOL_150_ = 150, /* ':' */ + YYSYMBOL_151_ = 151, /* '=' */ + YYSYMBOL_152_ = 152, /* '?' */ + YYSYMBOL_153_ = 153, /* '|' */ + YYSYMBOL_154_ = 154, /* '^' */ + YYSYMBOL_155_ = 155, /* '&' */ + YYSYMBOL_156_ = 156, /* '<' */ + YYSYMBOL_157_ = 157, /* '>' */ + YYSYMBOL_158_ = 158, /* '+' */ + YYSYMBOL_159_ = 159, /* '-' */ + YYSYMBOL_160_ = 160, /* '*' */ + YYSYMBOL_161_ = 161, /* '/' */ + YYSYMBOL_162_ = 162, /* '%' */ + YYSYMBOL_163_ = 163, /* '~' */ + YYSYMBOL_164_ = 164, /* '.' */ + YYSYMBOL_165_ = 165, /* '(' */ + YYSYMBOL_166_ = 166, /* '[' */ + YYSYMBOL_167_ = 167, /* ')' */ + YYSYMBOL_168_ = 168, /* '}' */ + YYSYMBOL_169_ = 169, /* '!' */ + YYSYMBOL_170_ = 170, /* ']' */ + YYSYMBOL_YYACCEPT = 171, /* $accept */ + YYSYMBOL_grammar = 172, /* grammar */ + YYSYMBOL_cpp = 173, /* cpp */ + YYSYMBOL_constructor_inits = 174, /* constructor_inits */ + YYSYMBOL_constructor_init = 175, /* constructor_init */ + YYSYMBOL_extern_c = 176, /* extern_c */ + YYSYMBOL_177_1 = 177, /* $@1 */ + YYSYMBOL_declaration = 178, /* declaration */ + YYSYMBOL_friend_declaration = 179, /* friend_declaration */ + YYSYMBOL_180_2 = 180, /* $@2 */ + YYSYMBOL_storage_class = 181, /* storage_class */ + YYSYMBOL_optional_attributes = 182, /* optional_attributes */ + YYSYMBOL_attribute_specifiers = 183, /* attribute_specifiers */ + YYSYMBOL_attribute_specifier = 184, /* attribute_specifier */ + YYSYMBOL_type_like_declaration = 185, /* type_like_declaration */ + YYSYMBOL_186_3 = 186, /* $@3 */ + YYSYMBOL_187_4 = 187, /* $@4 */ + YYSYMBOL_multiple_instance_identifiers = 188, /* multiple_instance_identifiers */ + YYSYMBOL_typedef_declaration = 189, /* typedef_declaration */ + YYSYMBOL_190_5 = 190, /* $@5 */ + YYSYMBOL_typedef_instance_identifiers = 191, /* typedef_instance_identifiers */ + YYSYMBOL_constructor_prototype = 192, /* constructor_prototype */ + YYSYMBOL_193_6 = 193, /* $@6 */ + YYSYMBOL_194_7 = 194, /* $@7 */ + YYSYMBOL_195_8 = 195, /* $@8 */ + YYSYMBOL_function_prototype = 196, /* function_prototype */ + YYSYMBOL_197_9 = 197, /* $@9 */ + YYSYMBOL_198_10 = 198, /* $@10 */ + YYSYMBOL_199_11 = 199, /* $@11 */ + YYSYMBOL_200_12 = 200, /* $@12 */ + YYSYMBOL_201_13 = 201, /* $@13 */ + YYSYMBOL_function_post = 202, /* function_post */ + YYSYMBOL_function_operator = 203, /* function_operator */ + YYSYMBOL_more_template_declaration = 204, /* more_template_declaration */ + YYSYMBOL_template_declaration = 205, /* template_declaration */ + YYSYMBOL_206_14 = 206, /* $@14 */ + YYSYMBOL_template_formal_parameters = 207, /* template_formal_parameters */ + YYSYMBOL_template_nonempty_formal_parameters = 208, /* template_nonempty_formal_parameters */ + YYSYMBOL_typename_keyword = 209, /* typename_keyword */ + YYSYMBOL_template_formal_parameter = 210, /* template_formal_parameter */ + YYSYMBOL_template_formal_parameter_type = 211, /* template_formal_parameter_type */ + YYSYMBOL_instance_identifier = 212, /* instance_identifier */ + YYSYMBOL_213_15 = 213, /* $@15 */ + YYSYMBOL_instance_identifier_and_maybe_trailing_return_type = 214, /* instance_identifier_and_maybe_trailing_return_type */ + YYSYMBOL_maybe_trailing_return_type = 215, /* maybe_trailing_return_type */ + YYSYMBOL_maybe_comma_identifier = 216, /* maybe_comma_identifier */ + YYSYMBOL_function_parameter_list = 217, /* function_parameter_list */ + YYSYMBOL_function_parameters = 218, /* function_parameters */ + YYSYMBOL_formal_parameter_list = 219, /* formal_parameter_list */ + YYSYMBOL_formal_parameters = 220, /* formal_parameters */ + YYSYMBOL_template_parameter_maybe_initialize = 221, /* template_parameter_maybe_initialize */ + YYSYMBOL_maybe_initialize = 222, /* maybe_initialize */ + YYSYMBOL_maybe_initialize_or_constructor_body = 223, /* maybe_initialize_or_constructor_body */ + YYSYMBOL_maybe_initialize_or_function_body = 224, /* maybe_initialize_or_function_body */ + YYSYMBOL_structure_init = 225, /* structure_init */ + YYSYMBOL_structure_init_body = 226, /* structure_init_body */ + YYSYMBOL_function_parameter = 227, /* function_parameter */ + YYSYMBOL_formal_parameter = 228, /* formal_parameter */ + YYSYMBOL_not_paren_formal_parameter_identifier = 229, /* not_paren_formal_parameter_identifier */ + YYSYMBOL_formal_parameter_identifier = 230, /* formal_parameter_identifier */ + YYSYMBOL_parameter_pack_identifier = 231, /* parameter_pack_identifier */ + YYSYMBOL_not_paren_empty_instance_identifier = 232, /* not_paren_empty_instance_identifier */ + YYSYMBOL_empty_instance_identifier = 233, /* empty_instance_identifier */ + YYSYMBOL_type = 234, /* type */ + YYSYMBOL_type_pack = 235, /* type_pack */ + YYSYMBOL_type_decl = 236, /* type_decl */ + YYSYMBOL_predefined_type = 237, /* predefined_type */ + YYSYMBOL_var_type_decl = 238, /* var_type_decl */ + YYSYMBOL_full_type = 239, /* full_type */ + YYSYMBOL_struct_attributes = 240, /* struct_attributes */ + YYSYMBOL_anonymous_struct = 241, /* anonymous_struct */ + YYSYMBOL_242_16 = 242, /* $@16 */ + YYSYMBOL_named_struct = 243, /* named_struct */ + YYSYMBOL_244_17 = 244, /* $@17 */ + YYSYMBOL_maybe_final = 245, /* maybe_final */ + YYSYMBOL_maybe_class_derivation = 246, /* maybe_class_derivation */ + YYSYMBOL_class_derivation = 247, /* class_derivation */ + YYSYMBOL_base_specification = 248, /* base_specification */ + YYSYMBOL_enum = 249, /* enum */ + YYSYMBOL_enum_decl = 250, /* enum_decl */ + YYSYMBOL_enum_element_type = 251, /* enum_element_type */ + YYSYMBOL_enum_body_trailing_comma = 252, /* enum_body_trailing_comma */ + YYSYMBOL_enum_body = 253, /* enum_body */ + YYSYMBOL_enum_keyword = 254, /* enum_keyword */ + YYSYMBOL_struct_keyword = 255, /* struct_keyword */ + YYSYMBOL_namespace_declaration = 256, /* namespace_declaration */ + YYSYMBOL_257_18 = 257, /* $@18 */ + YYSYMBOL_258_19 = 258, /* $@19 */ + YYSYMBOL_using_declaration = 259, /* using_declaration */ + YYSYMBOL_simple_type = 260, /* simple_type */ + YYSYMBOL_simple_int_type = 261, /* simple_int_type */ + YYSYMBOL_simple_float_type = 262, /* simple_float_type */ + YYSYMBOL_simple_void_type = 263, /* simple_void_type */ + YYSYMBOL_code = 264, /* code */ + YYSYMBOL_265_20 = 265, /* $@20 */ + YYSYMBOL_code_block = 266, /* code_block */ + YYSYMBOL_element = 267, /* element */ + YYSYMBOL_optional_const_expr = 268, /* optional_const_expr */ + YYSYMBOL_optional_const_expr_comma = 269, /* optional_const_expr_comma */ + YYSYMBOL_const_expr_comma = 270, /* const_expr_comma */ + YYSYMBOL_no_angle_bracket_const_expr = 271, /* no_angle_bracket_const_expr */ + YYSYMBOL_const_expr = 272, /* const_expr */ + YYSYMBOL_const_operand = 273, /* const_operand */ + YYSYMBOL_formal_const_expr = 274, /* formal_const_expr */ + YYSYMBOL_formal_const_operand = 275, /* formal_const_operand */ + YYSYMBOL_capture_list = 276, /* capture_list */ + YYSYMBOL_capture = 277, /* capture */ + YYSYMBOL_class_derivation_name = 278, /* class_derivation_name */ + YYSYMBOL_name = 279, /* name */ + YYSYMBOL_name_no_final = 280, /* name_no_final */ + YYSYMBOL_string_literal = 281, /* string_literal */ + YYSYMBOL_empty = 282 /* empty */ }; -# define YYLTYPE_IS_DECLARED 1 -# define YYLTYPE_IS_TRIVIAL 1 -#endif +typedef enum yysymbol_kind_t yysymbol_kind_t; -int cppyyparse (void); - -#endif /* !YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED */ - - #ifdef short # undef short @@ -670,6 +624,18 @@ typedef int_least16_t yytype_int16; typedef short yytype_int16; #endif +/* Work around bug in HP-UX 11.23, which defines these macros + incorrectly for preprocessor constants. This workaround can likely + be removed in 2023, as HPE has promised support for HP-UX 11.23 + (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of + . */ +#ifdef __hpux +# undef UINT_LEAST8_MAX +# undef UINT_LEAST16_MAX +# define UINT_LEAST8_MAX 255 +# define UINT_LEAST16_MAX 65535 +#endif + #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ typedef __UINT_LEAST8_TYPE__ yytype_uint8; #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ @@ -729,6 +695,7 @@ typedef int yytype_uint16; #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) + /* Stored state numbers (used for stacks). */ typedef yytype_int16 yy_state_t; @@ -747,6 +714,7 @@ typedef int yy_state_fast_t; # endif #endif + #ifndef YY_ATTRIBUTE_PURE # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) @@ -765,17 +733,23 @@ typedef int yy_state_fast_t; /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ -# define YYUSE(E) ((void) (E)) +# define YY_USE(E) ((void) (E)) #else -# define YYUSE(E) /* empty */ +# define YY_USE(E) /* empty */ #endif -#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ +#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ +# if __GNUC__ * 100 + __GNUC_MINOR__ < 407 +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") +# else +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# endif # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else @@ -804,7 +778,7 @@ typedef int yy_state_fast_t; #define YY_ASSERT(E) ((void) (0 && (E))) -#if ! defined yyoverflow || YYERROR_VERBOSE +#if !defined yyoverflow /* The parser invokes alloca or malloc; define the necessary symbols. */ @@ -869,8 +843,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif -#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ - +#endif /* !defined yyoverflow */ #if (! defined yyoverflow \ && (! defined __cplusplus \ @@ -938,25 +911,27 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 104 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 7455 +#define YYLAST 7707 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 171 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 111 +#define YYNNTS 112 /* YYNRULES -- Number of rules. */ -#define YYNRULES 765 +#define YYNRULES 769 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1574 +#define YYNSTATES 1632 -#define YYUNDEFTOK 2 +/* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 401 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking. */ -#define YYTRANSLATE(YYX) \ - (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) +#define YYTRANSLATE(YYX) \ + (0 <= (YYX) && (YYX) <= YYMAXUTOK \ + ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ + : YYSYMBOL_YYUNDEF) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex. */ @@ -1006,7 +981,7 @@ static const yytype_uint8 yytranslate[] = }; #if YYDEBUG - /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { 0, 452, 452, 453, 457, 464, 465, 466, 470, 471, @@ -1015,131 +990,139 @@ static const yytype_int16 yyrline[] = 624, 653, 689, 732, 744, 765, 801, 835, 857, 893, 915, 926, 940, 939, 954, 958, 963, 967, 978, 982, 986, 990, 994, 998, 1002, 1006, 1010, 1014, 1018, 1022, - 1027, 1031, 1038, 1039, 1043, 1044, 1045, 1050, 1049, 1065, - 1075, 1074, 1091, 1099, 1107, 1118, 1134, 1133, 1148, 1163, - 1172, 1187, 1186, 1226, 1225, 1253, 1252, 1289, 1288, 1319, - 1318, 1337, 1336, 1357, 1356, 1388, 1387, 1413, 1426, 1430, - 1434, 1438, 1451, 1455, 1459, 1463, 1467, 1472, 1477, 1481, - 1485, 1489, 1496, 1500, 1504, 1508, 1512, 1516, 1520, 1524, - 1528, 1532, 1536, 1540, 1544, 1548, 1552, 1556, 1560, 1564, - 1568, 1572, 1576, 1580, 1584, 1588, 1592, 1596, 1600, 1604, - 1608, 1612, 1616, 1620, 1624, 1628, 1632, 1636, 1640, 1644, - 1648, 1655, 1656, 1657, 1661, 1663, 1662, 1670, 1671, 1675, - 1676, 1680, 1686, 1695, 1696, 1700, 1704, 1708, 1712, 1718, - 1724, 1730, 1737, 1742, 1751, 1755, 1760, 1768, 1780, 1784, - 1798, 1813, 1818, 1823, 1828, 1833, 1838, 1843, 1848, 1854, - 1853, 1884, 1894, 1904, 1908, 1912, 1921, 1925, 1933, 1937, - 1942, 1946, 1951, 1959, 1964, 1972, 1976, 1981, 1985, 1990, - 1998, 2003, 2011, 2015, 2022, 2026, 2033, 2037, 2041, 2045, - 2049, 2056, 2060, 2064, 2068, 2072, 2076, 2083, 2084, 2085, - 2089, 2092, 2093, 2094, 2098, 2103, 2109, 2115, 2120, 2126, - 2132, 2136, 2147, 2151, 2161, 2165, 2169, 2174, 2179, 2184, - 2189, 2194, 2199, 2207, 2211, 2215, 2220, 2225, 2230, 2235, - 2240, 2245, 2250, 2256, 2264, 2269, 2274, 2279, 2284, 2289, - 2294, 2299, 2304, 2309, 2315, 2323, 2327, 2332, 2337, 2342, - 2347, 2352, 2357, 2362, 2367, 2375, 2379, 2384, 2389, 2394, - 2399, 2404, 2409, 2414, 2419, 2424, 2430, 2437, 2444, 2454, - 2458, 2466, 2470, 2474, 2478, 2482, 2498, 2514, 2523, 2527, - 2537, 2544, 2555, 2559, 2567, 2571, 2575, 2579, 2583, 2599, - 2615, 2633, 2642, 2646, 2656, 2663, 2667, 2675, 2679, 2695, - 2711, 2720, 2730, 2737, 2741, 2749, 2753, 2758, 2762, 2770, - 2771, 2772, 2773, 2778, 2777, 2802, 2801, 2831, 2832, 2839, - 2840, 2844, 2845, 2849, 2853, 2857, 2861, 2865, 2869, 2873, - 2877, 2881, 2885, 2892, 2900, 2904, 2908, 2913, 2921, 2925, - 2932, 2933, 2938, 2945, 2946, 2951, 2959, 2963, 2967, 2974, - 2978, 2982, 2990, 2989, 3012, 3011, 3034, 3035, 3039, 3045, - 3052, 3061, 3062, 3063, 3067, 3071, 3075, 3079, 3083, 3087, - 3092, 3097, 3102, 3107, 3111, 3116, 3125, 3130, 3138, 3142, - 3146, 3154, 3164, 3164, 3174, 3175, 3179, 3180, 3181, 3182, - 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3190, 3190, - 3191, 3191, 3191, 3191, 3192, 3192, 3192, 3192, 3192, 3193, - 3193, 3193, 3194, 3194, 3194, 3194, 3194, 3195, 3195, 3195, - 3195, 3195, 3196, 3196, 3197, 3197, 3197, 3197, 3197, 3198, - 3198, 3198, 3198, 3198, 3199, 3199, 3199, 3199, 3200, 3200, - 3200, 3200, 3200, 3201, 3201, 3201, 3201, 3201, 3202, 3202, - 3202, 3202, 3202, 3202, 3203, 3203, 3203, 3203, 3203, 3204, - 3204, 3204, 3204, 3205, 3205, 3205, 3205, 3206, 3206, 3206, - 3206, 3206, 3207, 3207, 3207, 3207, 3208, 3208, 3208, 3208, - 3208, 3209, 3209, 3209, 3209, 3210, 3210, 3210, 3210, 3210, - 3211, 3211, 3214, 3214, 3214, 3214, 3214, 3214, 3214, 3214, - 3214, 3214, 3214, 3215, 3215, 3215, 3215, 3215, 3215, 3215, - 3215, 3215, 3215, 3216, 3216, 3220, 3224, 3231, 3235, 3242, - 3246, 3253, 3257, 3261, 3265, 3269, 3273, 3277, 3281, 3285, - 3289, 3293, 3297, 3301, 3305, 3309, 3313, 3317, 3321, 3325, - 3329, 3333, 3337, 3341, 3345, 3349, 3353, 3357, 3361, 3365, - 3369, 3373, 3377, 3381, 3385, 3389, 3393, 3397, 3401, 3405, - 3413, 3417, 3421, 3425, 3429, 3433, 3437, 3447, 3457, 3463, - 3469, 3475, 3481, 3487, 3493, 3500, 3507, 3514, 3521, 3527, - 3533, 3537, 3541, 3545, 3549, 3553, 3557, 3568, 3579, 3583, - 3587, 3591, 3595, 3599, 3603, 3607, 3611, 3615, 3619, 3623, - 3627, 3631, 3635, 3639, 3643, 3647, 3651, 3655, 3659, 3663, - 3667, 3671, 3675, 3679, 3683, 3687, 3691, 3695, 3699, 3706, - 3710, 3714, 3718, 3722, 3726, 3730, 3734, 3738, 3744, 3750, - 3754, 3760, 3767, 3771, 3775, 3779, 3783, 3787, 3791, 3795, - 3799, 3803, 3807, 3811, 3815, 3819, 3823, 3827, 3831, 3845, - 3849, 3853, 3857, 3861, 3865, 3869, 3873, 3877, 3881, 3885, - 3889, 3893, 3904, 3915, 3919, 3923, 3927, 3931, 3935, 3939, - 3943, 3947, 3951, 3955, 3959, 3963, 3967, 3971, 3975, 3979, - 3983, 3987, 3991, 3995, 3999, 4003, 4007, 4011, 4015, 4019, - 4023, 4027, 4031, 4038, 4042, 4046, 4050, 4054, 4058, 4062, - 4066, 4070, 4076, 4082, 4090, 4094, 4098, 4102, 4109, 4119, - 4125, 4131, 4141, 4153, 4161, 4165, 4195, 4199, 4203, 4207, - 4211, 4215, 4221, 4225, 4229, 4233, 4237, 4248, 4252, 4256, - 4260, 4268, 4272, 4276, 4282, 4293 + 1027, 1031, 1038, 1039, 1040, 1041, 1045, 1046, 1050, 1051, + 1052, 1057, 1056, 1072, 1082, 1081, 1098, 1106, 1114, 1125, + 1141, 1140, 1155, 1170, 1179, 1194, 1193, 1233, 1232, 1260, + 1259, 1296, 1295, 1326, 1325, 1344, 1343, 1364, 1363, 1395, + 1394, 1420, 1433, 1437, 1441, 1445, 1458, 1462, 1466, 1470, + 1474, 1479, 1484, 1488, 1492, 1496, 1503, 1507, 1511, 1515, + 1519, 1523, 1527, 1531, 1535, 1539, 1543, 1547, 1551, 1555, + 1559, 1563, 1567, 1571, 1575, 1579, 1583, 1587, 1591, 1595, + 1599, 1603, 1607, 1611, 1615, 1619, 1623, 1627, 1631, 1635, + 1639, 1643, 1647, 1651, 1655, 1662, 1663, 1664, 1668, 1670, + 1669, 1677, 1678, 1682, 1683, 1687, 1693, 1702, 1703, 1707, + 1711, 1715, 1719, 1725, 1731, 1737, 1744, 1749, 1758, 1762, + 1767, 1775, 1787, 1791, 1805, 1820, 1825, 1830, 1835, 1840, + 1845, 1850, 1855, 1861, 1860, 1891, 1901, 1911, 1915, 1919, + 1928, 1932, 1940, 1944, 1949, 1953, 1958, 1966, 1971, 1979, + 1983, 1988, 1992, 1997, 2005, 2010, 2018, 2022, 2029, 2033, + 2040, 2044, 2048, 2052, 2056, 2063, 2067, 2071, 2075, 2079, + 2083, 2090, 2091, 2092, 2096, 2099, 2100, 2101, 2105, 2110, + 2116, 2122, 2127, 2133, 2139, 2143, 2154, 2158, 2168, 2172, + 2176, 2181, 2186, 2191, 2196, 2201, 2206, 2214, 2218, 2222, + 2227, 2232, 2237, 2242, 2247, 2252, 2257, 2263, 2271, 2276, + 2281, 2286, 2291, 2296, 2301, 2306, 2311, 2316, 2322, 2330, + 2334, 2339, 2344, 2349, 2354, 2359, 2364, 2369, 2374, 2382, + 2386, 2391, 2396, 2401, 2406, 2411, 2416, 2421, 2426, 2431, + 2437, 2444, 2451, 2461, 2465, 2473, 2477, 2481, 2485, 2489, + 2505, 2521, 2530, 2534, 2544, 2551, 2562, 2566, 2574, 2578, + 2582, 2586, 2590, 2606, 2622, 2640, 2649, 2653, 2663, 2670, + 2674, 2682, 2686, 2702, 2718, 2727, 2737, 2744, 2748, 2756, + 2760, 2765, 2769, 2777, 2778, 2779, 2780, 2785, 2784, 2809, + 2808, 2838, 2839, 2846, 2847, 2851, 2852, 2856, 2860, 2864, + 2868, 2872, 2876, 2880, 2884, 2888, 2892, 2899, 2907, 2911, + 2915, 2920, 2928, 2932, 2939, 2940, 2945, 2952, 2953, 2958, + 2966, 2970, 2974, 2981, 2985, 2989, 2997, 2996, 3019, 3018, + 3041, 3042, 3046, 3052, 3059, 3068, 3069, 3070, 3074, 3078, + 3082, 3086, 3090, 3094, 3099, 3104, 3109, 3114, 3118, 3123, + 3132, 3137, 3145, 3149, 3153, 3161, 3171, 3171, 3181, 3182, + 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, + 3196, 3197, 3197, 3197, 3198, 3198, 3198, 3198, 3199, 3199, + 3199, 3199, 3199, 3200, 3200, 3200, 3201, 3201, 3201, 3201, + 3201, 3202, 3202, 3202, 3202, 3202, 3203, 3203, 3204, 3204, + 3204, 3204, 3204, 3205, 3205, 3205, 3205, 3205, 3206, 3206, + 3206, 3206, 3207, 3207, 3207, 3207, 3207, 3208, 3208, 3208, + 3208, 3208, 3209, 3209, 3209, 3209, 3209, 3209, 3210, 3210, + 3210, 3210, 3210, 3211, 3211, 3211, 3211, 3212, 3212, 3212, + 3212, 3213, 3213, 3213, 3213, 3213, 3214, 3214, 3214, 3214, + 3215, 3215, 3215, 3215, 3215, 3216, 3216, 3216, 3216, 3217, + 3217, 3217, 3217, 3217, 3218, 3218, 3221, 3221, 3221, 3221, + 3221, 3221, 3221, 3221, 3221, 3221, 3221, 3222, 3222, 3222, + 3222, 3222, 3222, 3222, 3222, 3222, 3222, 3223, 3223, 3227, + 3231, 3238, 3242, 3249, 3253, 3260, 3264, 3268, 3272, 3276, + 3280, 3284, 3288, 3292, 3296, 3300, 3304, 3308, 3312, 3316, + 3320, 3324, 3328, 3332, 3336, 3340, 3344, 3348, 3352, 3356, + 3360, 3364, 3368, 3372, 3376, 3380, 3384, 3388, 3392, 3396, + 3400, 3404, 3408, 3412, 3420, 3424, 3428, 3432, 3436, 3440, + 3444, 3454, 3464, 3470, 3476, 3482, 3488, 3494, 3500, 3507, + 3514, 3521, 3528, 3534, 3540, 3544, 3548, 3552, 3556, 3560, + 3564, 3575, 3586, 3590, 3594, 3598, 3602, 3606, 3610, 3614, + 3618, 3622, 3626, 3630, 3634, 3638, 3642, 3646, 3650, 3654, + 3658, 3662, 3666, 3670, 3674, 3678, 3682, 3686, 3690, 3694, + 3698, 3702, 3706, 3713, 3717, 3721, 3725, 3729, 3733, 3737, + 3741, 3745, 3751, 3757, 3761, 3767, 3774, 3778, 3782, 3786, + 3790, 3794, 3798, 3802, 3806, 3810, 3814, 3818, 3822, 3826, + 3830, 3834, 3838, 3852, 3856, 3860, 3864, 3868, 3872, 3876, + 3880, 3884, 3888, 3892, 3896, 3900, 3911, 3922, 3926, 3930, + 3934, 3938, 3942, 3946, 3950, 3954, 3958, 3962, 3966, 3970, + 3974, 3978, 3982, 3986, 3990, 3994, 3998, 4002, 4006, 4010, + 4014, 4018, 4022, 4026, 4030, 4034, 4038, 4045, 4049, 4053, + 4057, 4061, 4065, 4069, 4073, 4077, 4083, 4089, 4097, 4101, + 4105, 4109, 4116, 4126, 4132, 4138, 4148, 4160, 4168, 4172, + 4202, 4206, 4210, 4214, 4218, 4222, 4228, 4232, 4236, 4240, + 4244, 4255, 4259, 4263, 4267, 4275, 4279, 4283, 4289, 4300 }; #endif -#if YYDEBUG || YYERROR_VERBOSE || 0 +/** Accessing symbol of state STATE. */ +#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) + +#if YYDEBUG || 0 +/* The user-facing name of the symbol whose (internal) number is + YYSYMBOL. No bounds checking. */ +static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; + /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { - "$end", "error", "$undefined", "REAL", "INTEGER", "CHAR_TOK", - "SIMPLE_STRING", "SIMPLE_IDENTIFIER", "STRING_LITERAL", "CUSTOM_LITERAL", - "IDENTIFIER", "TYPENAME_IDENTIFIER", "TYPEPACK_IDENTIFIER", "SCOPING", - "TYPEDEFNAME", "ELLIPSIS", "OROR", "ANDAND", "EQCOMPARE", "NECOMPARE", - "LECOMPARE", "GECOMPARE", "LSHIFT", "RSHIFT", "POINTSAT_STAR", - "DOT_STAR", "UNARY", "UNARY_NOT", "UNARY_NEGATE", "UNARY_MINUS", - "UNARY_PLUS", "UNARY_STAR", "UNARY_REF", "POINTSAT", "SCOPE", "PLUSPLUS", - "MINUSMINUS", "TIMESEQUAL", "DIVIDEEQUAL", "MODEQUAL", "PLUSEQUAL", - "MINUSEQUAL", "OREQUAL", "ANDEQUAL", "XOREQUAL", "LSHIFTEQUAL", - "RSHIFTEQUAL", "ATTR_LEFT", "ATTR_RIGHT", "KW_ALIGNAS", "KW_ALIGNOF", - "KW_AUTO", "KW_BEGIN_PUBLISH", "KW_BLOCKING", "KW_BOOL", "KW_CATCH", - "KW_CHAR", "KW_CHAR16_T", "KW_CHAR32_T", "KW_CLASS", "KW_CONST", - "KW_CONSTEXPR", "KW_CONST_CAST", "KW_DECLTYPE", "KW_DEFAULT", - "KW_DELETE", "KW_DOUBLE", "KW_DYNAMIC_CAST", "KW_ELSE", "KW_END_PUBLISH", - "KW_ENUM", "KW_EXTENSION", "KW_EXTERN", "KW_EXPLICIT", "KW_PUBLISHED", - "KW_FALSE", "KW_FINAL", "KW_FLOAT", "KW_FRIEND", "KW_FOR", "KW_GOTO", - "KW_HAS_VIRTUAL_DESTRUCTOR", "KW_IF", "KW_INLINE", "KW_INT", - "KW_IS_ABSTRACT", "KW_IS_BASE_OF", "KW_IS_CLASS", "KW_IS_CONSTRUCTIBLE", - "KW_IS_CONVERTIBLE_TO", "KW_IS_DESTRUCTIBLE", "KW_IS_EMPTY", - "KW_IS_ENUM", "KW_IS_FINAL", "KW_IS_FUNDAMENTAL", "KW_IS_POD", - "KW_IS_POLYMORPHIC", "KW_IS_STANDARD_LAYOUT", "KW_IS_TRIVIAL", - "KW_IS_UNION", "KW_LONG", "KW_MAKE_MAP_KEYS_SEQ", "KW_MAKE_MAP_PROPERTY", - "KW_MAKE_PROPERTY", "KW_MAKE_PROPERTY2", "KW_MAKE_SEQ", - "KW_MAKE_SEQ_PROPERTY", "KW_MUTABLE", "KW_NAMESPACE", "KW_NEW", - "KW_NOEXCEPT", "KW_NULLPTR", "KW_OPERATOR", "KW_OVERRIDE", "KW_PRIVATE", - "KW_PROTECTED", "KW_PUBLIC", "KW_REGISTER", "KW_REINTERPRET_CAST", - "KW_RETURN", "KW_SHORT", "KW_SIGNED", "KW_SIZEOF", "KW_STATIC", - "KW_STATIC_ASSERT", "KW_STATIC_CAST", "KW_STRUCT", "KW_TEMPLATE", - "KW_THREAD_LOCAL", "KW_THROW", "KW_TRUE", "KW_TRY", "KW_TYPEDEF", - "KW_TYPEID", "KW_TYPENAME", "KW_UNDERLYING_TYPE", "KW_UNION", - "KW_UNSIGNED", "KW_USING", "KW_VIRTUAL", "KW_VOID", "KW_VOLATILE", - "KW_WCHAR_T", "KW_WHILE", "START_CPP", "START_CONST_EXPR", "START_TYPE", - "'{'", "','", "';'", "':'", "'='", "'?'", "'|'", "'^'", "'&'", "'<'", - "'>'", "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", "'.'", "'('", "'['", - "')'", "'}'", "'!'", "']'", "$accept", "grammar", "cpp", + "\"end of file\"", "error", "\"invalid token\"", "REAL", "INTEGER", + "CHAR_TOK", "SIMPLE_STRING", "SIMPLE_IDENTIFIER", "STRING_LITERAL", + "CUSTOM_LITERAL", "IDENTIFIER", "TYPENAME_IDENTIFIER", + "TYPEPACK_IDENTIFIER", "SCOPING", "TYPEDEFNAME", "ELLIPSIS", "OROR", + "ANDAND", "EQCOMPARE", "NECOMPARE", "LECOMPARE", "GECOMPARE", "LSHIFT", + "RSHIFT", "POINTSAT_STAR", "DOT_STAR", "UNARY", "UNARY_NOT", + "UNARY_NEGATE", "UNARY_MINUS", "UNARY_PLUS", "UNARY_STAR", "UNARY_REF", + "POINTSAT", "SCOPE", "PLUSPLUS", "MINUSMINUS", "TIMESEQUAL", + "DIVIDEEQUAL", "MODEQUAL", "PLUSEQUAL", "MINUSEQUAL", "OREQUAL", + "ANDEQUAL", "XOREQUAL", "LSHIFTEQUAL", "RSHIFTEQUAL", "ATTR_LEFT", + "ATTR_RIGHT", "KW_ALIGNAS", "KW_ALIGNOF", "KW_AUTO", "KW_BEGIN_PUBLISH", + "KW_BLOCKING", "KW_BOOL", "KW_CATCH", "KW_CHAR", "KW_CHAR16_T", + "KW_CHAR32_T", "KW_CLASS", "KW_CONST", "KW_CONSTEXPR", "KW_CONST_CAST", + "KW_DECLTYPE", "KW_DEFAULT", "KW_DELETE", "KW_DOUBLE", "KW_DYNAMIC_CAST", + "KW_ELSE", "KW_END_PUBLISH", "KW_ENUM", "KW_EXTENSION", "KW_EXTERN", + "KW_EXPLICIT", "KW_PUBLISHED", "KW_FALSE", "KW_FINAL", "KW_FLOAT", + "KW_FRIEND", "KW_FOR", "KW_GOTO", "KW_HAS_VIRTUAL_DESTRUCTOR", "KW_IF", + "KW_INLINE", "KW_INT", "KW_IS_ABSTRACT", "KW_IS_BASE_OF", "KW_IS_CLASS", + "KW_IS_CONSTRUCTIBLE", "KW_IS_CONVERTIBLE_TO", "KW_IS_DESTRUCTIBLE", + "KW_IS_EMPTY", "KW_IS_ENUM", "KW_IS_FINAL", "KW_IS_FUNDAMENTAL", + "KW_IS_POD", "KW_IS_POLYMORPHIC", "KW_IS_STANDARD_LAYOUT", + "KW_IS_TRIVIAL", "KW_IS_UNION", "KW_LONG", "KW_MAKE_MAP_KEYS_SEQ", + "KW_MAKE_MAP_PROPERTY", "KW_MAKE_PROPERTY", "KW_MAKE_PROPERTY2", + "KW_MAKE_SEQ", "KW_MAKE_SEQ_PROPERTY", "KW_MUTABLE", "KW_NAMESPACE", + "KW_NEW", "KW_NOEXCEPT", "KW_NULLPTR", "KW_OPERATOR", "KW_OVERRIDE", + "KW_PRIVATE", "KW_PROTECTED", "KW_PUBLIC", "KW_REGISTER", + "KW_REINTERPRET_CAST", "KW_RETURN", "KW_SHORT", "KW_SIGNED", "KW_SIZEOF", + "KW_STATIC", "KW_STATIC_ASSERT", "KW_STATIC_CAST", "KW_STRUCT", + "KW_TEMPLATE", "KW_THREAD_LOCAL", "KW_THROW", "KW_TRUE", "KW_TRY", + "KW_TYPEDEF", "KW_TYPEID", "KW_TYPENAME", "KW_UNDERLYING_TYPE", + "KW_UNION", "KW_UNSIGNED", "KW_USING", "KW_VIRTUAL", "KW_VOID", + "KW_VOLATILE", "KW_WCHAR_T", "KW_WHILE", "START_CPP", "START_CONST_EXPR", + "START_TYPE", "'{'", "','", "';'", "':'", "'='", "'?'", "'|'", "'^'", + "'&'", "'<'", "'>'", "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", "'.'", + "'('", "'['", "')'", "'}'", "'!'", "']'", "$accept", "grammar", "cpp", "constructor_inits", "constructor_init", "extern_c", "$@1", "declaration", "friend_declaration", "$@2", "storage_class", - "attribute_specifiers", "attribute_specifier", "type_like_declaration", - "$@3", "$@4", "multiple_instance_identifiers", "typedef_declaration", - "$@5", "typedef_instance_identifiers", "constructor_prototype", "$@6", - "$@7", "$@8", "function_prototype", "$@9", "$@10", "$@11", "$@12", - "$@13", "function_post", "function_operator", - "more_template_declaration", "template_declaration", "$@14", - "template_formal_parameters", "template_nonempty_formal_parameters", - "typename_keyword", "template_formal_parameter", - "template_formal_parameter_type", "instance_identifier", "$@15", + "optional_attributes", "attribute_specifiers", "attribute_specifier", + "type_like_declaration", "$@3", "$@4", "multiple_instance_identifiers", + "typedef_declaration", "$@5", "typedef_instance_identifiers", + "constructor_prototype", "$@6", "$@7", "$@8", "function_prototype", + "$@9", "$@10", "$@11", "$@12", "$@13", "function_post", + "function_operator", "more_template_declaration", "template_declaration", + "$@14", "template_formal_parameters", + "template_nonempty_formal_parameters", "typename_keyword", + "template_formal_parameter", "template_formal_parameter_type", + "instance_identifier", "$@15", "instance_identifier_and_maybe_trailing_return_type", "maybe_trailing_return_type", "maybe_comma_identifier", "function_parameter_list", "function_parameters", @@ -1164,1095 +1147,1128 @@ static const char *const yytname[] = "capture_list", "capture", "class_derivation_name", "name", "name_no_final", "string_literal", "empty", YY_NULLPTR }; + +static const char * +yysymbol_name (yysymbol_kind_t yysymbol) +{ + return yytname[yysymbol]; +} #endif -# ifdef YYPRINT -/* YYTOKNUM[NUM] -- (External) token number corresponding to the - (internal) symbol number NUM (which must be that of a token). */ -static const yytype_int16 yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 123, 44, 59, - 58, 61, 63, 124, 94, 38, 60, 62, 43, 45, - 42, 47, 37, 126, 46, 40, 91, 41, 125, 33, - 93 -}; -# endif - -#define YYPACT_NINF (-930) +#define YYPACT_NINF (-937) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-761) +#define YYTABLE_NINF (-765) #define yytable_value_is_error(Yyn) \ 0 - /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const yytype_int16 yypact[] = { - 199, -930, 3781, 6132, 47, 5432, -930, -930, -930, -930, - -930, -930, -930, -930, -102, -97, -86, -79, -73, -57, - -7, -47, 2, -930, -930, -2, 7, 25, 36, 74, - 100, 103, 109, 118, 131, 140, 156, 176, 189, 197, - 206, 216, 222, 226, 6383, -930, -930, 28, 235, 239, - 2701, 250, -930, 247, 270, 272, 3781, 3781, 3781, 3781, - 3781, 2372, 1705, 3781, 5269, -930, 224, -930, -930, -930, - -930, -930, -930, -930, -930, 6243, 275, -930, -19, -930, - -930, 4712, 1168, 1168, -930, 7033, 292, -930, 1168, -930, - -930, 187, 187, -930, -930, -930, -930, 314, 48, -930, - -930, -930, -930, -930, -930, 6083, 300, -930, 7314, 7314, - 7314, -930, 7314, 5779, 7314, 320, -930, 7299, 307, 328, - 330, 332, 334, 341, 7314, 4160, 365, 371, 382, 7314, - 7314, 379, 7106, 7314, 7314, 5386, 7314, 7314, -930, -930, - -930, -930, 4851, -930, -930, -930, -930, -930, 3781, 3781, - 6132, 3781, 3781, 3781, 3781, 6132, 3781, 6132, 3781, 6132, - 3781, 6132, 6132, 6132, 6132, 6132, 6132, 6132, 6132, 6132, - 6132, 6132, 6132, 6132, 6132, 6132, 3781, -930, -930, 380, - 7033, 402, 405, 7033, -930, -930, 6132, 3781, 3781, 406, - 2372, 56, 6132, 2372, 3781, 3781, 56, 56, 56, 56, - 56, -102, -86, -79, -73, -57, -47, -2, 25, 1462, - 5571, 6995, 7050, 272, 249, -98, 5269, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, 7033, - 7033, -114, 421, -930, -930, 56, 3781, 3781, 3781, 3781, - 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, - 3781, 3781, 3781, 3781, 3781, 3781, 7033, 2836, 3781, -930, - -930, 187, 187, 2971, -930, -930, -930, 1168, -930, -930, - -930, -930, 6132, -930, 414, 938, 298, 187, 187, 298, - 298, 5546, 319, -930, 409, -930, -930, -930, -930, -930, - -930, 1401, 426, 3885, -930, 7033, 529, 430, 415, 2560, - 5806, 7314, -930, -930, -930, -930, 7314, -930, -930, -930, - -930, 7199, 5722, -930, 7033, 7033, 7033, 7033, 7033, 7033, - -930, -930, 432, -930, -930, -930, -930, -930, 3781, -930, - 4943, -930, 425, -930, 5030, -930, 7033, 214, -930, -930, - 256, 419, -930, 420, 6272, 7033, 433, -930, 7033, -930, - 208, 437, -930, -930, -930, -930, 2895, -930, -930, 422, - 434, -930, 435, 436, 440, 441, 444, 446, 443, 449, - 461, 459, 460, 464, 472, 453, 474, -96, 480, 476, - 477, 481, 482, 483, 484, 485, 486, 488, 489, 491, - 3781, -930, 6132, 3781, -930, 6231, 490, 494, 495, 7033, - 497, 508, 499, 4555, 501, 509, 3781, 3781, -930, 582, - -930, 313, 510, 3781, -930, -930, 1767, 5599, 2015, 2015, - 905, 905, 705, 705, -930, 3128, 1547, 2133, 5631, 905, - 905, 281, 281, 56, 56, 56, -930, -930, -83, 2391, - -930, -930, 511, 4711, 512, 298, 514, 517, 7033, 298, - 298, 298, 298, 298, 515, -930, 319, -930, 319, -930, - 515, 515, -930, 298, 6083, 6156, 6045, 298, 298, 518, - 8, -930, 934, 273, -930, 3781, 7033, 522, -930, -930, - -930, -930, 1401, -6, -4, 17, 6083, 526, 18, -930, - -930, -930, 549, 7314, 6083, 3916, -102, 536, 5099, -930, - -930, -930, 557, 558, 560, 562, 565, 572, 573, 6515, - -930, 4210, 5882, 237, 540, 208, -930, -930, 585, -930, - 6132, -930, 31, 3106, 6470, 1096, -930, 6132, -930, 574, - 229, -930, -930, 1748, -930, -930, 760, -930, 590, 3885, - -930, -930, -930, -930, -930, -930, -930, 578, -930, 581, - -930, -930, -930, -930, 6132, -930, 6132, -930, 6132, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - 5157, 586, 587, -930, 583, -930, -930, 591, 4056, 584, - -930, -930, -930, -930, 56, 5269, -930, 7033, 421, 5913, - 4642, -930, 5269, 3781, -930, -930, -930, -930, -930, 515, - 298, -930, 515, 515, 515, 515, 515, 3781, -71, 709, - 6243, 934, 273, -930, 253, 293, -930, -930, 6014, 600, - 934, 934, 934, 934, 934, 934, 19, -930, -930, 606, - 7033, 273, 273, 273, 273, 273, 273, 107, 598, 5269, - -930, 30, -930, 622, 727, 2560, -930, 704, 6083, -930, - -930, -930, -930, -930, -930, -930, -930, 616, 626, 628, - -930, -930, 6383, -930, -930, 630, 4629, 631, -930, 623, - 3781, 3781, 3781, 3781, 2372, 3781, 624, 12, -930, -930, - 5366, -930, 224, -930, 7314, 7314, 6588, -930, 779, 780, - 783, 786, 787, 790, -930, -930, 342, 653, -930, -930, - -930, -930, 4912, -930, 648, 659, 7022, -930, 1178, -930, - -930, 9, -930, 760, -930, 660, 5913, 643, 651, 760, - 5913, 647, 5178, 1096, 655, 1096, 1096, 1096, 1096, 1096, - 209, -930, -930, 649, 6661, -930, -930, -930, 7033, 417, - -930, 654, -930, 670, 672, 3241, 3398, 663, 760, 760, - 4783, 760, 760, 760, 760, -930, 91, 266, -930, 1401, - -930, 3781, 3781, 657, 658, 662, -930, -930, -930, 3781, - -930, 3781, -930, 667, -930, 6359, 6083, -930, -930, -930, - -930, -930, -930, 661, -930, -930, 683, -930, 5269, 515, - 668, 675, 6045, 934, 273, 19, 107, 676, 677, 4642, - -930, -930, 934, 671, 671, 671, 671, 671, 325, 3781, - -930, 273, -930, 678, 678, 678, 678, 678, 335, 3781, - -930, 679, -930, 3781, -930, 680, 5196, 6734, -930, 698, - -930, -930, 6132, 6132, 6132, 684, 6132, 685, 2372, 98, - 6132, 2372, 56, 56, 56, 56, 687, -63, 56, -930, - -930, 4191, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, - 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, - 3781, 3781, 7033, 3376, 3781, -930, -930, -930, -930, 707, - -42, 708, 710, 712, 713, 6807, 43, -930, 1178, 7272, - 5882, 7033, 723, 715, 1178, 1178, 1178, 1178, 1178, 1178, - 116, 678, -930, 266, -930, 711, 714, 760, 77, 716, - -930, -930, 353, 1096, 718, 718, 718, 718, 718, -930, - 3781, -930, -930, 5913, 721, 378, -930, -90, 732, 733, - -930, 2203, -930, -930, -930, 3241, 722, 728, 5269, -930, - -930, 760, 377, 377, 876, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, 724, 730, -930, -930, 377, 377, 377, 265, 3781, - -930, 3781, -930, 1748, 756, -930, 622, -38, -29, -930, - -930, -930, -22, 6, -930, 6383, 187, 859, 519, -930, - -930, 5913, -930, 19, 107, -930, -930, 5913, 5913, -930, - 671, 744, 741, 678, 748, 751, 3668, -930, -930, -930, - 4275, 771, 775, -930, 759, 772, 773, 3781, 778, 7033, - 765, 782, 769, 5214, 3781, -930, -930, -930, 1767, 5599, - 2015, 2015, 905, 905, 705, 705, -930, 5251, 1547, 2133, - 5631, 905, 905, 281, 281, 56, 56, 56, -930, -930, - 44, 2719, 6880, 930, 931, 794, 942, 804, -930, 943, - 944, 951, -930, 816, 116, 678, -930, -930, -930, -930, - -930, -930, 6132, 1178, 4432, -930, -930, 825, -930, -930, - -930, 289, 809, -930, -930, 718, 5913, 805, 811, -930, - -930, 7033, 3781, 3781, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, - -930, -930, -930, -930, -930, -930, 819, -930, 3511, 377, - -930, -930, -930, -930, 5269, 3916, 814, 3398, 760, -930, - -930, -930, -930, 4642, 187, -930, -930, -930, 4, 827, - 812, -930, -930, 826, 829, 5913, -930, 5913, -930, -930, - 5796, 5873, 6458, 7033, 362, -930, -930, 983, -930, 4275, - -930, 836, 839, 840, 841, 844, 4056, 843, -930, -930, - 56, 3781, -930, -930, -930, 851, 51, -930, 871, 872, - 66, 853, 81, -930, -930, -930, 857, 874, 884, 885, - 4332, 886, 4432, 4432, 4432, 4432, 4432, 2372, 4432, 4864, - -930, 760, 4998, 5913, 863, -930, 4998, 5913, 862, -930, - -930, 875, -930, 878, 877, 1946, -930, 3241, 5269, 881, - -930, -930, 902, -930, 883, -930, -930, -930, -930, -930, - 889, 890, 4659, -930, 4659, -930, 4659, -930, -930, 4659, - 4659, 4659, -930, 6953, -930, 3781, 3781, -930, 3781, -930, - 3781, 5269, 909, 1050, 913, 1062, -930, 1063, 925, 927, - 1067, 929, 6132, 6132, 6132, 6132, 914, 2372, 129, 6132, - 129, 129, 129, 129, 129, 915, 86, 129, 4432, 4432, - 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, 4432, - 4432, 4432, 4432, 4432, 4432, 4432, 7033, 3646, 3781, -930, - 917, -930, 5913, 918, -930, 4998, -930, -930, 1065, -930, - 919, -930, -930, -930, 4642, 4642, 4642, -930, -930, -930, - -930, -930, -930, -930, -930, -930, 87, 92, 141, 150, - -930, 933, -930, 921, 945, -930, -930, 162, -930, 923, - 939, 940, 946, 7033, 924, 953, 4432, -930, 5424, 5615, - 571, 571, 966, 966, 873, 873, -930, 1261, 5656, 1613, - 375, 798, 798, 129, 129, 129, -930, -930, 168, 3935, - -930, 5913, 928, -930, 4998, -930, -930, 4998, 932, -930, - -930, -930, 4998, 4998, -930, -930, -930, -930, 1076, 947, - 952, 1105, 1106, 969, -930, 955, 956, 957, 967, 4532, - 958, 129, 4432, -930, -930, 4998, 968, -930, 4998, -930, - -930, 987, -930, 970, 170, -930, 3781, 3781, 3781, -930, - 3781, 4864, -930, 4642, -930, 990, 1131, 993, 171, 179, - 182, 184, 4642, -930, -930, 976, -930, -930, -930, -930, - -930, -930, 995, -930 + 244, -937, 4264, 6409, 71, 5678, -937, -937, -937, -937, + -937, -937, -937, -937, -55, 45, 63, 73, 81, 101, + -41, 109, -12, -937, -937, 114, 119, 143, 148, 152, + 156, 164, 169, 176, 186, 209, 221, 240, 245, 251, + 257, 267, 270, 282, 6660, -937, -937, -2, 298, 306, + 2561, 215, -937, 317, 319, 333, 4264, 4264, 4264, 4264, + 4264, 2904, 554, 4264, 5515, -937, 87, -937, -937, -937, + -937, -937, -937, -937, -937, 6520, 339, -937, -6, -937, + -937, 5170, 5582, 5582, -937, 5373, 343, -937, 5582, -937, + -937, 323, 323, -937, -937, -937, -937, 366, 77, -937, + -937, -937, -937, -937, -937, 6442, 355, -937, 7566, 7566, + 7566, -937, 7566, 5998, 7566, 373, -937, 2485, 362, 368, + 369, 371, 372, 375, 7566, 4368, 385, 391, 393, 7566, + 7566, 379, 7391, 7566, 7566, 5879, 7566, 7566, -937, -937, + -937, -937, 5097, -937, -937, -937, -937, -937, 4264, 4264, + 6409, 4264, 4264, 4264, 4264, 6409, 4264, 6409, 4264, 6409, + 4264, 6409, 6409, 6409, 6409, 6409, 6409, 6409, 6409, 6409, + 6409, 6409, 6409, 6409, 6409, 6409, 4264, -937, -937, 381, + 5373, 383, 388, 5373, -937, -937, 6409, 4264, 4264, 390, + 2904, 132, 6409, 2904, 4264, 4264, 132, 132, 132, 132, + 132, -55, 63, 73, 81, 101, 109, 114, 143, 337, + 3091, 6420, 6808, 333, 348, -104, 5515, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, 5373, + 5373, -108, 399, -937, -937, 132, 4264, 4264, 4264, 4264, + 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, + 4264, 4264, 4264, 4264, 4264, 4264, 5373, 3319, 4264, -937, + -937, 323, 323, 3454, -937, -937, -937, 5582, -937, -937, + -937, -937, 6409, -937, 396, 320, 332, 323, 323, 332, + 332, 5792, 403, -937, 405, -937, -937, -937, -937, -937, + -937, 5238, 407, 3378, -937, 5373, 524, 426, 410, 3044, + 6025, 7566, -937, -937, -937, -937, 7566, -937, -937, -937, + -937, 7484, 4643, -937, 5373, 5373, 5373, 5373, 5373, 5373, + -937, -937, 429, -937, -937, -937, -937, -937, 4264, -937, + 5189, -937, 423, -937, 5276, -937, 5373, 301, -937, -937, + 160, 415, -937, 416, 6549, 5373, 420, -937, 5373, -937, + 17, 437, -937, -937, -937, -937, 1627, -937, -937, 419, + 440, -937, 427, 428, 430, 431, 435, 438, 433, 439, + 447, 442, 445, 446, 452, 459, 453, -88, 475, 457, + 460, 461, 465, 468, 469, 472, 473, 478, 484, 489, + 4264, -937, 6409, 4264, -937, 7372, 485, 490, 492, 5373, + 493, 504, 496, 4418, 497, 509, 4264, 4264, -937, 614, + -937, 1364, 506, 4264, -937, -937, 1514, 5676, 5119, 5119, + 927, 927, 704, 704, -937, 3202, 1693, 5722, 5852, 927, + 927, 92, 92, 132, 132, 132, -937, -937, -73, 2082, + -937, -937, 511, 4693, 512, 332, 332, 6442, 515, 436, + -937, 403, -937, 403, -937, 436, 436, -937, 332, 6442, + 6433, 6322, 332, 332, 514, 36, -937, 413, 532, -937, + 4264, 5373, 520, -937, -937, -937, -937, 5238, -50, -33, + -29, 6442, 517, -28, -937, -937, -937, 540, 7566, 6442, + 4399, -55, 526, 5345, -937, -937, -937, 527, 543, 546, + 550, 551, 552, 553, 6852, -937, 1990, 6101, 268, 537, + 17, -937, -937, 555, -937, 6409, -937, 14, 3589, 6747, + 1222, -937, 6409, -937, 538, 350, -937, -937, 3184, -937, + -937, 128, -937, 556, 3378, -937, -937, -937, -937, -937, + -937, -937, 547, -937, 548, -937, -937, -937, -937, 6409, + -937, 6409, -937, 6409, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, 5403, 544, 558, -937, 559, + -937, -937, 562, 4539, 568, -937, -937, -937, -937, 132, + 5515, -937, 5373, 399, 6201, 1891, -937, 5515, 4264, -937, + -937, -937, -937, -937, 436, 549, 669, 3044, 561, 5373, + 332, 436, 436, 332, 332, 573, -937, 573, 573, 436, + 670, 6520, 413, 532, -937, 436, 436, -937, -937, 6293, + 581, 332, 413, 413, 332, 332, 413, 79, 332, -937, + 583, 5373, 332, 532, 532, 332, 332, 532, 206, 576, + 5515, -937, -83, -937, 572, 699, 3044, -937, 672, 6442, + -937, -937, -937, -937, -937, -937, -937, -937, 584, 594, + 596, -937, -937, 6660, -937, -937, 597, 1831, 598, -937, + 599, 4264, 4264, 4264, 4264, 2904, 4264, 592, 44, -937, + -937, 5612, -937, 87, -937, 7566, 7566, 6925, -937, 751, + 752, 755, 756, 760, 761, -937, -937, 462, 618, -937, + -937, -937, -937, 6133, -937, 616, 626, 7366, -937, 222, + -937, -937, 9, -937, 128, -937, 628, 6201, 608, 620, + 128, 6201, 611, 5424, 1222, 623, 332, 1222, 1222, 332, + 332, -84, 332, -937, 617, 6998, -937, -937, -937, 5373, + -7, -937, 619, -937, 640, 643, 3724, 3611, 637, 332, + 128, 5029, 128, 332, 332, 128, -937, 178, 358, 332, + 5238, -937, 4264, 4264, 634, 635, 641, -937, -937, -937, + 4264, -937, 4264, -937, 645, -937, 6636, 6442, -937, -937, + -937, -937, -937, -937, 649, -937, -937, 663, -937, 5515, + 573, 332, 648, 5442, 332, 332, 436, 573, 573, 436, + 436, 4264, -64, 6322, 413, 532, 79, 206, 4, 54, + 1891, -937, -937, 332, 413, 654, 654, 413, 413, 273, + 4264, -937, -937, 332, 332, 532, 655, 655, 532, 532, + 310, 4264, -937, 332, -937, 4264, -937, 656, 5460, 7071, + -937, 677, -937, -937, 6409, 6409, 6409, 657, 6409, 664, + 2904, 234, 6409, 2904, 132, 132, 132, 132, 665, -62, + 132, -937, -937, 4674, 4264, 4264, 4264, 4264, 4264, 4264, + 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, + 4264, 4264, 4264, 4264, 5373, 3859, 4264, -937, -937, -937, + -937, 683, -24, 685, 688, 689, 693, 7144, 48, -937, + 222, 7557, 6101, 5373, 691, 684, 332, 222, 222, 332, + 332, 222, 214, 655, -937, 358, -937, 676, 681, 128, + 262, 680, -937, -937, 345, 332, 1222, 690, 690, 1222, + 1222, -937, 4264, -937, -937, -937, 6201, 682, 370, -937, + 13, 700, 702, -937, 2736, -937, -937, -937, 3724, 686, + 712, 5515, -937, -937, 332, 128, 365, 851, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, 705, 697, -937, 332, 365, 128, + 128, 279, 4264, -937, 4264, -937, 3184, 725, -937, -937, + 572, -21, -18, -937, -937, -937, -11, 47, -937, 6660, + 323, 826, 239, -937, -937, 332, 332, 436, -937, 573, + 573, 573, 706, 710, -937, 79, 206, -937, -937, 713, + 714, -937, 413, 654, 654, 654, 716, 717, 532, -937, + 655, 655, 655, 718, 720, 727, 3881, -937, -937, -937, + 6015, 735, 738, -937, 724, 737, 740, 4264, 746, 5373, + 728, 747, 741, 5497, 4264, -937, -937, -937, 1514, 5676, + 5119, 5119, 927, 927, 704, 704, -937, 4151, 1693, 5722, + 5852, 927, 927, 92, 92, 132, 132, 132, -937, -937, + 51, 2425, 7217, 895, 899, 763, 903, 753, -937, 914, + 916, 920, -937, 783, 214, 655, -937, -937, -937, -937, + -937, -937, 6409, 332, 222, 222, 222, 4814, -937, -937, + 785, -937, -937, -937, 295, 771, -937, -937, 1222, 690, + 690, 690, 6201, 770, 774, -937, -937, 5373, 4264, 4264, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, 777, -937, 3994, 128, 365, 332, -937, -937, + -937, 365, 365, -937, 5515, 4399, 772, 3611, 128, -937, + -937, -937, -937, 1891, 323, -937, -937, -937, 6, 780, + -937, -937, 573, 332, 6201, -937, -937, 6201, 6201, 654, + 6201, 332, 655, 6201, 332, -937, 6163, 6284, 6735, 5373, + 376, -937, -937, 936, -937, 6015, -937, 787, 790, 789, + 792, 794, 4539, 799, -937, -937, 132, 4264, -937, -937, + -937, 798, 52, -937, 811, 822, 75, 813, 76, -937, + -937, -937, 222, 816, 827, 829, 830, 2183, 831, 4814, + 4814, 4814, 4814, 4814, 2904, 4814, 4937, -937, 128, 1020, + 6201, 817, -937, 1020, 6201, 690, 821, 332, -937, 825, + -937, 828, 823, 2353, -937, 3724, 5515, 365, -937, 835, + 332, -937, 847, -937, 838, -937, -937, -937, 842, 843, + 848, 849, -937, 853, -937, 6777, -937, 6777, -937, 6777, + -937, -937, 6777, 6777, 6777, -937, 7290, -937, 4264, 4264, + -937, 4264, -937, 4264, 5515, 869, 1011, 874, 1019, -937, + 1021, 881, 887, 1022, 894, 6409, 6409, 6409, 6409, 896, + 2904, 248, 6409, 248, 248, 248, 248, 248, 893, 88, + 248, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, + 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 5373, + 4129, 4264, -937, 897, -937, 6201, 898, -937, -937, 1020, + -937, -937, 1047, -937, 900, -937, -937, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, + -937, 111, 122, 123, 127, -937, 915, -937, 904, 922, + -937, -937, 139, -937, 905, 917, 921, 925, 5373, 912, + 937, 4814, -937, 1435, 5103, 2019, 2019, 1384, 1384, 757, + 757, -937, 956, 5875, 5902, 1347, 488, 488, 248, 248, + 248, -937, -937, 166, 2923, -937, 6201, 930, -937, 1020, + -937, -937, 1020, 931, 1891, 1891, 1891, 1020, 1020, -937, + -937, -937, -937, 1088, 933, 953, 1093, 1094, 958, -937, + 940, 947, 954, 961, 4914, 964, 248, 4814, -937, -937, + 1020, 965, -937, 1020, -937, -937, -937, -937, -937, 987, + -937, 971, 170, -937, 4264, 4264, 4264, -937, 4264, 4937, + -937, 1891, -937, 990, 1130, 993, 175, 191, 211, 218, + 1891, -937, -937, 976, -937, -937, -937, -937, -937, -937, + 995, -937 }; - /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE does not specify something else to do. Zero - means the default is an error. */ +/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ static const yytype_int16 yydefact[] = { - 0, 765, 0, 0, 0, 765, 5, 653, 649, 652, - 761, 762, 655, 656, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 651, 657, 0, 0, 0, 0, 0, + 0, 769, 0, 0, 0, 769, 5, 657, 653, 656, + 765, 766, 659, 660, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 655, 661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 659, 658, 0, 0, 0, - 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 765, 0, 3, 590, 654, 300, 311, 310, - 394, 395, 397, 398, 379, 0, 0, 409, 376, 408, - 403, 400, 399, 402, 380, 0, 0, 381, 401, 411, - 396, 765, 765, 4, 302, 303, 304, 0, 365, 765, - 299, 391, 392, 393, 1, 0, 0, 21, 765, 765, - 765, 22, 765, 765, 765, 0, 42, 765, 0, 0, - 0, 0, 0, 0, 765, 0, 0, 0, 0, 765, - 765, 0, 765, 765, 765, 0, 765, 765, 6, 17, - 7, 19, 0, 15, 16, 18, 73, 44, 765, 765, - 0, 765, 765, 765, 765, 0, 765, 0, 765, 0, - 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 765, 326, 332, 0, - 0, 0, 614, 0, 765, 325, 0, 765, 765, 0, - 0, 611, 0, 0, 765, 765, 623, 621, 620, 622, - 619, 300, 394, 395, 397, 398, 409, 408, 403, 400, - 399, 402, 401, 396, 0, 0, 549, 746, 747, 748, - 756, 749, 752, 750, 754, 753, 751, 755, 735, 736, - 0, 0, 765, 741, 734, 618, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 663, 662, 0, 0, 0, + 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 769, 0, 3, 594, 658, 304, 315, 314, + 398, 399, 401, 402, 383, 0, 0, 413, 380, 412, + 407, 404, 403, 406, 384, 0, 0, 385, 405, 415, + 400, 769, 769, 4, 306, 307, 308, 0, 369, 769, + 303, 395, 396, 397, 1, 0, 0, 21, 769, 769, + 769, 22, 769, 769, 769, 0, 42, 769, 0, 0, + 0, 0, 0, 0, 769, 0, 0, 0, 0, 769, + 769, 0, 769, 769, 769, 0, 769, 769, 6, 17, + 7, 19, 0, 15, 16, 18, 77, 44, 769, 769, + 0, 769, 769, 769, 769, 0, 769, 0, 769, 0, + 769, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 769, 330, 336, 0, + 0, 0, 618, 0, 769, 329, 0, 769, 769, 0, + 0, 615, 0, 0, 769, 769, 627, 625, 624, 626, + 623, 304, 398, 399, 401, 402, 413, 412, 407, 404, + 403, 406, 405, 400, 0, 0, 553, 750, 751, 752, + 760, 753, 756, 754, 758, 757, 755, 759, 739, 740, + 0, 0, 769, 745, 738, 622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 763, - 764, 765, 765, 0, 377, 378, 410, 400, 405, 404, - 407, 301, 0, 406, 0, 286, 765, 765, 765, 765, - 765, 765, 0, 335, 285, 337, 765, 757, 758, 759, - 760, 0, 367, 0, 339, 0, 0, 62, 64, 0, - 765, 765, 56, 45, 55, 57, 765, 46, 154, 51, - 23, 765, 0, 49, 0, 0, 0, 0, 0, 0, - 54, 765, 0, 26, 25, 24, 52, 48, 0, 158, - 0, 157, 0, 58, 0, 20, 0, 0, 50, 53, - 334, 313, 324, 0, 0, 0, 0, 13, 0, 70, - 0, 333, 67, 315, 316, 317, 365, 765, 312, 0, - 548, 547, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 767, + 768, 769, 769, 0, 381, 382, 414, 404, 409, 408, + 411, 305, 0, 410, 0, 290, 769, 769, 769, 769, + 769, 769, 0, 339, 289, 341, 769, 761, 762, 763, + 764, 0, 371, 0, 343, 0, 0, 66, 68, 0, + 769, 769, 56, 45, 55, 57, 769, 46, 158, 51, + 23, 769, 0, 49, 0, 0, 0, 0, 0, 0, + 54, 769, 0, 26, 25, 24, 52, 48, 0, 162, + 0, 161, 0, 58, 0, 20, 0, 0, 50, 53, + 338, 317, 328, 0, 0, 0, 0, 13, 0, 74, + 0, 337, 71, 319, 320, 321, 369, 769, 316, 0, + 552, 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 327, 0, 765, 329, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 648, 739, - 742, 0, 765, 0, 737, 214, 632, 633, 634, 635, - 636, 637, 640, 641, 647, 0, 629, 630, 631, 638, - 639, 627, 628, 624, 625, 626, 646, 645, 0, 0, - 336, 338, 0, 0, 0, 765, 287, 0, 276, 765, - 765, 765, 765, 765, 292, 275, 0, 288, 0, 289, - 291, 290, 199, 765, 0, 0, 0, 765, 765, 0, - 200, 203, 765, 0, 198, 765, 373, 0, 370, 369, - 364, 368, 0, 746, 747, 748, 0, 0, 750, 343, - 305, 345, 0, 765, 0, 765, 313, 0, 0, 47, - 43, 765, 0, 0, 0, 0, 0, 0, 0, 765, - 382, 0, 765, 334, 313, 0, 333, 76, 0, 388, - 0, 81, 85, 0, 0, 765, 314, 0, 765, 0, - 0, 412, 221, 0, 72, 69, 0, 320, 367, 0, - 597, 596, 613, 603, 599, 601, 602, 0, 609, 0, - 608, 662, 598, 663, 0, 665, 0, 666, 0, 669, - 670, 671, 672, 673, 674, 675, 676, 677, 678, 605, - 0, 0, 0, 328, 0, 604, 607, 0, 610, 0, - 616, 617, 606, 600, 591, 550, 740, 0, 765, 765, - 765, 98, 215, 0, 644, 643, 308, 307, 309, 293, - 765, 277, 282, 278, 279, 281, 280, 765, 0, 0, - 0, 765, 0, 240, 0, 0, 765, 202, 0, 0, - 765, 765, 765, 765, 765, 765, 765, 254, 253, 0, - 264, 0, 0, 0, 0, 0, 0, 765, 0, 546, - 545, 374, 363, 306, 0, 0, 765, 765, 0, 59, - 63, 727, 723, 726, 729, 730, 206, 0, 0, 0, - 725, 731, 0, 733, 732, 0, 0, 0, 724, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 242, 210, - 243, 679, 728, 205, 765, 765, 765, 384, 0, 0, - 0, 0, 0, 0, 386, 765, 0, 0, 175, 176, - 177, 163, 0, 164, 0, 160, 165, 161, 765, 174, - 159, 0, 78, 0, 390, 0, 765, 0, 0, 0, - 765, 0, 0, 765, 0, 765, 765, 765, 765, 765, - 0, 245, 244, 0, 765, 87, 412, 216, 0, 0, - 71, 0, 765, 0, 0, 765, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 68, 765, 765, 178, 0, - 318, 0, 0, 0, 0, 0, 330, 331, 615, 0, - 612, 0, 738, 0, 105, 0, 0, 99, 107, 102, - 106, 101, 103, 0, 100, 104, 0, 193, 642, 283, - 0, 0, 0, 765, 0, 765, 765, 0, 0, 765, - 201, 204, 765, 259, 255, 256, 258, 257, 0, 765, - 234, 0, 265, 270, 266, 267, 269, 268, 0, 765, - 237, 294, 371, 0, 340, 0, 0, 765, 348, 765, - 347, 66, 0, 0, 0, 689, 0, 0, 0, 686, - 0, 0, 697, 696, 695, 694, 0, 0, 693, 65, - 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 331, 0, 769, 333, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 652, 743, + 746, 0, 769, 0, 741, 218, 636, 637, 638, 639, + 640, 641, 644, 645, 651, 0, 633, 634, 635, 642, + 643, 631, 632, 628, 629, 630, 650, 649, 0, 0, + 340, 342, 0, 0, 0, 769, 769, 0, 0, 769, + 62, 0, 292, 0, 293, 769, 769, 203, 769, 0, + 0, 0, 769, 769, 0, 204, 207, 769, 0, 202, + 769, 377, 0, 374, 373, 368, 372, 0, 750, 751, + 752, 0, 0, 754, 347, 309, 349, 0, 769, 0, + 769, 317, 0, 0, 47, 43, 769, 0, 0, 0, + 0, 0, 0, 0, 769, 386, 0, 769, 338, 317, + 0, 337, 80, 0, 392, 0, 85, 89, 0, 0, + 769, 318, 0, 769, 0, 0, 416, 225, 0, 76, + 73, 0, 324, 371, 0, 601, 600, 617, 607, 603, + 605, 606, 0, 613, 0, 612, 666, 602, 667, 0, + 669, 0, 670, 0, 673, 674, 675, 676, 677, 678, + 679, 680, 681, 682, 609, 0, 0, 0, 332, 0, + 608, 611, 0, 614, 0, 620, 621, 610, 604, 595, + 554, 744, 0, 769, 769, 769, 102, 219, 0, 648, + 647, 312, 311, 313, 769, 291, 0, 0, 0, 280, + 769, 769, 769, 769, 769, 296, 279, 295, 294, 769, + 0, 0, 769, 0, 244, 769, 769, 769, 206, 0, + 0, 769, 769, 769, 769, 769, 769, 769, 769, 257, + 0, 268, 769, 0, 0, 769, 769, 0, 769, 0, + 550, 549, 378, 367, 310, 0, 0, 769, 769, 0, + 59, 67, 731, 727, 730, 733, 734, 210, 0, 0, + 0, 729, 735, 0, 737, 736, 0, 0, 0, 728, + 0, 0, 0, 0, 0, 0, 0, 0, 211, 246, + 214, 247, 683, 732, 209, 769, 769, 769, 388, 0, + 0, 0, 0, 0, 0, 390, 769, 0, 0, 179, + 180, 181, 167, 0, 168, 0, 164, 169, 165, 769, + 178, 163, 0, 82, 0, 394, 0, 769, 0, 0, + 0, 769, 0, 0, 769, 0, 769, 769, 769, 769, + 769, 0, 769, 248, 0, 769, 91, 416, 220, 0, + 0, 75, 0, 769, 0, 0, 769, 0, 0, 769, + 0, 0, 0, 769, 769, 0, 72, 769, 769, 769, + 0, 322, 0, 0, 0, 0, 0, 334, 335, 619, + 0, 616, 0, 742, 0, 109, 0, 0, 103, 111, + 106, 110, 105, 107, 0, 104, 108, 0, 197, 646, + 297, 769, 0, 0, 769, 769, 769, 282, 283, 769, + 769, 769, 0, 0, 769, 0, 769, 769, 0, 0, + 769, 205, 208, 769, 769, 259, 260, 769, 769, 0, + 769, 238, 258, 769, 769, 0, 270, 271, 0, 0, + 0, 769, 241, 769, 375, 0, 344, 0, 0, 769, + 352, 769, 351, 70, 0, 0, 0, 693, 0, 0, + 0, 690, 0, 0, 701, 700, 699, 698, 0, 0, + 697, 69, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 61, 60, 387, 765, 0, - 0, 765, 0, 0, 0, 765, 0, 41, 765, 765, - 0, 168, 166, 0, 765, 765, 765, 765, 765, 765, - 765, 172, 77, 765, 389, 0, 0, 0, 0, 0, - 322, 321, 0, 765, 250, 246, 247, 249, 248, 93, - 765, 323, 14, 765, 0, 0, 8, 0, 0, 0, - 222, 413, 414, 224, 225, 765, 0, 228, 230, 227, - 223, 0, 185, 181, 0, 122, 123, 124, 125, 126, - 127, 130, 131, 146, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 150, 149, 133, 132, - 119, 121, 120, 128, 129, 117, 118, 114, 115, 116, - 113, 0, 0, 112, 179, 182, 184, 183, 0, 0, - 189, 765, 191, 0, 0, 74, 319, 0, 0, 664, - 667, 668, 0, 0, 765, 0, 765, 0, 0, 412, - 284, 765, 241, 765, 765, 235, 238, 765, 765, 295, - 260, 263, 0, 271, 274, 0, 375, 342, 341, 344, - 0, 0, 350, 349, 0, 0, 0, 765, 0, 0, - 0, 0, 0, 0, 0, 722, 208, 211, 706, 707, - 708, 709, 710, 711, 714, 715, 721, 0, 703, 704, - 705, 712, 713, 701, 702, 698, 699, 700, 720, 719, - 0, 0, 765, 0, 0, 0, 0, 0, 196, 0, - 0, 0, 383, 0, 765, 173, 153, 151, 156, 152, - 162, 169, 0, 765, 0, 170, 212, 0, 79, 765, - 83, 0, 0, 765, 95, 251, 765, 0, 0, 217, - 412, 0, 765, 765, 219, 220, 416, 417, 421, 418, - 426, 419, 420, 422, 423, 424, 425, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 494, 475, 476, 477, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 765, 538, 539, 540, 531, 543, 527, 528, - 526, 533, 534, 522, 523, 524, 525, 532, 530, 537, - 535, 541, 536, 529, 542, 415, 0, 226, 229, 186, - 180, 148, 147, 188, 192, 765, 0, 215, 0, 594, - 593, 595, 592, 765, 765, 194, 111, 108, 0, 0, - 0, 236, 239, 0, 0, 765, 261, 765, 272, 372, - 754, 0, 753, 0, 0, 351, 353, 743, 765, 0, - 688, 0, 0, 0, 0, 0, 685, 0, 691, 692, - 680, 0, 718, 717, 385, 0, 0, 33, 197, 0, - 0, 0, 0, 40, 171, 167, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, - 551, 0, 82, 765, 0, 89, 86, 765, 0, 252, - 765, 0, 9, 0, 0, 0, 231, 765, 232, 0, - 187, 75, 0, 195, 0, 109, 660, 765, 765, 765, - 0, 0, 0, 356, 0, 355, 0, 354, 744, 0, - 0, 0, 745, 765, 352, 0, 0, 690, 0, 687, - 0, 716, 0, 0, 0, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, - 566, 564, 563, 565, 562, 0, 0, 561, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 61, 60, 391, + 769, 0, 0, 769, 0, 0, 0, 769, 0, 41, + 769, 769, 0, 172, 170, 0, 769, 769, 769, 769, + 769, 769, 769, 176, 81, 769, 393, 0, 0, 0, + 0, 0, 326, 325, 0, 769, 769, 250, 251, 769, + 769, 97, 769, 249, 327, 14, 769, 0, 0, 8, + 0, 0, 0, 226, 417, 418, 228, 229, 769, 0, + 232, 234, 231, 227, 769, 0, 185, 0, 126, 127, + 128, 129, 130, 131, 134, 135, 150, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 154, + 153, 137, 136, 123, 125, 124, 132, 133, 121, 122, + 118, 119, 120, 117, 0, 0, 116, 769, 186, 0, + 0, 0, 0, 193, 769, 195, 0, 0, 78, 182, + 323, 0, 0, 668, 671, 672, 0, 0, 769, 0, + 769, 0, 0, 416, 63, 769, 769, 769, 281, 286, + 285, 284, 0, 0, 245, 769, 769, 239, 242, 0, + 0, 299, 769, 263, 262, 261, 267, 0, 0, 269, + 274, 273, 272, 278, 0, 298, 379, 346, 345, 348, + 0, 0, 354, 353, 0, 0, 0, 769, 0, 0, + 0, 0, 0, 0, 0, 726, 212, 215, 710, 711, + 712, 713, 714, 715, 718, 719, 725, 0, 707, 708, + 709, 716, 717, 705, 706, 702, 703, 704, 724, 723, + 0, 0, 769, 0, 0, 0, 0, 0, 200, 0, + 0, 0, 387, 0, 769, 177, 157, 155, 160, 156, + 166, 173, 0, 769, 769, 769, 769, 0, 174, 216, + 0, 83, 769, 87, 0, 0, 769, 99, 769, 254, + 253, 252, 769, 0, 0, 221, 416, 0, 769, 769, + 223, 224, 420, 421, 425, 422, 430, 423, 424, 426, + 427, 428, 429, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, + 478, 498, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 769, 542, + 543, 544, 535, 547, 531, 532, 530, 537, 538, 526, + 527, 528, 529, 536, 534, 541, 539, 545, 540, 533, + 546, 419, 0, 230, 233, 0, 189, 769, 152, 151, + 183, 188, 187, 192, 196, 769, 0, 219, 0, 598, + 597, 599, 596, 769, 769, 198, 115, 112, 0, 0, + 65, 64, 287, 769, 769, 240, 243, 769, 769, 264, + 769, 769, 275, 769, 769, 376, 758, 0, 757, 0, + 0, 355, 357, 747, 769, 0, 692, 0, 0, 0, + 0, 0, 689, 0, 695, 696, 684, 0, 722, 721, + 389, 0, 0, 33, 201, 0, 0, 0, 0, 40, + 175, 171, 769, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 217, 555, 0, 86, + 769, 0, 93, 90, 769, 255, 0, 769, 769, 0, + 9, 0, 0, 0, 235, 769, 236, 190, 184, 0, + 769, 79, 0, 199, 0, 113, 664, 288, 0, 0, + 0, 0, 265, 0, 276, 0, 360, 0, 359, 0, + 358, 748, 0, 0, 0, 749, 769, 356, 0, 0, + 694, 0, 691, 0, 720, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, - 0, 91, 765, 0, 765, 88, 218, 12, 10, 544, - 0, 765, 412, 110, 765, 765, 765, 765, 765, 362, - 361, 360, 359, 358, 357, 346, 0, 0, 0, 0, - 36, 765, 34, 0, 0, 37, 39, 0, 29, 0, - 0, 0, 0, 0, 0, 0, 0, 589, 575, 576, - 577, 578, 579, 580, 581, 582, 588, 0, 572, 573, - 574, 570, 571, 567, 568, 569, 587, 586, 0, 0, - 765, 765, 0, 765, 94, 11, 233, 190, 0, 298, - 297, 296, 262, 273, 683, 682, 684, 681, 0, 0, - 0, 0, 0, 0, 560, 0, 0, 0, 0, 557, - 0, 552, 0, 585, 584, 84, 0, 765, 96, 661, - 197, 0, 28, 0, 0, 30, 0, 0, 0, 559, - 0, 583, 765, 765, 35, 0, 0, 0, 0, 0, - 0, 0, 765, 90, 38, 0, 31, 555, 554, 556, - 553, 92, 0, 32 + 0, 562, 0, 570, 568, 567, 569, 566, 0, 0, + 565, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 84, 0, 95, 769, 0, 769, 256, 92, + 222, 12, 10, 548, 0, 769, 191, 416, 114, 769, + 769, 769, 769, 769, 366, 365, 364, 363, 362, 361, + 350, 0, 0, 0, 0, 36, 769, 34, 0, 0, + 37, 39, 0, 29, 0, 0, 0, 0, 0, 0, + 0, 0, 593, 579, 580, 581, 582, 583, 584, 585, + 586, 592, 0, 576, 577, 578, 574, 575, 571, 572, + 573, 591, 590, 0, 0, 769, 769, 0, 769, 98, + 11, 237, 194, 0, 769, 769, 769, 266, 277, 687, + 686, 688, 685, 0, 0, 0, 0, 0, 0, 564, + 0, 0, 0, 0, 561, 0, 556, 0, 589, 588, + 88, 0, 769, 100, 665, 302, 301, 300, 201, 0, + 28, 0, 0, 30, 0, 0, 0, 563, 0, 587, + 769, 769, 35, 0, 0, 0, 0, 0, 0, 0, + 769, 94, 38, 0, 31, 559, 558, 560, 557, 96, + 0, 32 }; - /* YYPGOTO[NTERM-NUM]. */ +/* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -930, -930, -312, -930, 34, -930, -930, 835, -130, -930, - 3, -440, 500, -128, -930, -930, -109, -930, -930, -181, - -930, -930, -930, -930, 818, -930, -930, -930, -930, -930, - -595, -930, -930, -110, -930, -930, -930, -930, 263, 452, - -671, -930, -701, -694, -306, -501, -930, -95, -930, 73, - -550, -930, -502, -929, -930, -452, 308, -626, 345, -409, - 747, -82, 194, 217, -281, -633, 824, 1209, -169, -125, - -930, -122, -930, -930, -930, -930, -106, -117, -930, -475, - -930, -930, -33, -8, -930, -930, -930, -930, -28, 40, - -930, -930, -728, -930, -61, -930, -581, -121, -60, 269, - 310, 251, 520, -930, -930, 774, -857, 1161, -56, -490, - -1 + -937, -937, -320, -937, 3, -937, -937, 834, -129, -937, + 1175, 1301, -409, 503, -125, -937, -937, -145, -937, -937, + -224, -937, -937, -937, -937, 833, -937, -937, -937, -937, + -937, -533, -937, -937, -107, -937, -937, -937, -937, 254, + 454, -651, -937, -706, -740, -356, -532, -937, -133, -937, + 49, -542, -937, -495, -936, -937, -456, 302, -682, 84, + -267, 557, -81, -52, -59, -285, -650, 836, 883, -166, + -132, -937, -122, -937, -937, -937, -937, -171, -117, -937, + -458, -937, -937, -8, 20, -937, -937, -937, -937, 182, + -5, -937, -937, -728, -937, -90, -937, -659, -121, -32, + 698, 941, 507, 502, -937, -937, 765, -79, 1310, 8, + -488, -1 }; - /* YYDEFGOTO[NTERM-NUM]. */ +/* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 4, 5, 925, 926, 139, 528, 140, 141, 311, - 142, 296, 297, 143, 536, 530, 755, 335, 713, 902, - 349, 716, 1333, 720, 350, 923, 1432, 1501, 1106, 1337, - 590, 984, 1088, 144, 332, 704, 705, 706, 707, 708, - 756, 1255, 757, 786, 1077, 469, 470, 676, 677, 1095, - 414, 740, 534, 936, 937, 471, 679, 730, 803, 813, - 282, 283, 91, 92, 351, 182, 352, 93, 293, 94, - 646, 95, 647, 829, 1031, 1032, 1285, 96, 97, 480, - 476, 477, 98, 99, 145, 695, 878, 146, 100, 101, - 102, 103, 741, 742, 931, 1245, 638, 359, 360, 1531, - 216, 65, 680, 681, 231, 232, 1286, 1287, 627, 66, - 147 + 0, 4, 5, 938, 939, 139, 523, 140, 141, 311, + 142, 449, 296, 297, 143, 531, 525, 756, 335, 714, + 914, 349, 717, 1380, 721, 350, 936, 1485, 1556, 1142, + 1384, 585, 997, 1118, 144, 332, 705, 706, 707, 708, + 709, 757, 1295, 758, 787, 1107, 464, 465, 677, 678, + 1128, 414, 741, 529, 949, 950, 466, 680, 731, 815, + 826, 282, 283, 91, 92, 351, 182, 352, 93, 293, + 94, 647, 95, 648, 841, 1061, 1062, 1331, 96, 97, + 475, 471, 472, 98, 99, 145, 696, 890, 146, 100, + 101, 102, 103, 742, 743, 944, 1281, 639, 359, 360, + 1586, 216, 65, 681, 682, 231, 232, 1332, 1333, 628, + 66, 450 }; - /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule whose - number is the opposite. If YYTABLE_NINF, syntax error. */ +/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 6, 215, 329, 308, 331, 682, 1246, 643, 924, 509, - 285, 183, 903, 712, 613, 395, 185, 353, 497, 1354, - 354, 799, 718, 617, 609, 355, 790, 850, 362, 835, - 364, 365, 366, 367, 411, 369, 184, 371, 772, 373, - 264, 717, 292, 678, 718, 148, 644, 104, 908, 259, - 407, 260, 556, 516, 650, 389, 412, 1112, 287, 288, - 289, 234, 992, 149, 637, 407, 397, 398, 150, 408, - -757, 557, -758, 404, 405, 1113, 810, 942, 943, 151, - 985, 986, 987, 988, 594, 407, 152, 820, 773, 244, - 284, 284, 153, -759, -760, 607, 791, 912, 294, 914, - 915, 916, 917, 918, 1045, 1019, 1074, 265, 154, 356, - 407, 302, 303, 304, 358, 305, 307, 309, 156, 407, - 313, 268, 269, 270, 775, 1075, 407, 320, 273, 1259, - 215, 860, 326, 327, 357, 330, 333, 334, 1260, 338, - 339, -757, 1006, -758, -757, 1261, -758, 361, 361, 155, - 361, 361, 361, 361, 407, 361, 618, 361, 157, 361, - 851, 290, 1416, 158, -759, -760, 801, -759, -760, 719, - 413, 1355, 159, 1262, 353, 361, 682, 354, 822, 440, - 441, 823, 355, 294, 186, 809, 361, 361, 539, 686, - 160, 719, 407, 361, 361, 457, 459, 438, 291, 1383, - 274, 161, 275, 796, 276, 353, 886, 994, 354, 353, - 1083, 1302, 354, 355, 1387, 905, 734, 355, 1384, 909, - 256, 257, 258, 814, 815, 816, 817, 818, 1022, 1390, - 259, 415, 260, 1388, 407, 407, 1101, 491, 1025, 162, - 407, 989, 990, 991, 1102, 1015, 1016, 277, 1391, 268, - 269, 270, 273, 1477, 1514, 995, 990, 991, 413, 1515, - 284, 284, 872, 873, 874, 163, 356, 1094, 164, 261, - 1249, 358, 572, 819, 165, 455, 284, 284, 455, 455, - 474, 1269, 809, 166, 996, 478, 629, 1105, 630, 407, - 631, 357, 262, 1426, 1427, 1428, 167, 356, 407, 901, - 538, 356, 358, 307, 313, 168, 358, 268, 1516, 499, - 1522, 447, 64, 448, 244, 449, 407, 1517, 1556, 407, - 6, 169, 357, 217, 218, 219, 357, 407, 278, 1523, - 407, 481, 407, 632, 827, 1533, 1007, 1557, 1567, 1107, - 1012, 170, 279, 1, 2, 3, 1568, 280, 10, 1569, - 11, 1570, 281, 1097, 171, 531, 294, 532, 450, 533, - 191, 682, 172, 519, 825, 520, 196, 197, 198, 199, - 200, 173, 1264, 235, 919, 920, 736, 220, 737, 738, - 739, 174, 1341, 885, -97, 1014, -97, 175, -97, 221, - 222, 176, 361, 1410, 1411, 1412, 1413, 1414, 1415, 678, - 187, 1098, 1023, -97, 188, -97, 192, -97, 1416, 1263, - 1256, 591, 193, 531, 633, 532, 406, 993, 1440, 607, - 797, 521, 1108, 1363, 1365, 1367, 223, 224, 634, 225, - 990, 991, 1253, 635, 226, 194, 227, 195, 636, 451, - 263, 253, 254, 255, 455, 256, 257, 258, 455, 455, - 455, 455, 455, 452, 990, 991, 1334, 272, 453, 607, - 798, 286, 455, 1271, 1272, 299, 455, 455, 587, 731, - 310, 628, 314, 230, 640, 472, 1369, 1370, 1371, 1085, - 758, 928, 929, 491, 709, 475, 814, 815, 816, 817, - 818, 809, 1021, 315, 683, 316, 649, 317, 473, 318, - 6, 819, 1024, 403, 1332, 1449, 319, 1450, 1336, 1451, - 1270, 710, 1452, 1453, 1454, 323, 1273, 1274, 1104, 920, - 353, 324, 481, 354, 732, 1110, 1111, 6, 355, 217, - 218, 219, 325, 1421, 1422, 1423, 1424, 1425, 525, 1426, - 1427, 1428, 990, 991, 328, 390, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 1072, 392, 439, 1352, - 393, 399, 413, 443, 445, -275, 482, 493, 494, 510, - 495, 512, 407, 220, 522, 523, 535, 415, 474, 787, - 540, 1412, 1413, 1414, 1415, 221, 222, 586, 527, 455, - 547, 554, 541, 542, 1416, 1338, 640, 543, 544, 498, - 628, 545, 356, 546, 847, 591, 548, 358, 549, 628, - 628, 628, 628, 628, 628, 415, 550, 551, 558, 183, - 903, 552, 223, 224, 185, 225, 415, 357, 511, 553, - 226, 555, 227, 559, 560, 6, 830, 574, 561, 562, - 563, 564, 565, 566, 184, 567, 568, 758, 569, 611, - 472, 575, 576, 758, 578, 579, 580, 731, 582, 731, - 731, 731, 731, 731, 709, 589, 583, 600, 596, 598, - -277, 607, 612, 473, 1023, 616, 1267, 875, 876, 472, - 642, 645, 758, 758, 6, 758, 758, 758, 758, 648, - 570, 997, 998, 684, 687, 711, 688, 628, 689, 1002, - 690, 1003, 473, 691, 1508, 474, 584, 585, 723, 474, - 692, 693, 732, 592, 732, 732, 732, 732, 732, 1421, - 1422, 1423, 1424, 1425, 714, 1426, 1427, 1428, 244, 735, - 759, 932, 183, 761, 939, 1435, 762, 185, 769, 771, - 1509, 1510, 1511, 767, 768, 787, 415, 792, 770, 1086, - 802, 1087, 1444, 1445, 1446, 682, 811, 184, 821, -366, - 287, 288, 289, 747, 1360, 824, 1361, 748, 847, 1089, - 828, 832, 833, 472, 834, 639, 836, 840, 841, 879, - 880, 849, 628, 881, 415, 415, 882, 883, 787, 481, - 884, 628, 887, 678, 793, 889, 473, 890, 640, 904, - 906, 907, 472, 1070, 910, 913, 921, 626, 640, 933, - 749, 934, 930, 941, 999, 1000, 1008, 794, 1033, 1001, - 1009, 1416, 1430, 722, 1004, 473, 1433, 809, 1010, 1504, - 1011, 1017, 1018, 746, 819, -284, 1507, 1027, 1030, 1037, - 1039, 758, 1512, 1513, 1044, 1073, 1076, 731, 1079, 1563, - 1080, 1081, 709, 251, 252, 253, 254, 255, 1571, 256, - 257, 258, 750, 290, 1092, 1093, 1248, 6, 1099, 1100, - 1078, 1114, 1115, 1103, 920, 758, 1250, 628, 584, 1109, - 1247, 1251, 330, 628, 628, 628, 628, 628, 628, 1096, - 1252, 751, 415, 788, 1258, 1535, 1416, 1266, 1538, 1275, - 472, 1276, 732, 1277, 472, 752, 1293, 639, 1288, 640, - 753, 1278, 474, 1289, 1265, 754, 1290, 242, 243, 1291, - 1292, 1502, 1296, 473, 939, 1294, 1298, 473, 244, 1297, - 1305, 1306, 1553, 1307, 287, 288, 289, 619, 217, 218, - 219, 620, 1308, 1310, 1311, 826, 795, 1562, 1423, 1424, - 1425, 1312, 1426, 1427, 1428, 1313, 804, 805, 806, 807, - 808, 1309, 183, 1331, 1335, 1339, 1373, 185, 1340, 1357, - 842, 843, 844, 845, 1350, 848, 472, 1346, 1414, 1415, - 640, 1343, 1344, 1358, 621, 1356, 1359, 184, 1372, 1416, - 1536, 1375, 220, 591, 1376, 284, 1378, 1377, 1380, 473, - 474, 1379, 415, 415, 221, 222, 474, 474, 1382, 1385, - 1389, 1386, 1392, 454, 456, 458, 460, 461, 1431, 1434, - 1393, 1421, 1422, 1423, 1424, 1425, 361, 1426, 1427, 1428, - 1394, 1395, 1399, 1436, 1438, 472, 1437, 290, 1441, 1442, - 1443, 223, 224, 900, 225, 938, 1447, 1448, 1460, 226, - 1461, 227, 1462, 251, 252, 253, 254, 255, 473, 256, - 257, 258, 1463, 1464, 1465, 622, 1466, 1467, 1468, 1473, - 1505, 1518, 1476, 1096, 1500, 1503, 1540, 1506, 1520, 623, - 1524, 1529, 628, 1521, 624, 1537, 1525, 1526, 591, 625, - 1539, 1542, 591, 1527, -276, 474, 287, 288, 289, 724, - 1530, 361, 361, 725, 1541, 1543, 1544, 472, 1545, 639, - 1546, 1547, 1548, 1550, 1421, 1422, 1423, 1424, 1425, 639, - 1426, 1427, 1428, 1026, 1549, 1552, 1554, 1555, 1013, 1564, - 473, 1565, 1566, 1572, 1573, 1342, 500, 1020, 831, 1351, - 1429, 1043, 515, 1090, 888, 1519, 726, 1314, 517, 1047, - 1349, 1345, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, - 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, - 1066, 1067, 1353, 1374, 1071, 588, 839, 0, 287, 288, - 289, 893, 599, 630, 0, 894, 602, 603, 604, 605, - 606, 0, 758, 0, 0, 472, 0, 0, 0, 290, - 608, 472, 472, 0, 614, 615, 0, 0, 0, 0, - 0, 932, 70, 233, 71, 72, 73, 0, 473, 0, - 639, 0, 0, 1084, 473, 473, 0, 727, 895, 0, - 804, 805, 806, 807, 808, 938, 271, 0, 0, 0, - 0, 728, 80, 0, 683, 0, 729, 0, 0, 0, - 0, 0, 787, 284, 0, 0, 298, 1406, 267, 0, - 214, 0, 0, 0, 474, 758, 474, 1408, 1409, 1410, - 1411, 1412, 1413, 1414, 1415, 0, 322, 6, 82, 83, - 0, 290, 0, 0, 1416, 0, 337, 0, 0, 1254, - 472, 639, 0, 1257, 0, 88, 0, 0, 0, 0, - 90, 0, 0, 0, 0, 1456, 1457, 0, 1458, 896, - 1459, 0, 0, 473, 0, 0, 0, 0, 0, 0, - 0, 0, 474, 897, 0, 0, 474, 1406, 898, 591, - 0, 391, 0, 899, 394, 1330, 939, 789, 0, 0, - 0, 0, 0, 0, 1300, 0, 591, 591, 591, 363, - 0, 0, 0, 1329, 368, 0, 370, 1498, 372, 0, - 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 388, 0, 0, 0, 0, 0, - 409, 410, 0, 0, 0, 396, 0, 0, 0, 400, - 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, - 0, 1532, 479, 1417, 1418, 1419, 1420, 436, 0, 1421, - 1422, 1423, 1424, 1425, 0, 1426, 1427, 1428, 0, 0, - 0, 474, 0, 591, 0, 0, 446, 0, 1020, 0, - 591, 0, 0, 787, 787, 787, 591, 591, 0, 472, - 0, 0, 0, 0, 490, 70, 492, 71, 72, 73, - 1078, 0, 0, 0, 0, 0, 0, 0, 0, 472, - 0, 472, 473, 502, 0, 503, 504, 505, 506, 507, - 508, 444, 0, 0, 0, 80, 1558, 1559, 1560, 0, - 1561, 0, 473, 0, 473, 0, 0, 518, 0, 591, - 474, 267, 591, 0, 0, 0, 526, 0, 0, 529, - 0, 0, 0, 0, 0, 0, 70, 537, 71, 72, - 73, 82, 83, 0, 0, 0, 0, 472, 266, 0, - 0, 472, 0, 0, 0, 0, 591, 0, 88, 0, - 0, 0, 0, 90, 0, 0, 80, 0, 0, 0, - 473, 591, 787, 0, 473, 0, 573, 0, 1348, 0, - 577, 787, 267, 0, 0, 238, 239, 240, 241, 242, - 243, 1330, 233, 1330, 1330, 1330, 1330, 1330, 0, 1330, - 244, 0, 82, 83, 0, 0, 0, 0, 0, 1398, - 0, 1400, 1401, 1402, 1403, 1404, 0, 1407, 0, 88, - 0, 571, 0, 0, 90, 0, 1300, 0, 0, 601, - 0, 1381, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 472, 176, 0, 0, - 0, 1410, 1411, 1412, 1413, 1414, 1415, 641, 0, 0, - 0, 0, 0, 0, 0, 0, 1416, 298, 0, 473, - 0, 0, 0, 0, 0, 298, 0, 938, 0, 1330, - 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, - 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1478, 1479, 1480, - 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, - 1491, 1492, 1493, 1494, 1495, 472, 0, 0, 0, 0, - 760, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 0, 256, 257, 258, 0, 217, 218, 219, 473, 0, - 0, 0, 0, 0, 0, 0, 0, 1330, 0, 715, - 0, 0, 0, 0, 0, 0, 733, 0, 1499, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 409, 0, - 0, 7, 8, 9, 10, 0, 11, 12, 13, 14, - 0, 0, 0, 763, 0, 764, 0, 765, 1420, 220, - 0, 1421, 1422, 1423, 1424, 1425, 0, 1426, 1427, 1428, - 1330, 221, 222, 1330, 237, 238, 239, 240, 241, 242, - 243, 812, 0, 0, 0, 0, 0, 0, 15, 0, - 244, 1551, 16, 0, 17, 18, 19, 0, 0, 298, - 20, 0, 743, 744, 21, 22, 0, 0, 223, 224, - 0, 225, 0, 23, 24, 25, 226, 0, 227, 26, - 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 0, - 0, 0, 0, 0, 0, 0, 228, 44, 0, 45, - 229, 46, 0, 0, 0, 230, 47, 892, 48, 49, - 50, 0, 0, 51, 0, 0, 0, 0, 52, 0, - 0, 53, 0, 846, 0, 54, 0, 0, 0, 0, - 55, 0, 0, 0, 0, 745, 0, 0, 0, 927, - 0, 0, 0, 56, 0, 0, 57, 58, 59, 0, - 0, 60, 0, 61, 62, 0, 0, 63, 0, 0, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 0, 256, 257, 258, 0, 0, 0, 298, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1116, - 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, - 0, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, - 1136, 1137, 0, 0, 0, 0, 0, 0, 0, 1138, - 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, - 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 0, 0, - 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, - 1167, 1168, 1169, 1170, 1171, 0, 1172, 0, 1173, 1174, - 1175, 1176, 1177, 1178, 1179, 1180, 1181, 0, 1182, 1183, - 1184, 0, 0, 1068, 0, 240, 241, 242, 243, 0, - 0, 1034, 1035, 1036, 0, 1038, 1185, 1040, 244, 1041, - 1042, 0, 1091, 1186, 1187, 1188, 0, 1189, 1190, 1191, - 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, - 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, - 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, - 0, 0, 0, 1222, 1223, 1224, 1225, 1226, 1227, 1228, - 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, - 1239, 1240, 1241, 1242, 1439, 1243, 1244, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 504, 683, 329, 147, 614, 308, 331, 915, 937, + 353, 285, 1282, 847, 492, 713, 262, 1005, 395, 644, + 354, 1404, 719, 261, 718, 355, -761, 719, 362, 215, + 364, 365, 366, 367, 679, 369, 183, 371, 596, 373, + 411, 773, 924, -762, 407, 927, 928, -763, -764, 511, + 610, 618, 774, 264, 259, 389, 260, 941, 942, 862, + 551, 234, 412, 408, 184, 834, 397, 398, 835, 920, + 1041, 104, 645, 404, 405, 407, 268, 269, 270, 552, + 651, 931, 932, 273, 810, 821, 407, 287, 288, 289, + 284, 284, 148, 259, 589, 260, 832, -761, 294, 956, + -761, 998, 801, 1033, 1001, 1075, 292, 147, 147, 147, + 149, 147, 147, 147, -762, 155, 147, -762, -763, -764, + 265, -763, -764, 147, 1104, 244, 1020, 407, 147, 147, + 407, 147, 147, 147, 356, 147, 147, 407, 287, 288, + 289, 748, 1032, 1105, 157, 749, 1299, 361, 361, 1300, + 361, 361, 361, 361, 186, 361, 1301, 361, 215, 361, + 1148, 1047, 357, 812, 526, 244, 527, 353, 528, 720, + 801, 1039, 1054, 1405, 720, 361, 687, 354, 1149, 683, + 440, 441, 355, 294, 619, 917, 361, 361, 750, 921, + 290, 534, 863, 361, 361, 407, 452, 454, 353, 407, + 1436, 638, 353, 735, 268, 269, 270, 273, 354, 898, + 150, 776, 354, 355, 1302, 1113, 1007, 355, 1348, 1437, + 801, 1040, 468, 1440, 1443, 438, 185, 291, 151, 467, + 413, 415, 287, 288, 289, 905, 407, 631, 152, 906, + 751, 290, 1441, 1444, 1139, 820, 153, 1140, 1141, 217, + 218, 219, 253, 254, 255, 1532, 256, 257, 258, 407, + 284, 284, 268, 1008, 1037, 1038, 154, 872, 1134, 752, + 407, 407, 567, 1143, 156, 407, 284, 284, 1569, 158, + 469, 1469, 907, 753, 159, 473, 476, 1577, 754, 1570, + 1571, 356, 520, 755, 1572, 1309, 256, 257, 258, 147, + 147, 486, 1010, 220, 1286, 147, 1578, -101, 160, -101, + 147, -101, 792, 161, 407, 221, 222, 162, 1614, 357, + 6, 163, 356, 407, 358, 516, 356, 839, 1002, 164, + 217, 218, 219, 1588, 165, 290, 274, 1615, 275, 407, + 276, 166, 1625, 1003, 1004, 1296, 807, 1034, 1291, 1292, + 357, 167, 223, 224, 357, 225, 294, 413, 1626, 407, + 226, 837, 227, 908, 533, 1127, 407, 827, 1021, 1304, + 830, 192, 831, 1130, 168, 683, 897, 909, 1627, 447, + 820, 448, 910, 277, 220, 1628, 169, 911, 1, 2, + 3, 70, 361, 71, 72, 73, 221, 222, 884, 885, + 886, 613, 468, 266, 1144, 170, 1307, 679, 612, 467, + 171, 586, 1479, 1480, 1481, -101, 172, -101, 1389, -101, + 1131, 80, 173, 287, 288, 289, 620, 1003, 1004, 1135, + 621, 468, 174, 223, 224, 175, 225, 267, 467, 820, + 1046, 226, 913, 227, 1003, 1004, 1293, 176, 606, 598, + 514, 599, 515, 600, 606, 606, 1385, 82, 83, 1494, + 1003, 1004, 1381, 187, 278, 353, 629, 724, 10, 641, + 11, 188, 476, 622, 88, 354, 831, 1053, 279, 90, + 355, 358, 193, 280, 194, 1303, -280, 147, 281, 684, + 1422, 1423, 1424, 1315, 1316, 6, 601, 737, 195, 738, + 739, 740, 176, 147, 263, 526, 711, 527, 272, 1006, + 1137, 932, 358, 286, 353, 406, 358, 1146, 1147, 733, + 299, 1469, 6, 310, 354, 468, 290, 314, 732, 355, + 1003, 1004, 467, 315, 316, 323, 317, 318, 1036, 759, + 319, 324, 486, 325, 328, 630, 390, 631, 392, 632, + 413, 627, 805, 393, 623, 399, 445, 477, 1050, 804, + 468, 1051, 1052, 1402, 217, 218, 219, 467, 624, 470, + 1102, -279, 488, 625, 489, 490, 505, 602, 626, 507, + 517, 518, 415, 469, 788, 522, 530, 535, 407, 356, + 542, 603, 633, 606, 536, 537, 604, 538, 539, 1379, + 606, 606, 540, 1383, 544, 541, 543, 549, 606, 545, + 1386, 629, 546, 547, 606, 606, 586, 357, 220, 548, + 550, 629, 629, 553, 554, 629, 415, 555, 556, 581, + 221, 222, 557, 1115, 1397, 558, 559, 415, 356, 560, + 561, 827, 569, 859, 830, 562, 6, 842, 1476, 1477, + 1478, 563, 1479, 1480, 1481, 183, 564, 570, 468, 571, + 573, 574, 468, 575, 577, 467, 357, 223, 224, 467, + 225, 584, 915, 634, 688, 226, 578, 227, 591, 593, + 597, 617, 646, 184, 147, 147, 147, 635, 643, 710, + 649, 689, 636, 685, 690, 6, 806, 637, 691, 692, + 693, 694, 712, 736, 715, 228, 760, 816, 629, 229, + 819, 768, 762, 763, 230, -281, 469, 791, 803, -370, + 469, 794, 759, 733, 770, 769, 733, 733, 759, 771, + 1011, 1012, 732, 772, 147, 732, 732, 244, 1016, 801, + 1017, 813, 945, 823, 468, 952, 833, 836, 840, 844, + 845, 467, 846, 848, 852, 476, 788, 415, 759, 861, + 759, 891, 892, 759, 853, 893, 894, 899, 183, 1563, + 895, 896, 1116, 901, 902, 918, 1117, 916, 922, 358, + 919, 1322, 1408, 925, 934, 1409, 1410, 943, 1411, 946, + 1469, 1413, 947, 912, 1119, 606, 184, 954, 606, 606, + 641, 1013, 1014, 629, 468, 415, 415, 683, 1015, 788, + 1023, 467, 1018, 629, 1022, 1025, 629, 629, 859, 641, + 820, 831, 1067, 1057, 1595, 1596, 1597, 1060, 358, 1069, + 641, 1103, 1074, 1106, 451, 453, 1109, 1110, 147, 679, + 1063, 1111, 1122, 1132, 1123, 185, 1133, 1136, 1483, 1150, + 1145, 1151, 1486, 1100, 1283, 1489, 932, 1050, 1051, 1052, + 1284, 1287, 251, 252, 253, 254, 255, 1289, 256, 257, + 258, 1621, 1288, 1298, 1306, 1314, 1313, 468, 1317, 1318, + 1629, 1320, 1334, 1323, 467, 710, 1335, 1321, 1035, 6, + 1324, 1336, 1108, -288, 1337, 1342, 147, 1338, 1043, 629, + 147, 1044, 1045, 1340, 1343, 1351, 629, 629, 1344, 1352, + 629, 1129, 1353, 1354, 415, 1474, 1475, 1476, 1477, 1478, + 1355, 1479, 1480, 1481, 1356, 733, 1357, 759, 733, 733, + 1358, 641, 1359, 1378, 732, 469, 1382, 732, 732, 1305, + 1387, 1388, 1400, 64, 214, 1394, 1339, 952, 1406, 242, + 243, 1425, 1428, 1557, 1559, 1429, 1430, 1431, 185, 1438, + 244, 1432, 1562, 759, 1433, 1435, 1564, 1565, 1566, 1567, + 1568, 1439, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, + 1442, 1445, 1484, 1446, 1114, 1447, 1448, 1452, 1487, 1469, + 1492, 191, 816, 1490, 1497, 819, 1491, 196, 197, 198, + 199, 200, 1495, 641, 235, 1498, 605, 759, 759, 1499, + 1500, 183, 607, 608, 1426, 1501, 1502, 586, 1515, 284, + 1503, 1516, 1590, 1517, 1591, 1593, 606, 1391, 1392, 1518, + 1520, 1519, 1522, 363, 415, 415, 1521, 775, 368, 184, + 370, 629, 372, 1523, 374, 375, 376, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 1611, + 1531, 1528, 1560, 1573, 1555, 1558, 361, 777, 1561, 396, + 1576, 1575, 1579, 400, 1580, 401, 402, 1620, 1581, 1584, + 778, 779, 1582, 468, 710, 251, 252, 253, 254, 255, + 467, 256, 257, 258, 1585, 1322, 780, 1592, 1598, 1594, + 1599, 147, 1600, 1601, 1602, 1604, 1587, 1603, 1470, 1471, + 1472, 1473, 1605, 1129, 1474, 1475, 1476, 1477, 1478, 1606, + 1479, 1480, 1481, 629, 629, 629, 1319, 781, 1607, 1608, + 782, 586, 1610, 783, 403, 586, 1612, 733, 1613, 1622, + 1623, 469, 1624, 1630, 1631, 495, 732, 361, 361, 784, + 1390, 790, 843, 1401, 1482, 444, 1120, 900, 797, 798, + 1574, 785, 1399, 1360, 1427, 1077, 802, 510, 1393, 851, + 512, 0, 808, 809, 0, 786, 583, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 0, 0, 439, + 0, 185, 0, 0, 443, 0, 0, 0, 1043, 1044, + 1045, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1403, 0, 0, 0, 0, 0, 0, + 0, 0, 287, 288, 289, 725, 468, 0, 0, 726, + 493, 0, 0, 467, 0, 0, 0, 1416, 1418, 1420, + 0, 0, 0, 0, 0, 468, 0, 945, 468, 468, + 0, 468, 467, 0, 468, 467, 467, 0, 467, 506, + 0, 467, 0, 0, 0, 566, 0, 0, 0, 0, + 0, 0, 727, 302, 303, 304, 0, 305, 307, 309, + 0, 0, 313, 759, 684, 0, 0, 0, 0, 320, + 0, 0, 788, 284, 326, 327, 759, 330, 333, 334, + 0, 338, 339, 469, 0, 0, 469, 469, 0, 469, + 0, 468, 469, 0, 0, 468, 0, 0, 467, 0, + 0, 565, 467, 6, 0, 290, 1504, 0, 1505, 0, + 1506, 0, 1459, 1507, 1508, 1509, 0, 579, 580, 0, + 0, 0, 0, 1029, 587, 0, 1030, 1031, 0, 0, + 0, 629, 0, 728, 0, 1463, 1464, 1465, 1466, 1467, + 1468, 0, 233, 0, 217, 218, 219, 729, 0, 469, + 1469, 0, 730, 469, 0, 0, 759, 586, 0, 0, + 0, 0, 0, 0, 952, 271, 1511, 1512, 716, 1513, + 0, 1514, 0, 0, 0, 734, 1467, 1468, 0, 0, + 0, 640, 0, 0, 0, 298, 0, 1469, 1459, 0, + 0, 0, 0, 0, 0, 147, 468, 0, 220, 0, + 0, 0, 764, 467, 765, 322, 766, 0, 0, 0, + 221, 222, 0, 0, 0, 337, 1319, 0, 1553, 0, + 0, 0, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 723, + 0, 0, 0, 0, 0, 0, 0, 0, 1469, 747, + 0, 0, 0, 0, 0, 307, 313, 223, 224, 0, + 225, 494, 0, 0, 469, 226, 586, 227, 0, 0, + 391, 0, 0, 394, 586, 0, 0, 468, 586, 586, + 586, 586, 586, 0, 467, 1474, 1475, 1476, 1477, 1478, + 0, 1479, 1480, 1481, 579, 1108, 0, 0, 0, 582, + 0, 0, 0, 0, 230, 0, 0, 0, 0, 789, + 0, 237, 238, 239, 240, 241, 242, 243, 793, 409, + 410, 0, 1474, 1475, 1476, 1477, 1478, 244, 1479, 1480, + 1481, 0, 0, 0, 586, 469, 0, 586, 858, 0, + 0, 0, 0, 788, 788, 788, 436, 0, 0, 0, + 0, 0, 1616, 1617, 1618, 0, 1619, 0, 0, 0, + 455, 456, 0, 0, 1312, 446, 0, 838, 1471, 1472, + 1473, 586, 0, 1474, 1475, 1476, 1477, 1478, 0, 1479, + 1480, 1481, 0, 485, 0, 487, 0, 0, 0, 586, + 788, 0, 854, 855, 856, 857, 0, 860, 0, 788, + 0, 0, 497, 0, 498, 499, 500, 501, 502, 503, + 0, 0, 0, 0, 1377, 0, 0, 478, 479, 480, + 0, 0, 0, 0, 0, 0, 513, 0, 0, 0, + 0, 0, 0, 0, 0, 521, 0, 0, 524, 0, + 0, 0, 0, 650, 0, 0, 532, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 0, 256, 257, + 258, 0, 0, 0, 0, 0, 0, 951, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 221, 222, 568, 0, 0, 0, 572, 0, 238, 239, 240, 241, 242, 243, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 244, 0, 0, 1268, - 0, 249, 250, 251, 252, 253, 254, 255, 0, 256, - 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1295, 0, 0, 0, 0, 0, 1116, 1117, 1118, 1119, - 1120, 1121, 1122, 1123, 1124, 1125, 1126, 0, 1127, 1128, - 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 0, - 0, 0, 0, 0, 0, 0, 1138, 1139, 1140, 1141, - 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, - 1152, 1153, 1154, 1155, 1156, 0, 0, 1157, 1158, 1159, - 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, - 1170, 1171, 927, 1172, 0, 1173, 1174, 1175, 1176, 1177, - 1178, 1179, 1180, 1181, 0, 1182, 1183, 1184, 248, 249, + 0, 233, 0, 0, 0, 0, 244, 1064, 1065, 1066, + 0, 1068, 0, 1070, 0, 1071, 1072, 0, 0, 0, + 483, 224, 640, 225, 0, 0, 594, 595, 226, 0, + 227, 0, 0, 0, 0, 0, 0, 298, 0, 609, + 0, 640, 0, 615, 616, 0, 0, 0, 0, 298, + 0, 0, 640, 0, 0, 0, 1056, 291, 0, 0, + 0, 642, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 0, 0, 1073, 0, 0, 0, 0, 298, + 0, 0, 0, 0, 0, 1078, 1079, 1080, 1081, 1082, + 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, + 1093, 1094, 1095, 1096, 1097, 1376, 0, 1101, 0, 0, + 0, 0, 0, 0, 652, 653, 654, 10, 0, 11, + 655, 656, 0, 0, 761, 0, 849, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 256, 257, 258, - 0, 1315, 0, 1185, 0, 0, 0, 0, 0, 0, - 1186, 1187, 1188, 0, 1189, 1190, 1191, 1192, 1193, 1194, - 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, - 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, - 1215, 1216, 1217, 1218, 1219, 1220, 1221, 0, 0, 0, - 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, - 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, - 1242, 0, 1243, 1244, 0, 7, 8, 9, 10, 0, - 11, 12, 13, 201, 68, 0, 0, 0, 0, 0, + 887, 888, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 640, 1377, 0, 1377, 1377, 1377, 1377, + 1377, 658, 1377, 0, 0, 0, 0, 0, 0, 951, + 0, 0, 409, 659, 0, 0, 0, 0, 660, 0, + 0, 796, 0, 0, 799, 800, 661, 662, 775, 795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 0, 0, 0, 0, - 0, 0, 15, 69, 244, 0, 202, 0, 203, 204, - 205, 74, 75, 0, 20, 76, 0, 0, 206, 22, - 0, 0, 78, 0, 1368, 0, 0, 23, 24, 207, - 0, 0, 0, 26, 0, 0, 208, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 209, 0, 0, 0, 0, 0, 0, 0, - 0, 44, 0, 45, 0, 46, 0, 0, 0, 0, - 47, 0, 210, 211, 50, 0, 0, 51, 84, 0, - 0, 0, 52, 0, 0, 53, 85, 86, 87, 212, - 0, 0, 89, 0, 213, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, - 57, 58, 59, 0, 0, 60, 1405, 61, 62, 0, - 0, 63, 0, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 0, 256, 257, 258, 0, 0, - 0, 595, 0, 7, 8, 9, 10, 0, 11, 12, - 13, 496, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1469, 1470, 1471, 1472, 0, 1474, 0, 1475, 0, - 15, 342, 0, 0, 202, 0, 203, 204, 205, 74, - 0, 0, 20, 343, 0, 0, 206, 22, 0, 0, - 78, 0, 0, 0, 1528, 23, 24, 207, 0, 0, - 0, 26, 0, 0, 208, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 209, 0, 0, 0, 0, 0, 0, 0, 0, 44, - 0, 45, 0, 46, 0, 0, 0, 0, 47, 0, - 210, 211, 50, 0, 0, 51, 84, 0, 0, 0, - 52, 0, 0, 53, 345, 346, 87, 212, 0, 0, - 89, 0, 213, 0, 7, 8, 9, 10, 0, 11, - 12, 13, 14, 0, 0, 56, 189, 0, 57, 58, - 59, 0, 0, 60, 0, 61, 62, 0, 0, 63, - 0, 0, 0, 0, 0, 236, 237, 238, 239, 240, - 241, 242, 243, 0, 0, 0, 0, 0, 0, 0, - 0, 15, 244, 0, 0, 16, 0, 17, 18, 19, - 0, 0, 0, 20, 0, 0, 0, 21, 22, 0, - 0, 0, 0, 0, 0, 0, 23, 24, 25, 0, + 0, 0, 814, 0, 776, 817, 818, 0, 0, 822, + 0, 0, 0, 825, 0, 0, 828, 829, 777, 0, + 663, 824, 664, 1294, 665, 640, 0, 1297, 0, 666, + 0, 778, 779, 667, 0, 0, 668, 0, 0, 298, + 0, 669, 0, 0, 670, 0, 0, 780, 1377, 1377, + 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, + 1377, 1377, 1377, 1377, 1377, 1377, 671, 0, 0, 672, + 673, 0, 0, 0, 674, 0, 850, 0, 781, 0, + 676, 782, 0, 0, 783, 1361, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 1346, 0, 904, 0, 0, + 784, 0, 0, 244, 0, 0, 0, 926, 0, 0, + 929, 930, 785, 933, 0, 0, 0, 0, 1377, 1465, + 1466, 1467, 1468, 0, 0, 0, 786, 0, 0, 940, + 955, 0, 1469, 0, 999, 1000, 0, 0, 0, 0, + 1009, 0, 0, 0, 0, 1451, 0, 1453, 1454, 1455, + 1456, 1457, 0, 1460, 0, 0, 330, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 0, 0, + 0, 1377, 1024, 0, 1377, 1027, 1028, 0, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 0, 0, 0, + 0, 0, 0, 0, 1042, 244, 0, 0, 0, 0, + 0, 0, 0, 0, 1048, 1049, 0, 0, 0, 0, + 0, 0, 0, 0, 1055, 0, 0, 0, 697, 0, + 0, 0, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 0, 256, 257, 258, 698, 0, 1533, + 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, + 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1474, 1475, 1476, + 1477, 1478, 0, 1479, 1480, 1481, 7, 8, 9, 10, + 0, 11, 12, 13, 1098, 0, 0, 0, 1449, 0, + 0, 0, 0, 0, 0, 0, 0, 1124, 0, 0, + 1125, 1126, 0, 1121, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1396, 1138, 0, 0, 0, + 0, 0, 0, 1363, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 1364, 256, 257, 258, 0, + 1365, 0, 590, 0, 0, 1285, 0, 1458, 23, 24, + 0, 0, 0, 0, 26, 0, 0, 0, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 1346, 0, 1609, 0, 0, 1434, 0, + 0, 0, 0, 0, 45, 0, 46, 0, 1290, 0, + 0, 1366, 0, 0, 0, 1367, 0, 0, 1368, 0, + 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1310, 1311, 1524, 1525, + 1526, 1527, 1308, 1529, 0, 1530, 951, 0, 1369, 0, + 0, 1370, 1371, 1372, 0, 0, 1373, 0, 1450, 62, + 0, 0, 1375, 0, 0, 0, 1152, 1153, 1154, 1155, + 1156, 1157, 1158, 1159, 1160, 1161, 1162, 0, 1163, 1164, + 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1341, + 0, 0, 0, 0, 0, 0, 1174, 1175, 1176, 1177, + 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, + 1188, 1189, 1190, 1191, 1192, 0, 0, 1193, 1194, 1195, + 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, + 1206, 1207, 1554, 1208, 1362, 1209, 1210, 1211, 1212, 1213, + 1214, 1215, 1216, 1217, 0, 1218, 1219, 1220, 0, 0, + 0, 236, 237, 238, 239, 240, 241, 242, 243, 0, + 0, 0, 0, 1221, 0, 0, 0, 940, 244, 0, + 1222, 1223, 1224, 0, 1225, 1226, 1227, 1228, 1229, 1230, + 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, + 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, + 1251, 1252, 1253, 1254, 1255, 1256, 1257, 0, 0, 0, + 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, + 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, + 1278, 1493, 1279, 1280, 0, 0, 0, 0, 0, 0, + 0, 0, 105, 0, 106, 0, 0, 0, 108, 0, + 0, 0, 0, 0, 0, 109, 110, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 112, 300, 114, 0, + 0, 0, 0, 0, 7, 8, 9, 10, 301, 11, + 12, 13, 14, 0, 0, 0, 189, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 1398, 256, + 257, 258, 124, 312, 0, 1349, 0, 0, 0, 0, + 0, 0, 129, 0, 0, 0, 0, 0, 130, 0, + 0, 15, 0, 133, 1407, 16, 0, 17, 18, 19, + 0, 0, 1412, 20, 136, 1414, 137, 21, 22, 0, + 0, 0, 0, 0, 0, 0, 23, 24, 25, 1421, 0, 0, 26, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, 0, 0, 47, - 0, 48, 49, 50, 0, 0, 51, 0, 0, 0, - 0, 52, 0, 0, 53, 0, 0, 0, 54, 7, - 8, 9, 10, 55, 11, 12, 13, 14, 0, 0, + 0, 48, 49, 50, 0, 0, 51, 0, 1488, 0, + 0, 52, 0, 0, 53, 0, 0, 0, 54, 0, + 0, 1496, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 57, 58, 59, 0, 0, 60, 0, 190, 62, 0, 0, - 63, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 0, 256, 257, 258, 15, 0, 0, 1303, - 16, 0, 17, 18, 19, 0, 0, 0, 20, 0, - 0, 0, 21, 22, 0, 483, 484, 485, 0, 0, - 0, 23, 24, 25, 0, 0, 0, 26, 0, 0, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, - 0, 0, 0, 0, 47, 0, 48, 49, 50, 220, - 0, 51, 0, 0, 0, 0, 52, 0, 0, 53, - 0, 221, 222, 54, 7, 8, 9, 10, 55, 11, - 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 56, 0, 0, 57, 58, 59, 0, 0, 60, - 0, 61, 62, 437, 0, 63, 0, 0, 488, 224, - 0, 225, 0, 0, 0, 0, 226, 0, 227, 0, - 0, 15, 442, 0, 0, 16, 0, 17, 18, 19, - 0, 0, 0, 20, 0, 0, 0, 21, 22, 0, - 0, 0, 0, 0, 0, 291, 23, 24, 25, 0, - 0, 0, 26, 0, 0, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 45, 0, 46, 0, 0, 0, 0, 47, - 0, 48, 49, 50, 0, 0, 51, 0, 0, 0, - 0, 52, 0, 0, 53, 0, 0, 0, 54, 7, - 8, 9, 10, 55, 11, 12, 13, 14, 0, 0, - 0, 0, 0, 0, 0, 0, 56, 0, 0, 57, - 58, 59, 0, 0, 60, 0, 61, 62, 0, 0, - 63, 0, 0, 0, 236, 237, 238, 239, 240, 241, - 242, 243, 0, 0, 0, 0, 15, 721, 0, 0, - 16, 244, 17, 18, 19, 0, 0, 0, 20, 0, - 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, - 0, 23, 24, 25, 0, 0, 0, 26, 0, 0, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, - 0, 0, 0, 0, 47, 0, 48, 49, 50, 0, - 0, 51, 0, 0, 0, 0, 52, 0, 0, 53, - 0, 0, 0, 54, 7, 8, 9, 10, 55, 11, - 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 56, 0, 0, 57, 58, 59, 0, 0, 60, - 0, 61, 62, 0, 0, 63, 0, 0, 593, 0, + 63, 0, 0, 0, 0, 0, 0, 0, 0, 1152, + 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, + 0, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, + 1172, 1173, 0, 0, 0, 0, 0, 0, 0, 1174, + 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, + 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 0, 1551, + 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, + 1203, 1204, 1205, 1206, 1207, 0, 1208, 0, 1209, 1210, + 1211, 1212, 1213, 1214, 1215, 1216, 1217, 0, 1218, 1219, + 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1221, 0, 1583, 0, + 0, 0, 0, 1222, 1223, 1224, 0, 1225, 1226, 1227, + 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, + 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, + 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, + 0, 0, 0, 1258, 1259, 1260, 1261, 1262, 1263, 1264, + 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, + 1275, 1276, 1277, 1278, 0, 1279, 1280, 7, 8, 9, + 10, 0, 11, 12, 13, 201, 68, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 0, 0, + 0, 0, 0, 0, 15, 69, 244, 0, 202, 0, + 203, 204, 205, 74, 75, 0, 20, 76, 0, 0, + 206, 22, 0, 0, 78, 0, 0, 0, 0, 23, + 24, 207, 0, 0, 0, 26, 0, 0, 208, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 209, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, + 0, 0, 47, 0, 210, 211, 50, 0, 0, 51, + 84, 0, 0, 0, 52, 0, 0, 53, 85, 86, + 87, 212, 0, 0, 89, 0, 213, 7, 8, 9, + 10, 0, 11, 12, 13, 491, 0, 0, 0, 56, + 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, + 62, 0, 0, 63, 0, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 0, 256, 257, 258, + 0, 0, 0, 1589, 15, 342, 0, 0, 202, 0, + 203, 204, 205, 74, 0, 0, 20, 343, 0, 0, + 206, 22, 0, 0, 78, 0, 0, 0, 0, 23, + 24, 207, 0, 0, 0, 26, 0, 0, 208, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 209, 70, 0, 71, 72, 73, + 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, + 0, 0, 47, 0, 210, 211, 50, 0, 0, 51, + 84, 0, 0, 0, 52, 80, 0, 53, 345, 346, + 87, 212, 0, 0, 89, 0, 213, 7, 8, 9, + 10, 267, 11, 12, 13, 14, 0, 0, 0, 56, + 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, + 62, 82, 83, 63, 0, 0, 0, 0, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 0, 88, 0, + 0, 0, 0, 90, 15, 244, 0, 0, 16, 0, + 17, 18, 19, 0, 0, 0, 20, 0, 744, 745, + 21, 22, 0, 0, 0, 0, 187, 0, 0, 23, + 24, 25, 0, 0, 0, 26, 0, 0, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, + 0, 0, 47, 0, 48, 49, 50, 0, 0, 51, + 0, 0, 0, 0, 52, 0, 0, 53, 0, 0, + 0, 54, 7, 8, 9, 10, 55, 11, 12, 13, + 14, 746, 0, 0, 0, 0, 0, 0, 0, 56, + 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, + 62, 0, 588, 63, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 0, 256, 257, 258, 15, + 0, 0, 0, 16, 0, 17, 18, 19, 0, 0, + 0, 20, 0, 0, 0, 21, 22, 0, 478, 479, + 480, 0, 0, 0, 23, 24, 25, 0, 0, 0, + 26, 0, 0, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 0, 0, 0, 0, 0, 481, 0, 482, 44, 0, + 45, 0, 46, 0, 0, 0, 0, 47, 0, 48, + 49, 50, 220, 0, 51, 0, 0, 0, 0, 52, + 0, 0, 53, 0, 221, 222, 54, 7, 8, 9, + 10, 55, 11, 12, 13, 14, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 0, 0, 57, 58, 59, + 0, 0, 60, 0, 61, 62, 437, 0, 63, 0, + 0, 483, 224, 0, 225, 0, 0, 0, 0, 226, + 0, 227, 0, 0, 15, 442, 0, 0, 16, 0, + 17, 18, 19, 0, 0, 0, 20, 0, 0, 0, + 21, 22, 0, 0, 0, 484, 0, 0, 0, 23, + 24, 25, 0, 0, 0, 26, 0, 0, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, + 0, 0, 47, 0, 48, 49, 50, 0, 0, 51, + 0, 0, 0, 0, 52, 0, 0, 53, 0, 0, + 0, 54, 7, 8, 9, 10, 55, 11, 12, 13, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 56, + 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, + 62, 0, 0, 63, 0, 0, 0, 236, 237, 238, + 239, 240, 241, 242, 243, 0, 0, 0, 0, 15, + 722, 0, 0, 16, 244, 17, 18, 19, 0, 0, + 0, 20, 0, 0, 0, 21, 22, 0, 0, 0, + 0, 0, 0, 0, 23, 24, 25, 0, 0, 0, + 26, 0, 0, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 45, 0, 46, 0, 0, 0, 0, 47, 0, 48, + 49, 50, 0, 0, 51, 0, 0, 0, 0, 52, + 0, 0, 53, 0, 0, 0, 54, 7, 8, 9, + 10, 55, 11, 12, 13, 14, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 0, 0, 57, 58, 59, + 0, 0, 60, 0, 61, 62, 0, 0, 63, 0, + 953, 0, 0, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 15, 256, 257, 258, 16, 0, + 17, 18, 19, 0, 0, 0, 20, 0, 0, 0, + 21, 22, 0, 0, 0, 0, 0, 0, 0, 23, + 24, 25, 0, 0, 0, 26, 0, 0, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, + 0, 0, 47, 0, 48, 49, 50, 0, 0, 51, + 0, 0, 0, 0, 52, 0, 0, 53, 0, 0, + 0, 54, 7, 8, 9, 10, 55, 11, 12, 13, + 14, 948, 0, 0, 0, 0, 0, 0, 0, 56, + 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, + 62, 0, 0, 63, 0, 0, 0, 236, 237, 238, + 239, 240, 241, 242, 243, 0, 0, 0, 0, 15, + 0, 0, 0, 16, 244, 17, 18, 19, 0, 0, + 0, 20, 0, 0, 0, 21, 22, 0, 0, 0, + 0, 0, 0, 0, 23, 24, 25, 0, 0, 0, + 26, 0, 0, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 45, 0, 46, 0, 0, 0, 0, 47, 0, 48, + 49, 50, 0, 0, 51, 0, 0, 0, 0, 52, + 0, 0, 53, 0, 0, 0, 54, 7, 8, 9, + 10, 55, 11, 12, 13, 14, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 0, 0, 57, 58, 59, + 0, 0, 60, 0, 61, 62, 1099, 0, 63, 1325, + 0, 0, 0, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 15, 256, 257, 258, 16, 0, + 17, 18, 19, 0, 0, 0, 20, 0, 0, 0, + 21, 22, 0, 0, 0, 0, 0, 0, 0, 23, + 24, 25, 0, 0, 0, 26, 0, 0, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, + 0, 0, 47, 0, 48, 49, 50, 0, 0, 51, + 0, 0, 0, 0, 52, 0, 0, 53, 0, 0, + 0, 54, 7, 8, 9, 10, 55, 11, 12, 13, + 14, 1395, 0, 0, 0, 0, 0, 0, 0, 56, + 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, + 62, 0, 0, 63, 0, 0, 0, 236, 237, 238, + 239, 240, 241, 242, 243, 0, 0, 0, 0, 15, + 0, 0, 0, 16, 244, 17, 18, 19, 0, 0, + 0, 20, 0, 0, 0, 21, 22, 0, 0, 0, + 0, 0, 0, 0, 23, 24, 25, 0, 0, 0, + 26, 0, 0, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 45, 0, 46, 0, 0, 0, 0, 47, 0, 48, + 49, 50, 0, 0, 51, 0, 0, 0, 0, 52, + 0, 0, 53, 0, 0, 0, 54, 7, 8, 9, + 10, 55, 11, 12, 13, 14, 0, 0, 0, 0, + 0, 0, 0, 0, 56, 0, 0, 57, 58, 59, + 0, 0, 60, 0, 61, 62, 1552, 0, 63, 0, + 0, 1347, 0, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 255, 15, 256, 257, 258, 16, 0, + 17, 18, 19, 0, 0, 0, 20, 0, 0, 0, + 21, 22, 0, 0, 0, 0, 0, 0, 0, 23, + 24, 25, 0, 0, 0, 26, 0, 0, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 45, 0, 46, 217, 218, + 219, 0, 47, 0, 48, 49, 50, 0, 0, 51, + 0, 0, 0, 0, 52, 0, 0, 53, 0, 0, + 0, 54, 652, 653, 654, 10, 55, 11, 655, 656, + 67, 68, 0, 0, 657, 0, 0, 0, 0, 56, + 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, + 62, 0, 220, 63, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 0, 221, 222, 459, 0, 0, 658, + 69, 244, 0, 70, 0, 71, 72, 73, 74, 460, + 0, 659, 76, 0, 0, 77, 660, 0, 0, 78, + 0, 0, 0, 0, 661, 662, 79, 0, 0, 0, + 0, 223, 224, 80, 225, 0, 0, 0, 0, 226, + 0, 227, 0, 0, 0, 0, 0, 0, 0, 81, + 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, + 664, 0, 665, 0, 0, 321, 461, 666, 0, 82, + 83, 667, 0, 0, 668, 84, 0, 0, 0, 669, + 0, 0, 670, 85, 86, 87, 88, 0, 0, 89, + 0, 90, 7, 8, 9, 10, 0, 11, 12, 13, + 14, 0, 0, 0, 671, 0, 0, 672, 673, 0, + 0, 0, 674, 0, 675, 0, 0, 0, 676, 0, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 15, 256, 257, 258, 16, 0, 17, 18, 19, - 0, 0, 0, 20, 0, 0, 0, 21, 22, 0, - 0, 0, 0, 0, 0, 0, 23, 24, 25, 0, - 0, 0, 26, 0, 0, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 45, 0, 46, 0, 0, 0, 0, 47, - 0, 48, 49, 50, 0, 0, 51, 0, 0, 0, - 0, 52, 0, 0, 53, 0, 0, 0, 54, 7, - 8, 9, 10, 55, 11, 12, 13, 14, 935, 0, - 0, 0, 0, 0, 0, 0, 56, 0, 0, 57, - 58, 59, 0, 0, 60, 0, 61, 62, 0, 0, - 63, 0, 0, 0, 236, 237, 238, 239, 240, 241, - 242, 243, 0, 0, 0, 0, 15, 0, 0, 0, - 16, 244, 17, 18, 19, 0, 0, 0, 20, 0, - 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, - 0, 23, 24, 25, 0, 0, 0, 26, 0, 0, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, - 0, 0, 0, 0, 47, 0, 48, 49, 50, 0, - 0, 51, 0, 0, 0, 0, 52, 0, 0, 53, - 0, 0, 0, 54, 7, 8, 9, 10, 55, 11, - 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 56, 0, 0, 57, 58, 59, 0, 0, 60, - 0, 61, 62, 1069, 0, 63, 0, 940, 0, 0, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 15, 256, 257, 258, 16, 0, 17, 18, 19, - 0, 0, 0, 20, 0, 0, 0, 21, 22, 0, - 0, 0, 0, 0, 0, 0, 23, 24, 25, 0, - 0, 0, 26, 0, 0, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 45, 0, 46, 0, 0, 0, 0, 47, - 0, 48, 49, 50, 0, 0, 51, 0, 0, 0, - 0, 52, 0, 0, 53, 0, 0, 0, 54, 7, - 8, 9, 10, 55, 11, 12, 13, 14, 1347, 0, - 0, 0, 0, 0, 0, 0, 56, 0, 0, 57, - 58, 59, 0, 0, 60, 0, 61, 62, 0, 0, - 63, 0, 0, 0, 236, 237, 238, 239, 240, 241, - 242, 243, 0, 0, 0, 0, 15, 0, 0, 0, - 16, 244, 17, 18, 19, 0, 0, 0, 20, 0, - 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, - 0, 23, 24, 25, 0, 0, 0, 26, 0, 0, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, - 0, 0, 0, 0, 47, 0, 48, 49, 50, 0, - 0, 51, 0, 0, 0, 0, 52, 0, 0, 53, - 0, 0, 0, 54, 7, 8, 9, 10, 55, 11, - 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 56, 0, 0, 57, 58, 59, 0, 0, 60, - 0, 61, 62, 1497, 0, 63, 1279, 0, 0, 0, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 15, 256, 257, 258, 16, 0, 17, 18, 19, - 0, 0, 0, 20, 0, 0, 0, 21, 22, 0, - 0, 0, 0, 0, 0, 0, 23, 24, 25, 0, - 0, 0, 26, 0, 0, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 45, 0, 46, 483, 484, 485, 0, 47, - 0, 48, 49, 50, 0, 0, 51, 0, 0, 0, - 0, 52, 0, 0, 53, 0, 0, 0, 54, 651, - 652, 653, 10, 55, 11, 654, 655, 67, 68, 0, - 0, 656, 486, 0, 487, 0, 56, 0, 0, 57, - 58, 59, 0, 0, 60, 0, 61, 62, 0, 220, - 63, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 0, 221, 222, 464, 0, 0, 657, 69, 244, 0, - 70, 0, 71, 72, 73, 74, 465, 0, 658, 76, - 0, 0, 77, 659, 0, 0, 78, 0, 0, 0, - 0, 660, 661, 79, 0, 0, 0, 0, 488, 224, - 80, 225, 0, 0, 0, 0, 226, 0, 227, 0, - 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 662, 0, 663, 0, 664, - 0, 0, 489, 466, 665, 0, 82, 83, 666, 0, - 0, 667, 84, 0, 0, 0, 668, 0, 0, 669, - 85, 86, 87, 88, 0, 0, 89, 0, 90, 7, - 8, 9, 10, 0, 11, 12, 13, 14, 0, 0, - 0, 670, 0, 0, 671, 672, 0, 0, 0, 673, - 0, 674, 0, 0, 0, 675, 0, 245, 246, 247, + 255, 0, 256, 257, 258, 576, 0, 0, 0, 15, + 0, 0, 0, 16, 0, 17, 18, 19, 0, 0, + 0, 20, 0, 0, 0, 21, 22, 0, 0, 0, + 0, 0, 0, 0, 23, 24, 25, 0, 0, 0, + 26, 0, 0, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, + 45, 0, 46, 217, 218, 219, 0, 47, 0, 48, + 49, 50, 0, 0, 51, 0, 0, 0, 0, 52, + 0, 0, 53, 0, 0, 0, 54, 652, 653, 654, + 10, 55, 11, 655, 656, 67, 68, 0, 0, 1076, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 60, 0, 61, 62, 0, 220, 63, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 0, 221, + 222, 459, 0, 0, 658, 69, 244, 0, 70, 0, + 71, 72, 73, 74, 460, 0, 659, 76, 0, 0, + 77, 660, 0, 0, 78, 0, 0, 0, 0, 661, + 662, 79, 0, 0, 0, 0, 223, 224, 80, 225, + 0, 0, 0, 0, 226, 0, 227, 0, 0, 0, + 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 663, 0, 664, 0, 665, 0, 0, + 496, 461, 666, 0, 82, 83, 667, 0, 0, 668, + 84, 0, 0, 0, 669, 0, 0, 670, 85, 86, + 87, 88, 0, 0, 89, 0, 90, 7, 8, 9, + 10, 0, 11, 12, 13, 0, 0, 0, 0, 671, + 0, 0, 672, 673, 0, 0, 0, 674, 0, 675, + 0, 0, 0, 676, 0, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 0, 256, 257, 258, + 592, 0, 0, 0, 1363, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1364, 0, 0, 0, + 0, 1365, 0, 0, 0, 0, 0, 0, 0, 23, + 24, 0, 0, 0, 0, 26, 0, 0, 0, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 0, 0, 0, 7, 8, 9, + 10, 0, 11, 12, 13, 45, 0, 46, 0, 0, + 0, 0, 1366, 0, 0, 0, 1367, 0, 0, 1368, + 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, + 0, 0, 0, 1461, 1462, 1463, 1464, 1465, 1466, 1467, + 1468, 0, 0, 0, 1363, 0, 0, 0, 0, 1369, + 1469, 0, 1370, 1371, 1372, 0, 1364, 1373, 0, 1374, + 62, 1365, 0, 1375, 0, 0, 0, 0, 0, 23, + 24, 0, 0, 0, 0, 26, 0, 0, 0, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 45, 0, 46, 0, 0, + 0, 0, 1366, 0, 0, 957, 1367, 0, 0, 1368, + 0, 0, 0, 0, 52, 958, 959, 960, 961, 962, + 963, 964, 965, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 966, 0, 967, 968, 969, 970, 971, 972, + 973, 974, 975, 976, 977, 978, 0, 1373, 0, 1374, + 62, 0, 0, 1375, 0, 0, 0, 0, 0, 1470, + 1471, 1472, 1473, 0, 979, 1474, 1475, 1476, 1477, 1478, + 0, 1479, 1480, 1481, 0, 0, 0, 340, 341, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1463, 1464, 1465, 1466, 1467, 1468, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1469, 0, 980, 240, + 241, 242, 243, 0, 0, 0, 0, 0, 342, 0, + 0, 70, 244, 71, 72, 73, 74, 0, 0, 0, + 343, 0, 0, 77, 0, 0, 0, 78, 0, 0, + 0, 0, 0, 0, 79, 0, 0, 981, 0, 0, + 982, 80, 983, 984, 985, 986, 987, 988, 989, 990, + 991, 992, 993, 0, 994, 995, 0, 81, 996, 340, + 341, 0, 0, 0, 0, 0, 0, 0, 0, 344, + 0, 0, 0, 0, 0, 0, 0, 82, 83, 0, + 0, 0, 0, 84, 70, 0, 71, 72, 73, 0, + 0, 345, 346, 87, 88, 0, 266, 89, 0, 90, + 342, 0, 0, 70, 347, 71, 72, 73, 74, 474, + 0, 0, 343, 0, 80, 77, 1471, 1472, 1473, 78, + 348, 1474, 1475, 1476, 1477, 1478, 79, 1479, 1480, 1481, + 267, 0, 0, 80, 0, 249, 250, 251, 252, 253, + 254, 255, 0, 256, 257, 258, 508, 509, 0, 81, + 82, 83, 70, 0, 71, 72, 73, 0, 0, 0, + 0, 344, 0, 0, 0, 0, 0, 88, 0, 82, + 83, 0, 90, 0, 0, 84, 0, 0, 0, 0, + 0, 0, 80, 345, 346, 87, 88, 342, 0, 89, + 70, 90, 71, 72, 73, 74, 0, 0, 267, 343, + 0, 0, 77, 0, 0, 0, 78, 0, 0, 0, + 0, 0, 348, 79, 0, 0, 0, 0, 82, 83, + 80, 236, 237, 238, 239, 240, 241, 242, 243, 0, + 0, 0, 0, 0, 0, 88, 81, 0, 244, 0, + 90, 0, 0, 217, 218, 219, 0, 0, 344, 0, + 0, 0, 0, 0, 0, 0, 82, 83, 0, 0, + 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, + 345, 346, 87, 88, 0, 0, 89, 0, 90, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 244, 220, 0, 348, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 221, + 222, 0, 0, 0, 0, 0, 0, 244, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 244, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 0, 223, 224, 0, 225, + 0, 0, 0, 244, 226, 0, 227, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 256, - 257, 258, 0, 0, 0, 1534, 15, 0, 0, 0, - 16, 0, 17, 18, 19, 0, 0, 0, 20, 0, - 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, - 0, 23, 24, 25, 0, 0, 0, 26, 0, 0, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, - 217, 218, 219, 0, 47, 0, 48, 49, 50, 0, - 0, 51, 0, 0, 0, 0, 52, 0, 0, 53, - 0, 0, 0, 54, 651, 652, 653, 10, 55, 11, - 654, 655, 67, 68, 0, 0, 1046, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, - 0, 61, 62, 0, 220, 63, 236, 237, 238, 239, - 240, 241, 242, 243, 0, 0, 221, 222, 464, 0, - 0, 657, 69, 244, 0, 70, 0, 71, 72, 73, - 74, 465, 0, 658, 76, 0, 0, 77, 659, 0, - 0, 78, 0, 0, 0, 0, 660, 661, 79, 0, - 0, 0, 0, 223, 224, 80, 225, 0, 0, 0, - 0, 226, 0, 227, 0, 217, 218, 219, 0, 0, - 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 662, 0, 663, 0, 664, 0, 0, 321, 466, 665, - 0, 82, 83, 666, 0, 0, 667, 84, 0, 0, - 0, 668, 0, 0, 669, 85, 86, 87, 88, 0, - 0, 89, 0, 90, 0, 7, 8, 9, 10, 220, - 11, 12, 13, 0, 0, 0, 670, 1396, 0, 671, - 672, 221, 222, 0, 673, 0, 674, 0, 696, 0, - 675, 0, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 0, 256, 257, 258, 697, 0, 0, - 0, 0, 1316, 0, 0, 0, 0, 0, 223, 1280, - 1281, 1282, 0, 0, 1317, 0, 226, 0, 227, 1318, - 0, 0, 0, 0, 0, 0, 0, 23, 24, 1283, - 0, 0, 0, 26, 1284, 0, 0, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 0, 0, 0, 7, 8, 9, 10, 0, - 11, 12, 13, 45, 0, 46, 0, 0, 0, 0, - 1319, 0, 0, 0, 1320, 0, 0, 1321, 0, 0, - 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1316, 0, 0, 0, 0, 1322, 0, 0, - 1323, 1324, 1325, 0, 1317, 1326, 0, 1397, 62, 1318, - 0, 1328, 0, 0, 0, 0, 0, 23, 24, 0, - 0, 0, 0, 26, 0, 0, 0, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 0, 0, 0, 7, 8, 9, 10, 0, - 11, 12, 13, 45, 0, 46, 0, 0, 0, 0, - 1319, 0, 0, 0, 1320, 0, 0, 1321, 0, 0, - 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, - 0, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 0, 0, 1316, 0, 0, 0, 0, 1322, 244, 0, - 1323, 1324, 1325, 0, 1317, 1326, 0, 1327, 62, 1318, - 0, 1328, 0, 0, 0, 0, 0, 23, 24, 0, - 0, 0, 0, 26, 0, 0, 0, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 651, 652, 653, 10, 0, 11, 654, 655, - 0, 0, 0, 45, 837, 46, 0, 0, 0, 0, - 1319, 0, 0, 0, 1320, 0, 0, 1321, 0, 774, - 0, 0, 52, 0, 0, 0, 0, 0, 0, 217, - 218, 219, 0, 0, 0, 775, 0, 0, 0, 657, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 776, - 0, 658, 0, 0, 0, 1326, 659, 1327, 62, 0, - 0, 1328, 777, 778, 660, 661, 0, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 779, 256, - 257, 258, 581, 220, 0, 0, 0, 236, 237, 238, - 239, 240, 241, 242, 243, 221, 222, 0, 662, 0, - 663, 0, 664, 0, 244, 0, 0, 665, 0, 780, - 0, 666, 781, 0, 667, 782, 0, 0, 0, 668, - 0, 0, 669, 0, 0, 0, 70, 0, 71, 72, - 73, 783, 223, 224, 0, 225, 0, 0, 266, 0, - 226, 0, 227, 784, 670, 0, 0, 671, 672, 944, - 0, 0, 673, 1283, 838, 0, 80, 785, 675, 945, - 946, 947, 948, 949, 950, 951, 952, 0, 0, 0, - 0, 0, 267, 0, 0, 0, 953, 0, 954, 955, - 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, - 0, 0, 82, 83, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 966, 88, - 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, - 0, 340, 341, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 0, 256, 257, 258, 597, 0, - 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 0, 0, - 0, 0, 967, 0, 0, 0, 0, 1416, 0, 0, - 0, 0, 342, 0, 0, 70, 0, 71, 72, 73, - 74, 0, 0, 0, 343, 0, 0, 77, 0, 0, - 0, 78, 698, 699, 700, 0, 0, 0, 79, 0, - 0, 968, 0, 0, 969, 80, 970, 971, 972, 973, - 974, 975, 976, 977, 978, 979, 980, 0, 981, 982, - 0, 81, 983, 340, 341, 0, 0, 0, 0, 0, - 0, 0, 0, 344, 0, 0, 70, 0, 71, 72, - 73, 82, 83, 0, 0, 0, 0, 84, 77, 0, - 0, 0, 0, 0, 0, 345, 346, 87, 88, 79, - 0, 89, 0, 90, 342, 0, 80, 70, 347, 71, - 72, 73, 74, 0, 0, 0, 343, 0, 0, 77, - 0, 0, 81, 78, 348, 774, 1417, 1418, 1419, 1420, - 79, 0, 1421, 1422, 1423, 1424, 1425, 80, 1426, 1427, - 1428, 0, 82, 83, 0, 0, 0, 0, 0, 0, - 513, 514, 0, 81, 0, 776, 0, 0, 0, 88, - 0, 0, 89, 0, 90, 344, 0, 0, 777, 778, - 0, 0, 0, 82, 83, 0, 0, 0, 0, 84, - 0, 0, 0, 0, 779, 0, 0, 345, 346, 87, - 88, 342, 0, 89, 70, 90, 71, 72, 73, 74, - 0, 0, 0, 343, 0, 0, 77, 0, 0, 0, - 78, 0, 0, 0, 0, 780, 348, 79, 781, 0, - 0, 782, 0, 0, 80, 236, 237, 238, 239, 240, - 241, 242, 243, 0, 0, 0, 0, 783, 0, 0, - 81, 0, 244, 0, 0, 0, 0, 0, 0, 784, - 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, - 82, 83, 0, 785, 0, 0, 84, 0, 0, 0, - 0, 0, 0, 0, 345, 346, 87, 88, 0, 0, - 89, 0, 90, 236, 237, 238, 239, 240, 241, 242, + 257, 258, 686, 236, 237, 238, 239, 240, 241, 242, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 244, 0, 0, 348, 236, 237, 238, 239, 240, 241, - 242, 243, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 244, 236, 237, 238, 239, 240, 241, 242, 243, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, - 236, 237, 238, 239, 240, 241, 242, 243, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, - 0, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 0, 256, 257, 258, 685, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 244, 236, 237, 238, 239, 240, - 241, 242, 243, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 244, 0, 0, 0, 0, 0, 0, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 0, 256, 257, 258, 766, 0, 0, 0, 0, 0, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 0, 256, 257, 258, 911, 0, 0, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, - 256, 257, 258, 1028, 0, 0, 245, 246, 247, 248, + 244, 236, 237, 238, 239, 240, 241, 242, 243, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, + 0, 0, 0, 0, 0, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 0, 256, 257, 258, + 767, 0, 0, 0, 0, 0, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 256, 257, - 258, 1299, 852, 853, 854, 855, 856, 857, 858, 859, - 0, 0, 0, 0, 0, 0, 217, 218, 219, 860, - 0, 1301, 0, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 0, 256, 257, 258, 0, 0, - 0, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, -2, 256, 257, 258, 0, 0, 0, 0, - 0, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 0, 0, - 220, 0, 0, 0, 0, 0, 0, 1416, 0, 0, - 0, 0, 221, 222, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, - 0, 106, 0, 0, 107, 108, 0, 0, 0, 0, - 0, 0, 109, 110, 336, 0, 0, 0, 0, 223, - 224, 111, 225, 112, 113, 114, 115, 226, 0, 227, - 116, 0, 0, 0, 0, 117, 0, 0, 861, 862, - 863, 864, 865, 866, 867, 868, 869, 870, 871, 0, - 872, 873, 874, 118, 119, 120, 121, 122, 123, 124, - 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, - 0, 0, 0, 0, 0, 130, 131, 67, 68, 132, - 133, 462, 0, 463, 134, 0, 0, 0, 0, 0, - 135, 136, 0, 137, 0, 0, 0, 1418, 1419, 1420, - 0, 138, 1421, 1422, 1423, 1424, 1425, 0, 1426, 1427, - 1428, 0, 0, 464, 0, 0, 0, 69, 0, 0, - 70, 0, 71, 72, 73, 74, 465, 0, 0, 76, - 0, 0, 77, 0, 0, 0, 78, 238, 239, 240, - 241, 242, 243, 79, 0, 70, 0, 71, 72, 73, - 80, 0, 244, 1410, 1411, 1412, 1413, 1414, 1415, 0, - 0, 0, 0, 0, 0, 0, 81, 0, 1416, 238, - 239, 240, 241, 242, 243, 80, 0, 0, 0, 0, - 0, 0, 0, 466, 244, 0, 82, 83, 0, 0, - 0, 267, 84, 0, 1410, 1411, 1412, 1413, 1414, 1415, - 85, 86, 87, 88, 0, 0, 89, 0, 90, 1416, - 0, 82, 83, 0, 0, 0, 0, 0, 0, 0, - 0, 467, 0, 0, 0, 0, 468, 0, 88, 0, - 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, + 258, 923, 0, 0, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 0, 256, 257, 258, 1026, + 0, 0, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 0, 256, 257, 258, 1058, 864, 865, + 866, 867, 868, 869, 870, 871, 70, 0, 71, 72, + 73, 0, 0, 0, 0, 872, 0, 0, 0, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 0, 256, 257, 258, 1345, 0, 80, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, -2, 256, + 257, 258, 267, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 238, 239, 240, 241, 242, 243, + 0, 0, 82, 83, 0, 0, 0, 0, 0, 244, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, + 0, 0, 0, 0, 90, 105, 0, 106, 0, 0, + 107, 108, 0, 0, 0, 0, 0, 0, 109, 110, + 238, 239, 240, 241, 242, 243, 0, 111, 0, 112, + 113, 114, 115, 0, 0, 244, 116, 0, 0, 0, + 0, 117, 0, 0, 873, 874, 875, 876, 877, 878, + 879, 880, 881, 882, 883, 0, 884, 885, 886, 118, + 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 0, 126, 127, 128, 129, 0, 0, 0, 0, + 0, 130, 131, 67, 68, 132, 133, 457, 0, 458, + 134, 0, 0, 0, 0, 0, 135, 136, 0, 137, + 0, 0, 0, 0, 0, 0, 0, 138, 0, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 459, + 256, 257, 258, 69, 0, 0, 70, 0, 71, 72, + 73, 74, 460, 0, 0, 76, 0, 0, 77, 0, + 0, 0, 78, 0, 0, 0, 0, 0, 0, 79, + 238, 239, 240, 241, 242, 243, 80, 248, 249, 250, + 251, 252, 253, 254, 255, 244, 256, 257, 258, 217, + 218, 219, 81, 1463, 1464, 1465, 1466, 1467, 1468, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1469, 461, + 0, 0, 82, 83, 0, 0, 0, 0, 84, 0, + 1463, 1464, 1465, 1466, 1467, 1468, 85, 86, 87, 88, + 0, 0, 89, 0, 90, 1469, 0, 0, 0, 0, + 0, 0, 0, 220, 0, 0, 0, 462, 0, 0, + 0, 0, 463, 0, 0, 221, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 217, 218, 219, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 0, 256, 257, 258, 0, 0, 1418, 1419, - 1420, 0, 0, 1421, 1422, 1423, 1424, 1425, 0, 1426, - 1427, 1428, 0, 0, 0, 306, 220, 249, 250, 251, - 252, 253, 254, 255, 0, 256, 257, 258, 221, 222, - 0, 0, 0, 0, 0, 0, 217, 218, 219, 0, - 1419, 1420, 306, 0, 1421, 1422, 1423, 1424, 1425, 0, - 1426, 1427, 1428, 0, 0, 0, 105, 0, 106, 0, - 0, 0, 108, 0, 0, 223, 224, 0, 225, 109, - 110, 0, 0, 226, 0, 227, 0, 0, 0, 0, - 112, 113, 114, 105, 0, 106, 0, 0, 0, 108, - 220, 0, 301, 0, 0, 0, 109, 110, 0, 501, - 0, 0, 221, 222, 0, 0, 0, 112, 300, 114, - 0, 0, 0, 217, 218, 219, 124, 0, 0, 301, - 0, 0, 698, 699, 700, 0, 129, 0, 0, 0, - 0, 0, 130, 0, 0, 0, 132, 133, 0, 223, - 224, 0, 225, 124, 0, 0, 0, 226, 136, 227, - 137, 0, 0, 129, 67, 68, 0, 0, 462, 130, - 1283, 0, 0, 0, 133, 1362, 70, 220, 71, 72, - 73, 701, 702, 0, 0, 136, 0, 137, 77, 221, - 222, 0, 0, 0, 0, 0, 0, 0, 0, 79, - 464, 0, 0, 0, 69, 0, 80, 70, 0, 71, - 72, 73, 74, 465, 0, 0, 76, 0, 0, 77, - 0, 0, 81, 78, 0, 0, 223, 224, 0, 225, - 79, 0, 0, 0, 226, 0, 227, 80, 0, 0, - 0, 0, 82, 83, 0, 0, 0, 1283, 0, 0, - 0, 0, 1364, 81, 0, 0, 703, 0, 0, 88, - 0, 0, 89, 0, 90, 67, 68, 0, 0, 800, - 466, 0, 0, 82, 83, 0, 0, 0, 0, 84, - 0, 0, 0, 0, 0, 0, 0, 85, 86, 87, - 88, 0, 0, 89, 0, 90, 67, 68, 0, 0, - 0, 464, 0, 0, 0, 69, 0, 0, 70, 0, - 71, 72, 73, 74, 465, 0, 0, 76, 0, 0, - 77, 0, 0, 0, 78, 0, 0, 0, 0, 0, - 0, 79, 464, 217, 218, 219, 69, 0, 80, 70, - 0, 71, 72, 73, 74, 465, 0, 0, 76, 0, - 0, 77, 0, 0, 81, 78, 0, 0, 0, 0, - 0, 0, 79, 0, 0, 0, 0, 0, 0, 80, - 0, 466, 0, 0, 82, 83, 0, 0, 0, 0, - 84, 0, 0, 67, 68, 81, 0, 220, 85, 86, - 87, 88, 0, 0, 89, 0, 90, 0, 0, 221, - 222, 0, 466, 0, 0, 82, 83, 67, 68, 0, - 0, 84, 0, 0, 0, 0, 0, 0, 0, 85, - 86, 87, 88, 69, 0, 89, 70, 90, 71, 72, - 73, 74, 75, 0, 0, 76, 223, 224, 77, 225, - 0, 0, 78, 0, 226, 0, 227, 69, 0, 79, - 70, 0, 71, 72, 73, 74, 80, 0, 0, 76, - 0, 295, 77, 0, 0, 0, 78, 0, 0, 0, - 0, 0, 81, 79, 0, 0, 0, 0, 0, 0, - 80, 217, 218, 219, 0, 0, 0, 0, 0, 0, - 0, 0, 82, 83, 67, 68, 81, 0, 84, 0, - 0, 0, 0, 0, 0, 0, 85, 86, 87, 88, - 0, 0, 89, 610, 90, 0, 82, 83, 486, 0, - 487, 0, 84, 67, 0, 0, 0, 0, 0, 0, - 85, 86, 87, 88, 69, 220, 89, 70, 90, 71, - 72, 73, 74, 0, 0, 0, 76, 221, 222, 77, - 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, + 0, 0, 223, 224, 0, 225, 0, 0, 0, 0, + 226, 0, 227, 0, 306, 0, 0, 0, 249, 250, + 251, 252, 253, 254, 255, 0, 256, 257, 258, 0, + 0, 0, 0, 0, 0, 217, 218, 219, 0, 1472, + 1473, 306, 0, 1474, 1475, 1476, 1477, 1478, 0, 1479, + 1480, 1481, 0, 0, 0, 105, 0, 106, 0, 0, + 0, 108, 0, 0, 0, 0, 0, 1473, 109, 110, + 1474, 1475, 1476, 1477, 1478, 0, 1479, 1480, 1481, 112, + 113, 114, 105, 0, 106, 0, 0, 0, 108, 220, + 0, 301, 0, 0, 0, 109, 110, 0, 0, 0, + 0, 221, 222, 0, 0, 0, 112, 300, 114, 0, + 0, 0, 0, 0, 0, 124, 0, 0, 301, 0, + 0, 699, 700, 701, 0, 129, 0, 0, 0, 0, + 0, 130, 0, 0, 0, 132, 133, 0, 223, 1326, + 1327, 1328, 124, 0, 0, 0, 226, 136, 227, 137, + 0, 0, 129, 699, 700, 701, 0, 0, 130, 1329, + 0, 0, 0, 133, 1330, 70, 0, 71, 72, 73, + 702, 703, 0, 0, 136, 0, 137, 77, 0, 0, + 0, 0, 0, 217, 218, 219, 0, 0, 79, 0, + 0, 0, 0, 0, 0, 80, 0, 70, 0, 71, + 72, 73, 0, 0, 0, 0, 0, 0, 0, 77, + 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 79, 0, 67, 68, 0, 0, 457, 80, 0, 0, + 0, 82, 83, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 81, 0, 704, 0, 0, 88, 221, + 222, 89, 0, 90, 0, 0, 0, 0, 459, 0, + 0, 0, 69, 82, 83, 70, 0, 71, 72, 73, + 74, 460, 0, 0, 76, 0, 0, 77, 0, 0, + 88, 78, 0, 89, 0, 90, 223, 224, 79, 225, + 0, 0, 0, 0, 226, 80, 227, 0, 0, 0, + 0, 0, 0, 0, 217, 218, 219, 1329, 0, 0, + 0, 81, 1415, 0, 67, 68, 0, 0, 811, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 461, 0, + 0, 82, 83, 0, 0, 0, 0, 84, 0, 0, + 0, 0, 0, 67, 68, 85, 86, 87, 88, 0, + 459, 89, 0, 90, 69, 0, 0, 70, 220, 71, + 72, 73, 74, 460, 0, 0, 76, 0, 0, 77, + 221, 222, 0, 78, 0, 0, 0, 0, 0, 459, 79, 0, 0, 69, 0, 0, 70, 80, 71, 72, - 73, 74, 524, 0, 0, 76, 0, 0, 77, 0, - 0, 0, 78, 81, 223, 224, 0, 225, 0, 79, - 0, 0, 226, 0, 227, 0, 80, 0, 0, 0, - 0, 0, 0, 82, 83, 0, 0, 0, 0, 84, - 177, 0, 81, 0, 0, 0, 0, 85, 86, 87, - 88, 0, 0, 89, 0, 90, 0, 0, 0, 0, - 0, 0, 82, 83, 177, 0, 0, 0, 84, 0, - 0, 0, 0, 0, 0, 0, 85, 86, 87, 88, - 178, 0, 89, 70, 90, 71, 72, 73, 74, 1005, - 0, 0, 179, 0, 0, 77, 0, 0, 0, 78, - 0, 0, 0, 0, 178, 0, 79, 70, 0, 71, - 72, 73, 74, 80, 0, 0, 179, 0, 0, 77, - 0, 0, 0, 78, 0, 0, 0, 0, 0, 81, - 79, 0, 0, 0, 0, 0, 0, 80, 217, 218, - 219, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 83, 67, 0, 81, 0, 84, 0, 0, 0, 0, - 0, 0, 0, 180, 181, 87, 88, 0, 0, 89, - 0, 90, 0, 82, 83, 0, 0, 0, 0, 84, - 0, 0, 0, 0, 0, 0, 0, 180, 181, 87, - 88, 69, 220, 89, 70, 90, 71, 72, 73, 74, - 0, 0, 0, 76, 221, 222, 77, 0, 0, 0, + 73, 74, 460, 0, 0, 76, 0, 0, 77, 0, + 0, 0, 78, 81, 0, 0, 0, 223, 224, 79, + 225, 0, 0, 0, 0, 226, 80, 227, 0, 0, + 461, 0, 0, 82, 83, 0, 0, 0, 1329, 84, + 67, 68, 81, 1417, 0, 0, 0, 85, 86, 87, + 88, 0, 0, 89, 0, 90, 0, 0, 0, 461, + 0, 0, 82, 83, 67, 68, 0, 0, 84, 0, + 0, 0, 217, 218, 219, 0, 85, 86, 87, 88, + 69, 0, 89, 70, 90, 71, 72, 73, 74, 75, + 0, 0, 76, 0, 70, 77, 71, 72, 73, 78, + 0, 0, 0, 0, 69, 0, 79, 70, 0, 71, + 72, 73, 74, 80, 0, 0, 76, 0, 0, 77, + 0, 0, 0, 78, 80, 0, 220, 0, 0, 81, + 79, 0, 0, 0, 0, 0, 0, 80, 221, 222, + 267, 0, 0, 0, 0, 0, 0, 0, 0, 82, + 83, 67, 68, 81, 0, 84, 0, 0, 0, 0, + 82, 83, 0, 85, 86, 87, 88, 0, 0, 89, + 611, 90, 0, 82, 83, 223, 224, 88, 225, 84, + 67, 0, 90, 226, 0, 227, 0, 85, 86, 87, + 88, 69, 0, 89, 70, 90, 71, 72, 73, 74, + 295, 0, 0, 76, 0, 188, 77, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 79, 0, 0, - 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, - 0, 0, 105, 0, 106, 0, 0, 107, 108, 0, - 81, 223, 224, 0, 225, 109, 110, 0, 0, 226, - 0, 227, 0, 0, 111, 0, 112, 113, 114, 115, - 82, 83, 1283, 116, 0, 0, 84, 1366, 117, 0, + 69, 0, 0, 70, 80, 71, 72, 73, 74, 519, + 0, 0, 76, 0, 0, 77, 0, 0, 0, 78, + 81, 0, 0, 0, 0, 0, 79, 0, 0, 0, + 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, + 82, 83, 0, 0, 0, 0, 84, 177, 0, 81, 0, 0, 0, 0, 85, 86, 87, 88, 0, 0, - 89, 0, 90, 0, 0, 0, 118, 119, 120, 121, + 89, 0, 90, 0, 0, 0, 0, 0, 0, 82, + 83, 177, 0, 0, 0, 84, 0, 0, 0, 0, + 0, 0, 0, 85, 86, 87, 88, 178, 0, 89, + 70, 90, 71, 72, 73, 74, 1019, 0, 0, 179, + 0, 0, 77, 0, 0, 0, 78, 0, 0, 0, + 0, 178, 0, 79, 70, 0, 71, 72, 73, 74, + 80, 0, 0, 179, 0, 0, 77, 0, 0, 0, + 78, 0, 0, 0, 0, 0, 81, 79, 0, 0, + 0, 0, 0, 0, 80, 217, 218, 219, 0, 0, + 0, 0, 0, 0, 0, 0, 82, 83, 67, 0, + 81, 0, 84, 0, 0, 0, 0, 0, 0, 0, + 180, 181, 87, 88, 0, 0, 89, 0, 90, 0, + 82, 83, 0, 0, 0, 0, 84, 217, 218, 219, + 0, 0, 0, 0, 180, 181, 87, 88, 69, 220, + 89, 70, 90, 71, 72, 73, 74, 0, 0, 0, + 76, 221, 222, 77, 0, 0, 0, 78, 0, 0, + 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, + 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 81, 223, 224, + 0, 225, 0, 221, 222, 0, 226, 0, 227, 0, + 0, 0, 70, 0, 71, 72, 73, 82, 83, 1329, + 0, 0, 0, 84, 1419, 0, 0, 0, 0, 0, + 0, 85, 86, 87, 88, 0, 0, 89, 0, 90, + 223, 224, 80, 225, 0, 0, 0, 0, 226, 105, + 227, 106, 0, 0, 107, 108, 0, 0, 267, 0, + 0, 1329, 109, 110, 0, 0, 0, 0, 0, 0, + 0, 111, 0, 112, 113, 114, 115, 0, 82, 83, + 116, 0, 0, 0, 0, 117, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, + 90, 0, 0, 118, 119, 120, 121, 122, 123, 124, + 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, + 0, 0, 105, 194, 106, 130, 131, 107, 108, 132, + 133, 0, 0, 0, 134, 109, 110, 0, 0, 0, + 135, 136, 0, 137, 111, 0, 112, 113, 114, 115, + 0, 138, 0, 116, 0, 0, 0, 0, 117, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 695, 0, 0, 0, 0, 0, 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, 0, 0, 105, 0, 106, 130, 131, 107, 108, 132, 133, 0, 0, 0, 134, 109, 110, 0, 0, 0, 135, 136, 0, 137, 111, 0, 112, 113, 114, 115, 0, 138, 0, 116, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 694, 0, 0, 0, 0, 0, 118, + 0, 0, 0, 889, 0, 0, 0, 0, 0, 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, 0, 0, 105, 0, 106, 130, 131, 107, 108, 132, 133, 0, 0, 0, 134, 109, 110, 0, 0, 0, 135, 136, 0, 137, 111, 0, 112, 113, 114, 115, 0, 138, 0, 116, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 877, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, 0, 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, 0, 0, 105, 0, 106, 130, 131, 107, 108, 132, 133, 0, 0, 0, 134, 109, 110, 0, 0, 0, 135, 136, 0, 137, 111, 0, 112, 113, 114, 115, 0, 138, 0, 116, 0, 0, 0, 0, 117, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 922, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1059, 0, 0, 0, 0, 0, 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, 0, 0, 105, 0, 106, 130, 131, 107, @@ -2260,728 +2276,753 @@ static const yytype_int16 yytable[] = 0, 0, 135, 136, 0, 137, 111, 0, 112, 113, 114, 115, 0, 138, 0, 116, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1029, 0, 0, 0, 0, 0, 118, 119, + 0, 0, 1112, 0, 0, 0, 0, 0, 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, 0, 0, 105, 0, 106, 130, 131, 107, 108, 132, 133, 0, 0, 0, 134, 109, 110, 0, 0, 0, 135, 136, 0, 137, 111, 0, 112, 113, 114, 115, 0, 138, 0, 116, 0, - 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1082, 0, 0, 0, 0, + 0, 0, 0, 117, 0, 0, 217, 218, 219, 0, + 0, 903, 217, 218, 219, 1350, 0, 0, 0, 0, 0, 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, 0, 0, - 105, 0, 106, 130, 131, 107, 108, 132, 133, 0, - 0, 0, 134, 109, 110, 0, 0, 0, 135, 136, - 0, 137, 111, 0, 112, 113, 114, 115, 0, 138, - 0, 116, 217, 218, 219, 0, 117, 891, 0, 0, - 0, 0, 0, 217, 218, 219, 0, 0, 1304, 70, - 0, 71, 72, 73, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 0, 126, 127, 128, - 129, 0, 0, 0, 0, 0, 130, 131, 0, 80, - 132, 133, 0, 0, 0, 134, 220, 0, 0, 0, - 0, 135, 136, 0, 137, 267, 0, 220, 221, 222, - 0, 0, 138, 0, 70, 0, 71, 72, 73, 221, - 222, 0, 0, 0, 0, 82, 83, 0, 0, 0, - 0, 1455, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 88, 0, 80, 223, 224, 90, 225, 0, - 0, 0, 0, 226, 0, 227, 223, 224, 0, 225, - 267, 0, 0, 105, 226, 106, 227, 0, 0, 108, - 188, 0, 0, 0, 0, 0, 109, 110, 0, 0, - 82, 83, 0, 0, 0, 0, 0, 112, 300, 114, - 0, 0, 0, 0, 116, 0, 0, 88, 0, 301, - 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 130, 131, 0, 0, 132, 133, 481, + 0, 482, 134, 0, 0, 0, 0, 0, 135, 136, + 220, 137, 0, 0, 0, 0, 220, 0, 105, 138, + 106, 0, 221, 222, 108, 0, 0, 0, 221, 222, + 0, 109, 110, 0, 0, 0, 0, 0, 1510, 0, + 0, 0, 112, 300, 114, 0, 0, 0, 0, 116, + 0, 0, 0, 0, 301, 0, 0, 0, 0, 223, + 224, 0, 225, 0, 0, 223, 224, 226, 225, 227, + 0, 0, 0, 226, 0, 227, 0, 0, 124, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, + 0, 0, 0, 0, 130, 0, 0, 0, 0, 133, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, + 136, 105, 137, 106, 0, 0, 107, 108, 0, 0, + 0, 0, 0, 0, 109, 110, 0, -159, 0, 0, + 0, 0, 0, 111, 0, 112, 113, 114, 115, 0, + 0, 0, 116, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 124, 0, 194, 0, 0, 0, 0, - 0, 0, 0, 129, 0, 0, 0, 0, 0, 130, - 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 135, 136, 105, 137, 106, 0, - 0, 107, 108, 0, 0, 0, 0, 0, 0, 109, - 110, 0, -155, 0, 0, 0, 0, 0, 111, 0, - 112, 113, 114, 115, 0, 0, 0, 116, 0, 0, - 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 118, 119, 120, 121, 122, + 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, + 128, 129, 0, 0, 105, 0, 106, 130, 131, 0, + 108, 132, 133, 105, 0, 106, 134, 109, 110, 108, + 0, 0, 135, 136, 0, 137, 109, 110, 112, 113, + 114, 0, 0, 0, 0, 116, 0, 112, 300, 114, + 301, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, - 0, 0, 0, 126, 127, 128, 129, 0, 0, 105, - 0, 106, 130, 131, 0, 108, 132, 133, 0, 0, - 0, 134, 109, 110, 0, 0, 0, 135, 136, 0, - 137, 0, 0, 112, 113, 114, 105, 0, 106, 0, - 116, 0, 108, 0, 0, 301, 0, 0, 0, 109, - 110, 105, 0, 106, 0, 0, 0, 108, 0, 0, - 112, 300, 114, 0, 109, 110, 0, 0, 0, 124, - 0, 0, 301, 0, 0, 112, 300, 114, 0, 129, - 0, 0, 0, 0, 0, 130, 0, 301, 0, 132, - 133, 0, 0, 0, 0, 0, 124, 312, 0, 0, - 135, 136, 0, 137, 0, 0, 129, 0, 0, 0, - 0, 124, 130, 0, 0, 0, 0, 133, 0, 0, - 0, 129, 0, 0, 0, 0, 0, 130, 136, 0, - 137, 0, 133, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 136, 0, 137 + 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, + 0, 0, 0, 124, 129, 0, 0, 0, 0, 0, + 130, 0, 0, 129, 132, 133, 0, 0, 0, 130, + 0, 0, 0, 0, 133, 135, 136, 0, 137, 0, + 0, 0, 0, 0, 0, 136, 0, 137 }; static const yytype_int16 yycheck[] = { - 1, 61, 132, 113, 132, 495, 935, 482, 736, 321, - 92, 44, 713, 515, 466, 184, 44, 142, 299, 15, - 142, 616, 13, 15, 464, 142, 607, 15, 149, 662, - 151, 152, 153, 154, 148, 156, 44, 158, 588, 160, - 59, 10, 98, 495, 13, 147, 486, 0, 719, 6, - 148, 8, 148, 334, 494, 176, 170, 147, 10, 11, - 12, 62, 756, 165, 473, 148, 187, 188, 165, 167, - 76, 167, 76, 194, 195, 165, 626, 748, 749, 165, - 751, 752, 753, 754, 167, 148, 165, 637, 589, 33, - 91, 92, 165, 76, 76, 166, 167, 723, 99, 725, - 726, 727, 728, 729, 167, 799, 148, 126, 165, 142, - 148, 108, 109, 110, 142, 112, 113, 114, 165, 148, - 117, 81, 82, 83, 33, 167, 148, 124, 88, 167, - 190, 33, 129, 130, 142, 132, 133, 134, 167, 136, - 137, 147, 775, 147, 150, 167, 150, 148, 149, 156, - 151, 152, 153, 154, 148, 156, 148, 158, 156, 160, - 148, 113, 33, 165, 147, 147, 618, 150, 150, 160, - 151, 167, 165, 167, 299, 176, 666, 299, 148, 261, - 262, 151, 299, 184, 156, 166, 187, 188, 357, 501, - 165, 160, 148, 194, 195, 277, 278, 257, 150, 148, - 13, 165, 15, 612, 17, 330, 696, 757, 330, 334, - 167, 167, 334, 330, 148, 716, 528, 334, 167, 720, - 164, 165, 166, 632, 633, 634, 635, 636, 809, 148, - 6, 232, 8, 167, 148, 148, 907, 293, 819, 165, - 148, 150, 165, 166, 167, 795, 796, 60, 167, 209, - 210, 211, 212, 167, 167, 757, 165, 166, 151, 167, - 261, 262, 164, 165, 166, 165, 299, 151, 165, 75, - 941, 299, 393, 166, 165, 276, 277, 278, 279, 280, - 281, 1009, 166, 165, 759, 286, 13, 913, 15, 148, - 17, 299, 75, 164, 165, 166, 165, 330, 148, 708, - 356, 334, 330, 300, 301, 165, 334, 267, 167, 306, - 148, 13, 2, 15, 33, 17, 148, 167, 148, 148, - 321, 165, 330, 10, 11, 12, 334, 148, 141, 167, - 148, 291, 148, 60, 646, 167, 776, 167, 167, 920, - 792, 165, 155, 144, 145, 146, 167, 160, 6, 167, - 8, 167, 165, 903, 165, 147, 357, 149, 60, 151, - 50, 851, 165, 149, 645, 151, 56, 57, 58, 59, - 60, 165, 1005, 63, 165, 166, 147, 64, 149, 150, - 151, 165, 1110, 695, 147, 794, 149, 165, 151, 76, - 77, 165, 393, 18, 19, 20, 21, 22, 23, 851, - 165, 903, 811, 147, 165, 149, 156, 151, 33, 1004, - 991, 412, 165, 147, 141, 149, 167, 151, 1347, 166, - 167, 165, 923, 1280, 1281, 1282, 113, 114, 155, 116, - 165, 166, 167, 160, 121, 165, 123, 165, 165, 141, - 165, 160, 161, 162, 445, 164, 165, 166, 449, 450, - 451, 452, 453, 155, 165, 166, 167, 165, 160, 166, - 167, 147, 463, 1013, 1014, 165, 467, 468, 155, 525, - 150, 472, 165, 160, 475, 281, 114, 115, 116, 888, - 536, 64, 65, 539, 512, 166, 895, 896, 897, 898, - 899, 166, 167, 165, 495, 165, 493, 165, 281, 165, - 501, 166, 167, 193, 1099, 1362, 165, 1364, 1103, 1366, - 1011, 512, 1369, 1370, 1371, 150, 1017, 1018, 165, 166, - 645, 150, 482, 645, 525, 147, 148, 528, 645, 10, - 11, 12, 150, 158, 159, 160, 161, 162, 344, 164, - 165, 166, 165, 166, 165, 165, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 878, 165, 258, 1263, - 165, 165, 151, 263, 160, 166, 150, 48, 148, 147, - 165, 156, 148, 64, 165, 165, 149, 588, 589, 590, - 168, 20, 21, 22, 23, 76, 77, 15, 165, 600, - 157, 148, 167, 167, 33, 1106, 607, 167, 167, 299, - 611, 167, 645, 167, 674, 616, 167, 645, 157, 620, - 621, 622, 623, 624, 625, 626, 167, 167, 148, 662, - 1331, 167, 113, 114, 662, 116, 637, 645, 328, 167, - 121, 167, 123, 167, 167, 646, 647, 157, 167, 167, - 167, 167, 167, 167, 662, 167, 167, 713, 167, 465, - 466, 167, 167, 719, 167, 157, 167, 723, 167, 725, - 726, 727, 728, 729, 702, 165, 167, 160, 167, 167, - 166, 166, 465, 466, 1093, 167, 167, 684, 685, 495, - 168, 165, 748, 749, 695, 751, 752, 753, 754, 150, - 390, 761, 762, 167, 147, 165, 148, 708, 148, 769, - 148, 771, 495, 148, 1442, 716, 406, 407, 524, 720, - 148, 148, 723, 413, 725, 726, 727, 728, 729, 158, - 159, 160, 161, 162, 149, 164, 165, 166, 33, 165, - 150, 742, 775, 165, 745, 1340, 165, 775, 165, 165, - 1444, 1445, 1446, 167, 167, 756, 757, 48, 167, 889, - 160, 889, 1357, 1358, 1359, 1255, 160, 775, 170, 147, - 10, 11, 12, 13, 1275, 48, 1277, 17, 838, 889, - 76, 165, 156, 589, 156, 475, 156, 156, 165, 10, - 10, 167, 793, 10, 795, 796, 10, 10, 799, 759, - 10, 802, 149, 1255, 610, 157, 589, 148, 809, 149, - 167, 160, 618, 873, 167, 160, 167, 472, 819, 149, - 60, 149, 168, 160, 167, 167, 165, 610, 829, 167, - 147, 33, 1333, 523, 167, 618, 1337, 166, 170, 1434, - 165, 165, 165, 533, 166, 166, 1441, 167, 150, 165, - 165, 907, 1447, 1448, 167, 148, 148, 913, 148, 1553, - 148, 148, 890, 158, 159, 160, 161, 162, 1562, 164, - 165, 166, 112, 113, 151, 160, 148, 878, 167, 165, - 881, 149, 149, 167, 166, 941, 10, 888, 578, 168, - 168, 167, 889, 894, 895, 896, 897, 898, 899, 900, - 170, 141, 903, 593, 148, 1500, 33, 48, 1503, 165, - 716, 170, 913, 165, 720, 155, 1037, 607, 147, 920, - 160, 170, 923, 148, 1006, 165, 167, 22, 23, 157, - 157, 1432, 167, 716, 935, 157, 167, 720, 33, 157, - 10, 10, 1537, 149, 10, 11, 12, 13, 10, 11, - 12, 17, 10, 10, 10, 645, 611, 1552, 160, 161, - 162, 10, 164, 165, 166, 149, 621, 622, 623, 624, - 625, 167, 1005, 148, 165, 170, 1288, 1005, 167, 167, - 670, 671, 672, 673, 170, 675, 792, 168, 22, 23, - 991, 1112, 1113, 167, 60, 168, 167, 1005, 15, 33, - 1501, 165, 64, 1004, 165, 1006, 165, 167, 165, 792, - 1011, 167, 1013, 1014, 76, 77, 1017, 1018, 167, 148, - 167, 149, 165, 276, 277, 278, 279, 280, 165, 167, - 156, 158, 159, 160, 161, 162, 1037, 164, 165, 166, - 156, 156, 156, 168, 167, 851, 168, 113, 167, 147, - 167, 113, 114, 708, 116, 745, 167, 167, 149, 121, - 10, 123, 149, 158, 159, 160, 161, 162, 851, 164, - 165, 166, 10, 10, 149, 141, 149, 10, 149, 165, - 15, 148, 167, 1084, 167, 167, 10, 168, 167, 155, - 167, 167, 1093, 148, 160, 167, 157, 157, 1099, 165, - 168, 149, 1103, 157, 166, 1106, 10, 11, 12, 13, - 157, 1112, 1113, 17, 167, 10, 10, 923, 149, 809, - 165, 165, 165, 165, 158, 159, 160, 161, 162, 819, - 164, 165, 166, 823, 167, 167, 149, 167, 793, 149, - 923, 10, 149, 167, 149, 1111, 311, 802, 648, 1258, - 1331, 841, 334, 890, 702, 1461, 60, 1084, 334, 851, - 1255, 1222, 852, 853, 854, 855, 856, 857, 858, 859, - 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, - 870, 871, 1264, 1289, 874, 411, 666, -1, 10, 11, - 12, 13, 445, 15, -1, 17, 449, 450, 451, 452, - 453, -1, 1258, -1, -1, 1011, -1, -1, -1, 113, - 463, 1017, 1018, -1, 467, 468, -1, -1, -1, -1, - -1, 1222, 54, 62, 56, 57, 58, -1, 1011, -1, - 920, -1, -1, 888, 1017, 1018, -1, 141, 60, -1, - 895, 896, 897, 898, 899, 935, 85, -1, -1, -1, - -1, 155, 84, -1, 1255, -1, 160, -1, -1, -1, - -1, -1, 1263, 1264, -1, -1, 105, 1327, 100, -1, - 61, -1, -1, -1, 1275, 1331, 1277, 16, 17, 18, - 19, 20, 21, 22, 23, -1, 125, 1288, 120, 121, - -1, 113, -1, -1, 33, -1, 135, -1, -1, 989, - 1106, 991, -1, 993, -1, 137, -1, -1, -1, -1, - 142, -1, -1, -1, -1, 1375, 1376, -1, 1378, 141, - 1380, -1, -1, 1106, -1, -1, -1, -1, -1, -1, - -1, -1, 1333, 155, -1, -1, 1337, 1397, 160, 1340, - -1, 180, -1, 165, 183, 1094, 1347, 600, -1, -1, - -1, -1, -1, -1, 1044, -1, 1357, 1358, 1359, 150, - -1, -1, -1, 1094, 155, -1, 157, 1427, 159, -1, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, -1, -1, -1, -1, -1, - 229, 230, -1, -1, -1, 186, -1, -1, -1, 190, - -1, 192, 193, -1, -1, -1, -1, -1, -1, -1, - -1, 150, 11, 152, 153, 154, 155, 256, -1, 158, - 159, 160, 161, 162, -1, 164, 165, 166, -1, -1, - -1, 1432, -1, 1434, -1, -1, 275, -1, 1093, -1, - 1441, -1, -1, 1444, 1445, 1446, 1447, 1448, -1, 1255, - -1, -1, -1, -1, 293, 54, 295, 56, 57, 58, - 1461, -1, -1, -1, -1, -1, -1, -1, -1, 1275, - -1, 1277, 1255, 312, -1, 314, 315, 316, 317, 318, - 319, 272, -1, -1, -1, 84, 1546, 1547, 1548, -1, - 1550, -1, 1275, -1, 1277, -1, -1, 336, -1, 1500, - 1501, 100, 1503, -1, -1, -1, 345, -1, -1, 348, - -1, -1, -1, -1, -1, -1, 54, 356, 56, 57, - 58, 120, 121, -1, -1, -1, -1, 1333, 66, -1, - -1, 1337, -1, -1, -1, -1, 1537, -1, 137, -1, - -1, -1, -1, 142, -1, -1, 84, -1, -1, -1, - 1333, 1552, 1553, -1, 1337, -1, 395, -1, 1248, -1, - 399, 1562, 100, -1, -1, 18, 19, 20, 21, 22, - 23, 1320, 411, 1322, 1323, 1324, 1325, 1326, -1, 1328, - 33, -1, 120, 121, -1, -1, -1, -1, -1, 1320, - -1, 1322, 1323, 1324, 1325, 1326, -1, 1328, -1, 137, - -1, 392, -1, -1, 142, -1, 1296, -1, -1, 448, - -1, 1301, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 464, 1432, 165, -1, -1, - -1, 18, 19, 20, 21, 22, 23, 476, -1, -1, - -1, -1, -1, -1, -1, -1, 33, 486, -1, 1432, - -1, -1, -1, -1, -1, 494, -1, 1347, -1, 1408, - 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, - 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1408, 1409, 1410, - 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, - 1421, 1422, 1423, 1424, 1425, 1501, -1, -1, -1, -1, - 539, 154, 155, 156, 157, 158, 159, 160, 161, 162, - -1, 164, 165, 166, -1, 10, 11, 12, 1501, -1, - -1, -1, -1, -1, -1, -1, -1, 1476, -1, 520, - -1, -1, -1, -1, -1, -1, 527, -1, 1428, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 587, -1, - -1, 3, 4, 5, 6, -1, 8, 9, 10, 11, - -1, -1, -1, 554, -1, 556, -1, 558, 155, 64, - -1, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 1529, 76, 77, 1532, 17, 18, 19, 20, 21, 22, - 23, 630, -1, -1, -1, -1, -1, -1, 50, -1, - 33, 1532, 54, -1, 56, 57, 58, -1, -1, 648, - 62, -1, 64, 65, 66, 67, -1, -1, 113, 114, - -1, 116, -1, 75, 76, 77, 121, -1, 123, 81, - -1, -1, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, -1, - -1, -1, -1, -1, -1, -1, 151, 109, -1, 111, - 155, 113, -1, -1, -1, 160, 118, 706, 120, 121, - 122, -1, -1, 125, -1, -1, -1, -1, 130, -1, - -1, 133, -1, 674, -1, 137, -1, -1, -1, -1, - 142, -1, -1, -1, -1, 147, -1, -1, -1, 738, - -1, -1, -1, 155, -1, -1, 158, 159, 160, -1, - -1, 163, -1, 165, 166, -1, -1, 169, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - -1, 164, 165, 166, -1, -1, -1, 776, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, -1, -1, -1, -1, -1, -1, -1, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, -1, 70, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, -1, 82, 83, - 84, -1, -1, 872, -1, 20, 21, 22, 23, -1, - -1, 832, 833, 834, -1, 836, 100, 838, 33, 840, - 841, -1, 891, 107, 108, 109, -1, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - -1, -1, -1, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 321, 490, 132, 5, 461, 113, 132, 714, 737, + 142, 92, 948, 663, 299, 510, 75, 757, 184, 477, + 142, 15, 13, 75, 10, 142, 76, 13, 149, 61, + 151, 152, 153, 154, 490, 156, 44, 158, 447, 160, + 148, 583, 724, 76, 148, 727, 728, 76, 76, 334, + 459, 15, 584, 59, 6, 176, 8, 64, 65, 15, + 148, 62, 170, 167, 44, 148, 187, 188, 151, 720, + 810, 0, 481, 194, 195, 148, 81, 82, 83, 167, + 489, 165, 166, 88, 617, 627, 148, 10, 11, 12, + 91, 92, 147, 6, 167, 8, 638, 147, 99, 750, + 150, 752, 166, 167, 755, 167, 98, 108, 109, 110, + 165, 112, 113, 114, 147, 156, 117, 150, 147, 147, + 126, 150, 150, 124, 148, 33, 776, 148, 129, 130, + 148, 132, 133, 134, 142, 136, 137, 148, 10, 11, + 12, 13, 801, 167, 156, 17, 167, 148, 149, 167, + 151, 152, 153, 154, 156, 156, 167, 158, 190, 160, + 147, 820, 142, 619, 147, 33, 149, 299, 151, 160, + 166, 167, 831, 167, 160, 176, 496, 299, 165, 667, + 261, 262, 299, 184, 148, 717, 187, 188, 60, 721, + 113, 357, 148, 194, 195, 148, 277, 278, 330, 148, + 148, 468, 334, 523, 209, 210, 211, 212, 330, 697, + 165, 33, 334, 330, 167, 167, 758, 334, 167, 167, + 166, 167, 281, 148, 148, 257, 44, 150, 165, 281, + 151, 232, 10, 11, 12, 13, 148, 15, 165, 17, + 112, 113, 167, 167, 926, 166, 165, 929, 930, 10, + 11, 12, 160, 161, 162, 167, 164, 165, 166, 148, + 261, 262, 267, 758, 806, 807, 165, 33, 919, 141, + 148, 148, 393, 932, 165, 148, 277, 278, 167, 165, + 281, 33, 60, 155, 165, 286, 291, 148, 160, 167, + 167, 299, 344, 165, 167, 1023, 164, 165, 166, 300, + 301, 293, 760, 64, 955, 306, 167, 147, 165, 149, + 311, 151, 597, 165, 148, 76, 77, 165, 148, 299, + 321, 165, 330, 148, 142, 165, 334, 647, 150, 165, + 10, 11, 12, 167, 165, 113, 13, 167, 15, 148, + 17, 165, 167, 165, 166, 1004, 613, 803, 999, 1000, + 330, 165, 113, 114, 334, 116, 357, 151, 167, 148, + 121, 646, 123, 141, 356, 151, 148, 634, 777, 1019, + 637, 156, 166, 915, 165, 863, 696, 155, 167, 47, + 166, 49, 160, 60, 64, 167, 165, 165, 144, 145, + 146, 54, 393, 56, 57, 58, 76, 77, 164, 165, + 166, 460, 461, 66, 936, 165, 167, 863, 460, 461, + 165, 412, 164, 165, 166, 147, 165, 149, 1146, 151, + 915, 84, 165, 10, 11, 12, 13, 165, 166, 167, + 17, 490, 165, 113, 114, 165, 116, 100, 490, 166, + 167, 121, 709, 123, 165, 166, 167, 165, 449, 13, + 149, 15, 151, 17, 455, 456, 1138, 120, 121, 1395, + 165, 166, 167, 165, 141, 597, 467, 519, 6, 470, + 8, 165, 477, 60, 137, 597, 166, 167, 155, 142, + 597, 299, 165, 160, 165, 1018, 166, 488, 165, 490, + 114, 115, 116, 1035, 1036, 496, 60, 147, 165, 149, + 150, 151, 165, 504, 165, 147, 507, 149, 165, 151, + 165, 166, 330, 147, 646, 167, 334, 147, 148, 520, + 165, 33, 523, 150, 646, 584, 113, 165, 520, 646, + 165, 166, 584, 165, 165, 150, 165, 165, 805, 531, + 165, 150, 534, 150, 165, 13, 165, 15, 165, 17, + 151, 467, 611, 165, 141, 165, 160, 150, 825, 611, + 619, 828, 829, 1303, 10, 11, 12, 619, 155, 166, + 890, 166, 48, 160, 148, 165, 147, 141, 165, 156, + 165, 165, 583, 584, 585, 165, 149, 168, 148, 597, + 157, 155, 60, 594, 167, 167, 160, 167, 167, 1132, + 601, 602, 167, 1136, 157, 167, 167, 148, 609, 167, + 1142, 612, 167, 167, 615, 616, 617, 597, 64, 167, + 167, 622, 623, 148, 167, 626, 627, 167, 167, 15, + 76, 77, 167, 900, 1285, 167, 167, 638, 646, 167, + 167, 908, 157, 675, 911, 167, 647, 648, 160, 161, + 162, 167, 164, 165, 166, 663, 167, 167, 717, 167, + 167, 157, 721, 167, 167, 717, 646, 113, 114, 721, + 116, 165, 1378, 141, 147, 121, 167, 123, 167, 167, + 165, 167, 165, 663, 685, 686, 687, 155, 168, 507, + 150, 148, 160, 167, 148, 696, 612, 165, 148, 148, + 148, 148, 165, 165, 149, 151, 150, 623, 709, 155, + 626, 167, 165, 165, 160, 166, 717, 48, 48, 147, + 721, 160, 714, 724, 165, 167, 727, 728, 720, 167, + 762, 763, 724, 165, 735, 727, 728, 33, 770, 166, + 772, 160, 743, 160, 803, 746, 170, 48, 76, 165, + 156, 803, 156, 156, 156, 760, 757, 758, 750, 167, + 752, 10, 10, 755, 165, 10, 10, 149, 776, 1497, + 10, 10, 901, 157, 148, 167, 901, 149, 167, 597, + 160, 1048, 1314, 160, 167, 1317, 1318, 168, 1320, 149, + 33, 1323, 149, 709, 901, 796, 776, 160, 799, 800, + 801, 167, 167, 804, 863, 806, 807, 1295, 167, 810, + 147, 863, 167, 814, 165, 167, 817, 818, 850, 820, + 166, 166, 165, 167, 1564, 1565, 1566, 150, 646, 165, + 831, 148, 167, 148, 277, 278, 148, 148, 839, 1295, + 841, 148, 151, 167, 160, 663, 165, 167, 1380, 149, + 168, 149, 1384, 885, 168, 1388, 166, 1124, 1125, 1126, + 148, 10, 158, 159, 160, 161, 162, 170, 164, 165, + 166, 1611, 167, 148, 48, 165, 170, 936, 165, 165, + 1620, 165, 147, 165, 936, 703, 148, 170, 804, 890, + 170, 167, 893, 166, 157, 167, 897, 157, 814, 900, + 901, 817, 818, 157, 157, 10, 907, 908, 167, 10, + 911, 912, 149, 10, 915, 158, 159, 160, 161, 162, + 167, 164, 165, 166, 10, 926, 10, 919, 929, 930, + 10, 932, 149, 148, 926, 936, 165, 929, 930, 1020, + 170, 167, 170, 2, 61, 168, 1067, 948, 168, 22, + 23, 15, 165, 1485, 1487, 165, 167, 165, 776, 148, + 33, 167, 1495, 955, 165, 167, 1499, 1500, 1501, 1502, + 1503, 149, 16, 17, 18, 19, 20, 21, 22, 23, + 167, 165, 165, 156, 900, 156, 156, 156, 167, 33, + 167, 50, 908, 168, 147, 911, 168, 56, 57, 58, + 59, 60, 167, 1004, 63, 167, 449, 999, 1000, 167, + 167, 1019, 455, 456, 1334, 167, 167, 1018, 149, 1020, + 167, 10, 1555, 149, 1556, 1558, 1027, 1148, 1149, 10, + 149, 10, 10, 150, 1035, 1036, 149, 17, 155, 1019, + 157, 1042, 159, 149, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 1592, + 167, 165, 15, 148, 167, 167, 1067, 47, 168, 186, + 148, 167, 167, 190, 157, 192, 193, 1610, 157, 167, + 60, 61, 157, 1142, 902, 158, 159, 160, 161, 162, + 1142, 164, 165, 166, 157, 1362, 76, 167, 10, 168, + 167, 1102, 149, 10, 10, 165, 150, 149, 152, 153, + 154, 155, 165, 1114, 158, 159, 160, 161, 162, 165, + 164, 165, 166, 1124, 1125, 1126, 1042, 107, 167, 165, + 110, 1132, 167, 113, 193, 1136, 149, 1138, 167, 149, + 10, 1142, 149, 167, 149, 311, 1138, 1148, 1149, 129, + 1147, 594, 649, 1298, 1378, 272, 902, 703, 601, 602, + 1516, 141, 1295, 1114, 1335, 863, 609, 334, 1258, 667, + 334, -1, 615, 616, -1, 155, 411, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, -1, -1, 258, + -1, 1019, -1, -1, 263, -1, -1, -1, 1124, 1125, + 1126, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1304, -1, -1, -1, -1, -1, -1, + -1, -1, 10, 11, 12, 13, 1295, -1, -1, 17, + 299, -1, -1, 1295, -1, -1, -1, 1326, 1327, 1328, + -1, -1, -1, -1, -1, 1314, -1, 1258, 1317, 1318, + -1, 1320, 1314, -1, 1323, 1317, 1318, -1, 1320, 328, + -1, 1323, -1, -1, -1, 392, -1, -1, -1, -1, + -1, -1, 60, 108, 109, 110, -1, 112, 113, 114, + -1, -1, 117, 1285, 1295, -1, -1, -1, -1, 124, + -1, -1, 1303, 1304, 129, 130, 1298, 132, 133, 134, + -1, 136, 137, 1314, -1, -1, 1317, 1318, -1, 1320, + -1, 1380, 1323, -1, -1, 1384, -1, -1, 1380, -1, + -1, 390, 1384, 1334, -1, 113, 1415, -1, 1417, -1, + 1419, -1, 1374, 1422, 1423, 1424, -1, 406, 407, -1, + -1, -1, -1, 796, 413, -1, 799, 800, -1, -1, + -1, 1362, -1, 141, -1, 18, 19, 20, 21, 22, + 23, -1, 62, -1, 10, 11, 12, 155, -1, 1380, + 33, -1, 160, 1384, -1, -1, 1378, 1388, -1, -1, + -1, -1, -1, -1, 1395, 85, 1428, 1429, 515, 1431, + -1, 1433, -1, -1, -1, 522, 22, 23, -1, -1, + -1, 470, -1, -1, -1, 105, -1, 33, 1450, -1, + -1, -1, -1, -1, -1, 1426, 1485, -1, 64, -1, + -1, -1, 549, 1485, 551, 125, 553, -1, -1, -1, + 76, 77, -1, -1, -1, 135, 1362, -1, 1480, -1, + -1, -1, 17, 18, 19, 20, 21, 22, 23, 518, + -1, -1, -1, -1, -1, -1, -1, -1, 33, 528, + -1, -1, -1, -1, -1, 300, 301, 113, 114, -1, + 116, 306, -1, -1, 1485, 121, 1487, 123, -1, -1, + 180, -1, -1, 183, 1495, -1, -1, 1556, 1499, 1500, + 1501, 1502, 1503, -1, 1556, 158, 159, 160, 161, 162, + -1, 164, 165, 166, 573, 1516, -1, -1, -1, 155, + -1, -1, -1, -1, 160, -1, -1, -1, -1, 588, + -1, 17, 18, 19, 20, 21, 22, 23, 597, 229, + 230, -1, 158, 159, 160, 161, 162, 33, 164, 165, + 166, -1, -1, -1, 1555, 1556, -1, 1558, 675, -1, + -1, -1, -1, 1564, 1565, 1566, 256, -1, -1, -1, + -1, -1, 1604, 1605, 1606, -1, 1608, -1, -1, -1, + 279, 280, -1, -1, 1027, 275, -1, 646, 153, 154, + 155, 1592, -1, 158, 159, 160, 161, 162, -1, 164, + 165, 166, -1, 293, -1, 295, -1, -1, -1, 1610, + 1611, -1, 671, 672, 673, 674, -1, 676, -1, 1620, + -1, -1, 312, -1, 314, 315, 316, 317, 318, 319, + -1, -1, -1, -1, 1127, -1, -1, 10, 11, 12, + -1, -1, -1, -1, -1, -1, 336, -1, -1, -1, + -1, -1, -1, -1, -1, 345, -1, -1, 348, -1, + -1, -1, -1, 488, -1, -1, 356, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, -1, 164, 165, + 166, -1, -1, -1, -1, -1, -1, 746, -1, -1, + -1, 64, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 76, 77, 395, -1, -1, -1, 399, -1, 18, 19, 20, 21, 22, 23, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 33, -1, -1, 1008, - -1, 156, 157, 158, 159, 160, 161, 162, -1, 164, - 165, 166, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 411, -1, -1, -1, -1, 33, 844, 845, 846, + -1, 848, -1, 850, -1, 852, 853, -1, -1, -1, + 113, 114, 801, 116, -1, -1, 445, 446, 121, -1, + 123, -1, -1, -1, -1, -1, -1, 447, -1, 458, + -1, 820, -1, 462, 463, -1, -1, -1, -1, 459, + -1, -1, 831, -1, -1, -1, 835, 150, -1, -1, + -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 481, -1, -1, 853, -1, -1, -1, -1, 489, + -1, -1, -1, -1, -1, 864, 865, 866, 867, 868, + 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, + 879, 880, 881, 882, 883, 1127, -1, 886, -1, -1, + -1, -1, -1, -1, 3, 4, 5, 6, -1, 8, + 9, 10, -1, -1, 534, -1, 15, 154, 155, 156, + 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, + 685, 686, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 932, 1367, -1, 1369, 1370, 1371, 1372, + 1373, 50, 1375, -1, -1, -1, -1, -1, -1, 948, + -1, -1, 582, 62, -1, -1, -1, -1, 67, -1, + -1, 600, -1, -1, 603, 604, 75, 76, 17, 599, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1039, -1, -1, -1, -1, -1, 3, 4, 5, 6, + -1, -1, 621, -1, 33, 624, 625, -1, -1, 628, + -1, -1, -1, 632, -1, -1, 635, 636, 47, -1, + 109, 631, 111, 1002, 113, 1004, -1, 1006, -1, 118, + -1, 60, 61, 122, -1, -1, 125, -1, -1, 649, + -1, 130, -1, -1, 133, -1, -1, 76, 1461, 1462, + 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, + 1473, 1474, 1475, 1476, 1477, 1478, 155, -1, -1, 158, + 159, -1, -1, -1, 163, -1, 165, -1, 107, -1, + 169, 110, -1, -1, 113, 1122, 16, 17, 18, 19, + 20, 21, 22, 23, -1, 1074, -1, 707, -1, -1, + 129, -1, -1, 33, -1, -1, -1, 726, -1, -1, + 729, 730, 141, 732, -1, -1, -1, -1, 1531, 20, + 21, 22, 23, -1, -1, -1, 155, -1, -1, 739, + 749, -1, 33, -1, 753, 754, -1, -1, -1, -1, + 759, -1, -1, -1, -1, 1367, -1, 1369, 1370, 1371, + 1372, 1373, -1, 1375, -1, -1, 901, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 777, -1, -1, + -1, 1584, 791, -1, 1587, 794, 795, -1, 16, 17, + 18, 19, 20, 21, 22, 23, -1, -1, -1, -1, + -1, -1, -1, -1, 813, 33, -1, -1, -1, -1, + -1, -1, -1, -1, 823, 824, -1, -1, -1, -1, + -1, -1, -1, -1, 833, -1, -1, -1, 148, -1, + -1, -1, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, -1, 164, 165, 166, 167, -1, 1461, + 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, + 1472, 1473, 1474, 1475, 1476, 1477, 1478, 158, 159, 160, + 161, 162, -1, 164, 165, 166, 3, 4, 5, 6, + -1, 8, 9, 10, 884, -1, -1, -1, 15, -1, + -1, -1, -1, -1, -1, -1, -1, 906, -1, -1, + 909, 910, -1, 903, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1284, 925, -1, -1, -1, + -1, -1, -1, 50, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 62, 164, 165, 166, -1, + 67, -1, 170, -1, -1, 954, -1, 1374, 75, 76, + -1, -1, -1, -1, 81, -1, -1, -1, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 1342, -1, 1587, -1, -1, 1347, -1, + -1, -1, -1, -1, 111, -1, 113, -1, 997, -1, + -1, 118, -1, -1, -1, 122, -1, -1, 125, -1, + -1, -1, -1, 130, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1025, 1026, 1445, 1446, + 1447, 1448, 1022, 1450, -1, 1452, 1395, -1, 155, -1, + -1, 158, 159, 160, -1, -1, 163, -1, 165, 166, + -1, -1, 169, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 1069, -1, -1, -1, -1, -1, -1, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 1111, 70, -1, 72, 73, 74, 75, 76, - 77, 78, 79, 80, -1, 82, 83, 84, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - -1, 1092, -1, 100, -1, -1, -1, -1, -1, -1, + 67, 68, 1481, 70, 1123, 72, 73, 74, 75, 76, + 77, 78, 79, 80, -1, 82, 83, 84, -1, -1, + -1, 16, 17, 18, 19, 20, 21, 22, 23, -1, + -1, -1, -1, 100, -1, -1, -1, 1147, 33, -1, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -1, -1, -1, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, -1, 169, 170, -1, 3, 4, 5, 6, -1, - 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, + 167, 168, 169, 170, -1, -1, -1, -1, -1, -1, + -1, -1, 47, -1, 49, -1, -1, -1, 53, -1, + -1, -1, -1, -1, -1, 60, 61, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 71, 72, 73, -1, + -1, -1, -1, -1, 3, 4, 5, 6, 83, 8, + 9, 10, 11, -1, -1, -1, 15, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 1287, 164, + 165, 166, 107, 108, -1, 170, -1, -1, -1, -1, + -1, -1, 117, -1, -1, -1, -1, -1, 123, -1, + -1, 50, -1, 128, 1313, 54, -1, 56, 57, 58, + -1, -1, 1321, 62, 139, 1324, 141, 66, 67, -1, + -1, -1, -1, -1, -1, -1, 75, 76, 77, 1329, + -1, -1, 81, -1, -1, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, + 109, -1, 111, -1, 113, -1, -1, -1, -1, 118, + -1, 120, 121, 122, -1, -1, 125, -1, 1387, -1, + -1, 130, -1, -1, 133, -1, -1, -1, 137, -1, + -1, 1400, -1, 142, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 155, -1, -1, 158, + 159, 160, -1, -1, 163, -1, 165, 166, -1, -1, + 169, -1, -1, -1, -1, -1, -1, -1, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, -1, -1, -1, -1, -1, -1, -1, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, -1, 1479, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, -1, 70, -1, 72, 73, + 74, 75, 76, 77, 78, 79, 80, -1, 82, 83, + 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 100, -1, 1528, -1, + -1, -1, -1, 107, 108, 109, -1, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + -1, -1, -1, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, -1, 169, 170, 3, 4, 5, + 6, -1, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 16, 17, 18, - 19, 20, 21, 22, 23, -1, -1, -1, -1, -1, - -1, -1, 50, 51, 33, -1, 54, -1, 56, 57, - 58, 59, 60, -1, 62, 63, -1, -1, 66, 67, - -1, -1, 70, -1, 1283, -1, -1, 75, 76, 77, - -1, -1, -1, 81, -1, -1, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, -1, -1, -1, -1, -1, -1, -1, - -1, 109, -1, 111, -1, 113, -1, -1, -1, -1, - 118, -1, 120, 121, 122, -1, -1, 125, 126, -1, - -1, -1, 130, -1, -1, 133, 134, 135, 136, 137, - -1, -1, 140, -1, 142, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 155, -1, -1, - 158, 159, 160, -1, -1, 163, 1327, 165, 166, -1, - -1, 169, -1, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, -1, 164, 165, 166, -1, -1, - -1, 170, -1, 3, 4, 5, 6, -1, 8, 9, - 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1426, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1392, 1393, 1394, 1395, -1, 1397, -1, 1399, -1, - 50, 51, -1, -1, 54, -1, 56, 57, 58, 59, - -1, -1, 62, 63, -1, -1, 66, 67, -1, -1, - 70, -1, -1, -1, 1473, 75, 76, 77, -1, -1, - -1, 81, -1, -1, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, -1, -1, -1, -1, -1, -1, -1, -1, 109, - -1, 111, -1, 113, -1, -1, -1, -1, 118, -1, - 120, 121, 122, -1, -1, 125, 126, -1, -1, -1, - 130, -1, -1, 133, 134, 135, 136, 137, -1, -1, - 140, -1, 142, -1, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, -1, 155, 15, -1, 158, 159, - 160, -1, -1, 163, -1, 165, 166, -1, -1, 169, - -1, -1, -1, -1, -1, 16, 17, 18, 19, 20, - 21, 22, 23, -1, -1, -1, -1, -1, -1, -1, - -1, 50, 33, -1, -1, 54, -1, 56, 57, 58, - -1, -1, -1, 62, -1, -1, -1, 66, 67, -1, - -1, -1, -1, -1, -1, -1, 75, 76, 77, -1, - -1, -1, 81, -1, -1, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, - 109, -1, 111, -1, 113, -1, -1, -1, -1, 118, - -1, 120, 121, 122, -1, -1, 125, -1, -1, -1, - -1, 130, -1, -1, 133, -1, -1, -1, 137, 3, - 4, 5, 6, 142, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, -1, 155, -1, -1, 158, - 159, 160, -1, -1, 163, -1, 165, 166, -1, -1, - 169, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, -1, 164, 165, 166, 50, -1, -1, 170, - 54, -1, 56, 57, 58, -1, -1, -1, 62, -1, - -1, -1, 66, 67, -1, 10, 11, 12, -1, -1, - -1, 75, 76, 77, -1, -1, -1, 81, -1, -1, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, - -1, -1, -1, -1, -1, 109, -1, 111, -1, 113, - -1, -1, -1, -1, 118, -1, 120, 121, 122, 64, - -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, - -1, 76, 77, 137, 3, 4, 5, 6, 142, 8, - 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, - -1, 155, -1, -1, 158, 159, 160, -1, -1, 163, - -1, 165, 166, 167, -1, 169, -1, -1, 113, 114, - -1, 116, -1, -1, -1, -1, 121, -1, 123, -1, - -1, 50, 51, -1, -1, 54, -1, 56, 57, 58, - -1, -1, -1, 62, -1, -1, -1, 66, 67, -1, - -1, -1, -1, -1, -1, 150, 75, 76, 77, -1, - -1, -1, 81, -1, -1, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, - 109, -1, 111, -1, 113, -1, -1, -1, -1, 118, - -1, 120, 121, 122, -1, -1, 125, -1, -1, -1, - -1, 130, -1, -1, 133, -1, -1, -1, 137, 3, - 4, 5, 6, 142, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, -1, 155, -1, -1, 158, - 159, 160, -1, -1, 163, -1, 165, 166, -1, -1, - 169, -1, -1, -1, 16, 17, 18, 19, 20, 21, - 22, 23, -1, -1, -1, -1, 50, 51, -1, -1, - 54, 33, 56, 57, 58, -1, -1, -1, 62, -1, - -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, - -1, 75, 76, 77, -1, -1, -1, 81, -1, -1, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, - -1, -1, -1, -1, -1, 109, -1, 111, -1, 113, - -1, -1, -1, -1, 118, -1, 120, 121, 122, -1, - -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, - -1, -1, -1, 137, 3, 4, 5, 6, 142, 8, - 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, - -1, 155, -1, -1, 158, 159, 160, -1, -1, 163, - -1, 165, 166, -1, -1, 169, -1, -1, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 50, 164, 165, 166, 54, -1, 56, 57, 58, - -1, -1, -1, 62, -1, -1, -1, 66, 67, -1, - -1, -1, -1, -1, -1, -1, 75, 76, 77, -1, - -1, -1, 81, -1, -1, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, - 109, -1, 111, -1, 113, -1, -1, -1, -1, 118, - -1, 120, 121, 122, -1, -1, 125, -1, -1, -1, - -1, 130, -1, -1, 133, -1, -1, -1, 137, 3, - 4, 5, 6, 142, 8, 9, 10, 11, 147, -1, - -1, -1, -1, -1, -1, -1, 155, -1, -1, 158, - 159, 160, -1, -1, 163, -1, 165, 166, -1, -1, - 169, -1, -1, -1, 16, 17, 18, 19, 20, 21, - 22, 23, -1, -1, -1, -1, 50, -1, -1, -1, - 54, 33, 56, 57, 58, -1, -1, -1, 62, -1, - -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, - -1, 75, 76, 77, -1, -1, -1, 81, -1, -1, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, - -1, -1, -1, -1, -1, 109, -1, 111, -1, 113, - -1, -1, -1, -1, 118, -1, 120, 121, 122, -1, - -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, - -1, -1, -1, 137, 3, 4, 5, 6, 142, 8, - 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, - -1, 155, -1, -1, 158, 159, 160, -1, -1, 163, - -1, 165, 166, 167, -1, 169, -1, 149, -1, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 50, 164, 165, 166, 54, -1, 56, 57, 58, - -1, -1, -1, 62, -1, -1, -1, 66, 67, -1, - -1, -1, -1, -1, -1, -1, 75, 76, 77, -1, - -1, -1, 81, -1, -1, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, - 109, -1, 111, -1, 113, -1, -1, -1, -1, 118, - -1, 120, 121, 122, -1, -1, 125, -1, -1, -1, - -1, 130, -1, -1, 133, -1, -1, -1, 137, 3, - 4, 5, 6, 142, 8, 9, 10, 11, 147, -1, - -1, -1, -1, -1, -1, -1, 155, -1, -1, 158, - 159, 160, -1, -1, 163, -1, 165, 166, -1, -1, - 169, -1, -1, -1, 16, 17, 18, 19, 20, 21, - 22, 23, -1, -1, -1, -1, 50, -1, -1, -1, - 54, 33, 56, 57, 58, -1, -1, -1, 62, -1, - -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, - -1, 75, 76, 77, -1, -1, -1, 81, -1, -1, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, - -1, -1, -1, -1, -1, 109, -1, 111, -1, 113, - -1, -1, -1, -1, 118, -1, 120, 121, 122, -1, - -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, - -1, -1, -1, 137, 3, 4, 5, 6, 142, 8, - 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, - -1, 155, -1, -1, 158, 159, 160, -1, -1, 163, - -1, 165, 166, 167, -1, 169, 148, -1, -1, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 50, 164, 165, 166, 54, -1, 56, 57, 58, - -1, -1, -1, 62, -1, -1, -1, 66, 67, -1, - -1, -1, -1, -1, -1, -1, 75, 76, 77, -1, - -1, -1, 81, -1, -1, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, - 109, -1, 111, -1, 113, 10, 11, 12, -1, 118, - -1, 120, 121, 122, -1, -1, 125, -1, -1, -1, - -1, 130, -1, -1, 133, -1, -1, -1, 137, 3, - 4, 5, 6, 142, 8, 9, 10, 11, 12, -1, - -1, 15, 47, -1, 49, -1, 155, -1, -1, 158, - 159, 160, -1, -1, 163, -1, 165, 166, -1, 64, - 169, 16, 17, 18, 19, 20, 21, 22, 23, -1, - -1, 76, 77, 47, -1, -1, 50, 51, 33, -1, - 54, -1, 56, 57, 58, 59, 60, -1, 62, 63, - -1, -1, 66, 67, -1, -1, 70, -1, -1, -1, - -1, 75, 76, 77, -1, -1, -1, -1, 113, 114, - 84, 116, -1, -1, -1, -1, 121, -1, 123, -1, - -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, - -1, -1, -1, -1, -1, 109, -1, 111, -1, 113, - -1, -1, 147, 117, 118, -1, 120, 121, 122, -1, - -1, 125, 126, -1, -1, -1, 130, -1, -1, 133, - 134, 135, 136, 137, -1, -1, 140, -1, 142, 3, - 4, 5, 6, -1, 8, 9, 10, 11, -1, -1, - -1, 155, -1, -1, 158, 159, -1, -1, -1, 163, - -1, 165, -1, -1, -1, 169, -1, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, -1, 164, - 165, 166, -1, -1, -1, 170, 50, -1, -1, -1, - 54, -1, 56, 57, 58, -1, -1, -1, 62, -1, - -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, - -1, 75, 76, 77, -1, -1, -1, 81, -1, -1, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, - -1, -1, -1, -1, -1, 109, -1, 111, -1, 113, - 10, 11, 12, -1, 118, -1, 120, 121, 122, -1, - -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, - -1, -1, -1, 137, 3, 4, 5, 6, 142, 8, - 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, - -1, 165, 166, -1, 64, 169, 16, 17, 18, 19, - 20, 21, 22, 23, -1, -1, 76, 77, 47, -1, - -1, 50, 51, 33, -1, 54, -1, 56, 57, 58, - 59, 60, -1, 62, 63, -1, -1, 66, 67, -1, - -1, 70, -1, -1, -1, -1, 75, 76, 77, -1, - -1, -1, -1, 113, 114, 84, 116, -1, -1, -1, - -1, 121, -1, 123, -1, 10, 11, 12, -1, -1, - -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, - 109, -1, 111, -1, 113, -1, -1, 147, 117, 118, - -1, 120, 121, 122, -1, -1, 125, 126, -1, -1, - -1, 130, -1, -1, 133, 134, 135, 136, 137, -1, - -1, 140, -1, 142, -1, 3, 4, 5, 6, 64, - 8, 9, 10, -1, -1, -1, 155, 15, -1, 158, - 159, 76, 77, -1, 163, -1, 165, -1, 148, -1, - 169, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, -1, 164, 165, 166, 167, -1, -1, - -1, -1, 50, -1, -1, -1, -1, -1, 113, 114, - 115, 116, -1, -1, 62, -1, 121, -1, 123, 67, - -1, -1, -1, -1, -1, -1, -1, 75, 76, 134, - -1, -1, -1, 81, 139, -1, -1, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, -1, -1, -1, 3, 4, 5, 6, -1, - 8, 9, 10, 111, -1, 113, -1, -1, -1, -1, - 118, -1, -1, -1, 122, -1, -1, 125, -1, -1, - -1, -1, 130, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 50, -1, -1, -1, -1, 155, -1, -1, - 158, 159, 160, -1, 62, 163, -1, 165, 166, 67, - -1, 169, -1, -1, -1, -1, -1, 75, 76, -1, - -1, -1, -1, 81, -1, -1, -1, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, -1, -1, -1, 3, 4, 5, 6, -1, - 8, 9, 10, 111, -1, 113, -1, -1, -1, -1, - 118, -1, -1, -1, 122, -1, -1, 125, -1, -1, - -1, -1, 130, -1, -1, -1, -1, -1, -1, -1, - -1, 16, 17, 18, 19, 20, 21, 22, 23, -1, - -1, -1, 50, -1, -1, -1, -1, 155, 33, -1, - 158, 159, 160, -1, 62, 163, -1, 165, 166, 67, - -1, 169, -1, -1, -1, -1, -1, 75, 76, -1, - -1, -1, -1, 81, -1, -1, -1, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 3, 4, 5, 6, -1, 8, 9, 10, - -1, -1, -1, 111, 15, 113, -1, -1, -1, -1, - 118, -1, -1, -1, 122, -1, -1, 125, -1, 17, - -1, -1, 130, -1, -1, -1, -1, -1, -1, 10, - 11, 12, -1, -1, -1, 33, -1, -1, -1, 50, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, - -1, 62, -1, -1, -1, 163, 67, 165, 166, -1, - -1, 169, 60, 61, 75, 76, -1, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 76, 164, - 165, 166, 167, 64, -1, -1, -1, 16, 17, 18, - 19, 20, 21, 22, 23, 76, 77, -1, 109, -1, - 111, -1, 113, -1, 33, -1, -1, 118, -1, 107, - -1, 122, 110, -1, 125, 113, -1, -1, -1, 130, - -1, -1, 133, -1, -1, -1, 54, -1, 56, 57, - 58, 129, 113, 114, -1, 116, -1, -1, 66, -1, - 121, -1, 123, 141, 155, -1, -1, 158, 159, 6, - -1, -1, 163, 134, 165, -1, 84, 155, 169, 16, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, 17, 18, 19, 20, 21, 22, 23, -1, -1, -1, - -1, -1, 100, -1, -1, -1, 33, -1, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - -1, -1, 120, 121, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 65, 137, - -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, - -1, 10, 11, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, -1, 164, 165, 166, 167, -1, - 16, 17, 18, 19, 20, 21, 22, 23, -1, -1, - -1, -1, 109, -1, -1, -1, -1, 33, -1, -1, - -1, -1, 51, -1, -1, 54, -1, 56, 57, 58, - 59, -1, -1, -1, 63, -1, -1, 66, -1, -1, - -1, 70, 10, 11, 12, -1, -1, -1, 77, -1, - -1, 148, -1, -1, 151, 84, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, -1, 165, 166, - -1, 100, 169, 10, 11, -1, -1, -1, -1, -1, - -1, -1, -1, 112, -1, -1, 54, -1, 56, 57, - 58, 120, 121, -1, -1, -1, -1, 126, 66, -1, - -1, -1, -1, -1, -1, 134, 135, 136, 137, 77, - -1, 140, -1, 142, 51, -1, 84, 54, 147, 56, - 57, 58, 59, -1, -1, -1, 63, -1, -1, 66, - -1, -1, 100, 70, 163, 17, 152, 153, 154, 155, - 77, -1, 158, 159, 160, 161, 162, 84, 164, 165, - 166, -1, 120, 121, -1, -1, -1, -1, -1, -1, - 10, 11, -1, 100, -1, 47, -1, -1, -1, 137, - -1, -1, 140, -1, 142, 112, -1, -1, 60, 61, - -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, - -1, -1, -1, -1, 76, -1, -1, 134, 135, 136, - 137, 51, -1, 140, 54, 142, 56, 57, 58, 59, - -1, -1, -1, 63, -1, -1, 66, -1, -1, -1, - 70, -1, -1, -1, -1, 107, 163, 77, 110, -1, - -1, 113, -1, -1, 84, 16, 17, 18, 19, 20, - 21, 22, 23, -1, -1, -1, -1, 129, -1, -1, - 100, -1, 33, -1, -1, -1, -1, -1, -1, 141, - -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, - 120, 121, -1, 155, -1, -1, 126, -1, -1, -1, - -1, -1, -1, -1, 134, 135, 136, 137, -1, -1, - 140, -1, 142, 16, 17, 18, 19, 20, 21, 22, - 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 33, -1, -1, 163, 16, 17, 18, 19, 20, 21, - 22, 23, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 33, 16, 17, 18, 19, 20, 21, 22, 23, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, - 16, 17, 18, 19, 20, 21, 22, 23, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 33, -1, -1, - -1, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, -1, 164, 165, 166, 167, 16, 17, 18, - 19, 20, 21, 22, 23, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 33, 16, 17, 18, 19, 20, - 21, 22, 23, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 33, -1, -1, -1, -1, -1, -1, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - -1, 164, 165, 166, 167, -1, -1, -1, -1, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, -1, -1, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, -1, - 164, 165, 166, 167, -1, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, -1, 164, 165, - 166, 167, 16, 17, 18, 19, 20, 21, 22, 23, - -1, -1, -1, -1, -1, -1, 10, 11, 12, 33, + -1, -1, -1, -1, 50, 51, 33, -1, 54, -1, + 56, 57, 58, 59, 60, -1, 62, 63, -1, -1, + 66, 67, -1, -1, 70, -1, -1, -1, -1, 75, + 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, + -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, + -1, -1, 118, -1, 120, 121, 122, -1, -1, 125, + 126, -1, -1, -1, 130, -1, -1, 133, 134, 135, + 136, 137, -1, -1, 140, -1, 142, 3, 4, 5, + 6, -1, 8, 9, 10, 11, -1, -1, -1, 155, + -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, + 166, -1, -1, 169, -1, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, + -1, -1, -1, 170, 50, 51, -1, -1, 54, -1, + 56, 57, 58, 59, -1, -1, 62, 63, -1, -1, + 66, 67, -1, -1, 70, -1, -1, -1, -1, 75, + 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 54, -1, 56, 57, 58, + -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, + -1, -1, 118, -1, 120, 121, 122, -1, -1, 125, + 126, -1, -1, -1, 130, 84, -1, 133, 134, 135, + 136, 137, -1, -1, 140, -1, 142, 3, 4, 5, + 6, 100, 8, 9, 10, 11, -1, -1, -1, 155, + -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, + 166, 120, 121, 169, -1, -1, -1, -1, 16, 17, + 18, 19, 20, 21, 22, 23, -1, -1, 137, -1, + -1, -1, -1, 142, 50, 33, -1, -1, 54, -1, + 56, 57, 58, -1, -1, -1, 62, -1, 64, 65, + 66, 67, -1, -1, -1, -1, 165, -1, -1, 75, + 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, + -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, + -1, -1, 118, -1, 120, 121, 122, -1, -1, 125, + -1, -1, -1, -1, 130, -1, -1, 133, -1, -1, + -1, 137, 3, 4, 5, 6, 142, 8, 9, 10, + 11, 147, -1, -1, -1, -1, -1, -1, -1, 155, + -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, + 166, -1, 150, 169, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, 164, 165, 166, 50, + -1, -1, -1, 54, -1, 56, 57, 58, -1, -1, + -1, 62, -1, -1, -1, 66, 67, -1, 10, 11, + 12, -1, -1, -1, 75, 76, 77, -1, -1, -1, + 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + -1, -1, -1, -1, -1, 47, -1, 49, 109, -1, + 111, -1, 113, -1, -1, -1, -1, 118, -1, 120, + 121, 122, 64, -1, 125, -1, -1, -1, -1, 130, + -1, -1, 133, -1, 76, 77, 137, 3, 4, 5, + 6, 142, 8, 9, 10, 11, -1, -1, -1, -1, + -1, -1, -1, -1, 155, -1, -1, 158, 159, 160, + -1, -1, 163, -1, 165, 166, 167, -1, 169, -1, + -1, 113, 114, -1, 116, -1, -1, -1, -1, 121, + -1, 123, -1, -1, 50, 51, -1, -1, 54, -1, + 56, 57, 58, -1, -1, -1, 62, -1, -1, -1, + 66, 67, -1, -1, -1, 147, -1, -1, -1, 75, + 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, + -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, + -1, -1, 118, -1, 120, 121, 122, -1, -1, 125, + -1, -1, -1, -1, 130, -1, -1, 133, -1, -1, + -1, 137, 3, 4, 5, 6, 142, 8, 9, 10, + 11, -1, -1, -1, -1, -1, -1, -1, -1, 155, + -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, + 166, -1, -1, 169, -1, -1, -1, 16, 17, 18, + 19, 20, 21, 22, 23, -1, -1, -1, -1, 50, + 51, -1, -1, 54, 33, 56, 57, 58, -1, -1, + -1, 62, -1, -1, -1, 66, 67, -1, -1, -1, + -1, -1, -1, -1, 75, 76, 77, -1, -1, -1, + 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, + 111, -1, 113, -1, -1, -1, -1, 118, -1, 120, + 121, 122, -1, -1, 125, -1, -1, -1, -1, 130, + -1, -1, 133, -1, -1, -1, 137, 3, 4, 5, + 6, 142, 8, 9, 10, 11, -1, -1, -1, -1, + -1, -1, -1, -1, 155, -1, -1, 158, 159, 160, + -1, -1, 163, -1, 165, 166, -1, -1, 169, -1, + 149, -1, -1, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 50, 164, 165, 166, 54, -1, + 56, 57, 58, -1, -1, -1, 62, -1, -1, -1, + 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, + 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, + -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, + -1, -1, 118, -1, 120, 121, 122, -1, -1, 125, + -1, -1, -1, -1, 130, -1, -1, 133, -1, -1, + -1, 137, 3, 4, 5, 6, 142, 8, 9, 10, + 11, 147, -1, -1, -1, -1, -1, -1, -1, 155, + -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, + 166, -1, -1, 169, -1, -1, -1, 16, 17, 18, + 19, 20, 21, 22, 23, -1, -1, -1, -1, 50, + -1, -1, -1, 54, 33, 56, 57, 58, -1, -1, + -1, 62, -1, -1, -1, 66, 67, -1, -1, -1, + -1, -1, -1, -1, 75, 76, 77, -1, -1, -1, + 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, + 111, -1, 113, -1, -1, -1, -1, 118, -1, 120, + 121, 122, -1, -1, 125, -1, -1, -1, -1, 130, + -1, -1, 133, -1, -1, -1, 137, 3, 4, 5, + 6, 142, 8, 9, 10, 11, -1, -1, -1, -1, + -1, -1, -1, -1, 155, -1, -1, 158, 159, 160, + -1, -1, 163, -1, 165, 166, 167, -1, 169, 148, + -1, -1, -1, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 50, 164, 165, 166, 54, -1, + 56, 57, 58, -1, -1, -1, 62, -1, -1, -1, + 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, + 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, + -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, + -1, -1, 118, -1, 120, 121, 122, -1, -1, 125, + -1, -1, -1, -1, 130, -1, -1, 133, -1, -1, + -1, 137, 3, 4, 5, 6, 142, 8, 9, 10, + 11, 147, -1, -1, -1, -1, -1, -1, -1, 155, + -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, + 166, -1, -1, 169, -1, -1, -1, 16, 17, 18, + 19, 20, 21, 22, 23, -1, -1, -1, -1, 50, + -1, -1, -1, 54, 33, 56, 57, 58, -1, -1, + -1, 62, -1, -1, -1, 66, 67, -1, -1, -1, + -1, -1, -1, -1, 75, 76, 77, -1, -1, -1, + 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, + 111, -1, 113, -1, -1, -1, -1, 118, -1, 120, + 121, 122, -1, -1, 125, -1, -1, -1, -1, 130, + -1, -1, 133, -1, -1, -1, 137, 3, 4, 5, + 6, 142, 8, 9, 10, 11, -1, -1, -1, -1, + -1, -1, -1, -1, 155, -1, -1, 158, 159, 160, + -1, -1, 163, -1, 165, 166, 167, -1, 169, -1, -1, 150, -1, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, -1, 164, 165, 166, -1, -1, - -1, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 0, 164, 165, 166, -1, -1, -1, -1, - -1, 17, 18, 19, 20, 21, 22, 23, -1, -1, - 64, -1, -1, -1, -1, -1, -1, 33, -1, -1, - -1, -1, 76, 77, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, - -1, 49, -1, -1, 52, 53, -1, -1, -1, -1, - -1, -1, 60, 61, 108, -1, -1, -1, -1, 113, - 114, 69, 116, 71, 72, 73, 74, 121, -1, 123, - 78, -1, -1, -1, -1, 83, -1, -1, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, -1, - 164, 165, 166, 101, 102, 103, 104, 105, 106, 107, - 108, -1, -1, -1, -1, -1, 114, 115, 116, 117, - -1, -1, -1, -1, -1, 123, 124, 11, 12, 127, - 128, 15, -1, 17, 132, -1, -1, -1, -1, -1, - 138, 139, -1, 141, -1, -1, -1, 153, 154, 155, - -1, 149, 158, 159, 160, 161, 162, -1, 164, 165, - 166, -1, -1, 47, -1, -1, -1, 51, -1, -1, - 54, -1, 56, 57, 58, 59, 60, -1, -1, 63, - -1, -1, 66, -1, -1, -1, 70, 18, 19, 20, - 21, 22, 23, 77, -1, 54, -1, 56, 57, 58, - 84, -1, 33, 18, 19, 20, 21, 22, 23, -1, - -1, -1, -1, -1, -1, -1, 100, -1, 33, 18, - 19, 20, 21, 22, 23, 84, -1, -1, -1, -1, - -1, -1, -1, 117, 33, -1, 120, 121, -1, -1, - -1, 100, 126, -1, 18, 19, 20, 21, 22, 23, - 134, 135, 136, 137, -1, -1, 140, -1, 142, 33, - -1, 120, 121, -1, -1, -1, -1, -1, -1, -1, - -1, 155, -1, -1, -1, -1, 160, -1, 137, -1, - -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, + 159, 160, 161, 162, 50, 164, 165, 166, 54, -1, + 56, 57, 58, -1, -1, -1, 62, -1, -1, -1, + 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, + 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, + -1, -1, -1, 109, -1, 111, -1, 113, 10, 11, + 12, -1, 118, -1, 120, 121, 122, -1, -1, 125, + -1, -1, -1, -1, 130, -1, -1, 133, -1, -1, + -1, 137, 3, 4, 5, 6, 142, 8, 9, 10, + 11, 12, -1, -1, 15, -1, -1, -1, -1, 155, + -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, + 166, -1, 64, 169, 16, 17, 18, 19, 20, 21, + 22, 23, -1, -1, 76, 77, 47, -1, -1, 50, + 51, 33, -1, 54, -1, 56, 57, 58, 59, 60, + -1, 62, 63, -1, -1, 66, 67, -1, -1, 70, + -1, -1, -1, -1, 75, 76, 77, -1, -1, -1, + -1, 113, 114, 84, 116, -1, -1, -1, -1, 121, + -1, 123, -1, -1, -1, -1, -1, -1, -1, 100, + -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, + 111, -1, 113, -1, -1, 147, 117, 118, -1, 120, + 121, 122, -1, -1, 125, 126, -1, -1, -1, 130, + -1, -1, 133, 134, 135, 136, 137, -1, -1, 140, + -1, 142, 3, 4, 5, 6, -1, 8, 9, 10, + 11, -1, -1, -1, 155, -1, -1, 158, 159, -1, + -1, -1, 163, -1, 165, -1, -1, -1, 169, -1, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, -1, 164, 165, 166, 167, -1, -1, -1, 50, + -1, -1, -1, 54, -1, 56, 57, 58, -1, -1, + -1, 62, -1, -1, -1, 66, 67, -1, -1, -1, + -1, -1, -1, -1, 75, 76, 77, -1, -1, -1, + 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, + 111, -1, 113, 10, 11, 12, -1, 118, -1, 120, + 121, 122, -1, -1, 125, -1, -1, -1, -1, 130, + -1, -1, 133, -1, -1, -1, 137, 3, 4, 5, + 6, 142, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 10, 11, 12, -1, 165, -1, -1, -1, + -1, -1, 163, -1, 165, 166, -1, 64, 169, 16, + 17, 18, 19, 20, 21, 22, 23, -1, -1, 76, + 77, 47, -1, -1, 50, 51, 33, -1, 54, -1, + 56, 57, 58, 59, 60, -1, 62, 63, -1, -1, + 66, 67, -1, -1, 70, -1, -1, -1, -1, 75, + 76, 77, -1, -1, -1, -1, 113, 114, 84, 116, + -1, -1, -1, -1, 121, -1, 123, -1, -1, -1, + -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, + -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, + 147, 117, 118, -1, 120, 121, 122, -1, -1, 125, + 126, -1, -1, -1, 130, -1, -1, 133, 134, 135, + 136, 137, -1, -1, 140, -1, 142, 3, 4, 5, + 6, -1, 8, 9, 10, -1, -1, -1, -1, 155, + -1, -1, 158, 159, -1, -1, -1, 163, -1, 165, + -1, -1, -1, 169, -1, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, + 167, -1, -1, -1, 50, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, + -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, + 76, -1, -1, -1, -1, 81, -1, -1, -1, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, -1, -1, -1, 3, 4, 5, + 6, -1, 8, 9, 10, 111, -1, 113, -1, -1, + -1, -1, 118, -1, -1, -1, 122, -1, -1, 125, + -1, -1, -1, -1, 130, -1, -1, -1, -1, -1, + -1, -1, -1, 16, 17, 18, 19, 20, 21, 22, + 23, -1, -1, -1, 50, -1, -1, -1, -1, 155, + 33, -1, 158, 159, 160, -1, 62, 163, -1, 165, + 166, 67, -1, 169, -1, -1, -1, -1, -1, 75, + 76, -1, -1, -1, -1, 81, -1, -1, -1, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 111, -1, 113, -1, -1, + -1, -1, 118, -1, -1, 6, 122, -1, -1, 125, + -1, -1, -1, -1, 130, 16, 17, 18, 19, 20, + 21, 22, 23, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 33, -1, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, -1, 163, -1, 165, + 166, -1, -1, 169, -1, -1, -1, -1, -1, 152, + 153, 154, 155, -1, 65, 158, 159, 160, 161, 162, + -1, 164, 165, 166, -1, -1, -1, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, -1, 164, 165, 166, -1, -1, 153, 154, - 155, -1, -1, 158, 159, 160, 161, 162, -1, 164, - 165, 166, -1, -1, -1, 6, 64, 156, 157, 158, - 159, 160, 161, 162, -1, 164, 165, 166, 76, 77, - -1, -1, -1, -1, -1, -1, 10, 11, 12, -1, - 154, 155, 6, -1, 158, 159, 160, 161, 162, -1, - 164, 165, 166, -1, -1, -1, 47, -1, 49, -1, - -1, -1, 53, -1, -1, 113, 114, -1, 116, 60, - 61, -1, -1, 121, -1, 123, -1, -1, -1, -1, - 71, 72, 73, 47, -1, 49, -1, -1, -1, 53, - 64, -1, 83, -1, -1, -1, 60, 61, -1, 147, - -1, -1, 76, 77, -1, -1, -1, 71, 72, 73, - -1, -1, -1, 10, 11, 12, 107, -1, -1, 83, - -1, -1, 10, 11, 12, -1, 117, -1, -1, -1, - -1, -1, 123, -1, -1, -1, 127, 128, -1, 113, - 114, -1, 116, 107, -1, -1, -1, 121, 139, 123, - 141, -1, -1, 117, 11, 12, -1, -1, 15, 123, - 134, -1, -1, -1, 128, 139, 54, 64, 56, 57, - 58, 59, 60, -1, -1, 139, -1, 141, 66, 76, - 77, -1, -1, -1, -1, -1, -1, -1, -1, 77, - 47, -1, -1, -1, 51, -1, 84, 54, -1, 56, + -1, 18, 19, 20, 21, 22, 23, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 33, -1, 109, 20, + 21, 22, 23, -1, -1, -1, -1, -1, 51, -1, + -1, 54, 33, 56, 57, 58, 59, -1, -1, -1, + 63, -1, -1, 66, -1, -1, -1, 70, -1, -1, + -1, -1, -1, -1, 77, -1, -1, 148, -1, -1, + 151, 84, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, 166, -1, 100, 169, 10, + 11, -1, -1, -1, -1, -1, -1, -1, -1, 112, + -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, + -1, -1, -1, 126, 54, -1, 56, 57, 58, -1, + -1, 134, 135, 136, 137, -1, 66, 140, -1, 142, + 51, -1, -1, 54, 147, 56, 57, 58, 59, 11, + -1, -1, 63, -1, 84, 66, 153, 154, 155, 70, + 163, 158, 159, 160, 161, 162, 77, 164, 165, 166, + 100, -1, -1, 84, -1, 156, 157, 158, 159, 160, + 161, 162, -1, 164, 165, 166, 10, 11, -1, 100, + 120, 121, 54, -1, 56, 57, 58, -1, -1, -1, + -1, 112, -1, -1, -1, -1, -1, 137, -1, 120, + 121, -1, 142, -1, -1, 126, -1, -1, -1, -1, + -1, -1, 84, 134, 135, 136, 137, 51, -1, 140, + 54, 142, 56, 57, 58, 59, -1, -1, 100, 63, + -1, -1, 66, -1, -1, -1, 70, -1, -1, -1, + -1, -1, 163, 77, -1, -1, -1, -1, 120, 121, + 84, 16, 17, 18, 19, 20, 21, 22, 23, -1, + -1, -1, -1, -1, -1, 137, 100, -1, 33, -1, + 142, -1, -1, 10, 11, 12, -1, -1, 112, -1, + -1, -1, -1, -1, -1, -1, 120, 121, -1, -1, + -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, + 134, 135, 136, 137, -1, -1, 140, -1, 142, 16, + 17, 18, 19, 20, 21, 22, 23, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 33, 64, -1, 163, + 16, 17, 18, 19, 20, 21, 22, 23, -1, 76, + 77, -1, -1, -1, -1, -1, -1, 33, 16, 17, + 18, 19, 20, 21, 22, 23, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 33, 16, 17, 18, 19, + 20, 21, 22, 23, -1, -1, 113, 114, -1, 116, + -1, -1, -1, 33, 121, -1, 123, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, -1, 164, + 165, 166, 167, 16, 17, 18, 19, 20, 21, 22, + 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 33, 16, 17, 18, 19, 20, 21, 22, 23, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, + -1, -1, -1, -1, -1, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, + 167, -1, -1, -1, -1, -1, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, -1, 164, 165, + 166, 167, -1, -1, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, + -1, -1, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, -1, 164, 165, 166, 167, 16, 17, + 18, 19, 20, 21, 22, 23, 54, -1, 56, 57, + 58, -1, -1, -1, -1, 33, -1, -1, -1, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, + -1, 164, 165, 166, 167, -1, 84, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 0, 164, + 165, 166, 100, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 18, 19, 20, 21, 22, 23, + -1, -1, 120, 121, -1, -1, -1, -1, -1, 33, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 137, + -1, -1, -1, -1, 142, 47, -1, 49, -1, -1, + 52, 53, -1, -1, -1, -1, -1, -1, 60, 61, + 18, 19, 20, 21, 22, 23, -1, 69, -1, 71, + 72, 73, 74, -1, -1, 33, 78, -1, -1, -1, + -1, 83, -1, -1, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, 164, 165, 166, 101, + 102, 103, 104, 105, 106, 107, 108, -1, -1, -1, + -1, -1, 114, 115, 116, 117, -1, -1, -1, -1, + -1, 123, 124, 11, 12, 127, 128, 15, -1, 17, + 132, -1, -1, -1, -1, -1, 138, 139, -1, 141, + -1, -1, -1, -1, -1, -1, -1, 149, -1, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 47, + 164, 165, 166, 51, -1, -1, 54, -1, 56, 57, + 58, 59, 60, -1, -1, 63, -1, -1, 66, -1, + -1, -1, 70, -1, -1, -1, -1, -1, -1, 77, + 18, 19, 20, 21, 22, 23, 84, 155, 156, 157, + 158, 159, 160, 161, 162, 33, 164, 165, 166, 10, + 11, 12, 100, 18, 19, 20, 21, 22, 23, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 33, 117, + -1, -1, 120, 121, -1, -1, -1, -1, 126, -1, + 18, 19, 20, 21, 22, 23, 134, 135, 136, 137, + -1, -1, 140, -1, 142, 33, -1, -1, -1, -1, + -1, -1, -1, 64, -1, -1, -1, 155, -1, -1, + -1, -1, 160, -1, -1, 76, 77, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 108, -1, -1, + -1, -1, 113, 114, -1, 116, -1, -1, -1, -1, + 121, -1, 123, -1, 6, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, -1, 164, 165, 166, -1, + -1, -1, -1, -1, -1, 10, 11, 12, -1, 154, + 155, 6, -1, 158, 159, 160, 161, 162, -1, 164, + 165, 166, -1, -1, -1, 47, -1, 49, -1, -1, + -1, 53, -1, -1, -1, -1, -1, 155, 60, 61, + 158, 159, 160, 161, 162, -1, 164, 165, 166, 71, + 72, 73, 47, -1, 49, -1, -1, -1, 53, 64, + -1, 83, -1, -1, -1, 60, 61, -1, -1, -1, + -1, 76, 77, -1, -1, -1, 71, 72, 73, -1, + -1, -1, -1, -1, -1, 107, -1, -1, 83, -1, + -1, 10, 11, 12, -1, 117, -1, -1, -1, -1, + -1, 123, -1, -1, -1, 127, 128, -1, 113, 114, + 115, 116, 107, -1, -1, -1, 121, 139, 123, 141, + -1, -1, 117, 10, 11, 12, -1, -1, 123, 134, + -1, -1, -1, 128, 139, 54, -1, 56, 57, 58, + 59, 60, -1, -1, 139, -1, 141, 66, -1, -1, + -1, -1, -1, 10, 11, 12, -1, -1, 77, -1, + -1, -1, -1, -1, -1, 84, -1, 54, -1, 56, + 57, 58, -1, -1, -1, -1, -1, -1, -1, 66, + -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, + 77, -1, 11, 12, -1, -1, 15, 84, -1, -1, + -1, 120, 121, -1, -1, -1, -1, 64, -1, -1, + -1, -1, -1, 100, -1, 134, -1, -1, 137, 76, + 77, 140, -1, 142, -1, -1, -1, -1, 47, -1, + -1, -1, 51, 120, 121, 54, -1, 56, 57, 58, + 59, 60, -1, -1, 63, -1, -1, 66, -1, -1, + 137, 70, -1, 140, -1, 142, 113, 114, 77, 116, + -1, -1, -1, -1, 121, 84, 123, -1, -1, -1, + -1, -1, -1, -1, 10, 11, 12, 134, -1, -1, + -1, 100, 139, -1, 11, 12, -1, -1, 15, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 117, -1, + -1, 120, 121, -1, -1, -1, -1, 126, -1, -1, + -1, -1, -1, 11, 12, 134, 135, 136, 137, -1, + 47, 140, -1, 142, 51, -1, -1, 54, 64, 56, 57, 58, 59, 60, -1, -1, 63, -1, -1, 66, - -1, -1, 100, 70, -1, -1, 113, 114, -1, 116, - 77, -1, -1, -1, 121, -1, 123, 84, -1, -1, - -1, -1, 120, 121, -1, -1, -1, 134, -1, -1, - -1, -1, 139, 100, -1, -1, 134, -1, -1, 137, - -1, -1, 140, -1, 142, 11, 12, -1, -1, 15, - 117, -1, -1, 120, 121, -1, -1, -1, -1, 126, - -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, - 137, -1, -1, 140, -1, 142, 11, 12, -1, -1, - -1, 47, -1, -1, -1, 51, -1, -1, 54, -1, - 56, 57, 58, 59, 60, -1, -1, 63, -1, -1, - 66, -1, -1, -1, 70, -1, -1, -1, -1, -1, - -1, 77, 47, 10, 11, 12, 51, -1, 84, 54, - -1, 56, 57, 58, 59, 60, -1, -1, 63, -1, - -1, 66, -1, -1, 100, 70, -1, -1, -1, -1, - -1, -1, 77, -1, -1, -1, -1, -1, -1, 84, - -1, 117, -1, -1, 120, 121, -1, -1, -1, -1, - 126, -1, -1, 11, 12, 100, -1, 64, 134, 135, - 136, 137, -1, -1, 140, -1, 142, -1, -1, 76, - 77, -1, 117, -1, -1, 120, 121, 11, 12, -1, - -1, 126, -1, -1, -1, -1, -1, -1, -1, 134, - 135, 136, 137, 51, -1, 140, 54, 142, 56, 57, - 58, 59, 60, -1, -1, 63, 113, 114, 66, 116, - -1, -1, 70, -1, 121, -1, 123, 51, -1, 77, - 54, -1, 56, 57, 58, 59, 84, -1, -1, 63, - -1, 138, 66, -1, -1, -1, 70, -1, -1, -1, - -1, -1, 100, 77, -1, -1, -1, -1, -1, -1, - 84, 10, 11, 12, -1, -1, -1, -1, -1, -1, - -1, -1, 120, 121, 11, 12, 100, -1, 126, -1, - -1, -1, -1, -1, -1, -1, 134, 135, 136, 137, - -1, -1, 140, 117, 142, -1, 120, 121, 47, -1, - 49, -1, 126, 11, -1, -1, -1, -1, -1, -1, - 134, 135, 136, 137, 51, 64, 140, 54, 142, 56, - 57, 58, 59, -1, -1, -1, 63, 76, 77, 66, - -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, + 76, 77, -1, 70, -1, -1, -1, -1, -1, 47, 77, -1, -1, 51, -1, -1, 54, 84, 56, 57, 58, 59, 60, -1, -1, 63, -1, -1, 66, -1, - -1, -1, 70, 100, 113, 114, -1, 116, -1, 77, - -1, -1, 121, -1, 123, -1, 84, -1, -1, -1, - -1, -1, -1, 120, 121, -1, -1, -1, -1, 126, - 11, -1, 100, -1, -1, -1, -1, 134, 135, 136, - 137, -1, -1, 140, -1, 142, -1, -1, -1, -1, - -1, -1, 120, 121, 11, -1, -1, -1, 126, -1, - -1, -1, -1, -1, -1, -1, 134, 135, 136, 137, + -1, -1, 70, 100, -1, -1, -1, 113, 114, 77, + 116, -1, -1, -1, -1, 121, 84, 123, -1, -1, + 117, -1, -1, 120, 121, -1, -1, -1, 134, 126, + 11, 12, 100, 139, -1, -1, -1, 134, 135, 136, + 137, -1, -1, 140, -1, 142, -1, -1, -1, 117, + -1, -1, 120, 121, 11, 12, -1, -1, 126, -1, + -1, -1, 10, 11, 12, -1, 134, 135, 136, 137, 51, -1, 140, 54, 142, 56, 57, 58, 59, 60, - -1, -1, 63, -1, -1, 66, -1, -1, -1, 70, + -1, -1, 63, -1, 54, 66, 56, 57, 58, 70, -1, -1, -1, -1, 51, -1, 77, 54, -1, 56, 57, 58, 59, 84, -1, -1, 63, -1, -1, 66, - -1, -1, -1, 70, -1, -1, -1, -1, -1, 100, - 77, -1, -1, -1, -1, -1, -1, 84, 10, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, 120, - 121, 11, -1, 100, -1, 126, -1, -1, -1, -1, - -1, -1, -1, 134, 135, 136, 137, -1, -1, 140, - -1, 142, -1, 120, 121, -1, -1, -1, -1, 126, - -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, - 137, 51, 64, 140, 54, 142, 56, 57, 58, 59, - -1, -1, -1, 63, 76, 77, 66, -1, -1, -1, + -1, -1, -1, 70, 84, -1, 64, -1, -1, 100, + 77, -1, -1, -1, -1, -1, -1, 84, 76, 77, + 100, -1, -1, -1, -1, -1, -1, -1, -1, 120, + 121, 11, 12, 100, -1, 126, -1, -1, -1, -1, + 120, 121, -1, 134, 135, 136, 137, -1, -1, 140, + 117, 142, -1, 120, 121, 113, 114, 137, 116, 126, + 11, -1, 142, 121, -1, 123, -1, 134, 135, 136, + 137, 51, -1, 140, 54, 142, 56, 57, 58, 59, + 138, -1, -1, 63, -1, 165, 66, -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, 77, -1, -1, - -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, - -1, -1, 47, -1, 49, -1, -1, 52, 53, -1, - 100, 113, 114, -1, 116, 60, 61, -1, -1, 121, - -1, 123, -1, -1, 69, -1, 71, 72, 73, 74, - 120, 121, 134, 78, -1, -1, 126, 139, 83, -1, + 51, -1, -1, 54, 84, 56, 57, 58, 59, 60, + -1, -1, 63, -1, -1, 66, -1, -1, -1, 70, + 100, -1, -1, -1, -1, -1, 77, -1, -1, -1, + -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, + 120, 121, -1, -1, -1, -1, 126, 11, -1, 100, -1, -1, -1, -1, 134, 135, 136, 137, -1, -1, - 140, -1, 142, -1, -1, -1, 101, 102, 103, 104, + 140, -1, 142, -1, -1, -1, -1, -1, -1, 120, + 121, 11, -1, -1, -1, 126, -1, -1, -1, -1, + -1, -1, -1, 134, 135, 136, 137, 51, -1, 140, + 54, 142, 56, 57, 58, 59, 60, -1, -1, 63, + -1, -1, 66, -1, -1, -1, 70, -1, -1, -1, + -1, 51, -1, 77, 54, -1, 56, 57, 58, 59, + 84, -1, -1, 63, -1, -1, 66, -1, -1, -1, + 70, -1, -1, -1, -1, -1, 100, 77, -1, -1, + -1, -1, -1, -1, 84, 10, 11, 12, -1, -1, + -1, -1, -1, -1, -1, -1, 120, 121, 11, -1, + 100, -1, 126, -1, -1, -1, -1, -1, -1, -1, + 134, 135, 136, 137, -1, -1, 140, -1, 142, -1, + 120, 121, -1, -1, -1, -1, 126, 10, 11, 12, + -1, -1, -1, -1, 134, 135, 136, 137, 51, 64, + 140, 54, 142, 56, 57, 58, 59, -1, -1, -1, + 63, 76, 77, 66, -1, -1, -1, 70, -1, -1, + -1, -1, -1, -1, 77, -1, -1, -1, -1, -1, + -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 64, -1, -1, -1, -1, -1, 100, 113, 114, + -1, 116, -1, 76, 77, -1, 121, -1, 123, -1, + -1, -1, 54, -1, 56, 57, 58, 120, 121, 134, + -1, -1, -1, 126, 139, -1, -1, -1, -1, -1, + -1, 134, 135, 136, 137, -1, -1, 140, -1, 142, + 113, 114, 84, 116, -1, -1, -1, -1, 121, 47, + 123, 49, -1, -1, 52, 53, -1, -1, 100, -1, + -1, 134, 60, 61, -1, -1, -1, -1, -1, -1, + -1, 69, -1, 71, 72, 73, 74, -1, 120, 121, + 78, -1, -1, -1, -1, 83, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 137, -1, -1, -1, -1, + 142, -1, -1, 101, 102, 103, 104, 105, 106, 107, + 108, -1, -1, -1, -1, -1, 114, 115, 116, 117, + -1, -1, 47, 165, 49, 123, 124, 52, 53, 127, + 128, -1, -1, -1, 132, 60, 61, -1, -1, -1, + 138, 139, -1, 141, 69, -1, 71, 72, 73, 74, + -1, 149, -1, 78, -1, -1, -1, -1, 83, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 168, -1, -1, -1, -1, -1, 101, 102, 103, 104, 105, 106, 107, 108, -1, -1, -1, -1, -1, 114, 115, 116, 117, -1, -1, 47, -1, 49, 123, 124, 52, 53, 127, 128, -1, -1, -1, 132, 60, 61, @@ -3016,223 +3057,213 @@ static const yytype_int16 yycheck[] = 123, 124, 52, 53, 127, 128, -1, -1, -1, 132, 60, 61, -1, -1, -1, 138, 139, -1, 141, 69, -1, 71, 72, 73, 74, -1, 149, -1, 78, -1, - -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 168, -1, -1, -1, -1, + -1, -1, -1, 83, -1, -1, 10, 11, 12, -1, + -1, 15, 10, 11, 12, 168, -1, -1, -1, -1, -1, 101, 102, 103, 104, 105, 106, 107, 108, -1, -1, -1, -1, -1, 114, 115, 116, 117, -1, -1, - 47, -1, 49, 123, 124, 52, 53, 127, 128, -1, - -1, -1, 132, 60, 61, -1, -1, -1, 138, 139, - -1, 141, 69, -1, 71, 72, 73, 74, -1, 149, - -1, 78, 10, 11, 12, -1, 83, 15, -1, -1, - -1, -1, -1, 10, 11, 12, -1, -1, 168, 54, - -1, 56, 57, 58, 101, 102, 103, 104, 105, 106, - 107, 108, -1, -1, -1, -1, -1, 114, 115, 116, - 117, -1, -1, -1, -1, -1, 123, 124, -1, 84, - 127, 128, -1, -1, -1, 132, 64, -1, -1, -1, - -1, 138, 139, -1, 141, 100, -1, 64, 76, 77, - -1, -1, 149, -1, 54, -1, 56, 57, 58, 76, - 77, -1, -1, -1, -1, 120, 121, -1, -1, -1, - -1, 168, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 137, -1, 84, 113, 114, 142, 116, -1, - -1, -1, -1, 121, -1, 123, 113, 114, -1, 116, - 100, -1, -1, 47, 121, 49, 123, -1, -1, 53, - 165, -1, -1, -1, -1, -1, 60, 61, -1, -1, - 120, 121, -1, -1, -1, -1, -1, 71, 72, 73, - -1, -1, -1, -1, 78, -1, -1, 137, -1, 83, - -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 123, 124, -1, -1, 127, 128, 47, + -1, 49, 132, -1, -1, -1, -1, -1, 138, 139, + 64, 141, -1, -1, -1, -1, 64, -1, 47, 149, + 49, -1, 76, 77, 53, -1, -1, -1, 76, 77, + -1, 60, 61, -1, -1, -1, -1, -1, 168, -1, + -1, -1, 71, 72, 73, -1, -1, -1, -1, 78, + -1, -1, -1, -1, 83, -1, -1, -1, -1, 113, + 114, -1, 116, -1, -1, 113, 114, 121, 116, 123, + -1, -1, -1, 121, -1, 123, -1, -1, 107, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 117, -1, + -1, -1, -1, -1, 123, -1, -1, -1, -1, 128, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, + 139, 47, 141, 49, -1, -1, 52, 53, -1, -1, + -1, -1, -1, -1, 60, 61, -1, 156, -1, -1, + -1, -1, -1, 69, -1, 71, 72, 73, 74, -1, + -1, -1, 78, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 107, -1, 165, -1, -1, -1, -1, - -1, -1, -1, 117, -1, -1, -1, -1, -1, 123, - -1, -1, -1, -1, 128, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 138, 139, 47, 141, 49, -1, - -1, 52, 53, -1, -1, -1, -1, -1, -1, 60, - 61, -1, 156, -1, -1, -1, -1, -1, 69, -1, - 71, 72, 73, 74, -1, -1, -1, 78, -1, -1, - -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 101, 102, 103, 104, 105, + 106, 107, 108, -1, -1, -1, -1, -1, 114, 115, + 116, 117, -1, -1, 47, -1, 49, 123, 124, -1, + 53, 127, 128, 47, -1, 49, 132, 60, 61, 53, + -1, -1, 138, 139, -1, 141, 60, 61, 71, 72, + 73, -1, -1, -1, -1, 78, -1, 71, 72, 73, + 83, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 101, 102, 103, 104, 105, 106, 107, 108, -1, -1, - -1, -1, -1, 114, 115, 116, 117, -1, -1, 47, - -1, 49, 123, 124, -1, 53, 127, 128, -1, -1, - -1, 132, 60, 61, -1, -1, -1, 138, 139, -1, - 141, -1, -1, 71, 72, 73, 47, -1, 49, -1, - 78, -1, 53, -1, -1, 83, -1, -1, -1, 60, - 61, 47, -1, 49, -1, -1, -1, 53, -1, -1, - 71, 72, 73, -1, 60, 61, -1, -1, -1, 107, - -1, -1, 83, -1, -1, 71, 72, 73, -1, 117, - -1, -1, -1, -1, -1, 123, -1, 83, -1, 127, - 128, -1, -1, -1, -1, -1, 107, 108, -1, -1, - 138, 139, -1, 141, -1, -1, 117, -1, -1, -1, - -1, 107, 123, -1, -1, -1, -1, 128, -1, -1, - -1, 117, -1, -1, -1, -1, -1, 123, 139, -1, - 141, -1, 128, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 139, -1, 141 + -1, -1, -1, -1, 107, -1, -1, -1, -1, -1, + -1, -1, -1, 107, 117, -1, -1, -1, -1, -1, + 123, -1, -1, 117, 127, 128, -1, -1, -1, 123, + -1, -1, -1, -1, 128, 138, 139, -1, 141, -1, + -1, -1, -1, -1, -1, 139, -1, 141 }; - /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ +/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of + state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 144, 145, 146, 172, 173, 281, 3, 4, 5, + 0, 144, 145, 146, 172, 173, 282, 3, 4, 5, 6, 8, 9, 10, 11, 50, 54, 56, 57, 58, 62, 66, 67, 75, 76, 77, 81, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 109, 111, 113, 118, 120, 121, 122, 125, 130, 133, 137, 142, 155, 158, 159, 160, - 163, 165, 166, 169, 271, 272, 280, 11, 12, 51, + 163, 165, 166, 169, 272, 273, 281, 11, 12, 51, 54, 56, 57, 58, 59, 60, 63, 66, 70, 77, 84, 100, 120, 121, 126, 134, 135, 136, 137, 140, - 142, 233, 234, 238, 240, 242, 248, 249, 253, 254, - 259, 260, 261, 262, 0, 47, 49, 52, 53, 60, + 142, 234, 235, 239, 241, 243, 249, 250, 254, 255, + 260, 261, 262, 263, 0, 47, 49, 52, 53, 60, 61, 69, 71, 72, 73, 74, 78, 83, 101, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 123, 124, 127, 128, 132, 138, 139, 141, 149, 176, - 178, 179, 181, 184, 204, 255, 258, 281, 147, 165, + 178, 179, 181, 185, 205, 256, 259, 282, 147, 165, 165, 165, 165, 165, 165, 156, 165, 156, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 11, 51, 63, - 134, 135, 236, 253, 254, 259, 156, 165, 165, 15, - 165, 271, 156, 165, 165, 165, 271, 271, 271, 271, - 271, 11, 54, 56, 57, 58, 66, 77, 84, 100, - 120, 121, 137, 142, 238, 269, 271, 10, 11, 12, + 134, 135, 237, 254, 255, 260, 156, 165, 165, 15, + 165, 272, 156, 165, 165, 165, 272, 272, 272, 272, + 272, 11, 54, 56, 57, 58, 66, 77, 84, 100, + 120, 121, 137, 142, 239, 270, 272, 10, 11, 12, 64, 76, 77, 113, 114, 116, 121, 123, 151, 155, - 160, 275, 276, 278, 281, 271, 16, 17, 18, 19, + 160, 276, 277, 279, 282, 272, 16, 17, 18, 19, 20, 21, 22, 23, 33, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 164, 165, 166, 6, - 8, 233, 234, 165, 59, 126, 66, 100, 260, 260, - 260, 278, 165, 260, 13, 15, 17, 60, 141, 155, - 160, 165, 231, 232, 281, 232, 147, 10, 11, 12, - 113, 150, 279, 239, 281, 138, 182, 183, 278, 165, - 72, 83, 181, 181, 181, 181, 6, 181, 204, 181, + 8, 234, 235, 165, 59, 126, 66, 100, 261, 261, + 261, 279, 165, 261, 13, 15, 17, 60, 141, 155, + 160, 165, 232, 233, 282, 233, 147, 10, 11, 12, + 113, 150, 280, 240, 282, 138, 183, 184, 279, 165, + 72, 83, 181, 181, 181, 181, 6, 181, 205, 181, 150, 180, 108, 181, 165, 165, 165, 165, 165, 165, - 181, 147, 278, 150, 150, 150, 181, 181, 165, 179, - 181, 184, 205, 181, 181, 188, 108, 278, 181, 181, - 10, 11, 51, 63, 112, 134, 135, 147, 163, 191, - 195, 235, 237, 240, 242, 248, 253, 254, 259, 268, - 269, 281, 268, 238, 268, 268, 268, 268, 238, 268, - 238, 268, 238, 268, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 268, - 165, 278, 165, 165, 278, 239, 238, 268, 268, 165, - 238, 238, 238, 271, 268, 268, 167, 148, 167, 278, - 278, 148, 170, 151, 221, 281, 271, 271, 271, 271, + 181, 147, 279, 150, 150, 150, 181, 181, 165, 179, + 181, 185, 206, 181, 181, 189, 108, 279, 181, 181, + 10, 11, 51, 63, 112, 134, 135, 147, 163, 192, + 196, 236, 238, 241, 243, 249, 254, 255, 260, 269, + 270, 282, 269, 239, 269, 269, 269, 269, 239, 269, + 239, 269, 239, 269, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 269, + 165, 279, 165, 165, 279, 240, 239, 269, 269, 165, + 239, 239, 239, 272, 269, 269, 167, 148, 167, 279, + 279, 148, 170, 151, 222, 282, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 279, 167, 270, 272, + 233, 233, 51, 272, 239, 160, 279, 47, 49, 182, + 282, 232, 233, 232, 233, 182, 182, 15, 17, 47, + 60, 117, 155, 160, 217, 218, 227, 234, 235, 282, + 166, 252, 253, 282, 11, 251, 261, 150, 10, 11, + 12, 47, 49, 113, 147, 279, 280, 279, 48, 148, + 165, 11, 236, 272, 181, 178, 147, 279, 279, 279, + 279, 279, 279, 279, 173, 147, 272, 156, 10, 11, + 196, 236, 238, 279, 149, 151, 165, 165, 165, 60, + 234, 279, 165, 177, 279, 187, 147, 149, 151, 224, + 149, 186, 279, 280, 240, 168, 167, 167, 167, 167, + 167, 167, 157, 167, 157, 167, 167, 167, 167, 148, + 167, 148, 167, 148, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 167, 167, 272, 239, 269, 279, 157, + 167, 167, 279, 167, 157, 167, 167, 167, 167, 272, + 272, 15, 155, 277, 165, 202, 282, 272, 150, 167, + 170, 167, 167, 167, 182, 182, 183, 165, 13, 15, + 17, 60, 141, 155, 160, 232, 282, 232, 232, 182, + 183, 117, 234, 235, 227, 182, 182, 167, 15, 148, + 13, 17, 60, 141, 155, 160, 165, 230, 280, 282, + 13, 15, 17, 60, 141, 155, 160, 165, 231, 268, + 272, 282, 279, 168, 251, 183, 165, 242, 244, 150, + 181, 183, 3, 4, 5, 9, 10, 15, 50, 62, + 67, 75, 76, 109, 111, 113, 118, 122, 125, 130, + 133, 155, 158, 159, 163, 165, 169, 219, 220, 227, + 228, 274, 275, 281, 282, 167, 167, 173, 147, 148, + 148, 148, 148, 148, 148, 168, 257, 148, 167, 10, + 11, 12, 59, 60, 134, 207, 208, 209, 210, 211, + 260, 282, 165, 224, 190, 149, 239, 193, 10, 13, + 160, 195, 51, 272, 234, 13, 17, 60, 141, 155, + 160, 229, 280, 282, 239, 173, 165, 147, 149, 150, + 151, 223, 264, 265, 64, 65, 147, 272, 13, 17, + 60, 112, 141, 155, 160, 165, 188, 212, 214, 280, + 150, 279, 165, 165, 239, 239, 239, 167, 167, 167, + 165, 167, 165, 222, 217, 17, 33, 47, 60, 61, + 76, 107, 110, 113, 129, 141, 155, 215, 282, 272, + 232, 48, 236, 272, 160, 279, 182, 232, 232, 182, + 182, 166, 232, 48, 234, 235, 230, 231, 232, 232, + 202, 15, 227, 160, 182, 230, 230, 182, 182, 230, + 166, 222, 182, 160, 279, 182, 231, 231, 182, 182, + 231, 166, 222, 170, 148, 151, 48, 236, 272, 173, + 76, 245, 282, 184, 165, 156, 156, 237, 156, 15, + 165, 274, 156, 165, 272, 272, 272, 272, 239, 270, + 272, 167, 15, 148, 16, 17, 18, 19, 20, 21, + 22, 23, 33, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 164, 165, 166, 181, 181, 168, + 258, 10, 10, 10, 10, 10, 10, 173, 281, 149, + 211, 157, 148, 15, 279, 13, 17, 60, 141, 155, + 160, 165, 230, 231, 191, 214, 149, 217, 167, 160, + 212, 217, 167, 167, 229, 160, 182, 229, 229, 182, + 182, 165, 166, 182, 167, 168, 197, 264, 174, 175, + 279, 64, 65, 168, 266, 282, 149, 149, 147, 225, + 226, 272, 282, 149, 160, 182, 212, 6, 16, 17, + 18, 19, 20, 21, 22, 23, 33, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 65, + 109, 148, 151, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 165, 166, 169, 203, 212, 182, + 182, 212, 150, 165, 166, 215, 151, 222, 224, 182, + 251, 270, 270, 167, 167, 167, 270, 270, 167, 60, + 237, 183, 165, 147, 182, 167, 167, 182, 182, 232, + 232, 232, 268, 167, 227, 230, 231, 222, 222, 167, + 167, 215, 182, 230, 230, 230, 167, 268, 182, 182, + 231, 231, 231, 167, 268, 182, 272, 167, 167, 168, + 150, 246, 247, 282, 239, 239, 239, 165, 239, 165, + 239, 239, 239, 272, 167, 167, 15, 228, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 279, 167, + 270, 272, 173, 148, 148, 167, 148, 216, 282, 148, + 148, 148, 168, 167, 230, 231, 179, 185, 204, 205, + 210, 279, 151, 160, 182, 182, 182, 151, 221, 282, + 222, 224, 167, 165, 212, 167, 167, 165, 182, 229, + 229, 229, 200, 268, 217, 168, 147, 148, 147, 165, + 149, 149, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, + 84, 100, 107, 108, 109, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, + 170, 267, 225, 168, 148, 182, 212, 10, 167, 170, + 182, 212, 212, 167, 272, 213, 268, 272, 148, 167, + 167, 167, 167, 202, 237, 233, 48, 167, 279, 264, + 182, 182, 232, 170, 165, 222, 222, 165, 165, 230, + 165, 170, 231, 165, 170, 148, 114, 115, 116, 134, + 139, 248, 278, 279, 147, 148, 167, 157, 157, 269, + 157, 279, 167, 157, 167, 167, 272, 150, 167, 170, + 168, 10, 10, 149, 10, 167, 10, 10, 10, 149, + 221, 239, 182, 50, 62, 67, 118, 122, 125, 155, + 158, 159, 160, 163, 165, 169, 271, 273, 148, 202, + 194, 167, 165, 202, 201, 229, 217, 170, 167, 264, + 175, 269, 269, 266, 168, 147, 272, 212, 182, 219, + 170, 188, 215, 233, 15, 167, 168, 182, 217, 217, + 217, 217, 182, 217, 182, 139, 278, 139, 278, 139, + 278, 279, 114, 115, 116, 15, 173, 248, 165, 165, + 167, 165, 167, 165, 272, 167, 148, 167, 148, 149, + 148, 167, 167, 148, 167, 165, 156, 156, 156, 15, + 165, 271, 156, 271, 271, 271, 271, 271, 239, 270, + 271, 16, 17, 18, 19, 20, 21, 22, 23, 33, + 152, 153, 154, 155, 158, 159, 160, 161, 162, 164, + 165, 166, 191, 217, 165, 198, 217, 167, 182, 202, + 168, 168, 167, 168, 225, 167, 182, 147, 167, 167, + 167, 167, 167, 167, 278, 278, 278, 278, 278, 278, + 168, 270, 270, 270, 270, 149, 10, 149, 10, 10, + 149, 149, 10, 149, 239, 239, 239, 239, 165, 239, + 239, 167, 167, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 278, 167, 269, 271, - 232, 232, 51, 271, 238, 160, 278, 13, 15, 17, - 60, 141, 155, 160, 231, 281, 231, 232, 231, 232, - 231, 231, 15, 17, 47, 60, 117, 155, 160, 216, - 217, 226, 233, 234, 281, 166, 251, 252, 281, 11, - 250, 260, 150, 10, 11, 12, 47, 49, 113, 147, - 278, 279, 278, 48, 148, 165, 11, 235, 271, 181, - 178, 147, 278, 278, 278, 278, 278, 278, 278, 173, - 147, 271, 156, 10, 11, 195, 235, 237, 278, 149, - 151, 165, 165, 165, 60, 233, 278, 165, 177, 278, - 186, 147, 149, 151, 223, 149, 185, 278, 279, 239, - 168, 167, 167, 167, 167, 167, 167, 157, 167, 157, - 167, 167, 167, 167, 148, 167, 148, 167, 148, 167, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 271, 238, 268, 278, 157, 167, 167, 278, 167, 157, - 167, 167, 167, 167, 271, 271, 15, 155, 276, 165, - 201, 281, 271, 150, 167, 170, 167, 167, 167, 231, - 160, 278, 231, 231, 231, 231, 231, 166, 231, 182, - 117, 233, 234, 226, 231, 231, 167, 15, 148, 13, - 17, 60, 141, 155, 160, 165, 229, 279, 281, 13, - 15, 17, 60, 141, 155, 160, 165, 230, 267, 271, - 281, 278, 168, 250, 182, 165, 241, 243, 150, 181, - 182, 3, 4, 5, 9, 10, 15, 50, 62, 67, - 75, 76, 109, 111, 113, 118, 122, 125, 130, 133, - 155, 158, 159, 163, 165, 169, 218, 219, 226, 227, - 273, 274, 280, 281, 167, 167, 173, 147, 148, 148, - 148, 148, 148, 148, 168, 256, 148, 167, 10, 11, - 12, 59, 60, 134, 206, 207, 208, 209, 210, 259, - 281, 165, 223, 189, 149, 238, 192, 10, 13, 160, - 194, 51, 271, 233, 13, 17, 60, 141, 155, 160, - 228, 279, 281, 238, 173, 165, 147, 149, 150, 151, - 222, 263, 264, 64, 65, 147, 271, 13, 17, 60, - 112, 141, 155, 160, 165, 187, 211, 213, 279, 150, - 278, 165, 165, 238, 238, 238, 167, 167, 167, 165, - 167, 165, 221, 216, 17, 33, 47, 60, 61, 76, - 107, 110, 113, 129, 141, 155, 214, 281, 271, 231, - 267, 167, 48, 233, 234, 229, 230, 167, 167, 201, - 15, 226, 160, 229, 229, 229, 229, 229, 229, 166, - 221, 160, 278, 230, 230, 230, 230, 230, 230, 166, - 221, 170, 148, 151, 48, 235, 271, 173, 76, 244, - 281, 183, 165, 156, 156, 236, 156, 15, 165, 273, - 156, 165, 271, 271, 271, 271, 238, 269, 271, 167, - 15, 148, 16, 17, 18, 19, 20, 21, 22, 23, - 33, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 164, 165, 166, 181, 181, 168, 257, 10, - 10, 10, 10, 10, 10, 173, 280, 149, 210, 157, - 148, 15, 278, 13, 17, 60, 141, 155, 160, 165, - 229, 230, 190, 213, 149, 216, 167, 160, 211, 216, - 167, 167, 228, 160, 228, 228, 228, 228, 228, 165, - 166, 167, 168, 196, 263, 174, 175, 278, 64, 65, - 168, 265, 281, 149, 149, 147, 224, 225, 271, 281, - 149, 160, 211, 211, 6, 16, 17, 18, 19, 20, - 21, 22, 23, 33, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 65, 109, 148, 151, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 165, 166, 169, 202, 211, 211, 211, 211, 150, - 165, 166, 214, 151, 221, 223, 250, 269, 269, 167, - 167, 167, 269, 269, 167, 60, 236, 182, 165, 147, - 170, 165, 226, 229, 230, 221, 221, 165, 165, 214, - 229, 167, 267, 230, 167, 267, 271, 167, 167, 168, - 150, 245, 246, 281, 238, 238, 238, 165, 238, 165, - 238, 238, 238, 271, 167, 167, 15, 227, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 278, 167, - 269, 271, 173, 148, 148, 167, 148, 215, 281, 148, - 148, 148, 168, 167, 229, 230, 179, 184, 203, 204, - 209, 278, 151, 160, 151, 220, 281, 221, 223, 167, - 165, 211, 167, 167, 165, 228, 199, 267, 216, 168, - 147, 148, 147, 165, 149, 149, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 70, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 82, 83, 84, 100, 107, 108, 109, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 169, 170, 266, 224, 168, 148, 211, - 10, 167, 170, 167, 271, 212, 267, 271, 148, 167, - 167, 167, 167, 201, 236, 232, 48, 167, 278, 263, - 216, 221, 221, 216, 216, 165, 170, 165, 170, 148, - 114, 115, 116, 134, 139, 247, 277, 278, 147, 148, - 167, 157, 157, 268, 157, 278, 167, 157, 167, 167, - 271, 150, 167, 170, 168, 10, 10, 149, 10, 167, - 10, 10, 10, 149, 220, 238, 50, 62, 67, 118, - 122, 125, 155, 158, 159, 160, 163, 165, 169, 270, - 272, 148, 201, 193, 167, 165, 201, 200, 216, 170, - 167, 263, 175, 268, 268, 265, 168, 147, 271, 218, - 170, 187, 214, 232, 15, 167, 168, 167, 167, 167, - 216, 216, 139, 277, 139, 277, 139, 277, 278, 114, - 115, 116, 15, 173, 247, 165, 165, 167, 165, 167, - 165, 271, 167, 148, 167, 148, 149, 148, 167, 167, - 148, 167, 165, 156, 156, 156, 15, 165, 270, 156, - 270, 270, 270, 270, 270, 238, 269, 270, 16, 17, - 18, 19, 20, 21, 22, 23, 33, 152, 153, 154, - 155, 158, 159, 160, 161, 162, 164, 165, 166, 190, - 216, 165, 197, 216, 167, 201, 168, 168, 167, 168, - 224, 167, 147, 167, 201, 201, 201, 167, 167, 277, - 277, 277, 277, 277, 277, 168, 269, 269, 269, 269, - 149, 10, 149, 10, 10, 149, 149, 10, 149, 238, - 238, 238, 238, 165, 238, 238, 167, 167, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 278, 167, 269, 271, - 167, 198, 216, 167, 201, 15, 168, 201, 263, 214, - 214, 214, 201, 201, 167, 167, 167, 167, 148, 215, - 167, 148, 148, 167, 167, 157, 157, 157, 278, 167, - 157, 270, 150, 167, 170, 201, 216, 167, 201, 168, - 10, 167, 149, 10, 10, 149, 165, 165, 165, 167, - 165, 270, 167, 201, 149, 167, 148, 167, 269, 269, - 269, 269, 201, 214, 149, 10, 149, 167, 167, 167, - 167, 214, 167, 149 + 271, 279, 167, 270, 272, 167, 199, 217, 167, 202, + 15, 168, 202, 264, 202, 202, 202, 202, 202, 167, + 167, 167, 167, 148, 216, 167, 148, 148, 167, 167, + 157, 157, 157, 279, 167, 157, 271, 150, 167, 170, + 202, 217, 167, 202, 168, 215, 215, 215, 10, 167, + 149, 10, 10, 149, 165, 165, 165, 167, 165, 271, + 167, 202, 149, 167, 148, 167, 270, 270, 270, 270, + 202, 215, 149, 10, 149, 167, 167, 167, 167, 215, + 167, 149 }; - /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { 0, 171, 172, 172, 172, 173, 173, 173, 174, 174, @@ -3241,80 +3272,80 @@ static const yytype_int16 yyr1[] = 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 180, 179, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 182, 182, 183, 183, 183, 185, 184, 184, - 186, 184, 184, 184, 187, 187, 189, 188, 188, 190, - 190, 192, 191, 193, 191, 194, 191, 196, 195, 197, - 195, 198, 195, 199, 195, 200, 195, 195, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, - 201, 201, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 202, 203, 203, 203, 204, 205, 204, 204, 204, 206, - 206, 207, 207, 208, 208, 209, 209, 209, 209, 209, - 209, 209, 209, 209, 210, 210, 210, 210, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 212, - 211, 213, 213, 214, 214, 214, 215, 215, 216, 216, - 216, 216, 216, 217, 217, 218, 218, 218, 218, 218, - 219, 219, 220, 220, 221, 221, 222, 222, 222, 222, - 222, 223, 223, 223, 223, 223, 223, 224, 224, 224, - 225, 225, 225, 225, 226, 226, 226, 226, 226, 226, - 226, 226, 227, 227, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 229, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 229, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 232, 232, 232, 232, 232, + 181, 181, 182, 182, 182, 182, 183, 183, 184, 184, + 184, 186, 185, 185, 187, 185, 185, 185, 188, 188, + 190, 189, 189, 191, 191, 193, 192, 194, 192, 195, + 192, 197, 196, 198, 196, 199, 196, 200, 196, 201, + 196, 196, 202, 202, 202, 202, 202, 202, 202, 202, + 202, 202, 202, 202, 202, 202, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 204, 204, 204, 205, 206, + 205, 205, 205, 207, 207, 208, 208, 209, 209, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 211, 211, + 211, 211, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 213, 212, 214, 214, 215, 215, 215, + 216, 216, 217, 217, 217, 217, 217, 218, 218, 219, + 219, 219, 219, 219, 220, 220, 221, 221, 222, 222, + 223, 223, 223, 223, 223, 224, 224, 224, 224, 224, + 224, 225, 225, 225, 226, 226, 226, 226, 227, 227, + 227, 227, 227, 227, 227, 227, 228, 228, 229, 229, + 229, 229, 229, 229, 229, 229, 229, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 234, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 236, 236, 236, 236, 236, - 236, 236, 236, 237, 237, 238, 238, 238, 238, 239, - 239, 239, 239, 241, 240, 243, 242, 244, 244, 245, - 245, 246, 246, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 248, 249, 249, 249, 249, 250, 250, - 251, 251, 251, 252, 252, 252, 253, 253, 253, 254, - 254, 254, 256, 255, 257, 255, 255, 255, 258, 258, - 258, 259, 259, 259, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 261, 261, - 261, 262, 264, 263, 265, 265, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, - 266, 266, 266, 266, 266, 267, 267, 268, 268, 269, - 269, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 233, 233, 233, 234, 234, 234, 234, 234, 234, 234, + 234, 234, 234, 234, 234, 235, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 237, + 237, 237, 237, 237, 237, 237, 237, 238, 238, 239, + 239, 239, 239, 240, 240, 240, 240, 242, 241, 244, + 243, 245, 245, 246, 246, 247, 247, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 249, 250, 250, + 250, 250, 251, 251, 252, 252, 252, 253, 253, 253, + 254, 254, 254, 255, 255, 255, 257, 256, 258, 256, + 256, 256, 259, 259, 259, 260, 260, 260, 261, 261, + 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, + 261, 261, 262, 262, 262, 263, 265, 264, 266, 266, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, + 267, 267, 267, 267, 267, 267, 267, 267, 267, 268, + 268, 269, 269, 270, 270, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 272, + 271, 271, 271, 271, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 275, 275, 275, 275, 275, 276, - 276, 276, 276, 277, 277, 277, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 279, 279, 279, - 279, 280, 280, 280, 280, 281 + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 276, 276, + 276, 276, 276, 277, 277, 277, 277, 278, 278, 278, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 280, 280, 280, 280, 281, 281, 281, 281, 282 }; - /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ static const yytype_int8 yyr2[] = { 0, 2, 2, 2, 2, 1, 2, 2, 1, 3, @@ -3323,42 +3354,42 @@ static const yytype_int8 yyr2[] = 11, 13, 15, 7, 9, 12, 9, 9, 13, 9, 7, 5, 0, 3, 1, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, - 5, 5, 1, 3, 1, 4, 4, 0, 4, 3, - 0, 4, 3, 1, 2, 4, 0, 4, 3, 2, - 4, 0, 6, 0, 9, 0, 6, 0, 7, 0, - 11, 0, 12, 0, 8, 0, 9, 1, 1, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 4, 5, - 6, 4, 1, 1, 1, 1, 1, 1, 1, 1, + 5, 5, 1, 4, 5, 5, 1, 3, 1, 4, + 4, 0, 4, 3, 0, 4, 3, 1, 2, 4, + 0, 4, 3, 2, 4, 0, 6, 0, 9, 0, + 6, 0, 7, 0, 11, 0, 12, 0, 8, 0, + 9, 1, 1, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 4, 5, 6, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, - 1, 1, 1, 1, 2, 0, 6, 2, 2, 1, - 1, 1, 3, 1, 1, 1, 2, 4, 2, 3, - 3, 4, 2, 3, 1, 1, 1, 1, 1, 2, - 3, 2, 2, 2, 2, 2, 3, 4, 3, 0, - 6, 2, 3, 1, 3, 4, 1, 2, 1, 1, - 1, 3, 2, 1, 3, 1, 1, 1, 3, 2, - 1, 3, 1, 2, 1, 2, 1, 3, 5, 3, - 3, 1, 3, 3, 3, 3, 4, 1, 1, 2, - 1, 3, 3, 5, 3, 4, 5, 3, 4, 5, - 2, 4, 1, 1, 1, 1, 2, 2, 2, 2, - 2, 3, 4, 1, 1, 2, 2, 2, 2, 2, - 3, 4, 7, 3, 1, 2, 2, 2, 2, 2, - 2, 3, 4, 7, 3, 1, 1, 2, 2, 2, - 2, 2, 2, 3, 4, 1, 1, 2, 2, 2, - 2, 2, 2, 3, 4, 5, 9, 9, 9, 1, - 1, 2, 1, 1, 1, 3, 4, 4, 4, 4, - 1, 1, 1, 1, 2, 1, 1, 1, 3, 4, - 2, 4, 4, 4, 1, 1, 1, 2, 3, 2, - 4, 4, 1, 1, 1, 2, 3, 2, 3, 1, - 4, 5, 5, 0, 6, 0, 9, 1, 1, 1, - 1, 2, 3, 1, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 4, 3, 1, 4, 2, 1, 1, - 1, 3, 5, 1, 2, 4, 1, 2, 2, 1, - 1, 1, 0, 6, 0, 7, 4, 5, 3, 5, - 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, - 2, 1, 0, 2, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 1, 1, 1, 1, 1, 2, 0, + 6, 2, 2, 1, 1, 1, 3, 1, 1, 1, + 2, 4, 2, 3, 3, 4, 2, 3, 1, 1, + 1, 1, 2, 3, 4, 2, 2, 3, 3, 3, + 4, 5, 3, 0, 6, 2, 3, 1, 3, 4, + 1, 2, 1, 1, 1, 3, 2, 1, 3, 1, + 1, 1, 3, 2, 1, 3, 1, 2, 1, 2, + 1, 3, 5, 3, 3, 1, 3, 3, 3, 3, + 4, 1, 1, 2, 1, 3, 3, 5, 3, 4, + 5, 3, 4, 5, 2, 4, 1, 1, 1, 2, + 2, 2, 3, 3, 3, 4, 5, 1, 2, 2, + 2, 3, 3, 3, 4, 5, 7, 3, 1, 3, + 2, 2, 3, 3, 3, 4, 5, 7, 3, 1, + 1, 3, 2, 2, 3, 3, 3, 4, 5, 1, + 1, 3, 2, 2, 3, 3, 3, 4, 5, 5, + 10, 10, 10, 1, 1, 2, 1, 1, 1, 3, + 4, 4, 4, 4, 1, 1, 1, 1, 2, 1, + 1, 1, 3, 4, 2, 4, 4, 4, 1, 1, + 1, 2, 3, 2, 4, 4, 1, 1, 1, 2, + 3, 2, 3, 1, 4, 5, 5, 0, 6, 0, + 9, 1, 1, 1, 1, 2, 3, 1, 2, 2, + 2, 3, 3, 3, 3, 3, 3, 4, 3, 1, + 4, 2, 1, 1, 1, 3, 5, 1, 2, 4, + 1, 2, 2, 1, 1, 1, 0, 6, 0, 7, + 4, 5, 3, 5, 4, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, + 2, 2, 1, 1, 2, 1, 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -3371,40 +3402,41 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, - 3, 1, 4, 7, 7, 7, 7, 4, 2, 5, - 4, 2, 2, 2, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 5, 4, 4, 3, 3, 3, 3, - 1, 4, 7, 7, 7, 7, 4, 4, 4, 4, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, + 1, 1, 1, 1, 3, 1, 4, 7, 7, 7, + 7, 4, 2, 5, 4, 2, 2, 2, 2, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, + 3, 3, 3, 3, 1, 4, 7, 7, 7, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 2, 5, 4, 2, 5, 4, 4, 2, 2, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 5, 4, 4, 3, 3, 3, 3, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 8, 11, 4, 4, 6, 4, 4, 6, 6, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 4, 7, 7, 7, 7, 4, 2, 5, 4, 2, - 5, 4, 4, 2, 2, 2, 2, 2, 3, 3, + 4, 4, 4, 4, 4, 2, 5, 4, 2, 5, + 4, 4, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 4, 2, - 3, 1, 2, 1, 2, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 8, 11, 4, 4, 6, 4, + 4, 6, 6, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 1, 4, 7, 7, 7, 7, 4, + 2, 5, 4, 2, 5, 4, 4, 2, 2, 2, + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 5, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 0 + 1, 2, 4, 2, 3, 1, 2, 1, 2, 2, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 0 }; +enum { YYENOMEM = -2 }; + #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab +#define YYNOMEM goto yyexhaustedlab #define YYRECOVERING() (!!yyerrstatus) @@ -3426,10 +3458,9 @@ static const yytype_int8 yyr2[] = } \ while (0) -/* Error token number */ -#define YYTERROR 1 -#define YYERRCODE 256 - +/* Backward compatibility with an undocumented macro. + Use YYerror or YYUNDEF. */ +#define YYERRCODE YYUNDEF /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends @@ -3473,12 +3504,19 @@ do { \ } while (0) -/* YY_LOCATION_PRINT -- Print the location on the stream. +/* YYLOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ -#ifndef YY_LOCATION_PRINT -# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +# ifndef YYLOCATION_PRINT + +# if defined YY_LOCATION_PRINT + + /* Temporary convenience wrapper in case some people defined the + undocumented and private YY_LOCATION_PRINT macros. */ +# define YYLOCATION_PRINT(File, Loc) YY_LOCATION_PRINT(File, *(Loc)) + +# elif defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL /* Print *YYLOCP on YYO. Private, do not rely on its existence. */ @@ -3506,24 +3544,32 @@ yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp) res += YYFPRINTF (yyo, "-%d", end_col); } return res; - } +} -# define YY_LOCATION_PRINT(File, Loc) \ - yy_location_print_ (File, &(Loc)) +# define YYLOCATION_PRINT yy_location_print_ -# else -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif -#endif + /* Temporary convenience wrapper in case some people defined the + undocumented and private YY_LOCATION_PRINT macros. */ +# define YY_LOCATION_PRINT(File, Loc) YYLOCATION_PRINT(File, &(Loc)) + +# else + +# define YYLOCATION_PRINT(File, Loc) ((void) 0) + /* Temporary convenience wrapper in case some people defined the + undocumented and private YY_LOCATION_PRINT macros. */ +# define YY_LOCATION_PRINT YYLOCATION_PRINT + +# endif +# endif /* !defined YYLOCATION_PRINT */ -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ - Type, Value, Location); \ + Kind, Value, Location); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) @@ -3534,19 +3580,16 @@ do { \ `-----------------------------------*/ static void -yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp) +yy_symbol_value_print (FILE *yyo, + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp) { FILE *yyoutput = yyo; - YYUSE (yyoutput); - YYUSE (yylocationp); + YY_USE (yyoutput); + YY_USE (yylocationp); if (!yyvaluep) return; -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyo, yytoknum[yytype], *yyvaluep); -# endif YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - YYUSE (yytype); + YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END } @@ -3556,14 +3599,15 @@ yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YY `---------------------------*/ static void -yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp) +yy_symbol_print (FILE *yyo, + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp) { YYFPRINTF (yyo, "%s %s (", - yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); + yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); - YY_LOCATION_PRINT (yyo, *yylocationp); + YYLOCATION_PRINT (yyo, yylocationp); YYFPRINTF (yyo, ": "); - yy_symbol_value_print (yyo, yytype, yyvaluep, yylocationp); + yy_symbol_value_print (yyo, yykind, yyvaluep, yylocationp); YYFPRINTF (yyo, ")"); } @@ -3596,7 +3640,8 @@ do { \ `------------------------------------------------*/ static void -yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule) +yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, + int yyrule) { int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; @@ -3608,9 +3653,9 @@ yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, - yystos[+yyssp[yyi + 1 - yynrhs]], - &yyvsp[(yyi + 1) - (yynrhs)] - , &(yylsp[(yyi + 1) - (yynrhs)]) ); + YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), + &yyvsp[(yyi + 1) - (yynrhs)], + &(yylsp[(yyi + 1) - (yynrhs)])); YYFPRINTF (stderr, "\n"); } } @@ -3625,8 +3670,8 @@ do { \ multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) +# define YYDPRINTF(Args) ((void) 0) +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ @@ -3649,259 +3694,34 @@ int yydebug; #endif -#if YYERROR_VERBOSE -# ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H -# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S))) -# else -/* Return the length of YYSTR. */ -static YYPTRDIFF_T -yystrlen (const char *yystr) -{ - YYPTRDIFF_T yylen; - for (yylen = 0; yystr[yylen]; yylen++) - continue; - return yylen; -} -# endif -# endif -# ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -static char * -yystpcpy (char *yydest, const char *yysrc) -{ - char *yyd = yydest; - const char *yys = yysrc; - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; -} -# endif -# endif - -# ifndef yytnamerr -/* Copy to YYRES the contents of YYSTR after stripping away unnecessary - quotes and backslashes, so that it's suitable for yyerror. The - heuristic is that double-quoting is unnecessary unless the string - contains an apostrophe, a comma, or backslash (other than - backslash-backslash). YYSTR is taken from yytname. If YYRES is - null, do not copy; instead, return the length of what the result - would have been. */ -static YYPTRDIFF_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - YYPTRDIFF_T yyn = 0; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - else - goto append; - - append: - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } - - if (yyres) - return yystpcpy (yyres, yystr) - yyres; - else - return yystrlen (yystr); -} -# endif - -/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message - about the unexpected token YYTOKEN for the state stack whose top is - YYSSP. - - Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is - not large enough to hold the message. In that case, also set - *YYMSG_ALLOC to the required number of bytes. Return 2 if the - required number of bytes is too large to store. */ -static int -yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, - yy_state_t *yyssp, int yytoken) -{ - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - /* Internationalized format string. */ - const char *yyformat = YY_NULLPTR; - /* Arguments of yyformat: reported tokens (one for the "unexpected", - one per "expected"). */ - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - /* Actual size of YYARG. */ - int yycount = 0; - /* Cumulated lengths of YYARG. */ - YYPTRDIFF_T yysize = 0; - - /* There are many possibilities here to consider: - - If this state is a consistent state with a default action, then - the only way this function was invoked is if the default action - is an error action. In that case, don't check for expected - tokens because there are none. - - The only way there can be no lookahead present (in yychar) is if - this state is a consistent state with a default action. Thus, - detecting the absence of a lookahead is sufficient to determine - that there is no unexpected or expected token to report. In that - case, just report a simple "syntax error". - - Don't assume there isn't a lookahead just because this state is a - consistent state with a default action. There might have been a - previous inconsistent state, consistent state with a non-default - action, or user semantic action that manipulated yychar. - - Of course, the expected token list depends on states to have - correct lookahead information, and it depends on the parser not - to perform extra reductions after fetching a lookahead from the - scanner and before detecting a syntax error. Thus, state merging - (from LALR or IELR) and default reductions corrupt the expected - token list. However, the list is correct for canonical LR with - one exception: it will still contain any token that will not be - accepted due to an error action in a later state. - */ - if (yytoken != YYEMPTY) - { - int yyn = yypact[+*yyssp]; - YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); - yysize = yysize0; - yyarg[yycount++] = yytname[yytoken]; - if (!yypact_value_is_default (yyn)) - { - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. In other words, skip the first -YYN actions for - this state because they are default actions. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yyx; - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR - && !yytable_value_is_error (yytable[yyx + yyn])) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - break; - } - yyarg[yycount++] = yytname[yyx]; - { - YYPTRDIFF_T yysize1 - = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); - if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) - yysize = yysize1; - else - return 2; - } - } - } - } - - switch (yycount) - { -# define YYCASE_(N, S) \ - case N: \ - yyformat = S; \ - break - default: /* Avoid compiler warnings. */ - YYCASE_(0, YY_("syntax error")); - YYCASE_(1, YY_("syntax error, unexpected %s")); - YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); - YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); - YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); - YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); -# undef YYCASE_ - } - - { - /* Don't count the "%s"s in the final size, but reserve room for - the terminator. */ - YYPTRDIFF_T yysize1 = yysize + (yystrlen (yyformat) - 2 * yycount) + 1; - if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) - yysize = yysize1; - else - return 2; - } - - if (*yymsg_alloc < yysize) - { - *yymsg_alloc = 2 * yysize; - if (! (yysize <= *yymsg_alloc - && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) - *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; - return 1; - } - - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - { - char *yyp = *yymsg; - int yyi = 0; - while ((*yyp = *yyformat) != '\0') - if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyformat += 2; - } - else - { - ++yyp; - ++yyformat; - } - } - return 0; -} -#endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp) +yydestruct (const char *yymsg, + yysymbol_kind_t yykind, YYSTYPE *yyvaluep, YYLTYPE *yylocationp) { - YYUSE (yyvaluep); - YYUSE (yylocationp); + YY_USE (yyvaluep); + YY_USE (yylocationp); if (!yymsg) yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - YYUSE (yytype); + YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END } + + /*----------. | yyparse. | `----------*/ @@ -3909,7 +3729,7 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio int yyparse (void) { -/* The lookahead symbol. */ +/* Lookahead token kind. */ int yychar; @@ -3928,55 +3748,47 @@ static YYLTYPE yyloc_default YYLTYPE yylloc = yyloc_default; /* Number of syntax errors so far. */ - int yynerrs; + int yynerrs = 0; - yy_state_fast_t yystate; + yy_state_fast_t yystate = 0; /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; + int yyerrstatus = 0; - /* The stacks and their tools: - 'yyss': related to states. - 'yyvs': related to semantic values. - 'yyls': related to locations. - - Refer to the stacks through separate pointers, to allow yyoverflow + /* Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ - /* The state stack. */ + /* Their size. */ + YYPTRDIFF_T yystacksize = YYINITDEPTH; + + /* The state stack: array, bottom, top. */ yy_state_t yyssa[YYINITDEPTH]; - yy_state_t *yyss; - yy_state_t *yyssp; + yy_state_t *yyss = yyssa; + yy_state_t *yyssp = yyss; - /* The semantic value stack. */ + /* The semantic value stack: array, bottom, top. */ YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs; - YYSTYPE *yyvsp; + YYSTYPE *yyvs = yyvsa; + YYSTYPE *yyvsp = yyvs; - /* The location stack. */ + /* The location stack: array, bottom, top. */ YYLTYPE yylsa[YYINITDEPTH]; - YYLTYPE *yyls; - YYLTYPE *yylsp; - - /* The locations where the error started and ended. */ - YYLTYPE yyerror_range[3]; - - YYPTRDIFF_T yystacksize; + YYLTYPE *yyls = yylsa; + YYLTYPE *yylsp = yyls; int yyn; + /* The return value of yyparse. */ int yyresult; - /* Lookahead token as an internal (translated) token number. */ - int yytoken = 0; + /* Lookahead symbol kind. */ + yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; YYLTYPE yyloc; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf; -#endif + /* The locations where the error started and ended. */ + YYLTYPE yyerror_range[3]; + + #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N)) @@ -3984,17 +3796,10 @@ YYLTYPE yylloc = yyloc_default; Keep to zero when no symbol should be popped. */ int yylen = 0; - yyssp = yyss = yyssa; - yyvsp = yyvs = yyvsa; - yylsp = yyls = yylsa; - yystacksize = YYINITDEPTH; - YYDPRINTF ((stderr, "Starting parse\n")); - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ + yylsp[0] = yylloc; goto yysetstate; @@ -4017,10 +3822,11 @@ yysetstate: YY_IGNORE_USELESS_CAST_BEGIN *yyssp = YY_CAST (yy_state_t, yystate); YY_IGNORE_USELESS_CAST_END + YY_STACK_PRINT (yyss, yyssp); if (yyss + yystacksize - 1 <= yyssp) #if !defined yyoverflow && !defined YYSTACK_RELOCATE - goto yyexhaustedlab; + YYNOMEM; #else { /* Get the current used size of the three stacks, in elements. */ @@ -4051,7 +3857,7 @@ yysetstate: # else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; + YYNOMEM; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; @@ -4062,11 +3868,11 @@ yysetstate: YY_CAST (union yyalloc *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); if (! yyptr) - goto yyexhaustedlab; + YYNOMEM; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); YYSTACK_RELOCATE (yyls_alloc, yyls); -# undef YYSTACK_RELOCATE +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } @@ -4086,6 +3892,7 @@ yysetstate: } #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ + if (yystate == YYFINAL) YYACCEPT; @@ -4106,18 +3913,30 @@ yybackup: /* Not known => get a lookahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ if (yychar == YYEMPTY) { - YYDPRINTF ((stderr, "Reading a token: ")); + YYDPRINTF ((stderr, "Reading a token\n")); yychar = yylex (&yylval, &yylloc); } if (yychar <= YYEOF) { - yychar = yytoken = YYEOF; + yychar = YYEOF; + yytoken = YYSYMBOL_YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } + else if (yychar == YYerror) + { + /* The scanner already issued an error message, process directly + to error recovery. But do not keep the error token as + lookahead, it is too special and may lead us to an endless + loop in error recovery. */ + yychar = YYUNDEF; + yytoken = YYSYMBOL_YYerror; + yyerror_range[1] = yylloc; + goto yyerrlab1; + } else { yytoken = YYTRANSLATE (yychar); @@ -4189,64 +4008,64 @@ yyreduce: YY_REDUCE_PRINT (yyn); switch (yyn) { - case 3: + case 3: /* grammar: START_CONST_EXPR const_expr */ #line 454 "dtool/src/cppparser/cppBison.yxx" { current_expr = (yyvsp[0].u.expr); } -#line 4198 "built/tmp/cppBison.yxx.c" +#line 4017 "built/tmp/cppBison.yxx.c" break; - case 4: + case 4: /* grammar: START_TYPE full_type */ #line 458 "dtool/src/cppparser/cppBison.yxx" { current_type = (yyvsp[0].u.type); } -#line 4206 "built/tmp/cppBison.yxx.c" +#line 4025 "built/tmp/cppBison.yxx.c" break; - case 10: + case 10: /* constructor_init: name '(' optional_const_expr_comma ')' */ #line 476 "dtool/src/cppparser/cppBison.yxx" { delete (yyvsp[-1].u.expr); } -#line 4214 "built/tmp/cppBison.yxx.c" +#line 4033 "built/tmp/cppBison.yxx.c" break; - case 11: + case 11: /* constructor_init: name '(' optional_const_expr_comma ')' ELLIPSIS */ #line 480 "dtool/src/cppparser/cppBison.yxx" { delete (yyvsp[-2].u.expr); } -#line 4222 "built/tmp/cppBison.yxx.c" +#line 4041 "built/tmp/cppBison.yxx.c" break; - case 12: + case 12: /* constructor_init: name '{' optional_const_expr_comma '}' */ #line 484 "dtool/src/cppparser/cppBison.yxx" { delete (yyvsp[-1].u.expr); } -#line 4230 "built/tmp/cppBison.yxx.c" +#line 4049 "built/tmp/cppBison.yxx.c" break; - case 13: + case 13: /* $@1: %empty */ #line 496 "dtool/src/cppparser/cppBison.yxx" { push_storage_class((current_storage_class & ~CPPInstance::SC_c_binding) | ((yyvsp[-1].u.integer) & CPPInstance::SC_c_binding)); } -#line 4239 "built/tmp/cppBison.yxx.c" +#line 4058 "built/tmp/cppBison.yxx.c" break; - case 14: + case 14: /* extern_c: storage_class '{' $@1 cpp '}' */ #line 501 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } -#line 4247 "built/tmp/cppBison.yxx.c" +#line 4066 "built/tmp/cppBison.yxx.c" break; - case 21: + case 21: /* declaration: KW_BEGIN_PUBLISH */ #line 514 "dtool/src/cppparser/cppBison.yxx" { if (publish_nest_level != 0) { @@ -4260,10 +4079,10 @@ yyreduce: publish_nest_level++; current_scope->set_current_vis(V_published); } -#line 4264 "built/tmp/cppBison.yxx.c" +#line 4083 "built/tmp/cppBison.yxx.c" break; - case 22: + case 22: /* declaration: KW_END_PUBLISH */ #line 527 "dtool/src/cppparser/cppBison.yxx" { if (publish_nest_level != 1) { @@ -4273,18 +4092,18 @@ yyreduce: } publish_nest_level = 0; } -#line 4277 "built/tmp/cppBison.yxx.c" +#line 4096 "built/tmp/cppBison.yxx.c" break; - case 23: + case 23: /* declaration: KW_PUBLISHED ':' */ #line 536 "dtool/src/cppparser/cppBison.yxx" { current_scope->set_current_vis(V_published); } -#line 4285 "built/tmp/cppBison.yxx.c" +#line 4104 "built/tmp/cppBison.yxx.c" break; - case 24: + case 24: /* declaration: KW_PUBLIC ':' */ #line 540 "dtool/src/cppparser/cppBison.yxx" { if (publish_nest_level > 0) { @@ -4293,26 +4112,26 @@ yyreduce: current_scope->set_current_vis(V_public); } } -#line 4297 "built/tmp/cppBison.yxx.c" +#line 4116 "built/tmp/cppBison.yxx.c" break; - case 25: + case 25: /* declaration: KW_PROTECTED ':' */ #line 548 "dtool/src/cppparser/cppBison.yxx" { current_scope->set_current_vis(V_protected); } -#line 4305 "built/tmp/cppBison.yxx.c" +#line 4124 "built/tmp/cppBison.yxx.c" break; - case 26: + case 26: /* declaration: KW_PRIVATE ':' */ #line 552 "dtool/src/cppparser/cppBison.yxx" { current_scope->set_current_vis(V_private); } -#line 4313 "built/tmp/cppBison.yxx.c" +#line 4132 "built/tmp/cppBison.yxx.c" break; - case 27: + case 27: /* declaration: KW_MAKE_PROPERTY '(' name ',' IDENTIFIER maybe_comma_identifier ')' ';' */ #line 556 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-3].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4334,10 +4153,10 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-7])); } } -#line 4338 "built/tmp/cppBison.yxx.c" +#line 4157 "built/tmp/cppBison.yxx.c" break; - case 28: + case 28: /* declaration: KW_MAKE_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ #line 577 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4365,10 +4184,10 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-10])); } } -#line 4369 "built/tmp/cppBison.yxx.c" +#line 4188 "built/tmp/cppBison.yxx.c" break; - case 29: + case 29: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ #line 604 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4390,10 +4209,10 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4394 "built/tmp/cppBison.yxx.c" +#line 4213 "built/tmp/cppBison.yxx.c" break; - case 30: + case 30: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ #line 625 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *length_getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4423,10 +4242,10 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-10])); } } -#line 4427 "built/tmp/cppBison.yxx.c" +#line 4246 "built/tmp/cppBison.yxx.c" break; - case 31: + case 31: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ #line 654 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *length_getter = (yyvsp[-8].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4463,10 +4282,10 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12])); } } -#line 4467 "built/tmp/cppBison.yxx.c" +#line 4286 "built/tmp/cppBison.yxx.c" break; - case 32: + case 32: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ #line 690 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *length_getter = (yyvsp[-10].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4510,10 +4329,10 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-14])); } } -#line 4514 "built/tmp/cppBison.yxx.c" +#line 4333 "built/tmp/cppBison.yxx.c" break; - case 33: + case 33: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ')' ';' */ #line 733 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4526,10 +4345,10 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-6])); } } -#line 4530 "built/tmp/cppBison.yxx.c" +#line 4349 "built/tmp/cppBison.yxx.c" break; - case 34: + case 34: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ #line 745 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4551,10 +4370,10 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4555 "built/tmp/cppBison.yxx.c" +#line 4374 "built/tmp/cppBison.yxx.c" break; - case 35: + case 35: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER maybe_comma_identifier ')' ';' */ #line 766 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-5].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4591,10 +4410,10 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-11])); } } -#line 4595 "built/tmp/cppBison.yxx.c" +#line 4414 "built/tmp/cppBison.yxx.c" break; - case 36: + case 36: /* declaration: KW_MAKE_MAP_KEYS_SEQ '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ #line 802 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4629,10 +4448,10 @@ yyreduce: } } } -#line 4633 "built/tmp/cppBison.yxx.c" +#line 4452 "built/tmp/cppBison.yxx.c" break; - case 37: + case 37: /* declaration: KW_MAKE_PROPERTY2 '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ #line 836 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4655,10 +4474,10 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4659 "built/tmp/cppBison.yxx.c" +#line 4478 "built/tmp/cppBison.yxx.c" break; - case 38: + case 38: /* declaration: KW_MAKE_PROPERTY2 '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ #line 858 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4695,10 +4514,10 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12])); } } -#line 4699 "built/tmp/cppBison.yxx.c" +#line 4518 "built/tmp/cppBison.yxx.c" break; - case 39: + case 39: /* declaration: KW_MAKE_SEQ '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ #line 894 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4721,10 +4540,10 @@ yyreduce: current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[-8])); } } -#line 4725 "built/tmp/cppBison.yxx.c" +#line 4544 "built/tmp/cppBison.yxx.c" break; - case 40: + case 40: /* declaration: KW_STATIC_ASSERT '(' const_expr ',' string_literal ')' ';' */ #line 916 "dtool/src/cppparser/cppBison.yxx" { CPPExpression::Result result = (yyvsp[-4].u.expr)->evaluate(); @@ -4736,10 +4555,10 @@ yyreduce: yywarning("static_assert failed: " + str.str(), (yylsp[-4])); } } -#line 4740 "built/tmp/cppBison.yxx.c" +#line 4559 "built/tmp/cppBison.yxx.c" break; - case 41: + case 41: /* declaration: KW_STATIC_ASSERT '(' const_expr ')' ';' */ #line 927 "dtool/src/cppparser/cppBison.yxx" { // This alternative version of static_assert was introduced in C++17. @@ -4750,54 +4569,54 @@ yyreduce: yywarning("static_assert failed", (yylsp[-2])); } } -#line 4754 "built/tmp/cppBison.yxx.c" +#line 4573 "built/tmp/cppBison.yxx.c" break; - case 42: + case 42: /* $@2: %empty */ #line 940 "dtool/src/cppparser/cppBison.yxx" { CPPScope *new_scope = new CPPScope(current_scope, CPPNameComponent("temp"), V_public); push_scope(new_scope); } -#line 4764 "built/tmp/cppBison.yxx.c" +#line 4583 "built/tmp/cppBison.yxx.c" break; - case 43: + case 43: /* friend_declaration: KW_FRIEND $@2 declaration */ #line 946 "dtool/src/cppparser/cppBison.yxx" { delete current_scope; pop_scope(); } -#line 4773 "built/tmp/cppBison.yxx.c" +#line 4592 "built/tmp/cppBison.yxx.c" break; - case 44: + case 44: /* storage_class: empty */ #line 955 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = 0; } -#line 4781 "built/tmp/cppBison.yxx.c" +#line 4600 "built/tmp/cppBison.yxx.c" break; - case 45: + case 45: /* storage_class: KW_CONST storage_class */ #line 959 "dtool/src/cppparser/cppBison.yxx" { // This isn't really a storage class, but it helps with parsing. (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_const; } -#line 4790 "built/tmp/cppBison.yxx.c" +#line 4609 "built/tmp/cppBison.yxx.c" break; - case 46: + case 46: /* storage_class: KW_EXTERN storage_class */ #line 964 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern; } -#line 4798 "built/tmp/cppBison.yxx.c" +#line 4617 "built/tmp/cppBison.yxx.c" break; - case 47: + case 47: /* storage_class: KW_EXTERN SIMPLE_STRING storage_class */ #line 968 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern; @@ -4809,124 +4628,124 @@ yyreduce: yywarning("Ignoring unknown linkage type \"" + (yyvsp[-1].str) + "\"", (yylsp[-1])); } } -#line 4813 "built/tmp/cppBison.yxx.c" +#line 4632 "built/tmp/cppBison.yxx.c" break; - case 48: + case 48: /* storage_class: KW_STATIC storage_class */ #line 979 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_static; } -#line 4821 "built/tmp/cppBison.yxx.c" +#line 4640 "built/tmp/cppBison.yxx.c" break; - case 49: + case 49: /* storage_class: KW_INLINE storage_class */ #line 983 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_inline; } -#line 4829 "built/tmp/cppBison.yxx.c" +#line 4648 "built/tmp/cppBison.yxx.c" break; - case 50: + case 50: /* storage_class: KW_VIRTUAL storage_class */ #line 987 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_virtual; } -#line 4837 "built/tmp/cppBison.yxx.c" +#line 4656 "built/tmp/cppBison.yxx.c" break; - case 51: + case 51: /* storage_class: KW_EXPLICIT storage_class */ #line 991 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_explicit; } -#line 4845 "built/tmp/cppBison.yxx.c" +#line 4664 "built/tmp/cppBison.yxx.c" break; - case 52: + case 52: /* storage_class: KW_REGISTER storage_class */ #line 995 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_register; } -#line 4853 "built/tmp/cppBison.yxx.c" +#line 4672 "built/tmp/cppBison.yxx.c" break; - case 53: + case 53: /* storage_class: KW_VOLATILE storage_class */ #line 999 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_volatile; } -#line 4861 "built/tmp/cppBison.yxx.c" +#line 4680 "built/tmp/cppBison.yxx.c" break; - case 54: + case 54: /* storage_class: KW_MUTABLE storage_class */ #line 1003 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_mutable; } -#line 4869 "built/tmp/cppBison.yxx.c" +#line 4688 "built/tmp/cppBison.yxx.c" break; - case 55: + case 55: /* storage_class: KW_CONSTEXPR storage_class */ #line 1007 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_constexpr; } -#line 4877 "built/tmp/cppBison.yxx.c" +#line 4696 "built/tmp/cppBison.yxx.c" break; - case 56: + case 56: /* storage_class: KW_BLOCKING storage_class */ #line 1011 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_blocking; } -#line 4885 "built/tmp/cppBison.yxx.c" +#line 4704 "built/tmp/cppBison.yxx.c" break; - case 57: + case 57: /* storage_class: KW_EXTENSION storage_class */ #line 1015 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extension; } -#line 4893 "built/tmp/cppBison.yxx.c" +#line 4712 "built/tmp/cppBison.yxx.c" break; - case 58: + case 58: /* storage_class: KW_THREAD_LOCAL storage_class */ #line 1019 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_thread_local; } -#line 4901 "built/tmp/cppBison.yxx.c" +#line 4720 "built/tmp/cppBison.yxx.c" break; - case 59: + case 59: /* storage_class: ATTR_LEFT attribute_specifiers ATTR_RIGHT storage_class */ #line 1023 "dtool/src/cppparser/cppBison.yxx" { // Ignore attribute specifiers for now. (yyval.u.integer) = (yyvsp[0].u.integer); } -#line 4910 "built/tmp/cppBison.yxx.c" +#line 4729 "built/tmp/cppBison.yxx.c" break; - case 60: + case 60: /* storage_class: KW_ALIGNAS '(' const_expr ')' storage_class */ #line 1028 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer); } -#line 4918 "built/tmp/cppBison.yxx.c" +#line 4737 "built/tmp/cppBison.yxx.c" break; - case 61: + case 61: /* storage_class: KW_ALIGNAS '(' type_decl ')' storage_class */ #line 1032 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer); } -#line 4926 "built/tmp/cppBison.yxx.c" +#line 4745 "built/tmp/cppBison.yxx.c" break; - case 67: -#line 1050 "dtool/src/cppparser/cppBison.yxx" + case 71: /* $@3: %empty */ +#line 1057 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // type_like_declaration. @@ -4937,19 +4756,19 @@ yyreduce: } push_storage_class((yyvsp[-1].u.integer)); } -#line 4941 "built/tmp/cppBison.yxx.c" +#line 4760 "built/tmp/cppBison.yxx.c" break; - case 68: -#line 1061 "dtool/src/cppparser/cppBison.yxx" + case 72: /* type_like_declaration: storage_class var_type_decl $@3 multiple_instance_identifiers */ +#line 1068 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } -#line 4949 "built/tmp/cppBison.yxx.c" +#line 4768 "built/tmp/cppBison.yxx.c" break; - case 69: -#line 1066 "dtool/src/cppparser/cppBison.yxx" + case 73: /* type_like_declaration: storage_class type_decl ';' */ +#line 1073 "dtool/src/cppparser/cppBison.yxx" { // We don't really care about the storage class here. In fact, it's // not actually legal to define a class or struct using a particular @@ -4958,11 +4777,11 @@ yyreduce: current_scope->add_declaration((yyvsp[-1].u.decl), global_scope, current_lexer, (yylsp[-1])); } -#line 4962 "built/tmp/cppBison.yxx.c" +#line 4781 "built/tmp/cppBison.yxx.c" break; - case 70: -#line 1075 "dtool/src/cppparser/cppBison.yxx" + case 74: /* $@4: %empty */ +#line 1082 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[0].u.instance) != nullptr) { // Push the scope so that the initializers can make use of things defined @@ -4971,11 +4790,11 @@ yyreduce: (yyvsp[0].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-1].u.integer)); } } -#line 4975 "built/tmp/cppBison.yxx.c" +#line 4794 "built/tmp/cppBison.yxx.c" break; - case 71: -#line 1084 "dtool/src/cppparser/cppBison.yxx" + case 75: /* type_like_declaration: storage_class constructor_prototype $@4 maybe_initialize_or_constructor_body */ +#line 1091 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-2].u.instance) != nullptr) { pop_scope(); @@ -4983,11 +4802,11 @@ yyreduce: (yyvsp[-2].u.instance)->set_initializer((yyvsp[0].u.expr)); } } -#line 4987 "built/tmp/cppBison.yxx.c" +#line 4806 "built/tmp/cppBison.yxx.c" break; - case 72: -#line 1092 "dtool/src/cppparser/cppBison.yxx" + case 76: /* type_like_declaration: storage_class function_prototype maybe_initialize_or_function_body */ +#line 1099 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-1].u.instance) != nullptr) { (yyvsp[-1].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-2].u.integer)); @@ -4995,11 +4814,11 @@ yyreduce: (yyvsp[-1].u.instance)->set_initializer((yyvsp[0].u.expr)); } } -#line 4999 "built/tmp/cppBison.yxx.c" +#line 4818 "built/tmp/cppBison.yxx.c" break; - case 74: -#line 1108 "dtool/src/cppparser/cppBison.yxx" + case 78: /* multiple_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize_or_function_body */ +#line 1115 "dtool/src/cppparser/cppBison.yxx" { if (current_storage_class & CPPInstance::SC_const) { (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); @@ -5010,11 +4829,11 @@ yyreduce: inst->set_initializer((yyvsp[0].u.expr)); current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-1])); } -#line 5014 "built/tmp/cppBison.yxx.c" +#line 4833 "built/tmp/cppBison.yxx.c" break; - case 75: -#line 1119 "dtool/src/cppparser/cppBison.yxx" + case 79: /* multiple_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize ',' multiple_instance_identifiers */ +#line 1126 "dtool/src/cppparser/cppBison.yxx" { if (current_storage_class & CPPInstance::SC_const) { (yyvsp[-3].u.inst_ident)->add_modifier(IIT_const); @@ -5025,11 +4844,11 @@ yyreduce: inst->set_initializer((yyvsp[-2].u.expr)); current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-3])); } -#line 5029 "built/tmp/cppBison.yxx.c" +#line 4848 "built/tmp/cppBison.yxx.c" break; - case 76: -#line 1134 "dtool/src/cppparser/cppBison.yxx" + case 80: /* $@5: %empty */ +#line 1141 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -5040,19 +4859,19 @@ yyreduce: } push_storage_class((yyvsp[-1].u.integer)); } -#line 5044 "built/tmp/cppBison.yxx.c" +#line 4863 "built/tmp/cppBison.yxx.c" break; - case 77: -#line 1145 "dtool/src/cppparser/cppBison.yxx" + case 81: /* typedef_declaration: storage_class var_type_decl $@5 typedef_instance_identifiers */ +#line 1152 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } -#line 5052 "built/tmp/cppBison.yxx.c" +#line 4871 "built/tmp/cppBison.yxx.c" break; - case 78: -#line 1149 "dtool/src/cppparser/cppBison.yxx" + case 82: /* typedef_declaration: storage_class function_prototype maybe_initialize_or_function_body */ +#line 1156 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-1].u.instance) != nullptr) { CPPInstance *inst = (yyvsp[-1].u.instance)->as_instance(); @@ -5064,11 +4883,11 @@ yyreduce: } } } -#line 5068 "built/tmp/cppBison.yxx.c" +#line 4887 "built/tmp/cppBison.yxx.c" break; - case 79: -#line 1164 "dtool/src/cppparser/cppBison.yxx" + case 83: /* typedef_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize_or_function_body */ +#line 1171 "dtool/src/cppparser/cppBison.yxx" { if (current_storage_class & CPPInstance::SC_const) { (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); @@ -5077,11 +4896,11 @@ yyreduce: CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-1].u.inst_ident), current_scope, (yylsp[-1]).file); current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-1])); } -#line 5081 "built/tmp/cppBison.yxx.c" +#line 4900 "built/tmp/cppBison.yxx.c" break; - case 80: -#line 1173 "dtool/src/cppparser/cppBison.yxx" + case 84: /* typedef_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize ',' typedef_instance_identifiers */ +#line 1180 "dtool/src/cppparser/cppBison.yxx" { if (current_storage_class & CPPInstance::SC_const) { (yyvsp[-3].u.inst_ident)->add_modifier(IIT_const); @@ -5090,11 +4909,11 @@ yyreduce: CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-3].u.inst_ident), current_scope, (yylsp[-3]).file); current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-3])); } -#line 5094 "built/tmp/cppBison.yxx.c" +#line 4913 "built/tmp/cppBison.yxx.c" break; - case 81: -#line 1187 "dtool/src/cppparser/cppBison.yxx" + case 85: /* $@6: %empty */ +#line 1194 "dtool/src/cppparser/cppBison.yxx" { // Create a scope for this function. CPPScope *scope = new CPPScope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope), @@ -5107,11 +4926,11 @@ yyreduce: push_scope(scope); } -#line 5111 "built/tmp/cppBison.yxx.c" +#line 4930 "built/tmp/cppBison.yxx.c" break; - case 82: -#line 1200 "dtool/src/cppparser/cppBison.yxx" + case 86: /* constructor_prototype: IDENTIFIER '(' $@6 function_parameter_list ')' function_post */ +#line 1207 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-5].u.identifier)->get_scope(current_scope, global_scope); CPPType *type; @@ -5135,11 +4954,11 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-5]).file); } -#line 5139 "built/tmp/cppBison.yxx.c" +#line 4958 "built/tmp/cppBison.yxx.c" break; - case 83: -#line 1226 "dtool/src/cppparser/cppBison.yxx" + case 87: /* $@7: %empty */ +#line 1233 "dtool/src/cppparser/cppBison.yxx" { // Create a scope for this function. CPPScope *scope = new CPPScope((yyvsp[-2].u.identifier)->get_scope(current_scope, global_scope), @@ -5152,11 +4971,11 @@ yyreduce: push_scope(scope); } -#line 5156 "built/tmp/cppBison.yxx.c" +#line 4975 "built/tmp/cppBison.yxx.c" break; - case 84: -#line 1239 "dtool/src/cppparser/cppBison.yxx" + case 88: /* constructor_prototype: TYPENAME_IDENTIFIER '(' IDENTIFIER ')' '(' $@7 function_parameter_list ')' function_post */ +#line 1246 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[-8].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -5170,11 +4989,11 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-8]).file); } -#line 5174 "built/tmp/cppBison.yxx.c" +#line 4993 "built/tmp/cppBison.yxx.c" break; - case 85: -#line 1253 "dtool/src/cppparser/cppBison.yxx" + case 89: /* $@8: %empty */ +#line 1260 "dtool/src/cppparser/cppBison.yxx" { // Create a scope for this function. CPPScope *scope = new CPPScope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope), @@ -5187,11 +5006,11 @@ yyreduce: push_scope(scope); } -#line 5191 "built/tmp/cppBison.yxx.c" +#line 5010 "built/tmp/cppBison.yxx.c" break; - case 86: -#line 1266 "dtool/src/cppparser/cppBison.yxx" + case 90: /* constructor_prototype: TYPENAME_IDENTIFIER '(' $@8 function_parameter_list ')' function_post */ +#line 1273 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type; @@ -5209,19 +5028,19 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-5]).file); } -#line 5213 "built/tmp/cppBison.yxx.c" +#line 5032 "built/tmp/cppBison.yxx.c" break; - case 87: -#line 1289 "dtool/src/cppparser/cppBison.yxx" + case 91: /* $@9: %empty */ +#line 1296 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope)); } -#line 5221 "built/tmp/cppBison.yxx.c" +#line 5040 "built/tmp/cppBison.yxx.c" break; - case 88: -#line 1293 "dtool/src/cppparser/cppBison.yxx" + case 92: /* function_prototype: '~' name '(' $@9 function_parameter_list ')' function_post */ +#line 1300 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); if ((yyvsp[-5].u.identifier)->is_scoped()) { @@ -5240,19 +5059,19 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-5]).file); } } -#line 5244 "built/tmp/cppBison.yxx.c" +#line 5063 "built/tmp/cppBison.yxx.c" break; - case 89: -#line 1319 "dtool/src/cppparser/cppBison.yxx" + case 93: /* $@10: %empty */ +#line 1326 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope)); } -#line 5252 "built/tmp/cppBison.yxx.c" +#line 5071 "built/tmp/cppBison.yxx.c" break; - case 90: -#line 1323 "dtool/src/cppparser/cppBison.yxx" + case 94: /* function_prototype: TYPENAME_IDENTIFIER '(' '*' instance_identifier ')' '(' $@10 function_parameter_list ')' function_post maybe_trailing_return_type */ +#line 1330 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[-10].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -5266,19 +5085,19 @@ yyreduce: ii->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer)); (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-10]).file); } -#line 5270 "built/tmp/cppBison.yxx.c" +#line 5089 "built/tmp/cppBison.yxx.c" break; - case 91: -#line 1337 "dtool/src/cppparser/cppBison.yxx" + case 95: /* $@11: %empty */ +#line 1344 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope)); } -#line 5278 "built/tmp/cppBison.yxx.c" +#line 5097 "built/tmp/cppBison.yxx.c" break; - case 92: -#line 1341 "dtool/src/cppparser/cppBison.yxx" + case 96: /* function_prototype: TYPENAME_IDENTIFIER '(' SCOPING '*' instance_identifier ')' '(' $@11 function_parameter_list ')' function_post maybe_trailing_return_type */ +#line 1348 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[-11].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -5292,21 +5111,21 @@ yyreduce: ii->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer)); (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-11]).file); } -#line 5296 "built/tmp/cppBison.yxx.c" +#line 5115 "built/tmp/cppBison.yxx.c" break; - case 93: -#line 1357 "dtool/src/cppparser/cppBison.yxx" + case 97: /* $@12: %empty */ +#line 1364 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-3].u.identifier) != nullptr) { push_scope((yyvsp[-3].u.identifier)->get_scope(current_scope, global_scope)); } } -#line 5306 "built/tmp/cppBison.yxx.c" +#line 5125 "built/tmp/cppBison.yxx.c" break; - case 94: -#line 1363 "dtool/src/cppparser/cppBison.yxx" + case 98: /* function_prototype: KW_OPERATOR type not_paren_formal_parameter_identifier '(' $@12 function_parameter_list ')' function_post */ +#line 1370 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-7].u.identifier) != nullptr) { pop_scope(); @@ -5331,21 +5150,21 @@ yyreduce: (yyval.u.instance) = CPPInstance::make_typecast_function (new CPPInstance((yyvsp[-6].u.type), (yyvsp[-5].u.inst_ident), 0, (yylsp[-5]).file), ident, (yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); } -#line 5335 "built/tmp/cppBison.yxx.c" +#line 5154 "built/tmp/cppBison.yxx.c" break; - case 95: -#line 1388 "dtool/src/cppparser/cppBison.yxx" + case 99: /* $@13: %empty */ +#line 1395 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-4].u.identifier) != nullptr) { push_scope((yyvsp[-4].u.identifier)->get_scope(current_scope, global_scope)); } } -#line 5345 "built/tmp/cppBison.yxx.c" +#line 5164 "built/tmp/cppBison.yxx.c" break; - case 96: -#line 1394 "dtool/src/cppparser/cppBison.yxx" + case 100: /* function_prototype: KW_OPERATOR KW_CONST type not_paren_formal_parameter_identifier '(' $@13 function_parameter_list ')' function_post */ +#line 1401 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-8].u.identifier) != nullptr) { pop_scope(); @@ -5361,11 +5180,11 @@ yyreduce: (yyval.u.instance) = CPPInstance::make_typecast_function (new CPPInstance((yyvsp[-6].u.type), (yyvsp[-5].u.inst_ident), 0, (yylsp[-5]).file), ident, (yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); } -#line 5365 "built/tmp/cppBison.yxx.c" +#line 5184 "built/tmp/cppBison.yxx.c" break; - case 97: -#line 1414 "dtool/src/cppparser/cppBison.yxx" + case 101: /* function_prototype: IDENTIFIER */ +#line 1421 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *decl = (yyvsp[0].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -5375,574 +5194,574 @@ yyreduce: (yyval.u.instance) = nullptr; } } -#line 5379 "built/tmp/cppBison.yxx.c" +#line 5198 "built/tmp/cppBison.yxx.c" break; - case 98: -#line 1427 "dtool/src/cppparser/cppBison.yxx" + case 102: /* function_post: empty */ +#line 1434 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = 0; } -#line 5387 "built/tmp/cppBison.yxx.c" +#line 5206 "built/tmp/cppBison.yxx.c" break; - case 99: -#line 1431 "dtool/src/cppparser/cppBison.yxx" + case 103: /* function_post: function_post KW_CONST */ +#line 1438 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_const_method; } -#line 5395 "built/tmp/cppBison.yxx.c" +#line 5214 "built/tmp/cppBison.yxx.c" break; - case 100: -#line 1435 "dtool/src/cppparser/cppBison.yxx" + case 104: /* function_post: function_post KW_VOLATILE */ +#line 1442 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_volatile_method; } -#line 5403 "built/tmp/cppBison.yxx.c" +#line 5222 "built/tmp/cppBison.yxx.c" break; - case 101: -#line 1439 "dtool/src/cppparser/cppBison.yxx" + case 105: /* function_post: function_post KW_NOEXCEPT */ +#line 1446 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_noexcept; } -#line 5411 "built/tmp/cppBison.yxx.c" +#line 5230 "built/tmp/cppBison.yxx.c" break; - case 102: -#line 1452 "dtool/src/cppparser/cppBison.yxx" + case 106: /* function_post: function_post KW_FINAL */ +#line 1459 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_final; } -#line 5419 "built/tmp/cppBison.yxx.c" +#line 5238 "built/tmp/cppBison.yxx.c" break; - case 103: -#line 1456 "dtool/src/cppparser/cppBison.yxx" + case 107: /* function_post: function_post KW_OVERRIDE */ +#line 1463 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_override; } -#line 5427 "built/tmp/cppBison.yxx.c" +#line 5246 "built/tmp/cppBison.yxx.c" break; - case 104: -#line 1460 "dtool/src/cppparser/cppBison.yxx" + case 108: /* function_post: function_post '&' */ +#line 1467 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_lvalue_method; } -#line 5435 "built/tmp/cppBison.yxx.c" +#line 5254 "built/tmp/cppBison.yxx.c" break; - case 105: -#line 1464 "dtool/src/cppparser/cppBison.yxx" + case 109: /* function_post: function_post ANDAND */ +#line 1471 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_rvalue_method; } -#line 5443 "built/tmp/cppBison.yxx.c" +#line 5262 "built/tmp/cppBison.yxx.c" break; - case 106: -#line 1468 "dtool/src/cppparser/cppBison.yxx" + case 110: /* function_post: function_post KW_MUTABLE */ +#line 1475 "dtool/src/cppparser/cppBison.yxx" { // Used for lambdas, currently ignored. (yyval.u.integer) = (yyvsp[-1].u.integer); } -#line 5452 "built/tmp/cppBison.yxx.c" +#line 5271 "built/tmp/cppBison.yxx.c" break; - case 107: -#line 1473 "dtool/src/cppparser/cppBison.yxx" + case 111: /* function_post: function_post KW_CONSTEXPR */ +#line 1480 "dtool/src/cppparser/cppBison.yxx" { // Used for lambdas in C++17, currently ignored. (yyval.u.integer) = (yyvsp[-1].u.integer); } -#line 5461 "built/tmp/cppBison.yxx.c" +#line 5280 "built/tmp/cppBison.yxx.c" break; - case 108: -#line 1478 "dtool/src/cppparser/cppBison.yxx" + case 112: /* function_post: function_post KW_THROW '(' ')' */ +#line 1485 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-3].u.integer); } -#line 5469 "built/tmp/cppBison.yxx.c" +#line 5288 "built/tmp/cppBison.yxx.c" break; - case 109: -#line 1482 "dtool/src/cppparser/cppBison.yxx" + case 113: /* function_post: function_post KW_THROW '(' name ')' */ +#line 1489 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-4].u.integer); } -#line 5477 "built/tmp/cppBison.yxx.c" +#line 5296 "built/tmp/cppBison.yxx.c" break; - case 110: -#line 1486 "dtool/src/cppparser/cppBison.yxx" + case 114: /* function_post: function_post KW_THROW '(' name ELLIPSIS ')' */ +#line 1493 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-5].u.integer); } -#line 5485 "built/tmp/cppBison.yxx.c" +#line 5304 "built/tmp/cppBison.yxx.c" break; - case 111: -#line 1490 "dtool/src/cppparser/cppBison.yxx" + case 115: /* function_post: function_post ATTR_LEFT attribute_specifiers ATTR_RIGHT */ +#line 1497 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-3].u.integer); } -#line 5493 "built/tmp/cppBison.yxx.c" +#line 5312 "built/tmp/cppBison.yxx.c" break; - case 112: -#line 1497 "dtool/src/cppparser/cppBison.yxx" + case 116: /* function_operator: '!' */ +#line 1504 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "!"; } -#line 5501 "built/tmp/cppBison.yxx.c" +#line 5320 "built/tmp/cppBison.yxx.c" break; - case 113: -#line 1501 "dtool/src/cppparser/cppBison.yxx" + case 117: /* function_operator: '~' */ +#line 1508 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "~"; } -#line 5509 "built/tmp/cppBison.yxx.c" +#line 5328 "built/tmp/cppBison.yxx.c" break; - case 114: -#line 1505 "dtool/src/cppparser/cppBison.yxx" + case 118: /* function_operator: '*' */ +#line 1512 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "*"; } -#line 5517 "built/tmp/cppBison.yxx.c" +#line 5336 "built/tmp/cppBison.yxx.c" break; - case 115: -#line 1509 "dtool/src/cppparser/cppBison.yxx" + case 119: /* function_operator: '/' */ +#line 1516 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "/"; } -#line 5525 "built/tmp/cppBison.yxx.c" +#line 5344 "built/tmp/cppBison.yxx.c" break; - case 116: -#line 1513 "dtool/src/cppparser/cppBison.yxx" + case 120: /* function_operator: '%' */ +#line 1520 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "%"; } -#line 5533 "built/tmp/cppBison.yxx.c" +#line 5352 "built/tmp/cppBison.yxx.c" break; - case 117: -#line 1517 "dtool/src/cppparser/cppBison.yxx" + case 121: /* function_operator: '+' */ +#line 1524 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "+"; } -#line 5541 "built/tmp/cppBison.yxx.c" +#line 5360 "built/tmp/cppBison.yxx.c" break; - case 118: -#line 1521 "dtool/src/cppparser/cppBison.yxx" + case 122: /* function_operator: '-' */ +#line 1528 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "-"; } -#line 5549 "built/tmp/cppBison.yxx.c" +#line 5368 "built/tmp/cppBison.yxx.c" break; - case 119: -#line 1525 "dtool/src/cppparser/cppBison.yxx" + case 123: /* function_operator: '|' */ +#line 1532 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "|"; } -#line 5557 "built/tmp/cppBison.yxx.c" +#line 5376 "built/tmp/cppBison.yxx.c" break; - case 120: -#line 1529 "dtool/src/cppparser/cppBison.yxx" + case 124: /* function_operator: '&' */ +#line 1536 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&"; } -#line 5565 "built/tmp/cppBison.yxx.c" +#line 5384 "built/tmp/cppBison.yxx.c" break; - case 121: -#line 1533 "dtool/src/cppparser/cppBison.yxx" + case 125: /* function_operator: '^' */ +#line 1540 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "^"; } -#line 5573 "built/tmp/cppBison.yxx.c" +#line 5392 "built/tmp/cppBison.yxx.c" break; - case 122: -#line 1537 "dtool/src/cppparser/cppBison.yxx" + case 126: /* function_operator: OROR */ +#line 1544 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "||"; } -#line 5581 "built/tmp/cppBison.yxx.c" +#line 5400 "built/tmp/cppBison.yxx.c" break; - case 123: -#line 1541 "dtool/src/cppparser/cppBison.yxx" + case 127: /* function_operator: ANDAND */ +#line 1548 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&&"; } -#line 5589 "built/tmp/cppBison.yxx.c" +#line 5408 "built/tmp/cppBison.yxx.c" break; - case 124: -#line 1545 "dtool/src/cppparser/cppBison.yxx" + case 128: /* function_operator: EQCOMPARE */ +#line 1552 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "=="; } -#line 5597 "built/tmp/cppBison.yxx.c" +#line 5416 "built/tmp/cppBison.yxx.c" break; - case 125: -#line 1549 "dtool/src/cppparser/cppBison.yxx" + case 129: /* function_operator: NECOMPARE */ +#line 1556 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "!="; } -#line 5605 "built/tmp/cppBison.yxx.c" +#line 5424 "built/tmp/cppBison.yxx.c" break; - case 126: -#line 1553 "dtool/src/cppparser/cppBison.yxx" + case 130: /* function_operator: LECOMPARE */ +#line 1560 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<="; } -#line 5613 "built/tmp/cppBison.yxx.c" +#line 5432 "built/tmp/cppBison.yxx.c" break; - case 127: -#line 1557 "dtool/src/cppparser/cppBison.yxx" + case 131: /* function_operator: GECOMPARE */ +#line 1564 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">="; } -#line 5621 "built/tmp/cppBison.yxx.c" +#line 5440 "built/tmp/cppBison.yxx.c" break; - case 128: -#line 1561 "dtool/src/cppparser/cppBison.yxx" + case 132: /* function_operator: '<' */ +#line 1568 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<"; } -#line 5629 "built/tmp/cppBison.yxx.c" +#line 5448 "built/tmp/cppBison.yxx.c" break; - case 129: -#line 1565 "dtool/src/cppparser/cppBison.yxx" + case 133: /* function_operator: '>' */ +#line 1572 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">"; } -#line 5637 "built/tmp/cppBison.yxx.c" +#line 5456 "built/tmp/cppBison.yxx.c" break; - case 130: -#line 1569 "dtool/src/cppparser/cppBison.yxx" + case 134: /* function_operator: LSHIFT */ +#line 1576 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<<"; } -#line 5645 "built/tmp/cppBison.yxx.c" +#line 5464 "built/tmp/cppBison.yxx.c" break; - case 131: -#line 1573 "dtool/src/cppparser/cppBison.yxx" + case 135: /* function_operator: RSHIFT */ +#line 1580 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">>"; } -#line 5653 "built/tmp/cppBison.yxx.c" +#line 5472 "built/tmp/cppBison.yxx.c" break; - case 132: -#line 1577 "dtool/src/cppparser/cppBison.yxx" + case 136: /* function_operator: '=' */ +#line 1584 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "="; } -#line 5661 "built/tmp/cppBison.yxx.c" +#line 5480 "built/tmp/cppBison.yxx.c" break; - case 133: -#line 1581 "dtool/src/cppparser/cppBison.yxx" + case 137: /* function_operator: ',' */ +#line 1588 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ","; } -#line 5669 "built/tmp/cppBison.yxx.c" +#line 5488 "built/tmp/cppBison.yxx.c" break; - case 134: -#line 1585 "dtool/src/cppparser/cppBison.yxx" + case 138: /* function_operator: PLUSPLUS */ +#line 1592 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "++"; } -#line 5677 "built/tmp/cppBison.yxx.c" +#line 5496 "built/tmp/cppBison.yxx.c" break; - case 135: -#line 1589 "dtool/src/cppparser/cppBison.yxx" + case 139: /* function_operator: MINUSMINUS */ +#line 1596 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "--"; } -#line 5685 "built/tmp/cppBison.yxx.c" +#line 5504 "built/tmp/cppBison.yxx.c" break; - case 136: -#line 1593 "dtool/src/cppparser/cppBison.yxx" + case 140: /* function_operator: TIMESEQUAL */ +#line 1600 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "*="; } -#line 5693 "built/tmp/cppBison.yxx.c" +#line 5512 "built/tmp/cppBison.yxx.c" break; - case 137: -#line 1597 "dtool/src/cppparser/cppBison.yxx" + case 141: /* function_operator: DIVIDEEQUAL */ +#line 1604 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "/="; } -#line 5701 "built/tmp/cppBison.yxx.c" +#line 5520 "built/tmp/cppBison.yxx.c" break; - case 138: -#line 1601 "dtool/src/cppparser/cppBison.yxx" + case 142: /* function_operator: MODEQUAL */ +#line 1608 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "%="; } -#line 5709 "built/tmp/cppBison.yxx.c" +#line 5528 "built/tmp/cppBison.yxx.c" break; - case 139: -#line 1605 "dtool/src/cppparser/cppBison.yxx" + case 143: /* function_operator: PLUSEQUAL */ +#line 1612 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "+="; } -#line 5717 "built/tmp/cppBison.yxx.c" +#line 5536 "built/tmp/cppBison.yxx.c" break; - case 140: -#line 1609 "dtool/src/cppparser/cppBison.yxx" + case 144: /* function_operator: MINUSEQUAL */ +#line 1616 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "-="; } -#line 5725 "built/tmp/cppBison.yxx.c" +#line 5544 "built/tmp/cppBison.yxx.c" break; - case 141: -#line 1613 "dtool/src/cppparser/cppBison.yxx" + case 145: /* function_operator: OREQUAL */ +#line 1620 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "|="; } -#line 5733 "built/tmp/cppBison.yxx.c" +#line 5552 "built/tmp/cppBison.yxx.c" break; - case 142: -#line 1617 "dtool/src/cppparser/cppBison.yxx" + case 146: /* function_operator: ANDEQUAL */ +#line 1624 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&="; } -#line 5741 "built/tmp/cppBison.yxx.c" +#line 5560 "built/tmp/cppBison.yxx.c" break; - case 143: -#line 1621 "dtool/src/cppparser/cppBison.yxx" + case 147: /* function_operator: XOREQUAL */ +#line 1628 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "^="; } -#line 5749 "built/tmp/cppBison.yxx.c" +#line 5568 "built/tmp/cppBison.yxx.c" break; - case 144: -#line 1625 "dtool/src/cppparser/cppBison.yxx" + case 148: /* function_operator: LSHIFTEQUAL */ +#line 1632 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<<="; } -#line 5757 "built/tmp/cppBison.yxx.c" +#line 5576 "built/tmp/cppBison.yxx.c" break; - case 145: -#line 1629 "dtool/src/cppparser/cppBison.yxx" + case 149: /* function_operator: RSHIFTEQUAL */ +#line 1636 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">>="; } -#line 5765 "built/tmp/cppBison.yxx.c" +#line 5584 "built/tmp/cppBison.yxx.c" break; - case 146: -#line 1633 "dtool/src/cppparser/cppBison.yxx" + case 150: /* function_operator: POINTSAT */ +#line 1640 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "->"; } -#line 5773 "built/tmp/cppBison.yxx.c" +#line 5592 "built/tmp/cppBison.yxx.c" break; - case 147: -#line 1637 "dtool/src/cppparser/cppBison.yxx" + case 151: /* function_operator: '[' ']' */ +#line 1644 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "[]"; } -#line 5781 "built/tmp/cppBison.yxx.c" +#line 5600 "built/tmp/cppBison.yxx.c" break; - case 148: -#line 1641 "dtool/src/cppparser/cppBison.yxx" + case 152: /* function_operator: '(' ')' */ +#line 1648 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "()"; } -#line 5789 "built/tmp/cppBison.yxx.c" +#line 5608 "built/tmp/cppBison.yxx.c" break; - case 149: -#line 1645 "dtool/src/cppparser/cppBison.yxx" + case 153: /* function_operator: KW_NEW */ +#line 1652 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "new"; } -#line 5797 "built/tmp/cppBison.yxx.c" +#line 5616 "built/tmp/cppBison.yxx.c" break; - case 150: -#line 1649 "dtool/src/cppparser/cppBison.yxx" + case 154: /* function_operator: KW_DELETE */ +#line 1656 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "delete"; } -#line 5805 "built/tmp/cppBison.yxx.c" +#line 5624 "built/tmp/cppBison.yxx.c" break; - case 155: -#line 1663 "dtool/src/cppparser/cppBison.yxx" + case 159: /* $@14: %empty */ +#line 1670 "dtool/src/cppparser/cppBison.yxx" { push_scope(new CPPTemplateScope(current_scope)); } -#line 5813 "built/tmp/cppBison.yxx.c" +#line 5632 "built/tmp/cppBison.yxx.c" break; - case 156: -#line 1667 "dtool/src/cppparser/cppBison.yxx" + case 160: /* template_declaration: KW_TEMPLATE $@14 '<' template_formal_parameters '>' more_template_declaration */ +#line 1674 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 5821 "built/tmp/cppBison.yxx.c" +#line 5640 "built/tmp/cppBison.yxx.c" break; - case 161: -#line 1681 "dtool/src/cppparser/cppBison.yxx" + case 165: /* template_nonempty_formal_parameters: template_formal_parameter */ +#line 1688 "dtool/src/cppparser/cppBison.yxx" { CPPTemplateScope *ts = current_scope->as_template_scope(); assert(ts != nullptr); ts->add_template_parameter((yyvsp[0].u.decl)); } -#line 5831 "built/tmp/cppBison.yxx.c" +#line 5650 "built/tmp/cppBison.yxx.c" break; - case 162: -#line 1687 "dtool/src/cppparser/cppBison.yxx" + case 166: /* template_nonempty_formal_parameters: template_nonempty_formal_parameters ',' template_formal_parameter */ +#line 1694 "dtool/src/cppparser/cppBison.yxx" { CPPTemplateScope *ts = current_scope->as_template_scope(); assert(ts != nullptr); ts->add_template_parameter((yyvsp[0].u.decl)); } -#line 5841 "built/tmp/cppBison.yxx.c" +#line 5660 "built/tmp/cppBison.yxx.c" break; - case 165: -#line 1701 "dtool/src/cppparser/cppBison.yxx" + case 169: /* template_formal_parameter: typename_keyword */ +#line 1708 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter(nullptr)); } -#line 5849 "built/tmp/cppBison.yxx.c" +#line 5668 "built/tmp/cppBison.yxx.c" break; - case 166: -#line 1705 "dtool/src/cppparser/cppBison.yxx" + case 170: /* template_formal_parameter: typename_keyword name */ +#line 1712 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[0].u.identifier))); } -#line 5857 "built/tmp/cppBison.yxx.c" +#line 5676 "built/tmp/cppBison.yxx.c" break; - case 167: -#line 1709 "dtool/src/cppparser/cppBison.yxx" + case 171: /* template_formal_parameter: typename_keyword name '=' full_type */ +#line 1716 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[-2].u.identifier), (yyvsp[0].u.type))); } -#line 5865 "built/tmp/cppBison.yxx.c" +#line 5684 "built/tmp/cppBison.yxx.c" break; - case 168: -#line 1713 "dtool/src/cppparser/cppBison.yxx" + case 172: /* template_formal_parameter: typename_keyword ELLIPSIS */ +#line 1720 "dtool/src/cppparser/cppBison.yxx" { CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter(nullptr); ctp->_packed = true; (yyval.u.decl) = CPPType::new_type(ctp); } -#line 5875 "built/tmp/cppBison.yxx.c" +#line 5694 "built/tmp/cppBison.yxx.c" break; - case 169: -#line 1719 "dtool/src/cppparser/cppBison.yxx" + case 173: /* template_formal_parameter: typename_keyword ELLIPSIS name */ +#line 1726 "dtool/src/cppparser/cppBison.yxx" { CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter((yyvsp[0].u.identifier)); ctp->_packed = true; (yyval.u.decl) = CPPType::new_type(ctp); } -#line 5885 "built/tmp/cppBison.yxx.c" +#line 5704 "built/tmp/cppBison.yxx.c" break; - case 170: -#line 1725 "dtool/src/cppparser/cppBison.yxx" + case 174: /* template_formal_parameter: template_formal_parameter_type formal_parameter_identifier template_parameter_maybe_initialize */ +#line 1732 "dtool/src/cppparser/cppBison.yxx" { CPPInstance *inst = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); inst->set_initializer((yyvsp[0].u.expr)); (yyval.u.decl) = inst; } -#line 5895 "built/tmp/cppBison.yxx.c" +#line 5714 "built/tmp/cppBison.yxx.c" break; - case 171: -#line 1731 "dtool/src/cppparser/cppBison.yxx" + case 175: /* template_formal_parameter: KW_CONST template_formal_parameter_type formal_parameter_identifier template_parameter_maybe_initialize */ +#line 1738 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); CPPInstance *inst = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); inst->set_initializer((yyvsp[0].u.expr)); (yyval.u.decl) = inst; } -#line 5906 "built/tmp/cppBison.yxx.c" +#line 5725 "built/tmp/cppBison.yxx.c" break; - case 172: -#line 1738 "dtool/src/cppparser/cppBison.yxx" + case 176: /* template_formal_parameter: template_formal_parameter_type parameter_pack_identifier */ +#line 1745 "dtool/src/cppparser/cppBison.yxx" { CPPInstance *inst = new CPPInstance((yyvsp[-1].u.type), (yyvsp[0].u.inst_ident), 0, (yylsp[0]).file); (yyval.u.decl) = inst; } -#line 5915 "built/tmp/cppBison.yxx.c" +#line 5734 "built/tmp/cppBison.yxx.c" break; - case 173: -#line 1743 "dtool/src/cppparser/cppBison.yxx" + case 177: /* template_formal_parameter: KW_CONST template_formal_parameter_type parameter_pack_identifier */ +#line 1750 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[0].u.inst_ident)->add_modifier(IIT_const); CPPInstance *inst = new CPPInstance((yyvsp[-1].u.type), (yyvsp[0].u.inst_ident), 0, (yylsp[0]).file); (yyval.u.decl) = inst; } -#line 5925 "built/tmp/cppBison.yxx.c" +#line 5744 "built/tmp/cppBison.yxx.c" break; - case 174: -#line 1752 "dtool/src/cppparser/cppBison.yxx" + case 178: /* template_formal_parameter_type: simple_type */ +#line 1759 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 5933 "built/tmp/cppBison.yxx.c" +#line 5752 "built/tmp/cppBison.yxx.c" break; - case 175: -#line 1756 "dtool/src/cppparser/cppBison.yxx" + case 179: /* template_formal_parameter_type: IDENTIFIER */ +#line 1763 "dtool/src/cppparser/cppBison.yxx" { yywarning("Not a type: " + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0])); (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown)); } -#line 5942 "built/tmp/cppBison.yxx.c" +#line 5761 "built/tmp/cppBison.yxx.c" break; - case 176: -#line 1761 "dtool/src/cppparser/cppBison.yxx" + case 180: /* template_formal_parameter_type: TYPENAME_IDENTIFIER */ +#line 1768 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if ((yyval.u.type) == nullptr) { @@ -5950,11 +5769,11 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 5954 "built/tmp/cppBison.yxx.c" +#line 5773 "built/tmp/cppBison.yxx.c" break; - case 177: -#line 1769 "dtool/src/cppparser/cppBison.yxx" + case 181: /* template_formal_parameter_type: TYPEPACK_IDENTIFIER */ +#line 1776 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if ((yyval.u.type) == nullptr) { @@ -5962,128 +5781,128 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 5966 "built/tmp/cppBison.yxx.c" +#line 5785 "built/tmp/cppBison.yxx.c" break; - case 178: -#line 1781 "dtool/src/cppparser/cppBison.yxx" + case 182: /* instance_identifier: name_no_final optional_attributes */ +#line 1788 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier)); + (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier)); } -#line 5974 "built/tmp/cppBison.yxx.c" +#line 5793 "built/tmp/cppBison.yxx.c" break; - case 179: -#line 1785 "dtool/src/cppparser/cppBison.yxx" + case 183: /* instance_identifier: KW_OPERATOR function_operator optional_attributes */ +#line 1792 "dtool/src/cppparser/cppBison.yxx" { // For an operator function. We implement this simply by building a // ficticious name for the function; in other respects it's just // like a regular function. - CPPIdentifier *ident = (yyvsp[-1].u.identifier); - if (ident == nullptr) { - ident = new CPPIdentifier("operator "+(yyvsp[0].str), (yylsp[0])); - } else { - ident->_names.push_back("operator "+(yyvsp[0].str)); - } - - (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident); -} -#line 5992 "built/tmp/cppBison.yxx.c" - break; - - case 180: -#line 1799 "dtool/src/cppparser/cppBison.yxx" -{ - // A C++11 literal operator. - if (!(yyvsp[-1].str).empty()) { - yyerror("expected empty string", (yylsp[-1])); - } CPPIdentifier *ident = (yyvsp[-2].u.identifier); if (ident == nullptr) { - ident = new CPPIdentifier("operator \"\" "+(yyvsp[0].u.identifier)->get_simple_name(), (yylsp[0])); + ident = new CPPIdentifier("operator "+(yyvsp[-1].str), (yylsp[-1])); } else { - ident->_names.push_back("operator \"\" "+(yyvsp[0].u.identifier)->get_simple_name()); + ident->_names.push_back("operator "+(yyvsp[-1].str)); } (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident); } -#line 6011 "built/tmp/cppBison.yxx.c" +#line 5811 "built/tmp/cppBison.yxx.c" break; - case 181: -#line 1814 "dtool/src/cppparser/cppBison.yxx" + case 184: /* instance_identifier: KW_OPERATOR SIMPLE_STRING IDENTIFIER optional_attributes */ +#line 1806 "dtool/src/cppparser/cppBison.yxx" +{ + // A C++11 literal operator. + if (!(yyvsp[-2].str).empty()) { + yyerror("expected empty string", (yylsp[-2])); + } + CPPIdentifier *ident = (yyvsp[-3].u.identifier); + if (ident == nullptr) { + ident = new CPPIdentifier("operator \"\" "+(yyvsp[-1].u.identifier)->get_simple_name(), (yylsp[-1])); + } else { + ident->_names.push_back("operator \"\" "+(yyvsp[-1].u.identifier)->get_simple_name()); + } + + (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident); +} +#line 5830 "built/tmp/cppBison.yxx.c" + break; + + case 185: /* instance_identifier: KW_CONST instance_identifier */ +#line 1821 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6020 "built/tmp/cppBison.yxx.c" +#line 5839 "built/tmp/cppBison.yxx.c" break; - case 182: -#line 1819 "dtool/src/cppparser/cppBison.yxx" + case 186: /* instance_identifier: KW_VOLATILE instance_identifier */ +#line 1826 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6029 "built/tmp/cppBison.yxx.c" +#line 5848 "built/tmp/cppBison.yxx.c" break; - case 183: -#line 1824 "dtool/src/cppparser/cppBison.yxx" + case 187: /* instance_identifier: '*' optional_attributes instance_identifier */ +#line 1831 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); } -#line 6038 "built/tmp/cppBison.yxx.c" +#line 5857 "built/tmp/cppBison.yxx.c" break; - case 184: -#line 1829 "dtool/src/cppparser/cppBison.yxx" + case 188: /* instance_identifier: '&' optional_attributes instance_identifier */ +#line 1836 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); } -#line 6047 "built/tmp/cppBison.yxx.c" +#line 5866 "built/tmp/cppBison.yxx.c" break; - case 185: -#line 1834 "dtool/src/cppparser/cppBison.yxx" + case 189: /* instance_identifier: ANDAND optional_attributes instance_identifier */ +#line 1841 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } -#line 6056 "built/tmp/cppBison.yxx.c" +#line 5875 "built/tmp/cppBison.yxx.c" break; - case 186: -#line 1839 "dtool/src/cppparser/cppBison.yxx" + case 190: /* instance_identifier: SCOPING '*' optional_attributes instance_identifier */ +#line 1846 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier)); + (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier)); } -#line 6065 "built/tmp/cppBison.yxx.c" +#line 5884 "built/tmp/cppBison.yxx.c" break; - case 187: -#line 1844 "dtool/src/cppparser/cppBison.yxx" + case 191: /* instance_identifier: instance_identifier '[' optional_const_expr ']' optional_attributes */ +#line 1851 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident); - (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr)); + (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); + (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr)); } -#line 6074 "built/tmp/cppBison.yxx.c" +#line 5893 "built/tmp/cppBison.yxx.c" break; - case 188: -#line 1849 "dtool/src/cppparser/cppBison.yxx" + case 192: /* instance_identifier: '(' instance_identifier ')' */ +#line 1856 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 6083 "built/tmp/cppBison.yxx.c" +#line 5902 "built/tmp/cppBison.yxx.c" break; - case 189: -#line 1854 "dtool/src/cppparser/cppBison.yxx" + case 193: /* $@15: %empty */ +#line 1861 "dtool/src/cppparser/cppBison.yxx" { // Create a scope for this function (in case it is a function) CPPScope *scope = new CPPScope((yyvsp[-1].u.inst_ident)->get_scope(current_scope, global_scope), @@ -6096,11 +5915,11 @@ yyreduce: push_scope(scope); } -#line 6100 "built/tmp/cppBison.yxx.c" +#line 5919 "built/tmp/cppBison.yxx.c" break; - case 190: -#line 1867 "dtool/src/cppparser/cppBison.yxx" + case 194: /* instance_identifier: instance_identifier '(' $@15 formal_parameter_list ')' function_post */ +#line 1874 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); (yyval.u.inst_ident) = (yyvsp[-5].u.inst_ident); @@ -6114,11 +5933,11 @@ yyreduce: (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); } } -#line 6118 "built/tmp/cppBison.yxx.c" +#line 5937 "built/tmp/cppBison.yxx.c" break; - case 191: -#line 1885 "dtool/src/cppparser/cppBison.yxx" + case 195: /* instance_identifier_and_maybe_trailing_return_type: instance_identifier maybe_trailing_return_type */ +#line 1892 "dtool/src/cppparser/cppBison.yxx" { // This is handled a bit awkwardly right now. Ideally it'd be wrapped // up in the instance_identifier rule, but then more needs to happen in @@ -6128,910 +5947,910 @@ yyreduce: } (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); } -#line 6132 "built/tmp/cppBison.yxx.c" +#line 5951 "built/tmp/cppBison.yxx.c" break; - case 192: -#line 1895 "dtool/src/cppparser/cppBison.yxx" + case 196: /* instance_identifier_and_maybe_trailing_return_type: instance_identifier ':' const_expr */ +#line 1902 "dtool/src/cppparser/cppBison.yxx" { // Bitfield definition. (yyvsp[-2].u.inst_ident)->_bit_width = (yyvsp[0].u.expr); (yyval.u.inst_ident) = (yyvsp[-2].u.inst_ident); } -#line 6142 "built/tmp/cppBison.yxx.c" +#line 5961 "built/tmp/cppBison.yxx.c" break; - case 193: -#line 1905 "dtool/src/cppparser/cppBison.yxx" + case 197: /* maybe_trailing_return_type: empty */ +#line 1912 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = nullptr; } -#line 6150 "built/tmp/cppBison.yxx.c" +#line 5969 "built/tmp/cppBison.yxx.c" break; - case 194: -#line 1909 "dtool/src/cppparser/cppBison.yxx" + case 198: /* maybe_trailing_return_type: POINTSAT predefined_type empty_instance_identifier */ +#line 1916 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 6158 "built/tmp/cppBison.yxx.c" +#line 5977 "built/tmp/cppBison.yxx.c" break; - case 195: -#line 1913 "dtool/src/cppparser/cppBison.yxx" + case 199: /* maybe_trailing_return_type: POINTSAT KW_CONST predefined_type empty_instance_identifier */ +#line 1920 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[0].u.inst_ident)->add_modifier(IIT_const); (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 6167 "built/tmp/cppBison.yxx.c" +#line 5986 "built/tmp/cppBison.yxx.c" break; - case 196: -#line 1922 "dtool/src/cppparser/cppBison.yxx" + case 200: /* maybe_comma_identifier: empty */ +#line 1929 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = nullptr; } -#line 6175 "built/tmp/cppBison.yxx.c" +#line 5994 "built/tmp/cppBison.yxx.c" break; - case 197: -#line 1926 "dtool/src/cppparser/cppBison.yxx" + case 201: /* maybe_comma_identifier: ',' IDENTIFIER */ +#line 1933 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 6183 "built/tmp/cppBison.yxx.c" +#line 6002 "built/tmp/cppBison.yxx.c" break; - case 198: -#line 1934 "dtool/src/cppparser/cppBison.yxx" + case 202: /* function_parameter_list: empty */ +#line 1941 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; } -#line 6191 "built/tmp/cppBison.yxx.c" +#line 6010 "built/tmp/cppBison.yxx.c" break; - case 199: -#line 1938 "dtool/src/cppparser/cppBison.yxx" + case 203: /* function_parameter_list: ELLIPSIS */ +#line 1945 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6200 "built/tmp/cppBison.yxx.c" +#line 6019 "built/tmp/cppBison.yxx.c" break; - case 200: -#line 1943 "dtool/src/cppparser/cppBison.yxx" + case 204: /* function_parameter_list: function_parameters */ +#line 1950 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[0].u.param_list); } -#line 6208 "built/tmp/cppBison.yxx.c" +#line 6027 "built/tmp/cppBison.yxx.c" break; - case 201: -#line 1947 "dtool/src/cppparser/cppBison.yxx" + case 205: /* function_parameter_list: function_parameters ',' ELLIPSIS */ +#line 1954 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6217 "built/tmp/cppBison.yxx.c" +#line 6036 "built/tmp/cppBison.yxx.c" break; - case 202: -#line 1952 "dtool/src/cppparser/cppBison.yxx" + case 206: /* function_parameter_list: function_parameters ELLIPSIS */ +#line 1959 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[-1].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6226 "built/tmp/cppBison.yxx.c" +#line 6045 "built/tmp/cppBison.yxx.c" break; - case 203: -#line 1960 "dtool/src/cppparser/cppBison.yxx" + case 207: /* function_parameters: function_parameter */ +#line 1967 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6235 "built/tmp/cppBison.yxx.c" +#line 6054 "built/tmp/cppBison.yxx.c" break; - case 204: -#line 1965 "dtool/src/cppparser/cppBison.yxx" + case 208: /* function_parameters: function_parameters ',' function_parameter */ +#line 1972 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } +#line 6063 "built/tmp/cppBison.yxx.c" + break; + + case 209: /* formal_parameter_list: empty */ +#line 1980 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.param_list) = new CPPParameterList; +} +#line 6071 "built/tmp/cppBison.yxx.c" + break; + + case 210: /* formal_parameter_list: ELLIPSIS */ +#line 1984 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.param_list) = new CPPParameterList; + (yyval.u.param_list)->_includes_ellipsis = true; +} +#line 6080 "built/tmp/cppBison.yxx.c" + break; + + case 211: /* formal_parameter_list: formal_parameters */ +#line 1989 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.param_list) = (yyvsp[0].u.param_list); +} +#line 6088 "built/tmp/cppBison.yxx.c" + break; + + case 212: /* formal_parameter_list: formal_parameters ',' ELLIPSIS */ +#line 1993 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.param_list) = (yyvsp[-2].u.param_list); + (yyval.u.param_list)->_includes_ellipsis = true; +} +#line 6097 "built/tmp/cppBison.yxx.c" + break; + + case 213: /* formal_parameter_list: formal_parameters ELLIPSIS */ +#line 1998 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.param_list) = (yyvsp[-1].u.param_list); + (yyval.u.param_list)->_includes_ellipsis = true; +} +#line 6106 "built/tmp/cppBison.yxx.c" + break; + + case 214: /* formal_parameters: formal_parameter */ +#line 2006 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.param_list) = new CPPParameterList; + (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); +} +#line 6115 "built/tmp/cppBison.yxx.c" + break; + + case 215: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 2011 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.param_list) = (yyvsp[-2].u.param_list); + (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); +} +#line 6124 "built/tmp/cppBison.yxx.c" + break; + + case 216: /* template_parameter_maybe_initialize: empty */ +#line 2019 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 6132 "built/tmp/cppBison.yxx.c" + break; + + case 217: /* template_parameter_maybe_initialize: '=' no_angle_bracket_const_expr */ +#line 2023 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = (yyvsp[0].u.expr); +} +#line 6140 "built/tmp/cppBison.yxx.c" + break; + + case 218: /* maybe_initialize: empty */ +#line 2030 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 6148 "built/tmp/cppBison.yxx.c" + break; + + case 219: /* maybe_initialize: '=' const_expr */ +#line 2034 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = (yyvsp[0].u.expr); +} +#line 6156 "built/tmp/cppBison.yxx.c" + break; + + case 220: /* maybe_initialize_or_constructor_body: ';' */ +#line 2041 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 6164 "built/tmp/cppBison.yxx.c" + break; + + case 221: /* maybe_initialize_or_constructor_body: '{' code '}' */ +#line 2045 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 6172 "built/tmp/cppBison.yxx.c" + break; + + case 222: /* maybe_initialize_or_constructor_body: ':' constructor_inits '{' code '}' */ +#line 2049 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 6180 "built/tmp/cppBison.yxx.c" + break; + + case 223: /* maybe_initialize_or_constructor_body: '=' KW_DEFAULT ';' */ +#line 2053 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); +} +#line 6188 "built/tmp/cppBison.yxx.c" + break; + + case 224: /* maybe_initialize_or_constructor_body: '=' KW_DELETE ';' */ +#line 2057 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); +} +#line 6196 "built/tmp/cppBison.yxx.c" + break; + + case 225: /* maybe_initialize_or_function_body: ';' */ +#line 2064 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 6204 "built/tmp/cppBison.yxx.c" + break; + + case 226: /* maybe_initialize_or_function_body: '{' code '}' */ +#line 2068 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 6212 "built/tmp/cppBison.yxx.c" + break; + + case 227: /* maybe_initialize_or_function_body: '=' const_expr ';' */ +#line 2072 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = (yyvsp[-1].u.expr); +} +#line 6220 "built/tmp/cppBison.yxx.c" + break; + + case 228: /* maybe_initialize_or_function_body: '=' KW_DEFAULT ';' */ +#line 2076 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); +} +#line 6228 "built/tmp/cppBison.yxx.c" + break; + + case 229: /* maybe_initialize_or_function_body: '=' KW_DELETE ';' */ +#line 2080 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); +} +#line 6236 "built/tmp/cppBison.yxx.c" + break; + + case 230: /* maybe_initialize_or_function_body: '=' '{' structure_init '}' */ +#line 2084 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} #line 6244 "built/tmp/cppBison.yxx.c" break; - case 205: -#line 1973 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.param_list) = new CPPParameterList; -} -#line 6252 "built/tmp/cppBison.yxx.c" - break; - - case 206: -#line 1977 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.param_list) = new CPPParameterList; - (yyval.u.param_list)->_includes_ellipsis = true; -} -#line 6261 "built/tmp/cppBison.yxx.c" - break; - - case 207: -#line 1982 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.param_list) = (yyvsp[0].u.param_list); -} -#line 6269 "built/tmp/cppBison.yxx.c" - break; - - case 208: -#line 1986 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.param_list) = (yyvsp[-2].u.param_list); - (yyval.u.param_list)->_includes_ellipsis = true; -} -#line 6278 "built/tmp/cppBison.yxx.c" - break; - - case 209: -#line 1991 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.param_list) = (yyvsp[-1].u.param_list); - (yyval.u.param_list)->_includes_ellipsis = true; -} -#line 6287 "built/tmp/cppBison.yxx.c" - break; - - case 210: -#line 1999 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.param_list) = new CPPParameterList; - (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); -} -#line 6296 "built/tmp/cppBison.yxx.c" - break; - - case 211: -#line 2004 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.param_list) = (yyvsp[-2].u.param_list); - (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); -} -#line 6305 "built/tmp/cppBison.yxx.c" - break; - - case 212: -#line 2012 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = nullptr; -} -#line 6313 "built/tmp/cppBison.yxx.c" - break; - - case 213: -#line 2016 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = (yyvsp[0].u.expr); -} -#line 6321 "built/tmp/cppBison.yxx.c" - break; - - case 214: -#line 2023 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = nullptr; -} -#line 6329 "built/tmp/cppBison.yxx.c" - break; - - case 215: -#line 2027 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = (yyvsp[0].u.expr); -} -#line 6337 "built/tmp/cppBison.yxx.c" - break; - - case 216: -#line 2034 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = nullptr; -} -#line 6345 "built/tmp/cppBison.yxx.c" - break; - - case 217: -#line 2038 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = nullptr; -} -#line 6353 "built/tmp/cppBison.yxx.c" - break; - - case 218: -#line 2042 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = nullptr; -} -#line 6361 "built/tmp/cppBison.yxx.c" - break; - - case 219: -#line 2046 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); -} -#line 6369 "built/tmp/cppBison.yxx.c" - break; - - case 220: -#line 2050 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); -} -#line 6377 "built/tmp/cppBison.yxx.c" - break; - - case 221: -#line 2057 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = nullptr; -} -#line 6385 "built/tmp/cppBison.yxx.c" - break; - - case 222: -#line 2061 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = nullptr; -} -#line 6393 "built/tmp/cppBison.yxx.c" - break; - - case 223: -#line 2065 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = (yyvsp[-1].u.expr); -} -#line 6401 "built/tmp/cppBison.yxx.c" - break; - - case 224: -#line 2069 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); -} -#line 6409 "built/tmp/cppBison.yxx.c" - break; - - case 225: -#line 2073 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); -} -#line 6417 "built/tmp/cppBison.yxx.c" - break; - - case 226: -#line 2077 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = nullptr; -} -#line 6425 "built/tmp/cppBison.yxx.c" - break; - - case 230: -#line 2090 "dtool/src/cppparser/cppBison.yxx" + case 234: /* structure_init_body: const_expr */ +#line 2097 "dtool/src/cppparser/cppBison.yxx" { } -#line 6432 "built/tmp/cppBison.yxx.c" +#line 6251 "built/tmp/cppBison.yxx.c" break; - case 234: -#line 2099 "dtool/src/cppparser/cppBison.yxx" + case 238: /* function_parameter: type formal_parameter_identifier maybe_initialize */ +#line 2106 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6441 "built/tmp/cppBison.yxx.c" +#line 6260 "built/tmp/cppBison.yxx.c" break; - case 235: -#line 2104 "dtool/src/cppparser/cppBison.yxx" + case 239: /* function_parameter: KW_CONST type formal_parameter_identifier maybe_initialize */ +#line 2111 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6451 "built/tmp/cppBison.yxx.c" +#line 6270 "built/tmp/cppBison.yxx.c" break; - case 236: -#line 2110 "dtool/src/cppparser/cppBison.yxx" + case 240: /* function_parameter: KW_CONST KW_REGISTER type formal_parameter_identifier maybe_initialize */ +#line 2117 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-2]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6461 "built/tmp/cppBison.yxx.c" +#line 6280 "built/tmp/cppBison.yxx.c" break; - case 237: -#line 2116 "dtool/src/cppparser/cppBison.yxx" + case 241: /* function_parameter: type_pack parameter_pack_identifier maybe_initialize */ +#line 2123 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6470 "built/tmp/cppBison.yxx.c" +#line 6289 "built/tmp/cppBison.yxx.c" break; - case 238: -#line 2121 "dtool/src/cppparser/cppBison.yxx" + case 242: /* function_parameter: KW_CONST type_pack parameter_pack_identifier maybe_initialize */ +#line 2128 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6480 "built/tmp/cppBison.yxx.c" +#line 6299 "built/tmp/cppBison.yxx.c" break; - case 239: -#line 2127 "dtool/src/cppparser/cppBison.yxx" + case 243: /* function_parameter: KW_CONST KW_REGISTER type_pack parameter_pack_identifier maybe_initialize */ +#line 2134 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-2]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6490 "built/tmp/cppBison.yxx.c" +#line 6309 "built/tmp/cppBison.yxx.c" break; - case 240: -#line 2133 "dtool/src/cppparser/cppBison.yxx" + case 244: /* function_parameter: KW_REGISTER function_parameter */ +#line 2140 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.instance) = (yyvsp[0].u.instance); } -#line 6498 "built/tmp/cppBison.yxx.c" +#line 6317 "built/tmp/cppBison.yxx.c" break; - case 241: -#line 2137 "dtool/src/cppparser/cppBison.yxx" + case 245: /* function_parameter: ATTR_LEFT attribute_specifiers ATTR_RIGHT function_parameter */ +#line 2144 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.instance) = (yyvsp[0].u.instance); } -#line 6506 "built/tmp/cppBison.yxx.c" +#line 6325 "built/tmp/cppBison.yxx.c" break; - case 242: -#line 2148 "dtool/src/cppparser/cppBison.yxx" + case 246: /* formal_parameter: function_parameter */ +#line 2155 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.instance) = (yyvsp[0].u.instance); } -#line 6514 "built/tmp/cppBison.yxx.c" +#line 6333 "built/tmp/cppBison.yxx.c" break; - case 243: -#line 2152 "dtool/src/cppparser/cppBison.yxx" + case 247: /* formal_parameter: formal_const_expr */ +#line 2159 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_parameter)); (yyval.u.instance) = new CPPInstance(type, "expr"); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6525 "built/tmp/cppBison.yxx.c" +#line 6344 "built/tmp/cppBison.yxx.c" break; - case 244: -#line 2162 "dtool/src/cppparser/cppBison.yxx" + case 248: /* not_paren_formal_parameter_identifier: empty */ +#line 2169 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6533 "built/tmp/cppBison.yxx.c" +#line 6352 "built/tmp/cppBison.yxx.c" break; - case 245: -#line 2166 "dtool/src/cppparser/cppBison.yxx" + case 249: /* not_paren_formal_parameter_identifier: name_no_final optional_attributes */ +#line 2173 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier)); + (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier)); } -#line 6541 "built/tmp/cppBison.yxx.c" +#line 6360 "built/tmp/cppBison.yxx.c" break; - case 246: -#line 2170 "dtool/src/cppparser/cppBison.yxx" + case 250: /* not_paren_formal_parameter_identifier: KW_CONST not_paren_formal_parameter_identifier */ +#line 2177 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6550 "built/tmp/cppBison.yxx.c" +#line 6369 "built/tmp/cppBison.yxx.c" break; - case 247: -#line 2175 "dtool/src/cppparser/cppBison.yxx" + case 251: /* not_paren_formal_parameter_identifier: KW_VOLATILE not_paren_formal_parameter_identifier */ +#line 2182 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6559 "built/tmp/cppBison.yxx.c" +#line 6378 "built/tmp/cppBison.yxx.c" break; - case 248: -#line 2180 "dtool/src/cppparser/cppBison.yxx" + case 252: /* not_paren_formal_parameter_identifier: '*' optional_attributes not_paren_formal_parameter_identifier */ +#line 2187 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); } -#line 6568 "built/tmp/cppBison.yxx.c" +#line 6387 "built/tmp/cppBison.yxx.c" break; - case 249: -#line 2185 "dtool/src/cppparser/cppBison.yxx" + case 253: /* not_paren_formal_parameter_identifier: '&' optional_attributes not_paren_formal_parameter_identifier */ +#line 2192 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); } -#line 6577 "built/tmp/cppBison.yxx.c" +#line 6396 "built/tmp/cppBison.yxx.c" break; - case 250: -#line 2190 "dtool/src/cppparser/cppBison.yxx" + case 254: /* not_paren_formal_parameter_identifier: ANDAND optional_attributes not_paren_formal_parameter_identifier */ +#line 2197 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } -#line 6586 "built/tmp/cppBison.yxx.c" +#line 6405 "built/tmp/cppBison.yxx.c" break; - case 251: -#line 2195 "dtool/src/cppparser/cppBison.yxx" + case 255: /* not_paren_formal_parameter_identifier: SCOPING '*' optional_attributes not_paren_formal_parameter_identifier */ +#line 2202 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier)); + (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier)); } -#line 6595 "built/tmp/cppBison.yxx.c" +#line 6414 "built/tmp/cppBison.yxx.c" break; - case 252: -#line 2200 "dtool/src/cppparser/cppBison.yxx" + case 256: /* not_paren_formal_parameter_identifier: not_paren_formal_parameter_identifier '[' optional_const_expr ']' optional_attributes */ +#line 2207 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident); - (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr)); + (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); + (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr)); } -#line 6604 "built/tmp/cppBison.yxx.c" +#line 6423 "built/tmp/cppBison.yxx.c" break; - case 253: -#line 2208 "dtool/src/cppparser/cppBison.yxx" + case 257: /* formal_parameter_identifier: empty */ +#line 2215 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } +#line 6431 "built/tmp/cppBison.yxx.c" + break; + + case 258: /* formal_parameter_identifier: name_no_final optional_attributes */ +#line 2219 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier)); +} +#line 6439 "built/tmp/cppBison.yxx.c" + break; + + case 259: /* formal_parameter_identifier: KW_CONST formal_parameter_identifier */ +#line 2223 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_const); +} +#line 6448 "built/tmp/cppBison.yxx.c" + break; + + case 260: /* formal_parameter_identifier: KW_VOLATILE formal_parameter_identifier */ +#line 2228 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_volatile); +} +#line 6457 "built/tmp/cppBison.yxx.c" + break; + + case 261: /* formal_parameter_identifier: '*' optional_attributes formal_parameter_identifier */ +#line 2233 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_pointer); +} +#line 6466 "built/tmp/cppBison.yxx.c" + break; + + case 262: /* formal_parameter_identifier: '&' optional_attributes formal_parameter_identifier */ +#line 2238 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_reference); +} +#line 6475 "built/tmp/cppBison.yxx.c" + break; + + case 263: /* formal_parameter_identifier: ANDAND optional_attributes formal_parameter_identifier */ +#line 2243 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); +} +#line 6484 "built/tmp/cppBison.yxx.c" + break; + + case 264: /* formal_parameter_identifier: SCOPING '*' optional_attributes formal_parameter_identifier */ +#line 2248 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier)); +} +#line 6493 "built/tmp/cppBison.yxx.c" + break; + + case 265: /* formal_parameter_identifier: formal_parameter_identifier '[' optional_const_expr ']' optional_attributes */ +#line 2253 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); + (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr)); +} +#line 6502 "built/tmp/cppBison.yxx.c" + break; + + case 266: /* formal_parameter_identifier: '(' formal_parameter_identifier ')' '(' function_parameter_list ')' function_post */ +#line 2258 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[-5].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_paren); + (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); +} +#line 6512 "built/tmp/cppBison.yxx.c" + break; + + case 267: /* formal_parameter_identifier: '(' formal_parameter_identifier ')' */ +#line 2264 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_paren); +} +#line 6521 "built/tmp/cppBison.yxx.c" + break; + + case 268: /* parameter_pack_identifier: ELLIPSIS */ +#line 2272 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); + (yyval.u.inst_ident)->_packed = true; +} +#line 6530 "built/tmp/cppBison.yxx.c" + break; + + case 269: /* parameter_pack_identifier: ELLIPSIS name optional_attributes */ +#line 2277 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier)); + (yyval.u.inst_ident)->_packed = true; +} +#line 6539 "built/tmp/cppBison.yxx.c" + break; + + case 270: /* parameter_pack_identifier: KW_CONST parameter_pack_identifier */ +#line 2282 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_const); +} +#line 6548 "built/tmp/cppBison.yxx.c" + break; + + case 271: /* parameter_pack_identifier: KW_VOLATILE parameter_pack_identifier */ +#line 2287 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_volatile); +} +#line 6557 "built/tmp/cppBison.yxx.c" + break; + + case 272: /* parameter_pack_identifier: '*' optional_attributes parameter_pack_identifier */ +#line 2292 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_pointer); +} +#line 6566 "built/tmp/cppBison.yxx.c" + break; + + case 273: /* parameter_pack_identifier: '&' optional_attributes parameter_pack_identifier */ +#line 2297 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_reference); +} +#line 6575 "built/tmp/cppBison.yxx.c" + break; + + case 274: /* parameter_pack_identifier: ANDAND optional_attributes parameter_pack_identifier */ +#line 2302 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); +} +#line 6584 "built/tmp/cppBison.yxx.c" + break; + + case 275: /* parameter_pack_identifier: SCOPING '*' optional_attributes parameter_pack_identifier */ +#line 2307 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier)); +} +#line 6593 "built/tmp/cppBison.yxx.c" + break; + + case 276: /* parameter_pack_identifier: parameter_pack_identifier '[' optional_const_expr ']' optional_attributes */ +#line 2312 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); + (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr)); +} +#line 6602 "built/tmp/cppBison.yxx.c" + break; + + case 277: /* parameter_pack_identifier: '(' parameter_pack_identifier ')' '(' function_parameter_list ')' function_post */ +#line 2317 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[-5].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_paren); + (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); +} #line 6612 "built/tmp/cppBison.yxx.c" break; - case 254: -#line 2212 "dtool/src/cppparser/cppBison.yxx" + case 278: /* parameter_pack_identifier: '(' parameter_pack_identifier ')' */ +#line 2323 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier)); + (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 6620 "built/tmp/cppBison.yxx.c" +#line 6621 "built/tmp/cppBison.yxx.c" break; - case 255: -#line 2216 "dtool/src/cppparser/cppBison.yxx" + case 279: /* not_paren_empty_instance_identifier: empty */ +#line 2331 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_const); + (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } #line 6629 "built/tmp/cppBison.yxx.c" break; - case 256: -#line 2221 "dtool/src/cppparser/cppBison.yxx" + case 280: /* not_paren_empty_instance_identifier: ELLIPSIS */ +#line 2335 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_volatile); + (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); + (yyval.u.inst_ident)->_packed = true; } #line 6638 "built/tmp/cppBison.yxx.c" break; - case 257: -#line 2226 "dtool/src/cppparser/cppBison.yxx" + case 281: /* not_paren_empty_instance_identifier: ELLIPSIS name optional_attributes */ +#line 2340 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_pointer); + (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier)); + (yyval.u.inst_ident)->_packed = true; } #line 6647 "built/tmp/cppBison.yxx.c" break; - case 258: -#line 2231 "dtool/src/cppparser/cppBison.yxx" + case 282: /* not_paren_empty_instance_identifier: KW_CONST not_paren_empty_instance_identifier */ +#line 2345 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_reference); + (yyval.u.inst_ident)->add_modifier(IIT_const); } #line 6656 "built/tmp/cppBison.yxx.c" break; - case 259: -#line 2236 "dtool/src/cppparser/cppBison.yxx" + case 283: /* not_paren_empty_instance_identifier: KW_VOLATILE not_paren_empty_instance_identifier */ +#line 2350 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); + (yyval.u.inst_ident)->add_modifier(IIT_volatile); } #line 6665 "built/tmp/cppBison.yxx.c" break; - case 260: -#line 2241 "dtool/src/cppparser/cppBison.yxx" + case 284: /* not_paren_empty_instance_identifier: '*' optional_attributes not_paren_empty_instance_identifier */ +#line 2355 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier)); + (yyval.u.inst_ident)->add_modifier(IIT_pointer); } #line 6674 "built/tmp/cppBison.yxx.c" break; - case 261: -#line 2246 "dtool/src/cppparser/cppBison.yxx" + case 285: /* not_paren_empty_instance_identifier: '&' optional_attributes not_paren_empty_instance_identifier */ +#line 2360 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident); - (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr)); + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_reference); } #line 6683 "built/tmp/cppBison.yxx.c" break; - case 262: -#line 2251 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[-5].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_paren); - (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); -} -#line 6693 "built/tmp/cppBison.yxx.c" - break; - - case 263: -#line 2257 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_paren); -} -#line 6702 "built/tmp/cppBison.yxx.c" - break; - - case 264: -#line 2265 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); - (yyval.u.inst_ident)->_packed = true; -} -#line 6711 "built/tmp/cppBison.yxx.c" - break; - - case 265: -#line 2270 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier)); - (yyval.u.inst_ident)->_packed = true; -} -#line 6720 "built/tmp/cppBison.yxx.c" - break; - - case 266: -#line 2275 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_const); -} -#line 6729 "built/tmp/cppBison.yxx.c" - break; - - case 267: -#line 2280 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_volatile); -} -#line 6738 "built/tmp/cppBison.yxx.c" - break; - - case 268: -#line 2285 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_pointer); -} -#line 6747 "built/tmp/cppBison.yxx.c" - break; - - case 269: -#line 2290 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_reference); -} -#line 6756 "built/tmp/cppBison.yxx.c" - break; - - case 270: -#line 2295 "dtool/src/cppparser/cppBison.yxx" + case 286: /* not_paren_empty_instance_identifier: ANDAND optional_attributes not_paren_empty_instance_identifier */ +#line 2365 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } -#line 6765 "built/tmp/cppBison.yxx.c" +#line 6692 "built/tmp/cppBison.yxx.c" break; - case 271: -#line 2300 "dtool/src/cppparser/cppBison.yxx" + case 287: /* not_paren_empty_instance_identifier: SCOPING '*' optional_attributes not_paren_empty_instance_identifier */ +#line 2370 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier)); + (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier)); } -#line 6774 "built/tmp/cppBison.yxx.c" +#line 6701 "built/tmp/cppBison.yxx.c" break; - case 272: -#line 2305 "dtool/src/cppparser/cppBison.yxx" + case 288: /* not_paren_empty_instance_identifier: not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes */ +#line 2375 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident); - (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr)); + (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); + (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr)); } -#line 6783 "built/tmp/cppBison.yxx.c" +#line 6710 "built/tmp/cppBison.yxx.c" break; - case 273: -#line 2310 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[-5].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_paren); - (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); -} -#line 6793 "built/tmp/cppBison.yxx.c" - break; - - case 274: -#line 2316 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_paren); -} -#line 6802 "built/tmp/cppBison.yxx.c" - break; - - case 275: -#line 2324 "dtool/src/cppparser/cppBison.yxx" + case 289: /* empty_instance_identifier: empty */ +#line 2383 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6810 "built/tmp/cppBison.yxx.c" +#line 6718 "built/tmp/cppBison.yxx.c" break; - case 276: -#line 2328 "dtool/src/cppparser/cppBison.yxx" + case 290: /* empty_instance_identifier: ELLIPSIS */ +#line 2387 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6819 "built/tmp/cppBison.yxx.c" +#line 6727 "built/tmp/cppBison.yxx.c" break; - case 277: -#line 2333 "dtool/src/cppparser/cppBison.yxx" + case 291: /* empty_instance_identifier: ELLIPSIS name optional_attributes */ +#line 2392 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier)); + (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier)); (yyval.u.inst_ident)->_packed = true; } -#line 6828 "built/tmp/cppBison.yxx.c" +#line 6736 "built/tmp/cppBison.yxx.c" break; - case 278: -#line 2338 "dtool/src/cppparser/cppBison.yxx" + case 292: /* empty_instance_identifier: KW_CONST empty_instance_identifier */ +#line 2397 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6837 "built/tmp/cppBison.yxx.c" +#line 6745 "built/tmp/cppBison.yxx.c" break; - case 279: -#line 2343 "dtool/src/cppparser/cppBison.yxx" + case 293: /* empty_instance_identifier: KW_VOLATILE empty_instance_identifier */ +#line 2402 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6846 "built/tmp/cppBison.yxx.c" +#line 6754 "built/tmp/cppBison.yxx.c" break; - case 280: -#line 2348 "dtool/src/cppparser/cppBison.yxx" + case 294: /* empty_instance_identifier: '*' optional_attributes not_paren_empty_instance_identifier */ +#line 2407 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); } -#line 6855 "built/tmp/cppBison.yxx.c" +#line 6763 "built/tmp/cppBison.yxx.c" break; - case 281: -#line 2353 "dtool/src/cppparser/cppBison.yxx" + case 295: /* empty_instance_identifier: '&' optional_attributes not_paren_empty_instance_identifier */ +#line 2412 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); } -#line 6864 "built/tmp/cppBison.yxx.c" +#line 6772 "built/tmp/cppBison.yxx.c" break; - case 282: -#line 2358 "dtool/src/cppparser/cppBison.yxx" + case 296: /* empty_instance_identifier: ANDAND optional_attributes not_paren_empty_instance_identifier */ +#line 2417 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } -#line 6873 "built/tmp/cppBison.yxx.c" +#line 6781 "built/tmp/cppBison.yxx.c" break; - case 283: -#line 2363 "dtool/src/cppparser/cppBison.yxx" + case 297: /* empty_instance_identifier: SCOPING '*' optional_attributes not_paren_empty_instance_identifier */ +#line 2422 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier)); + (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier)); } -#line 6882 "built/tmp/cppBison.yxx.c" +#line 6790 "built/tmp/cppBison.yxx.c" break; - case 284: -#line 2368 "dtool/src/cppparser/cppBison.yxx" + case 298: /* empty_instance_identifier: not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes */ +#line 2427 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident); - (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr)); + (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); + (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr)); } -#line 6891 "built/tmp/cppBison.yxx.c" +#line 6799 "built/tmp/cppBison.yxx.c" break; - case 285: -#line 2376 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); -} -#line 6899 "built/tmp/cppBison.yxx.c" - break; - - case 286: -#line 2380 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); - (yyval.u.inst_ident)->_packed = true; -} -#line 6908 "built/tmp/cppBison.yxx.c" - break; - - case 287: -#line 2385 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier)); - (yyval.u.inst_ident)->_packed = true; -} -#line 6917 "built/tmp/cppBison.yxx.c" - break; - - case 288: -#line 2390 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_const); -} -#line 6926 "built/tmp/cppBison.yxx.c" - break; - - case 289: -#line 2395 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_volatile); -} -#line 6935 "built/tmp/cppBison.yxx.c" - break; - - case 290: -#line 2400 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_pointer); -} -#line 6944 "built/tmp/cppBison.yxx.c" - break; - - case 291: -#line 2405 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_reference); -} -#line 6953 "built/tmp/cppBison.yxx.c" - break; - - case 292: -#line 2410 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); -} -#line 6962 "built/tmp/cppBison.yxx.c" - break; - - case 293: -#line 2415 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); - (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier)); -} -#line 6971 "built/tmp/cppBison.yxx.c" - break; - - case 294: -#line 2420 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident); - (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr)); -} -#line 6980 "built/tmp/cppBison.yxx.c" - break; - - case 295: -#line 2425 "dtool/src/cppparser/cppBison.yxx" + case 299: /* empty_instance_identifier: '(' function_parameter_list ')' function_post maybe_trailing_return_type */ +#line 2432 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type)); } -#line 6990 "built/tmp/cppBison.yxx.c" +#line 6809 "built/tmp/cppBison.yxx.c" break; - case 296: -#line 2431 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_pointer); - (yyval.u.inst_ident)->add_modifier(IIT_paren); - (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type)); -} -#line 7001 "built/tmp/cppBison.yxx.c" - break; - - case 297: + case 300: /* empty_instance_identifier: '(' '*' optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post maybe_trailing_return_type */ #line 2438 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_pointer); + (yyval.u.inst_ident)->add_modifier(IIT_paren); + (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type)); +} +#line 6820 "built/tmp/cppBison.yxx.c" + break; + + case 301: /* empty_instance_identifier: '(' '&' optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post maybe_trailing_return_type */ +#line 2445 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type)); } -#line 7012 "built/tmp/cppBison.yxx.c" +#line 6831 "built/tmp/cppBison.yxx.c" break; - case 298: -#line 2445 "dtool/src/cppparser/cppBison.yxx" + case 302: /* empty_instance_identifier: '(' ANDAND optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post maybe_trailing_return_type */ +#line 2452 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type)); } -#line 7023 "built/tmp/cppBison.yxx.c" +#line 6842 "built/tmp/cppBison.yxx.c" break; - case 299: -#line 2455 "dtool/src/cppparser/cppBison.yxx" + case 303: /* type: simple_type */ +#line 2462 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7031 "built/tmp/cppBison.yxx.c" +#line 6850 "built/tmp/cppBison.yxx.c" break; - case 300: -#line 2459 "dtool/src/cppparser/cppBison.yxx" + case 304: /* type: TYPENAME_IDENTIFIER */ +#line 2466 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if ((yyval.u.type) == nullptr) { @@ -7039,43 +6858,43 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 7043 "built/tmp/cppBison.yxx.c" +#line 6862 "built/tmp/cppBison.yxx.c" break; - case 301: -#line 2467 "dtool/src/cppparser/cppBison.yxx" + case 305: /* type: KW_TYPENAME name */ +#line 2474 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 7051 "built/tmp/cppBison.yxx.c" +#line 6870 "built/tmp/cppBison.yxx.c" break; - case 302: -#line 2471 "dtool/src/cppparser/cppBison.yxx" + case 306: /* type: anonymous_struct */ +#line 2478 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 7059 "built/tmp/cppBison.yxx.c" +#line 6878 "built/tmp/cppBison.yxx.c" break; - case 303: -#line 2475 "dtool/src/cppparser/cppBison.yxx" + case 307: /* type: named_struct */ +#line 2482 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 7067 "built/tmp/cppBison.yxx.c" +#line 6886 "built/tmp/cppBison.yxx.c" break; - case 304: -#line 2479 "dtool/src/cppparser/cppBison.yxx" + case 308: /* type: enum */ +#line 2486 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.enum_type)); } -#line 7075 "built/tmp/cppBison.yxx.c" +#line 6894 "built/tmp/cppBison.yxx.c" break; - case 305: -#line 2483 "dtool/src/cppparser/cppBison.yxx" + case 309: /* type: struct_keyword struct_attributes name */ +#line 2490 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7091,11 +6910,11 @@ yyreduce: (yyval.u.type) = et; } } -#line 7095 "built/tmp/cppBison.yxx.c" +#line 6914 "built/tmp/cppBison.yxx.c" break; - case 306: -#line 2499 "dtool/src/cppparser/cppBison.yxx" + case 310: /* type: enum_keyword name_no_final ':' enum_element_type */ +#line 2506 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[-2].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7111,11 +6930,11 @@ yyreduce: (yyval.u.type) = et; } } -#line 7115 "built/tmp/cppBison.yxx.c" +#line 6934 "built/tmp/cppBison.yxx.c" break; - case 307: -#line 2515 "dtool/src/cppparser/cppBison.yxx" + case 311: /* type: KW_DECLTYPE '(' const_expr ')' */ +#line 2522 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[-1].u.expr)->determine_type(); if ((yyval.u.type) == nullptr) { @@ -7124,19 +6943,19 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 7128 "built/tmp/cppBison.yxx.c" +#line 6947 "built/tmp/cppBison.yxx.c" break; - case 308: -#line 2524 "dtool/src/cppparser/cppBison.yxx" + case 312: /* type: KW_DECLTYPE '(' KW_AUTO ')' */ +#line 2531 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7136 "built/tmp/cppBison.yxx.c" +#line 6955 "built/tmp/cppBison.yxx.c" break; - case 309: -#line 2528 "dtool/src/cppparser/cppBison.yxx" + case 313: /* type: KW_UNDERLYING_TYPE '(' full_type ')' */ +#line 2535 "dtool/src/cppparser/cppBison.yxx" { CPPEnumType *enum_type = (yyvsp[-1].u.type)->as_enum_type(); if (enum_type == nullptr) { @@ -7146,19 +6965,19 @@ yyreduce: (yyval.u.type) = enum_type->get_underlying_type(); } } -#line 7150 "built/tmp/cppBison.yxx.c" +#line 6969 "built/tmp/cppBison.yxx.c" break; - case 310: -#line 2538 "dtool/src/cppparser/cppBison.yxx" + case 314: /* type: KW_AUTO */ +#line 2545 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7158 "built/tmp/cppBison.yxx.c" +#line 6977 "built/tmp/cppBison.yxx.c" break; - case 311: -#line 2545 "dtool/src/cppparser/cppBison.yxx" + case 315: /* type_pack: TYPEPACK_IDENTIFIER */ +#line 2552 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if ((yyval.u.type) == nullptr) { @@ -7166,19 +6985,19 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 7170 "built/tmp/cppBison.yxx.c" +#line 6989 "built/tmp/cppBison.yxx.c" break; - case 312: -#line 2556 "dtool/src/cppparser/cppBison.yxx" + case 316: /* type_decl: simple_type */ +#line 2563 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7178 "built/tmp/cppBison.yxx.c" +#line 6997 "built/tmp/cppBison.yxx.c" break; - case 313: -#line 2560 "dtool/src/cppparser/cppBison.yxx" + case 317: /* type_decl: TYPENAME_IDENTIFIER */ +#line 2567 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if ((yyval.u.decl) == nullptr) { @@ -7186,43 +7005,43 @@ yyreduce: } assert((yyval.u.decl) != nullptr); } -#line 7190 "built/tmp/cppBison.yxx.c" +#line 7009 "built/tmp/cppBison.yxx.c" break; - case 314: -#line 2568 "dtool/src/cppparser/cppBison.yxx" + case 318: /* type_decl: KW_TYPENAME name */ +#line 2575 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 7198 "built/tmp/cppBison.yxx.c" +#line 7017 "built/tmp/cppBison.yxx.c" break; - case 315: -#line 2572 "dtool/src/cppparser/cppBison.yxx" + case 319: /* type_decl: anonymous_struct */ +#line 2579 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 7206 "built/tmp/cppBison.yxx.c" +#line 7025 "built/tmp/cppBison.yxx.c" break; - case 316: -#line 2576 "dtool/src/cppparser/cppBison.yxx" + case 320: /* type_decl: named_struct */ +#line 2583 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.struct_type))); } -#line 7214 "built/tmp/cppBison.yxx.c" +#line 7033 "built/tmp/cppBison.yxx.c" break; - case 317: -#line 2580 "dtool/src/cppparser/cppBison.yxx" + case 321: /* type_decl: enum */ +#line 2587 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.enum_type))); } -#line 7222 "built/tmp/cppBison.yxx.c" +#line 7041 "built/tmp/cppBison.yxx.c" break; - case 318: -#line 2584 "dtool/src/cppparser/cppBison.yxx" + case 322: /* type_decl: struct_keyword struct_attributes name */ +#line 2591 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7238,11 +7057,11 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7242 "built/tmp/cppBison.yxx.c" +#line 7061 "built/tmp/cppBison.yxx.c" break; - case 319: -#line 2600 "dtool/src/cppparser/cppBison.yxx" + case 323: /* type_decl: enum_keyword name_no_final ':' enum_element_type */ +#line 2607 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[-2].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7258,11 +7077,11 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7262 "built/tmp/cppBison.yxx.c" +#line 7081 "built/tmp/cppBison.yxx.c" break; - case 320: -#line 2616 "dtool/src/cppparser/cppBison.yxx" + case 324: /* type_decl: enum_keyword name */ +#line 2623 "dtool/src/cppparser/cppBison.yxx" { yywarning(string("C++ does not permit forward declaration of untyped enum ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[-1])); @@ -7280,11 +7099,11 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7284 "built/tmp/cppBison.yxx.c" +#line 7103 "built/tmp/cppBison.yxx.c" break; - case 321: -#line 2634 "dtool/src/cppparser/cppBison.yxx" + case 325: /* type_decl: KW_DECLTYPE '(' const_expr ')' */ +#line 2641 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = (yyvsp[-1].u.expr)->determine_type(); if ((yyval.u.decl) == nullptr) { @@ -7293,19 +7112,19 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 7297 "built/tmp/cppBison.yxx.c" +#line 7116 "built/tmp/cppBison.yxx.c" break; - case 322: -#line 2643 "dtool/src/cppparser/cppBison.yxx" + case 326: /* type_decl: KW_DECLTYPE '(' KW_AUTO ')' */ +#line 2650 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7305 "built/tmp/cppBison.yxx.c" +#line 7124 "built/tmp/cppBison.yxx.c" break; - case 323: -#line 2647 "dtool/src/cppparser/cppBison.yxx" + case 327: /* type_decl: KW_UNDERLYING_TYPE '(' full_type ')' */ +#line 2654 "dtool/src/cppparser/cppBison.yxx" { CPPEnumType *enum_type = (yyvsp[-1].u.type)->as_enum_type(); if (enum_type == nullptr) { @@ -7315,27 +7134,27 @@ yyreduce: (yyval.u.decl) = enum_type->get_underlying_type(); } } -#line 7319 "built/tmp/cppBison.yxx.c" +#line 7138 "built/tmp/cppBison.yxx.c" break; - case 324: -#line 2657 "dtool/src/cppparser/cppBison.yxx" + case 328: /* type_decl: KW_AUTO */ +#line 2664 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7327 "built/tmp/cppBison.yxx.c" +#line 7146 "built/tmp/cppBison.yxx.c" break; - case 325: -#line 2664 "dtool/src/cppparser/cppBison.yxx" + case 329: /* predefined_type: simple_type */ +#line 2671 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7335 "built/tmp/cppBison.yxx.c" +#line 7154 "built/tmp/cppBison.yxx.c" break; - case 326: -#line 2668 "dtool/src/cppparser/cppBison.yxx" + case 330: /* predefined_type: TYPENAME_IDENTIFIER */ +#line 2675 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if ((yyval.u.type) == nullptr) { @@ -7343,19 +7162,19 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 7347 "built/tmp/cppBison.yxx.c" +#line 7166 "built/tmp/cppBison.yxx.c" break; - case 327: -#line 2676 "dtool/src/cppparser/cppBison.yxx" + case 331: /* predefined_type: KW_TYPENAME name */ +#line 2683 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 7355 "built/tmp/cppBison.yxx.c" +#line 7174 "built/tmp/cppBison.yxx.c" break; - case 328: -#line 2680 "dtool/src/cppparser/cppBison.yxx" + case 332: /* predefined_type: struct_keyword struct_attributes name */ +#line 2687 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7371,11 +7190,11 @@ yyreduce: (yyval.u.type) = et; } } -#line 7375 "built/tmp/cppBison.yxx.c" +#line 7194 "built/tmp/cppBison.yxx.c" break; - case 329: -#line 2696 "dtool/src/cppparser/cppBison.yxx" + case 333: /* predefined_type: enum_keyword name */ +#line 2703 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7391,11 +7210,11 @@ yyreduce: (yyval.u.type) = et; } } -#line 7395 "built/tmp/cppBison.yxx.c" +#line 7214 "built/tmp/cppBison.yxx.c" break; - case 330: -#line 2712 "dtool/src/cppparser/cppBison.yxx" + case 334: /* predefined_type: KW_DECLTYPE '(' const_expr ')' */ +#line 2719 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[-1].u.expr)->determine_type(); if ((yyval.u.type) == nullptr) { @@ -7404,11 +7223,11 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 7408 "built/tmp/cppBison.yxx.c" +#line 7227 "built/tmp/cppBison.yxx.c" break; - case 331: -#line 2721 "dtool/src/cppparser/cppBison.yxx" + case 335: /* predefined_type: KW_UNDERLYING_TYPE '(' full_type ')' */ +#line 2728 "dtool/src/cppparser/cppBison.yxx" { CPPEnumType *enum_type = (yyvsp[-1].u.type)->as_enum_type(); if (enum_type == nullptr) { @@ -7418,71 +7237,71 @@ yyreduce: (yyval.u.type) = enum_type->get_underlying_type(); } } -#line 7422 "built/tmp/cppBison.yxx.c" +#line 7241 "built/tmp/cppBison.yxx.c" break; - case 332: -#line 2731 "dtool/src/cppparser/cppBison.yxx" + case 336: /* predefined_type: KW_AUTO */ +#line 2738 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7430 "built/tmp/cppBison.yxx.c" +#line 7249 "built/tmp/cppBison.yxx.c" break; - case 333: -#line 2738 "dtool/src/cppparser/cppBison.yxx" + case 337: /* var_type_decl: type_decl */ +#line 2745 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = (yyvsp[0].u.decl); } -#line 7438 "built/tmp/cppBison.yxx.c" +#line 7257 "built/tmp/cppBison.yxx.c" break; - case 334: -#line 2742 "dtool/src/cppparser/cppBison.yxx" + case 338: /* var_type_decl: IDENTIFIER */ +#line 2749 "dtool/src/cppparser/cppBison.yxx" { yyerror(string("unknown type '") + (yyvsp[0].u.identifier)->get_fully_scoped_name() + "'", (yylsp[0])); (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown)); } -#line 7448 "built/tmp/cppBison.yxx.c" +#line 7267 "built/tmp/cppBison.yxx.c" break; - case 335: -#line 2750 "dtool/src/cppparser/cppBison.yxx" + case 339: /* full_type: type empty_instance_identifier */ +#line 2757 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7456 "built/tmp/cppBison.yxx.c" +#line 7275 "built/tmp/cppBison.yxx.c" break; - case 336: -#line 2754 "dtool/src/cppparser/cppBison.yxx" + case 340: /* full_type: KW_CONST type empty_instance_identifier */ +#line 2761 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[0].u.inst_ident)->add_modifier(IIT_const); (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7465 "built/tmp/cppBison.yxx.c" +#line 7284 "built/tmp/cppBison.yxx.c" break; - case 337: -#line 2759 "dtool/src/cppparser/cppBison.yxx" + case 341: /* full_type: type_pack empty_instance_identifier */ +#line 2766 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7473 "built/tmp/cppBison.yxx.c" +#line 7292 "built/tmp/cppBison.yxx.c" break; - case 338: -#line 2763 "dtool/src/cppparser/cppBison.yxx" + case 342: /* full_type: KW_CONST type_pack empty_instance_identifier */ +#line 2770 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[0].u.inst_ident)->add_modifier(IIT_const); (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7482 "built/tmp/cppBison.yxx.c" +#line 7301 "built/tmp/cppBison.yxx.c" break; - case 343: -#line 2778 "dtool/src/cppparser/cppBison.yxx" + case 347: /* $@16: %empty */ +#line 2785 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[-2].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -7496,22 +7315,22 @@ yyreduce: push_scope(new_scope); push_struct(st); } -#line 7500 "built/tmp/cppBison.yxx.c" +#line 7319 "built/tmp/cppBison.yxx.c" break; - case 344: -#line 2792 "dtool/src/cppparser/cppBison.yxx" + case 348: /* anonymous_struct: struct_keyword struct_attributes '{' $@16 cpp '}' */ +#line 2799 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; pop_struct(); pop_scope(); } -#line 7511 "built/tmp/cppBison.yxx.c" +#line 7330 "built/tmp/cppBison.yxx.c" break; - case 345: -#line 2802 "dtool/src/cppparser/cppBison.yxx" + case 349: /* $@17: %empty */ +#line 2809 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[-2].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -7531,253 +7350,253 @@ yyreduce: push_scope(new_scope); push_struct(st); } -#line 7535 "built/tmp/cppBison.yxx.c" +#line 7354 "built/tmp/cppBison.yxx.c" break; - case 346: -#line 2822 "dtool/src/cppparser/cppBison.yxx" + case 350: /* named_struct: struct_keyword struct_attributes name_no_final $@17 maybe_final maybe_class_derivation '{' cpp '}' */ +#line 2829 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; pop_struct(); pop_scope(); } -#line 7546 "built/tmp/cppBison.yxx.c" +#line 7365 "built/tmp/cppBison.yxx.c" break; - case 348: -#line 2833 "dtool/src/cppparser/cppBison.yxx" + case 352: /* maybe_final: KW_FINAL */ +#line 2840 "dtool/src/cppparser/cppBison.yxx" { current_struct->_final = true; } -#line 7554 "built/tmp/cppBison.yxx.c" +#line 7373 "built/tmp/cppBison.yxx.c" break; - case 353: -#line 2850 "dtool/src/cppparser/cppBison.yxx" + case 357: /* base_specification: class_derivation_name */ +#line 2857 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_unknown, false); } -#line 7562 "built/tmp/cppBison.yxx.c" +#line 7381 "built/tmp/cppBison.yxx.c" break; - case 354: -#line 2854 "dtool/src/cppparser/cppBison.yxx" + case 358: /* base_specification: KW_PUBLIC class_derivation_name */ +#line 2861 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_public, false); } -#line 7570 "built/tmp/cppBison.yxx.c" +#line 7389 "built/tmp/cppBison.yxx.c" break; - case 355: -#line 2858 "dtool/src/cppparser/cppBison.yxx" + case 359: /* base_specification: KW_PROTECTED class_derivation_name */ +#line 2865 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_protected, false); } -#line 7578 "built/tmp/cppBison.yxx.c" +#line 7397 "built/tmp/cppBison.yxx.c" break; - case 356: -#line 2862 "dtool/src/cppparser/cppBison.yxx" + case 360: /* base_specification: KW_PRIVATE class_derivation_name */ +#line 2869 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_private, false); } -#line 7586 "built/tmp/cppBison.yxx.c" +#line 7405 "built/tmp/cppBison.yxx.c" break; - case 357: -#line 2866 "dtool/src/cppparser/cppBison.yxx" + case 361: /* base_specification: KW_VIRTUAL KW_PUBLIC class_derivation_name */ +#line 2873 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_public, true); } -#line 7594 "built/tmp/cppBison.yxx.c" +#line 7413 "built/tmp/cppBison.yxx.c" break; - case 358: -#line 2870 "dtool/src/cppparser/cppBison.yxx" + case 362: /* base_specification: KW_VIRTUAL KW_PROTECTED class_derivation_name */ +#line 2877 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_protected, true); } -#line 7602 "built/tmp/cppBison.yxx.c" +#line 7421 "built/tmp/cppBison.yxx.c" break; - case 359: -#line 2874 "dtool/src/cppparser/cppBison.yxx" + case 363: /* base_specification: KW_VIRTUAL KW_PRIVATE class_derivation_name */ +#line 2881 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_private, true); } -#line 7610 "built/tmp/cppBison.yxx.c" +#line 7429 "built/tmp/cppBison.yxx.c" break; - case 360: -#line 2878 "dtool/src/cppparser/cppBison.yxx" + case 364: /* base_specification: KW_PUBLIC KW_VIRTUAL class_derivation_name */ +#line 2885 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_public, true); } -#line 7618 "built/tmp/cppBison.yxx.c" +#line 7437 "built/tmp/cppBison.yxx.c" break; - case 361: -#line 2882 "dtool/src/cppparser/cppBison.yxx" + case 365: /* base_specification: KW_PROTECTED KW_VIRTUAL class_derivation_name */ +#line 2889 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_protected, true); } -#line 7626 "built/tmp/cppBison.yxx.c" +#line 7445 "built/tmp/cppBison.yxx.c" break; - case 362: -#line 2886 "dtool/src/cppparser/cppBison.yxx" -{ - current_struct->append_derivation((yyvsp[0].u.type), V_private, true); -} -#line 7634 "built/tmp/cppBison.yxx.c" - break; - - case 363: + case 366: /* base_specification: KW_PRIVATE KW_VIRTUAL class_derivation_name */ #line 2893 "dtool/src/cppparser/cppBison.yxx" +{ + current_struct->append_derivation((yyvsp[0].u.type), V_private, true); +} +#line 7453 "built/tmp/cppBison.yxx.c" + break; + + case 367: /* enum: enum_decl '{' enum_body '}' */ +#line 2900 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.enum_type) = current_enum; current_enum = nullptr; } -#line 7643 "built/tmp/cppBison.yxx.c" +#line 7462 "built/tmp/cppBison.yxx.c" break; - case 364: -#line 2901 "dtool/src/cppparser/cppBison.yxx" + case 368: /* enum_decl: enum_keyword ':' enum_element_type */ +#line 2908 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType((yyvsp[-2].u.extension_enum), nullptr, (yyvsp[0].u.type), current_scope, nullptr, (yylsp[-2]).file); } -#line 7651 "built/tmp/cppBison.yxx.c" +#line 7470 "built/tmp/cppBison.yxx.c" break; - case 365: -#line 2905 "dtool/src/cppparser/cppBison.yxx" + case 369: /* enum_decl: enum_keyword */ +#line 2912 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType((yyvsp[0].u.extension_enum), nullptr, current_scope, nullptr, (yylsp[0]).file); } -#line 7659 "built/tmp/cppBison.yxx.c" +#line 7478 "built/tmp/cppBison.yxx.c" break; - case 366: -#line 2909 "dtool/src/cppparser/cppBison.yxx" + case 370: /* enum_decl: enum_keyword name_no_final ':' enum_element_type */ +#line 2916 "dtool/src/cppparser/cppBison.yxx" { CPPScope *new_scope = new CPPScope(current_scope, (yyvsp[-2].u.identifier)->_names.back(), V_public); current_enum = new CPPEnumType((yyvsp[-3].u.extension_enum), (yyvsp[-2].u.identifier), (yyvsp[0].u.type), current_scope, new_scope, (yylsp[-3]).file); } -#line 7668 "built/tmp/cppBison.yxx.c" +#line 7487 "built/tmp/cppBison.yxx.c" break; - case 367: -#line 2914 "dtool/src/cppparser/cppBison.yxx" + case 371: /* enum_decl: enum_keyword name_no_final */ +#line 2921 "dtool/src/cppparser/cppBison.yxx" { CPPScope *new_scope = new CPPScope(current_scope, (yyvsp[0].u.identifier)->_names.back(), V_public); current_enum = new CPPEnumType((yyvsp[-1].u.extension_enum), (yyvsp[0].u.identifier), current_scope, new_scope, (yylsp[-1]).file); } -#line 7677 "built/tmp/cppBison.yxx.c" +#line 7496 "built/tmp/cppBison.yxx.c" break; - case 368: -#line 2922 "dtool/src/cppparser/cppBison.yxx" + case 372: /* enum_element_type: simple_int_type */ +#line 2929 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7685 "built/tmp/cppBison.yxx.c" +#line 7504 "built/tmp/cppBison.yxx.c" break; - case 369: -#line 2926 "dtool/src/cppparser/cppBison.yxx" + case 373: /* enum_element_type: TYPENAME_IDENTIFIER */ +#line 2933 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); } -#line 7693 "built/tmp/cppBison.yxx.c" +#line 7512 "built/tmp/cppBison.yxx.c" break; - case 371: -#line 2934 "dtool/src/cppparser/cppBison.yxx" + case 375: /* enum_body_trailing_comma: enum_body_trailing_comma name ',' */ +#line 2941 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[-1].u.identifier)->get_simple_name(), nullptr, current_lexer, (yylsp[-1])); } -#line 7702 "built/tmp/cppBison.yxx.c" +#line 7521 "built/tmp/cppBison.yxx.c" break; - case 372: -#line 2939 "dtool/src/cppparser/cppBison.yxx" + case 376: /* enum_body_trailing_comma: enum_body_trailing_comma name '=' const_expr ',' */ +#line 2946 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[-3].u.identifier)->get_simple_name(), (yyvsp[-1].u.expr), current_lexer, (yylsp[-3])); } -#line 7711 "built/tmp/cppBison.yxx.c" +#line 7530 "built/tmp/cppBison.yxx.c" break; - case 374: -#line 2947 "dtool/src/cppparser/cppBison.yxx" + case 378: /* enum_body: enum_body_trailing_comma name */ +#line 2954 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[0].u.identifier)->get_simple_name(), nullptr, current_lexer, (yylsp[0])); } -#line 7720 "built/tmp/cppBison.yxx.c" +#line 7539 "built/tmp/cppBison.yxx.c" break; - case 375: -#line 2952 "dtool/src/cppparser/cppBison.yxx" + case 379: /* enum_body: enum_body_trailing_comma name '=' const_expr */ +#line 2959 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[-2].u.identifier)->get_simple_name(), (yyvsp[0].u.expr), current_lexer, (yylsp[-2])); } -#line 7729 "built/tmp/cppBison.yxx.c" +#line 7548 "built/tmp/cppBison.yxx.c" break; - case 376: -#line 2960 "dtool/src/cppparser/cppBison.yxx" + case 380: /* enum_keyword: KW_ENUM */ +#line 2967 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum; } -#line 7737 "built/tmp/cppBison.yxx.c" +#line 7556 "built/tmp/cppBison.yxx.c" break; - case 377: -#line 2964 "dtool/src/cppparser/cppBison.yxx" + case 381: /* enum_keyword: KW_ENUM KW_CLASS */ +#line 2971 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum_class; } -#line 7745 "built/tmp/cppBison.yxx.c" +#line 7564 "built/tmp/cppBison.yxx.c" break; - case 378: -#line 2968 "dtool/src/cppparser/cppBison.yxx" + case 382: /* enum_keyword: KW_ENUM KW_STRUCT */ +#line 2975 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum_struct; } -#line 7753 "built/tmp/cppBison.yxx.c" +#line 7572 "built/tmp/cppBison.yxx.c" break; - case 379: -#line 2975 "dtool/src/cppparser/cppBison.yxx" + case 383: /* struct_keyword: KW_CLASS */ +#line 2982 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_class; } -#line 7761 "built/tmp/cppBison.yxx.c" +#line 7580 "built/tmp/cppBison.yxx.c" break; - case 380: -#line 2979 "dtool/src/cppparser/cppBison.yxx" + case 384: /* struct_keyword: KW_STRUCT */ +#line 2986 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_struct; } -#line 7769 "built/tmp/cppBison.yxx.c" +#line 7588 "built/tmp/cppBison.yxx.c" break; - case 381: -#line 2983 "dtool/src/cppparser/cppBison.yxx" + case 385: /* struct_keyword: KW_UNION */ +#line 2990 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_union; } -#line 7777 "built/tmp/cppBison.yxx.c" +#line 7596 "built/tmp/cppBison.yxx.c" break; - case 382: -#line 2990 "dtool/src/cppparser/cppBison.yxx" + case 386: /* $@18: %empty */ +#line 2997 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == nullptr) { @@ -7795,19 +7614,19 @@ yyreduce: current_scope->define_namespace(nspace); push_scope(scope); } -#line 7799 "built/tmp/cppBison.yxx.c" +#line 7618 "built/tmp/cppBison.yxx.c" break; - case 383: -#line 3008 "dtool/src/cppparser/cppBison.yxx" + case 387: /* namespace_declaration: KW_NAMESPACE name '{' $@18 cpp '}' */ +#line 3015 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 7807 "built/tmp/cppBison.yxx.c" +#line 7626 "built/tmp/cppBison.yxx.c" break; - case 384: -#line 3012 "dtool/src/cppparser/cppBison.yxx" + case 388: /* $@19: %empty */ +#line 3019 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == nullptr) { @@ -7826,143 +7645,143 @@ yyreduce: current_scope->define_namespace(nspace); push_scope(scope); } -#line 7830 "built/tmp/cppBison.yxx.c" +#line 7649 "built/tmp/cppBison.yxx.c" break; - case 385: -#line 3031 "dtool/src/cppparser/cppBison.yxx" + case 389: /* namespace_declaration: KW_INLINE KW_NAMESPACE name '{' $@19 cpp '}' */ +#line 3038 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 7838 "built/tmp/cppBison.yxx.c" +#line 7657 "built/tmp/cppBison.yxx.c" break; - case 388: -#line 3040 "dtool/src/cppparser/cppBison.yxx" + case 392: /* using_declaration: KW_USING name ';' */ +#line 3047 "dtool/src/cppparser/cppBison.yxx" { CPPUsing *using_decl = new CPPUsing((yyvsp[-1].u.identifier), false, (yylsp[-2]).file); current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[-2])); current_scope->add_using(using_decl, global_scope, current_lexer); } -#line 7848 "built/tmp/cppBison.yxx.c" +#line 7667 "built/tmp/cppBison.yxx.c" break; - case 389: -#line 3046 "dtool/src/cppparser/cppBison.yxx" + case 393: /* using_declaration: KW_USING name '=' full_type ';' */ +#line 3053 "dtool/src/cppparser/cppBison.yxx" { // This is really just an alternative way to declare a typedef. CPPTypedefType *typedef_type = new CPPTypedefType((yyvsp[-1].u.type), (yyvsp[-3].u.identifier), current_scope); typedef_type->_using = true; current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-4])); } -#line 7859 "built/tmp/cppBison.yxx.c" +#line 7678 "built/tmp/cppBison.yxx.c" break; - case 390: -#line 3053 "dtool/src/cppparser/cppBison.yxx" + case 394: /* using_declaration: KW_USING KW_NAMESPACE name ';' */ +#line 3060 "dtool/src/cppparser/cppBison.yxx" { CPPUsing *using_decl = new CPPUsing((yyvsp[-1].u.identifier), true, (yylsp[-3]).file); current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[-3])); current_scope->add_using(using_decl, global_scope, current_lexer); } -#line 7869 "built/tmp/cppBison.yxx.c" +#line 7688 "built/tmp/cppBison.yxx.c" break; - case 394: -#line 3068 "dtool/src/cppparser/cppBison.yxx" + case 398: /* simple_int_type: KW_BOOL */ +#line 3075 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool); } -#line 7877 "built/tmp/cppBison.yxx.c" +#line 7696 "built/tmp/cppBison.yxx.c" break; - case 395: -#line 3072 "dtool/src/cppparser/cppBison.yxx" + case 399: /* simple_int_type: KW_CHAR */ +#line 3079 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char); } -#line 7885 "built/tmp/cppBison.yxx.c" +#line 7704 "built/tmp/cppBison.yxx.c" break; - case 396: -#line 3076 "dtool/src/cppparser/cppBison.yxx" + case 400: /* simple_int_type: KW_WCHAR_T */ +#line 3083 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t); } -#line 7893 "built/tmp/cppBison.yxx.c" +#line 7712 "built/tmp/cppBison.yxx.c" break; - case 397: -#line 3080 "dtool/src/cppparser/cppBison.yxx" + case 401: /* simple_int_type: KW_CHAR16_T */ +#line 3087 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t); } -#line 7901 "built/tmp/cppBison.yxx.c" +#line 7720 "built/tmp/cppBison.yxx.c" break; - case 398: -#line 3084 "dtool/src/cppparser/cppBison.yxx" + case 402: /* simple_int_type: KW_CHAR32_T */ +#line 3091 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t); } -#line 7909 "built/tmp/cppBison.yxx.c" +#line 7728 "built/tmp/cppBison.yxx.c" break; - case 399: -#line 3088 "dtool/src/cppparser/cppBison.yxx" + case 403: /* simple_int_type: KW_SHORT */ +#line 3095 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_short); } -#line 7918 "built/tmp/cppBison.yxx.c" +#line 7737 "built/tmp/cppBison.yxx.c" break; - case 400: -#line 3093 "dtool/src/cppparser/cppBison.yxx" + case 404: /* simple_int_type: KW_LONG */ +#line 3100 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_long); } -#line 7927 "built/tmp/cppBison.yxx.c" +#line 7746 "built/tmp/cppBison.yxx.c" break; - case 401: -#line 3098 "dtool/src/cppparser/cppBison.yxx" + case 405: /* simple_int_type: KW_UNSIGNED */ +#line 3105 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_unsigned); } -#line 7936 "built/tmp/cppBison.yxx.c" +#line 7755 "built/tmp/cppBison.yxx.c" break; - case 402: -#line 3103 "dtool/src/cppparser/cppBison.yxx" + case 406: /* simple_int_type: KW_SIGNED */ +#line 3110 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_signed); } -#line 7945 "built/tmp/cppBison.yxx.c" +#line 7764 "built/tmp/cppBison.yxx.c" break; - case 403: -#line 3108 "dtool/src/cppparser/cppBison.yxx" + case 407: /* simple_int_type: KW_INT */ +#line 3115 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int); } -#line 7953 "built/tmp/cppBison.yxx.c" +#line 7772 "built/tmp/cppBison.yxx.c" break; - case 404: -#line 3112 "dtool/src/cppparser/cppBison.yxx" + case 408: /* simple_int_type: KW_SHORT simple_int_type */ +#line 3119 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_short; } -#line 7962 "built/tmp/cppBison.yxx.c" +#line 7781 "built/tmp/cppBison.yxx.c" break; - case 405: -#line 3117 "dtool/src/cppparser/cppBison.yxx" + case 409: /* simple_int_type: KW_LONG simple_int_type */ +#line 3124 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); if ((yyval.u.simple_type)->_flags & CPPSimpleType::F_long) { @@ -7971,493 +7790,493 @@ yyreduce: (yyval.u.simple_type)->_flags |= CPPSimpleType::F_long; } } -#line 7975 "built/tmp/cppBison.yxx.c" +#line 7794 "built/tmp/cppBison.yxx.c" break; - case 406: -#line 3126 "dtool/src/cppparser/cppBison.yxx" + case 410: /* simple_int_type: KW_UNSIGNED simple_int_type */ +#line 3133 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_unsigned; } -#line 7984 "built/tmp/cppBison.yxx.c" +#line 7803 "built/tmp/cppBison.yxx.c" break; - case 407: -#line 3131 "dtool/src/cppparser/cppBison.yxx" + case 411: /* simple_int_type: KW_SIGNED simple_int_type */ +#line 3138 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_signed; } -#line 7993 "built/tmp/cppBison.yxx.c" +#line 7812 "built/tmp/cppBison.yxx.c" break; - case 408: -#line 3139 "dtool/src/cppparser/cppBison.yxx" + case 412: /* simple_float_type: KW_FLOAT */ +#line 3146 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float); } -#line 8001 "built/tmp/cppBison.yxx.c" +#line 7820 "built/tmp/cppBison.yxx.c" break; - case 409: -#line 3143 "dtool/src/cppparser/cppBison.yxx" + case 413: /* simple_float_type: KW_DOUBLE */ +#line 3150 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double); } -#line 8009 "built/tmp/cppBison.yxx.c" +#line 7828 "built/tmp/cppBison.yxx.c" break; - case 410: -#line 3147 "dtool/src/cppparser/cppBison.yxx" + case 414: /* simple_float_type: KW_LONG KW_DOUBLE */ +#line 3154 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double, CPPSimpleType::F_long); } -#line 8018 "built/tmp/cppBison.yxx.c" +#line 7837 "built/tmp/cppBison.yxx.c" break; - case 411: -#line 3155 "dtool/src/cppparser/cppBison.yxx" + case 415: /* simple_void_type: KW_VOID */ +#line 3162 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void); } -#line 8026 "built/tmp/cppBison.yxx.c" +#line 7845 "built/tmp/cppBison.yxx.c" break; - case 412: -#line 3164 "dtool/src/cppparser/cppBison.yxx" + case 416: /* $@20: %empty */ +#line 3171 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = false; } -#line 8034 "built/tmp/cppBison.yxx.c" +#line 7853 "built/tmp/cppBison.yxx.c" break; - case 413: -#line 3168 "dtool/src/cppparser/cppBison.yxx" + case 417: /* code: $@20 code_block */ +#line 3175 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = true; } -#line 8042 "built/tmp/cppBison.yxx.c" +#line 7861 "built/tmp/cppBison.yxx.c" break; - case 521: -#line 3212 "dtool/src/cppparser/cppBison.yxx" + case 525: /* element: KW_WHILE */ +#line 3219 "dtool/src/cppparser/cppBison.yxx" { } -#line 8049 "built/tmp/cppBison.yxx.c" +#line 7868 "built/tmp/cppBison.yxx.c" break; - case 545: -#line 3221 "dtool/src/cppparser/cppBison.yxx" + case 549: /* optional_const_expr: empty */ +#line 3228 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 8057 "built/tmp/cppBison.yxx.c" +#line 7876 "built/tmp/cppBison.yxx.c" break; - case 546: -#line 3225 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = (yyvsp[0].u.expr); -} -#line 8065 "built/tmp/cppBison.yxx.c" - break; - - case 547: + case 550: /* optional_const_expr: const_expr */ #line 3232 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = nullptr; -} -#line 8073 "built/tmp/cppBison.yxx.c" - break; - - case 548: -#line 3236 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8081 "built/tmp/cppBison.yxx.c" +#line 7884 "built/tmp/cppBison.yxx.c" break; - case 549: + case 551: /* optional_const_expr_comma: empty */ +#line 3239 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 7892 "built/tmp/cppBison.yxx.c" + break; + + case 552: /* optional_const_expr_comma: const_expr_comma */ #line 3243 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8089 "built/tmp/cppBison.yxx.c" +#line 7900 "built/tmp/cppBison.yxx.c" break; - case 550: -#line 3247 "dtool/src/cppparser/cppBison.yxx" + case 553: /* const_expr_comma: const_expr */ +#line 3250 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = (yyvsp[0].u.expr); +} +#line 7908 "built/tmp/cppBison.yxx.c" + break; + + case 554: /* const_expr_comma: const_expr_comma ',' const_expr */ +#line 3254 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(',', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8097 "built/tmp/cppBison.yxx.c" +#line 7916 "built/tmp/cppBison.yxx.c" break; - case 551: -#line 3254 "dtool/src/cppparser/cppBison.yxx" + case 555: /* no_angle_bracket_const_expr: const_operand */ +#line 3261 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8105 "built/tmp/cppBison.yxx.c" +#line 7924 "built/tmp/cppBison.yxx.c" break; - case 552: -#line 3258 "dtool/src/cppparser/cppBison.yxx" + case 556: /* no_angle_bracket_const_expr: '(' full_type ')' no_angle_bracket_const_expr */ +#line 3265 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 8113 "built/tmp/cppBison.yxx.c" +#line 7932 "built/tmp/cppBison.yxx.c" break; - case 553: -#line 3262 "dtool/src/cppparser/cppBison.yxx" + case 557: /* no_angle_bracket_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3269 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast)); } -#line 8121 "built/tmp/cppBison.yxx.c" +#line 7940 "built/tmp/cppBison.yxx.c" break; - case 554: -#line 3266 "dtool/src/cppparser/cppBison.yxx" + case 558: /* no_angle_bracket_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3273 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast)); } -#line 8129 "built/tmp/cppBison.yxx.c" +#line 7948 "built/tmp/cppBison.yxx.c" break; - case 555: -#line 3270 "dtool/src/cppparser/cppBison.yxx" + case 559: /* no_angle_bracket_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3277 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast)); } -#line 8137 "built/tmp/cppBison.yxx.c" +#line 7956 "built/tmp/cppBison.yxx.c" break; - case 556: -#line 3274 "dtool/src/cppparser/cppBison.yxx" + case 560: /* no_angle_bracket_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3281 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast)); } -#line 8145 "built/tmp/cppBison.yxx.c" +#line 7964 "built/tmp/cppBison.yxx.c" break; - case 557: -#line 3278 "dtool/src/cppparser/cppBison.yxx" + case 561: /* no_angle_bracket_const_expr: KW_SIZEOF '(' full_type ')' */ +#line 3285 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 8153 "built/tmp/cppBison.yxx.c" +#line 7972 "built/tmp/cppBison.yxx.c" break; - case 558: -#line 3282 "dtool/src/cppparser/cppBison.yxx" + case 562: /* no_angle_bracket_const_expr: KW_SIZEOF no_angle_bracket_const_expr */ +#line 3289 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 8161 "built/tmp/cppBison.yxx.c" +#line 7980 "built/tmp/cppBison.yxx.c" break; - case 559: -#line 3286 "dtool/src/cppparser/cppBison.yxx" + case 563: /* no_angle_bracket_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 3293 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 8169 "built/tmp/cppBison.yxx.c" +#line 7988 "built/tmp/cppBison.yxx.c" break; - case 560: -#line 3290 "dtool/src/cppparser/cppBison.yxx" + case 564: /* no_angle_bracket_const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 3297 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 8177 "built/tmp/cppBison.yxx.c" +#line 7996 "built/tmp/cppBison.yxx.c" break; - case 561: -#line 3294 "dtool/src/cppparser/cppBison.yxx" + case 565: /* no_angle_bracket_const_expr: '!' no_angle_bracket_const_expr */ +#line 3301 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 8185 "built/tmp/cppBison.yxx.c" +#line 8004 "built/tmp/cppBison.yxx.c" break; - case 562: -#line 3298 "dtool/src/cppparser/cppBison.yxx" + case 566: /* no_angle_bracket_const_expr: '~' no_angle_bracket_const_expr */ +#line 3305 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 8193 "built/tmp/cppBison.yxx.c" +#line 8012 "built/tmp/cppBison.yxx.c" break; - case 563: -#line 3302 "dtool/src/cppparser/cppBison.yxx" + case 567: /* no_angle_bracket_const_expr: '-' no_angle_bracket_const_expr */ +#line 3309 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 8201 "built/tmp/cppBison.yxx.c" +#line 8020 "built/tmp/cppBison.yxx.c" break; - case 564: -#line 3306 "dtool/src/cppparser/cppBison.yxx" + case 568: /* no_angle_bracket_const_expr: '+' no_angle_bracket_const_expr */ +#line 3313 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 8209 "built/tmp/cppBison.yxx.c" +#line 8028 "built/tmp/cppBison.yxx.c" break; - case 565: -#line 3310 "dtool/src/cppparser/cppBison.yxx" + case 569: /* no_angle_bracket_const_expr: '*' no_angle_bracket_const_expr */ +#line 3317 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr)); } -#line 8217 "built/tmp/cppBison.yxx.c" +#line 8036 "built/tmp/cppBison.yxx.c" break; - case 566: -#line 3314 "dtool/src/cppparser/cppBison.yxx" + case 570: /* no_angle_bracket_const_expr: '&' no_angle_bracket_const_expr */ +#line 3321 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 8225 "built/tmp/cppBison.yxx.c" +#line 8044 "built/tmp/cppBison.yxx.c" break; - case 567: -#line 3318 "dtool/src/cppparser/cppBison.yxx" + case 571: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '*' no_angle_bracket_const_expr */ +#line 3325 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8233 "built/tmp/cppBison.yxx.c" +#line 8052 "built/tmp/cppBison.yxx.c" break; - case 568: -#line 3322 "dtool/src/cppparser/cppBison.yxx" + case 572: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '/' no_angle_bracket_const_expr */ +#line 3329 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8241 "built/tmp/cppBison.yxx.c" +#line 8060 "built/tmp/cppBison.yxx.c" break; - case 569: -#line 3326 "dtool/src/cppparser/cppBison.yxx" + case 573: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '%' no_angle_bracket_const_expr */ +#line 3333 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8249 "built/tmp/cppBison.yxx.c" +#line 8068 "built/tmp/cppBison.yxx.c" break; - case 570: -#line 3330 "dtool/src/cppparser/cppBison.yxx" + case 574: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '+' no_angle_bracket_const_expr */ +#line 3337 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8257 "built/tmp/cppBison.yxx.c" +#line 8076 "built/tmp/cppBison.yxx.c" break; - case 571: -#line 3334 "dtool/src/cppparser/cppBison.yxx" + case 575: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '-' no_angle_bracket_const_expr */ +#line 3341 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8265 "built/tmp/cppBison.yxx.c" +#line 8084 "built/tmp/cppBison.yxx.c" break; - case 572: -#line 3338 "dtool/src/cppparser/cppBison.yxx" + case 576: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '|' no_angle_bracket_const_expr */ +#line 3345 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8273 "built/tmp/cppBison.yxx.c" +#line 8092 "built/tmp/cppBison.yxx.c" break; - case 573: -#line 3342 "dtool/src/cppparser/cppBison.yxx" + case 577: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '^' no_angle_bracket_const_expr */ +#line 3349 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8281 "built/tmp/cppBison.yxx.c" +#line 8100 "built/tmp/cppBison.yxx.c" break; - case 574: -#line 3346 "dtool/src/cppparser/cppBison.yxx" + case 578: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '&' no_angle_bracket_const_expr */ +#line 3353 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8289 "built/tmp/cppBison.yxx.c" +#line 8108 "built/tmp/cppBison.yxx.c" break; - case 575: -#line 3350 "dtool/src/cppparser/cppBison.yxx" + case 579: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr OROR no_angle_bracket_const_expr */ +#line 3357 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8297 "built/tmp/cppBison.yxx.c" +#line 8116 "built/tmp/cppBison.yxx.c" break; - case 576: -#line 3354 "dtool/src/cppparser/cppBison.yxx" + case 580: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr ANDAND no_angle_bracket_const_expr */ +#line 3361 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8305 "built/tmp/cppBison.yxx.c" +#line 8124 "built/tmp/cppBison.yxx.c" break; - case 577: -#line 3358 "dtool/src/cppparser/cppBison.yxx" + case 581: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr EQCOMPARE no_angle_bracket_const_expr */ +#line 3365 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8313 "built/tmp/cppBison.yxx.c" +#line 8132 "built/tmp/cppBison.yxx.c" break; - case 578: -#line 3362 "dtool/src/cppparser/cppBison.yxx" + case 582: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr NECOMPARE no_angle_bracket_const_expr */ +#line 3369 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8321 "built/tmp/cppBison.yxx.c" +#line 8140 "built/tmp/cppBison.yxx.c" break; - case 579: -#line 3366 "dtool/src/cppparser/cppBison.yxx" + case 583: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LECOMPARE no_angle_bracket_const_expr */ +#line 3373 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8329 "built/tmp/cppBison.yxx.c" +#line 8148 "built/tmp/cppBison.yxx.c" break; - case 580: -#line 3370 "dtool/src/cppparser/cppBison.yxx" + case 584: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr GECOMPARE no_angle_bracket_const_expr */ +#line 3377 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8337 "built/tmp/cppBison.yxx.c" +#line 8156 "built/tmp/cppBison.yxx.c" break; - case 581: -#line 3374 "dtool/src/cppparser/cppBison.yxx" + case 585: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LSHIFT no_angle_bracket_const_expr */ +#line 3381 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8345 "built/tmp/cppBison.yxx.c" +#line 8164 "built/tmp/cppBison.yxx.c" break; - case 582: -#line 3378 "dtool/src/cppparser/cppBison.yxx" + case 586: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr RSHIFT no_angle_bracket_const_expr */ +#line 3385 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8353 "built/tmp/cppBison.yxx.c" +#line 8172 "built/tmp/cppBison.yxx.c" break; - case 583: -#line 3382 "dtool/src/cppparser/cppBison.yxx" + case 587: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '?' no_angle_bracket_const_expr ':' no_angle_bracket_const_expr */ +#line 3389 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8361 "built/tmp/cppBison.yxx.c" +#line 8180 "built/tmp/cppBison.yxx.c" break; - case 584: -#line 3386 "dtool/src/cppparser/cppBison.yxx" + case 588: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '[' const_expr ']' */ +#line 3393 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8369 "built/tmp/cppBison.yxx.c" +#line 8188 "built/tmp/cppBison.yxx.c" break; - case 585: -#line 3390 "dtool/src/cppparser/cppBison.yxx" + case 589: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' const_expr_comma ')' */ +#line 3397 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8377 "built/tmp/cppBison.yxx.c" +#line 8196 "built/tmp/cppBison.yxx.c" break; - case 586: -#line 3394 "dtool/src/cppparser/cppBison.yxx" + case 590: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' ')' */ +#line 3401 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 8385 "built/tmp/cppBison.yxx.c" +#line 8204 "built/tmp/cppBison.yxx.c" break; - case 587: -#line 3398 "dtool/src/cppparser/cppBison.yxx" + case 591: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '.' name */ +#line 3405 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer)); } -#line 8393 "built/tmp/cppBison.yxx.c" +#line 8212 "built/tmp/cppBison.yxx.c" break; - case 588: -#line 3402 "dtool/src/cppparser/cppBison.yxx" + case 592: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr POINTSAT no_angle_bracket_const_expr */ +#line 3409 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8401 "built/tmp/cppBison.yxx.c" +#line 8220 "built/tmp/cppBison.yxx.c" break; - case 589: -#line 3406 "dtool/src/cppparser/cppBison.yxx" + case 593: /* no_angle_bracket_const_expr: '(' const_expr_comma ')' */ +#line 3413 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 8409 "built/tmp/cppBison.yxx.c" +#line 8228 "built/tmp/cppBison.yxx.c" break; - case 590: -#line 3414 "dtool/src/cppparser/cppBison.yxx" + case 594: /* const_expr: const_operand */ +#line 3421 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8417 "built/tmp/cppBison.yxx.c" +#line 8236 "built/tmp/cppBison.yxx.c" break; - case 591: -#line 3418 "dtool/src/cppparser/cppBison.yxx" + case 595: /* const_expr: '(' full_type ')' const_expr */ +#line 3425 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 8425 "built/tmp/cppBison.yxx.c" +#line 8244 "built/tmp/cppBison.yxx.c" break; - case 592: -#line 3422 "dtool/src/cppparser/cppBison.yxx" + case 596: /* const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3429 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast)); } -#line 8433 "built/tmp/cppBison.yxx.c" +#line 8252 "built/tmp/cppBison.yxx.c" break; - case 593: -#line 3426 "dtool/src/cppparser/cppBison.yxx" + case 597: /* const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3433 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast)); } -#line 8441 "built/tmp/cppBison.yxx.c" +#line 8260 "built/tmp/cppBison.yxx.c" break; - case 594: -#line 3430 "dtool/src/cppparser/cppBison.yxx" + case 598: /* const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3437 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast)); } -#line 8449 "built/tmp/cppBison.yxx.c" +#line 8268 "built/tmp/cppBison.yxx.c" break; - case 595: -#line 3434 "dtool/src/cppparser/cppBison.yxx" + case 599: /* const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3441 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast)); } -#line 8457 "built/tmp/cppBison.yxx.c" +#line 8276 "built/tmp/cppBison.yxx.c" break; - case 596: -#line 3438 "dtool/src/cppparser/cppBison.yxx" + case 600: /* const_expr: TYPENAME_IDENTIFIER '(' optional_const_expr_comma ')' */ +#line 3445 "dtool/src/cppparser/cppBison.yxx" { // A constructor call. CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -8467,11 +8286,11 @@ yyreduce: assert(type != nullptr); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8471 "built/tmp/cppBison.yxx.c" +#line 8290 "built/tmp/cppBison.yxx.c" break; - case 597: -#line 3448 "dtool/src/cppparser/cppBison.yxx" + case 601: /* const_expr: TYPENAME_IDENTIFIER '{' optional_const_expr_comma '}' */ +#line 3455 "dtool/src/cppparser/cppBison.yxx" { // Aggregate initialization. CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -8481,183 +8300,183 @@ yyreduce: assert(type != nullptr); (yyval.u.expr) = new CPPExpression(CPPExpression::aggregate_init_op(type, (yyvsp[-1].u.expr))); } -#line 8485 "built/tmp/cppBison.yxx.c" +#line 8304 "built/tmp/cppBison.yxx.c" break; - case 598: -#line 3458 "dtool/src/cppparser/cppBison.yxx" + case 602: /* const_expr: KW_INT '(' optional_const_expr_comma ')' */ +#line 3465 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8495 "built/tmp/cppBison.yxx.c" +#line 8314 "built/tmp/cppBison.yxx.c" break; - case 599: -#line 3464 "dtool/src/cppparser/cppBison.yxx" + case 603: /* const_expr: KW_CHAR '(' optional_const_expr_comma ')' */ +#line 3471 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8505 "built/tmp/cppBison.yxx.c" +#line 8324 "built/tmp/cppBison.yxx.c" break; - case 600: -#line 3470 "dtool/src/cppparser/cppBison.yxx" + case 604: /* const_expr: KW_WCHAR_T '(' optional_const_expr_comma ')' */ +#line 3477 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_wchar_t)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8515 "built/tmp/cppBison.yxx.c" +#line 8334 "built/tmp/cppBison.yxx.c" break; - case 601: -#line 3476 "dtool/src/cppparser/cppBison.yxx" + case 605: /* const_expr: KW_CHAR16_T '(' optional_const_expr_comma ')' */ +#line 3483 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char16_t)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8525 "built/tmp/cppBison.yxx.c" +#line 8344 "built/tmp/cppBison.yxx.c" break; - case 602: -#line 3482 "dtool/src/cppparser/cppBison.yxx" + case 606: /* const_expr: KW_CHAR32_T '(' optional_const_expr_comma ')' */ +#line 3489 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char32_t)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8535 "built/tmp/cppBison.yxx.c" +#line 8354 "built/tmp/cppBison.yxx.c" break; - case 603: -#line 3488 "dtool/src/cppparser/cppBison.yxx" + case 607: /* const_expr: KW_BOOL '(' optional_const_expr_comma ')' */ +#line 3495 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_bool)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8545 "built/tmp/cppBison.yxx.c" +#line 8364 "built/tmp/cppBison.yxx.c" break; - case 604: -#line 3494 "dtool/src/cppparser/cppBison.yxx" + case 608: /* const_expr: KW_SHORT '(' optional_const_expr_comma ')' */ +#line 3501 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_short)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8556 "built/tmp/cppBison.yxx.c" +#line 8375 "built/tmp/cppBison.yxx.c" break; - case 605: -#line 3501 "dtool/src/cppparser/cppBison.yxx" + case 609: /* const_expr: KW_LONG '(' optional_const_expr_comma ')' */ +#line 3508 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_long)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8567 "built/tmp/cppBison.yxx.c" +#line 8386 "built/tmp/cppBison.yxx.c" break; - case 606: -#line 3508 "dtool/src/cppparser/cppBison.yxx" + case 610: /* const_expr: KW_UNSIGNED '(' optional_const_expr_comma ')' */ +#line 3515 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_unsigned)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8578 "built/tmp/cppBison.yxx.c" +#line 8397 "built/tmp/cppBison.yxx.c" break; - case 607: -#line 3515 "dtool/src/cppparser/cppBison.yxx" + case 611: /* const_expr: KW_SIGNED '(' optional_const_expr_comma ')' */ +#line 3522 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_signed)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8589 "built/tmp/cppBison.yxx.c" +#line 8408 "built/tmp/cppBison.yxx.c" break; - case 608: -#line 3522 "dtool/src/cppparser/cppBison.yxx" + case 612: /* const_expr: KW_FLOAT '(' optional_const_expr_comma ')' */ +#line 3529 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_float)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8599 "built/tmp/cppBison.yxx.c" +#line 8418 "built/tmp/cppBison.yxx.c" break; - case 609: -#line 3528 "dtool/src/cppparser/cppBison.yxx" + case 613: /* const_expr: KW_DOUBLE '(' optional_const_expr_comma ')' */ +#line 3535 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_double)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8609 "built/tmp/cppBison.yxx.c" +#line 8428 "built/tmp/cppBison.yxx.c" break; - case 610: -#line 3534 "dtool/src/cppparser/cppBison.yxx" + case 614: /* const_expr: KW_SIZEOF '(' full_type ')' */ +#line 3541 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 8617 "built/tmp/cppBison.yxx.c" +#line 8436 "built/tmp/cppBison.yxx.c" break; - case 611: -#line 3538 "dtool/src/cppparser/cppBison.yxx" + case 615: /* const_expr: KW_SIZEOF const_expr */ +#line 3545 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 8625 "built/tmp/cppBison.yxx.c" +#line 8444 "built/tmp/cppBison.yxx.c" break; - case 612: -#line 3542 "dtool/src/cppparser/cppBison.yxx" + case 616: /* const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 3549 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 8633 "built/tmp/cppBison.yxx.c" +#line 8452 "built/tmp/cppBison.yxx.c" break; - case 613: -#line 3546 "dtool/src/cppparser/cppBison.yxx" + case 617: /* const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 3553 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 8641 "built/tmp/cppBison.yxx.c" +#line 8460 "built/tmp/cppBison.yxx.c" break; - case 614: -#line 3550 "dtool/src/cppparser/cppBison.yxx" + case 618: /* const_expr: KW_NEW predefined_type */ +#line 3557 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type))); } -#line 8649 "built/tmp/cppBison.yxx.c" +#line 8468 "built/tmp/cppBison.yxx.c" break; - case 615: -#line 3554 "dtool/src/cppparser/cppBison.yxx" + case 619: /* const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ +#line 3561 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr))); } -#line 8657 "built/tmp/cppBison.yxx.c" +#line 8476 "built/tmp/cppBison.yxx.c" break; - case 616: -#line 3558 "dtool/src/cppparser/cppBison.yxx" + case 620: /* const_expr: KW_TYPEID '(' full_type ')' */ +#line 3565 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -8668,11 +8487,11 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info)); } -#line 8672 "built/tmp/cppBison.yxx.c" +#line 8491 "built/tmp/cppBison.yxx.c" break; - case 617: -#line 3569 "dtool/src/cppparser/cppBison.yxx" + case 621: /* const_expr: KW_TYPEID '(' const_expr ')' */ +#line 3576 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -8683,604 +8502,604 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info)); } -#line 8687 "built/tmp/cppBison.yxx.c" +#line 8506 "built/tmp/cppBison.yxx.c" break; - case 618: -#line 3580 "dtool/src/cppparser/cppBison.yxx" + case 622: /* const_expr: '!' const_expr */ +#line 3587 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 8695 "built/tmp/cppBison.yxx.c" +#line 8514 "built/tmp/cppBison.yxx.c" break; - case 619: -#line 3584 "dtool/src/cppparser/cppBison.yxx" + case 623: /* const_expr: '~' const_expr */ +#line 3591 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 8703 "built/tmp/cppBison.yxx.c" +#line 8522 "built/tmp/cppBison.yxx.c" break; - case 620: -#line 3588 "dtool/src/cppparser/cppBison.yxx" + case 624: /* const_expr: '-' const_expr */ +#line 3595 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 8711 "built/tmp/cppBison.yxx.c" +#line 8530 "built/tmp/cppBison.yxx.c" break; - case 621: -#line 3592 "dtool/src/cppparser/cppBison.yxx" + case 625: /* const_expr: '+' const_expr */ +#line 3599 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 8719 "built/tmp/cppBison.yxx.c" +#line 8538 "built/tmp/cppBison.yxx.c" break; - case 622: -#line 3596 "dtool/src/cppparser/cppBison.yxx" + case 626: /* const_expr: '*' const_expr */ +#line 3603 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr)); } -#line 8727 "built/tmp/cppBison.yxx.c" +#line 8546 "built/tmp/cppBison.yxx.c" break; - case 623: -#line 3600 "dtool/src/cppparser/cppBison.yxx" + case 627: /* const_expr: '&' const_expr */ +#line 3607 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 8735 "built/tmp/cppBison.yxx.c" +#line 8554 "built/tmp/cppBison.yxx.c" break; - case 624: -#line 3604 "dtool/src/cppparser/cppBison.yxx" + case 628: /* const_expr: const_expr '*' const_expr */ +#line 3611 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8743 "built/tmp/cppBison.yxx.c" +#line 8562 "built/tmp/cppBison.yxx.c" break; - case 625: -#line 3608 "dtool/src/cppparser/cppBison.yxx" + case 629: /* const_expr: const_expr '/' const_expr */ +#line 3615 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8751 "built/tmp/cppBison.yxx.c" +#line 8570 "built/tmp/cppBison.yxx.c" break; - case 626: -#line 3612 "dtool/src/cppparser/cppBison.yxx" + case 630: /* const_expr: const_expr '%' const_expr */ +#line 3619 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8759 "built/tmp/cppBison.yxx.c" +#line 8578 "built/tmp/cppBison.yxx.c" break; - case 627: -#line 3616 "dtool/src/cppparser/cppBison.yxx" + case 631: /* const_expr: const_expr '+' const_expr */ +#line 3623 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8767 "built/tmp/cppBison.yxx.c" +#line 8586 "built/tmp/cppBison.yxx.c" break; - case 628: -#line 3620 "dtool/src/cppparser/cppBison.yxx" + case 632: /* const_expr: const_expr '-' const_expr */ +#line 3627 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8775 "built/tmp/cppBison.yxx.c" +#line 8594 "built/tmp/cppBison.yxx.c" break; - case 629: -#line 3624 "dtool/src/cppparser/cppBison.yxx" + case 633: /* const_expr: const_expr '|' const_expr */ +#line 3631 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8783 "built/tmp/cppBison.yxx.c" +#line 8602 "built/tmp/cppBison.yxx.c" break; - case 630: -#line 3628 "dtool/src/cppparser/cppBison.yxx" + case 634: /* const_expr: const_expr '^' const_expr */ +#line 3635 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8791 "built/tmp/cppBison.yxx.c" +#line 8610 "built/tmp/cppBison.yxx.c" break; - case 631: -#line 3632 "dtool/src/cppparser/cppBison.yxx" + case 635: /* const_expr: const_expr '&' const_expr */ +#line 3639 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8799 "built/tmp/cppBison.yxx.c" +#line 8618 "built/tmp/cppBison.yxx.c" break; - case 632: -#line 3636 "dtool/src/cppparser/cppBison.yxx" + case 636: /* const_expr: const_expr OROR const_expr */ +#line 3643 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8807 "built/tmp/cppBison.yxx.c" +#line 8626 "built/tmp/cppBison.yxx.c" break; - case 633: -#line 3640 "dtool/src/cppparser/cppBison.yxx" + case 637: /* const_expr: const_expr ANDAND const_expr */ +#line 3647 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8815 "built/tmp/cppBison.yxx.c" +#line 8634 "built/tmp/cppBison.yxx.c" break; - case 634: -#line 3644 "dtool/src/cppparser/cppBison.yxx" + case 638: /* const_expr: const_expr EQCOMPARE const_expr */ +#line 3651 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8823 "built/tmp/cppBison.yxx.c" +#line 8642 "built/tmp/cppBison.yxx.c" break; - case 635: -#line 3648 "dtool/src/cppparser/cppBison.yxx" + case 639: /* const_expr: const_expr NECOMPARE const_expr */ +#line 3655 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8831 "built/tmp/cppBison.yxx.c" +#line 8650 "built/tmp/cppBison.yxx.c" break; - case 636: -#line 3652 "dtool/src/cppparser/cppBison.yxx" + case 640: /* const_expr: const_expr LECOMPARE const_expr */ +#line 3659 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8839 "built/tmp/cppBison.yxx.c" +#line 8658 "built/tmp/cppBison.yxx.c" break; - case 637: -#line 3656 "dtool/src/cppparser/cppBison.yxx" + case 641: /* const_expr: const_expr GECOMPARE const_expr */ +#line 3663 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8847 "built/tmp/cppBison.yxx.c" +#line 8666 "built/tmp/cppBison.yxx.c" break; - case 638: -#line 3660 "dtool/src/cppparser/cppBison.yxx" + case 642: /* const_expr: const_expr '<' const_expr */ +#line 3667 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8855 "built/tmp/cppBison.yxx.c" +#line 8674 "built/tmp/cppBison.yxx.c" break; - case 639: -#line 3664 "dtool/src/cppparser/cppBison.yxx" + case 643: /* const_expr: const_expr '>' const_expr */ +#line 3671 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8863 "built/tmp/cppBison.yxx.c" +#line 8682 "built/tmp/cppBison.yxx.c" break; - case 640: -#line 3668 "dtool/src/cppparser/cppBison.yxx" + case 644: /* const_expr: const_expr LSHIFT const_expr */ +#line 3675 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8871 "built/tmp/cppBison.yxx.c" +#line 8690 "built/tmp/cppBison.yxx.c" break; - case 641: -#line 3672 "dtool/src/cppparser/cppBison.yxx" + case 645: /* const_expr: const_expr RSHIFT const_expr */ +#line 3679 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8879 "built/tmp/cppBison.yxx.c" +#line 8698 "built/tmp/cppBison.yxx.c" break; - case 642: -#line 3676 "dtool/src/cppparser/cppBison.yxx" + case 646: /* const_expr: const_expr '?' const_expr ':' const_expr */ +#line 3683 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8887 "built/tmp/cppBison.yxx.c" +#line 8706 "built/tmp/cppBison.yxx.c" break; - case 643: -#line 3680 "dtool/src/cppparser/cppBison.yxx" + case 647: /* const_expr: const_expr '[' const_expr ']' */ +#line 3687 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8895 "built/tmp/cppBison.yxx.c" +#line 8714 "built/tmp/cppBison.yxx.c" break; - case 644: -#line 3684 "dtool/src/cppparser/cppBison.yxx" + case 648: /* const_expr: const_expr '(' const_expr_comma ')' */ +#line 3691 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8903 "built/tmp/cppBison.yxx.c" +#line 8722 "built/tmp/cppBison.yxx.c" break; - case 645: -#line 3688 "dtool/src/cppparser/cppBison.yxx" + case 649: /* const_expr: const_expr '(' ')' */ +#line 3695 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 8911 "built/tmp/cppBison.yxx.c" +#line 8730 "built/tmp/cppBison.yxx.c" break; - case 646: -#line 3692 "dtool/src/cppparser/cppBison.yxx" + case 650: /* const_expr: const_expr '.' name */ +#line 3699 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer)); } -#line 8919 "built/tmp/cppBison.yxx.c" +#line 8738 "built/tmp/cppBison.yxx.c" break; - case 647: -#line 3696 "dtool/src/cppparser/cppBison.yxx" + case 651: /* const_expr: const_expr POINTSAT const_expr */ +#line 3703 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8927 "built/tmp/cppBison.yxx.c" +#line 8746 "built/tmp/cppBison.yxx.c" break; - case 648: -#line 3700 "dtool/src/cppparser/cppBison.yxx" + case 652: /* const_expr: '(' const_expr_comma ')' */ +#line 3707 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 8935 "built/tmp/cppBison.yxx.c" +#line 8754 "built/tmp/cppBison.yxx.c" break; - case 649: -#line 3707 "dtool/src/cppparser/cppBison.yxx" + case 653: /* const_operand: INTEGER */ +#line 3714 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 8943 "built/tmp/cppBison.yxx.c" +#line 8762 "built/tmp/cppBison.yxx.c" break; - case 650: -#line 3711 "dtool/src/cppparser/cppBison.yxx" + case 654: /* const_operand: KW_TRUE */ +#line 3718 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } -#line 8951 "built/tmp/cppBison.yxx.c" +#line 8770 "built/tmp/cppBison.yxx.c" break; - case 651: -#line 3715 "dtool/src/cppparser/cppBison.yxx" + case 655: /* const_operand: KW_FALSE */ +#line 3722 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } -#line 8959 "built/tmp/cppBison.yxx.c" +#line 8778 "built/tmp/cppBison.yxx.c" break; - case 652: -#line 3719 "dtool/src/cppparser/cppBison.yxx" + case 656: /* const_operand: CHAR_TOK */ +#line 3726 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 8967 "built/tmp/cppBison.yxx.c" +#line 8786 "built/tmp/cppBison.yxx.c" break; - case 653: -#line 3723 "dtool/src/cppparser/cppBison.yxx" + case 657: /* const_operand: REAL */ +#line 3730 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real)); } -#line 8975 "built/tmp/cppBison.yxx.c" +#line 8794 "built/tmp/cppBison.yxx.c" break; - case 654: -#line 3727 "dtool/src/cppparser/cppBison.yxx" + case 658: /* const_operand: string_literal */ +#line 3734 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8983 "built/tmp/cppBison.yxx.c" +#line 8802 "built/tmp/cppBison.yxx.c" break; - case 655: -#line 3731 "dtool/src/cppparser/cppBison.yxx" + case 659: /* const_operand: CUSTOM_LITERAL */ +#line 3738 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8991 "built/tmp/cppBison.yxx.c" +#line 8810 "built/tmp/cppBison.yxx.c" break; - case 656: -#line 3735 "dtool/src/cppparser/cppBison.yxx" + case 660: /* const_operand: IDENTIFIER */ +#line 3742 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer); } -#line 8999 "built/tmp/cppBison.yxx.c" +#line 8818 "built/tmp/cppBison.yxx.c" break; - case 657: -#line 3739 "dtool/src/cppparser/cppBison.yxx" + case 661: /* const_operand: KW_FINAL */ +#line 3746 "dtool/src/cppparser/cppBison.yxx" { // A variable named "final". C++11 explicitly permits this. CPPIdentifier *ident = new CPPIdentifier("final", (yylsp[0])); (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer); } -#line 9009 "built/tmp/cppBison.yxx.c" +#line 8828 "built/tmp/cppBison.yxx.c" break; - case 658: -#line 3745 "dtool/src/cppparser/cppBison.yxx" + case 662: /* const_operand: KW_OVERRIDE */ +#line 3752 "dtool/src/cppparser/cppBison.yxx" { // A variable named "override". C++11 explicitly permits this. CPPIdentifier *ident = new CPPIdentifier("override", (yylsp[0])); (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer); } -#line 9019 "built/tmp/cppBison.yxx.c" +#line 8838 "built/tmp/cppBison.yxx.c" break; - case 659: -#line 3751 "dtool/src/cppparser/cppBison.yxx" + case 663: /* const_operand: KW_NULLPTR */ +#line 3758 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); } -#line 9027 "built/tmp/cppBison.yxx.c" +#line 8846 "built/tmp/cppBison.yxx.c" break; - case 660: -#line 3755 "dtool/src/cppparser/cppBison.yxx" + case 664: /* const_operand: '[' capture_list ']' function_post maybe_trailing_return_type '{' code '}' */ +#line 3762 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-6].u.closure_type)->_flags = (yyvsp[-4].u.integer); (yyvsp[-6].u.closure_type)->_return_type = (yyvsp[-3].u.type); (yyval.u.expr) = new CPPExpression(CPPExpression::lambda((yyvsp[-6].u.closure_type))); } -#line 9037 "built/tmp/cppBison.yxx.c" +#line 8856 "built/tmp/cppBison.yxx.c" break; - case 661: -#line 3761 "dtool/src/cppparser/cppBison.yxx" + case 665: /* const_operand: '[' capture_list ']' '(' function_parameter_list ')' function_post maybe_trailing_return_type '{' code '}' */ +#line 3768 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-9].u.closure_type)->_parameters = (yyvsp[-6].u.param_list); (yyvsp[-9].u.closure_type)->_flags = (yyvsp[-4].u.integer); (yyvsp[-9].u.closure_type)->_return_type = (yyvsp[-3].u.type); (yyval.u.expr) = new CPPExpression(CPPExpression::lambda((yyvsp[-9].u.closure_type))); } -#line 9048 "built/tmp/cppBison.yxx.c" +#line 8867 "built/tmp/cppBison.yxx.c" break; - case 662: -#line 3768 "dtool/src/cppparser/cppBison.yxx" + case 666: /* const_operand: KW_HAS_VIRTUAL_DESTRUCTOR '(' full_type ')' */ +#line 3775 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_HAS_VIRTUAL_DESTRUCTOR, (yyvsp[-1].u.type))); } -#line 9056 "built/tmp/cppBison.yxx.c" +#line 8875 "built/tmp/cppBison.yxx.c" break; - case 663: -#line 3772 "dtool/src/cppparser/cppBison.yxx" + case 667: /* const_operand: KW_IS_ABSTRACT '(' full_type ')' */ +#line 3779 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_ABSTRACT, (yyvsp[-1].u.type))); } -#line 9064 "built/tmp/cppBison.yxx.c" +#line 8883 "built/tmp/cppBison.yxx.c" break; - case 664: -#line 3776 "dtool/src/cppparser/cppBison.yxx" + case 668: /* const_operand: KW_IS_BASE_OF '(' full_type ',' full_type ')' */ +#line 3783 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CLASS, (yyvsp[-3].u.type), (yyvsp[-1].u.type))); } -#line 9072 "built/tmp/cppBison.yxx.c" +#line 8891 "built/tmp/cppBison.yxx.c" break; - case 665: -#line 3780 "dtool/src/cppparser/cppBison.yxx" + case 669: /* const_operand: KW_IS_CLASS '(' full_type ')' */ +#line 3787 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CLASS, (yyvsp[-1].u.type))); } -#line 9080 "built/tmp/cppBison.yxx.c" +#line 8899 "built/tmp/cppBison.yxx.c" break; - case 666: -#line 3784 "dtool/src/cppparser/cppBison.yxx" + case 670: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ')' */ +#line 3791 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONSTRUCTIBLE, (yyvsp[-1].u.type))); } -#line 9088 "built/tmp/cppBison.yxx.c" +#line 8907 "built/tmp/cppBison.yxx.c" break; - case 667: -#line 3788 "dtool/src/cppparser/cppBison.yxx" + case 671: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ',' full_type ')' */ +#line 3795 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONSTRUCTIBLE, (yyvsp[-3].u.type), (yyvsp[-1].u.type))); } -#line 9096 "built/tmp/cppBison.yxx.c" +#line 8915 "built/tmp/cppBison.yxx.c" break; - case 668: -#line 3792 "dtool/src/cppparser/cppBison.yxx" + case 672: /* const_operand: KW_IS_CONVERTIBLE_TO '(' full_type ',' full_type ')' */ +#line 3799 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONVERTIBLE_TO, (yyvsp[-3].u.type), (yyvsp[-1].u.type))); } -#line 9104 "built/tmp/cppBison.yxx.c" +#line 8923 "built/tmp/cppBison.yxx.c" break; - case 669: -#line 3796 "dtool/src/cppparser/cppBison.yxx" + case 673: /* const_operand: KW_IS_DESTRUCTIBLE '(' full_type ')' */ +#line 3803 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_DESTRUCTIBLE, (yyvsp[-1].u.type))); } -#line 9112 "built/tmp/cppBison.yxx.c" +#line 8931 "built/tmp/cppBison.yxx.c" break; - case 670: -#line 3800 "dtool/src/cppparser/cppBison.yxx" + case 674: /* const_operand: KW_IS_EMPTY '(' full_type ')' */ +#line 3807 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_EMPTY, (yyvsp[-1].u.type))); } -#line 9120 "built/tmp/cppBison.yxx.c" +#line 8939 "built/tmp/cppBison.yxx.c" break; - case 671: -#line 3804 "dtool/src/cppparser/cppBison.yxx" + case 675: /* const_operand: KW_IS_ENUM '(' full_type ')' */ +#line 3811 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_ENUM, (yyvsp[-1].u.type))); } -#line 9128 "built/tmp/cppBison.yxx.c" +#line 8947 "built/tmp/cppBison.yxx.c" break; - case 672: -#line 3808 "dtool/src/cppparser/cppBison.yxx" + case 676: /* const_operand: KW_IS_FINAL '(' full_type ')' */ +#line 3815 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_FINAL, (yyvsp[-1].u.type))); } -#line 9136 "built/tmp/cppBison.yxx.c" +#line 8955 "built/tmp/cppBison.yxx.c" break; - case 673: -#line 3812 "dtool/src/cppparser/cppBison.yxx" + case 677: /* const_operand: KW_IS_FUNDAMENTAL '(' full_type ')' */ +#line 3819 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_FUNDAMENTAL, (yyvsp[-1].u.type))); } -#line 9144 "built/tmp/cppBison.yxx.c" +#line 8963 "built/tmp/cppBison.yxx.c" break; - case 674: -#line 3816 "dtool/src/cppparser/cppBison.yxx" + case 678: /* const_operand: KW_IS_POD '(' full_type ')' */ +#line 3823 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_POD, (yyvsp[-1].u.type))); } -#line 9152 "built/tmp/cppBison.yxx.c" +#line 8971 "built/tmp/cppBison.yxx.c" break; - case 675: -#line 3820 "dtool/src/cppparser/cppBison.yxx" + case 679: /* const_operand: KW_IS_POLYMORPHIC '(' full_type ')' */ +#line 3827 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_POLYMORPHIC, (yyvsp[-1].u.type))); } -#line 9160 "built/tmp/cppBison.yxx.c" +#line 8979 "built/tmp/cppBison.yxx.c" break; - case 676: -#line 3824 "dtool/src/cppparser/cppBison.yxx" + case 680: /* const_operand: KW_IS_STANDARD_LAYOUT '(' full_type ')' */ +#line 3831 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_STANDARD_LAYOUT, (yyvsp[-1].u.type))); } -#line 9168 "built/tmp/cppBison.yxx.c" +#line 8987 "built/tmp/cppBison.yxx.c" break; - case 677: -#line 3828 "dtool/src/cppparser/cppBison.yxx" + case 681: /* const_operand: KW_IS_TRIVIAL '(' full_type ')' */ +#line 3835 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_TRIVIAL, (yyvsp[-1].u.type))); } -#line 9176 "built/tmp/cppBison.yxx.c" +#line 8995 "built/tmp/cppBison.yxx.c" break; - case 678: -#line 3832 "dtool/src/cppparser/cppBison.yxx" + case 682: /* const_operand: KW_IS_UNION '(' full_type ')' */ +#line 3839 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_UNION, (yyvsp[-1].u.type))); } -#line 9184 "built/tmp/cppBison.yxx.c" +#line 9003 "built/tmp/cppBison.yxx.c" break; - case 679: -#line 3846 "dtool/src/cppparser/cppBison.yxx" + case 683: /* formal_const_expr: formal_const_operand */ +#line 3853 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9192 "built/tmp/cppBison.yxx.c" +#line 9011 "built/tmp/cppBison.yxx.c" break; - case 680: -#line 3850 "dtool/src/cppparser/cppBison.yxx" + case 684: /* formal_const_expr: '(' full_type ')' const_expr */ +#line 3857 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 9200 "built/tmp/cppBison.yxx.c" +#line 9019 "built/tmp/cppBison.yxx.c" break; - case 681: -#line 3854 "dtool/src/cppparser/cppBison.yxx" + case 685: /* formal_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3861 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast)); } -#line 9208 "built/tmp/cppBison.yxx.c" +#line 9027 "built/tmp/cppBison.yxx.c" break; - case 682: -#line 3858 "dtool/src/cppparser/cppBison.yxx" + case 686: /* formal_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3865 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast)); } -#line 9216 "built/tmp/cppBison.yxx.c" +#line 9035 "built/tmp/cppBison.yxx.c" break; - case 683: -#line 3862 "dtool/src/cppparser/cppBison.yxx" + case 687: /* formal_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3869 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast)); } -#line 9224 "built/tmp/cppBison.yxx.c" +#line 9043 "built/tmp/cppBison.yxx.c" break; - case 684: -#line 3866 "dtool/src/cppparser/cppBison.yxx" + case 688: /* formal_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3873 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast)); } -#line 9232 "built/tmp/cppBison.yxx.c" +#line 9051 "built/tmp/cppBison.yxx.c" break; - case 685: -#line 3870 "dtool/src/cppparser/cppBison.yxx" + case 689: /* formal_const_expr: KW_SIZEOF '(' full_type ')' */ +#line 3877 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 9240 "built/tmp/cppBison.yxx.c" +#line 9059 "built/tmp/cppBison.yxx.c" break; - case 686: -#line 3874 "dtool/src/cppparser/cppBison.yxx" + case 690: /* formal_const_expr: KW_SIZEOF formal_const_expr */ +#line 3881 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 9248 "built/tmp/cppBison.yxx.c" +#line 9067 "built/tmp/cppBison.yxx.c" break; - case 687: -#line 3878 "dtool/src/cppparser/cppBison.yxx" + case 691: /* formal_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 3885 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 9256 "built/tmp/cppBison.yxx.c" +#line 9075 "built/tmp/cppBison.yxx.c" break; - case 688: -#line 3882 "dtool/src/cppparser/cppBison.yxx" + case 692: /* formal_const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 3889 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 9264 "built/tmp/cppBison.yxx.c" +#line 9083 "built/tmp/cppBison.yxx.c" break; - case 689: -#line 3886 "dtool/src/cppparser/cppBison.yxx" + case 693: /* formal_const_expr: KW_NEW predefined_type */ +#line 3893 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type))); } -#line 9272 "built/tmp/cppBison.yxx.c" +#line 9091 "built/tmp/cppBison.yxx.c" break; - case 690: -#line 3890 "dtool/src/cppparser/cppBison.yxx" + case 694: /* formal_const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ +#line 3897 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr))); } -#line 9280 "built/tmp/cppBison.yxx.c" +#line 9099 "built/tmp/cppBison.yxx.c" break; - case 691: -#line 3894 "dtool/src/cppparser/cppBison.yxx" + case 695: /* formal_const_expr: KW_TYPEID '(' full_type ')' */ +#line 3901 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -9291,11 +9110,11 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info)); } -#line 9295 "built/tmp/cppBison.yxx.c" +#line 9114 "built/tmp/cppBison.yxx.c" break; - case 692: -#line 3905 "dtool/src/cppparser/cppBison.yxx" + case 696: /* formal_const_expr: KW_TYPEID '(' const_expr ')' */ +#line 3912 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -9306,409 +9125,409 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info)); } -#line 9310 "built/tmp/cppBison.yxx.c" +#line 9129 "built/tmp/cppBison.yxx.c" break; - case 693: -#line 3916 "dtool/src/cppparser/cppBison.yxx" + case 697: /* formal_const_expr: '!' const_expr */ +#line 3923 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 9318 "built/tmp/cppBison.yxx.c" +#line 9137 "built/tmp/cppBison.yxx.c" break; - case 694: -#line 3920 "dtool/src/cppparser/cppBison.yxx" + case 698: /* formal_const_expr: '~' const_expr */ +#line 3927 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 9326 "built/tmp/cppBison.yxx.c" +#line 9145 "built/tmp/cppBison.yxx.c" break; - case 695: -#line 3924 "dtool/src/cppparser/cppBison.yxx" + case 699: /* formal_const_expr: '-' const_expr */ +#line 3931 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 9334 "built/tmp/cppBison.yxx.c" +#line 9153 "built/tmp/cppBison.yxx.c" break; - case 696: -#line 3928 "dtool/src/cppparser/cppBison.yxx" + case 700: /* formal_const_expr: '+' const_expr */ +#line 3935 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 9342 "built/tmp/cppBison.yxx.c" +#line 9161 "built/tmp/cppBison.yxx.c" break; - case 697: -#line 3932 "dtool/src/cppparser/cppBison.yxx" + case 701: /* formal_const_expr: '&' const_expr */ +#line 3939 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 9350 "built/tmp/cppBison.yxx.c" +#line 9169 "built/tmp/cppBison.yxx.c" break; - case 698: -#line 3936 "dtool/src/cppparser/cppBison.yxx" + case 702: /* formal_const_expr: formal_const_expr '*' const_expr */ +#line 3943 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9358 "built/tmp/cppBison.yxx.c" +#line 9177 "built/tmp/cppBison.yxx.c" break; - case 699: -#line 3940 "dtool/src/cppparser/cppBison.yxx" + case 703: /* formal_const_expr: formal_const_expr '/' const_expr */ +#line 3947 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9366 "built/tmp/cppBison.yxx.c" +#line 9185 "built/tmp/cppBison.yxx.c" break; - case 700: -#line 3944 "dtool/src/cppparser/cppBison.yxx" + case 704: /* formal_const_expr: formal_const_expr '%' const_expr */ +#line 3951 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9374 "built/tmp/cppBison.yxx.c" +#line 9193 "built/tmp/cppBison.yxx.c" break; - case 701: -#line 3948 "dtool/src/cppparser/cppBison.yxx" + case 705: /* formal_const_expr: formal_const_expr '+' const_expr */ +#line 3955 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9382 "built/tmp/cppBison.yxx.c" +#line 9201 "built/tmp/cppBison.yxx.c" break; - case 702: -#line 3952 "dtool/src/cppparser/cppBison.yxx" + case 706: /* formal_const_expr: formal_const_expr '-' const_expr */ +#line 3959 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9390 "built/tmp/cppBison.yxx.c" +#line 9209 "built/tmp/cppBison.yxx.c" break; - case 703: -#line 3956 "dtool/src/cppparser/cppBison.yxx" + case 707: /* formal_const_expr: formal_const_expr '|' const_expr */ +#line 3963 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9398 "built/tmp/cppBison.yxx.c" +#line 9217 "built/tmp/cppBison.yxx.c" break; - case 704: -#line 3960 "dtool/src/cppparser/cppBison.yxx" + case 708: /* formal_const_expr: formal_const_expr '^' const_expr */ +#line 3967 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9406 "built/tmp/cppBison.yxx.c" +#line 9225 "built/tmp/cppBison.yxx.c" break; - case 705: -#line 3964 "dtool/src/cppparser/cppBison.yxx" + case 709: /* formal_const_expr: formal_const_expr '&' const_expr */ +#line 3971 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9414 "built/tmp/cppBison.yxx.c" +#line 9233 "built/tmp/cppBison.yxx.c" break; - case 706: -#line 3968 "dtool/src/cppparser/cppBison.yxx" + case 710: /* formal_const_expr: formal_const_expr OROR const_expr */ +#line 3975 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9422 "built/tmp/cppBison.yxx.c" +#line 9241 "built/tmp/cppBison.yxx.c" break; - case 707: -#line 3972 "dtool/src/cppparser/cppBison.yxx" + case 711: /* formal_const_expr: formal_const_expr ANDAND const_expr */ +#line 3979 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9430 "built/tmp/cppBison.yxx.c" +#line 9249 "built/tmp/cppBison.yxx.c" break; - case 708: -#line 3976 "dtool/src/cppparser/cppBison.yxx" + case 712: /* formal_const_expr: formal_const_expr EQCOMPARE const_expr */ +#line 3983 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9438 "built/tmp/cppBison.yxx.c" +#line 9257 "built/tmp/cppBison.yxx.c" break; - case 709: -#line 3980 "dtool/src/cppparser/cppBison.yxx" + case 713: /* formal_const_expr: formal_const_expr NECOMPARE const_expr */ +#line 3987 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9446 "built/tmp/cppBison.yxx.c" +#line 9265 "built/tmp/cppBison.yxx.c" break; - case 710: -#line 3984 "dtool/src/cppparser/cppBison.yxx" + case 714: /* formal_const_expr: formal_const_expr LECOMPARE const_expr */ +#line 3991 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9454 "built/tmp/cppBison.yxx.c" +#line 9273 "built/tmp/cppBison.yxx.c" break; - case 711: -#line 3988 "dtool/src/cppparser/cppBison.yxx" + case 715: /* formal_const_expr: formal_const_expr GECOMPARE const_expr */ +#line 3995 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9462 "built/tmp/cppBison.yxx.c" +#line 9281 "built/tmp/cppBison.yxx.c" break; - case 712: -#line 3992 "dtool/src/cppparser/cppBison.yxx" + case 716: /* formal_const_expr: formal_const_expr '<' const_expr */ +#line 3999 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9470 "built/tmp/cppBison.yxx.c" +#line 9289 "built/tmp/cppBison.yxx.c" break; - case 713: -#line 3996 "dtool/src/cppparser/cppBison.yxx" + case 717: /* formal_const_expr: formal_const_expr '>' const_expr */ +#line 4003 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9478 "built/tmp/cppBison.yxx.c" +#line 9297 "built/tmp/cppBison.yxx.c" break; - case 714: -#line 4000 "dtool/src/cppparser/cppBison.yxx" + case 718: /* formal_const_expr: formal_const_expr LSHIFT const_expr */ +#line 4007 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9486 "built/tmp/cppBison.yxx.c" +#line 9305 "built/tmp/cppBison.yxx.c" break; - case 715: -#line 4004 "dtool/src/cppparser/cppBison.yxx" + case 719: /* formal_const_expr: formal_const_expr RSHIFT const_expr */ +#line 4011 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9494 "built/tmp/cppBison.yxx.c" +#line 9313 "built/tmp/cppBison.yxx.c" break; - case 716: -#line 4008 "dtool/src/cppparser/cppBison.yxx" + case 720: /* formal_const_expr: formal_const_expr '?' const_expr ':' const_expr */ +#line 4015 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9502 "built/tmp/cppBison.yxx.c" +#line 9321 "built/tmp/cppBison.yxx.c" break; - case 717: -#line 4012 "dtool/src/cppparser/cppBison.yxx" + case 721: /* formal_const_expr: formal_const_expr '[' const_expr ']' */ +#line 4019 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 9510 "built/tmp/cppBison.yxx.c" +#line 9329 "built/tmp/cppBison.yxx.c" break; - case 718: -#line 4016 "dtool/src/cppparser/cppBison.yxx" + case 722: /* formal_const_expr: formal_const_expr '(' const_expr_comma ')' */ +#line 4023 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 9518 "built/tmp/cppBison.yxx.c" +#line 9337 "built/tmp/cppBison.yxx.c" break; - case 719: -#line 4020 "dtool/src/cppparser/cppBison.yxx" + case 723: /* formal_const_expr: formal_const_expr '(' ')' */ +#line 4027 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 9526 "built/tmp/cppBison.yxx.c" +#line 9345 "built/tmp/cppBison.yxx.c" break; - case 720: -#line 4024 "dtool/src/cppparser/cppBison.yxx" + case 724: /* formal_const_expr: formal_const_expr '.' name */ +#line 4031 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer)); } -#line 9534 "built/tmp/cppBison.yxx.c" +#line 9353 "built/tmp/cppBison.yxx.c" break; - case 721: -#line 4028 "dtool/src/cppparser/cppBison.yxx" + case 725: /* formal_const_expr: formal_const_expr POINTSAT const_expr */ +#line 4035 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9542 "built/tmp/cppBison.yxx.c" +#line 9361 "built/tmp/cppBison.yxx.c" break; - case 722: -#line 4032 "dtool/src/cppparser/cppBison.yxx" + case 726: /* formal_const_expr: '(' const_expr_comma ')' */ +#line 4039 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 9550 "built/tmp/cppBison.yxx.c" +#line 9369 "built/tmp/cppBison.yxx.c" break; - case 723: -#line 4039 "dtool/src/cppparser/cppBison.yxx" + case 727: /* formal_const_operand: INTEGER */ +#line 4046 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 9558 "built/tmp/cppBison.yxx.c" +#line 9377 "built/tmp/cppBison.yxx.c" break; - case 724: -#line 4043 "dtool/src/cppparser/cppBison.yxx" + case 728: /* formal_const_operand: KW_TRUE */ +#line 4050 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } -#line 9566 "built/tmp/cppBison.yxx.c" +#line 9385 "built/tmp/cppBison.yxx.c" break; - case 725: -#line 4047 "dtool/src/cppparser/cppBison.yxx" + case 729: /* formal_const_operand: KW_FALSE */ +#line 4054 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } -#line 9574 "built/tmp/cppBison.yxx.c" +#line 9393 "built/tmp/cppBison.yxx.c" break; - case 726: -#line 4051 "dtool/src/cppparser/cppBison.yxx" + case 730: /* formal_const_operand: CHAR_TOK */ +#line 4058 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 9582 "built/tmp/cppBison.yxx.c" +#line 9401 "built/tmp/cppBison.yxx.c" break; - case 727: -#line 4055 "dtool/src/cppparser/cppBison.yxx" + case 731: /* formal_const_operand: REAL */ +#line 4062 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real)); } -#line 9590 "built/tmp/cppBison.yxx.c" +#line 9409 "built/tmp/cppBison.yxx.c" break; - case 728: -#line 4059 "dtool/src/cppparser/cppBison.yxx" + case 732: /* formal_const_operand: string_literal */ +#line 4066 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9598 "built/tmp/cppBison.yxx.c" +#line 9417 "built/tmp/cppBison.yxx.c" break; - case 729: -#line 4063 "dtool/src/cppparser/cppBison.yxx" + case 733: /* formal_const_operand: CUSTOM_LITERAL */ +#line 4070 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9606 "built/tmp/cppBison.yxx.c" +#line 9425 "built/tmp/cppBison.yxx.c" break; - case 730: -#line 4067 "dtool/src/cppparser/cppBison.yxx" + case 734: /* formal_const_operand: IDENTIFIER */ +#line 4074 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer); } -#line 9614 "built/tmp/cppBison.yxx.c" +#line 9433 "built/tmp/cppBison.yxx.c" break; - case 731: -#line 4071 "dtool/src/cppparser/cppBison.yxx" + case 735: /* formal_const_operand: KW_FINAL */ +#line 4078 "dtool/src/cppparser/cppBison.yxx" { // A variable named "final". C++11 explicitly permits this. CPPIdentifier *ident = new CPPIdentifier("final", (yylsp[0])); (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer); } -#line 9624 "built/tmp/cppBison.yxx.c" +#line 9443 "built/tmp/cppBison.yxx.c" break; - case 732: -#line 4077 "dtool/src/cppparser/cppBison.yxx" + case 736: /* formal_const_operand: KW_OVERRIDE */ +#line 4084 "dtool/src/cppparser/cppBison.yxx" { // A variable named "override". C++11 explicitly permits this. CPPIdentifier *ident = new CPPIdentifier("override", (yylsp[0])); (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer); } -#line 9634 "built/tmp/cppBison.yxx.c" +#line 9453 "built/tmp/cppBison.yxx.c" break; - case 733: -#line 4083 "dtool/src/cppparser/cppBison.yxx" + case 737: /* formal_const_operand: KW_NULLPTR */ +#line 4090 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); } -#line 9642 "built/tmp/cppBison.yxx.c" +#line 9461 "built/tmp/cppBison.yxx.c" break; - case 734: -#line 4091 "dtool/src/cppparser/cppBison.yxx" + case 738: /* capture_list: empty */ +#line 4098 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(); } -#line 9650 "built/tmp/cppBison.yxx.c" +#line 9469 "built/tmp/cppBison.yxx.c" break; - case 735: -#line 4095 "dtool/src/cppparser/cppBison.yxx" + case 739: /* capture_list: '=' */ +#line 4102 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(CPPClosureType::CT_by_value); } -#line 9658 "built/tmp/cppBison.yxx.c" +#line 9477 "built/tmp/cppBison.yxx.c" break; - case 736: -#line 4099 "dtool/src/cppparser/cppBison.yxx" + case 740: /* capture_list: '&' */ +#line 4106 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(CPPClosureType::CT_by_reference); } -#line 9666 "built/tmp/cppBison.yxx.c" +#line 9485 "built/tmp/cppBison.yxx.c" break; - case 737: -#line 4103 "dtool/src/cppparser/cppBison.yxx" + case 741: /* capture_list: capture maybe_initialize */ +#line 4110 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(); (yyvsp[-1].u.capture)->_initializer = (yyvsp[0].u.expr); (yyval.u.closure_type)->_captures.push_back(*(yyvsp[-1].u.capture)); delete (yyvsp[-1].u.capture); } -#line 9677 "built/tmp/cppBison.yxx.c" +#line 9496 "built/tmp/cppBison.yxx.c" break; - case 738: -#line 4110 "dtool/src/cppparser/cppBison.yxx" + case 742: /* capture_list: capture_list ',' capture maybe_initialize */ +#line 4117 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = (yyvsp[-3].u.closure_type); (yyvsp[-1].u.capture)->_initializer = (yyvsp[0].u.expr); (yyval.u.closure_type)->_captures.push_back(*(yyvsp[-1].u.capture)); delete (yyvsp[-1].u.capture); } -#line 9688 "built/tmp/cppBison.yxx.c" +#line 9507 "built/tmp/cppBison.yxx.c" break; - case 739: -#line 4120 "dtool/src/cppparser/cppBison.yxx" + case 743: /* capture: '&' name */ +#line 4127 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); (yyval.u.capture)->_type = CPPClosureType::CT_by_reference; } -#line 9698 "built/tmp/cppBison.yxx.c" +#line 9517 "built/tmp/cppBison.yxx.c" break; - case 740: -#line 4126 "dtool/src/cppparser/cppBison.yxx" + case 744: /* capture: '&' name ELLIPSIS */ +#line 4133 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[-1].u.identifier)->get_simple_name(); (yyval.u.capture)->_type = CPPClosureType::CT_by_reference; } -#line 9708 "built/tmp/cppBison.yxx.c" +#line 9527 "built/tmp/cppBison.yxx.c" break; - case 741: -#line 4132 "dtool/src/cppparser/cppBison.yxx" + case 745: /* capture: name */ +#line 4139 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); @@ -9718,11 +9537,11 @@ yyreduce: (yyval.u.capture)->_type = CPPClosureType::CT_by_value; } } -#line 9722 "built/tmp/cppBison.yxx.c" +#line 9541 "built/tmp/cppBison.yxx.c" break; - case 742: -#line 4142 "dtool/src/cppparser/cppBison.yxx" + case 746: /* capture: '*' name */ +#line 4149 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); @@ -9731,11 +9550,11 @@ yyreduce: yywarning("only capture name 'this' may be preceded by an asterisk", (yylsp[0])); } } -#line 9735 "built/tmp/cppBison.yxx.c" +#line 9554 "built/tmp/cppBison.yxx.c" break; - case 743: -#line 4154 "dtool/src/cppparser/cppBison.yxx" + case 747: /* class_derivation_name: name */ +#line 4161 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, true); if (type == nullptr) { @@ -9743,177 +9562,177 @@ yyreduce: } (yyval.u.type) = type; } -#line 9747 "built/tmp/cppBison.yxx.c" +#line 9566 "built/tmp/cppBison.yxx.c" break; - case 744: -#line 4162 "dtool/src/cppparser/cppBison.yxx" + case 748: /* class_derivation_name: KW_TYPENAME name */ +#line 4169 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 9755 "built/tmp/cppBison.yxx.c" +#line 9574 "built/tmp/cppBison.yxx.c" break; - case 745: -#line 4166 "dtool/src/cppparser/cppBison.yxx" + case 749: /* class_derivation_name: name ELLIPSIS */ +#line 4173 "dtool/src/cppparser/cppBison.yxx" { CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter((yyvsp[-1].u.identifier)); ctp->_packed = true; (yyval.u.type) = CPPType::new_type(ctp); } -#line 9765 "built/tmp/cppBison.yxx.c" +#line 9584 "built/tmp/cppBison.yxx.c" break; - case 746: -#line 4196 "dtool/src/cppparser/cppBison.yxx" + case 750: /* name: IDENTIFIER */ +#line 4203 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9773 "built/tmp/cppBison.yxx.c" +#line 9592 "built/tmp/cppBison.yxx.c" break; - case 747: -#line 4200 "dtool/src/cppparser/cppBison.yxx" + case 751: /* name: TYPENAME_IDENTIFIER */ +#line 4207 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9781 "built/tmp/cppBison.yxx.c" +#line 9600 "built/tmp/cppBison.yxx.c" break; - case 748: -#line 4204 "dtool/src/cppparser/cppBison.yxx" + case 752: /* name: TYPEPACK_IDENTIFIER */ +#line 4211 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9789 "built/tmp/cppBison.yxx.c" +#line 9608 "built/tmp/cppBison.yxx.c" break; - case 749: -#line 4208 "dtool/src/cppparser/cppBison.yxx" + case 753: /* name: KW_FINAL */ +#line 4215 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("final", (yylsp[0])); } -#line 9797 "built/tmp/cppBison.yxx.c" +#line 9616 "built/tmp/cppBison.yxx.c" break; - case 750: -#line 4212 "dtool/src/cppparser/cppBison.yxx" + case 754: /* name: KW_OVERRIDE */ +#line 4219 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0])); } -#line 9805 "built/tmp/cppBison.yxx.c" +#line 9624 "built/tmp/cppBison.yxx.c" break; - case 751: -#line 4216 "dtool/src/cppparser/cppBison.yxx" + case 755: /* name: KW_SIGNED */ +#line 4223 "dtool/src/cppparser/cppBison.yxx" { // This is not a keyword in Python, so it is useful to be able to use this // in MAKE_PROPERTY definitions, etc. (yyval.u.identifier) = new CPPIdentifier("signed", (yylsp[0])); } -#line 9815 "built/tmp/cppBison.yxx.c" +#line 9634 "built/tmp/cppBison.yxx.c" break; - case 752: -#line 4222 "dtool/src/cppparser/cppBison.yxx" + case 756: /* name: KW_FLOAT */ +#line 4229 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("float", (yylsp[0])); } -#line 9823 "built/tmp/cppBison.yxx.c" +#line 9642 "built/tmp/cppBison.yxx.c" break; - case 753: -#line 4226 "dtool/src/cppparser/cppBison.yxx" + case 757: /* name: KW_PUBLIC */ +#line 4233 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("public", (yylsp[0])); } -#line 9831 "built/tmp/cppBison.yxx.c" +#line 9650 "built/tmp/cppBison.yxx.c" break; - case 754: -#line 4230 "dtool/src/cppparser/cppBison.yxx" + case 758: /* name: KW_PRIVATE */ +#line 4237 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("private", (yylsp[0])); } -#line 9839 "built/tmp/cppBison.yxx.c" +#line 9658 "built/tmp/cppBison.yxx.c" break; - case 755: -#line 4234 "dtool/src/cppparser/cppBison.yxx" + case 759: /* name: KW_STATIC */ +#line 4241 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("static", (yylsp[0])); } -#line 9847 "built/tmp/cppBison.yxx.c" +#line 9666 "built/tmp/cppBison.yxx.c" break; - case 756: -#line 4238 "dtool/src/cppparser/cppBison.yxx" + case 760: /* name: KW_DEFAULT */ +#line 4245 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("default", (yylsp[0])); } -#line 9855 "built/tmp/cppBison.yxx.c" +#line 9674 "built/tmp/cppBison.yxx.c" break; - case 757: -#line 4249 "dtool/src/cppparser/cppBison.yxx" + case 761: /* name_no_final: IDENTIFIER */ +#line 4256 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9863 "built/tmp/cppBison.yxx.c" +#line 9682 "built/tmp/cppBison.yxx.c" break; - case 758: -#line 4253 "dtool/src/cppparser/cppBison.yxx" + case 762: /* name_no_final: TYPENAME_IDENTIFIER */ +#line 4260 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9871 "built/tmp/cppBison.yxx.c" +#line 9690 "built/tmp/cppBison.yxx.c" break; - case 759: -#line 4257 "dtool/src/cppparser/cppBison.yxx" + case 763: /* name_no_final: TYPEPACK_IDENTIFIER */ +#line 4264 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9879 "built/tmp/cppBison.yxx.c" +#line 9698 "built/tmp/cppBison.yxx.c" break; - case 760: -#line 4261 "dtool/src/cppparser/cppBison.yxx" + case 764: /* name_no_final: KW_OVERRIDE */ +#line 4268 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0])); } -#line 9887 "built/tmp/cppBison.yxx.c" +#line 9706 "built/tmp/cppBison.yxx.c" break; - case 761: -#line 4269 "dtool/src/cppparser/cppBison.yxx" + case 765: /* string_literal: SIMPLE_STRING */ +#line 4276 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].str)); } -#line 9895 "built/tmp/cppBison.yxx.c" +#line 9714 "built/tmp/cppBison.yxx.c" break; - case 762: -#line 4273 "dtool/src/cppparser/cppBison.yxx" + case 766: /* string_literal: STRING_LITERAL */ +#line 4280 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9903 "built/tmp/cppBison.yxx.c" +#line 9722 "built/tmp/cppBison.yxx.c" break; - case 763: -#line 4277 "dtool/src/cppparser/cppBison.yxx" + case 767: /* string_literal: string_literal SIMPLE_STRING */ +#line 4284 "dtool/src/cppparser/cppBison.yxx" { // The right string takes on the literal type of the left. (yyval.u.expr) = (yyvsp[-1].u.expr); (yyval.u.expr)->_str += (yyvsp[0].str); } -#line 9913 "built/tmp/cppBison.yxx.c" +#line 9732 "built/tmp/cppBison.yxx.c" break; - case 764: -#line 4283 "dtool/src/cppparser/cppBison.yxx" + case 768: /* string_literal: string_literal STRING_LITERAL */ +#line 4290 "dtool/src/cppparser/cppBison.yxx" { // We have to check that the two literal types match up. (yyval.u.expr) = (yyvsp[-1].u.expr); @@ -9922,11 +9741,11 @@ yyreduce: } (yyval.u.expr)->_str += (yyvsp[0].u.expr)->_str; } -#line 9926 "built/tmp/cppBison.yxx.c" +#line 9745 "built/tmp/cppBison.yxx.c" break; -#line 9930 "built/tmp/cppBison.yxx.c" +#line 9749 "built/tmp/cppBison.yxx.c" default: break; } @@ -9941,11 +9760,10 @@ yyreduce: case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); + YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; - YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; *++yylsp = yyloc; @@ -9970,50 +9788,15 @@ yyreduce: yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ - yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); - + yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; -#if ! YYERROR_VERBOSE yyerror (&yylloc, YY_("syntax error")); -#else -# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ - yyssp, yytoken) - { - char const *yymsgp = YY_("syntax error"); - int yysyntax_error_status; - yysyntax_error_status = YYSYNTAX_ERROR; - if (yysyntax_error_status == 0) - yymsgp = yymsg; - else if (yysyntax_error_status == 1) - { - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = YY_CAST (char *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc))); - if (!yymsg) - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - yysyntax_error_status = 2; - } - else - { - yysyntax_error_status = YYSYNTAX_ERROR; - yymsgp = yymsg; - } - } - yyerror (&yylloc, yymsgp); - if (yysyntax_error_status == 2) - goto yyexhaustedlab; - } -# undef YYSYNTAX_ERROR -#endif } yyerror_range[1] = yylloc; - if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an @@ -10046,6 +9829,7 @@ yyerrorlab: label yyerrorlab therefore never appears in user code. */ if (0) YYERROR; + ++yynerrs; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ @@ -10062,13 +9846,14 @@ yyerrorlab: yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ + /* Pop stack until we find a state that shifts the error token. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + yyn += YYSYMBOL_YYerror; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) { yyn = yytable[yyn]; if (0 < yyn) @@ -10082,7 +9867,7 @@ yyerrlab1: yyerror_range[1] = *yylsp; yydestruct ("Error: popping", - yystos[yystate], yyvsp, yylsp); + YY_ACCESSING_SYMBOL (yystate), yyvsp, yylsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); @@ -10093,13 +9878,11 @@ yyerrlab1: YY_IGNORE_MAYBE_UNINITIALIZED_END yyerror_range[2] = yylloc; - /* Using YYLLOC is tempting, but would change the location of - the lookahead. YYLOC is available though. */ - YYLLOC_DEFAULT (yyloc, yyerror_range, 2); - *++yylsp = yyloc; + ++yylsp; + YYLLOC_DEFAULT (*yylsp, yyerror_range, 2); /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); + YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); yystate = yyn; goto yynewstate; @@ -10110,7 +9893,7 @@ yyerrlab1: `-------------------------------------*/ yyacceptlab: yyresult = 0; - goto yyreturn; + goto yyreturnlab; /*-----------------------------------. @@ -10118,24 +9901,22 @@ yyacceptlab: `-----------------------------------*/ yyabortlab: yyresult = 1; - goto yyreturn; + goto yyreturnlab; -#if !defined yyoverflow || YYERROR_VERBOSE -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ +/*-----------------------------------------------------------. +| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. | +`-----------------------------------------------------------*/ yyexhaustedlab: yyerror (&yylloc, YY_("memory exhausted")); yyresult = 2; - /* Fall through. */ -#endif + goto yyreturnlab; -/*-----------------------------------------------------. -| yyreturn -- parsing is finished, return the result. | -`-----------------------------------------------------*/ -yyreturn: +/*----------------------------------------------------------. +| yyreturnlab -- parsing is finished, clean up and return. | +`----------------------------------------------------------*/ +yyreturnlab: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at @@ -10151,16 +9932,14 @@ yyreturn: while (yyssp != yyss) { yydestruct ("Cleanup: popping", - yystos[+*yyssp], yyvsp, yylsp); + YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yylsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif -#if YYERROR_VERBOSE - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); -#endif + return yyresult; } + diff --git a/dtool/src/cppparser/cppBison.h.prebuilt b/dtool/src/cppparser/cppBison.h.prebuilt index aa0980c959..e67f91fd45 100644 --- a/dtool/src/cppparser/cppBison.h.prebuilt +++ b/dtool/src/cppparser/cppBison.h.prebuilt @@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 3.5.3. */ +/* A Bison parser, made by GNU Bison 3.8.2. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation, + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -16,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -31,8 +31,9 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ -/* Undocumented macros, especially those whose name start with YY_, - are private implementation details. Do not rely on them. */ +/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, + especially those whose name start with YY_ or yy_. They are + private implementation details that can be changed or removed. */ #ifndef YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED # define YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED @@ -44,158 +45,167 @@ extern int cppyydebug; #endif -/* Token type. */ +/* Token kinds. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { - REAL = 258, - INTEGER = 259, - CHAR_TOK = 260, - SIMPLE_STRING = 261, - SIMPLE_IDENTIFIER = 262, - STRING_LITERAL = 263, - CUSTOM_LITERAL = 264, - IDENTIFIER = 265, - TYPENAME_IDENTIFIER = 266, - TYPEPACK_IDENTIFIER = 267, - SCOPING = 268, - TYPEDEFNAME = 269, - ELLIPSIS = 270, - OROR = 271, - ANDAND = 272, - EQCOMPARE = 273, - NECOMPARE = 274, - LECOMPARE = 275, - GECOMPARE = 276, - LSHIFT = 277, - RSHIFT = 278, - POINTSAT_STAR = 279, - DOT_STAR = 280, - UNARY = 281, - UNARY_NOT = 282, - UNARY_NEGATE = 283, - UNARY_MINUS = 284, - UNARY_PLUS = 285, - UNARY_STAR = 286, - UNARY_REF = 287, - POINTSAT = 288, - SCOPE = 289, - PLUSPLUS = 290, - MINUSMINUS = 291, - TIMESEQUAL = 292, - DIVIDEEQUAL = 293, - MODEQUAL = 294, - PLUSEQUAL = 295, - MINUSEQUAL = 296, - OREQUAL = 297, - ANDEQUAL = 298, - XOREQUAL = 299, - LSHIFTEQUAL = 300, - RSHIFTEQUAL = 301, - ATTR_LEFT = 302, - ATTR_RIGHT = 303, - KW_ALIGNAS = 304, - KW_ALIGNOF = 305, - KW_AUTO = 306, - KW_BEGIN_PUBLISH = 307, - KW_BLOCKING = 308, - KW_BOOL = 309, - KW_CATCH = 310, - KW_CHAR = 311, - KW_CHAR16_T = 312, - KW_CHAR32_T = 313, - KW_CLASS = 314, - KW_CONST = 315, - KW_CONSTEXPR = 316, - KW_CONST_CAST = 317, - KW_DECLTYPE = 318, - KW_DEFAULT = 319, - KW_DELETE = 320, - KW_DOUBLE = 321, - KW_DYNAMIC_CAST = 322, - KW_ELSE = 323, - KW_END_PUBLISH = 324, - KW_ENUM = 325, - KW_EXTENSION = 326, - KW_EXTERN = 327, - KW_EXPLICIT = 328, - KW_PUBLISHED = 329, - KW_FALSE = 330, - KW_FINAL = 331, - KW_FLOAT = 332, - KW_FRIEND = 333, - KW_FOR = 334, - KW_GOTO = 335, - KW_HAS_VIRTUAL_DESTRUCTOR = 336, - KW_IF = 337, - KW_INLINE = 338, - KW_INT = 339, - KW_IS_ABSTRACT = 340, - KW_IS_BASE_OF = 341, - KW_IS_CLASS = 342, - KW_IS_CONSTRUCTIBLE = 343, - KW_IS_CONVERTIBLE_TO = 344, - KW_IS_DESTRUCTIBLE = 345, - KW_IS_EMPTY = 346, - KW_IS_ENUM = 347, - KW_IS_FINAL = 348, - KW_IS_FUNDAMENTAL = 349, - KW_IS_POD = 350, - KW_IS_POLYMORPHIC = 351, - KW_IS_STANDARD_LAYOUT = 352, - KW_IS_TRIVIAL = 353, - KW_IS_UNION = 354, - KW_LONG = 355, - KW_MAKE_MAP_KEYS_SEQ = 356, - KW_MAKE_MAP_PROPERTY = 357, - KW_MAKE_PROPERTY = 358, - KW_MAKE_PROPERTY2 = 359, - KW_MAKE_SEQ = 360, - KW_MAKE_SEQ_PROPERTY = 361, - KW_MUTABLE = 362, - KW_NAMESPACE = 363, - KW_NEW = 364, - KW_NOEXCEPT = 365, - KW_NULLPTR = 366, - KW_OPERATOR = 367, - KW_OVERRIDE = 368, - KW_PRIVATE = 369, - KW_PROTECTED = 370, - KW_PUBLIC = 371, - KW_REGISTER = 372, - KW_REINTERPRET_CAST = 373, - KW_RETURN = 374, - KW_SHORT = 375, - KW_SIGNED = 376, - KW_SIZEOF = 377, - KW_STATIC = 378, - KW_STATIC_ASSERT = 379, - KW_STATIC_CAST = 380, - KW_STRUCT = 381, - KW_TEMPLATE = 382, - KW_THREAD_LOCAL = 383, - KW_THROW = 384, - KW_TRUE = 385, - KW_TRY = 386, - KW_TYPEDEF = 387, - KW_TYPEID = 388, - KW_TYPENAME = 389, - KW_UNDERLYING_TYPE = 390, - KW_UNION = 391, - KW_UNSIGNED = 392, - KW_USING = 393, - KW_VIRTUAL = 394, - KW_VOID = 395, - KW_VOLATILE = 396, - KW_WCHAR_T = 397, - KW_WHILE = 398, - START_CPP = 399, - START_CONST_EXPR = 400, - START_TYPE = 401 + YYEMPTY = -2, + YYEOF = 0, /* "end of file" */ + YYerror = 256, /* error */ + YYUNDEF = 257, /* "invalid token" */ + REAL = 258, /* REAL */ + INTEGER = 259, /* INTEGER */ + CHAR_TOK = 260, /* CHAR_TOK */ + SIMPLE_STRING = 261, /* SIMPLE_STRING */ + SIMPLE_IDENTIFIER = 262, /* SIMPLE_IDENTIFIER */ + STRING_LITERAL = 263, /* STRING_LITERAL */ + CUSTOM_LITERAL = 264, /* CUSTOM_LITERAL */ + IDENTIFIER = 265, /* IDENTIFIER */ + TYPENAME_IDENTIFIER = 266, /* TYPENAME_IDENTIFIER */ + TYPEPACK_IDENTIFIER = 267, /* TYPEPACK_IDENTIFIER */ + SCOPING = 268, /* SCOPING */ + TYPEDEFNAME = 269, /* TYPEDEFNAME */ + ELLIPSIS = 270, /* ELLIPSIS */ + OROR = 271, /* OROR */ + ANDAND = 272, /* ANDAND */ + EQCOMPARE = 273, /* EQCOMPARE */ + NECOMPARE = 274, /* NECOMPARE */ + LECOMPARE = 275, /* LECOMPARE */ + GECOMPARE = 276, /* GECOMPARE */ + LSHIFT = 277, /* LSHIFT */ + RSHIFT = 278, /* RSHIFT */ + POINTSAT_STAR = 279, /* POINTSAT_STAR */ + DOT_STAR = 280, /* DOT_STAR */ + UNARY = 281, /* UNARY */ + UNARY_NOT = 282, /* UNARY_NOT */ + UNARY_NEGATE = 283, /* UNARY_NEGATE */ + UNARY_MINUS = 284, /* UNARY_MINUS */ + UNARY_PLUS = 285, /* UNARY_PLUS */ + UNARY_STAR = 286, /* UNARY_STAR */ + UNARY_REF = 287, /* UNARY_REF */ + POINTSAT = 288, /* POINTSAT */ + SCOPE = 289, /* SCOPE */ + PLUSPLUS = 290, /* PLUSPLUS */ + MINUSMINUS = 291, /* MINUSMINUS */ + TIMESEQUAL = 292, /* TIMESEQUAL */ + DIVIDEEQUAL = 293, /* DIVIDEEQUAL */ + MODEQUAL = 294, /* MODEQUAL */ + PLUSEQUAL = 295, /* PLUSEQUAL */ + MINUSEQUAL = 296, /* MINUSEQUAL */ + OREQUAL = 297, /* OREQUAL */ + ANDEQUAL = 298, /* ANDEQUAL */ + XOREQUAL = 299, /* XOREQUAL */ + LSHIFTEQUAL = 300, /* LSHIFTEQUAL */ + RSHIFTEQUAL = 301, /* RSHIFTEQUAL */ + ATTR_LEFT = 302, /* ATTR_LEFT */ + ATTR_RIGHT = 303, /* ATTR_RIGHT */ + KW_ALIGNAS = 304, /* KW_ALIGNAS */ + KW_ALIGNOF = 305, /* KW_ALIGNOF */ + KW_AUTO = 306, /* KW_AUTO */ + KW_BEGIN_PUBLISH = 307, /* KW_BEGIN_PUBLISH */ + KW_BLOCKING = 308, /* KW_BLOCKING */ + KW_BOOL = 309, /* KW_BOOL */ + KW_CATCH = 310, /* KW_CATCH */ + KW_CHAR = 311, /* KW_CHAR */ + KW_CHAR16_T = 312, /* KW_CHAR16_T */ + KW_CHAR32_T = 313, /* KW_CHAR32_T */ + KW_CLASS = 314, /* KW_CLASS */ + KW_CONST = 315, /* KW_CONST */ + KW_CONSTEXPR = 316, /* KW_CONSTEXPR */ + KW_CONST_CAST = 317, /* KW_CONST_CAST */ + KW_DECLTYPE = 318, /* KW_DECLTYPE */ + KW_DEFAULT = 319, /* KW_DEFAULT */ + KW_DELETE = 320, /* KW_DELETE */ + KW_DOUBLE = 321, /* KW_DOUBLE */ + KW_DYNAMIC_CAST = 322, /* KW_DYNAMIC_CAST */ + KW_ELSE = 323, /* KW_ELSE */ + KW_END_PUBLISH = 324, /* KW_END_PUBLISH */ + KW_ENUM = 325, /* KW_ENUM */ + KW_EXTENSION = 326, /* KW_EXTENSION */ + KW_EXTERN = 327, /* KW_EXTERN */ + KW_EXPLICIT = 328, /* KW_EXPLICIT */ + KW_PUBLISHED = 329, /* KW_PUBLISHED */ + KW_FALSE = 330, /* KW_FALSE */ + KW_FINAL = 331, /* KW_FINAL */ + KW_FLOAT = 332, /* KW_FLOAT */ + KW_FRIEND = 333, /* KW_FRIEND */ + KW_FOR = 334, /* KW_FOR */ + KW_GOTO = 335, /* KW_GOTO */ + KW_HAS_VIRTUAL_DESTRUCTOR = 336, /* KW_HAS_VIRTUAL_DESTRUCTOR */ + KW_IF = 337, /* KW_IF */ + KW_INLINE = 338, /* KW_INLINE */ + KW_INT = 339, /* KW_INT */ + KW_IS_ABSTRACT = 340, /* KW_IS_ABSTRACT */ + KW_IS_BASE_OF = 341, /* KW_IS_BASE_OF */ + KW_IS_CLASS = 342, /* KW_IS_CLASS */ + KW_IS_CONSTRUCTIBLE = 343, /* KW_IS_CONSTRUCTIBLE */ + KW_IS_CONVERTIBLE_TO = 344, /* KW_IS_CONVERTIBLE_TO */ + KW_IS_DESTRUCTIBLE = 345, /* KW_IS_DESTRUCTIBLE */ + KW_IS_EMPTY = 346, /* KW_IS_EMPTY */ + KW_IS_ENUM = 347, /* KW_IS_ENUM */ + KW_IS_FINAL = 348, /* KW_IS_FINAL */ + KW_IS_FUNDAMENTAL = 349, /* KW_IS_FUNDAMENTAL */ + KW_IS_POD = 350, /* KW_IS_POD */ + KW_IS_POLYMORPHIC = 351, /* KW_IS_POLYMORPHIC */ + KW_IS_STANDARD_LAYOUT = 352, /* KW_IS_STANDARD_LAYOUT */ + KW_IS_TRIVIAL = 353, /* KW_IS_TRIVIAL */ + KW_IS_UNION = 354, /* KW_IS_UNION */ + KW_LONG = 355, /* KW_LONG */ + KW_MAKE_MAP_KEYS_SEQ = 356, /* KW_MAKE_MAP_KEYS_SEQ */ + KW_MAKE_MAP_PROPERTY = 357, /* KW_MAKE_MAP_PROPERTY */ + KW_MAKE_PROPERTY = 358, /* KW_MAKE_PROPERTY */ + KW_MAKE_PROPERTY2 = 359, /* KW_MAKE_PROPERTY2 */ + KW_MAKE_SEQ = 360, /* KW_MAKE_SEQ */ + KW_MAKE_SEQ_PROPERTY = 361, /* KW_MAKE_SEQ_PROPERTY */ + KW_MUTABLE = 362, /* KW_MUTABLE */ + KW_NAMESPACE = 363, /* KW_NAMESPACE */ + KW_NEW = 364, /* KW_NEW */ + KW_NOEXCEPT = 365, /* KW_NOEXCEPT */ + KW_NULLPTR = 366, /* KW_NULLPTR */ + KW_OPERATOR = 367, /* KW_OPERATOR */ + KW_OVERRIDE = 368, /* KW_OVERRIDE */ + KW_PRIVATE = 369, /* KW_PRIVATE */ + KW_PROTECTED = 370, /* KW_PROTECTED */ + KW_PUBLIC = 371, /* KW_PUBLIC */ + KW_REGISTER = 372, /* KW_REGISTER */ + KW_REINTERPRET_CAST = 373, /* KW_REINTERPRET_CAST */ + KW_RETURN = 374, /* KW_RETURN */ + KW_SHORT = 375, /* KW_SHORT */ + KW_SIGNED = 376, /* KW_SIGNED */ + KW_SIZEOF = 377, /* KW_SIZEOF */ + KW_STATIC = 378, /* KW_STATIC */ + KW_STATIC_ASSERT = 379, /* KW_STATIC_ASSERT */ + KW_STATIC_CAST = 380, /* KW_STATIC_CAST */ + KW_STRUCT = 381, /* KW_STRUCT */ + KW_TEMPLATE = 382, /* KW_TEMPLATE */ + KW_THREAD_LOCAL = 383, /* KW_THREAD_LOCAL */ + KW_THROW = 384, /* KW_THROW */ + KW_TRUE = 385, /* KW_TRUE */ + KW_TRY = 386, /* KW_TRY */ + KW_TYPEDEF = 387, /* KW_TYPEDEF */ + KW_TYPEID = 388, /* KW_TYPEID */ + KW_TYPENAME = 389, /* KW_TYPENAME */ + KW_UNDERLYING_TYPE = 390, /* KW_UNDERLYING_TYPE */ + KW_UNION = 391, /* KW_UNION */ + KW_UNSIGNED = 392, /* KW_UNSIGNED */ + KW_USING = 393, /* KW_USING */ + KW_VIRTUAL = 394, /* KW_VIRTUAL */ + KW_VOID = 395, /* KW_VOID */ + KW_VOLATILE = 396, /* KW_VOLATILE */ + KW_WCHAR_T = 397, /* KW_WCHAR_T */ + KW_WHILE = 398, /* KW_WHILE */ + START_CPP = 399, /* START_CPP */ + START_CONST_EXPR = 400, /* START_CONST_EXPR */ + START_TYPE = 401 /* START_TYPE */ }; + typedef enum yytokentype yytoken_kind_t; #endif -/* Tokens. */ +/* Token kinds. */ +#define YYEMPTY -2 +#define YYEOF 0 +#define YYerror 256 +#define YYUNDEF 257 #define REAL 258 #define INTEGER 259 #define CHAR_TOK 260 @@ -359,6 +369,8 @@ struct YYLTYPE + int cppyyparse (void); + #endif /* !YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED */ diff --git a/dtool/src/cppparser/cppBison.yxx b/dtool/src/cppparser/cppBison.yxx index f9a2c2ab9b..72f90f055f 100644 --- a/dtool/src/cppparser/cppBison.yxx +++ b/dtool/src/cppparser/cppBison.yxx @@ -1034,6 +1034,13 @@ storage_class: } ; +optional_attributes: + empty + | ATTR_LEFT attribute_specifiers ATTR_RIGHT optional_attributes + | KW_ALIGNAS '(' const_expr ')' optional_attributes + | KW_ALIGNAS '(' type_decl ')' optional_attributes + ; + attribute_specifiers: attribute_specifier | attribute_specifier ',' attribute_specifiers @@ -1777,11 +1784,11 @@ template_formal_parameter_type: instance_identifier: - name_no_final + name_no_final optional_attributes { $$ = new CPPInstanceIdentifier($1); } - | KW_OPERATOR function_operator + | KW_OPERATOR function_operator optional_attributes { // For an operator function. We implement this simply by building a // ficticious name for the function; in other respects it's just @@ -1795,7 +1802,7 @@ instance_identifier: $$ = new CPPInstanceIdentifier(ident); } - | KW_OPERATOR SIMPLE_STRING IDENTIFIER + | KW_OPERATOR SIMPLE_STRING IDENTIFIER optional_attributes { // A C++11 literal operator. if (!$2.empty()) { @@ -1820,27 +1827,27 @@ instance_identifier: $$ = $2; $$->add_modifier(IIT_volatile); } - | '*' instance_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_pointer); -} - | '&' instance_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_reference); -} - | ANDAND instance_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_rvalue_reference); -} - | SCOPING '*' instance_identifier %prec UNARY + | '*' optional_attributes instance_identifier %prec UNARY { $$ = $3; + $$->add_modifier(IIT_pointer); +} + | '&' optional_attributes instance_identifier %prec UNARY +{ + $$ = $3; + $$->add_modifier(IIT_reference); +} + | ANDAND optional_attributes instance_identifier %prec UNARY +{ + $$ = $3; + $$->add_modifier(IIT_rvalue_reference); +} + | SCOPING '*' optional_attributes instance_identifier %prec UNARY +{ + $$ = $4; $$->add_scoped_pointer_modifier($1); } - | instance_identifier '[' optional_const_expr ']' + | instance_identifier '[' optional_const_expr ']' optional_attributes { $$ = $1; $$->add_array_modifier($3); @@ -2162,7 +2169,7 @@ not_paren_formal_parameter_identifier: { $$ = new CPPInstanceIdentifier(nullptr); } - | name_no_final + | name_no_final optional_attributes { $$ = new CPPInstanceIdentifier($1); } @@ -2176,27 +2183,27 @@ not_paren_formal_parameter_identifier: $$ = $2; $$->add_modifier(IIT_volatile); } - | '*' not_paren_formal_parameter_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_pointer); -} - | '&' not_paren_formal_parameter_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_reference); -} - | ANDAND not_paren_formal_parameter_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_rvalue_reference); -} - | SCOPING '*' not_paren_formal_parameter_identifier %prec UNARY + | '*' optional_attributes not_paren_formal_parameter_identifier %prec UNARY { $$ = $3; + $$->add_modifier(IIT_pointer); +} + | '&' optional_attributes not_paren_formal_parameter_identifier %prec UNARY +{ + $$ = $3; + $$->add_modifier(IIT_reference); +} + | ANDAND optional_attributes not_paren_formal_parameter_identifier %prec UNARY +{ + $$ = $3; + $$->add_modifier(IIT_rvalue_reference); +} + | SCOPING '*' optional_attributes not_paren_formal_parameter_identifier %prec UNARY +{ + $$ = $4; $$->add_scoped_pointer_modifier($1); } - | not_paren_formal_parameter_identifier '[' optional_const_expr ']' + | not_paren_formal_parameter_identifier '[' optional_const_expr ']' optional_attributes { $$ = $1; $$->add_array_modifier($3); @@ -2208,7 +2215,7 @@ formal_parameter_identifier: { $$ = new CPPInstanceIdentifier(nullptr); } - | name_no_final + | name_no_final optional_attributes { $$ = new CPPInstanceIdentifier($1); } @@ -2222,27 +2229,27 @@ formal_parameter_identifier: $$ = $2; $$->add_modifier(IIT_volatile); } - | '*' formal_parameter_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_pointer); -} - | '&' formal_parameter_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_reference); -} - | ANDAND formal_parameter_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_rvalue_reference); -} - | SCOPING '*' formal_parameter_identifier %prec UNARY + | '*' optional_attributes formal_parameter_identifier %prec UNARY { $$ = $3; + $$->add_modifier(IIT_pointer); +} + | '&' optional_attributes formal_parameter_identifier %prec UNARY +{ + $$ = $3; + $$->add_modifier(IIT_reference); +} + | ANDAND optional_attributes formal_parameter_identifier %prec UNARY +{ + $$ = $3; + $$->add_modifier(IIT_rvalue_reference); +} + | SCOPING '*' optional_attributes formal_parameter_identifier %prec UNARY +{ + $$ = $4; $$->add_scoped_pointer_modifier($1); } - | formal_parameter_identifier '[' optional_const_expr ']' + | formal_parameter_identifier '[' optional_const_expr ']' optional_attributes { $$ = $1; $$->add_array_modifier($3); @@ -2266,7 +2273,7 @@ parameter_pack_identifier: $$ = new CPPInstanceIdentifier(nullptr); $$->_packed = true; } - | ELLIPSIS name + | ELLIPSIS name optional_attributes { $$ = new CPPInstanceIdentifier($2); $$->_packed = true; @@ -2281,27 +2288,27 @@ parameter_pack_identifier: $$ = $2; $$->add_modifier(IIT_volatile); } - | '*' parameter_pack_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_pointer); -} - | '&' parameter_pack_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_reference); -} - | ANDAND parameter_pack_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_rvalue_reference); -} - | SCOPING '*' parameter_pack_identifier %prec UNARY + | '*' optional_attributes parameter_pack_identifier %prec UNARY { $$ = $3; + $$->add_modifier(IIT_pointer); +} + | '&' optional_attributes parameter_pack_identifier %prec UNARY +{ + $$ = $3; + $$->add_modifier(IIT_reference); +} + | ANDAND optional_attributes parameter_pack_identifier %prec UNARY +{ + $$ = $3; + $$->add_modifier(IIT_rvalue_reference); +} + | SCOPING '*' optional_attributes parameter_pack_identifier %prec UNARY +{ + $$ = $4; $$->add_scoped_pointer_modifier($1); } - | parameter_pack_identifier '[' optional_const_expr ']' + | parameter_pack_identifier '[' optional_const_expr ']' optional_attributes { $$ = $1; $$->add_array_modifier($3); @@ -2329,7 +2336,7 @@ not_paren_empty_instance_identifier: $$ = new CPPInstanceIdentifier(nullptr); $$->_packed = true; } - | ELLIPSIS name + | ELLIPSIS name optional_attributes { $$ = new CPPInstanceIdentifier($2); $$->_packed = true; @@ -2344,27 +2351,27 @@ not_paren_empty_instance_identifier: $$ = $2; $$->add_modifier(IIT_volatile); } - | '*' not_paren_empty_instance_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_pointer); -} - | '&' not_paren_empty_instance_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_reference); -} - | ANDAND not_paren_empty_instance_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_rvalue_reference); -} - | SCOPING '*' not_paren_empty_instance_identifier %prec UNARY + | '*' optional_attributes not_paren_empty_instance_identifier %prec UNARY { $$ = $3; + $$->add_modifier(IIT_pointer); +} + | '&' optional_attributes not_paren_empty_instance_identifier %prec UNARY +{ + $$ = $3; + $$->add_modifier(IIT_reference); +} + | ANDAND optional_attributes not_paren_empty_instance_identifier %prec UNARY +{ + $$ = $3; + $$->add_modifier(IIT_rvalue_reference); +} + | SCOPING '*' optional_attributes not_paren_empty_instance_identifier %prec UNARY +{ + $$ = $4; $$->add_scoped_pointer_modifier($1); } - | not_paren_empty_instance_identifier '[' optional_const_expr ']' + | not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes { $$ = $1; $$->add_array_modifier($3); @@ -2381,7 +2388,7 @@ empty_instance_identifier: $$ = new CPPInstanceIdentifier(nullptr); $$->_packed = true; } - | ELLIPSIS name + | ELLIPSIS name optional_attributes { $$ = new CPPInstanceIdentifier($2); $$->_packed = true; @@ -2396,27 +2403,27 @@ empty_instance_identifier: $$ = $2; $$->add_modifier(IIT_volatile); } - | '*' not_paren_empty_instance_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_pointer); -} - | '&' not_paren_empty_instance_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_reference); -} - | ANDAND not_paren_empty_instance_identifier %prec UNARY -{ - $$ = $2; - $$->add_modifier(IIT_rvalue_reference); -} - | SCOPING '*' not_paren_empty_instance_identifier %prec UNARY + | '*' optional_attributes not_paren_empty_instance_identifier %prec UNARY { $$ = $3; + $$->add_modifier(IIT_pointer); +} + | '&' optional_attributes not_paren_empty_instance_identifier %prec UNARY +{ + $$ = $3; + $$->add_modifier(IIT_reference); +} + | ANDAND optional_attributes not_paren_empty_instance_identifier %prec UNARY +{ + $$ = $3; + $$->add_modifier(IIT_rvalue_reference); +} + | SCOPING '*' optional_attributes not_paren_empty_instance_identifier %prec UNARY +{ + $$ = $4; $$->add_scoped_pointer_modifier($1); } - | not_paren_empty_instance_identifier '[' optional_const_expr ']' + | not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes { $$ = $1; $$->add_array_modifier($3); @@ -2427,26 +2434,26 @@ empty_instance_identifier: $$->add_modifier(IIT_paren); $$->add_func_modifier($2, $4, $5); } - | '(' '*' not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post maybe_trailing_return_type + | '(' '*' optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post maybe_trailing_return_type { - $$ = $3; + $$ = $4; $$->add_modifier(IIT_pointer); $$->add_modifier(IIT_paren); - $$->add_func_modifier($6, $8, $9); + $$->add_func_modifier($7, $9, $10); } - | '(' '&' not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post maybe_trailing_return_type + | '(' '&' optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post maybe_trailing_return_type { - $$ = $3; + $$ = $4; $$->add_modifier(IIT_reference); $$->add_modifier(IIT_paren); - $$->add_func_modifier($6, $8, $9); + $$->add_func_modifier($7, $9, $10); } - | '(' ANDAND not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post maybe_trailing_return_type + | '(' ANDAND optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post maybe_trailing_return_type { - $$ = $3; + $$ = $4; $$->add_modifier(IIT_rvalue_reference); $$->add_modifier(IIT_paren); - $$->add_func_modifier($6, $8, $9); + $$->add_func_modifier($7, $9, $10); } ;