From acf118c96ab88adb82e498abaa1b72d4eb55cd37 Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 29 Mar 2024 12:19:48 +0100 Subject: [PATCH] cppparser: Update prebuilt bison files --- dtool/src/cppparser/cppBison.cxx.prebuilt | 8192 +++++++++++---------- dtool/src/cppparser/cppBison.h.prebuilt | 396 +- 2 files changed, 4302 insertions(+), 4286 deletions(-) diff --git a/dtool/src/cppparser/cppBison.cxx.prebuilt b/dtool/src/cppparser/cppBison.cxx.prebuilt index ab408c73c5..0d94f44c79 100644 --- a/dtool/src/cppparser/cppBison.cxx.prebuilt +++ b/dtool/src/cppparser/cppBison.cxx.prebuilt @@ -355,241 +355,243 @@ enum yysymbol_kind_t YYSYMBOL_KW_BEGIN_PUBLISH = 53, /* KW_BEGIN_PUBLISH */ YYSYMBOL_KW_BLOCKING = 54, /* KW_BLOCKING */ YYSYMBOL_KW_BOOL = 55, /* KW_BOOL */ - YYSYMBOL_KW_CATCH = 56, /* KW_CATCH */ - YYSYMBOL_KW_CHAR = 57, /* KW_CHAR */ - YYSYMBOL_KW_CHAR8_T = 58, /* KW_CHAR8_T */ - YYSYMBOL_KW_CHAR16_T = 59, /* KW_CHAR16_T */ - YYSYMBOL_KW_CHAR32_T = 60, /* KW_CHAR32_T */ - YYSYMBOL_KW_CLASS = 61, /* KW_CLASS */ - YYSYMBOL_KW_CONST = 62, /* KW_CONST */ - YYSYMBOL_KW_CONSTEVAL = 63, /* KW_CONSTEVAL */ - YYSYMBOL_KW_CONSTEXPR = 64, /* KW_CONSTEXPR */ - YYSYMBOL_KW_CONSTINIT = 65, /* KW_CONSTINIT */ - YYSYMBOL_KW_CONST_CAST = 66, /* KW_CONST_CAST */ - YYSYMBOL_KW_DECLTYPE = 67, /* KW_DECLTYPE */ - YYSYMBOL_KW_DEFAULT = 68, /* KW_DEFAULT */ - YYSYMBOL_KW_DELETE = 69, /* KW_DELETE */ - YYSYMBOL_KW_DOUBLE = 70, /* KW_DOUBLE */ - YYSYMBOL_KW_DYNAMIC_CAST = 71, /* KW_DYNAMIC_CAST */ - YYSYMBOL_KW_ELSE = 72, /* KW_ELSE */ - YYSYMBOL_KW_END_PUBLISH = 73, /* KW_END_PUBLISH */ - YYSYMBOL_KW_ENUM = 74, /* KW_ENUM */ - YYSYMBOL_KW_EXTENSION = 75, /* KW_EXTENSION */ - YYSYMBOL_KW_EXTERN = 76, /* KW_EXTERN */ - YYSYMBOL_KW_EXPLICIT = 77, /* KW_EXPLICIT */ - YYSYMBOL_KW_EXPLICIT_LPAREN = 78, /* KW_EXPLICIT_LPAREN */ - YYSYMBOL_KW_PUBLISHED = 79, /* KW_PUBLISHED */ - YYSYMBOL_KW_FALSE = 80, /* KW_FALSE */ - YYSYMBOL_KW_FINAL = 81, /* KW_FINAL */ - YYSYMBOL_KW_FLOAT = 82, /* KW_FLOAT */ - YYSYMBOL_KW_FRIEND = 83, /* KW_FRIEND */ - YYSYMBOL_KW_FOR = 84, /* KW_FOR */ - YYSYMBOL_KW_GOTO = 85, /* KW_GOTO */ - YYSYMBOL_KW_HAS_VIRTUAL_DESTRUCTOR = 86, /* KW_HAS_VIRTUAL_DESTRUCTOR */ - YYSYMBOL_KW_IF = 87, /* KW_IF */ - YYSYMBOL_KW_INLINE = 88, /* KW_INLINE */ - YYSYMBOL_KW_INT = 89, /* KW_INT */ - YYSYMBOL_KW_IS_ABSTRACT = 90, /* KW_IS_ABSTRACT */ - YYSYMBOL_KW_IS_BASE_OF = 91, /* KW_IS_BASE_OF */ - YYSYMBOL_KW_IS_CLASS = 92, /* KW_IS_CLASS */ - YYSYMBOL_KW_IS_CONSTRUCTIBLE = 93, /* KW_IS_CONSTRUCTIBLE */ - YYSYMBOL_KW_IS_CONVERTIBLE_TO = 94, /* KW_IS_CONVERTIBLE_TO */ - YYSYMBOL_KW_IS_DESTRUCTIBLE = 95, /* KW_IS_DESTRUCTIBLE */ - YYSYMBOL_KW_IS_EMPTY = 96, /* KW_IS_EMPTY */ - YYSYMBOL_KW_IS_ENUM = 97, /* KW_IS_ENUM */ - YYSYMBOL_KW_IS_FINAL = 98, /* KW_IS_FINAL */ - YYSYMBOL_KW_IS_FUNDAMENTAL = 99, /* KW_IS_FUNDAMENTAL */ - YYSYMBOL_KW_IS_POD = 100, /* KW_IS_POD */ - YYSYMBOL_KW_IS_POLYMORPHIC = 101, /* KW_IS_POLYMORPHIC */ - YYSYMBOL_KW_IS_STANDARD_LAYOUT = 102, /* KW_IS_STANDARD_LAYOUT */ - YYSYMBOL_KW_IS_TRIVIAL = 103, /* KW_IS_TRIVIAL */ - YYSYMBOL_KW_IS_TRIVIALLY_COPYABLE = 104, /* KW_IS_TRIVIALLY_COPYABLE */ - YYSYMBOL_KW_IS_UNION = 105, /* KW_IS_UNION */ - YYSYMBOL_KW_LONG = 106, /* KW_LONG */ - YYSYMBOL_KW_MAKE_MAP_KEYS_SEQ = 107, /* KW_MAKE_MAP_KEYS_SEQ */ - YYSYMBOL_KW_MAKE_MAP_PROPERTY = 108, /* KW_MAKE_MAP_PROPERTY */ - YYSYMBOL_KW_MAKE_PROPERTY = 109, /* KW_MAKE_PROPERTY */ - YYSYMBOL_KW_MAKE_PROPERTY2 = 110, /* KW_MAKE_PROPERTY2 */ - YYSYMBOL_KW_MAKE_SEQ = 111, /* KW_MAKE_SEQ */ - YYSYMBOL_KW_MAKE_SEQ_PROPERTY = 112, /* KW_MAKE_SEQ_PROPERTY */ - YYSYMBOL_KW_MUTABLE = 113, /* KW_MUTABLE */ - YYSYMBOL_KW_NAMESPACE = 114, /* KW_NAMESPACE */ - YYSYMBOL_KW_NEW = 115, /* KW_NEW */ - YYSYMBOL_KW_NOEXCEPT = 116, /* KW_NOEXCEPT */ - YYSYMBOL_KW_NOEXCEPT_LPAREN = 117, /* KW_NOEXCEPT_LPAREN */ - YYSYMBOL_KW_NULLPTR = 118, /* KW_NULLPTR */ - YYSYMBOL_KW_OPERATOR = 119, /* KW_OPERATOR */ - YYSYMBOL_KW_OVERRIDE = 120, /* KW_OVERRIDE */ - YYSYMBOL_KW_PRIVATE = 121, /* KW_PRIVATE */ - YYSYMBOL_KW_PROTECTED = 122, /* KW_PROTECTED */ - YYSYMBOL_KW_PUBLIC = 123, /* KW_PUBLIC */ - YYSYMBOL_KW_REGISTER = 124, /* KW_REGISTER */ - YYSYMBOL_KW_REINTERPRET_CAST = 125, /* KW_REINTERPRET_CAST */ - YYSYMBOL_KW_RETURN = 126, /* KW_RETURN */ - YYSYMBOL_KW_SHORT = 127, /* KW_SHORT */ - YYSYMBOL_KW_SIGNED = 128, /* KW_SIGNED */ - YYSYMBOL_KW_SIZEOF = 129, /* KW_SIZEOF */ - YYSYMBOL_KW_STATIC = 130, /* KW_STATIC */ - YYSYMBOL_KW_STATIC_ASSERT = 131, /* KW_STATIC_ASSERT */ - YYSYMBOL_KW_STATIC_CAST = 132, /* KW_STATIC_CAST */ - YYSYMBOL_KW_STRUCT = 133, /* KW_STRUCT */ - YYSYMBOL_KW_TEMPLATE = 134, /* KW_TEMPLATE */ - YYSYMBOL_KW_THREAD_LOCAL = 135, /* KW_THREAD_LOCAL */ - YYSYMBOL_KW_THROW = 136, /* KW_THROW */ - YYSYMBOL_KW_TRUE = 137, /* KW_TRUE */ - YYSYMBOL_KW_TRY = 138, /* KW_TRY */ - YYSYMBOL_KW_TYPEDEF = 139, /* KW_TYPEDEF */ - YYSYMBOL_KW_TYPEID = 140, /* KW_TYPEID */ - YYSYMBOL_KW_TYPENAME = 141, /* KW_TYPENAME */ - YYSYMBOL_KW_UNDERLYING_TYPE = 142, /* KW_UNDERLYING_TYPE */ - YYSYMBOL_KW_UNION = 143, /* KW_UNION */ - YYSYMBOL_KW_UNSIGNED = 144, /* KW_UNSIGNED */ - YYSYMBOL_KW_USING = 145, /* KW_USING */ - YYSYMBOL_KW_VIRTUAL = 146, /* KW_VIRTUAL */ - YYSYMBOL_KW_VOID = 147, /* KW_VOID */ - YYSYMBOL_KW_VOLATILE = 148, /* KW_VOLATILE */ - YYSYMBOL_KW_WCHAR_T = 149, /* KW_WCHAR_T */ - YYSYMBOL_KW_WHILE = 150, /* KW_WHILE */ - YYSYMBOL_START_CPP = 151, /* START_CPP */ - YYSYMBOL_START_CONST_EXPR = 152, /* START_CONST_EXPR */ - YYSYMBOL_START_TYPE = 153, /* START_TYPE */ - 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_171_ = 171, /* '.' */ - YYSYMBOL_172_ = 172, /* '(' */ - YYSYMBOL_173_ = 173, /* '[' */ - YYSYMBOL_174_ = 174, /* ')' */ - YYSYMBOL_175_ = 175, /* '}' */ - YYSYMBOL_176_ = 176, /* '!' */ - YYSYMBOL_177_ = 177, /* ']' */ - YYSYMBOL_YYACCEPT = 178, /* $accept */ - YYSYMBOL_grammar = 179, /* grammar */ - YYSYMBOL_cpp = 180, /* cpp */ - YYSYMBOL_181_1 = 181, /* $@1 */ - YYSYMBOL_constructor_inits = 182, /* constructor_inits */ - YYSYMBOL_constructor_init = 183, /* constructor_init */ - YYSYMBOL_extern_c = 184, /* extern_c */ - YYSYMBOL_185_2 = 185, /* $@2 */ - YYSYMBOL_declaration = 186, /* declaration */ - YYSYMBOL_friend_declaration = 187, /* friend_declaration */ - YYSYMBOL_188_3 = 188, /* $@3 */ - YYSYMBOL_storage_class = 189, /* storage_class */ - YYSYMBOL_optional_attributes = 190, /* optional_attributes */ - YYSYMBOL_attribute_specifiers = 191, /* attribute_specifiers */ - YYSYMBOL_attribute_specifier = 192, /* attribute_specifier */ - YYSYMBOL_type_like_declaration = 193, /* type_like_declaration */ - YYSYMBOL_194_4 = 194, /* $@4 */ - YYSYMBOL_195_5 = 195, /* $@5 */ - YYSYMBOL_multiple_instance_identifiers = 196, /* multiple_instance_identifiers */ - YYSYMBOL_typedef_declaration = 197, /* typedef_declaration */ - YYSYMBOL_198_6 = 198, /* $@6 */ - YYSYMBOL_typedef_instance_identifiers = 199, /* typedef_instance_identifiers */ - YYSYMBOL_constructor_prototype = 200, /* constructor_prototype */ - YYSYMBOL_201_7 = 201, /* $@7 */ - YYSYMBOL_202_8 = 202, /* $@8 */ - YYSYMBOL_203_9 = 203, /* $@9 */ - YYSYMBOL_function_prototype = 204, /* function_prototype */ - YYSYMBOL_205_10 = 205, /* $@10 */ - YYSYMBOL_206_11 = 206, /* $@11 */ - YYSYMBOL_207_12 = 207, /* $@12 */ - YYSYMBOL_208_13 = 208, /* $@13 */ - YYSYMBOL_209_14 = 209, /* $@14 */ - YYSYMBOL_function_post = 210, /* function_post */ - YYSYMBOL_function_operator = 211, /* function_operator */ - YYSYMBOL_more_template_declaration = 212, /* more_template_declaration */ - YYSYMBOL_template_declaration = 213, /* template_declaration */ - YYSYMBOL_214_15 = 214, /* $@15 */ - YYSYMBOL_template_formal_parameters = 215, /* template_formal_parameters */ - YYSYMBOL_template_nonempty_formal_parameters = 216, /* template_nonempty_formal_parameters */ - YYSYMBOL_typename_keyword = 217, /* typename_keyword */ - YYSYMBOL_template_formal_parameter = 218, /* template_formal_parameter */ - YYSYMBOL_template_formal_parameter_type = 219, /* template_formal_parameter_type */ - YYSYMBOL_instance_identifier = 220, /* instance_identifier */ - YYSYMBOL_221_16 = 221, /* $@16 */ - YYSYMBOL_instance_identifier_and_maybe_trailing_return_type = 222, /* instance_identifier_and_maybe_trailing_return_type */ - YYSYMBOL_maybe_trailing_return_type = 223, /* maybe_trailing_return_type */ - YYSYMBOL_maybe_comma_identifier = 224, /* maybe_comma_identifier */ - YYSYMBOL_function_parameter_list = 225, /* function_parameter_list */ - YYSYMBOL_function_parameters = 226, /* function_parameters */ - YYSYMBOL_formal_parameter_list = 227, /* formal_parameter_list */ - YYSYMBOL_formal_parameters = 228, /* formal_parameters */ - YYSYMBOL_template_parameter_maybe_initialize = 229, /* template_parameter_maybe_initialize */ - YYSYMBOL_maybe_initialize = 230, /* maybe_initialize */ - YYSYMBOL_maybe_initialize_or_constructor_body = 231, /* maybe_initialize_or_constructor_body */ - YYSYMBOL_maybe_initialize_or_function_body = 232, /* maybe_initialize_or_function_body */ - YYSYMBOL_structure_init = 233, /* structure_init */ - YYSYMBOL_structure_init_body = 234, /* structure_init_body */ - YYSYMBOL_function_parameter = 235, /* function_parameter */ - YYSYMBOL_formal_parameter = 236, /* formal_parameter */ - YYSYMBOL_not_paren_formal_parameter_identifier = 237, /* not_paren_formal_parameter_identifier */ - YYSYMBOL_formal_parameter_identifier = 238, /* formal_parameter_identifier */ - YYSYMBOL_parameter_pack_identifier = 239, /* parameter_pack_identifier */ - YYSYMBOL_not_paren_empty_instance_identifier = 240, /* not_paren_empty_instance_identifier */ - YYSYMBOL_empty_instance_identifier = 241, /* empty_instance_identifier */ - YYSYMBOL_type = 242, /* type */ - YYSYMBOL_type_pack = 243, /* type_pack */ - YYSYMBOL_type_decl = 244, /* type_decl */ - YYSYMBOL_predefined_type = 245, /* predefined_type */ - YYSYMBOL_var_type_decl = 246, /* var_type_decl */ - YYSYMBOL_full_type = 247, /* full_type */ - YYSYMBOL_anonymous_struct = 248, /* anonymous_struct */ - YYSYMBOL_249_17 = 249, /* $@17 */ - YYSYMBOL_named_struct = 250, /* named_struct */ - YYSYMBOL_251_18 = 251, /* $@18 */ - YYSYMBOL_maybe_final = 252, /* maybe_final */ - YYSYMBOL_maybe_class_derivation = 253, /* maybe_class_derivation */ - YYSYMBOL_class_derivation = 254, /* class_derivation */ - YYSYMBOL_base_specification = 255, /* base_specification */ - YYSYMBOL_enum = 256, /* enum */ - YYSYMBOL_257_19 = 257, /* $@19 */ - YYSYMBOL_enum_decl = 258, /* enum_decl */ - YYSYMBOL_enum_element_type = 259, /* enum_element_type */ - YYSYMBOL_enum_body_trailing_comma = 260, /* enum_body_trailing_comma */ - YYSYMBOL_enum_body = 261, /* enum_body */ - YYSYMBOL_enum_keyword = 262, /* enum_keyword */ - YYSYMBOL_struct_keyword = 263, /* struct_keyword */ - YYSYMBOL_namespace_declaration = 264, /* namespace_declaration */ - YYSYMBOL_265_20 = 265, /* $@20 */ - YYSYMBOL_266_21 = 266, /* $@21 */ - YYSYMBOL_using_declaration = 267, /* using_declaration */ - YYSYMBOL_simple_type = 268, /* simple_type */ - YYSYMBOL_simple_int_type = 269, /* simple_int_type */ - YYSYMBOL_simple_float_type = 270, /* simple_float_type */ - YYSYMBOL_simple_void_type = 271, /* simple_void_type */ - YYSYMBOL_code = 272, /* code */ - YYSYMBOL_273_22 = 273, /* $@22 */ - YYSYMBOL_code_block = 274, /* code_block */ - YYSYMBOL_element = 275, /* element */ - YYSYMBOL_optional_const_expr = 276, /* optional_const_expr */ - YYSYMBOL_optional_const_expr_comma = 277, /* optional_const_expr_comma */ - YYSYMBOL_const_expr_comma = 278, /* const_expr_comma */ - YYSYMBOL_no_angle_bracket_const_expr = 279, /* no_angle_bracket_const_expr */ - YYSYMBOL_const_expr = 280, /* const_expr */ - YYSYMBOL_const_operand = 281, /* const_operand */ - YYSYMBOL_formal_const_expr = 282, /* formal_const_expr */ - YYSYMBOL_formal_const_operand = 283, /* formal_const_operand */ - YYSYMBOL_capture_list = 284, /* capture_list */ - YYSYMBOL_capture = 285, /* capture */ - YYSYMBOL_class_derivation_name = 286, /* class_derivation_name */ - YYSYMBOL_name = 287, /* name */ - YYSYMBOL_name_no_final = 288, /* name_no_final */ - YYSYMBOL_string_literal = 289, /* string_literal */ - YYSYMBOL_empty = 290 /* empty */ + YYSYMBOL_KW_BUILTIN_VA_LIST = 56, /* KW_BUILTIN_VA_LIST */ + YYSYMBOL_KW_CATCH = 57, /* KW_CATCH */ + YYSYMBOL_KW_CHAR = 58, /* KW_CHAR */ + YYSYMBOL_KW_CHAR8_T = 59, /* KW_CHAR8_T */ + YYSYMBOL_KW_CHAR16_T = 60, /* KW_CHAR16_T */ + YYSYMBOL_KW_CHAR32_T = 61, /* KW_CHAR32_T */ + YYSYMBOL_KW_CLASS = 62, /* KW_CLASS */ + YYSYMBOL_KW_CONST = 63, /* KW_CONST */ + YYSYMBOL_KW_CONSTEVAL = 64, /* KW_CONSTEVAL */ + YYSYMBOL_KW_CONSTEXPR = 65, /* KW_CONSTEXPR */ + YYSYMBOL_KW_CONSTINIT = 66, /* KW_CONSTINIT */ + YYSYMBOL_KW_CONST_CAST = 67, /* KW_CONST_CAST */ + YYSYMBOL_KW_DECLTYPE = 68, /* KW_DECLTYPE */ + YYSYMBOL_KW_DEFAULT = 69, /* KW_DEFAULT */ + YYSYMBOL_KW_DELETE = 70, /* KW_DELETE */ + YYSYMBOL_KW_DOUBLE = 71, /* KW_DOUBLE */ + YYSYMBOL_KW_DYNAMIC_CAST = 72, /* KW_DYNAMIC_CAST */ + YYSYMBOL_KW_ELSE = 73, /* KW_ELSE */ + YYSYMBOL_KW_END_PUBLISH = 74, /* KW_END_PUBLISH */ + YYSYMBOL_KW_ENUM = 75, /* KW_ENUM */ + YYSYMBOL_KW_EXTENSION = 76, /* KW_EXTENSION */ + YYSYMBOL_KW_EXTERN = 77, /* KW_EXTERN */ + YYSYMBOL_KW_EXPLICIT = 78, /* KW_EXPLICIT */ + YYSYMBOL_KW_EXPLICIT_LPAREN = 79, /* KW_EXPLICIT_LPAREN */ + YYSYMBOL_KW_PUBLISHED = 80, /* KW_PUBLISHED */ + YYSYMBOL_KW_FALSE = 81, /* KW_FALSE */ + YYSYMBOL_KW_FINAL = 82, /* KW_FINAL */ + YYSYMBOL_KW_FLOAT = 83, /* KW_FLOAT */ + YYSYMBOL_KW_FRIEND = 84, /* KW_FRIEND */ + YYSYMBOL_KW_FOR = 85, /* KW_FOR */ + YYSYMBOL_KW_GOTO = 86, /* KW_GOTO */ + YYSYMBOL_KW_HAS_VIRTUAL_DESTRUCTOR = 87, /* KW_HAS_VIRTUAL_DESTRUCTOR */ + YYSYMBOL_KW_IF = 88, /* KW_IF */ + YYSYMBOL_KW_INLINE = 89, /* KW_INLINE */ + YYSYMBOL_KW_INT = 90, /* KW_INT */ + YYSYMBOL_KW_IS_ABSTRACT = 91, /* KW_IS_ABSTRACT */ + YYSYMBOL_KW_IS_BASE_OF = 92, /* KW_IS_BASE_OF */ + YYSYMBOL_KW_IS_CLASS = 93, /* KW_IS_CLASS */ + YYSYMBOL_KW_IS_CONSTRUCTIBLE = 94, /* KW_IS_CONSTRUCTIBLE */ + YYSYMBOL_KW_IS_CONVERTIBLE_TO = 95, /* KW_IS_CONVERTIBLE_TO */ + YYSYMBOL_KW_IS_DESTRUCTIBLE = 96, /* KW_IS_DESTRUCTIBLE */ + YYSYMBOL_KW_IS_EMPTY = 97, /* KW_IS_EMPTY */ + YYSYMBOL_KW_IS_ENUM = 98, /* KW_IS_ENUM */ + YYSYMBOL_KW_IS_FINAL = 99, /* KW_IS_FINAL */ + YYSYMBOL_KW_IS_FUNDAMENTAL = 100, /* KW_IS_FUNDAMENTAL */ + YYSYMBOL_KW_IS_POD = 101, /* KW_IS_POD */ + YYSYMBOL_KW_IS_POLYMORPHIC = 102, /* KW_IS_POLYMORPHIC */ + YYSYMBOL_KW_IS_STANDARD_LAYOUT = 103, /* KW_IS_STANDARD_LAYOUT */ + YYSYMBOL_KW_IS_TRIVIAL = 104, /* KW_IS_TRIVIAL */ + YYSYMBOL_KW_IS_TRIVIALLY_COPYABLE = 105, /* KW_IS_TRIVIALLY_COPYABLE */ + YYSYMBOL_KW_IS_UNION = 106, /* KW_IS_UNION */ + YYSYMBOL_KW_LONG = 107, /* KW_LONG */ + YYSYMBOL_KW_MAKE_MAP_KEYS_SEQ = 108, /* KW_MAKE_MAP_KEYS_SEQ */ + YYSYMBOL_KW_MAKE_MAP_PROPERTY = 109, /* KW_MAKE_MAP_PROPERTY */ + YYSYMBOL_KW_MAKE_PROPERTY = 110, /* KW_MAKE_PROPERTY */ + YYSYMBOL_KW_MAKE_PROPERTY2 = 111, /* KW_MAKE_PROPERTY2 */ + YYSYMBOL_KW_MAKE_SEQ = 112, /* KW_MAKE_SEQ */ + YYSYMBOL_KW_MAKE_SEQ_PROPERTY = 113, /* KW_MAKE_SEQ_PROPERTY */ + YYSYMBOL_KW_MUTABLE = 114, /* KW_MUTABLE */ + YYSYMBOL_KW_NAMESPACE = 115, /* KW_NAMESPACE */ + YYSYMBOL_KW_NEW = 116, /* KW_NEW */ + YYSYMBOL_KW_NOEXCEPT = 117, /* KW_NOEXCEPT */ + YYSYMBOL_KW_NOEXCEPT_LPAREN = 118, /* KW_NOEXCEPT_LPAREN */ + YYSYMBOL_KW_NULLPTR = 119, /* KW_NULLPTR */ + YYSYMBOL_KW_OPERATOR = 120, /* KW_OPERATOR */ + YYSYMBOL_KW_OVERRIDE = 121, /* KW_OVERRIDE */ + YYSYMBOL_KW_PRIVATE = 122, /* KW_PRIVATE */ + YYSYMBOL_KW_PROTECTED = 123, /* KW_PROTECTED */ + YYSYMBOL_KW_PUBLIC = 124, /* KW_PUBLIC */ + YYSYMBOL_KW_REGISTER = 125, /* KW_REGISTER */ + YYSYMBOL_KW_REINTERPRET_CAST = 126, /* KW_REINTERPRET_CAST */ + YYSYMBOL_KW_RESTRICT = 127, /* KW_RESTRICT */ + YYSYMBOL_KW_RETURN = 128, /* KW_RETURN */ + YYSYMBOL_KW_SHORT = 129, /* KW_SHORT */ + YYSYMBOL_KW_SIGNED = 130, /* KW_SIGNED */ + YYSYMBOL_KW_SIZEOF = 131, /* KW_SIZEOF */ + YYSYMBOL_KW_STATIC = 132, /* KW_STATIC */ + YYSYMBOL_KW_STATIC_ASSERT = 133, /* KW_STATIC_ASSERT */ + YYSYMBOL_KW_STATIC_CAST = 134, /* KW_STATIC_CAST */ + YYSYMBOL_KW_STRUCT = 135, /* KW_STRUCT */ + YYSYMBOL_KW_TEMPLATE = 136, /* KW_TEMPLATE */ + YYSYMBOL_KW_THREAD_LOCAL = 137, /* KW_THREAD_LOCAL */ + YYSYMBOL_KW_THROW = 138, /* KW_THROW */ + YYSYMBOL_KW_TRUE = 139, /* KW_TRUE */ + YYSYMBOL_KW_TRY = 140, /* KW_TRY */ + YYSYMBOL_KW_TYPEDEF = 141, /* KW_TYPEDEF */ + YYSYMBOL_KW_TYPEID = 142, /* KW_TYPEID */ + YYSYMBOL_KW_TYPENAME = 143, /* KW_TYPENAME */ + YYSYMBOL_KW_UNDERLYING_TYPE = 144, /* KW_UNDERLYING_TYPE */ + YYSYMBOL_KW_UNION = 145, /* KW_UNION */ + YYSYMBOL_KW_UNSIGNED = 146, /* KW_UNSIGNED */ + YYSYMBOL_KW_USING = 147, /* KW_USING */ + YYSYMBOL_KW_VIRTUAL = 148, /* KW_VIRTUAL */ + YYSYMBOL_KW_VOID = 149, /* KW_VOID */ + YYSYMBOL_KW_VOLATILE = 150, /* KW_VOLATILE */ + YYSYMBOL_KW_WCHAR_T = 151, /* KW_WCHAR_T */ + YYSYMBOL_KW_WHILE = 152, /* KW_WHILE */ + YYSYMBOL_START_CPP = 153, /* START_CPP */ + YYSYMBOL_START_CONST_EXPR = 154, /* START_CONST_EXPR */ + YYSYMBOL_START_TYPE = 155, /* START_TYPE */ + 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_171_ = 171, /* '%' */ + YYSYMBOL_172_ = 172, /* '~' */ + YYSYMBOL_173_ = 173, /* '.' */ + YYSYMBOL_174_ = 174, /* '(' */ + YYSYMBOL_175_ = 175, /* '[' */ + YYSYMBOL_176_ = 176, /* ')' */ + YYSYMBOL_177_ = 177, /* '}' */ + YYSYMBOL_178_ = 178, /* '!' */ + YYSYMBOL_179_ = 179, /* ']' */ + YYSYMBOL_YYACCEPT = 180, /* $accept */ + YYSYMBOL_grammar = 181, /* grammar */ + YYSYMBOL_cpp = 182, /* cpp */ + YYSYMBOL_183_1 = 183, /* $@1 */ + YYSYMBOL_constructor_inits = 184, /* constructor_inits */ + YYSYMBOL_constructor_init = 185, /* constructor_init */ + YYSYMBOL_extern_c = 186, /* extern_c */ + YYSYMBOL_187_2 = 187, /* $@2 */ + YYSYMBOL_declaration = 188, /* declaration */ + YYSYMBOL_friend_declaration = 189, /* friend_declaration */ + YYSYMBOL_190_3 = 190, /* $@3 */ + YYSYMBOL_storage_class = 191, /* storage_class */ + YYSYMBOL_optional_attributes = 192, /* optional_attributes */ + YYSYMBOL_attribute_specifiers = 193, /* attribute_specifiers */ + YYSYMBOL_attribute_specifier = 194, /* attribute_specifier */ + YYSYMBOL_type_like_declaration = 195, /* type_like_declaration */ + YYSYMBOL_196_4 = 196, /* $@4 */ + YYSYMBOL_197_5 = 197, /* $@5 */ + YYSYMBOL_multiple_instance_identifiers = 198, /* multiple_instance_identifiers */ + YYSYMBOL_typedef_declaration = 199, /* typedef_declaration */ + YYSYMBOL_200_6 = 200, /* $@6 */ + YYSYMBOL_typedef_instance_identifiers = 201, /* typedef_instance_identifiers */ + YYSYMBOL_constructor_prototype = 202, /* constructor_prototype */ + YYSYMBOL_203_7 = 203, /* $@7 */ + YYSYMBOL_204_8 = 204, /* $@8 */ + YYSYMBOL_205_9 = 205, /* $@9 */ + YYSYMBOL_function_prototype = 206, /* function_prototype */ + YYSYMBOL_207_10 = 207, /* $@10 */ + YYSYMBOL_208_11 = 208, /* $@11 */ + YYSYMBOL_209_12 = 209, /* $@12 */ + YYSYMBOL_210_13 = 210, /* $@13 */ + YYSYMBOL_211_14 = 211, /* $@14 */ + YYSYMBOL_function_post = 212, /* function_post */ + YYSYMBOL_function_operator = 213, /* function_operator */ + YYSYMBOL_more_template_declaration = 214, /* more_template_declaration */ + YYSYMBOL_template_declaration = 215, /* template_declaration */ + YYSYMBOL_216_15 = 216, /* $@15 */ + YYSYMBOL_template_formal_parameters = 217, /* template_formal_parameters */ + YYSYMBOL_template_nonempty_formal_parameters = 218, /* template_nonempty_formal_parameters */ + YYSYMBOL_typename_keyword = 219, /* typename_keyword */ + YYSYMBOL_template_formal_parameter = 220, /* template_formal_parameter */ + YYSYMBOL_template_formal_parameter_type = 221, /* template_formal_parameter_type */ + YYSYMBOL_instance_identifier = 222, /* instance_identifier */ + YYSYMBOL_223_16 = 223, /* $@16 */ + YYSYMBOL_instance_identifier_and_maybe_trailing_return_type = 224, /* instance_identifier_and_maybe_trailing_return_type */ + YYSYMBOL_maybe_trailing_return_type = 225, /* maybe_trailing_return_type */ + YYSYMBOL_maybe_comma_identifier = 226, /* maybe_comma_identifier */ + YYSYMBOL_function_parameter_list = 227, /* function_parameter_list */ + YYSYMBOL_function_parameters = 228, /* function_parameters */ + YYSYMBOL_formal_parameter_list = 229, /* formal_parameter_list */ + YYSYMBOL_formal_parameters = 230, /* formal_parameters */ + YYSYMBOL_template_parameter_maybe_initialize = 231, /* template_parameter_maybe_initialize */ + YYSYMBOL_maybe_initialize = 232, /* maybe_initialize */ + YYSYMBOL_maybe_initialize_or_constructor_body = 233, /* maybe_initialize_or_constructor_body */ + YYSYMBOL_maybe_initialize_or_function_body = 234, /* maybe_initialize_or_function_body */ + YYSYMBOL_structure_init = 235, /* structure_init */ + YYSYMBOL_structure_init_body = 236, /* structure_init_body */ + YYSYMBOL_function_parameter = 237, /* function_parameter */ + YYSYMBOL_formal_parameter = 238, /* formal_parameter */ + YYSYMBOL_not_paren_formal_parameter_identifier = 239, /* not_paren_formal_parameter_identifier */ + YYSYMBOL_formal_parameter_identifier = 240, /* formal_parameter_identifier */ + YYSYMBOL_parameter_pack_identifier = 241, /* parameter_pack_identifier */ + YYSYMBOL_not_paren_empty_instance_identifier = 242, /* not_paren_empty_instance_identifier */ + YYSYMBOL_empty_instance_identifier = 243, /* empty_instance_identifier */ + YYSYMBOL_type = 244, /* type */ + YYSYMBOL_type_pack = 245, /* type_pack */ + YYSYMBOL_type_decl = 246, /* type_decl */ + YYSYMBOL_predefined_type = 247, /* predefined_type */ + YYSYMBOL_var_type_decl = 248, /* var_type_decl */ + YYSYMBOL_full_type = 249, /* full_type */ + YYSYMBOL_anonymous_struct = 250, /* anonymous_struct */ + YYSYMBOL_251_17 = 251, /* $@17 */ + YYSYMBOL_named_struct = 252, /* named_struct */ + YYSYMBOL_253_18 = 253, /* $@18 */ + YYSYMBOL_maybe_final = 254, /* maybe_final */ + YYSYMBOL_maybe_class_derivation = 255, /* maybe_class_derivation */ + YYSYMBOL_class_derivation = 256, /* class_derivation */ + YYSYMBOL_base_specification = 257, /* base_specification */ + YYSYMBOL_enum = 258, /* enum */ + YYSYMBOL_259_19 = 259, /* $@19 */ + YYSYMBOL_enum_decl = 260, /* enum_decl */ + YYSYMBOL_enum_element_type = 261, /* enum_element_type */ + YYSYMBOL_enum_body_trailing_comma = 262, /* enum_body_trailing_comma */ + YYSYMBOL_enum_body = 263, /* enum_body */ + YYSYMBOL_enum_keyword = 264, /* enum_keyword */ + YYSYMBOL_struct_keyword = 265, /* struct_keyword */ + YYSYMBOL_namespace_declaration = 266, /* namespace_declaration */ + YYSYMBOL_267_20 = 267, /* $@20 */ + YYSYMBOL_268_21 = 268, /* $@21 */ + YYSYMBOL_using_declaration = 269, /* using_declaration */ + YYSYMBOL_simple_type = 270, /* simple_type */ + YYSYMBOL_simple_int_type = 271, /* simple_int_type */ + YYSYMBOL_simple_float_type = 272, /* simple_float_type */ + YYSYMBOL_simple_void_type = 273, /* simple_void_type */ + YYSYMBOL_code = 274, /* code */ + YYSYMBOL_275_22 = 275, /* $@22 */ + YYSYMBOL_code_block = 276, /* code_block */ + YYSYMBOL_element = 277, /* element */ + YYSYMBOL_optional_const_expr = 278, /* optional_const_expr */ + YYSYMBOL_optional_const_expr_comma = 279, /* optional_const_expr_comma */ + YYSYMBOL_const_expr_comma = 280, /* const_expr_comma */ + YYSYMBOL_no_angle_bracket_const_expr = 281, /* no_angle_bracket_const_expr */ + YYSYMBOL_const_expr = 282, /* const_expr */ + YYSYMBOL_const_operand = 283, /* const_operand */ + YYSYMBOL_formal_const_expr = 284, /* formal_const_expr */ + YYSYMBOL_formal_const_operand = 285, /* formal_const_operand */ + YYSYMBOL_capture_list = 286, /* capture_list */ + YYSYMBOL_capture = 287, /* capture */ + YYSYMBOL_class_derivation_name = 288, /* class_derivation_name */ + YYSYMBOL_name = 289, /* name */ + YYSYMBOL_name_no_final = 290, /* name_no_final */ + YYSYMBOL_string_literal = 291, /* string_literal */ + YYSYMBOL_empty = 292 /* empty */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -918,21 +920,21 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 108 +#define YYFINAL 109 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 7071 +#define YYLAST 6863 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 178 +#define YYNTOKENS 180 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 113 /* YYNRULES -- Number of rules. */ -#define YYNRULES 782 +#define YYNRULES 789 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1671 +#define YYNSTATES 1678 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 408 +#define YYMAXUTOK 410 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -949,16 +951,16 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 176, 2, 2, 2, 169, 162, 2, - 172, 174, 167, 165, 155, 166, 171, 168, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 157, 156, - 163, 158, 164, 159, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 178, 2, 2, 2, 171, 164, 2, + 174, 176, 169, 167, 157, 168, 173, 170, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 159, 158, + 165, 160, 166, 161, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 173, 2, 177, 161, 2, 2, 2, 2, 2, + 2, 175, 2, 179, 163, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 154, 160, 175, 170, 2, 2, 2, + 2, 2, 2, 156, 162, 177, 172, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -986,92 +988,93 @@ static const yytype_uint8 yytranslate[] = 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, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153 + 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + 155 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 464, 464, 465, 469, 476, 477, 484, 483, 494, - 495, 499, 503, 507, 520, 519, 531, 532, 533, 534, - 535, 536, 537, 550, 559, 563, 571, 575, 579, 600, - 627, 648, 677, 713, 756, 768, 789, 825, 859, 881, - 917, 939, 950, 964, 963, 978, 982, 987, 991, 1002, - 1006, 1010, 1014, 1018, 1027, 1031, 1035, 1039, 1043, 1047, - 1051, 1055, 1059, 1066, 1070, 1075, 1083, 1088, 1096, 1100, - 1108, 1113, 1122, 1121, 1137, 1147, 1146, 1163, 1171, 1179, - 1191, 1208, 1207, 1222, 1237, 1247, 1263, 1262, 1305, 1304, - 1333, 1332, 1370, 1369, 1401, 1400, 1420, 1419, 1441, 1440, - 1473, 1472, 1499, 1512, 1516, 1520, 1524, 1528, 1537, 1541, - 1545, 1549, 1553, 1558, 1563, 1567, 1571, 1578, 1582, 1586, - 1590, 1594, 1598, 1602, 1606, 1610, 1614, 1618, 1622, 1626, - 1630, 1634, 1638, 1642, 1646, 1650, 1654, 1658, 1662, 1666, - 1670, 1674, 1678, 1682, 1686, 1690, 1694, 1698, 1702, 1706, - 1710, 1714, 1718, 1722, 1726, 1730, 1734, 1741, 1742, 1743, - 1747, 1749, 1748, 1756, 1757, 1761, 1762, 1766, 1772, 1781, - 1782, 1786, 1790, 1794, 1798, 1804, 1810, 1816, 1823, 1828, - 1837, 1841, 1846, 1854, 1866, 1870, 1884, 1899, 1904, 1909, - 1914, 1919, 1924, 1929, 1934, 1940, 1939, 1970, 1980, 1990, - 1994, 1998, 2007, 2011, 2019, 2023, 2028, 2032, 2037, 2045, - 2050, 2058, 2062, 2067, 2071, 2076, 2084, 2089, 2097, 2101, - 2108, 2112, 2119, 2123, 2127, 2131, 2135, 2142, 2146, 2150, - 2154, 2158, 2162, 2169, 2170, 2171, 2175, 2178, 2179, 2180, - 2184, 2190, 2197, 2204, 2210, 2217, 2224, 2236, 2240, 2250, - 2254, 2258, 2263, 2268, 2273, 2278, 2283, 2288, 2296, 2300, - 2304, 2309, 2314, 2319, 2324, 2329, 2334, 2339, 2345, 2353, - 2358, 2363, 2368, 2373, 2378, 2383, 2388, 2393, 2398, 2404, - 2412, 2416, 2421, 2426, 2431, 2436, 2441, 2446, 2451, 2456, - 2464, 2468, 2473, 2478, 2483, 2488, 2493, 2498, 2503, 2508, - 2513, 2519, 2526, 2533, 2543, 2547, 2555, 2559, 2563, 2567, - 2571, 2587, 2603, 2612, 2616, 2626, 2633, 2644, 2648, 2656, - 2660, 2664, 2668, 2672, 2688, 2704, 2722, 2731, 2735, 2745, - 2752, 2756, 2764, 2768, 2784, 2800, 2809, 2819, 2826, 2830, - 2838, 2842, 2847, 2851, 2860, 2859, 2884, 2883, 2913, 2914, - 2921, 2922, 2926, 2927, 2931, 2935, 2939, 2943, 2947, 2951, - 2955, 2959, 2963, 2967, 2975, 2974, 2991, 2995, 2999, 3004, - 3012, 3016, 3023, 3024, 3029, 3036, 3037, 3042, 3050, 3054, - 3058, 3065, 3069, 3073, 3081, 3080, 3103, 3102, 3125, 3126, - 3130, 3136, 3143, 3149, 3158, 3159, 3160, 3164, 3168, 3172, - 3176, 3180, 3184, 3188, 3193, 3198, 3203, 3208, 3212, 3217, - 3226, 3231, 3239, 3243, 3247, 3255, 3265, 3265, 3275, 3276, - 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, - 3290, 3291, 3291, 3291, 3292, 3292, 3292, 3292, 3292, 3293, - 3293, 3293, 3293, 3293, 3294, 3294, 3294, 3295, 3295, 3295, - 3295, 3295, 3296, 3296, 3296, 3296, 3296, 3297, 3297, 3298, - 3298, 3298, 3298, 3298, 3299, 3299, 3299, 3299, 3299, 3300, - 3300, 3300, 3300, 3300, 3301, 3301, 3301, 3301, 3301, 3302, - 3302, 3302, 3302, 3302, 3303, 3303, 3303, 3303, 3303, 3304, - 3304, 3304, 3304, 3304, 3304, 3305, 3305, 3305, 3305, 3305, - 3306, 3306, 3306, 3306, 3307, 3307, 3307, 3307, 3308, 3308, - 3308, 3308, 3308, 3309, 3309, 3309, 3309, 3310, 3310, 3310, - 3310, 3310, 3311, 3311, 3311, 3311, 3312, 3312, 3312, 3312, - 3312, 3313, 3313, 3316, 3316, 3316, 3316, 3316, 3316, 3316, - 3316, 3316, 3316, 3316, 3317, 3317, 3317, 3317, 3317, 3317, - 3317, 3317, 3317, 3317, 3318, 3318, 3322, 3326, 3333, 3337, - 3344, 3348, 3355, 3359, 3363, 3367, 3371, 3375, 3379, 3383, - 3387, 3391, 3395, 3399, 3403, 3407, 3411, 3415, 3419, 3423, - 3427, 3431, 3435, 3439, 3443, 3447, 3451, 3455, 3459, 3463, - 3467, 3471, 3475, 3479, 3483, 3487, 3491, 3495, 3499, 3503, - 3507, 3511, 3519, 3523, 3527, 3531, 3535, 3539, 3543, 3553, - 3563, 3569, 3575, 3581, 3587, 3593, 3599, 3605, 3612, 3619, - 3626, 3633, 3639, 3645, 3649, 3653, 3657, 3661, 3665, 3669, - 3680, 3691, 3695, 3699, 3703, 3707, 3711, 3715, 3719, 3723, - 3727, 3731, 3735, 3739, 3743, 3747, 3751, 3755, 3759, 3763, - 3767, 3771, 3775, 3779, 3783, 3787, 3791, 3795, 3799, 3803, - 3807, 3811, 3815, 3819, 3826, 3830, 3834, 3838, 3842, 3846, - 3850, 3854, 3858, 3864, 3870, 3874, 3881, 3889, 3893, 3897, - 3901, 3905, 3909, 3913, 3917, 3921, 3925, 3929, 3933, 3937, - 3941, 3945, 3949, 3953, 3957, 3971, 3975, 3979, 3983, 3987, - 3991, 3995, 3999, 4003, 4007, 4011, 4015, 4019, 4030, 4041, - 4045, 4049, 4053, 4057, 4061, 4065, 4069, 4073, 4077, 4081, - 4085, 4089, 4093, 4097, 4101, 4105, 4109, 4113, 4117, 4121, - 4125, 4129, 4133, 4137, 4141, 4145, 4149, 4153, 4157, 4161, - 4168, 4172, 4176, 4180, 4184, 4188, 4192, 4196, 4200, 4206, - 4212, 4220, 4224, 4228, 4232, 4239, 4249, 4255, 4261, 4271, - 4283, 4291, 4295, 4325, 4329, 4333, 4337, 4341, 4345, 4351, - 4355, 4359, 4363, 4367, 4378, 4382, 4386, 4390, 4398, 4402, - 4406, 4412, 4423 + 0, 466, 466, 467, 471, 478, 479, 486, 485, 496, + 497, 501, 505, 509, 522, 521, 533, 534, 535, 536, + 537, 538, 539, 552, 561, 565, 573, 577, 581, 602, + 629, 650, 679, 715, 758, 770, 791, 827, 861, 883, + 919, 941, 952, 966, 965, 980, 984, 989, 993, 1004, + 1008, 1012, 1016, 1020, 1029, 1033, 1037, 1041, 1045, 1049, + 1053, 1057, 1061, 1068, 1072, 1077, 1085, 1090, 1098, 1102, + 1110, 1115, 1124, 1123, 1139, 1149, 1148, 1165, 1173, 1181, + 1193, 1210, 1209, 1224, 1239, 1249, 1265, 1264, 1307, 1306, + 1335, 1334, 1372, 1371, 1403, 1402, 1422, 1421, 1443, 1442, + 1475, 1474, 1501, 1514, 1518, 1522, 1526, 1530, 1539, 1543, + 1547, 1551, 1555, 1560, 1565, 1569, 1573, 1580, 1584, 1588, + 1592, 1596, 1600, 1604, 1608, 1612, 1616, 1620, 1624, 1628, + 1632, 1636, 1640, 1644, 1648, 1652, 1656, 1660, 1664, 1668, + 1672, 1676, 1680, 1684, 1688, 1692, 1696, 1700, 1704, 1708, + 1712, 1716, 1720, 1724, 1728, 1732, 1736, 1743, 1744, 1745, + 1749, 1751, 1750, 1758, 1759, 1763, 1764, 1768, 1774, 1783, + 1784, 1788, 1792, 1796, 1800, 1806, 1812, 1818, 1825, 1830, + 1836, 1843, 1852, 1856, 1861, 1869, 1881, 1885, 1899, 1914, + 1919, 1924, 1929, 1934, 1939, 1944, 1949, 1955, 1954, 1985, + 1995, 2005, 2009, 2013, 2022, 2026, 2034, 2038, 2043, 2047, + 2052, 2060, 2065, 2073, 2077, 2082, 2086, 2091, 2099, 2104, + 2112, 2116, 2123, 2127, 2134, 2138, 2142, 2146, 2150, 2157, + 2161, 2165, 2169, 2173, 2177, 2184, 2185, 2186, 2190, 2193, + 2194, 2195, 2199, 2211, 2230, 2234, 2244, 2248, 2252, 2257, + 2262, 2267, 2272, 2277, 2282, 2287, 2295, 2299, 2303, 2308, + 2313, 2318, 2323, 2328, 2333, 2338, 2343, 2349, 2357, 2362, + 2367, 2372, 2377, 2382, 2387, 2392, 2397, 2402, 2407, 2413, + 2421, 2425, 2430, 2435, 2440, 2445, 2450, 2455, 2460, 2465, + 2470, 2478, 2482, 2487, 2492, 2497, 2502, 2507, 2512, 2517, + 2522, 2527, 2532, 2538, 2545, 2552, 2562, 2566, 2574, 2578, + 2582, 2586, 2590, 2606, 2622, 2631, 2635, 2645, 2649, 2656, + 2667, 2671, 2679, 2683, 2687, 2691, 2695, 2711, 2727, 2745, + 2754, 2758, 2768, 2772, 2779, 2783, 2791, 2795, 2811, 2827, + 2836, 2846, 2850, 2857, 2861, 2869, 2873, 2878, 2882, 2891, + 2890, 2915, 2914, 2944, 2945, 2952, 2953, 2957, 2958, 2962, + 2966, 2970, 2974, 2978, 2982, 2986, 2990, 2994, 2998, 3006, + 3005, 3022, 3026, 3030, 3035, 3043, 3047, 3054, 3055, 3060, + 3067, 3068, 3073, 3081, 3085, 3089, 3096, 3100, 3104, 3112, + 3111, 3134, 3133, 3156, 3157, 3161, 3167, 3174, 3180, 3189, + 3190, 3191, 3195, 3199, 3203, 3207, 3211, 3215, 3219, 3224, + 3229, 3234, 3239, 3243, 3248, 3257, 3262, 3270, 3274, 3278, + 3286, 3296, 3296, 3306, 3307, 3311, 3312, 3313, 3314, 3315, + 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3322, 3322, 3323, + 3323, 3323, 3323, 3323, 3324, 3324, 3324, 3324, 3324, 3325, + 3325, 3325, 3326, 3326, 3326, 3326, 3326, 3327, 3327, 3327, + 3327, 3327, 3328, 3328, 3329, 3329, 3329, 3329, 3329, 3330, + 3330, 3330, 3330, 3330, 3330, 3331, 3331, 3331, 3331, 3331, + 3332, 3332, 3332, 3332, 3332, 3333, 3333, 3333, 3333, 3333, + 3334, 3334, 3334, 3334, 3334, 3335, 3335, 3335, 3335, 3335, + 3335, 3336, 3336, 3336, 3336, 3336, 3337, 3337, 3337, 3337, + 3338, 3338, 3338, 3338, 3339, 3339, 3339, 3339, 3339, 3339, + 3340, 3340, 3340, 3340, 3341, 3341, 3341, 3341, 3341, 3342, + 3342, 3342, 3342, 3343, 3343, 3343, 3343, 3343, 3344, 3344, + 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3347, + 3347, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, + 3348, 3349, 3349, 3353, 3357, 3364, 3368, 3375, 3379, 3386, + 3390, 3394, 3398, 3402, 3406, 3410, 3414, 3418, 3422, 3426, + 3430, 3434, 3438, 3442, 3446, 3450, 3454, 3458, 3462, 3466, + 3470, 3474, 3478, 3482, 3486, 3490, 3494, 3498, 3502, 3506, + 3510, 3514, 3518, 3522, 3526, 3530, 3534, 3538, 3542, 3550, + 3554, 3558, 3562, 3566, 3570, 3574, 3584, 3594, 3600, 3606, + 3612, 3618, 3624, 3630, 3636, 3643, 3650, 3657, 3664, 3670, + 3676, 3680, 3684, 3688, 3692, 3696, 3700, 3711, 3722, 3726, + 3730, 3734, 3738, 3742, 3746, 3750, 3754, 3758, 3762, 3766, + 3770, 3774, 3778, 3782, 3786, 3790, 3794, 3798, 3802, 3806, + 3810, 3814, 3818, 3822, 3826, 3830, 3834, 3838, 3842, 3846, + 3850, 3857, 3861, 3865, 3869, 3873, 3877, 3881, 3885, 3889, + 3895, 3901, 3905, 3912, 3920, 3924, 3928, 3932, 3936, 3940, + 3944, 3948, 3952, 3956, 3960, 3964, 3968, 3972, 3976, 3980, + 3984, 3988, 4002, 4006, 4010, 4014, 4018, 4022, 4026, 4030, + 4034, 4038, 4042, 4046, 4050, 4061, 4072, 4076, 4080, 4084, + 4088, 4092, 4096, 4100, 4104, 4108, 4112, 4116, 4120, 4124, + 4128, 4132, 4136, 4140, 4144, 4148, 4152, 4156, 4160, 4164, + 4168, 4172, 4176, 4180, 4184, 4188, 4192, 4199, 4203, 4207, + 4211, 4215, 4219, 4223, 4227, 4231, 4237, 4243, 4251, 4255, + 4259, 4263, 4270, 4280, 4286, 4292, 4302, 4314, 4322, 4326, + 4356, 4360, 4364, 4368, 4372, 4376, 4382, 4386, 4390, 4394, + 4398, 4409, 4413, 4417, 4421, 4429, 4433, 4437, 4443, 4454 }; #endif @@ -1098,43 +1101,45 @@ static const char *const yytname[] = "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_CHAR8_T", - "KW_CHAR16_T", "KW_CHAR32_T", "KW_CLASS", "KW_CONST", "KW_CONSTEVAL", - "KW_CONSTEXPR", "KW_CONSTINIT", "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_EXPLICIT_LPAREN", "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_TRIVIALLY_COPYABLE", "KW_IS_UNION", "KW_LONG", + "KW_BLOCKING", "KW_BOOL", "KW_BUILTIN_VA_LIST", "KW_CATCH", "KW_CHAR", + "KW_CHAR8_T", "KW_CHAR16_T", "KW_CHAR32_T", "KW_CLASS", "KW_CONST", + "KW_CONSTEVAL", "KW_CONSTEXPR", "KW_CONSTINIT", "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_EXPLICIT_LPAREN", "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_TRIVIALLY_COPYABLE", "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_NOEXCEPT_LPAREN", "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", "$@1", "constructor_inits", - "constructor_init", "extern_c", "$@2", "declaration", - "friend_declaration", "$@3", "storage_class", "optional_attributes", - "attribute_specifiers", "attribute_specifier", "type_like_declaration", - "$@4", "$@5", "multiple_instance_identifiers", "typedef_declaration", - "$@6", "typedef_instance_identifiers", "constructor_prototype", "$@7", - "$@8", "$@9", "function_prototype", "$@10", "$@11", "$@12", "$@13", - "$@14", "function_post", "function_operator", - "more_template_declaration", "template_declaration", "$@15", - "template_formal_parameters", "template_nonempty_formal_parameters", - "typename_keyword", "template_formal_parameter", - "template_formal_parameter_type", "instance_identifier", "$@16", + "KW_PUBLIC", "KW_REGISTER", "KW_REINTERPRET_CAST", "KW_RESTRICT", + "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", "$@1", + "constructor_inits", "constructor_init", "extern_c", "$@2", + "declaration", "friend_declaration", "$@3", "storage_class", + "optional_attributes", "attribute_specifiers", "attribute_specifier", + "type_like_declaration", "$@4", "$@5", "multiple_instance_identifiers", + "typedef_declaration", "$@6", "typedef_instance_identifiers", + "constructor_prototype", "$@7", "$@8", "$@9", "function_prototype", + "$@10", "$@11", "$@12", "$@13", "$@14", "function_post", + "function_operator", "more_template_declaration", "template_declaration", + "$@15", "template_formal_parameters", + "template_nonempty_formal_parameters", "typename_keyword", + "template_formal_parameter", "template_formal_parameter_type", + "instance_identifier", "$@16", "instance_identifier_and_maybe_trailing_return_type", "maybe_trailing_return_type", "maybe_comma_identifier", "function_parameter_list", "function_parameters", @@ -1167,12 +1172,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-1070) +#define YYPACT_NINF (-1062) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-778) +#define YYTABLE_NINF (-785) #define yytable_value_is_error(Yyn) \ 0 @@ -1181,174 +1186,174 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 383, -1070, 4549, 6313, 82, 61, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -76, -68, -58, -52, -36, 11, - 32, 76, 80, 85, -1070, -1070, 96, 100, 104, 108, - 126, 137, 148, 159, 165, 168, 171, 179, 182, 194, - 205, 215, 230, 255, 264, 268, 6577, 4549, -1070, -1070, - 303, 279, 302, 3413, 318, -1070, 325, 337, 339, 4549, - 4549, 4549, 4549, 4549, 2336, 1461, 4549, 4426, -1070, 319, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, 6432, - 341, -1070, 7, -1070, -1070, 6922, 6200, 6200, -1070, 1698, - 346, -1070, 6200, -1070, -1070, 180, 180, -1070, -1070, -1070, - -1070, -1070, 446, 446, -1070, -1070, -1070, -1070, -1070, 2236, - 354, -67, -1070, 4549, 4549, 6313, 4549, 4549, 4549, 4549, - 4549, 6313, 4549, 6313, 4549, 6313, 4549, 6313, 6313, 6313, - 6313, 6313, 6313, 6313, 6313, 6313, 6313, 6313, 6313, 6313, - 6313, 6313, 6313, 4549, -1070, -1070, 365, 1698, 368, 370, - 446, 446, -1070, 5314, 6313, 4549, 4549, 378, 2336, 63, - 6313, 2336, 4549, 4549, 63, 63, 63, 63, 63, -76, - -58, -52, -36, 11, 32, 80, 96, 104, 2791, 3893, - 5236, 5873, 339, 89, -90, 4426, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, 1698, 1698, - -74, 235, -1070, -1070, 63, 4549, 4549, 4549, 4549, 4549, - 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, - 4549, 4549, 4549, 4549, 4549, 4549, 1698, 3555, 4549, -1070, - -1070, 180, 180, 3697, -1070, -1070, -1070, 6200, -1070, -1070, - -1070, -1070, 6313, -1070, 393, 772, 446, 180, 180, 446, - 446, 223, 398, -1070, 407, -1070, 427, 27, 1243, 1698, - 544, 440, 426, 3124, -1070, 6781, 430, 451, -1070, 434, - 435, 436, 439, 441, 445, 447, 437, 449, 450, 453, - 457, 458, 463, 470, 464, -72, 471, 465, 467, 468, - 473, 476, 483, 484, 485, 492, 493, 495, 498, 4549, - -1070, 6313, 4549, 1698, 1698, -1070, 480, 502, 503, 1698, - 504, 515, 507, 5335, 508, 510, 4549, 4549, -1070, 634, - -1070, 1631, 516, 4549, -1070, -1070, 1957, 4686, 4990, 4990, - 1977, 1977, 1054, 853, 853, -1070, 5629, 5804, 5821, 5883, - 1977, 1977, 277, 277, 63, 63, 63, -1070, -1070, -50, - 2563, -1070, -1070, 513, 5354, 517, 446, 446, 151, 398, - -1070, 398, -1070, 151, 151, -1070, 446, 446, 446, 6214, - 520, 33, -1070, 522, 4549, -1070, -1070, -1070, -1070, -1070, - 2052, 541, -9, -8, -4, 20, -1070, -1070, -1070, 542, - 446, 1698, 1329, -76, -1070, 534, 1698, 538, 543, -1070, - -1070, -1070, 446, 446, -1070, 5373, -1070, 6890, 6890, 6890, - 6890, 6890, -1070, 6890, 2485, 6890, 4549, 559, -1070, 6886, - 546, 547, 551, 553, 555, 556, 6890, 83, 576, 578, - 579, 6890, 6890, 557, 6703, 6890, 6890, 6701, 6890, 6890, - -1070, -1070, -1070, 2773, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, 565, -1070, 567, - -1070, -1070, -1070, -1070, 6313, -1070, 6313, -1070, 6313, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, 5413, 568, 569, -1070, -1070, 573, -1070, -1070, 574, - 4691, 575, -1070, -1070, -1070, -1070, 63, 4426, -1070, 1698, - 235, 43, 6053, -1070, 4426, 4549, -1070, -1070, -1070, -1070, - -1070, 151, 580, 584, 1698, 446, 151, 151, 446, 446, - 581, -1070, 581, 581, 151, 151, 151, 6339, 446, 795, - 355, -1070, -1070, 84, 564, 4426, -1070, 1698, 577, -1070, - -1070, -1070, -1070, 2052, -1070, 674, 1698, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, 585, 593, 595, -1070, -1070, - 6577, -1070, -1070, 597, 2161, 601, -1070, 594, 4549, 4549, - 4549, 4549, 2336, 4549, 591, 56, -1070, -1070, 4710, -1070, - 319, 598, 3839, -1070, 6313, 446, 2436, 1243, 446, 6074, - 6890, -1070, -1070, -1070, -1070, -1070, -1070, 6890, -1070, -1070, - -1070, 5432, -1070, 6781, 1796, -1070, 1698, 1698, 1698, 1698, - 1698, 1698, -1070, -1070, 1698, -1070, -1070, -1070, -1070, -1070, - 4549, -1070, 5059, -1070, 605, -1070, 5180, -1070, 1698, 1698, - 58, -1070, -1070, 307, 602, 6458, -1070, 1698, -1070, 213, - 617, -1070, 4549, 4549, 603, 604, 607, -1070, -1070, -1070, - 4549, -1070, 4549, -1070, 611, -1070, -1070, -1070, -1070, -1070, - -1070, 4549, -1070, 614, -1070, -1070, 741, 4426, 581, 446, - 446, 151, 581, 581, 151, 151, 4549, -15, 246, 283, - 6432, 795, 355, -1070, 620, 446, 795, 795, 446, 446, - 795, -83, 446, -1070, 621, 1698, 446, 355, 355, 446, - 446, 355, 9, 6053, -1070, -1070, 446, 446, -1070, 635, - 3, -1070, 633, -1070, 742, 6313, 6313, 6313, 626, 6313, - 628, 2336, 88, 6313, 2336, 63, 63, 63, 63, 627, - -48, 63, -1070, -1070, 1877, 4549, 4549, 4549, 4549, 4549, - 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, - 4549, 4549, 4549, 4549, 4549, 4549, 1698, 3981, 4549, 629, - 5532, 630, -1070, -1070, 645, -1070, -1070, -1070, 6890, -1070, - -1070, 655, 656, 659, 660, 662, 664, 665, 50, 667, - 5254, 6121, 399, 650, 213, -1070, -1070, 668, 670, -1070, - 671, -1070, 49, 6670, 216, -1070, 663, 391, -1070, -1070, - 3271, -1070, -1070, 651, -11, -3, -1070, -1070, -1070, 5, - 150, -1070, 5591, 572, 6551, 683, -1070, 151, -1070, 581, - 581, 581, 661, 669, 672, 673, 795, 355, -83, 9, - 446, 795, 666, 666, 795, 795, 317, 4549, -1070, -1070, - 446, 446, 355, 678, 678, 355, 355, 328, 4549, -1070, - 741, 679, 161, -1070, 2448, 688, 691, -1070, 446, 681, - 692, 694, 4549, 695, 1698, 686, 698, 689, 5610, 4549, - -1070, -1070, -1070, 1957, 4686, 4990, 4990, 1977, 1977, 1054, - 853, 853, -1070, 5648, 5804, 5821, 5883, 1977, 1977, 277, - 277, 63, 63, 63, -1070, -1070, 206, 3143, -1070, -1070, - -1070, 2052, -1070, 87, -1070, 833, 854, 855, 856, 857, - 862, -1070, -1070, 397, 718, -1070, -1070, -1070, -1070, 6174, - -1070, 717, 736, 5128, -1070, 997, -1070, -1070, 54, -1070, - 651, -1070, -1070, 6313, 43, 722, 731, 651, 43, 216, - 732, 446, 216, 216, 446, 446, 51, 446, -1070, 91, - -1070, -1070, -1070, 1698, 101, -1070, 728, -1070, 748, 749, - 4123, 3716, 745, 446, 651, 5058, 651, 446, 446, 651, - -1070, 176, 400, 446, -1070, -1070, -1070, -1070, 6053, -1070, - -1070, 25, 6577, 180, -1070, 581, 446, 43, 43, 43, - -83, 9, -1070, -1070, 795, 666, 666, 666, 744, 740, - 355, -1070, 678, 678, 678, 750, 746, -1070, -1070, 4549, - 2803, 6664, 6679, 1698, 452, -1070, -1070, 906, -1070, 2448, - -1070, -1070, 753, 754, 755, 756, 757, 4691, 758, -1070, - -1070, 63, 4549, -1070, -1070, 635, -1070, -1070, 777, 220, - 779, 780, 781, 785, -1070, 48, -1070, 997, 6859, 6121, - 1698, 769, 783, 446, 997, 997, 446, 446, 997, 17, - 678, -1070, 400, 788, 773, 774, 651, 404, 778, 348, - 446, 216, 775, 775, 216, 216, -1070, 4549, -1070, -1070, - 43, 776, 409, -1070, -62, 797, 798, -1070, 2949, -1070, - -1070, -1070, 4123, 786, 800, 4426, -1070, -1070, 446, 651, - 395, 948, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, 790, - 789, -1070, 446, 395, 651, 651, 413, 4549, -1070, 4549, - -1070, 3271, 814, -1070, -1070, 741, 799, -1070, 180, -1070, - 802, -1070, 806, 807, 809, -1070, -1070, 666, 43, 446, - 678, 43, 446, 4142, 2809, -1070, 2809, -1070, 2809, -1070, - -1070, 2809, 2809, 2809, -1070, 217, -1070, 4549, 4549, -1070, - 4549, -1070, 4549, 4426, 284, 962, 964, 828, 975, 817, - -1070, 982, 986, 988, 305, 843, 17, 678, -1070, -1070, - -1070, -1070, -1070, -1070, 6313, 446, 997, 997, 997, 4833, - -1070, -1070, 845, -1070, -1070, -1070, -1070, 418, 830, -1070, - -1070, 216, 775, 775, 775, 43, 826, 832, -1070, -1070, - 1698, 4549, 4549, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, - -1070, -1070, 840, -1070, 4265, 651, 395, 446, -1070, -1070, - -1070, 395, 395, -1070, 4426, 1329, 846, 3716, 651, 874, - -1070, -1070, -1070, -1070, -1070, -1070, 858, -1070, 859, -1070, - -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, 221, 224, - 226, 227, -1070, 860, 242, -1070, 875, 873, 249, 861, - 273, -1070, -1070, -1070, -1070, 997, 865, 868, 877, 878, - 1932, 879, 4833, 4833, 4833, 4833, 4833, 2336, 4833, 5710, - -1070, 651, 6053, 43, 866, -1070, 6053, 43, 775, 870, - 446, -1070, 876, -1070, 881, 871, 2632, -1070, 4123, 4426, - 395, -1070, 886, 446, -1070, -1070, 6053, 6053, 6053, -1070, - -1070, -1070, -1070, -1070, -1070, 892, 1039, 894, 1042, -1070, - 1052, 910, 911, 1058, 913, 6313, 6313, 6313, 6313, 899, - 2336, 131, 6313, 131, 131, 131, 131, 131, 901, 286, - 131, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, - 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, - 1698, 4407, 4549, -1070, -1070, 908, -1070, 43, -1070, 915, - -1070, -1070, 6053, -1070, -1070, 1065, -1070, 909, -1070, -1070, - 917, 741, 741, 741, 6053, 6053, -1070, 935, -1070, 919, - 939, -1070, -1070, 288, -1070, 924, 940, 944, 945, 1698, - 936, 947, 4833, -1070, 1180, 5866, 5975, 5975, 2202, 2202, - 1127, 934, 934, -1070, 5691, 5900, 5917, 5926, 536, 536, - 131, 131, 131, -1070, -1070, 297, 3432, -1070, 43, 942, - -1070, 535, -1070, -1070, -1070, 6053, -1070, -1070, -1070, -1070, - -1070, -1070, 1103, 946, 958, 1108, 1111, 966, -1070, 951, - 952, 953, 956, 4936, 954, 131, 4833, -1070, -1070, 6053, - 959, -1070, 535, -1070, -1070, 971, -1070, 960, 298, -1070, - 4549, 4549, 4549, -1070, 4549, 5710, -1070, -1070, 6053, -1070, - 979, 1126, 981, 299, 314, 331, 332, 6053, 741, -1070, - 965, -1070, -1070, -1070, -1070, -1070, 741, -1070, 985, -1070, - -1070 + 188, -1062, 4339, 6032, 93, 349, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, 81, -70, -59, -43, -23, -2, + 24, 44, 60, 91, -1062, -1062, 92, 100, 109, 143, + 146, 154, 177, 180, 192, 200, 243, 251, 255, 264, + 272, 275, 279, 283, 290, 317, 6228, 4339, -1062, -1062, + 216, 324, 346, 3187, 221, -1062, 351, 368, 387, 4339, + 4339, 4339, 4339, 4339, 2888, 581, 4339, 4754, -1062, 119, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + 6097, 389, -1062, 6, -1062, -1062, 1578, 2508, 2508, -1062, + 5064, 414, -1062, 2508, -1062, -1062, 833, 833, -1062, -1062, + -1062, -1062, -1062, 223, 223, -1062, -1062, -1062, -1062, -1062, + 2565, 416, 274, -1062, 4339, 4339, 6032, 4339, 4339, 4339, + 4339, 4339, 6032, 4339, 6032, 4339, 6032, 4339, 6032, 6032, + 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, 6032, + 6032, 6032, 6032, 6032, 4339, -1062, -1062, -1062, 421, 5064, + 423, 433, 223, 223, -1062, 5284, 6032, 4339, 4339, 453, + 2888, 68, 6032, 2888, 4339, 4339, 68, 68, 68, 68, + 68, 81, -59, -43, -23, -2, 24, 60, 92, 109, + 5288, 6413, 6437, 6513, 387, 376, -36, 4754, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + 5064, 5064, -104, 397, -1062, -1062, 68, 4339, 4339, 4339, + 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, + 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 5064, 3331, + 4339, -1062, -1062, 833, 833, 3475, -1062, -1062, -1062, 2508, + -1062, -1062, -1062, -1062, 6032, -1062, 432, 564, 223, 833, + 833, 833, 223, 223, 59, 462, -1062, 463, -1062, 473, + 87, 2050, 5064, 583, 487, 474, 3037, -1062, 6616, 465, + 500, -1062, 494, 496, 506, 511, 516, 525, 528, 483, + 530, 495, 531, 532, 533, 534, 536, 543, -15, 563, + 551, 556, 562, 566, 567, 568, 572, 573, 576, 582, + 584, 587, 4339, -1062, 6032, 4339, 5064, 5064, -1062, 546, + 589, 590, 5064, 592, 574, 593, 5303, 596, 597, 4339, + 4339, -1062, 732, -1062, 1631, 600, 4339, -1062, -1062, 1881, + 4935, 5120, 5120, 555, 555, 485, 298, 298, -1062, 3642, + 5661, 1606, 1809, 555, 555, 132, 132, 68, 68, 68, + -1062, -1062, 28, 2457, -1062, -1062, 604, 5345, 613, 223, + 223, 1104, 462, -1062, 462, -1062, 462, -1062, 1104, 1104, + -1062, 223, 223, 223, 6713, 621, 30, -1062, 622, 4339, + -1062, -1062, -1062, -1062, -1062, 2131, 634, 3, 41, 57, + 106, -1062, -1062, -1062, 640, 223, 5064, 2062, 81, -1062, + -1062, 628, 5064, 632, 638, -1062, -1062, -1062, 223, 223, + -1062, 5366, -1062, 6713, 6713, 6713, 6713, 6713, -1062, 6713, + 5814, 6713, 4339, 656, -1062, 6656, 644, 645, 646, 647, + 648, 649, 6713, 62, 667, 669, 673, 6713, 6713, 660, + 6551, 6713, 6713, 4685, 6713, 6713, -1062, -1062, -1062, 2526, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, 663, -1062, 664, -1062, -1062, -1062, -1062, + 6032, -1062, 6032, -1062, 6032, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, 5385, 665, 671, + -1062, -1062, 666, -1062, -1062, 675, 4483, 678, -1062, -1062, + -1062, -1062, 68, 4754, -1062, 5064, 397, 55, 5806, -1062, + 4754, 4339, -1062, -1062, -1062, -1062, -1062, 1104, 668, 670, + 5064, 223, 1104, 1104, 1104, 223, 223, 674, -1062, 674, + 674, 1104, 1104, 1104, 5889, 6713, 6097, -1062, -1062, 117, + 679, 4754, -1062, 5064, 676, -1062, -1062, -1062, -1062, 2131, + -1062, 763, 5064, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, 686, 697, 701, -1062, -1062, 6228, -1062, -1062, 702, + 4880, 710, -1062, 695, 4339, 4339, 4339, 4339, 2888, 4339, + 700, 42, -1062, -1062, 5644, -1062, 119, 703, 3619, -1062, + 6032, 223, 2581, 2050, 223, -1062, -1062, -1062, -1062, -1062, + -1062, 6713, -1062, -1062, -1062, 5404, -1062, 6616, 3389, -1062, + 5064, 5064, 5064, 5064, 5064, 5064, -1062, -1062, 5064, -1062, + -1062, -1062, -1062, -1062, 4339, -1062, 5109, -1062, 712, -1062, + 5209, -1062, 5064, 5064, 2, -1062, -1062, 457, 706, 6130, + -1062, 5064, -1062, 224, 723, -1062, 4339, 4339, 709, 711, + 713, -1062, -1062, -1062, 4339, -1062, 4339, -1062, 715, -1062, + -1062, -1062, -1062, -1062, -1062, 4339, -1062, 708, -1062, -1062, + 852, 4754, 674, 223, 223, 1104, 674, 674, 674, 1104, + 1104, 4339, -103, 85, 133, 977, 946, 5806, -1062, -1062, + 223, 223, -1062, 736, 58, -1062, 729, -1062, 844, 6032, + 6032, 6032, 721, 6032, 725, 2888, 95, 6032, 2888, 68, + 68, 68, 68, 726, 101, 68, -1062, -1062, 4863, 4339, + 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, + 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, 4339, + 5064, 3763, 4339, 727, 5464, 731, -1062, -1062, 746, -1062, + -1062, -1062, 6713, -1062, -1062, 753, 757, 759, 760, 764, + 769, 770, 80, 772, 4506, 5921, 395, 755, 224, -1062, + -1062, 773, 774, -1062, 775, -1062, 22, 6293, 1248, -1062, + 756, 517, -1062, -1062, 2204, -1062, -1062, 704, 124, 183, + -1062, -1062, -1062, 189, 196, -1062, 5565, 365, 6195, 777, + -1062, 1104, -1062, 674, 674, 674, 762, 778, 784, 788, + 765, 223, 977, 977, 977, 223, 223, 977, -81, 223, + -1062, 767, 5064, 223, 946, 946, 946, 223, 223, 946, + 8, 852, 771, 36, -1062, 6311, 791, 794, -1062, 223, + 790, 782, 798, 4339, 801, 5064, 792, 809, 800, 5584, + 4339, -1062, -1062, -1062, 1881, 4935, 5120, 5120, 555, 555, + 485, 298, 298, -1062, 3930, 5661, 1606, 1809, 555, 555, + 132, 132, 68, 68, 68, -1062, -1062, 207, 2907, -1062, + -1062, -1062, 2131, -1062, 98, -1062, 969, 971, 972, 974, + 975, 976, -1062, -1062, 427, 835, -1062, -1062, -1062, -1062, + 5975, -1062, 5975, 825, 838, 6470, -1062, 744, -1062, -1062, + 20, -1062, 704, -1062, -1062, 6032, 55, 820, 829, 704, + 55, 1248, 830, 223, 1248, 1248, 1248, 223, 223, 56, + 223, -1062, 99, -1062, -1062, -1062, 5064, 405, -1062, 826, + -1062, 848, 850, 3907, 4214, 842, 223, 704, 5043, 704, + 223, 223, 704, -1062, 77, 454, 223, -1062, -1062, -1062, + -1062, 5806, -1062, -1062, 14, 6228, 833, -1062, 674, 223, + 55, 55, 55, 223, 977, 837, 837, 837, 977, 977, + 328, 4339, -1062, -1062, 223, 223, 946, 840, 840, 840, + 946, 946, 336, 4339, -1062, -1062, -1062, 4339, 6378, 6393, + 6408, 5064, 498, -1062, -1062, 998, -1062, 6311, -1062, -1062, + 843, 849, 846, 854, 856, 4483, 865, -1062, -1062, 68, + 4339, -1062, -1062, 736, -1062, -1062, 861, 212, 873, 884, + 889, 895, -1062, 43, -1062, 744, 744, 6696, 5921, 5064, + 885, 897, 223, 744, 744, 744, 223, 223, 744, 65, + 840, -1062, 454, 910, 893, 898, 704, 492, 899, 410, + 223, 1248, 901, 901, 901, 1248, 1248, -1062, 4339, -1062, + -1062, 55, 900, 468, -1062, 89, 916, 920, -1062, 2711, + -1062, -1062, -1062, 3907, 902, 923, 4754, -1062, -1062, 223, + 704, 460, 1071, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + 909, 907, -1062, 223, 460, 704, 704, 515, 4339, -1062, + 4339, -1062, 2204, 931, -1062, -1062, 852, 913, -1062, 833, + -1062, 914, -1062, 917, 919, 924, 977, 837, 837, 837, + 918, 911, 946, -1062, 840, 840, 840, 925, 922, 5625, + 1336, -1062, 1336, -1062, 1336, -1062, -1062, 1336, 1336, 1336, + -1062, 102, -1062, 4339, 4339, -1062, 4339, -1062, 4339, 4754, + 134, 1092, 1093, 948, 1097, 932, -1062, 1099, 1106, 1108, + 157, 956, 65, 840, 65, 840, -1062, -1062, -1062, -1062, + -1062, -1062, 6032, 223, 744, 744, 744, 1788, -1062, -1062, + 965, -1062, -1062, -1062, -1062, 523, 951, -1062, -1062, 1248, + 901, 901, 901, 55, 952, 958, -1062, -1062, 5064, 4339, + 4339, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + -1062, -1062, 955, -1062, 4051, 704, 460, 223, -1062, -1062, + -1062, 460, 460, -1062, 4754, 2062, 964, 4214, 704, 979, + -1062, -1062, -1062, -1062, -1062, -1062, 837, 55, 223, 840, + 55, 223, -1062, -1062, -1062, -1062, -1062, -1062, -1062, -1062, + 230, 252, 254, 266, -1062, 968, 304, -1062, 990, 991, + 325, 982, 339, -1062, -1062, -1062, -1062, -1062, 744, 978, + 985, 988, 994, 4627, 997, 1788, 1788, 1788, 1788, 1788, + 2888, 1788, 1343, -1062, 704, 5806, 55, 989, -1062, 5806, + 55, 901, 992, 223, -1062, 987, -1062, 993, 996, 2382, + -1062, 3907, 4754, 460, -1062, 999, 223, -1062, -1062, 5806, + 5806, 5806, 1000, -1062, 1001, -1062, -1062, -1062, -1062, -1062, + 1011, 1163, 1016, 1168, -1062, 1170, 1023, 1024, 1174, 1027, + 6032, 6032, 6032, 6032, 1012, 2888, 152, 6032, 152, 152, + 152, 152, 152, 1013, 367, 152, 1788, 1788, 1788, 1788, + 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, + 1788, 1788, 1788, 1788, 1788, 5064, 4195, 4339, -1062, -1062, + 1014, -1062, 55, -1062, 1015, -1062, -1062, 5806, -1062, -1062, + 1172, -1062, 1019, -1062, -1062, 1021, 852, 852, 852, -1062, + -1062, -1062, 1036, -1062, 1026, 1042, -1062, -1062, 369, -1062, + 1028, 1034, 1039, 1041, 5064, 1032, 1043, 1788, -1062, 1911, + 4954, 1257, 1257, 888, 888, 1441, 617, 617, -1062, 1363, + 5678, 5743, 4478, 281, 281, 152, 152, 152, -1062, -1062, + 370, 3205, -1062, 55, 1035, -1062, 3534, -1062, -1062, -1062, + 5806, -1062, -1062, -1062, -1062, 5806, 5806, 1200, 1040, 1054, + 1208, 1209, 1062, -1062, 1047, 1049, 1050, 1051, 4731, 1055, + 152, 1788, -1062, -1062, 5806, 1057, -1062, 3534, -1062, -1062, + -1062, -1062, 1067, -1062, 1058, 371, -1062, 4339, 4339, 4339, + -1062, 4339, 1343, -1062, -1062, 5806, -1062, 1072, 1225, 1078, + 372, 378, 380, 383, 5806, 852, -1062, 1064, -1062, -1062, + -1062, -1062, -1062, 852, -1062, 1083, -1062, -1062 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1356,208 +1361,208 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 0, 782, 0, 0, 0, 782, 5, 668, 664, 667, - 778, 779, 670, 671, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 666, 672, 0, 0, 0, 0, + 0, 789, 0, 0, 0, 789, 5, 675, 671, 674, + 785, 786, 677, 678, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 673, 679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 674, 673, - 0, 0, 0, 0, 0, 665, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 782, 0, 3, 602, 669, - 305, 316, 315, 397, 398, 400, 401, 402, 381, 0, - 0, 413, 378, 412, 407, 404, 403, 406, 382, 0, - 0, 383, 405, 415, 399, 782, 782, 4, 307, 308, - 309, 364, 782, 782, 304, 394, 395, 396, 1, 0, - 0, 7, 63, 782, 782, 0, 782, 782, 782, 782, - 782, 0, 782, 0, 782, 0, 782, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 681, 680, + 0, 0, 0, 0, 0, 672, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 789, 0, 3, 609, 676, + 307, 319, 317, 402, 318, 403, 405, 406, 407, 386, + 0, 0, 418, 383, 417, 412, 409, 408, 411, 387, + 0, 0, 388, 410, 420, 404, 789, 789, 4, 309, + 310, 311, 369, 789, 789, 306, 399, 400, 401, 1, + 0, 0, 7, 63, 789, 789, 0, 789, 789, 789, + 789, 789, 0, 789, 0, 789, 0, 789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 782, 331, 337, 0, 0, 0, 627, - 782, 782, 330, 0, 0, 782, 782, 0, 0, 624, - 0, 0, 782, 782, 636, 634, 633, 635, 632, 305, - 397, 398, 400, 401, 402, 413, 412, 407, 404, 403, - 406, 405, 399, 0, 0, 560, 763, 764, 765, 773, - 766, 769, 767, 771, 770, 768, 772, 752, 753, 0, - 0, 782, 758, 751, 631, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 780, - 781, 782, 782, 0, 379, 380, 414, 404, 409, 408, - 411, 306, 0, 410, 0, 291, 782, 782, 782, 782, - 782, 782, 0, 340, 290, 342, 0, 367, 0, 0, - 0, 68, 70, 0, 6, 782, 0, 559, 558, 0, + 0, 0, 0, 0, 789, 335, 341, 342, 0, 0, + 0, 634, 789, 789, 334, 0, 0, 789, 789, 0, + 0, 631, 0, 0, 789, 789, 643, 641, 640, 642, + 639, 307, 402, 403, 405, 406, 407, 418, 417, 412, + 409, 408, 411, 410, 404, 0, 0, 567, 770, 771, + 772, 780, 773, 776, 774, 778, 777, 775, 779, 759, + 760, 0, 0, 789, 765, 758, 638, 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, - 332, 0, 782, 0, 0, 660, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 663, 756, - 759, 0, 782, 0, 754, 220, 645, 646, 647, 648, - 649, 650, 651, 654, 655, 662, 0, 642, 643, 644, - 652, 653, 640, 641, 637, 638, 639, 661, 659, 0, - 0, 341, 343, 0, 0, 0, 782, 782, 782, 0, - 293, 0, 294, 782, 782, 205, 782, 782, 782, 0, - 0, 206, 209, 63, 782, 782, 774, 775, 776, 777, - 0, 369, 763, 764, 765, 767, 344, 310, 346, 0, - 782, 0, 782, 318, 329, 0, 0, 0, 0, 320, - 321, 322, 782, 782, 317, 0, 22, 782, 782, 782, - 782, 782, 23, 782, 782, 782, 0, 0, 43, 782, - 0, 0, 0, 0, 0, 0, 782, 782, 0, 0, - 0, 782, 782, 0, 782, 782, 782, 0, 782, 782, - 18, 8, 20, 0, 16, 17, 19, 78, 45, 609, - 608, 626, 616, 611, 613, 614, 615, 0, 622, 0, - 621, 677, 610, 678, 0, 680, 0, 681, 0, 684, - 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, - 618, 0, 0, 0, 334, 333, 0, 617, 620, 0, - 623, 0, 629, 630, 619, 612, 603, 561, 757, 0, - 782, 782, 782, 103, 221, 0, 658, 657, 313, 312, - 314, 782, 292, 0, 281, 782, 782, 782, 782, 782, - 297, 280, 296, 295, 782, 782, 782, 0, 782, 782, - 0, 782, 208, 782, 0, 557, 556, 375, 0, 372, - 371, 366, 370, 0, 782, 782, 0, 64, 69, 744, - 740, 743, 746, 747, 212, 0, 0, 0, 742, 748, - 0, 750, 749, 0, 0, 0, 741, 0, 0, 0, - 0, 0, 0, 0, 0, 213, 247, 216, 248, 695, - 745, 63, 0, 319, 0, 782, 367, 0, 782, 782, - 782, 60, 46, 57, 58, 59, 61, 782, 47, 160, - 52, 0, 24, 782, 0, 50, 0, 0, 0, 0, - 0, 0, 56, 782, 0, 27, 26, 25, 54, 49, - 0, 164, 0, 163, 0, 62, 0, 21, 0, 0, - 782, 51, 55, 339, 318, 0, 14, 0, 75, 0, - 338, 72, 0, 0, 0, 0, 0, 335, 336, 628, - 0, 625, 0, 755, 0, 111, 104, 113, 108, 112, - 106, 0, 109, 0, 105, 110, 782, 656, 298, 782, - 782, 782, 283, 284, 782, 782, 782, 0, 0, 0, - 0, 782, 0, 246, 0, 782, 782, 782, 782, 782, - 782, 782, 782, 258, 0, 269, 782, 0, 0, 782, - 782, 0, 782, 782, 207, 210, 782, 782, 365, 311, - 782, 349, 782, 348, 0, 0, 0, 0, 705, 0, - 0, 0, 702, 0, 0, 713, 712, 711, 710, 0, - 0, 709, 71, 215, 782, 0, 0, 0, 0, 0, + 0, 787, 788, 789, 789, 0, 384, 385, 419, 409, + 414, 413, 416, 308, 0, 415, 0, 292, 789, 789, + 789, 789, 789, 789, 789, 0, 345, 291, 347, 0, + 372, 0, 0, 0, 68, 70, 0, 6, 789, 0, + 566, 565, 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, 67, 325, 369, 323, 66, 48, 782, 44, - 782, 0, 0, 0, 0, 0, 0, 0, 782, 0, - 0, 782, 339, 318, 0, 338, 81, 0, 0, 390, - 0, 86, 90, 0, 782, 782, 0, 0, 416, 227, - 0, 77, 74, 0, 0, 0, 679, 682, 683, 0, - 0, 782, 0, 0, 0, 0, 199, 782, 282, 287, - 286, 285, 0, 0, 0, 0, 782, 0, 782, 782, - 782, 782, 260, 261, 782, 782, 0, 782, 240, 259, - 782, 782, 0, 271, 272, 0, 0, 0, 782, 243, - 782, 299, 376, 345, 0, 0, 351, 350, 782, 0, - 0, 0, 782, 0, 0, 0, 0, 0, 0, 0, - 739, 214, 217, 722, 723, 724, 725, 726, 727, 728, - 731, 732, 738, 0, 719, 720, 721, 729, 730, 717, - 718, 714, 715, 716, 737, 736, 0, 0, 327, 326, - 328, 0, 53, 782, 386, 0, 0, 0, 0, 0, - 0, 388, 384, 0, 0, 181, 182, 183, 169, 0, - 170, 0, 166, 171, 167, 782, 180, 165, 0, 83, - 0, 393, 392, 0, 782, 0, 0, 0, 782, 782, - 0, 782, 782, 782, 782, 782, 0, 782, 249, 782, - 92, 416, 222, 0, 0, 76, 0, 782, 0, 0, - 782, 0, 0, 782, 0, 0, 0, 782, 782, 0, - 73, 782, 782, 782, 606, 605, 607, 604, 782, 107, - 114, 0, 0, 782, 416, 288, 782, 782, 782, 782, - 782, 782, 241, 244, 782, 264, 263, 262, 268, 0, - 0, 270, 275, 274, 273, 279, 0, 300, 373, 0, - 771, 0, 770, 0, 0, 352, 354, 760, 782, 0, - 65, 704, 0, 0, 0, 0, 0, 701, 0, 707, - 708, 696, 0, 735, 734, 324, 389, 782, 0, 0, - 782, 0, 0, 0, 782, 0, 42, 782, 782, 0, - 174, 172, 0, 782, 782, 782, 782, 782, 782, 782, - 178, 82, 782, 0, 0, 0, 0, 0, 0, 0, - 782, 782, 251, 252, 782, 782, 98, 782, 250, 15, - 782, 0, 0, 9, 0, 0, 0, 228, 417, 418, - 230, 231, 782, 0, 234, 236, 233, 229, 782, 0, - 187, 0, 127, 128, 129, 130, 131, 132, 135, 136, - 137, 152, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 156, 155, 139, 138, 124, 126, - 125, 133, 134, 122, 123, 119, 120, 121, 118, 0, - 0, 117, 782, 188, 0, 0, 0, 0, 195, 782, - 197, 0, 0, 79, 184, 782, 0, 115, 782, 200, - 0, 289, 0, 0, 0, 242, 245, 265, 782, 782, - 276, 782, 782, 377, 0, 357, 0, 356, 0, 355, - 761, 0, 0, 0, 762, 782, 353, 0, 0, 706, - 0, 703, 0, 733, 782, 0, 0, 0, 0, 0, - 202, 0, 0, 0, 782, 0, 782, 179, 159, 157, - 162, 158, 168, 175, 0, 782, 782, 782, 782, 0, - 176, 218, 0, 84, 391, 782, 88, 0, 0, 782, - 100, 782, 255, 254, 253, 782, 0, 0, 223, 416, - 0, 782, 782, 225, 226, 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, 479, 480, 481, 482, 483, 505, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, - 525, 526, 527, 528, 529, 530, 531, 532, 782, 549, - 550, 551, 542, 554, 538, 539, 537, 544, 545, 533, - 534, 535, 536, 543, 541, 548, 546, 552, 547, 540, - 553, 419, 0, 232, 235, 0, 191, 782, 154, 153, - 185, 190, 189, 194, 198, 782, 0, 221, 0, 0, - 116, 201, 675, 782, 782, 782, 0, 266, 0, 277, - 374, 363, 362, 361, 360, 359, 358, 347, 0, 0, - 0, 0, 387, 0, 0, 34, 203, 0, 0, 0, - 0, 385, 41, 177, 173, 782, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, - 562, 0, 782, 782, 0, 94, 782, 782, 256, 0, - 782, 782, 0, 10, 0, 0, 0, 237, 782, 238, - 192, 186, 0, 782, 80, 416, 782, 782, 782, 782, - 782, 699, 698, 700, 697, 0, 0, 0, 0, 28, + 0, 0, 0, 336, 0, 789, 0, 0, 667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 569, 0, 577, 575, 574, 576, 573, 0, 0, - 572, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 670, 763, 766, 0, 789, 0, 761, 222, 652, + 653, 654, 655, 656, 657, 658, 661, 662, 669, 0, + 649, 650, 651, 659, 660, 647, 648, 644, 645, 646, + 668, 666, 0, 0, 346, 348, 0, 0, 0, 789, + 789, 789, 0, 294, 0, 296, 0, 295, 789, 789, + 207, 789, 789, 789, 789, 0, 208, 211, 63, 789, + 789, 781, 782, 783, 784, 0, 374, 770, 771, 772, + 774, 349, 312, 351, 0, 789, 0, 789, 321, 332, + 333, 0, 0, 0, 0, 323, 324, 325, 789, 789, + 320, 0, 22, 789, 789, 789, 789, 789, 23, 789, + 789, 789, 0, 0, 43, 789, 0, 0, 0, 0, + 0, 0, 789, 789, 0, 0, 0, 789, 789, 0, + 789, 789, 789, 0, 789, 789, 18, 8, 20, 0, + 16, 17, 19, 78, 45, 616, 615, 633, 623, 618, + 620, 621, 622, 0, 629, 0, 628, 684, 617, 685, + 0, 687, 0, 688, 0, 691, 692, 693, 694, 695, + 696, 697, 698, 699, 700, 701, 625, 0, 0, 0, + 338, 337, 0, 624, 627, 0, 630, 0, 636, 637, + 626, 619, 610, 568, 764, 0, 789, 789, 789, 103, + 223, 0, 665, 664, 315, 314, 316, 789, 293, 0, + 281, 789, 789, 789, 789, 789, 789, 299, 280, 298, + 297, 789, 789, 789, 789, 789, 0, 789, 210, 789, + 0, 564, 563, 380, 0, 377, 376, 371, 375, 0, + 789, 789, 0, 64, 69, 751, 747, 750, 753, 754, + 214, 0, 0, 0, 749, 755, 0, 757, 756, 0, + 0, 0, 748, 0, 0, 0, 0, 0, 0, 0, + 0, 215, 244, 218, 245, 702, 752, 63, 0, 322, + 0, 789, 372, 0, 789, 60, 46, 57, 58, 59, + 61, 789, 47, 160, 52, 0, 24, 789, 0, 50, + 0, 0, 0, 0, 0, 0, 56, 789, 0, 27, + 26, 25, 54, 49, 0, 164, 0, 163, 0, 62, + 0, 21, 0, 0, 789, 51, 55, 344, 321, 0, + 14, 0, 75, 0, 343, 72, 0, 0, 0, 0, + 0, 339, 340, 635, 0, 632, 0, 762, 0, 111, + 104, 113, 108, 112, 106, 0, 109, 0, 105, 110, + 789, 663, 300, 789, 789, 789, 283, 285, 284, 789, + 789, 789, 0, 0, 0, 789, 0, 789, 209, 212, + 789, 789, 370, 313, 789, 354, 789, 353, 0, 0, + 0, 0, 712, 0, 0, 0, 709, 0, 0, 720, + 719, 718, 717, 0, 0, 716, 71, 217, 789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 85, 87, 0, 96, 782, 91, 0, - 782, 257, 782, 224, 13, 11, 555, 0, 782, 193, - 0, 782, 782, 782, 782, 782, 37, 782, 35, 0, - 0, 38, 40, 0, 30, 0, 0, 0, 0, 0, - 0, 0, 0, 601, 586, 587, 588, 589, 590, 591, - 592, 593, 594, 600, 0, 583, 584, 585, 581, 582, - 578, 579, 580, 599, 598, 0, 0, 782, 782, 0, - 782, 99, 93, 12, 239, 782, 676, 303, 302, 301, - 267, 278, 0, 0, 0, 0, 0, 0, 571, 0, - 0, 0, 0, 568, 0, 563, 0, 597, 596, 782, - 0, 782, 101, 196, 203, 0, 29, 0, 0, 31, - 0, 0, 0, 570, 0, 595, 89, 782, 782, 36, - 0, 0, 0, 0, 0, 0, 0, 782, 782, 39, - 0, 32, 566, 565, 567, 564, 782, 95, 0, 97, - 33 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 67, 328, 374, 326, + 66, 48, 789, 44, 789, 0, 0, 0, 0, 0, + 0, 0, 789, 0, 0, 789, 344, 321, 0, 343, + 81, 0, 0, 395, 0, 86, 90, 0, 789, 789, + 0, 0, 421, 229, 0, 77, 74, 0, 0, 0, + 686, 689, 690, 0, 0, 789, 0, 0, 0, 0, + 201, 789, 282, 288, 287, 286, 0, 0, 0, 0, + 0, 789, 789, 789, 789, 789, 789, 789, 789, 789, + 256, 0, 268, 789, 0, 0, 0, 789, 789, 0, + 789, 789, 301, 381, 350, 0, 0, 356, 355, 789, + 0, 0, 0, 789, 0, 0, 0, 0, 0, 0, + 0, 746, 216, 219, 729, 730, 731, 732, 733, 734, + 735, 738, 739, 745, 0, 726, 727, 728, 736, 737, + 724, 725, 721, 722, 723, 744, 743, 0, 0, 330, + 329, 331, 0, 53, 789, 391, 0, 0, 0, 0, + 0, 0, 393, 389, 0, 0, 183, 184, 185, 169, + 0, 170, 0, 0, 166, 171, 167, 789, 182, 165, + 0, 83, 0, 398, 397, 0, 789, 0, 0, 0, + 789, 789, 0, 789, 789, 789, 789, 789, 789, 0, + 789, 246, 789, 92, 421, 224, 0, 0, 76, 0, + 789, 0, 0, 789, 0, 0, 789, 0, 0, 0, + 789, 789, 0, 73, 789, 789, 789, 613, 612, 614, + 611, 789, 107, 114, 0, 0, 789, 421, 289, 789, + 789, 789, 789, 789, 789, 258, 260, 259, 789, 789, + 0, 789, 242, 257, 789, 789, 0, 270, 272, 271, + 0, 0, 0, 789, 243, 302, 378, 0, 778, 0, + 777, 0, 0, 357, 359, 767, 789, 0, 65, 711, + 0, 0, 0, 0, 0, 708, 0, 714, 715, 703, + 0, 742, 741, 327, 394, 789, 0, 0, 789, 0, + 0, 0, 789, 0, 42, 789, 789, 789, 0, 174, + 172, 0, 789, 789, 789, 789, 789, 789, 789, 789, + 178, 82, 789, 0, 0, 0, 0, 0, 0, 0, + 789, 789, 248, 250, 249, 789, 789, 98, 789, 247, + 15, 789, 0, 0, 9, 0, 0, 0, 230, 422, + 423, 232, 233, 789, 0, 236, 238, 235, 231, 789, + 0, 189, 0, 127, 128, 129, 130, 131, 132, 135, + 136, 137, 152, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 156, 155, 139, 138, 124, + 126, 125, 133, 134, 122, 123, 119, 120, 121, 118, + 0, 0, 117, 789, 190, 0, 0, 0, 0, 197, + 789, 199, 0, 0, 79, 186, 789, 0, 115, 789, + 202, 0, 290, 0, 0, 0, 789, 263, 262, 261, + 267, 0, 0, 269, 275, 274, 273, 279, 0, 382, + 0, 362, 0, 361, 0, 360, 768, 0, 0, 0, + 769, 789, 358, 0, 0, 713, 0, 710, 0, 740, + 789, 0, 0, 0, 0, 0, 204, 0, 0, 0, + 789, 0, 789, 179, 789, 181, 159, 157, 162, 158, + 168, 175, 0, 789, 789, 789, 789, 0, 176, 220, + 0, 84, 396, 789, 88, 0, 0, 789, 100, 789, + 253, 252, 251, 789, 0, 0, 225, 421, 0, 789, + 789, 227, 228, 425, 426, 430, 427, 435, 428, 429, + 431, 432, 433, 434, 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, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 511, 490, + 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 789, 556, + 557, 558, 549, 561, 545, 546, 544, 551, 552, 540, + 541, 542, 543, 550, 548, 555, 553, 559, 554, 547, + 560, 424, 0, 234, 237, 0, 193, 789, 154, 153, + 187, 192, 191, 196, 200, 789, 0, 223, 0, 0, + 116, 203, 682, 789, 789, 789, 264, 789, 789, 276, + 789, 789, 379, 368, 367, 366, 365, 364, 363, 352, + 0, 0, 0, 0, 392, 0, 0, 34, 205, 0, + 0, 0, 0, 390, 41, 177, 180, 173, 789, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 221, 569, 0, 789, 789, 0, 94, 789, + 789, 254, 0, 789, 789, 0, 10, 0, 0, 0, + 239, 789, 240, 194, 188, 0, 789, 80, 421, 789, + 789, 789, 0, 265, 0, 277, 706, 705, 707, 704, + 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 576, 0, 584, 582, + 581, 583, 580, 0, 0, 579, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 85, 87, + 0, 96, 789, 91, 0, 789, 255, 789, 226, 13, + 11, 562, 0, 789, 195, 0, 789, 789, 789, 789, + 789, 37, 789, 35, 0, 0, 38, 40, 0, 30, + 0, 0, 0, 0, 0, 0, 0, 0, 608, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 607, 0, + 590, 591, 592, 588, 589, 585, 586, 587, 606, 605, + 0, 0, 789, 789, 0, 789, 99, 93, 12, 241, + 789, 683, 305, 304, 303, 789, 789, 0, 0, 0, + 0, 0, 0, 578, 0, 0, 0, 0, 575, 0, + 570, 0, 604, 603, 789, 0, 789, 101, 198, 266, + 278, 205, 0, 29, 0, 0, 31, 0, 0, 0, + 577, 0, 602, 89, 789, 789, 36, 0, 0, 0, + 0, 0, 0, 0, 789, 789, 39, 0, 32, 573, + 572, 574, 571, 789, 95, 0, 97, 33 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1070, -1070, -525, -1070, -1070, -102, -1070, -1070, 540, -420, - -1070, 475, 729, -359, -1070, -419, -1070, -1070, -243, -1070, - -1070, -307, -1070, -1070, -1070, -1070, 532, -1070, -1070, -1070, - -1070, -1070, -485, -1070, -1070, -402, -1070, -1070, -1070, -1070, - 111, 244, -890, -1070, -912, -790, -392, -456, -1070, -229, - -1070, -38, -483, -1070, -755, -1069, -1070, -390, 438, -873, - -496, -486, -41, -75, -69, -63, -237, -540, 545, 154, - -238, -1070, -211, -1070, -1070, -1070, -1070, 156, -200, -1070, - -1070, -515, -1070, -1070, -19, 34, -1070, -1070, -1070, -1070, - -22, -51, -1070, -1070, -929, -1070, -185, -1070, -645, -113, - -7, 327, 1514, -254, 613, -1070, -1070, 863, -925, 1359, - 210, -384, -1 + -1062, -1062, -525, -1062, -1062, 4, -1062, -1062, 636, -428, + -1062, -354, 210, -358, -1062, -426, -1062, -1062, -153, -1062, + -1062, -208, -1062, -1062, -1062, -1062, 620, -1062, -1062, -1062, + -1062, -1062, -448, -1062, -1062, -414, -1062, -1062, -1062, -1062, + 209, -412, -746, -1062, -886, -775, -311, -406, -1062, -142, + -1062, -644, -485, -1062, -731, -1061, -1062, -381, 537, -844, + -643, 258, -39, -96, -77, -57, -236, -539, 633, 156, + -235, -1062, -223, -1062, -1062, -1062, -1062, 257, -222, -1062, + -1062, -521, -1062, -1062, -27, -22, -1062, -1062, -1062, -1062, + -28, -47, -1062, -1062, -898, -1062, -92, -1062, -623, -110, + -60, 571, 1273, 285, 692, -1062, -1062, 943, -822, 1127, + -116, -395, -1 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 4, 5, 265, 1082, 1083, 440, 795, 441, 442, - 603, 443, 369, 260, 261, 444, 803, 797, 970, 627, - 930, 1061, 638, 934, 1453, 938, 639, 1080, 1537, 1598, - 1235, 1457, 502, 1142, 1210, 445, 624, 921, 922, 923, - 924, 925, 971, 1395, 972, 815, 1199, 370, 371, 574, - 575, 1220, 324, 955, 801, 1093, 1094, 372, 577, 946, - 832, 843, 252, 253, 95, 96, 640, 149, 641, 97, - 98, 544, 99, 545, 712, 855, 856, 1015, 100, 256, - 101, 541, 537, 538, 102, 103, 446, 1044, 1037, 447, - 104, 105, 106, 107, 956, 957, 1088, 1381, 534, 266, - 267, 1625, 185, 68, 578, 579, 200, 201, 1016, 1017, - 692, 69, 112 + 0, 4, 5, 268, 1073, 1074, 446, 779, 447, 448, + 607, 449, 374, 263, 264, 450, 787, 781, 953, 631, + 912, 1051, 642, 916, 1456, 920, 643, 1071, 1542, 1603, + 1233, 1460, 508, 1133, 1208, 451, 628, 903, 904, 905, + 906, 907, 954, 1395, 955, 799, 1195, 375, 376, 580, + 581, 1218, 327, 938, 785, 1084, 1085, 377, 583, 929, + 975, 987, 255, 256, 96, 97, 644, 151, 645, 98, + 99, 550, 100, 551, 696, 836, 837, 1003, 101, 259, + 102, 547, 543, 544, 103, 104, 452, 1032, 1025, 453, + 105, 106, 107, 108, 939, 940, 1079, 1381, 540, 269, + 270, 1630, 187, 68, 584, 585, 202, 203, 1004, 1005, + 819, 69, 113 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1565,1684 +1570,1642 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 6, 269, 576, 271, 272, 273, 274, 275, 580, 277, - 231, 279, 599, 281, 621, 623, 232, 653, 1062, 710, - 718, 255, 1081, 1382, 152, 399, 398, 150, 709, 929, - 298, 822, 548, 691, 238, 239, 240, 376, 377, 378, - 1156, 243, 307, 308, 702, 654, 703, 1067, 532, 314, - 315, 109, 400, 110, 229, 1160, 230, 184, 365, 935, - 1007, -2, 936, 401, 203, 317, 1069, 936, 234, 1072, - 1073, 733, -774, -775, 1100, 323, 1143, -776, 113, 1146, - 151, 321, 108, 466, 318, 1175, 1177, 1179, 778, 264, - 837, 109, 1241, 110, 254, 254, 114, 214, 109, 704, - 110, -777, 467, 322, 115, 317, 109, 317, 110, 109, - 1242, 110, 268, 268, 116, 268, 268, 268, 268, 268, - 117, 268, 744, 268, 506, 268, 870, 238, 239, 240, - 243, 109, 109, 110, 110, 109, 118, 110, 683, 109, - 235, 110, 268, 705, 317, -774, -775, 379, -774, -775, - -776, 184, 317, -776, 268, 268, 351, 352, 676, 823, - 317, 268, 268, 974, 513, 1520, 514, 323, 515, 1085, - 1086, 975, 360, 362, -777, 1219, 1227, -777, 853, 976, - 580, 1150, 848, 119, 380, 828, 238, 714, 533, 483, - 837, 833, 999, 244, 836, 245, 829, 246, 1232, 1157, - 325, 1233, 1234, 1006, 120, 399, 359, 361, 838, 1386, - 814, 734, 844, 516, 789, 847, 937, 1153, 183, 849, - 349, 937, 1205, 1076, 1077, 911, 376, 377, 378, 940, - 254, 254, 400, 941, 226, 227, 228, 613, 365, 121, - 366, 404, 247, 401, 402, 903, 254, 254, 123, 1411, - 373, 1412, 122, 1413, 1391, 1392, 1414, 1415, 1416, 756, - 757, 758, 1036, 316, 448, 109, 1079, 110, 124, 270, - 949, 109, 125, 110, 983, 276, 126, 278, 942, 280, - 127, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 403, 128, 517, - 529, 268, 1530, 1531, 1532, 317, 530, 1223, 306, 129, - 1462, 214, 310, 518, 311, 312, 1008, 520, 519, 1009, - 130, 503, 522, 523, 977, 229, 978, 230, 248, 542, - 990, 131, 109, 1147, 110, 995, 379, 132, 996, 997, - 133, 991, 249, 134, 576, 992, 993, 250, 1148, 1149, - 580, 135, 251, 109, 136, 110, 1002, 521, 1458, 1003, - 1004, 317, 521, 521, 943, 1399, 137, 798, 694, 799, - 695, 800, 696, 536, 539, 1196, 317, 138, 944, 317, - 1033, 317, 317, 945, 399, 367, 1035, 139, 399, 785, - 368, 581, 1417, 323, 1197, 1481, 355, 1486, 1482, 1547, - 1483, 1484, 140, 10, 1490, 11, 448, 448, 448, 448, - 448, 400, 448, 448, 448, 400, 1487, 697, 448, 676, - 824, 404, 401, 1491, 402, 448, 401, 141, 1493, 1059, - 448, 448, 1236, 448, 448, 448, 142, 448, 448, 1060, - 143, 317, 1158, 1616, 223, 224, 225, 1494, 226, 227, - 228, 155, 317, 1651, 317, 482, 676, 825, 681, 1422, - 1573, -102, 1617, -102, 682, -102, 154, 381, 388, 317, - 668, 1627, 1652, 1662, 156, 672, 673, 403, 1064, 791, - 1431, 160, 1068, 677, 678, 679, 317, 317, 1663, 1152, - 837, 998, 542, 1185, 109, 1470, 110, 161, 1167, 325, - 373, 848, 1005, 698, 1396, 1664, 1665, 1165, 1166, 162, - 521, 163, 1194, 233, 1170, 521, 521, 699, 242, 1204, - 1230, 1077, 700, 521, 521, 521, 263, 701, 693, 1045, - 503, 1162, 1163, 1164, 1, 2, 3, 299, 152, 1062, - 301, 150, 302, 6, 713, 951, 1550, 952, 953, 954, - 309, 1206, 655, -102, 798, -102, 799, -102, 1151, 833, - 356, 1207, 836, 1239, 1240, 730, 794, 1148, 1149, 844, - 1520, 374, 847, 1181, 1182, 1183, 1148, 1149, 1228, 1222, - -280, 375, 186, 187, 188, 1148, 1149, 1393, 448, 448, - 1148, 1149, 1454, 390, 151, 391, 448, 656, 392, 657, - 404, 457, 448, 402, 404, 449, 317, 402, 450, 451, - 452, 826, 6, 453, 459, 454, 658, 827, 644, 455, - 645, 456, 646, 458, 1237, 464, 468, 460, 1208, 1209, - 819, 461, 462, 820, 821, 804, 805, 463, 465, 469, - 189, 470, 471, 809, 486, 810, 1211, 472, 659, 498, - 473, 660, 661, 190, 191, 662, 403, 474, 475, 476, - 403, 376, 377, 378, 962, 816, 477, 478, 963, 479, - 521, 663, 480, 521, 521, 536, 487, 488, 490, 491, - 693, 492, 494, 664, 495, 693, 693, 508, 501, 693, - 325, 510, 192, 193, 531, 194, -204, 665, 543, 546, - 195, 325, 196, 1527, 1528, 1529, 582, 1530, 1531, 1532, - 584, 857, 1406, 964, 730, 1408, 602, 585, 606, 607, - 995, 996, 997, 608, 939, 609, 729, 610, 611, 620, - 1002, 1003, 1004, 615, 111, 616, 617, 642, 761, 643, - 1452, 706, 648, 649, 1456, 650, 980, 652, 651, 1024, - 896, 669, 708, -282, 676, 711, 716, 715, 717, 926, - 719, 1607, 1608, 1609, 723, 732, 724, 448, 781, 6, - 965, 379, -211, 802, 792, 814, 985, 806, 807, 1459, - 927, 808, 186, 187, 188, 811, 813, 830, 840, -368, - 854, 858, 152, 948, 6, 150, 764, 388, 862, 966, - 864, 869, 901, 898, 900, 376, 377, 378, 684, 904, - 503, 905, 685, 967, 906, 907, 521, 908, 968, 909, - 910, 912, 928, 969, 931, 693, 932, 325, 325, 933, - 693, 257, 258, 693, 693, 950, 536, 984, 986, 837, - 189, 987, 1018, 1038, 988, 989, 1019, 536, 151, 816, - 542, 848, -289, 190, 191, 1021, 1022, 686, 1023, 1025, - 1027, 268, 1028, 1029, 1039, 1040, 1041, 1042, 1667, 859, - 860, 861, 1043, 863, 1046, 865, 1669, 866, 867, 303, - 304, 1048, 591, 592, 593, 594, 595, 214, 596, 598, - 600, 1049, 192, 193, 605, 194, 1065, 926, 1066, 1070, - 195, 612, 196, 1087, 1090, 1091, 618, 619, 1159, 622, - 625, 626, 1098, 631, 632, 379, 1168, 1169, 1476, 1477, - 1478, 1184, 1171, 1172, 693, 1187, 1188, 1214, 1190, 1189, - 1192, 1191, 1195, 373, 1198, 1201, 1202, 373, 948, 1167, - 1203, 948, 948, 687, 1224, -281, 1226, 1225, 1077, 1170, - 1215, 1238, 1229, 1243, 1244, 1384, 1089, 688, 1387, 1096, - 152, 1383, 689, 150, 1388, 1450, 1389, 690, 1520, 1398, - 816, 325, 1423, 1400, 1424, 358, 1542, 1402, 363, 364, - 1403, 1404, 254, 1405, 1425, 1426, 373, 373, 373, 325, - 325, 1427, 1428, 693, 1554, 1555, 1429, 1535, 1430, 1432, - 1451, 1539, 1455, 1460, 947, 576, 1461, 376, 377, 378, - 1052, 580, 695, 973, 1053, 1467, 151, 6, 221, 222, - 223, 224, 225, 1473, 226, 227, 228, 926, 1475, 1489, - 1488, 1496, 1479, 1480, 1485, 1492, 6, 1495, 1536, 1200, - 1497, 1498, 1502, 6, 1540, 1545, 693, 448, 1556, 1557, - 1558, 1543, 1559, 693, 693, 1601, 1544, 693, 1221, 1054, - 1548, 325, 1560, 1605, 598, 605, 1561, 1562, 1563, 1564, - 948, 1569, 767, 948, 948, 1572, 536, 212, 213, 373, - 1603, 1599, 1597, 1401, 1604, 511, 512, 1063, 214, 1600, - 1612, 1096, 1606, 1614, 1615, 524, 525, 526, 1618, 1525, - 1526, 1527, 1528, 1529, 1619, 1530, 1531, 1532, 1620, 1621, - 1623, 1624, 1629, 1634, 1636, 1632, 1631, 379, 1637, 547, - 1635, 1638, 1639, 1640, 1641, 1642, 1644, 1649, 1464, 1465, - 1643, 586, 587, 1647, 1650, 1659, 1660, 1661, 1463, 1668, - 973, 1670, 1630, 769, 1533, 1055, 1648, 973, 536, 947, - 1518, 1519, 947, 947, 816, 1474, 614, 254, 784, 1056, - 1212, 1520, 1657, 1047, 1057, 1613, 1472, 373, 1433, 1058, - 373, 786, 872, 1466, 973, 1186, 973, 722, 0, 973, - 1418, 1419, 0, 1420, 500, 1421, 1450, 0, 1450, 1450, - 1450, 1450, 1450, 0, 1450, 0, 0, 1512, 1513, 1514, - 1515, 1516, 1517, 1518, 1519, 1221, 0, 0, 0, 0, - 0, 0, 0, 0, 1520, 693, 693, 693, 0, 221, - 222, 223, 224, 225, 503, 226, 227, 228, 503, 0, - 948, 666, 0, 0, 373, 0, 0, 0, 0, 0, - 268, 268, 0, 902, 671, 0, 0, 674, 675, 0, - 0, 0, 0, 382, 383, 384, 0, 1450, 1450, 1450, - 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, - 1450, 1450, 1450, 1450, 1450, 1450, 973, 0, 0, 0, - 0, 947, 0, 0, 947, 947, 0, 0, 0, 0, - 0, 0, 1525, 1526, 1527, 1528, 1529, 0, 1530, 1531, - 1532, 0, 0, 0, 0, 0, 0, 0, 0, 973, - 0, 189, 0, 0, 762, 0, 0, 766, 1450, 0, - 0, 0, 0, 0, 190, 191, 0, 0, 0, 0, - 0, 0, 549, 550, 551, 10, 0, 11, 552, 553, - 1522, 1523, 1524, 0, 554, 1525, 1526, 1527, 1528, 1529, - 0, 1530, 1531, 1532, 973, 973, 0, 1089, 0, 790, - 0, 0, 0, 385, 193, 0, 194, 0, 1434, 1450, - 0, 195, 1450, 196, 0, 0, 0, 109, 0, 110, - 555, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 581, 556, 0, 386, 817, 818, - 557, 0, 503, 503, 503, 0, 0, 0, 0, 558, - 559, 0, 0, 0, 831, 0, 0, 834, 835, 0, - 0, 839, 0, 0, 202, 842, 0, 0, 845, 846, - 0, 0, 850, 0, 693, 851, 852, 0, 0, 111, - 1509, 947, 0, 0, 560, 0, 0, 561, 241, 562, - 0, 0, 373, 0, 563, 0, 373, 0, 564, 0, - 503, 565, 0, 0, 0, 0, 566, 1096, 262, 567, - 0, 186, 187, 188, 0, 0, 0, 0, 503, 503, + 6, 258, 586, 233, 186, 272, 603, 274, 275, 276, + 277, 278, 625, 280, 627, 282, 582, 284, 154, 152, + 536, 657, 1382, 234, 153, 694, 1052, 702, 693, 1147, + 404, 405, 917, 918, 301, 918, 1072, 911, 554, 240, + 241, 242, 818, 406, 407, 538, 245, 310, 311, 231, + 110, 232, 111, 324, 317, 318, 995, 717, 806, 595, + 596, 597, 598, 599, 205, 600, 602, 604, 236, 1151, + 370, 609, 681, 807, 370, 325, 371, 1059, 616, 326, + 1062, 1063, 1064, 622, 623, -781, 626, 629, 630, 687, + 635, 636, 762, 109, 981, 257, 257, 381, 382, 383, + 186, 658, 216, 110, 116, 111, 110, 110, 111, 111, + 110, 798, 111, 271, 271, 117, 271, 271, 271, 271, + 271, 320, 271, -782, 271, 231, 271, 232, 110, 728, + 111, 118, 688, 240, 241, 242, 245, 354, 355, -783, + 321, 237, 472, 271, 386, 393, 110, 110, 111, 111, + 110, 119, 111, 363, 365, 367, 271, 271, 689, -781, + 773, 473, -781, 271, 271, 110, 216, 111, 326, 352, + 976, 977, 120, 1057, 980, 586, 1171, 1173, 1175, 1141, + 602, 609, 110, 993, 111, 320, 1525, 539, -784, 919, + 1148, 919, 240, 996, 698, 489, 997, -782, 121, 718, + -782, 1091, 328, 1134, 512, 110, 1137, 111, 384, 122, + 362, 364, 366, -783, 405, 112, -783, 1230, 617, 1201, + 185, 1231, 1232, 372, 1144, 1217, 406, 407, 373, 884, + 1067, 1068, 257, 257, 123, 834, 1138, 114, 410, 408, + 981, 228, 229, 230, 409, 1239, 385, 751, 257, 257, + 257, 1139, 1140, 378, 932, 115, 124, 892, 320, 966, + 681, 808, -784, 1240, 1049, -784, 125, 454, 740, 741, + 742, 110, 273, 111, 126, 1024, 1070, 851, 279, 1419, + 281, 320, 283, 127, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 957, 225, 226, 227, 271, 228, 229, 230, 681, 809, + 1225, 1424, 309, 260, 261, 1525, 313, 128, 314, 315, + 129, 1221, 527, 586, 509, 1535, 1536, 1537, 130, 529, + 530, 1157, 216, 982, 1433, 1158, 1159, 582, 548, 1465, + 320, 1, 2, 3, 1386, 994, 320, 961, 1413, -2, + 1414, 131, 1415, 320, 132, 1416, 1417, 1418, 1161, 958, + 528, 1023, 306, 307, 320, 959, 133, 528, 528, 1192, + 1168, 1399, 960, 454, 134, 188, 189, 190, 542, 545, + 782, 156, 783, 1021, 784, 1461, 162, 320, 1193, 1391, + 1392, 405, 1202, 1204, 769, 405, 587, 110, 883, 111, + 358, 976, 977, 406, 407, 980, 1486, 406, 407, 320, + 1552, 320, 454, 454, 454, 454, 454, 135, 454, 454, + 454, 410, 408, 320, 454, 136, 1149, 409, 1487, 137, + 1488, 454, 267, 10, 191, 11, 454, 454, 138, 454, + 454, 454, 1489, 454, 454, 1234, 139, 192, 193, 140, + 1532, 1533, 1534, 141, 1535, 1536, 1537, 142, 361, 685, + 488, 1491, 368, 369, 143, 223, 224, 225, 226, 227, + 1143, 228, 229, 230, 1076, 1077, 748, 393, 672, 686, + 1492, 1181, 1495, 676, 677, 678, 194, 195, 1035, 196, + 1036, 144, 682, 683, 684, 197, 1498, 198, 157, 1033, + 1190, 1496, 548, 981, 1160, 328, 378, 1200, 214, 215, + 1054, 993, 1167, 1406, 1058, 1499, 528, 1396, 714, 216, + 158, 528, 528, 528, 320, 163, 1621, 320, 1658, 320, + 528, 528, 528, 454, 454, 320, 509, 320, 154, 152, + 320, 963, 164, 1578, 153, 1622, 1632, 1659, 1669, 6, + 697, -102, 319, -102, 1670, -102, 1671, 326, 1435, 1672, + 1436, 165, 778, 235, 1153, 1154, 1155, 1220, 1052, 517, + 518, 1157, 1158, 1159, 188, 189, 190, 213, 214, 215, + 1555, 531, 532, 533, 1228, 1068, 788, 789, 244, 216, + 266, 188, 189, 190, 793, 302, 794, 304, 410, 408, + 454, 359, 410, 408, 409, 553, 454, 305, 409, 1206, + 782, 1207, 783, -102, 1142, -102, 6, -102, 592, 593, + 1177, 1178, 1179, 1209, 1237, 1238, 648, 312, 649, 380, + 650, 775, 395, 191, 1139, 1140, 803, 379, -280, 1473, + 804, 805, 455, 618, 396, 714, 192, 193, 397, 463, + 191, 1525, 223, 224, 225, 226, 227, 320, 228, 229, + 230, 465, 930, 192, 193, 1235, 1139, 1140, 1226, 800, + 456, 956, 457, 934, 528, 935, 936, 937, 528, 528, + 542, 877, 458, 626, 820, 194, 195, 459, 196, 1139, + 1140, 1393, 460, 470, 197, 838, 198, 1139, 1140, 1457, + 921, 461, 194, 195, 462, 196, 464, 466, 467, 468, + 469, 197, 492, 198, 381, 382, 383, 945, 670, 471, + 474, 946, 223, 224, 225, 226, 227, 475, 228, 229, + 230, 675, 476, 1012, 713, 679, 680, 908, 477, -281, + 497, 199, 478, 479, 480, 200, 745, 504, 481, 482, + 201, 454, 483, 6, 381, 382, 383, 1041, 484, 822, + 485, 1042, 968, 486, 909, 493, 494, 947, 496, 498, + 154, 152, 500, 501, 507, 1455, 153, 931, 6, 1459, + 514, 1612, 1613, 1614, 1530, 1531, 1532, 1533, 1534, 516, + 1535, 1536, 1537, 549, 509, 1406, 956, 537, -206, 552, + 528, 746, 588, 956, 750, 930, 590, 1043, 930, 930, + 930, 820, 820, 820, 591, 606, 820, 328, 610, 611, + 612, 613, 614, 615, 948, 384, 619, 1462, 620, 328, + 800, 956, 621, 956, 624, 548, 956, 646, 647, 673, + 654, 652, 271, -282, 774, 695, 246, 653, 247, 681, + 248, 655, 656, 692, 949, 840, 841, 842, 690, 844, + 699, 846, 700, 847, 848, 384, 701, 703, 950, 708, + 1150, 1044, 908, 951, 908, 707, 716, 765, 952, -213, + 776, 786, 797, 801, 802, 790, 798, 791, 835, 792, + 1674, 795, -373, 839, 1045, 843, 249, 831, 1676, 845, + 832, 833, 850, 879, 112, 882, 820, 881, 1046, 885, + 1522, 1523, 1524, 1047, 886, 378, 887, 888, 1048, 378, + 931, 889, 1525, 931, 931, 931, 890, 891, 893, 910, + 933, 913, 914, 967, 973, 915, 984, 154, 152, 1080, + 956, 969, 1087, 153, 830, 930, -290, 1006, 1010, 930, + 930, 1007, 970, 800, 328, 1479, 1480, 1481, 971, 821, + 250, 822, 972, 823, 1011, 257, 1009, 1013, 1015, 378, + 378, 378, 112, 820, 956, 1016, 1017, 820, 820, 1026, + 542, 1027, 1028, 251, 1029, 1030, 1031, 381, 382, 383, + 810, 1037, 542, 1034, 811, 1038, 1055, 252, 1056, 1060, + 586, 1482, 253, 1078, 1484, 6, 1081, 254, 1082, 824, + 908, 1089, 981, 1180, 582, 993, 1547, 1183, 1191, 956, + 956, 974, 1185, 1184, 6, 978, 979, 1196, 1186, 983, + 1194, 6, 1187, 986, 820, 820, 454, 990, 991, 1188, + 812, 1197, 820, 820, 820, 1212, 1198, 820, 1219, 1008, + 1540, 328, 1199, 1401, 1544, 1530, 1531, 1532, 1533, 1534, + 931, 1535, 1536, 1537, 931, 931, 1213, 542, 1222, 1223, + 378, 1053, 1224, 825, 1241, 1227, 1068, 1236, 1242, 1383, + 1384, 1387, 1087, 988, 989, 1388, 1389, 992, 1398, 1400, + 1408, 1402, 1407, 1403, 112, 1404, 826, 1606, 384, 1410, + 1405, 1411, 1425, 1426, 813, 1610, 1427, 1428, 1429, 1430, + 827, 1615, 1616, 930, 1434, 828, 1431, 519, 1432, 520, + 829, 521, 1454, 1420, 1421, 1458, 1422, 814, 1423, 1467, + 1468, 1463, 1470, 1061, 1464, 1478, 1604, 1065, 1066, 542, + 1069, 815, 112, 1476, 1490, 800, 816, 1493, 257, 1494, + 1501, 817, 1500, 1502, 1634, 820, 1090, 1637, 1497, 1503, + 1135, 1136, 1507, 1541, 1548, 1050, 1145, 522, 1545, 1561, + 1549, 1146, 1550, 1562, 1563, 1553, 1559, 1560, 1564, 1152, + 1565, 1566, 1567, 1156, 1568, 1569, 1574, 1608, 1655, 1577, + 1602, 1605, 204, 1617, 1162, 1163, 1609, 1635, 1611, 1620, + 1624, 1219, 1619, 1219, 1623, 1625, 1664, 1626, 1628, 1629, + 1641, 1636, 1643, 820, 820, 820, 1642, 243, 1644, 1645, + 1646, 1647, 509, 1648, 1649, 1656, 509, 1650, 931, 1651, + 1666, 523, 378, 1654, 1657, 1667, 1668, 265, 271, 271, + 1675, 1677, 1466, 753, 1164, 1477, 1538, 1210, 1165, 1166, + 768, 1618, 1214, 1475, 524, 853, 1215, 1216, 381, 382, + 383, 922, 706, 770, 1182, 923, 1469, 506, 525, 956, + 1229, 0, 0, 526, 0, 67, 303, 1520, 1521, 1522, + 1523, 1524, 956, 0, 0, 0, 0, 0, 0, 0, + 0, 1525, 0, 1203, 1205, 0, 0, 0, 0, 1385, + 0, 0, 988, 989, 0, 0, 992, 0, 0, 0, + 0, 924, 0, 0, 0, 0, 0, 0, 0, 0, + 155, 0, 0, 0, 0, 0, 161, 322, 323, 0, + 0, 0, 166, 167, 168, 169, 170, 0, 956, 206, + 0, 0, 0, 1390, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 350, 0, 1080, 0, 1516, + 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1437, 384, + 0, 0, 0, 0, 360, 925, 0, 1525, 0, 1516, + 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 392, 394, + 1514, 112, 0, 0, 587, 0, 0, 1525, 926, 0, + 112, 0, 509, 509, 509, 191, 378, 0, 0, 378, + 112, 0, 927, 0, 0, 0, 0, 928, 192, 193, + 1409, 0, 0, 1438, 1530, 1531, 1532, 1533, 1534, 0, + 1535, 1536, 1537, 490, 491, 0, 316, 820, 0, 495, + 0, 0, 0, 0, 0, 1514, 0, 0, 0, 0, + 0, 204, 0, 0, 0, 378, 0, 194, 195, 378, + 196, 0, 0, 509, 1523, 1524, 197, 0, 198, 0, + 1087, 0, 1164, 1165, 1166, 1525, 1600, 0, 0, 1001, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 0, 1453, 353, 1526, 1527, 1528, 1529, 357, 0, + 1530, 1531, 1532, 1533, 1534, 0, 1535, 1536, 1537, 0, + 0, 0, 1631, 265, 1526, 1527, 1528, 1529, 0, 589, + 1530, 1531, 1532, 1533, 1534, 0, 1535, 1536, 1537, 411, + 0, 378, 0, 0, 509, 0, 0, 0, 0, 0, + 0, 0, 509, 0, 0, 800, 800, 800, 509, 509, + 0, 1196, 0, 0, 0, 0, 0, 0, 0, 0, + 634, 0, 0, 0, 0, 487, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1660, 1661, 1662, + 0, 1663, 502, 503, 0, 0, 0, 1474, 0, 510, + 0, 509, 378, 0, 509, 0, 1513, 0, 1530, 1531, + 1532, 1533, 1534, 0, 1535, 1536, 1537, 0, 1483, 0, + 0, 1485, 0, 0, 209, 210, 211, 212, 213, 214, + 215, 0, 322, 73, 0, 509, 75, 76, 77, 78, + 216, 188, 189, 190, 0, 0, 0, 674, 0, 238, + 0, 0, 541, 509, 0, 0, 1570, 1571, 1572, 1573, + 0, 1575, 0, 1576, 800, 1539, 0, 0, 85, 1543, + 691, 0, 800, 1546, 0, 0, 0, 0, 0, 265, + 0, 0, 0, 0, 0, 239, 1554, 0, 0, 1556, + 1557, 1558, 0, 0, 0, 605, 1409, 0, 0, 0, + 191, 0, 0, 0, 0, 0, 0, 87, 88, 0, + 0, 0, 0, 192, 193, 0, 0, 0, 0, 747, + 749, 0, 0, 0, 93, 0, 0, 0, 1453, 95, + 1453, 1453, 1453, 1453, 1453, 755, 1453, 756, 757, 758, + 759, 760, 761, 0, 0, 763, 0, 0, 0, 0, + 0, 0, 194, 195, 0, 196, 0, 1607, 0, 771, + 772, 197, 0, 198, 0, 0, 0, 0, 780, 502, + 220, 221, 222, 223, 224, 225, 226, 227, 0, 228, + 229, 230, 0, 0, 671, 0, 0, 0, 1452, 0, + 0, 7, 8, 9, 10, 505, 11, 12, 13, 0, + 201, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, + 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1453, + 1638, 0, 0, 0, 0, 1639, 1640, 209, 210, 211, + 212, 213, 214, 215, 0, 0, 0, 0, 0, 1439, + 0, 0, 0, 216, 1653, 0, 0, 709, 710, 711, + 712, 0, 715, 0, 0, 1440, 0, 0, 0, 0, + 1441, 744, 1453, 0, 0, 1665, 0, 875, 0, 24, + 25, 0, 0, 0, 1673, 27, 0, 0, 0, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 0, 0, 764, 208, 209, + 210, 211, 212, 213, 214, 215, 0, 48, 0, 49, + 0, 0, 0, 1453, 1442, 216, 1453, 0, 0, 1443, + 0, 0, 1444, 0, 964, 0, 0, 55, 1517, 1518, + 1519, 1520, 1521, 1522, 1523, 1524, 0, 0, 796, 0, + 0, 0, 0, 0, 0, 1525, 0, 0, 0, 985, + 0, 0, 1445, 0, 541, 1446, 1447, 1448, 0, 0, + 1449, 0, 1450, 65, 0, 0, 1451, 0, 0, 0, + 0, 0, 1014, 0, 221, 222, 223, 224, 225, 226, + 227, 849, 228, 229, 230, 0, 0, 0, 0, 0, + 0, 0, 854, 855, 856, 857, 858, 859, 860, 861, + 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, + 872, 873, 874, 0, 1506, 878, 1508, 1509, 1510, 1511, + 1512, 0, 1515, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1040, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 0, 228, 229, 230, 944, 0, 0, + 387, 388, 389, 1075, 0, 555, 556, 557, 10, 0, + 11, 558, 559, 1527, 1528, 1529, 0, 560, 1530, 1531, + 1532, 1533, 1534, 0, 1535, 1536, 1537, 1579, 1580, 1581, + 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, + 1592, 1593, 1594, 1595, 1596, 1597, 0, 0, 0, 0, + 110, 0, 111, 561, 0, 0, 0, 0, 0, 191, + 0, 0, 0, 1019, 0, 0, 0, 0, 1176, 562, + 0, 0, 192, 193, 563, 0, 0, 0, 0, 0, + 0, 0, 546, 564, 565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 568, 0, 1509, 569, 570, 0, 0, 0, 571, - 0, 572, 0, 0, 0, 573, 300, 111, 0, 0, - 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, - 0, 0, 0, 622, 1595, 0, 0, 0, 0, 189, - 0, 0, 0, 0, 0, 0, 373, 0, 0, 503, - 0, 0, 190, 191, 0, 0, 1449, 503, 0, 0, - 816, 816, 816, 0, 0, 0, 1200, 319, 320, 994, - 0, 153, 0, 0, 0, 0, 0, 159, 0, 1000, - 1001, 0, 0, 164, 165, 166, 167, 168, 0, 0, - 204, 192, 193, 0, 194, 347, 0, 1020, 0, 195, - 0, 196, 0, 0, 0, 973, 503, 373, 0, 503, - 0, 1508, 0, 0, 357, 0, 0, 0, 973, 0, - 0, 0, 0, 0, 0, 0, 0, 387, 389, 197, - 0, 0, 0, 198, 0, 0, 0, 0, 199, 0, - 503, 0, 111, 1653, 1654, 1655, 0, 1656, 0, 0, - 0, 186, 187, 188, 0, 0, 503, 0, 0, 1565, - 1566, 1567, 1568, 0, 1570, 0, 1571, 816, 0, 0, - 0, 973, 484, 485, 0, 816, 0, 0, 489, 0, - 1071, 0, 0, 1074, 1075, 313, 1078, 0, 111, 0, - 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1099, 0, 0, 0, 1144, 1145, 0, 189, - 0, 0, 1154, 0, 0, 0, 0, 1155, 186, 187, - 188, 0, 190, 191, 0, 1161, 0, 0, 0, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 0, 0, 350, 0, 0, 0, 0, 354, 0, 0, - 262, 192, 193, 0, 194, 583, 0, 0, 0, 195, - 0, 196, 0, 0, 0, 0, 189, 1501, 0, 1503, - 1504, 1505, 1506, 1507, 0, 1510, 0, 405, 0, 190, - 191, 0, 1216, 0, 0, 1217, 1218, 0, 0, 0, - 0, 0, 0, 499, 0, 0, 630, 0, 199, 1231, - 0, 0, 0, 0, 0, 0, 186, 187, 188, 0, - 0, 0, 0, 481, 0, 0, 0, 0, 192, 193, - 0, 194, 0, 0, 0, 0, 195, 1385, 196, 0, - 496, 497, 0, 0, 0, 0, 0, 504, 1574, 1575, - 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, - 1586, 1587, 1588, 1589, 1590, 1591, 1592, 0, 319, 0, - 0, 0, 0, 0, 189, 0, 0, 0, 0, 0, - 0, 1390, 0, 670, 0, 0, 0, 190, 191, 0, - 549, 550, 551, 10, 0, 11, 552, 553, 535, 0, - 0, 0, 871, 0, 0, 0, 707, 0, 1407, 0, - 0, 1409, 0, 0, 0, 262, 0, 0, 0, 0, - 0, 0, 0, 0, 111, 0, 192, 193, 0, 194, - 0, 0, 0, 111, 195, 109, 196, 110, 555, 0, - 601, 0, 0, 111, 0, 7, 8, 9, 10, 0, - 11, 12, 13, 556, 1435, 763, 765, 1499, 557, 0, - 770, 0, 0, 1645, 0, 0, 0, 558, 559, 0, - 0, 0, 0, 771, 0, 772, 773, 774, 775, 776, - 777, 0, 0, 779, 206, 207, 208, 209, 210, 211, - 212, 213, 0, 1436, 0, 0, 0, 787, 788, 0, - 0, 214, 560, 0, 0, 561, 796, 562, 1437, 211, - 212, 213, 563, 1438, 496, 0, 564, 0, 0, 565, - 0, 214, 24, 25, 566, 0, 0, 567, 27, 667, - 0, 0, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 0, 568, - 0, 0, 569, 570, 0, 0, 0, 571, 0, 572, - 48, 0, 49, 573, 841, 0, 0, 1439, 0, 0, - 0, 1440, 0, 540, 1441, 0, 0, 0, 0, 55, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 725, 726, 727, 728, 0, 731, 0, 0, - 0, 0, 0, 0, 1442, 0, 760, 1443, 1444, 1445, - 0, 0, 1446, 0, 1500, 65, 0, 73, 1448, 74, - 75, 76, 77, 0, 0, 894, 1471, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 0, 226, 227, - 228, 0, 0, 0, 780, 0, 0, 0, 0, 0, - 0, 84, 221, 222, 223, 224, 225, 0, 226, 227, - 228, 0, 0, 0, 0, 0, 0, 0, 237, 0, - 0, 0, 0, 0, 549, 550, 551, 10, 0, 11, - 552, 553, 981, 0, 0, 812, 720, 0, 0, 86, - 87, 1534, 0, 0, 0, 1538, 0, 0, 0, 1541, - 535, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 94, 1549, 0, 0, 1551, 1552, 1553, 0, 0, - 0, 0, 555, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1026, 1517, 1518, 1519, 556, 0, 0, - 0, 0, 557, 0, 0, 0, 1520, 0, 868, 0, - 0, 558, 559, 0, 0, 0, 186, 187, 188, 873, - 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, - 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, - 0, 1602, 897, 0, 0, 0, 560, 0, 0, 561, - 0, 562, 1051, 1610, 1611, 0, 563, 0, 0, 0, - 564, 0, 0, 565, 0, 0, 0, 0, 566, 0, - 0, 567, 0, 0, 189, 0, 0, 0, 0, 0, - 0, 0, 1084, 0, 961, 0, 0, 190, 191, 0, - 0, 0, 0, 568, 0, 0, 569, 570, 0, 0, - 0, 571, 0, 721, 1633, 0, 0, 573, 0, 7, - 8, 9, 10, 0, 11, 12, 13, 169, 71, 0, - 0, 535, 0, 0, 0, 0, 192, 193, 1646, 194, - 0, 0, 535, 0, 195, 0, 196, 1525, 1526, 1527, - 1528, 1529, 1180, 1530, 1531, 1532, 0, 1658, 0, 0, - 0, 259, 0, 1031, 0, 0, 1666, 15, 72, 0, - 0, 170, 0, 171, 172, 173, 174, 78, 79, 0, - 0, 0, 21, 80, 0, 0, 175, 23, 0, 1213, - 82, 0, 0, 0, 0, 0, 24, 25, 176, 0, - 0, 0, 27, 0, 0, 177, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 178, 0, 0, 0, 382, 383, 384, 0, - 0, 46, 0, 47, 48, 0, 49, 0, 186, 187, - 188, 50, 0, 179, 180, 53, 0, 0, 54, 88, - 0, 0, 0, 55, 1095, 0, 56, 89, 90, 91, - 181, 0, 0, 93, 0, 182, 0, 0, 0, 0, - 0, 597, 0, 0, 0, 0, 0, 0, 59, 0, - 0, 60, 61, 62, 189, 0, 63, 0, 64, 65, - 0, 0, 66, 0, 0, 0, 189, 190, 191, 0, - 0, 0, 0, 1173, 0, 0, 0, 0, 0, 190, - 191, 0, 0, 0, 0, 0, 0, 0, 0, 407, - 0, 1031, 0, 0, 0, 0, 1193, 408, 409, 410, - 411, 0, 0, 0, 0, 0, 385, 193, 0, 194, - 413, 414, 415, 416, 195, 0, 196, 0, 192, 1010, - 1011, 1012, 0, 590, 0, 0, 195, 0, 196, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 0, 1013, - 0, 535, 0, 380, 1014, 0, 0, 214, 426, 1084, - 0, 0, 0, 0, 0, 0, 1095, 0, 0, 431, - 0, 0, 0, 0, 0, 432, 0, 0, 0, 434, - 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 438, 0, 439, 0, 1245, 1246, 1247, 1248, 1249, - 1250, 1251, 1252, 1253, 1254, 1255, 0, 1256, 1257, 1258, - 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 0, - 0, 1394, 0, 535, 0, 1397, 1268, 1269, 1270, 1271, - 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, - 1282, 1283, 1284, 1285, 1286, 0, 0, 1287, 1288, 1289, - 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, - 1300, 1301, 1302, 1303, 1304, 0, 1305, 0, 1306, 1307, - 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 0, 1316, - 1317, 1318, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 0, 226, 227, 228, 0, 1319, 0, - 507, 0, 0, 0, 0, 1320, 1321, 1322, 1323, 1324, - 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, - 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, - 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, - 1355, 1356, 1357, 633, 634, 0, 1358, 1359, 1360, 1361, - 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, - 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1546, 1379, 1380, - 0, 0, 0, 186, 187, 188, 0, 0, 0, 186, - 187, 188, 0, 0, 0, 394, 0, 0, 73, 0, - 74, 75, 76, 77, 78, 0, 0, 0, 0, 0, - 395, 0, 0, 81, 0, 0, 73, 82, 74, 75, - 76, 77, 0, 0, 0, 83, 0, 0, 0, 0, - 0, 236, 84, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 0, 0, 0, 0, 0, 189, 0, 85, - 84, 0, 0, 0, 190, 191, 0, 0, 0, 1593, - 190, 191, 635, 0, 0, 0, 0, 237, 1469, 0, - 86, 87, 0, 0, 0, 0, 88, 0, 0, 0, - 0, 0, 0, 0, 396, 397, 91, 92, 86, 87, - 93, 0, 94, 192, 193, 0, 194, 636, 1622, 192, - 193, 195, 194, 196, 0, 92, 0, 195, 0, 196, - 94, 0, 0, 637, 1013, 0, 0, 0, 0, 1174, - 1013, 0, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, - 1253, 1254, 1255, 143, 1256, 1257, 1258, 1259, 1260, 1261, - 1262, 1263, 1264, 1265, 1266, 1267, 0, 0, 0, 0, - 0, 0, 1095, 1268, 1269, 1270, 1271, 1272, 1273, 1274, - 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, - 1285, 1286, 0, 0, 1287, 1288, 1289, 1290, 1291, 1292, - 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, - 1303, 1304, 0, 1305, 0, 1306, 1307, 1308, 1309, 1310, - 1311, 1312, 1313, 1314, 1315, 0, 1316, 1317, 1318, 0, - 0, 0, 0, 0, 0, 0, 1596, 0, 0, 0, - 0, 0, 0, 0, 0, 1319, 0, 0, 0, 0, - 0, 0, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, - 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, - 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, - 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, - 0, 0, 0, 1358, 1359, 1360, 1361, 1362, 1363, 1364, - 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, - 1375, 1376, 1377, 1378, 0, 1379, 1380, 7, 8, 9, - 10, 0, 11, 12, 13, 393, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 0, 0, - 0, 0, 0, 0, 0, 15, 394, 214, 0, 170, - 0, 171, 172, 173, 174, 78, 0, 0, 0, 0, - 21, 395, 0, 0, 175, 23, 0, 0, 82, 0, - 0, 0, 0, 0, 24, 25, 176, 0, 0, 0, - 27, 0, 0, 177, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 46, - 0, 47, 48, 0, 49, 0, 0, 0, 0, 50, - 0, 179, 180, 53, 0, 0, 54, 88, 0, 0, - 0, 55, 0, 0, 56, 396, 397, 91, 181, 0, - 0, 93, 0, 182, 7, 8, 9, 10, 0, 11, - 12, 13, 14, 0, 0, 0, 59, 0, 0, 60, - 61, 62, 0, 0, 63, 0, 64, 65, 0, 0, - 66, 0, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 0, 226, 227, 228, 0, 0, 0, - 1034, 0, 15, 0, 0, 0, 16, 0, 17, 18, - 19, 20, 0, 0, 0, 0, 0, 21, 0, 958, - 959, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 24, 25, 26, 0, 0, 0, 27, 0, 0, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 0, 0, - 0, 0, 0, 0, 0, 0, 46, 0, 47, 48, - 0, 49, 0, 0, 0, 0, 50, 0, 51, 52, - 53, 0, 0, 54, 0, 0, 0, 0, 55, 0, - 0, 56, 0, 0, 0, 57, 7, 8, 9, 10, - 58, 11, 12, 13, 14, 960, 0, 0, 157, 0, - 0, 0, 0, 59, 0, 0, 60, 61, 62, 0, - 0, 63, 0, 64, 65, 0, 0, 66, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, - 0, 0, 0, 0, 15, 0, 214, 0, 16, 0, - 17, 18, 19, 20, 0, 0, 0, 0, 0, 21, - 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, - 0, 0, 0, 24, 25, 26, 0, 0, 0, 27, - 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, - 47, 48, 0, 49, 0, 0, 0, 0, 50, 0, - 51, 52, 53, 0, 0, 54, 0, 0, 0, 0, - 55, 0, 0, 56, 0, 0, 0, 57, 7, 8, - 9, 10, 58, 11, 12, 13, 14, 0, 0, 0, - 0, 0, 0, 0, 0, 59, 0, 0, 60, 61, - 62, 0, 0, 63, 0, 158, 65, 0, 0, 66, - 0, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 0, 226, 227, 228, 15, 0, 0, 1628, - 16, 0, 17, 18, 19, 20, 0, 0, 0, 0, - 0, 21, 0, 0, 0, 22, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 24, 25, 26, 0, 0, - 0, 27, 0, 0, 28, 29, 30, 31, 32, 33, + 0, 0, 0, 0, 0, 0, 1211, 0, 0, 0, + 0, 390, 195, 0, 196, 0, 0, 0, 566, 0, + 197, 567, 198, 568, 0, 0, 73, 0, 569, 75, + 76, 77, 78, 570, 0, 0, 571, 0, 0, 0, + 0, 572, 1652, 0, 573, 0, 391, 7, 8, 9, + 10, 0, 11, 12, 13, 14, 1086, 0, 0, 0, + 0, 85, 0, 0, 0, 0, 574, 0, 0, 575, + 576, 0, 0, 0, 577, 0, 578, 0, 239, 0, + 579, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 541, 15, 0, 0, 0, 16, + 87, 88, 17, 18, 19, 20, 541, 0, 0, 0, + 1169, 21, 0, 941, 942, 22, 23, 93, 0, 0, + 0, 0, 95, 0, 0, 24, 25, 26, 1019, 0, + 0, 27, 0, 1189, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 47, 48, 0, 49, 0, 0, 0, 0, - 50, 0, 51, 52, 53, 0, 0, 54, 0, 0, - 0, 0, 55, 0, 0, 56, 0, 0, 0, 57, - 7, 8, 9, 10, 58, 11, 12, 13, 14, 0, - 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, - 60, 61, 62, 0, 0, 63, 0, 64, 65, 348, - 0, 66, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 0, 0, 0, 0, 0, 0, 0, 15, 353, - 214, 0, 16, 0, 17, 18, 19, 20, 0, 0, - 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, - 0, 0, 0, 0, 0, 0, 0, 24, 25, 26, - 0, 0, 0, 27, 0, 0, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 0, 0, 0, 0, 0, 0, - 0, 0, 46, 0, 47, 48, 0, 49, 0, 0, - 0, 0, 50, 0, 51, 52, 53, 0, 0, 54, - 0, 0, 0, 0, 55, 0, 0, 56, 0, 0, + 50, 0, 0, 51, 52, 53, 0, 0, 54, 0, + 0, 541, 0, 55, 0, 0, 56, 0, 0, 0, + 57, 0, 0, 0, 0, 58, 1086, 0, 0, 0, + 943, 0, 0, 0, 0, 1075, 0, 0, 59, 0, + 0, 60, 61, 62, 0, 0, 63, 0, 64, 65, + 0, 0, 66, 0, 0, 1243, 1244, 1245, 1246, 1247, + 1248, 1249, 1250, 1251, 1252, 1253, 0, 1254, 1255, 1256, + 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 0, + 0, 1394, 0, 541, 0, 1397, 1266, 1267, 1268, 1269, + 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, + 1280, 1281, 1282, 1283, 1284, 0, 0, 1285, 1286, 1287, + 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, + 1298, 1299, 1300, 1301, 1302, 1303, 0, 1304, 0, 1305, + 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 0, + 1315, 1316, 1317, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 0, 0, 0, 0, 0, 0, 0, 1318, + 0, 216, 0, 0, 0, 0, 1319, 1320, 1321, 1322, + 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, + 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, + 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, + 1353, 1354, 1355, 1356, 1357, 0, 637, 638, 1358, 1359, + 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, + 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1551, + 1379, 1380, 0, 73, 0, 0, 75, 76, 77, 78, + 0, 0, 0, 0, 0, 188, 189, 190, 399, 0, + 0, 73, 400, 0, 75, 76, 77, 78, 79, 0, + 0, 387, 388, 389, 401, 0, 0, 82, 85, 0, + 0, 83, 0, 0, 0, 0, 0, 0, 0, 84, + 0, 0, 0, 0, 0, 239, 85, 0, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 0, + 228, 229, 230, 86, 191, 0, 513, 87, 88, 0, + 0, 0, 0, 0, 0, 0, 639, 192, 193, 0, + 191, 0, 0, 0, 93, 87, 88, 1472, 0, 95, + 0, 89, 1598, 192, 193, 0, 0, 0, 0, 402, + 403, 92, 93, 0, 0, 94, 0, 95, 0, 0, + 0, 0, 640, 0, 0, 0, 194, 195, 0, 196, + 0, 0, 0, 0, 0, 197, 0, 198, 641, 0, + 0, 1627, 390, 195, 0, 196, 0, 0, 0, 0, + 0, 197, 262, 198, 1243, 1244, 1245, 1246, 1247, 1248, + 1249, 1250, 1251, 1252, 1253, 0, 1254, 1255, 1256, 1257, + 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 0, 0, + 385, 0, 0, 0, 1086, 1266, 1267, 1268, 1269, 1270, + 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, + 1281, 1282, 1283, 1284, 0, 0, 1285, 1286, 1287, 1288, + 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, + 1299, 1300, 1301, 1302, 1303, 0, 1304, 0, 1305, 1306, + 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 0, 1315, + 1316, 1317, 0, 0, 0, 0, 0, 0, 0, 0, + 1601, 0, 0, 0, 0, 0, 0, 0, 1318, 0, + 0, 0, 0, 0, 0, 1319, 1320, 1321, 1322, 1323, + 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, + 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, + 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, + 1354, 1355, 1356, 1357, 0, 0, 0, 1358, 1359, 1360, + 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, + 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 0, 1379, + 1380, 7, 8, 9, 10, 0, 11, 12, 13, 171, + 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 0, 0, 0, 0, 0, 0, 0, 15, + 72, 216, 0, 172, 74, 0, 173, 174, 175, 176, + 79, 80, 0, 0, 0, 21, 81, 0, 0, 177, + 23, 0, 0, 83, 0, 0, 0, 0, 0, 24, + 25, 178, 0, 0, 0, 27, 0, 0, 179, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 180, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 0, 47, 48, 0, 49, + 0, 0, 0, 0, 50, 0, 0, 181, 182, 53, + 0, 0, 54, 89, 0, 0, 0, 55, 0, 0, + 56, 90, 91, 92, 183, 0, 0, 94, 0, 184, + 7, 8, 9, 10, 0, 11, 12, 13, 398, 0, + 0, 0, 59, 0, 0, 60, 61, 62, 0, 0, + 63, 0, 64, 65, 0, 0, 66, 0, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 0, + 228, 229, 230, 0, 0, 0, 1022, 0, 15, 399, + 0, 0, 172, 400, 0, 173, 174, 175, 176, 79, + 0, 0, 0, 0, 21, 401, 0, 0, 177, 23, + 0, 0, 83, 0, 0, 0, 0, 0, 24, 25, + 178, 0, 0, 0, 27, 0, 0, 179, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 180, 0, 0, 0, 0, 0, + 0, 0, 0, 46, 0, 47, 48, 0, 49, 0, + 0, 0, 0, 50, 0, 0, 181, 182, 53, 0, + 0, 54, 89, 0, 0, 0, 55, 0, 0, 56, + 402, 403, 92, 183, 0, 0, 94, 0, 184, 0, + 7, 8, 9, 10, 0, 11, 12, 13, 14, 0, + 0, 59, 159, 0, 60, 61, 62, 0, 0, 63, + 0, 64, 65, 0, 0, 66, 0, 0, 0, 0, + 0, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 0, 0, 0, 0, 0, 0, 0, 0, 15, 216, + 0, 0, 16, 0, 0, 17, 18, 19, 20, 0, + 0, 0, 0, 0, 21, 0, 0, 0, 22, 23, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 25, + 26, 0, 0, 0, 27, 0, 0, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 0, 0, 0, 0, 0, + 0, 0, 0, 46, 0, 47, 48, 0, 49, 0, + 0, 0, 0, 50, 0, 0, 51, 52, 53, 0, + 0, 54, 0, 0, 0, 0, 55, 0, 0, 56, + 0, 0, 0, 57, 7, 8, 9, 10, 58, 11, + 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 59, 0, 0, 60, 61, 62, 0, 0, 63, + 0, 160, 65, 0, 0, 66, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 0, 228, 229, + 230, 0, 15, 0, 1633, 0, 16, 0, 0, 17, + 18, 19, 20, 0, 0, 0, 0, 0, 21, 188, + 189, 190, 22, 23, 0, 0, 0, 0, 0, 0, + 0, 0, 24, 25, 26, 0, 0, 0, 27, 0, + 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 0, + 0, 0, 0, 0, 0, 0, 0, 46, 0, 47, + 48, 0, 49, 0, 0, 0, 0, 50, 191, 0, + 51, 52, 53, 0, 0, 54, 0, 0, 0, 0, + 55, 192, 193, 56, 0, 0, 0, 57, 7, 8, + 9, 10, 58, 11, 12, 13, 14, 0, 0, 0, + 0, 0, 0, 0, 0, 59, 0, 0, 60, 61, + 62, 0, 0, 63, 0, 64, 65, 351, 0, 66, + 194, 195, 0, 196, 0, 0, 0, 0, 0, 197, + 0, 198, 0, 0, 0, 0, 15, 356, 0, 0, + 16, 0, 0, 17, 18, 19, 20, 0, 0, 0, + 0, 0, 21, 0, 0, 754, 22, 23, 0, 0, + 0, 659, 0, 0, 0, 0, 24, 25, 26, 0, + 0, 0, 27, 0, 0, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 0, 0, 0, 0, 0, 0, 0, + 0, 46, 0, 47, 48, 0, 49, 660, 0, 661, + 0, 50, 0, 0, 51, 52, 53, 0, 0, 54, + 0, 0, 0, 0, 55, 0, 662, 56, 0, 0, 0, 57, 7, 8, 9, 10, 58, 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 59, - 0, 0, 60, 61, 62, 0, 0, 63, 0, 64, - 65, 0, 1097, 66, 0, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 0, 226, 227, 228, - 15, 759, 0, 0, 16, 0, 17, 18, 19, 20, - 0, 0, 0, 0, 0, 21, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 24, - 25, 26, 0, 0, 0, 27, 0, 0, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 0, 0, 73, 0, - 74, 75, 76, 77, 46, 0, 47, 48, 0, 49, - 0, 0, 0, 0, 50, 0, 51, 52, 53, 0, - 0, 54, 0, 0, 0, 0, 55, 0, 0, 56, - 0, 0, 84, 57, 7, 8, 9, 10, 58, 11, - 12, 13, 14, 0, 0, 0, 0, 0, 0, 237, - 0, 59, 0, 0, 60, 61, 62, 0, 0, 63, - 0, 64, 65, 0, 0, 66, 0, 0, 0, 0, - 86, 87, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, 16, 92, 17, 18, - 19, 20, 94, 0, 0, 0, 0, 21, 0, 0, - 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 24, 25, 26, 0, 155, 0, 27, 0, 0, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 0, 0, - 0, 0, 0, 0, 0, 0, 46, 0, 47, 48, - 0, 49, 0, 0, 0, 0, 50, 0, 51, 52, + 0, 0, 60, 61, 62, 0, 0, 63, 663, 64, + 65, 664, 665, 66, 0, 666, 0, 0, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 0, 0, 0, + 15, 743, 667, 0, 16, 0, 216, 17, 18, 19, + 20, 0, 0, 0, 668, 0, 21, 0, 0, 0, + 22, 23, 0, 0, 0, 0, 0, 0, 669, 0, + 24, 25, 26, 0, 0, 0, 27, 0, 0, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 0, 0, 0, + 0, 0, 0, 0, 0, 46, 0, 47, 48, 0, + 49, 0, 0, 0, 0, 50, 0, 0, 51, 52, 53, 0, 0, 54, 0, 0, 0, 0, 55, 0, 0, 56, 0, 0, 0, 57, 7, 8, 9, 10, 58, 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 60, 61, 62, 0, - 0, 63, 0, 64, 65, 895, 0, 66, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, - 0, 0, 0, 0, 15, 0, 214, 0, 16, 0, - 17, 18, 19, 20, 0, 0, 0, 0, 0, 21, - 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, - 0, 0, 0, 24, 25, 26, 0, 0, 0, 27, - 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, - 47, 48, 0, 49, 0, 0, 0, 0, 50, 0, + 0, 63, 0, 64, 65, 0, 0, 66, 0, 0, + 0, 511, 0, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 15, 228, 229, 230, 16, 0, + 0, 17, 18, 19, 20, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 22, 23, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 25, 26, 0, 0, 0, + 27, 0, 0, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 0, 0, 0, 0, 0, 0, 0, 0, 46, + 0, 47, 48, 0, 49, 0, 0, 0, 0, 50, + 0, 0, 51, 52, 53, 0, 0, 54, 0, 0, + 0, 0, 55, 0, 0, 56, 0, 0, 0, 57, + 7, 8, 9, 10, 58, 11, 12, 13, 14, 0, + 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, + 60, 61, 62, 0, 0, 63, 0, 64, 65, 876, + 0, 66, 0, 0, 0, 0, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 0, 0, 0, 15, 0, + 0, 0, 16, 0, 216, 17, 18, 19, 20, 0, + 0, 0, 0, 0, 21, 0, 0, 0, 22, 23, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 25, + 26, 0, 0, 0, 27, 0, 0, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 0, 0, 0, 0, 0, + 0, 0, 0, 46, 0, 47, 48, 0, 49, 0, + 0, 0, 0, 50, 0, 0, 51, 52, 53, 0, + 0, 54, 0, 0, 0, 0, 55, 0, 0, 56, + 0, 0, 0, 57, 7, 8, 9, 10, 58, 11, + 12, 13, 14, 1083, 0, 0, 0, 0, 0, 0, + 0, 59, 0, 0, 60, 61, 62, 0, 0, 63, + 0, 64, 65, 0, 0, 66, 0, 0, 0, 1020, + 0, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 15, 228, 229, 230, 16, 0, 0, 17, + 18, 19, 20, 0, 0, 0, 0, 0, 21, 0, + 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, + 0, 0, 24, 25, 26, 0, 0, 0, 27, 0, + 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 0, + 0, 0, 0, 0, 0, 0, 0, 46, 0, 47, + 48, 0, 49, 0, 0, 0, 0, 50, 0, 0, 51, 52, 53, 0, 0, 54, 0, 0, 0, 0, 55, 0, 0, 56, 0, 0, 0, 57, 7, 8, - 9, 10, 58, 11, 12, 13, 14, 1092, 0, 0, + 9, 10, 58, 11, 12, 13, 14, 1471, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 60, 61, - 62, 0, 0, 63, 0, 64, 65, 1410, 0, 66, - 0, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 0, 226, 227, 228, 15, 0, 0, 0, - 16, 0, 17, 18, 19, 20, 0, 0, 0, 0, - 0, 21, 0, 0, 0, 22, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 24, 25, 26, 0, 0, - 0, 27, 0, 0, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, - 46, 0, 47, 48, 0, 49, 0, 0, 0, 0, - 50, 0, 51, 52, 53, 0, 0, 54, 0, 0, - 0, 0, 55, 0, 0, 56, 0, 0, 0, 57, - 7, 8, 9, 10, 58, 11, 12, 13, 14, 1468, - 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, - 60, 61, 62, 0, 0, 63, 0, 64, 65, 0, - 0, 66, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 0, 0, 0, 0, 0, 0, 0, 15, 0, - 214, 0, 16, 0, 17, 18, 19, 20, 0, 0, - 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, - 0, 0, 0, 0, 0, 0, 0, 24, 25, 26, - 0, 0, 0, 27, 0, 0, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 0, 0, 0, 0, 0, 0, - 0, 0, 46, 0, 47, 48, 0, 49, 0, 0, - 0, 0, 50, 0, 51, 52, 53, 0, 0, 54, + 62, 0, 0, 63, 0, 64, 65, 0, 0, 66, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 0, + 0, 0, 0, 0, 0, 0, 15, 0, 216, 0, + 16, 0, 0, 17, 18, 19, 20, 0, 0, 0, + 0, 0, 21, 0, 0, 0, 22, 23, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, + 0, 0, 27, 0, 0, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 0, 0, 0, 0, 0, 0, 0, + 0, 46, 0, 47, 48, 0, 49, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 53, 0, 0, 54, 0, 0, 0, 0, 55, 0, 0, 56, 0, 0, 0, 57, 7, 8, 9, 10, 58, 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 60, 61, 62, 0, 0, 63, 0, 64, - 65, 1594, 0, 66, 0, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 0, 226, 227, 228, - 15, 0, 0, 0, 16, 0, 17, 18, 19, 20, - 0, 0, 0, 0, 0, 21, 0, 0, 0, 22, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 24, - 25, 26, 0, 0, 0, 27, 0, 0, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 0, 0, 0, 0, - 0, 0, 0, 0, 46, 0, 47, 48, 0, 49, - 0, 0, 0, 0, 50, 0, 51, 52, 53, 0, - 0, 54, 0, 0, 0, 0, 55, 0, 0, 56, - 0, 0, 0, 57, 7, 8, 9, 10, 58, 11, - 12, 13, 14, 0, 207, 208, 209, 210, 211, 212, - 213, 59, 0, 0, 60, 61, 62, 0, 0, 63, - 214, 64, 65, 0, 0, 66, 735, 736, 737, 738, - 739, 740, 741, 742, 743, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 744, 0, 16, 0, 17, 18, - 19, 20, 0, 0, 0, 0, 0, 21, 0, 0, - 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, - 0, 24, 25, 26, 0, 0, 0, 27, 0, 0, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 0, 0, - 0, 0, 0, 0, 0, 0, 46, 0, 47, 48, - 0, 49, 0, 0, 0, 0, 50, 0, 51, 52, + 65, 1599, 1088, 66, 0, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 0, 228, 229, 230, + 15, 0, 0, 0, 16, 0, 0, 17, 18, 19, + 20, 0, 0, 0, 0, 0, 21, 0, 0, 0, + 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, + 24, 25, 26, 0, 0, 0, 27, 0, 0, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 0, 0, 0, + 0, 0, 0, 0, 0, 46, 0, 47, 48, 0, + 49, 0, 0, 0, 0, 50, 0, 0, 51, 52, 53, 0, 0, 54, 0, 0, 0, 0, 55, 0, 0, 56, 0, 0, 0, 57, 7, 8, 9, 10, - 58, 11, 12, 13, 0, 0, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 0, 226, 227, 228, - 0, 63, 0, 64, 65, 0, 0, 66, 0, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 0, 756, 757, 758, 1436, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, - 0, 0, 0, 0, 1438, 0, 0, 0, 0, 0, - 0, 0, 0, 24, 25, 0, 0, 0, 0, 27, - 0, 0, 0, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 7, - 8, 9, 10, 0, 11, 12, 13, 0, 0, 0, - 0, 48, 0, 49, 0, 0, 0, 0, 1439, 0, - 0, 0, 1440, 0, 0, 1441, 0, 0, 0, 0, - 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1436, 0, 0, - 0, 0, 0, 0, 0, 1442, 0, 0, 1443, 1444, - 1445, 0, 1437, 1446, 0, 1447, 65, 1438, 0, 1448, - 209, 210, 211, 212, 213, 0, 24, 25, 0, 0, - 0, 0, 27, 0, 214, 0, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 0, 49, 0, 0, 0, - 0, 1439, 0, 0, 1101, 1440, 0, 0, 1441, 633, - 634, 0, 0, 55, 1102, 1103, 1104, 1105, 1106, 1107, - 1108, 1109, 1110, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1111, 0, 1112, 1113, 1114, 1115, 1116, 1117, - 1118, 1119, 1120, 1121, 1122, 1123, 1446, 0, 1447, 65, - 0, 394, 1448, 0, 73, 0, 74, 75, 76, 77, - 78, 0, 0, 0, 0, 0, 395, 1124, 0, 81, - 0, 0, 0, 82, 0, 0, 0, 0, 186, 187, - 188, 83, 0, 1050, 0, 0, 0, 0, 84, 0, - 0, 0, 0, 219, 220, 221, 222, 223, 224, 225, - 0, 226, 227, 228, 0, 85, 0, 0, 0, 0, - 0, 0, 0, 1125, 0, 0, 0, 0, 635, 0, - 0, 0, 0, 0, 0, 0, 86, 87, 0, 0, - 782, 783, 88, 0, 0, 0, 189, 0, 0, 0, - 396, 397, 91, 92, 0, 0, 93, 0, 94, 190, - 191, 0, 0, 1126, 0, 0, 1127, 0, 1128, 1129, - 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 637, - 1139, 1140, 394, 0, 1141, 73, 0, 74, 75, 76, - 77, 78, 0, 0, 0, 0, 0, 395, 192, 193, - 81, 194, 0, 0, 82, 0, 195, 0, 196, 0, - 0, 0, 83, 0, 0, 0, 0, 0, 0, 84, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, - 0, 0, 0, 0, 0, 0, 85, 0, 214, 0, - 0, 73, 0, 74, 75, 76, 77, 0, 0, 635, - 0, 0, 0, 0, 0, 0, 0, 86, 87, 0, - 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, - 0, 396, 397, 91, 92, 84, 0, 93, 0, 94, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, - 0, 0, 237, 0, 0, 0, 0, 0, 214, 0, - 637, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 0, 0, 0, 86, 87, 0, 0, 0, 0, 214, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, - 92, 0, 0, 0, 0, 94, 0, 0, 214, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 214, 156, 913, - 0, 0, 0, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 0, 226, 227, 228, 914, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 214, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 214, 0, 0, 0, - 0, 0, 0, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 0, 226, 227, 228, 305, 0, - 0, 0, 0, 0, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 0, 226, 227, 228, 493, - 0, 0, 0, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 0, 226, 227, 228, 509, 0, - 0, 0, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 0, 226, 227, 228, 588, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 214, 0, 0, 0, - 0, 0, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 0, 226, 227, 228, 647, 0, 0, - 0, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 0, 226, 227, 228, 768, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 214, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 214, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 214, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 214, 0, 0, 0, 0, 0, 0, 0, - 0, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 0, 226, 227, 228, 899, 1511, 1512, 1513, - 1514, 1515, 1516, 1517, 1518, 1519, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1520, 1511, 1512, 1513, 1514, - 1515, 1516, 1517, 1518, 1519, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1520, 0, 0, 0, 0, 0, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 0, 226, 227, 228, 979, 0, 0, 0, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 0, 226, 227, 228, 1030, 0, 505, 0, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 0, - 226, 227, 228, 0, 0, 1032, 0, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 0, 226, - 227, 228, 207, 208, 209, 210, 211, 212, 213, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 214, 207, - 208, 209, 210, 211, 212, 213, 0, 0, 1626, 0, - 1521, 1522, 1523, 1524, 0, 214, 1525, 1526, 1527, 1528, - 1529, 0, 1530, 1531, 1532, 0, 0, 0, 0, 1521, - 1522, 1523, 1524, 0, 0, 1525, 1526, 1527, 1528, 1529, - 0, 1530, 1531, 1532, 1513, 1514, 1515, 1516, 1517, 1518, - 1519, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1520, 207, 208, 209, 210, 211, 212, 213, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 214, 1513, 1514, - 1515, 1516, 1517, 1518, 1519, 0, 0, 0, 73, 0, - 74, 75, 76, 77, 1520, 1513, 1514, 1515, 1516, 1517, - 1518, 1519, 0, 0, 1513, 1514, 1515, 1516, 1517, 1518, - 1519, 1520, 0, 0, 0, 0, 0, 0, 0, 0, - 1520, 0, 84, 0, 0, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 0, 226, 227, 228, 0, 237, - 0, 0, 0, 218, 219, 220, 221, 222, 223, 224, - 225, 0, 226, 227, 228, 1515, 1516, 1517, 1518, 1519, - 86, 87, 0, 0, 0, 0, 0, 0, 0, 1520, - 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 94, 0, 0, 0, 1522, 1523, 1524, 0, - 0, 1525, 1526, 1527, 1528, 1529, 0, 1530, 1531, 1532, - 0, 0, 0, 0, 0, 162, 219, 220, 221, 222, - 223, 224, 225, 0, 226, 227, 228, 0, 0, 0, - 0, 1523, 1524, 0, 0, 1525, 1526, 1527, 1528, 1529, - 655, 1530, 1531, 1532, 0, 0, 0, 0, 0, 1524, - 597, 0, 1525, 1526, 1527, 1528, 1529, 0, 1530, 1531, - 1532, 1525, 1526, 1527, 1528, 1529, 0, 1530, 1531, 1532, - 0, 109, 0, 110, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 656, 0, 657, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 407, 0, - 0, 915, 916, 917, 658, 0, 408, 409, 410, 411, - 1525, 1526, 1527, 1528, 1529, 0, 1530, 1531, 1532, 413, - 589, 415, 416, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 590, 0, 0, 0, 659, 0, 0, 660, - 661, 0, 0, 662, 0, 0, 73, 0, 74, 75, - 76, 77, 918, 919, 915, 916, 917, 426, 0, 663, - 0, 81, 0, 0, 0, 0, 0, 0, 431, 0, - 0, 664, 0, 83, 432, 0, 0, 0, 0, 435, - 84, 0, 0, 0, 0, 665, 0, 0, 0, 0, - 438, 0, 439, 0, 0, 70, 71, 85, 0, 73, - 0, 74, 75, 76, 77, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 0, 0, 86, 87, - 0, 0, 0, 0, 0, 73, 83, 74, 75, 76, - 77, 0, 920, 84, 0, 92, 72, 0, 93, 73, - 94, 74, 75, 76, 77, 78, 527, 0, 0, 0, - 85, 80, 0, 0, 81, 0, 0, 0, 82, 84, - 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, - 0, 86, 87, 84, 0, 0, 237, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, - 85, 93, 0, 94, 70, 71, 0, 86, 87, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 528, 0, - 0, 86, 87, 0, 92, 0, 0, 88, 0, 94, - 70, 71, 0, 0, 0, 89, 90, 91, 92, 0, - 0, 93, 0, 94, 0, 72, 0, 0, 73, 0, - 74, 75, 76, 77, 78, 79, 0, 0, 0, 0, - 80, 0, 0, 81, 0, 0, 0, 82, 0, 0, - 0, 72, 0, 0, 73, 83, 74, 75, 76, 77, - 78, 0, 84, 0, 0, 0, 80, 0, 0, 81, - 0, 0, 0, 82, 0, 0, 0, 0, 0, 85, - 0, 83, 0, 0, 0, 0, 0, 0, 84, 0, + 58, 11, 12, 13, 14, 0, 1518, 1519, 1520, 1521, + 1522, 1523, 1524, 59, 0, 0, 60, 61, 62, 0, + 0, 63, 1525, 64, 65, 0, 0, 66, 0, 0, + 0, 0, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 0, 0, 0, 15, 0, 0, 0, 16, 0, + 216, 17, 18, 19, 20, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 22, 23, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 25, 26, 0, 0, 0, + 27, 0, 0, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 0, 0, 0, 0, 0, 0, 0, 0, 46, + 0, 47, 48, 0, 49, 0, 0, 0, 0, 50, + 0, 0, 51, 52, 53, 0, 0, 54, 0, 0, + 0, 0, 55, 0, 0, 56, 0, 0, 0, 57, + 7, 8, 9, 10, 58, 11, 12, 13, 0, 0, + 0, 0, 1504, 0, 0, 1530, 1531, 1532, 1533, 1534, + 0, 1535, 1536, 1537, 0, 63, 0, 64, 65, 0, + 0, 66, 0, 894, 0, 0, 0, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 1439, 228, + 229, 230, 895, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1440, 188, 189, 190, 0, 1441, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 25, + 0, 0, 0, 0, 27, 0, 0, 0, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 7, 8, 9, 10, 0, 11, + 12, 13, 0, 0, 0, 0, 48, 0, 49, 0, + 0, 0, 0, 1442, 191, 0, 0, 0, 1443, 0, + 632, 1444, 0, 0, 0, 0, 55, 192, 193, 0, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 0, + 0, 0, 1439, 0, 0, 0, 0, 0, 216, 0, + 0, 1445, 0, 0, 1446, 1447, 1448, 0, 1440, 1449, + 633, 1505, 65, 1441, 0, 1451, 194, 195, 0, 196, + 0, 0, 24, 25, 0, 197, 0, 198, 27, 0, + 0, 0, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 87, 0, 70, 71, 85, 88, 0, 0, 0, - 0, 0, 0, 0, 89, 90, 91, 92, 0, 0, - 93, 0, 94, 680, 0, 0, 86, 87, 0, 70, - 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, - 89, 90, 91, 92, 72, 0, 93, 73, 94, 74, - 75, 76, 77, 78, 0, 0, 0, 0, 0, 80, - 0, 0, 81, 0, 0, 0, 82, 0, 0, 0, - 72, 0, 0, 73, 83, 74, 75, 76, 77, 78, - 793, 84, 0, 0, 0, 80, 0, 0, 81, 0, - 0, 0, 82, 0, 0, 0, 0, 0, 85, 0, - 83, 0, 0, 0, 0, 0, 0, 84, 0, 0, + 48, 0, 49, 0, 0, 0, 0, 1442, 0, 0, + 0, 0, 1443, 0, 0, 1444, 555, 556, 557, 10, + 55, 11, 558, 559, 0, 0, 0, 0, 852, 0, + 0, 0, 0, 555, 556, 557, 10, 0, 11, 558, + 559, 0, 0, 0, 0, 704, 0, 0, 0, 0, + 0, 0, 0, 1449, 0, 1450, 65, 0, 0, 1451, + 0, 110, 0, 111, 561, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 0, 228, 229, 230, + 562, 561, 0, 0, 0, 563, 0, 0, 0, 0, + 0, 0, 0, 0, 564, 565, 0, 562, 0, 0, + 0, 0, 563, 209, 210, 211, 212, 213, 214, 215, + 0, 564, 565, 0, 0, 0, 0, 0, 0, 216, + 0, 0, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 566, + 0, 0, 567, 0, 568, 0, 0, 0, 1525, 569, + 0, 0, 0, 0, 570, 0, 566, 571, 0, 567, + 0, 568, 572, 0, 0, 573, 569, 0, 0, 0, + 0, 570, 0, 0, 571, 0, 0, 0, 0, 572, + 0, 0, 573, 0, 0, 0, 0, 574, 0, 0, + 575, 576, 0, 0, 0, 577, 0, 578, 0, 0, + 0, 579, 0, 0, 574, 0, 0, 575, 576, 1092, + 0, 0, 577, 0, 705, 0, 0, 0, 579, 1093, + 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 1102, 0, 1103, + 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, + 1114, 0, 0, 0, 0, 0, 0, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 0, 228, 229, + 230, 0, 0, 1115, 0, 0, 1527, 1528, 1529, 637, + 638, 1530, 1531, 1532, 1533, 1534, 0, 1535, 1536, 1537, + 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, + 211, 212, 213, 214, 215, 0, 192, 193, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 1116, + 0, 399, 0, 0, 73, 400, 0, 75, 76, 77, + 78, 79, 0, 0, 0, 0, 0, 401, 0, 0, + 82, 0, 0, 0, 83, 194, 195, 0, 196, 0, + 0, 0, 84, 0, 197, 0, 198, 0, 0, 85, + 1117, 0, 0, 1118, 0, 1119, 1120, 1121, 1122, 1123, + 1124, 1125, 1126, 1127, 1128, 1129, 86, 1130, 1131, 766, + 767, 1132, 0, 0, 0, 0, 0, 0, 0, 639, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 88, + 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, + 0, 0, 402, 403, 92, 93, 0, 0, 94, 0, + 95, 399, 0, 0, 73, 400, 0, 75, 76, 77, + 78, 79, 0, 0, 0, 0, 0, 401, 0, 0, + 82, 641, 0, 0, 83, 221, 222, 223, 224, 225, + 226, 227, 84, 228, 229, 230, 0, 0, 0, 85, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 0, + 0, 0, 0, 0, 0, 0, 86, 0, 216, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 0, 639, + 0, 0, 0, 0, 0, 0, 0, 216, 87, 88, + 0, 0, 0, 73, 89, 0, 75, 76, 77, 78, + 0, 0, 402, 403, 92, 93, 0, 0, 94, 238, + 95, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 0, 0, 0, 0, 0, 0, 0, 0, 85, 216, + 0, 641, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 0, 0, 0, 0, 239, 0, 0, 0, 0, + 216, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 0, 0, 0, 0, 0, 0, 0, 87, 88, 216, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 0, + 0, 0, 0, 0, 93, 0, 0, 0, 216, 95, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 0, 228, 229, 230, + 308, 0, 144, 0, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 0, 228, 229, 230, 499, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 0, 228, 229, + 230, 515, 0, 0, 0, 0, 0, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 0, 228, + 229, 230, 594, 0, 0, 0, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 0, 228, 229, + 230, 651, 0, 0, 0, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 0, 228, 229, 230, + 752, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 0, 228, 229, 230, + 880, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 728, 209, + 210, 211, 212, 213, 214, 215, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 216, 1518, 1519, 1520, 1521, + 1522, 1523, 1524, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1525, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 0, 228, 229, + 230, 962, 0, 0, 0, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 0, 228, 229, 230, + 1018, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1525, 0, 0, + 0, 0, 1412, 0, 0, 0, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 0, 228, 229, + 230, 0, 0, 0, 0, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 0, 740, 741, 742, + 601, 0, 0, 659, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 0, 228, 229, 230, 0, 0, 0, + 0, 1528, 1529, 0, 0, 1530, 1531, 1532, 1533, 1534, + 0, 1535, 1536, 1537, 110, 0, 111, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 413, 660, + 0, 661, 0, 0, 0, 0, 0, 414, 415, 416, + 417, 0, 0, 0, 0, 0, 0, 0, 662, 0, + 419, 420, 421, 422, 0, 601, 0, 0, 0, 0, + 0, 0, 0, 535, 0, 0, 0, 1529, 0, 0, + 1530, 1531, 1532, 1533, 1534, 0, 1535, 1536, 1537, 0, + 663, 0, 0, 664, 665, 0, 0, 666, 432, 0, + 0, 896, 897, 898, 0, 0, 0, 0, 0, 437, + 0, 0, 0, 413, 667, 0, 438, 0, 0, 0, + 440, 441, 414, 415, 416, 417, 668, 0, 0, 0, + 0, 0, 444, 0, 445, 419, 534, 421, 422, 0, + 669, 0, 0, 0, 0, 0, 73, 0, 535, 75, + 76, 77, 78, 899, 900, 896, 897, 898, 0, 0, + 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 432, 84, 0, 0, 0, 0, 0, + 0, 85, 0, 0, 437, 0, 0, 0, 0, 0, + 0, 438, 0, 0, 0, 0, 441, 0, 86, 0, + 73, 0, 0, 75, 76, 77, 78, 444, 0, 445, + 0, 0, 0, 70, 71, 0, 82, 0, 0, 0, + 87, 88, 0, 0, 0, 0, 0, 0, 84, 0, + 0, 0, 0, 0, 901, 85, 0, 93, 0, 0, + 94, 902, 95, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 86, 0, 72, 0, 0, 73, 74, 0, + 75, 76, 77, 78, 79, 80, 0, 0, 0, 0, + 81, 0, 0, 82, 87, 88, 0, 83, 70, 71, + 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, + 0, 93, 85, 0, 94, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, - 87, 0, 144, 0, 85, 88, 0, 0, 0, 0, - 0, 0, 0, 89, 90, 91, 92, 0, 0, 93, - 0, 94, 0, 0, 0, 86, 87, 0, 144, 0, - 0, 88, 0, 0, 0, 0, 0, 0, 0, 89, - 90, 91, 92, 145, 0, 93, 73, 94, 74, 75, - 76, 77, 78, 982, 0, 0, 0, 0, 146, 0, - 0, 81, 0, 0, 0, 82, 0, 0, 0, 145, - 0, 0, 73, 83, 74, 75, 76, 77, 78, 0, - 84, 0, 0, 0, 146, 0, 0, 81, 0, 0, - 0, 82, 0, 0, 0, 0, 0, 85, 0, 83, - 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, - 0, 0, 0, 0, 186, 187, 188, 0, 86, 87, - 0, 70, 0, 85, 88, 0, 0, 0, 0, 186, - 187, 188, 147, 148, 91, 92, 0, 0, 93, 0, - 94, 0, 0, 0, 86, 87, 0, 0, 0, 0, - 88, 186, 187, 188, 0, 0, 0, 0, 147, 148, - 91, 92, 72, 0, 93, 73, 94, 74, 75, 76, - 77, 78, 189, 0, 0, 0, 0, 80, 0, 0, - 81, 0, 0, 0, 82, 190, 191, 189, 0, 0, - 0, 0, 83, 0, 0, 0, 0, 407, 0, 84, - 190, 191, 0, 0, 0, 408, 409, 410, 411, 189, - 0, 0, 0, 0, 0, 628, 85, 0, 413, 589, - 415, 416, 190, 191, 192, 193, 418, 194, 0, 0, - 0, 590, 195, 0, 196, 0, 0, 86, 87, 192, - 193, 0, 194, 88, 0, 1013, 0, 195, 0, 196, - 1176, 89, 90, 91, 92, 629, 426, 93, 0, 94, - 1013, 192, 193, 0, 194, 1178, 0, 431, 0, 195, - 0, 196, 0, 432, 406, 407, 0, 0, 435, 0, - 0, 0, 0, 408, 409, 410, 411, 0, 437, 438, - 0, 439, 0, 0, 412, 0, 413, 414, 415, 416, - 417, 0, 0, 0, 418, 0, -161, 0, 0, 419, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, - 422, 423, 424, 425, 426, 427, 0, 0, 0, 0, - 0, 0, 428, 429, 430, 431, 0, 0, 0, 0, - 0, 432, 433, 407, 0, 434, 435, 0, 0, 0, - 436, 408, 409, 410, 411, 0, 437, 438, 0, 439, - 0, 0, 0, 0, 413, 414, 415, 416, 0, 0, - 407, 0, 418, 0, 407, 0, 0, 590, 408, 409, - 410, 411, 408, 409, 410, 411, 0, 0, 0, 0, - 0, 413, 589, 415, 416, 413, 589, 415, 416, 0, - 0, 0, 426, 0, 590, 0, 0, 73, 590, 74, - 75, 76, 77, 431, 0, 0, 0, 0, 0, 432, - 0, 0, 236, 434, 435, 0, 0, 0, 0, 426, - 604, 0, 0, 426, 437, 438, 0, 439, 0, 0, - 431, 84, 0, 0, 431, 0, 432, 0, 0, 0, - 432, 435, 0, 0, 0, 435, 0, 0, 237, 0, - 0, 0, 438, 0, 439, 0, 438, 0, 439, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, - 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, - 0, 94 + 0, 70, 0, 0, 0, 0, 0, 0, 0, 72, + 0, 0, 73, 74, 0, 75, 76, 77, 78, 79, + 0, 87, 88, 0, 0, 81, 0, 89, 82, 0, + 0, 0, 83, 0, 0, 90, 91, 92, 93, 0, + 84, 94, 72, 95, 0, 73, 74, 85, 75, 76, + 77, 78, 79, 777, 0, 0, 0, 0, 81, 0, + 0, 82, 0, 0, 86, 83, 145, 0, 0, 0, + 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, + 85, 0, 0, 0, 0, 0, 87, 88, 0, 0, + 0, 0, 89, 0, 0, 0, 0, 86, 0, 145, + 90, 91, 92, 93, 0, 0, 94, 146, 95, 0, + 73, 147, 0, 75, 76, 77, 78, 79, 965, 87, + 88, 0, 0, 148, 0, 89, 82, 0, 0, 0, + 83, 0, 0, 90, 91, 92, 93, 0, 84, 94, + 146, 95, 0, 73, 147, 85, 75, 76, 77, 78, + 79, 0, 0, 0, 0, 0, 148, 0, 0, 82, + 0, 0, 86, 83, 70, 0, 0, 0, 0, 0, + 0, 84, 0, 0, 0, 0, 0, 0, 85, 0, + 0, 188, 189, 190, 87, 88, 0, 0, 0, 0, + 89, 0, 0, 0, 0, 86, 0, 0, 149, 150, + 92, 93, 0, 0, 94, 72, 95, 0, 73, 74, + 0, 75, 76, 77, 78, 79, 0, 87, 88, 0, + 0, 81, 0, 89, 82, 0, 0, 0, 83, 0, + 0, 149, 150, 92, 93, 0, 84, 94, 0, 95, + 191, 0, 0, 85, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 192, 193, 0, 0, 0, 0, 0, + 86, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, + 190, 0, 87, 88, 0, 0, 0, 0, 89, 0, + 0, 0, 194, 998, 999, 1000, 90, 91, 92, 93, + 0, 197, 94, 198, 95, 0, 0, 191, 0, 0, + 0, 0, 0, 0, 1001, 0, 0, 0, 0, 1002, + 192, 193, 191, 0, 0, 0, 0, 0, 73, 0, + 0, 75, 76, 77, 78, 192, 193, 191, 0, 0, + 188, 189, 190, 0, 0, 1039, 0, 0, 0, 0, + 192, 193, 73, 0, 0, 75, 76, 77, 78, 194, + 195, 0, 196, 85, 0, 0, 0, 0, 197, 0, + 198, 0, 0, 0, 194, 195, 0, 196, 0, 0, + 239, 1001, 0, 197, 0, 198, 1170, 85, 0, 194, + 195, 0, 196, 0, 0, 0, 1001, 0, 197, 191, + 198, 1172, 87, 88, 239, 0, 0, 0, 0, 0, + 0, 1001, 192, 193, 0, 0, 1174, 0, 0, 93, + 0, 0, 0, 0, 95, 0, 87, 88, 73, 0, + 0, 75, 76, 77, 78, 0, 0, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 0, 157, 95, 0, + 0, 194, 195, 0, 196, 0, 0, 0, 0, 0, + 197, 0, 198, 85, 0, 413, 0, 0, 0, 0, + 0, 158, 0, 0, 414, 415, 416, 417, 0, 0, + 239, 0, 0, 0, 0, 0, 0, 419, 534, 421, + 422, 0, 0, 0, 0, 424, 0, 0, 0, 0, + 535, 0, 87, 88, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, + 0, 0, 0, 0, 95, 432, 0, 0, 0, 412, + 413, 0, 0, 0, 0, 0, 437, 0, 0, 414, + 415, 416, 417, 438, 0, 0, 0, 164, 441, 0, + 418, 0, 419, 420, 421, 422, 423, 0, 443, 444, + 424, 445, 0, 0, 0, 425, 0, 0, 0, 0, + 413, 0, 0, 0, 0, 0, -161, 0, 0, 414, + 415, 416, 417, 0, 426, 427, 428, 429, 430, 431, + 432, 433, 419, 534, 421, 422, 0, 0, 434, 435, + 436, 437, 0, 0, 0, 535, 0, 0, 438, 439, + 413, 0, 440, 441, 0, 0, 0, 442, 0, 414, + 415, 416, 417, 443, 444, 0, 445, 413, 0, 0, + 432, 608, 419, 420, 421, 422, 414, 415, 416, 417, + 424, 437, 0, 0, 0, 535, 0, 0, 438, 419, + 534, 421, 422, 441, 0, 0, 0, 0, 0, 0, + 0, 0, 535, 0, 444, 0, 445, 0, 0, 0, + 432, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 437, 0, 0, 0, 0, 0, 432, 438, 0, + 0, 0, 440, 441, 0, 0, 0, 0, 437, 0, + 0, 0, 0, 443, 444, 438, 445, 0, 0, 0, + 441, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 444, 0, 445 }; static const yytype_int16 yycheck[] = { - 1, 114, 392, 116, 117, 118, 119, 120, 392, 122, - 79, 124, 414, 126, 434, 434, 79, 500, 930, 544, - 560, 96, 951, 1092, 46, 263, 263, 46, 543, 784, - 143, 676, 391, 529, 85, 86, 87, 10, 11, 12, - 15, 92, 155, 156, 530, 501, 531, 937, 15, 162, - 163, 48, 263, 50, 6, 984, 8, 64, 15, 10, - 850, 0, 13, 263, 65, 155, 939, 13, 61, 942, - 943, 15, 81, 81, 964, 158, 966, 81, 154, 969, - 46, 155, 0, 155, 174, 1010, 1011, 1012, 613, 156, - 173, 48, 154, 50, 95, 96, 172, 34, 48, 15, - 50, 81, 174, 177, 172, 155, 48, 155, 50, 48, - 172, 50, 113, 114, 172, 116, 117, 118, 119, 120, - 172, 122, 34, 124, 174, 126, 174, 178, 179, 180, - 181, 48, 48, 50, 50, 48, 172, 50, 528, 48, - 133, 50, 143, 533, 155, 154, 154, 120, 157, 157, - 154, 158, 155, 157, 155, 156, 231, 232, 173, 174, - 155, 162, 163, 174, 13, 34, 15, 158, 17, 68, - 69, 174, 247, 248, 154, 158, 1066, 157, 175, 174, - 564, 971, 173, 172, 157, 681, 237, 546, 155, 302, - 173, 687, 837, 13, 690, 15, 682, 17, 1071, 174, - 201, 1074, 1075, 848, 172, 443, 247, 248, 691, 1099, - 34, 155, 698, 62, 156, 701, 167, 972, 64, 702, - 227, 167, 174, 172, 173, 175, 10, 11, 12, 13, - 231, 232, 443, 17, 171, 172, 173, 154, 15, 163, - 17, 263, 62, 443, 263, 770, 247, 248, 163, 1174, - 251, 1176, 172, 1178, 1144, 1145, 1181, 1182, 1183, 171, - 172, 173, 175, 174, 265, 48, 175, 50, 172, 115, - 795, 48, 172, 50, 814, 121, 172, 123, 62, 125, - 172, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 263, 172, 148, - 369, 302, 171, 172, 173, 155, 369, 1062, 154, 172, - 1239, 34, 158, 162, 160, 161, 155, 358, 167, 158, - 172, 322, 363, 364, 174, 6, 811, 8, 148, 380, - 826, 172, 48, 157, 50, 831, 120, 172, 834, 835, - 172, 827, 162, 172, 734, 828, 829, 167, 172, 173, - 734, 172, 172, 48, 172, 50, 842, 358, 1231, 845, - 846, 155, 363, 364, 148, 1155, 172, 154, 13, 156, - 15, 158, 17, 374, 375, 155, 155, 172, 162, 155, - 174, 155, 155, 167, 622, 162, 901, 172, 626, 626, - 167, 392, 175, 158, 174, 174, 242, 155, 174, 1468, - 174, 174, 172, 6, 155, 8, 407, 408, 409, 410, - 411, 622, 413, 414, 415, 626, 174, 62, 419, 173, - 174, 443, 622, 174, 443, 426, 626, 172, 155, 925, - 431, 432, 1077, 434, 435, 436, 172, 438, 439, 925, - 172, 155, 982, 155, 167, 168, 169, 174, 171, 172, - 173, 172, 155, 155, 155, 301, 173, 174, 527, 175, - 174, 154, 174, 156, 527, 158, 163, 257, 258, 155, - 511, 174, 174, 174, 172, 516, 517, 443, 934, 172, - 175, 163, 938, 524, 525, 526, 155, 155, 174, 972, - 173, 174, 543, 1018, 48, 1385, 50, 172, 994, 500, - 501, 173, 174, 148, 1149, 174, 174, 990, 991, 172, - 511, 172, 1037, 172, 1000, 516, 517, 162, 172, 1044, - 172, 173, 167, 524, 525, 526, 172, 172, 529, 913, - 531, 987, 988, 989, 151, 152, 153, 172, 560, 1451, - 172, 560, 172, 544, 545, 154, 1475, 156, 157, 158, - 172, 1047, 17, 154, 154, 156, 156, 158, 158, 1055, - 167, 1047, 1058, 154, 155, 572, 635, 172, 173, 1055, - 34, 173, 1058, 121, 122, 123, 172, 173, 174, 1062, - 173, 154, 10, 11, 12, 172, 173, 174, 589, 590, - 172, 173, 174, 49, 560, 155, 597, 62, 172, 64, - 622, 164, 603, 622, 626, 175, 155, 626, 174, 174, - 174, 680, 613, 174, 164, 174, 81, 680, 464, 174, - 466, 174, 468, 174, 1080, 155, 155, 174, 1048, 1048, - 671, 174, 174, 674, 675, 642, 643, 174, 174, 174, - 68, 174, 174, 650, 164, 652, 1048, 174, 113, 15, - 174, 116, 117, 81, 82, 120, 622, 174, 174, 174, - 626, 10, 11, 12, 13, 666, 174, 174, 17, 174, - 671, 136, 174, 674, 675, 676, 174, 174, 174, 164, - 681, 174, 174, 148, 174, 686, 687, 174, 172, 690, - 691, 174, 120, 121, 174, 123, 174, 162, 157, 157, - 128, 702, 130, 167, 168, 169, 172, 171, 172, 173, - 172, 712, 1168, 62, 721, 1171, 157, 174, 172, 172, - 1216, 1217, 1218, 172, 793, 172, 572, 172, 172, 172, - 1216, 1217, 1218, 157, 5, 157, 157, 172, 584, 172, - 1225, 177, 174, 174, 1229, 172, 174, 172, 174, 862, - 757, 167, 175, 173, 173, 81, 163, 172, 163, 781, - 163, 1551, 1552, 1553, 163, 174, 172, 768, 163, 770, - 119, 120, 174, 156, 172, 34, 817, 174, 174, 1235, - 781, 174, 10, 11, 12, 174, 172, 167, 167, 154, - 157, 49, 814, 794, 795, 814, 586, 587, 172, 148, - 172, 174, 157, 174, 174, 10, 11, 12, 13, 154, - 811, 155, 17, 162, 155, 155, 817, 155, 167, 155, - 155, 154, 172, 172, 156, 826, 156, 828, 829, 158, - 831, 102, 103, 834, 835, 172, 837, 154, 177, 173, - 68, 172, 154, 10, 172, 172, 155, 848, 814, 850, - 901, 173, 173, 81, 82, 174, 164, 62, 164, 164, - 174, 862, 164, 174, 10, 10, 10, 10, 1658, 715, - 716, 717, 10, 719, 156, 721, 1666, 723, 724, 150, - 151, 164, 407, 408, 409, 410, 411, 34, 413, 414, - 415, 155, 120, 121, 419, 123, 174, 919, 167, 167, - 128, 426, 130, 175, 156, 156, 431, 432, 983, 434, - 435, 436, 167, 438, 439, 120, 172, 177, 1403, 1404, - 1405, 15, 172, 177, 925, 172, 172, 158, 172, 174, - 172, 174, 155, 934, 155, 155, 155, 938, 939, 1435, - 155, 942, 943, 148, 156, 173, 172, 174, 173, 1435, - 167, 175, 174, 156, 156, 155, 957, 162, 10, 960, - 982, 175, 167, 982, 174, 1219, 177, 172, 34, 155, - 971, 972, 10, 174, 10, 246, 1461, 175, 249, 250, - 174, 174, 983, 174, 156, 10, 987, 988, 989, 990, - 991, 174, 10, 994, 1479, 1480, 10, 1453, 10, 156, - 155, 1457, 172, 177, 794, 1395, 174, 10, 11, 12, - 13, 1395, 15, 803, 17, 175, 982, 1018, 165, 166, - 167, 168, 169, 177, 171, 172, 173, 1049, 154, 156, - 155, 163, 174, 174, 174, 174, 1037, 172, 172, 1040, - 163, 163, 163, 1044, 174, 174, 1047, 1048, 156, 10, - 156, 175, 10, 1054, 1055, 1540, 175, 1058, 1059, 62, - 174, 1062, 10, 1548, 589, 590, 156, 156, 10, 156, - 1071, 172, 597, 1074, 1075, 174, 1077, 23, 24, 1080, - 15, 1537, 174, 1158, 175, 356, 357, 933, 34, 174, - 155, 1092, 175, 174, 155, 366, 367, 368, 174, 165, - 166, 167, 168, 169, 164, 171, 172, 173, 164, 164, - 174, 164, 1597, 10, 156, 1600, 174, 120, 10, 390, - 174, 10, 156, 172, 172, 172, 172, 156, 1241, 1242, - 174, 402, 403, 174, 174, 156, 10, 156, 1240, 174, - 930, 156, 1598, 603, 1451, 148, 1631, 937, 1149, 939, - 23, 24, 942, 943, 1155, 1398, 427, 1158, 626, 162, - 1049, 34, 1647, 919, 167, 1557, 1395, 1168, 1206, 172, - 1171, 626, 734, 1358, 964, 1019, 966, 564, -1, 969, - 1187, 1188, -1, 1190, 321, 1192, 1440, -1, 1442, 1443, - 1444, 1445, 1446, -1, 1448, -1, -1, 17, 18, 19, - 20, 21, 22, 23, 24, 1206, -1, -1, -1, -1, - -1, -1, -1, -1, 34, 1216, 1217, 1218, -1, 165, - 166, 167, 168, 169, 1225, 171, 172, 173, 1229, -1, - 1231, 502, -1, -1, 1235, -1, -1, -1, -1, -1, - 1241, 1242, -1, 768, 515, -1, -1, 518, 519, -1, - -1, -1, -1, 10, 11, 12, -1, 1511, 1512, 1513, - 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, - 1524, 1525, 1526, 1527, 1528, 1529, 1066, -1, -1, -1, - -1, 1071, -1, -1, 1074, 1075, -1, -1, -1, -1, - -1, -1, 165, 166, 167, 168, 169, -1, 171, 172, - 173, -1, -1, -1, -1, -1, -1, -1, -1, 1099, - -1, 68, -1, -1, 585, -1, -1, 588, 1572, -1, - -1, -1, -1, -1, 81, 82, -1, -1, -1, -1, - -1, -1, 3, 4, 5, 6, -1, 8, 9, 10, - 160, 161, 162, -1, 15, 165, 166, 167, 168, 169, - -1, 171, 172, 173, 1144, 1145, -1, 1358, -1, 630, - -1, -1, -1, 120, 121, -1, 123, -1, 1214, 1623, - -1, 128, 1626, 130, -1, -1, -1, 48, -1, 50, - 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1395, 66, -1, 154, 669, 670, - 71, -1, 1403, 1404, 1405, -1, -1, -1, -1, 80, - 81, -1, -1, -1, 685, -1, -1, 688, 689, -1, - -1, 692, -1, -1, 65, 696, -1, -1, 699, 700, - -1, -1, 703, -1, 1435, 706, 707, -1, -1, 710, - 1447, 1231, -1, -1, 115, -1, -1, 118, 89, 120, - -1, -1, 1453, -1, 125, -1, 1457, -1, 129, -1, - 1461, 132, -1, -1, -1, -1, 137, 1468, 109, 140, - -1, 10, 11, 12, -1, -1, -1, -1, 1479, 1480, + 1, 97, 397, 80, 64, 115, 420, 117, 118, 119, + 120, 121, 440, 123, 440, 125, 397, 127, 46, 46, + 374, 506, 1083, 80, 46, 550, 912, 566, 549, 15, + 266, 266, 10, 13, 144, 13, 934, 768, 396, 86, + 87, 88, 685, 266, 266, 15, 93, 157, 158, 6, + 48, 8, 50, 157, 164, 165, 831, 15, 681, 413, + 414, 415, 416, 417, 65, 419, 420, 421, 62, 967, + 15, 425, 175, 176, 15, 179, 17, 921, 432, 160, + 924, 925, 926, 437, 438, 82, 440, 441, 442, 537, + 444, 445, 617, 0, 175, 96, 97, 10, 11, 12, + 160, 507, 34, 48, 174, 50, 48, 48, 50, 50, + 48, 34, 50, 114, 115, 174, 117, 118, 119, 120, + 121, 157, 123, 82, 125, 6, 127, 8, 48, 34, + 50, 174, 15, 180, 181, 182, 183, 233, 234, 82, + 176, 135, 157, 144, 260, 261, 48, 48, 50, 50, + 48, 174, 50, 249, 250, 251, 157, 158, 539, 156, + 158, 176, 159, 164, 165, 48, 34, 50, 160, 229, + 813, 814, 174, 919, 817, 570, 998, 999, 1000, 954, + 534, 535, 48, 175, 50, 157, 34, 157, 82, 169, + 176, 169, 239, 157, 552, 305, 160, 156, 174, 157, + 159, 947, 203, 949, 176, 48, 952, 50, 121, 165, + 249, 250, 251, 156, 449, 5, 159, 1061, 156, 176, + 64, 1065, 1066, 164, 955, 160, 449, 449, 169, 754, + 174, 175, 233, 234, 174, 177, 159, 156, 266, 266, + 175, 173, 174, 175, 266, 156, 159, 601, 249, 250, + 251, 174, 175, 254, 779, 174, 165, 177, 157, 798, + 175, 176, 156, 174, 907, 159, 174, 268, 173, 174, + 175, 48, 116, 50, 174, 177, 177, 176, 122, 177, + 124, 157, 126, 174, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + 176, 169, 170, 171, 305, 173, 174, 175, 175, 176, + 1056, 177, 156, 103, 104, 34, 160, 174, 162, 163, + 174, 1052, 361, 718, 325, 173, 174, 175, 174, 368, + 369, 974, 34, 818, 177, 978, 979, 718, 385, 1237, + 157, 153, 154, 155, 1090, 830, 157, 795, 1170, 0, + 1172, 174, 1174, 157, 174, 1177, 1178, 1179, 981, 176, + 361, 882, 152, 153, 157, 176, 174, 368, 369, 157, + 993, 1146, 176, 374, 174, 10, 11, 12, 379, 380, + 156, 165, 158, 176, 160, 1229, 165, 157, 176, 1135, + 1136, 626, 1035, 1036, 630, 630, 397, 48, 752, 50, + 244, 1044, 1045, 626, 626, 1048, 176, 630, 630, 157, + 1471, 157, 413, 414, 415, 416, 417, 174, 419, 420, + 421, 449, 449, 157, 425, 174, 965, 449, 176, 174, + 176, 432, 158, 6, 69, 8, 437, 438, 174, 440, + 441, 442, 176, 444, 445, 1068, 174, 82, 83, 174, + 169, 170, 171, 174, 173, 174, 175, 174, 248, 536, + 304, 157, 252, 253, 174, 167, 168, 169, 170, 171, + 955, 173, 174, 175, 69, 70, 592, 593, 517, 536, + 176, 1006, 157, 522, 523, 524, 121, 122, 900, 124, + 902, 174, 531, 532, 533, 130, 157, 132, 174, 894, + 1025, 176, 549, 175, 176, 506, 507, 1032, 23, 24, + 916, 175, 176, 1156, 920, 176, 517, 1140, 578, 34, + 174, 522, 523, 524, 157, 174, 157, 157, 157, 157, + 531, 532, 533, 534, 535, 157, 537, 157, 566, 566, + 157, 176, 174, 176, 566, 176, 176, 176, 176, 550, + 551, 156, 176, 158, 176, 160, 176, 160, 1202, 176, + 1204, 174, 639, 174, 970, 971, 972, 1052, 1454, 359, + 360, 1214, 1215, 1216, 10, 11, 12, 22, 23, 24, + 1478, 371, 372, 373, 174, 175, 646, 647, 174, 34, + 174, 10, 11, 12, 654, 174, 656, 174, 626, 626, + 601, 169, 630, 630, 626, 395, 607, 174, 630, 1037, + 156, 1037, 158, 156, 160, 158, 617, 160, 408, 409, + 122, 123, 124, 1037, 156, 157, 470, 174, 472, 156, + 474, 174, 49, 69, 174, 175, 675, 175, 175, 1385, + 679, 680, 177, 433, 157, 705, 82, 83, 174, 166, + 69, 34, 167, 168, 169, 170, 171, 157, 173, 174, + 175, 166, 778, 82, 83, 1071, 174, 175, 176, 670, + 176, 787, 176, 156, 675, 158, 159, 160, 679, 680, + 681, 741, 176, 1037, 685, 121, 122, 176, 124, 174, + 175, 176, 176, 157, 130, 696, 132, 174, 175, 176, + 777, 176, 121, 122, 176, 124, 176, 176, 176, 176, + 176, 130, 166, 132, 10, 11, 12, 13, 508, 176, + 157, 17, 167, 168, 169, 170, 171, 176, 173, 174, + 175, 521, 176, 843, 578, 525, 526, 765, 176, 175, + 166, 160, 176, 176, 176, 164, 590, 15, 176, 176, + 169, 752, 176, 754, 10, 11, 12, 13, 176, 15, + 176, 17, 801, 176, 765, 176, 176, 63, 176, 176, + 798, 798, 176, 176, 174, 1223, 798, 778, 779, 1227, + 176, 1556, 1557, 1558, 167, 168, 169, 170, 171, 176, + 173, 174, 175, 159, 795, 1438, 912, 176, 176, 159, + 801, 591, 174, 919, 594, 921, 174, 63, 924, 925, + 926, 812, 813, 814, 176, 159, 817, 818, 174, 174, + 174, 174, 174, 174, 120, 121, 159, 1233, 159, 830, + 831, 947, 159, 949, 174, 882, 952, 174, 174, 169, + 174, 176, 843, 175, 634, 82, 13, 176, 15, 175, + 17, 176, 174, 177, 150, 699, 700, 701, 179, 703, + 174, 705, 165, 707, 708, 121, 165, 165, 164, 174, + 966, 127, 900, 169, 902, 165, 176, 165, 174, 176, + 174, 158, 174, 673, 674, 176, 34, 176, 159, 176, + 1665, 176, 156, 49, 150, 174, 63, 687, 1673, 174, + 690, 691, 176, 176, 694, 159, 907, 176, 164, 156, + 22, 23, 24, 169, 157, 916, 157, 157, 174, 920, + 921, 157, 34, 924, 925, 926, 157, 157, 156, 174, + 174, 158, 158, 156, 169, 160, 169, 965, 965, 940, + 1056, 179, 943, 965, 686, 1061, 175, 156, 166, 1065, + 1066, 157, 174, 954, 955, 1403, 1404, 1405, 174, 13, + 127, 15, 174, 17, 166, 966, 176, 166, 176, 970, + 971, 972, 762, 974, 1090, 166, 176, 978, 979, 10, + 981, 10, 10, 150, 10, 10, 10, 10, 11, 12, + 13, 166, 993, 158, 17, 157, 176, 164, 169, 169, + 1395, 1407, 169, 177, 1410, 1006, 158, 174, 158, 63, + 1038, 169, 175, 15, 1395, 175, 1464, 174, 157, 1135, + 1136, 811, 176, 174, 1025, 815, 816, 1028, 174, 819, + 157, 1032, 176, 823, 1035, 1036, 1037, 827, 828, 174, + 63, 157, 1043, 1044, 1045, 160, 157, 1048, 1049, 839, + 1456, 1052, 157, 1149, 1460, 167, 168, 169, 170, 171, + 1061, 173, 174, 175, 1065, 1066, 169, 1068, 158, 176, + 1071, 915, 174, 127, 158, 176, 175, 177, 158, 177, + 157, 10, 1083, 825, 826, 176, 179, 829, 157, 176, + 179, 177, 174, 176, 884, 176, 150, 1545, 121, 174, + 176, 179, 10, 10, 127, 1553, 158, 10, 176, 10, + 164, 1559, 1560, 1229, 158, 169, 10, 13, 10, 15, + 174, 17, 157, 1183, 1184, 174, 1186, 150, 1188, 1239, + 1240, 179, 177, 923, 176, 156, 1542, 927, 928, 1140, + 930, 164, 932, 179, 176, 1146, 169, 157, 1149, 158, + 165, 174, 174, 165, 1602, 1156, 946, 1605, 176, 165, + 950, 951, 165, 174, 177, 907, 956, 63, 176, 158, + 177, 961, 176, 10, 158, 176, 176, 176, 10, 969, + 10, 158, 158, 973, 10, 158, 174, 15, 1636, 176, + 176, 176, 65, 157, 984, 985, 177, 1603, 177, 157, + 166, 1202, 176, 1204, 176, 166, 1654, 166, 176, 166, + 10, 176, 158, 1214, 1215, 1216, 176, 90, 10, 10, + 158, 174, 1223, 174, 174, 158, 1227, 176, 1229, 174, + 158, 127, 1233, 176, 176, 10, 158, 110, 1239, 1240, + 176, 158, 1238, 607, 986, 1398, 1454, 1038, 990, 991, + 630, 1562, 1042, 1395, 150, 718, 1046, 1047, 10, 11, + 12, 13, 570, 630, 1007, 17, 1358, 324, 164, 1385, + 1060, -1, -1, 169, -1, 2, 149, 20, 21, 22, + 23, 24, 1398, -1, -1, -1, -1, -1, -1, -1, + -1, 34, -1, 1035, 1036, -1, -1, -1, -1, 1089, + -1, -1, 1044, 1045, -1, -1, 1048, -1, -1, -1, + -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, + 47, -1, -1, -1, -1, -1, 53, 200, 201, -1, + -1, -1, 59, 60, 61, 62, 63, -1, 1454, 66, + -1, -1, -1, 1133, -1, -1, 10, 11, 12, -1, + -1, -1, -1, -1, -1, 228, -1, 1358, -1, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 1212, 121, + -1, -1, -1, -1, 247, 127, -1, 34, -1, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 261, 262, + 1450, 1181, -1, -1, 1395, -1, -1, 34, 150, -1, + 1190, -1, 1403, 1404, 1405, 69, 1407, -1, -1, 1410, + 1200, -1, 164, -1, -1, -1, -1, 169, 82, 83, + 1162, -1, -1, 1213, 167, 168, 169, 170, 171, -1, + 173, 174, 175, 306, 307, -1, 163, 1438, -1, 312, + -1, -1, -1, -1, -1, 1505, -1, -1, -1, -1, + -1, 324, -1, -1, -1, 1456, -1, 121, 122, 1460, + 124, -1, -1, 1464, 23, 24, 130, -1, 132, -1, + 1471, -1, 1214, 1215, 1216, 34, 1536, -1, -1, 143, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, + 227, -1, 1217, 230, 161, 162, 163, 164, 235, -1, + 167, 168, 169, 170, 171, -1, 173, 174, 175, -1, + -1, -1, 159, 396, 161, 162, 163, 164, -1, 402, + 167, 168, 169, 170, 171, -1, 173, 174, 175, 266, + -1, 1542, -1, -1, 1545, -1, -1, -1, -1, -1, + -1, -1, 1553, -1, -1, 1556, 1557, 1558, 1559, 1560, + -1, 1562, -1, -1, -1, -1, -1, -1, -1, -1, + 443, -1, -1, -1, -1, 302, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1647, 1648, 1649, + -1, 1651, 319, 320, -1, -1, -1, 1387, -1, 326, + -1, 1602, 1603, -1, 1605, -1, 1450, -1, 167, 168, + 169, 170, 171, -1, 173, 174, 175, -1, 1408, -1, + -1, 1411, -1, -1, 18, 19, 20, 21, 22, 23, + 24, -1, 505, 55, -1, 1636, 58, 59, 60, 61, + 34, 10, 11, 12, -1, -1, -1, 520, -1, 71, + -1, -1, 379, 1654, -1, -1, 1500, 1501, 1502, 1503, + -1, 1505, -1, 1507, 1665, 1455, -1, -1, 90, 1459, + 543, -1, 1673, 1463, -1, -1, -1, -1, -1, 552, + -1, -1, -1, -1, -1, 107, 1476, -1, -1, 1479, + 1480, 1481, -1, -1, -1, 422, 1438, -1, -1, -1, + 69, -1, -1, -1, -1, -1, -1, 129, 130, -1, + -1, -1, -1, 82, 83, -1, -1, -1, -1, 592, + 593, -1, -1, -1, 146, -1, -1, -1, 1443, 151, + 1445, 1446, 1447, 1448, 1449, 608, 1451, 610, 611, 612, + 613, 614, 615, -1, -1, 618, -1, -1, -1, -1, + -1, -1, 121, 122, -1, 124, -1, 1547, -1, 632, + 633, 130, -1, 132, -1, -1, -1, -1, 641, 496, + 164, 165, 166, 167, 168, 169, 170, 171, -1, 173, + 174, 175, -1, -1, 511, -1, -1, -1, 1217, -1, + -1, 3, 4, 5, 6, 164, 8, 9, 10, -1, + 169, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, + 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, + 1610, -1, -1, -1, -1, 1615, 1616, 18, 19, 20, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 51, + -1, -1, -1, 34, 1634, -1, -1, 574, 575, 576, + 577, -1, 579, -1, -1, 67, -1, -1, -1, -1, + 72, 588, 1577, -1, -1, 1655, -1, 740, -1, 81, + 82, -1, -1, -1, 1664, 87, -1, -1, -1, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, -1, -1, 624, 17, 18, + 19, 20, 21, 22, 23, 24, -1, 119, -1, 121, + -1, -1, -1, 1628, 126, 34, 1631, -1, -1, 131, + -1, -1, 134, -1, 797, -1, -1, 139, 17, 18, + 19, 20, 21, 22, 23, 24, -1, -1, 665, -1, + -1, -1, -1, -1, -1, 34, -1, -1, -1, 822, + -1, -1, 164, -1, 681, 167, 168, 169, -1, -1, + 172, -1, 174, 175, -1, -1, 178, -1, -1, -1, + -1, -1, 845, -1, 165, 166, 167, 168, 169, 170, + 171, 708, 173, 174, 175, -1, -1, -1, -1, -1, + -1, -1, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, -1, 1443, 742, 1445, 1446, 1447, 1448, + 1449, -1, 1451, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 905, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, -1, 173, 174, 175, 784, -1, -1, + 10, 11, 12, 936, -1, 3, 4, 5, 6, -1, + 8, 9, 10, 162, 163, 164, -1, 15, 167, 168, + 169, 170, 171, -1, 173, 174, 175, 1516, 1517, 1518, + 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, + 1529, 1530, 1531, 1532, 1533, 1534, -1, -1, -1, -1, + 48, -1, 50, 51, -1, -1, -1, -1, -1, 69, + -1, -1, -1, 850, -1, -1, -1, -1, 1001, 67, + -1, -1, 82, 83, 72, -1, -1, -1, -1, -1, + -1, -1, 11, 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 162, -1, 1500, 165, 166, -1, -1, -1, 170, - -1, 172, -1, -1, -1, 176, 147, 778, -1, -1, - -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, - -1, -1, -1, 1048, 1531, -1, -1, -1, -1, 68, - -1, -1, -1, -1, -1, -1, 1537, -1, -1, 1540, - -1, -1, 81, 82, -1, -1, 1219, 1548, -1, -1, - 1551, 1552, 1553, -1, -1, -1, 1557, 198, 199, 830, - -1, 47, -1, -1, -1, -1, -1, 53, -1, 840, - 841, -1, -1, 59, 60, 61, 62, 63, -1, -1, - 66, 120, 121, -1, 123, 226, -1, 858, -1, 128, - -1, 130, -1, -1, -1, 1385, 1597, 1598, -1, 1600, - -1, 1447, -1, -1, 245, -1, -1, -1, 1398, -1, - -1, -1, -1, -1, -1, -1, -1, 258, 259, 158, - -1, -1, -1, 162, -1, -1, -1, -1, 167, -1, - 1631, -1, 903, 1640, 1641, 1642, -1, 1644, -1, -1, - -1, 10, 11, 12, -1, -1, 1647, -1, -1, 1495, - 1496, 1497, 1498, -1, 1500, -1, 1502, 1658, -1, -1, - -1, 1451, 303, 304, -1, 1666, -1, -1, 309, -1, - 941, -1, -1, 944, 945, 161, 947, -1, 949, -1, - 321, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 963, -1, -1, -1, 967, 968, -1, 68, - -1, -1, 973, -1, -1, -1, -1, 978, 10, 11, - 12, -1, 81, 82, -1, 986, -1, -1, -1, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - -1, -1, 228, -1, -1, -1, -1, 233, -1, -1, - 391, 120, 121, -1, 123, 396, -1, -1, -1, 128, - -1, 130, -1, -1, -1, -1, 68, 1440, -1, 1442, - 1443, 1444, 1445, 1446, -1, 1448, -1, 263, -1, 81, - 82, -1, 1053, -1, -1, 1056, 1057, -1, -1, -1, - -1, -1, -1, 162, -1, -1, 437, -1, 167, 1070, - -1, -1, -1, -1, -1, -1, 10, 11, 12, -1, - -1, -1, -1, 299, -1, -1, -1, -1, 120, 121, - -1, 123, -1, -1, -1, -1, 128, 1098, 130, -1, - 316, 317, -1, -1, -1, -1, -1, 323, 1511, 1512, - 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, - 1523, 1524, 1525, 1526, 1527, 1528, 1529, -1, 499, -1, - -1, -1, -1, -1, 68, -1, -1, -1, -1, -1, - -1, 1142, -1, 514, -1, -1, -1, 81, 82, -1, - 3, 4, 5, 6, -1, 8, 9, 10, 374, -1, - -1, -1, 15, -1, -1, -1, 537, -1, 1169, -1, - -1, 1172, -1, -1, -1, 546, -1, -1, -1, -1, - -1, -1, -1, -1, 1185, -1, 120, 121, -1, 123, - -1, -1, -1, 1194, 128, 48, 130, 50, 51, -1, - 416, -1, -1, 1204, -1, 3, 4, 5, 6, -1, - 8, 9, 10, 66, 1215, 586, 587, 15, 71, -1, - 154, -1, -1, 1626, -1, -1, -1, 80, 81, -1, - -1, -1, -1, 604, -1, 606, 607, 608, 609, 610, - 611, -1, -1, 614, 17, 18, 19, 20, 21, 22, - 23, 24, -1, 51, -1, -1, -1, 628, 629, -1, - -1, 34, 115, -1, -1, 118, 637, 120, 66, 22, - 23, 24, 125, 71, 490, -1, 129, -1, -1, 132, - -1, 34, 80, 81, 137, -1, -1, 140, 86, 505, - -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, -1, 162, - -1, -1, 165, 166, -1, -1, -1, 170, -1, 172, - 118, -1, 120, 176, 695, -1, -1, 125, -1, -1, - -1, 129, -1, 11, 132, -1, -1, -1, -1, 137, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 568, 569, 570, 571, -1, 573, -1, -1, - -1, -1, -1, -1, 162, -1, 582, 165, 166, 167, - -1, -1, 170, -1, 172, 173, -1, 55, 176, 57, - 58, 59, 60, -1, -1, 756, 1387, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, -1, 171, 172, - 173, -1, -1, -1, 620, -1, -1, -1, -1, -1, - -1, 89, 165, 166, 167, 168, 169, -1, 171, 172, - 173, -1, -1, -1, -1, -1, -1, -1, 106, -1, - -1, -1, -1, -1, 3, 4, 5, 6, -1, 8, - 9, 10, 813, -1, -1, 661, 15, -1, -1, 127, - 128, 1452, -1, -1, -1, 1456, -1, -1, -1, 1460, - 676, -1, -1, -1, -1, -1, 144, -1, -1, -1, - -1, 149, 1473, -1, -1, 1476, 1477, 1478, -1, -1, - -1, -1, 51, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 864, 22, 23, 24, 66, -1, -1, - -1, -1, 71, -1, -1, -1, 34, -1, 724, -1, - -1, 80, 81, -1, -1, -1, 10, 11, 12, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - -1, 1542, 758, -1, -1, -1, 115, -1, -1, 118, - -1, 120, 923, 1554, 1555, -1, 125, -1, -1, -1, - 129, -1, -1, 132, -1, -1, -1, -1, 137, -1, - -1, 140, -1, -1, 68, -1, -1, -1, -1, -1, - -1, -1, 953, -1, 800, -1, -1, 81, 82, -1, - -1, -1, -1, 162, -1, -1, 165, 166, -1, -1, - -1, 170, -1, 172, 1605, -1, -1, 176, -1, 3, - 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, - -1, 837, -1, -1, -1, -1, 120, 121, 1629, 123, - -1, -1, 848, -1, 128, -1, 130, 165, 166, 167, - 168, 169, 1013, 171, 172, 173, -1, 1648, -1, -1, - -1, 145, -1, 869, -1, -1, 1657, 51, 52, -1, - -1, 55, -1, 57, 58, 59, 60, 61, 62, -1, - -1, -1, 66, 67, -1, -1, 70, 71, -1, 1050, - 74, -1, -1, -1, -1, -1, 80, 81, 82, -1, - -1, -1, 86, -1, -1, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, -1, -1, -1, 10, 11, 12, -1, - -1, 115, -1, 117, 118, -1, 120, -1, 10, 11, - 12, 125, -1, 127, 128, 129, -1, -1, 132, 133, - -1, -1, -1, 137, 960, -1, 140, 141, 142, 143, - 144, -1, -1, 147, -1, 149, -1, -1, -1, -1, - -1, 6, -1, -1, -1, -1, -1, -1, 162, -1, - -1, 165, 166, 167, 68, -1, 170, -1, 172, 173, - -1, -1, 176, -1, -1, -1, 68, 81, 82, -1, - -1, -1, -1, 1009, -1, -1, -1, -1, -1, 81, - 82, -1, -1, -1, -1, -1, -1, -1, -1, 54, - -1, 1027, -1, -1, -1, -1, 1032, 62, 63, 64, - 65, -1, -1, -1, -1, -1, 120, 121, -1, 123, - 75, 76, 77, 78, 128, -1, 130, -1, 120, 121, - 122, 123, -1, 88, -1, -1, 128, -1, 130, 16, - 17, 18, 19, 20, 21, 22, 23, 24, -1, 141, - -1, 1077, -1, 157, 146, -1, -1, 34, 113, 1240, - -1, -1, -1, -1, -1, -1, 1092, -1, -1, 124, - -1, -1, -1, -1, -1, 130, -1, -1, -1, 134, - 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 146, -1, 148, -1, 3, 4, 5, 6, 7, + -1, -1, -1, -1, -1, -1, 1039, -1, -1, -1, + -1, 121, 122, -1, 124, -1, -1, -1, 116, -1, + 130, 119, 132, 121, -1, -1, 55, -1, 126, 58, + 59, 60, 61, 131, -1, -1, 134, -1, -1, -1, + -1, 139, 1631, -1, 142, -1, 156, 3, 4, 5, + 6, -1, 8, 9, 10, 11, 943, -1, -1, -1, + -1, 90, -1, -1, -1, -1, 164, -1, -1, 167, + 168, -1, -1, -1, 172, -1, 174, -1, 107, -1, + 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 981, 51, -1, -1, -1, 55, + 129, 130, 58, 59, 60, 61, 993, -1, -1, -1, + 997, 67, -1, 69, 70, 71, 72, 146, -1, -1, + -1, -1, 151, -1, -1, 81, 82, 83, 1015, -1, + -1, 87, -1, 1020, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, -1, -1, -1, -1, -1, -1, -1, -1, + 116, -1, 118, 119, -1, 121, -1, -1, -1, -1, + 126, -1, -1, 129, 130, 131, -1, -1, 134, -1, + -1, 1068, -1, 139, -1, -1, 142, -1, -1, -1, + 146, -1, -1, -1, -1, 151, 1083, -1, -1, -1, + 156, -1, -1, -1, -1, 1238, -1, -1, 164, -1, + -1, 167, 168, 169, -1, -1, 172, -1, 174, 175, + -1, -1, 178, -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, 26, -1, - -1, 1147, -1, 1149, -1, 1151, 34, 35, 36, 37, + -1, 1138, -1, 1140, -1, 1142, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, -1, 74, -1, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, - 88, 89, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, -1, 171, 172, 173, -1, 106, -1, - 177, -1, -1, -1, -1, 113, 114, 115, 116, 117, + 68, 69, 70, 71, 72, 73, -1, 75, -1, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, -1, + 88, 89, 90, 16, 17, 18, 19, 20, 21, 22, + 23, 24, -1, -1, -1, -1, -1, -1, -1, 107, + -1, 34, -1, -1, -1, -1, 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, 144, 145, 146, 147, - 148, 149, 150, 10, 11, -1, 154, 155, 156, 157, + 148, 149, 150, 151, 152, -1, 10, 11, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - -1, -1, -1, 10, 11, 12, -1, -1, -1, 10, - 11, 12, -1, -1, -1, 52, -1, -1, 55, -1, - 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, - 67, -1, -1, 70, -1, -1, 55, 74, 57, 58, - 59, 60, -1, -1, -1, 82, -1, -1, -1, -1, - -1, 70, 89, -1, -1, -1, -1, -1, -1, -1, - -1, 68, -1, -1, -1, -1, -1, 68, -1, 106, - 89, -1, -1, -1, 81, 82, -1, -1, -1, 1530, - 81, 82, 119, -1, -1, -1, -1, 106, 1384, -1, - 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, - -1, -1, -1, -1, 141, 142, 143, 144, 127, 128, - 147, -1, 149, 120, 121, -1, 123, 154, 1569, 120, - 121, 128, 123, 130, -1, 144, -1, 128, -1, 130, - 149, -1, -1, 170, 141, -1, -1, -1, -1, 146, - 141, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 172, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, -1, -1, -1, - -1, -1, 1468, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, -1, -1, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, -1, 74, -1, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, -1, 87, 88, 89, -1, - -1, -1, -1, -1, -1, -1, 1532, -1, -1, -1, - -1, -1, -1, -1, -1, 106, -1, -1, -1, -1, - -1, -1, 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, 144, 145, 146, 147, 148, 149, 150, - -1, -1, -1, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, -1, 176, 177, 3, 4, 5, - 6, -1, 8, 9, 10, 11, -1, -1, -1, -1, + 178, 179, -1, 55, -1, -1, 58, 59, 60, 61, + -1, -1, -1, -1, -1, 10, 11, 12, 52, -1, + -1, 55, 56, -1, 58, 59, 60, 61, 62, -1, + -1, 10, 11, 12, 68, -1, -1, 71, 90, -1, + -1, 75, -1, -1, -1, -1, -1, -1, -1, 83, + -1, -1, -1, -1, -1, 107, 90, -1, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, -1, + 173, 174, 175, 107, 69, -1, 179, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 120, 82, 83, -1, + 69, -1, -1, -1, 146, 129, 130, 1384, -1, 151, + -1, 135, 1535, 82, 83, -1, -1, -1, -1, 143, + 144, 145, 146, -1, -1, 149, -1, 151, -1, -1, + -1, -1, 156, -1, -1, -1, 121, 122, -1, 124, + -1, -1, -1, -1, -1, 130, -1, 132, 172, -1, + -1, 1574, 121, 122, -1, 124, -1, -1, -1, -1, + -1, 130, 147, 132, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, -1, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, + 159, -1, -1, -1, 1471, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, -1, -1, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, -1, 75, -1, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, -1, 88, + 89, 90, -1, -1, -1, -1, -1, -1, -1, -1, + 1537, -1, -1, -1, -1, -1, -1, -1, 107, -1, + -1, -1, -1, -1, -1, 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, 144, 145, 146, 147, 148, + 149, 150, 151, 152, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, -1, 178, + 179, 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, -1, -1, -1, -1, -1, -1, -1, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, - -1, -1, -1, -1, -1, 51, 52, 34, -1, 55, - -1, 57, 58, 59, 60, 61, -1, -1, -1, -1, - 66, 67, -1, -1, 70, 71, -1, -1, 74, -1, - -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, - 86, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, -1, -1, -1, -1, -1, -1, -1, -1, 115, - -1, 117, 118, -1, 120, -1, -1, -1, -1, 125, - -1, 127, 128, 129, -1, -1, 132, 133, -1, -1, - -1, 137, -1, -1, 140, 141, 142, 143, 144, -1, - -1, 147, -1, 149, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, -1, -1, 162, -1, -1, 165, - 166, 167, -1, -1, 170, -1, 172, 173, -1, -1, - 176, -1, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, -1, 171, 172, 173, -1, -1, -1, - 177, -1, 51, -1, -1, -1, 55, -1, 57, 58, - 59, 60, -1, -1, -1, -1, -1, 66, -1, 68, - 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, - -1, -1, -1, -1, -1, -1, 115, -1, 117, 118, - -1, 120, -1, -1, -1, -1, 125, -1, 127, 128, - 129, -1, -1, 132, -1, -1, -1, -1, 137, -1, - -1, 140, -1, -1, -1, 144, 3, 4, 5, 6, - 149, 8, 9, 10, 11, 154, -1, -1, 15, -1, - -1, -1, -1, 162, -1, -1, 165, 166, 167, -1, - -1, 170, -1, 172, 173, -1, -1, 176, 16, 17, - 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, - -1, -1, -1, -1, 51, -1, 34, -1, 55, -1, - 57, 58, 59, 60, -1, -1, -1, -1, -1, 66, - -1, -1, -1, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, - -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, - 117, 118, -1, 120, -1, -1, -1, -1, 125, -1, - 127, 128, 129, -1, -1, 132, -1, -1, -1, -1, - 137, -1, -1, 140, -1, -1, -1, 144, 3, 4, - 5, 6, 149, 8, 9, 10, 11, -1, -1, -1, - -1, -1, -1, -1, -1, 162, -1, -1, 165, 166, - 167, -1, -1, 170, -1, 172, 173, -1, -1, 176, - -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, -1, 171, 172, 173, 51, -1, -1, 177, - 55, -1, 57, 58, 59, 60, -1, -1, -1, -1, - -1, 66, -1, -1, -1, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, - -1, 86, -1, -1, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, - 115, -1, 117, 118, -1, 120, -1, -1, -1, -1, - 125, -1, 127, 128, 129, -1, -1, 132, -1, -1, - -1, -1, 137, -1, -1, 140, -1, -1, -1, 144, - 3, 4, 5, 6, 149, 8, 9, 10, 11, -1, - -1, -1, -1, -1, -1, -1, -1, 162, -1, -1, - 165, 166, 167, -1, -1, 170, -1, 172, 173, 174, - -1, 176, 16, 17, 18, 19, 20, 21, 22, 23, - 24, -1, -1, -1, -1, -1, -1, -1, 51, 52, - 34, -1, 55, -1, 57, 58, 59, 60, -1, -1, - -1, -1, -1, 66, -1, -1, -1, 70, 71, -1, - -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, - -1, -1, -1, 86, -1, -1, 89, 90, 91, 92, + -1, -1, -1, 16, 17, 18, 19, 20, 21, 22, + 23, 24, -1, -1, -1, -1, -1, -1, -1, 51, + 52, 34, -1, 55, 56, -1, 58, 59, 60, 61, + 62, 63, -1, -1, -1, 67, 68, -1, -1, 71, + 72, -1, -1, 75, -1, -1, -1, -1, -1, 81, + 82, 83, -1, -1, -1, 87, -1, -1, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, -1, -1, -1, -1, + -1, -1, -1, -1, 116, -1, 118, 119, -1, 121, + -1, -1, -1, -1, 126, -1, -1, 129, 130, 131, + -1, -1, 134, 135, -1, -1, -1, 139, -1, -1, + 142, 143, 144, 145, 146, -1, -1, 149, -1, 151, + 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, + -1, -1, 164, -1, -1, 167, 168, 169, -1, -1, + 172, -1, 174, 175, -1, -1, 178, -1, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, -1, + 173, 174, 175, -1, -1, -1, 179, -1, 51, 52, + -1, -1, 55, 56, -1, 58, 59, 60, 61, 62, + -1, -1, -1, -1, 67, 68, -1, -1, 71, 72, + -1, -1, 75, -1, -1, -1, -1, -1, 81, 82, + 83, -1, -1, -1, 87, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, - -1, -1, 115, -1, 117, 118, -1, 120, -1, -1, - -1, -1, 125, -1, 127, 128, 129, -1, -1, 132, - -1, -1, -1, -1, 137, -1, -1, 140, -1, -1, - -1, 144, 3, 4, 5, 6, 149, 8, 9, 10, - 11, -1, -1, -1, -1, -1, -1, -1, -1, 162, - -1, -1, 165, 166, 167, -1, -1, 170, -1, 172, - 173, -1, 156, 176, -1, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, -1, 171, 172, 173, - 51, 52, -1, -1, 55, -1, 57, 58, 59, 60, - -1, -1, -1, -1, -1, 66, -1, -1, -1, 70, - 71, -1, -1, -1, -1, -1, -1, -1, -1, 80, - 81, 82, -1, -1, -1, 86, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, -1, -1, 55, -1, - 57, 58, 59, 60, 115, -1, 117, 118, -1, 120, - -1, -1, -1, -1, 125, -1, 127, 128, 129, -1, - -1, 132, -1, -1, -1, -1, 137, -1, -1, 140, - -1, -1, 89, 144, 3, 4, 5, 6, 149, 8, - 9, 10, 11, -1, -1, -1, -1, -1, -1, 106, - -1, 162, -1, -1, 165, 166, 167, -1, -1, 170, - -1, 172, 173, -1, -1, 176, -1, -1, -1, -1, - 127, 128, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 51, -1, -1, -1, 55, 144, 57, 58, - 59, 60, 149, -1, -1, -1, -1, 66, -1, -1, - -1, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, 80, 81, 82, -1, 172, -1, 86, -1, -1, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, - -1, -1, -1, -1, -1, -1, 115, -1, 117, 118, - -1, 120, -1, -1, -1, -1, 125, -1, 127, 128, - 129, -1, -1, 132, -1, -1, -1, -1, 137, -1, - -1, 140, -1, -1, -1, 144, 3, 4, 5, 6, - 149, 8, 9, 10, 11, -1, -1, -1, -1, -1, - -1, -1, -1, 162, -1, -1, 165, 166, 167, -1, - -1, 170, -1, 172, 173, 174, -1, 176, 16, 17, - 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, - -1, -1, -1, -1, 51, -1, 34, -1, 55, -1, - 57, 58, 59, 60, -1, -1, -1, -1, -1, 66, - -1, -1, -1, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, - -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, - 117, 118, -1, 120, -1, -1, -1, -1, 125, -1, - 127, 128, 129, -1, -1, 132, -1, -1, -1, -1, - 137, -1, -1, 140, -1, -1, -1, 144, 3, 4, - 5, 6, 149, 8, 9, 10, 11, 154, -1, -1, - -1, -1, -1, -1, -1, 162, -1, -1, 165, 166, - 167, -1, -1, 170, -1, 172, 173, 155, -1, 176, - -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, -1, 171, 172, 173, 51, -1, -1, -1, - 55, -1, 57, 58, 59, 60, -1, -1, -1, -1, - -1, 66, -1, -1, -1, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, - -1, 86, -1, -1, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, - 115, -1, 117, 118, -1, 120, -1, -1, -1, -1, - 125, -1, 127, 128, 129, -1, -1, 132, -1, -1, - -1, -1, 137, -1, -1, 140, -1, -1, -1, 144, - 3, 4, 5, 6, 149, 8, 9, 10, 11, 154, - -1, -1, -1, -1, -1, -1, -1, 162, -1, -1, - 165, 166, 167, -1, -1, 170, -1, 172, 173, -1, - -1, 176, 16, 17, 18, 19, 20, 21, 22, 23, - 24, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 34, -1, 55, -1, 57, 58, 59, 60, -1, -1, - -1, -1, -1, 66, -1, -1, -1, 70, 71, -1, - -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, - -1, -1, -1, 86, -1, -1, 89, 90, 91, 92, + 103, 104, 105, 106, 107, -1, -1, -1, -1, -1, + -1, -1, -1, 116, -1, 118, 119, -1, 121, -1, + -1, -1, -1, 126, -1, -1, 129, 130, 131, -1, + -1, 134, 135, -1, -1, -1, 139, -1, -1, 142, + 143, 144, 145, 146, -1, -1, 149, -1, 151, -1, + 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, + -1, 164, 15, -1, 167, 168, 169, -1, -1, 172, + -1, 174, 175, -1, -1, 178, -1, -1, -1, -1, + -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, + -1, -1, -1, -1, -1, -1, -1, -1, 51, 34, + -1, -1, 55, -1, -1, 58, 59, 60, 61, -1, + -1, -1, -1, -1, 67, -1, -1, -1, 71, 72, + -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, + 83, -1, -1, -1, 87, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, - -1, -1, 115, -1, 117, 118, -1, 120, -1, -1, - -1, -1, 125, -1, 127, 128, 129, -1, -1, 132, - -1, -1, -1, -1, 137, -1, -1, 140, -1, -1, - -1, 144, 3, 4, 5, 6, 149, 8, 9, 10, - 11, -1, -1, -1, -1, -1, -1, -1, -1, 162, - -1, -1, 165, 166, 167, -1, -1, 170, -1, 172, - 173, 174, -1, 176, -1, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, -1, 171, 172, 173, - 51, -1, -1, -1, 55, -1, 57, 58, 59, 60, - -1, -1, -1, -1, -1, 66, -1, -1, -1, 70, - 71, -1, -1, -1, -1, -1, -1, -1, -1, 80, - 81, 82, -1, -1, -1, 86, -1, -1, 89, 90, + 103, 104, 105, 106, 107, -1, -1, -1, -1, -1, + -1, -1, -1, 116, -1, 118, 119, -1, 121, -1, + -1, -1, -1, 126, -1, -1, 129, 130, 131, -1, + -1, 134, -1, -1, -1, -1, 139, -1, -1, 142, + -1, -1, -1, 146, 3, 4, 5, 6, 151, 8, + 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, + -1, 164, -1, -1, 167, 168, 169, -1, -1, 172, + -1, 174, 175, -1, -1, 178, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, + 175, -1, 51, -1, 179, -1, 55, -1, -1, 58, + 59, 60, 61, -1, -1, -1, -1, -1, 67, 10, + 11, 12, 71, 72, -1, -1, -1, -1, -1, -1, + -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, + -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, + -1, -1, -1, -1, -1, -1, -1, 116, -1, 118, + 119, -1, 121, -1, -1, -1, -1, 126, 69, -1, + 129, 130, 131, -1, -1, 134, -1, -1, -1, -1, + 139, 82, 83, 142, -1, -1, -1, 146, 3, 4, + 5, 6, 151, 8, 9, 10, 11, -1, -1, -1, + -1, -1, -1, -1, -1, 164, -1, -1, 167, 168, + 169, -1, -1, 172, -1, 174, 175, 176, -1, 178, + 121, 122, -1, 124, -1, -1, -1, -1, -1, 130, + -1, 132, -1, -1, -1, -1, 51, 52, -1, -1, + 55, -1, -1, 58, 59, 60, 61, -1, -1, -1, + -1, -1, 67, -1, -1, 156, 71, 72, -1, -1, + -1, 17, -1, -1, -1, -1, 81, 82, 83, -1, + -1, -1, 87, -1, -1, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, -1, -1, -1, -1, -1, -1, -1, + -1, 116, -1, 118, 119, -1, 121, 63, -1, 65, + -1, 126, -1, -1, 129, 130, 131, -1, -1, 134, + -1, -1, -1, -1, 139, -1, 82, 142, -1, -1, + -1, 146, 3, 4, 5, 6, 151, 8, 9, 10, + 11, -1, -1, -1, -1, -1, -1, -1, -1, 164, + -1, -1, 167, 168, 169, -1, -1, 172, 114, 174, + 175, 117, 118, 178, -1, 121, -1, -1, 16, 17, + 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, + 51, 52, 138, -1, 55, -1, 34, 58, 59, 60, + 61, -1, -1, -1, 150, -1, 67, -1, -1, -1, + 71, 72, -1, -1, -1, -1, -1, -1, 164, -1, + 81, 82, 83, -1, -1, -1, 87, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, -1, -1, -1, -1, - -1, -1, -1, -1, 115, -1, 117, 118, -1, 120, - -1, -1, -1, -1, 125, -1, 127, 128, 129, -1, - -1, 132, -1, -1, -1, -1, 137, -1, -1, 140, - -1, -1, -1, 144, 3, 4, 5, 6, 149, 8, - 9, 10, 11, -1, 18, 19, 20, 21, 22, 23, - 24, 162, -1, -1, 165, 166, 167, -1, -1, 170, - 34, 172, 173, -1, -1, 176, 16, 17, 18, 19, - 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, - -1, -1, 51, -1, 34, -1, 55, -1, 57, 58, - 59, 60, -1, -1, -1, -1, -1, 66, -1, -1, - -1, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 101, 102, 103, 104, 105, 106, 107, -1, -1, -1, + -1, -1, -1, -1, -1, 116, -1, 118, 119, -1, + 121, -1, -1, -1, -1, 126, -1, -1, 129, 130, + 131, -1, -1, 134, -1, -1, -1, -1, 139, -1, + -1, 142, -1, -1, -1, 146, 3, 4, 5, 6, + 151, 8, 9, 10, 11, -1, -1, -1, -1, -1, + -1, -1, -1, 164, -1, -1, 167, 168, 169, -1, + -1, 172, -1, 174, 175, -1, -1, 178, -1, -1, + -1, 159, -1, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 51, 173, 174, 175, 55, -1, + -1, 58, 59, 60, 61, -1, -1, -1, -1, -1, + 67, -1, -1, -1, 71, 72, -1, -1, -1, -1, + -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, + 87, -1, -1, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, -1, -1, -1, -1, -1, -1, -1, -1, 116, + -1, 118, 119, -1, 121, -1, -1, -1, -1, 126, + -1, -1, 129, 130, 131, -1, -1, 134, -1, -1, + -1, -1, 139, -1, -1, 142, -1, -1, -1, 146, + 3, 4, 5, 6, 151, 8, 9, 10, 11, -1, + -1, -1, -1, -1, -1, -1, -1, 164, -1, -1, + 167, 168, 169, -1, -1, 172, -1, 174, 175, 176, + -1, 178, -1, -1, -1, -1, 16, 17, 18, 19, + 20, 21, 22, 23, 24, -1, -1, -1, 51, -1, + -1, -1, 55, -1, 34, 58, 59, 60, 61, -1, + -1, -1, -1, -1, 67, -1, -1, -1, 71, 72, + -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, + 83, -1, -1, -1, 87, -1, -1, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, -1, -1, -1, -1, -1, + -1, -1, -1, 116, -1, 118, 119, -1, 121, -1, + -1, -1, -1, 126, -1, -1, 129, 130, 131, -1, + -1, 134, -1, -1, -1, -1, 139, -1, -1, 142, + -1, -1, -1, 146, 3, 4, 5, 6, 151, 8, + 9, 10, 11, 156, -1, -1, -1, -1, -1, -1, + -1, 164, -1, -1, 167, 168, 169, -1, -1, 172, + -1, 174, 175, -1, -1, 178, -1, -1, -1, 159, + -1, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 51, 173, 174, 175, 55, -1, -1, 58, + 59, 60, 61, -1, -1, -1, -1, -1, 67, -1, + -1, -1, 71, 72, -1, -1, -1, -1, -1, -1, + -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, + -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, + -1, -1, -1, -1, -1, -1, -1, 116, -1, 118, + 119, -1, 121, -1, -1, -1, -1, 126, -1, -1, + 129, 130, 131, -1, -1, 134, -1, -1, -1, -1, + 139, -1, -1, 142, -1, -1, -1, 146, 3, 4, + 5, 6, 151, 8, 9, 10, 11, 156, -1, -1, + -1, -1, -1, -1, -1, 164, -1, -1, 167, 168, + 169, -1, -1, 172, -1, 174, 175, -1, -1, 178, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + -1, -1, -1, -1, -1, -1, 51, -1, 34, -1, + 55, -1, -1, 58, 59, 60, 61, -1, -1, -1, + -1, -1, 67, -1, -1, -1, 71, 72, -1, -1, + -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, + -1, -1, 87, -1, -1, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, -1, -1, -1, -1, -1, -1, -1, + -1, 116, -1, 118, 119, -1, 121, -1, -1, -1, + -1, 126, -1, -1, 129, 130, 131, -1, -1, 134, + -1, -1, -1, -1, 139, -1, -1, 142, -1, -1, + -1, 146, 3, 4, 5, 6, 151, 8, 9, 10, + 11, -1, -1, -1, -1, -1, -1, -1, -1, 164, + -1, -1, 167, 168, 169, -1, -1, 172, -1, 174, + 175, 176, 158, 178, -1, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, + 51, -1, -1, -1, 55, -1, -1, 58, 59, 60, + 61, -1, -1, -1, -1, -1, 67, -1, -1, -1, + 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, + 81, 82, 83, -1, -1, -1, 87, -1, -1, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, -1, -1, -1, + -1, -1, -1, -1, -1, 116, -1, 118, 119, -1, + 121, -1, -1, -1, -1, 126, -1, -1, 129, 130, + 131, -1, -1, 134, -1, -1, -1, -1, 139, -1, + -1, 142, -1, -1, -1, 146, 3, 4, 5, 6, + 151, 8, 9, 10, 11, -1, 18, 19, 20, 21, + 22, 23, 24, 164, -1, -1, 167, 168, 169, -1, + -1, 172, 34, 174, 175, -1, -1, 178, -1, -1, + -1, -1, 16, 17, 18, 19, 20, 21, 22, 23, + 24, -1, -1, -1, 51, -1, -1, -1, 55, -1, + 34, 58, 59, 60, 61, -1, -1, -1, -1, -1, + 67, -1, -1, -1, 71, 72, -1, -1, -1, -1, + -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, + 87, -1, -1, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, -1, -1, -1, -1, -1, -1, -1, -1, 116, + -1, 118, 119, -1, 121, -1, -1, -1, -1, 126, + -1, -1, 129, 130, 131, -1, -1, 134, -1, -1, + -1, -1, 139, -1, -1, 142, -1, -1, -1, 146, + 3, 4, 5, 6, 151, 8, 9, 10, -1, -1, + -1, -1, 15, -1, -1, 167, 168, 169, 170, 171, + -1, 173, 174, 175, -1, 172, -1, 174, 175, -1, + -1, 178, -1, 157, -1, -1, -1, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 51, 173, + 174, 175, 176, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 67, 10, 11, 12, -1, 72, + -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, + -1, -1, -1, -1, 87, -1, -1, -1, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 3, 4, 5, 6, -1, 8, + 9, 10, -1, -1, -1, -1, 119, -1, 121, -1, + -1, -1, -1, 126, 69, -1, -1, -1, 131, -1, + 75, 134, -1, -1, -1, -1, 139, 82, 83, -1, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + -1, -1, 51, -1, -1, -1, -1, -1, 34, -1, + -1, 164, -1, -1, 167, 168, 169, -1, 67, 172, + 115, 174, 175, 72, -1, 178, 121, 122, -1, 124, + -1, -1, 81, 82, -1, 130, -1, 132, 87, -1, + -1, -1, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, - -1, -1, -1, -1, -1, -1, 115, -1, 117, 118, - -1, 120, -1, -1, -1, -1, 125, -1, 127, 128, - 129, -1, -1, 132, -1, -1, -1, -1, 137, -1, - -1, 140, -1, -1, -1, 144, 3, 4, 5, 6, - 149, 8, 9, 10, -1, -1, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, -1, 171, 172, 173, - -1, 170, -1, 172, 173, -1, -1, 176, -1, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - -1, 171, 172, 173, 51, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, - -1, -1, -1, -1, 71, -1, -1, -1, -1, -1, - -1, -1, -1, 80, 81, -1, -1, -1, -1, 86, - -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 3, - 4, 5, 6, -1, 8, 9, 10, -1, -1, -1, - -1, 118, -1, 120, -1, -1, -1, -1, 125, -1, - -1, -1, 129, -1, -1, 132, -1, -1, -1, -1, - 137, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 51, -1, -1, - -1, -1, -1, -1, -1, 162, -1, -1, 165, 166, - 167, -1, 66, 170, -1, 172, 173, 71, -1, 176, - 20, 21, 22, 23, 24, -1, 80, 81, -1, -1, - -1, -1, 86, -1, 34, -1, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 118, -1, 120, -1, -1, -1, - -1, 125, -1, -1, 6, 129, -1, -1, 132, 10, - 11, -1, -1, 137, 16, 17, 18, 19, 20, 21, - 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 34, -1, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 170, -1, 172, 173, - -1, 52, 176, -1, 55, -1, 57, 58, 59, 60, - 61, -1, -1, -1, -1, -1, 67, 69, -1, 70, - -1, -1, -1, 74, -1, -1, -1, -1, 10, 11, - 12, 82, -1, 15, -1, -1, -1, -1, 89, -1, - -1, -1, -1, 163, 164, 165, 166, 167, 168, 169, - -1, 171, 172, 173, -1, 106, -1, -1, -1, -1, - -1, -1, -1, 115, -1, -1, -1, -1, 119, -1, - -1, -1, -1, -1, -1, -1, 127, 128, -1, -1, - 10, 11, 133, -1, -1, -1, 68, -1, -1, -1, - 141, 142, 143, 144, -1, -1, 147, -1, 149, 81, - 82, -1, -1, 155, -1, -1, 158, -1, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 170, - 172, 173, 52, -1, 176, 55, -1, 57, 58, 59, - 60, 61, -1, -1, -1, -1, -1, 67, 120, 121, - 70, 123, -1, -1, 74, -1, 128, -1, 130, -1, - -1, -1, 82, -1, -1, -1, -1, -1, -1, 89, - 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, - -1, -1, -1, -1, -1, -1, 106, -1, 34, -1, - -1, 55, -1, 57, 58, 59, 60, -1, -1, 119, - -1, -1, -1, -1, -1, -1, -1, 127, 128, -1, - -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, - -1, 141, 142, 143, 144, 89, -1, 147, -1, 149, - 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, - -1, -1, 106, -1, -1, -1, -1, -1, 34, -1, - 170, 16, 17, 18, 19, 20, 21, 22, 23, 24, - -1, -1, -1, 127, 128, -1, -1, -1, -1, 34, - 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, - 144, -1, -1, -1, -1, 149, -1, -1, 34, 16, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 119, -1, 121, -1, -1, -1, -1, 126, -1, -1, + -1, -1, 131, -1, -1, 134, 3, 4, 5, 6, + 139, 8, 9, 10, -1, -1, -1, -1, 15, -1, + -1, -1, -1, 3, 4, 5, 6, -1, 8, 9, + 10, -1, -1, -1, -1, 15, -1, -1, -1, -1, + -1, -1, -1, 172, -1, 174, 175, -1, -1, 178, + -1, 48, -1, 50, 51, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, + 67, 51, -1, -1, -1, 72, -1, -1, -1, -1, + -1, -1, -1, -1, 81, 82, -1, 67, -1, -1, + -1, -1, 72, 18, 19, 20, 21, 22, 23, 24, + -1, 81, 82, -1, -1, -1, -1, -1, -1, 34, + -1, -1, 18, 19, 20, 21, 22, 23, 24, 116, + -1, -1, 119, -1, 121, -1, -1, -1, 34, 126, + -1, -1, -1, -1, 131, -1, 116, 134, -1, 119, + -1, 121, 139, -1, -1, 142, 126, -1, -1, -1, + -1, 131, -1, -1, 134, -1, -1, -1, -1, 139, + -1, -1, 142, -1, -1, -1, -1, 164, -1, -1, + 167, 168, -1, -1, -1, 172, -1, 174, -1, -1, + -1, 178, -1, -1, 164, -1, -1, 167, 168, 6, + -1, -1, 172, -1, 174, -1, -1, -1, 178, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 34, 172, 155, - -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, -1, 171, 172, 173, 174, 16, - 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 34, 16, 17, - 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, - -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, -1, 171, 172, 173, 174, -1, - -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, -1, 171, 172, 173, 174, - -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, -1, 171, 172, 173, 174, -1, - -1, -1, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, -1, 171, 172, 173, 174, 16, 17, - 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, - -1, -1, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, -1, 171, 172, 173, 174, -1, -1, - -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, -1, 171, 172, 173, 174, 16, 17, 18, + -1, -1, -1, -1, 10, 11, 12, 34, -1, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, -1, -1, -1, -1, -1, -1, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, + 175, -1, -1, 70, -1, -1, 162, 163, 164, 10, + 11, 167, 168, 169, 170, 171, -1, 173, 174, 175, + -1, -1, -1, 69, -1, -1, -1, -1, -1, -1, + 20, 21, 22, 23, 24, -1, 82, 83, -1, -1, + -1, -1, -1, -1, 34, -1, -1, -1, -1, 116, + -1, 52, -1, -1, 55, 56, -1, 58, 59, 60, + 61, 62, -1, -1, -1, -1, -1, 68, -1, -1, + 71, -1, -1, -1, 75, 121, 122, -1, 124, -1, + -1, -1, 83, -1, 130, -1, 132, -1, -1, 90, + 157, -1, -1, 160, -1, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 107, 174, 175, 10, + 11, 178, -1, -1, -1, -1, -1, -1, -1, 120, + -1, -1, -1, -1, -1, -1, -1, -1, 129, 130, + -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, + -1, -1, 143, 144, 145, 146, -1, -1, 149, -1, + 151, 52, -1, -1, 55, 56, -1, 58, 59, 60, + 61, 62, -1, -1, -1, -1, -1, 68, -1, -1, + 71, 172, -1, -1, 75, 165, 166, 167, 168, 169, + 170, 171, 83, 173, 174, 175, -1, -1, -1, 90, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + -1, -1, -1, -1, -1, -1, 107, -1, 34, 16, + 17, 18, 19, 20, 21, 22, 23, 24, -1, 120, + -1, -1, -1, -1, -1, -1, -1, 34, 129, 130, + -1, -1, -1, 55, 135, -1, 58, 59, 60, 61, + -1, -1, 143, 144, 145, 146, -1, -1, 149, 71, + 151, 16, 17, 18, 19, 20, 21, 22, 23, 24, + -1, -1, -1, -1, -1, -1, -1, -1, 90, 34, + -1, 172, 16, 17, 18, 19, 20, 21, 22, 23, + 24, -1, -1, -1, -1, 107, -1, -1, -1, -1, + 34, 16, 17, 18, 19, 20, 21, 22, 23, 24, + -1, -1, -1, -1, -1, -1, -1, 129, 130, 34, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + -1, -1, -1, -1, 146, -1, -1, -1, 34, 151, + -1, -1, -1, -1, -1, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, + 176, -1, 174, -1, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, -1, 173, 174, 175, 176, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 34, -1, + -1, -1, -1, -1, -1, -1, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, + 175, 176, -1, -1, -1, -1, -1, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, -1, 173, + 174, 175, 176, -1, -1, -1, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, + 175, 176, -1, -1, -1, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, + 176, 16, 17, 18, 19, 20, 21, 22, 23, 24, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 34, -1, + -1, -1, -1, -1, -1, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, + 176, 16, 17, 18, 19, 20, 21, 22, 23, 24, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 34, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 34, 16, 17, 18, 19, - 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 34, 16, 17, 18, 19, 20, - 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 34, 16, 17, 18, 19, 20, 21, + -1, -1, -1, -1, -1, 34, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, - -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, -1, 171, 172, 173, 174, 16, 17, 18, - 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 34, 16, 17, 18, 19, - 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 34, -1, -1, -1, -1, -1, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, -1, 171, 172, 173, 174, -1, -1, -1, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - -1, 171, 172, 173, 174, -1, 157, -1, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, -1, - 171, 172, 173, -1, -1, 157, -1, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, -1, 171, - 172, 173, 18, 19, 20, 21, 22, 23, 24, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 34, 18, - 19, 20, 21, 22, 23, 24, -1, -1, 157, -1, - 159, 160, 161, 162, -1, 34, 165, 166, 167, 168, - 169, -1, 171, 172, 173, -1, -1, -1, -1, 159, - 160, 161, 162, -1, -1, 165, 166, 167, 168, 169, - -1, 171, 172, 173, 18, 19, 20, 21, 22, 23, - 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 34, 18, 19, 20, 21, 22, 23, 24, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 34, 18, 19, - 20, 21, 22, 23, 24, -1, -1, -1, 55, -1, - 57, 58, 59, 60, 34, 18, 19, 20, 21, 22, - 23, 24, -1, -1, 18, 19, 20, 21, 22, 23, - 24, 34, -1, -1, -1, -1, -1, -1, -1, -1, - 34, -1, 89, -1, -1, 161, 162, 163, 164, 165, - 166, 167, 168, 169, -1, 171, 172, 173, -1, 106, - -1, -1, -1, 162, 163, 164, 165, 166, 167, 168, - 169, -1, 171, 172, 173, 20, 21, 22, 23, 24, - 127, 128, -1, -1, -1, -1, -1, -1, -1, 34, - -1, -1, -1, -1, -1, -1, -1, 144, -1, -1, - -1, -1, 149, -1, -1, -1, 160, 161, 162, -1, - -1, 165, 166, 167, 168, 169, -1, 171, 172, 173, - -1, -1, -1, -1, -1, 172, 163, 164, 165, 166, - 167, 168, 169, -1, 171, 172, 173, -1, -1, -1, - -1, 161, 162, -1, -1, 165, 166, 167, 168, 169, - 17, 171, 172, 173, -1, -1, -1, -1, -1, 162, - 6, -1, 165, 166, 167, 168, 169, -1, 171, 172, - 173, 165, 166, 167, 168, 169, -1, 171, 172, 173, - -1, 48, -1, 50, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 62, -1, 64, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 54, -1, - -1, 10, 11, 12, 81, -1, 62, 63, 64, 65, - 165, 166, 167, 168, 169, -1, 171, 172, 173, 75, - 76, 77, 78, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 88, -1, -1, -1, 113, -1, -1, 116, - 117, -1, -1, 120, -1, -1, 55, -1, 57, 58, - 59, 60, 61, 62, 10, 11, 12, 113, -1, 136, - -1, 70, -1, -1, -1, -1, -1, -1, 124, -1, - -1, 148, -1, 82, 130, -1, -1, -1, -1, 135, - 89, -1, -1, -1, -1, 162, -1, -1, -1, -1, - 146, -1, 148, -1, -1, 11, 12, 106, -1, 55, - -1, 57, 58, 59, 60, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 70, -1, -1, -1, 127, 128, - -1, -1, -1, -1, -1, 55, 82, 57, 58, 59, - 60, -1, 141, 89, -1, 144, 52, -1, 147, 55, - 149, 57, 58, 59, 60, 61, 62, -1, -1, -1, - 106, 67, -1, -1, 70, -1, -1, -1, 74, 89, - -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, - -1, 127, 128, 89, -1, -1, 106, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 144, -1, - 106, 147, -1, 149, 11, 12, -1, 127, 128, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 124, -1, - -1, 127, 128, -1, 144, -1, -1, 133, -1, 149, - 11, 12, -1, -1, -1, 141, 142, 143, 144, -1, - -1, 147, -1, 149, -1, 52, -1, -1, 55, -1, - 57, 58, 59, 60, 61, 62, -1, -1, -1, -1, - 67, -1, -1, 70, -1, -1, -1, 74, -1, -1, - -1, 52, -1, -1, 55, 82, 57, 58, 59, 60, - 61, -1, 89, -1, -1, -1, 67, -1, -1, 70, - -1, -1, -1, 74, -1, -1, -1, -1, -1, 106, - -1, 82, -1, -1, -1, -1, -1, -1, 89, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 127, 128, -1, 11, 12, 106, 133, -1, -1, -1, - -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, - 147, -1, 149, 124, -1, -1, 127, 128, -1, 11, - -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, - 141, 142, 143, 144, 52, -1, 147, 55, 149, 57, - 58, 59, 60, 61, -1, -1, -1, -1, -1, 67, - -1, -1, 70, -1, -1, -1, 74, -1, -1, -1, - 52, -1, -1, 55, 82, 57, 58, 59, 60, 61, - 62, 89, -1, -1, -1, 67, -1, -1, 70, -1, - -1, -1, 74, -1, -1, -1, -1, -1, 106, -1, - 82, -1, -1, -1, -1, -1, -1, 89, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 127, - 128, -1, 11, -1, 106, 133, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, -1, -1, 147, - -1, 149, -1, -1, -1, 127, 128, -1, 11, -1, - -1, 133, -1, -1, -1, -1, -1, -1, -1, 141, - 142, 143, 144, 52, -1, 147, 55, 149, 57, 58, - 59, 60, 61, 62, -1, -1, -1, -1, 67, -1, - -1, 70, -1, -1, -1, 74, -1, -1, -1, 52, - -1, -1, 55, 82, 57, 58, 59, 60, 61, -1, - 89, -1, -1, -1, 67, -1, -1, 70, -1, -1, - -1, 74, -1, -1, -1, -1, -1, 106, -1, 82, - -1, -1, -1, -1, -1, -1, 89, -1, -1, -1, - -1, -1, -1, -1, 10, 11, 12, -1, 127, 128, - -1, 11, -1, 106, 133, -1, -1, -1, -1, 10, - 11, 12, 141, 142, 143, 144, -1, -1, 147, -1, - 149, -1, -1, -1, 127, 128, -1, -1, -1, -1, - 133, 10, 11, 12, -1, -1, -1, -1, 141, 142, - 143, 144, 52, -1, 147, 55, 149, 57, 58, 59, - 60, 61, 68, -1, -1, -1, -1, 67, -1, -1, - 70, -1, -1, -1, 74, 81, 82, 68, -1, -1, - -1, -1, 82, -1, -1, -1, -1, 54, -1, 89, - 81, 82, -1, -1, -1, 62, 63, 64, 65, 68, - -1, -1, -1, -1, -1, 74, 106, -1, 75, 76, - 77, 78, 81, 82, 120, 121, 83, 123, -1, -1, - -1, 88, 128, -1, 130, -1, -1, 127, 128, 120, - 121, -1, 123, 133, -1, 141, -1, 128, -1, 130, - 146, 141, 142, 143, 144, 114, 113, 147, -1, 149, - 141, 120, 121, -1, 123, 146, -1, 124, -1, 128, - -1, 130, -1, 130, 53, 54, -1, -1, 135, -1, - -1, -1, -1, 62, 63, 64, 65, -1, 145, 146, - -1, 148, -1, -1, 73, -1, 75, 76, 77, 78, - 79, -1, -1, -1, 83, -1, 163, -1, -1, 88, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 107, 108, - 109, 110, 111, 112, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, -1, -1, -1, -1, - -1, 130, 131, 54, -1, 134, 135, -1, -1, -1, - 139, 62, 63, 64, 65, -1, 145, 146, -1, 148, - -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, - 54, -1, 83, -1, 54, -1, -1, 88, 62, 63, - 64, 65, 62, 63, 64, 65, -1, -1, -1, -1, - -1, 75, 76, 77, 78, 75, 76, 77, 78, -1, - -1, -1, 113, -1, 88, -1, -1, 55, 88, 57, - 58, 59, 60, 124, -1, -1, -1, -1, -1, 130, - -1, -1, 70, 134, 135, -1, -1, -1, -1, 113, - 114, -1, -1, 113, 145, 146, -1, 148, -1, -1, - 124, 89, -1, -1, 124, -1, 130, -1, -1, -1, - 130, 135, -1, -1, -1, 135, -1, -1, 106, -1, - -1, -1, 146, -1, 148, -1, 146, -1, 148, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 127, - 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 144, -1, -1, -1, - -1, 149 + -1, -1, -1, -1, -1, -1, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, + 175, 176, -1, -1, -1, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, + 176, 18, 19, 20, 21, 22, 23, 24, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 34, -1, -1, + -1, -1, 157, -1, -1, -1, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, -1, 173, 174, + 175, -1, -1, -1, -1, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, -1, 173, 174, 175, + 6, -1, -1, 17, 163, 164, 165, 166, 167, 168, + 169, 170, 171, -1, 173, 174, 175, -1, -1, -1, + -1, 163, 164, -1, -1, 167, 168, 169, 170, 171, + -1, 173, 174, 175, 48, -1, 50, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 54, 63, + -1, 65, -1, -1, -1, -1, -1, 63, 64, 65, + 66, -1, -1, -1, -1, -1, -1, -1, 82, -1, + 76, 77, 78, 79, -1, 6, -1, -1, -1, -1, + -1, -1, -1, 89, -1, -1, -1, 164, -1, -1, + 167, 168, 169, 170, 171, -1, 173, 174, 175, -1, + 114, -1, -1, 117, 118, -1, -1, 121, 114, -1, + -1, 10, 11, 12, -1, -1, -1, -1, -1, 125, + -1, -1, -1, 54, 138, -1, 132, -1, -1, -1, + 136, 137, 63, 64, 65, 66, 150, -1, -1, -1, + -1, -1, 148, -1, 150, 76, 77, 78, 79, -1, + 164, -1, -1, -1, -1, -1, 55, -1, 89, 58, + 59, 60, 61, 62, 63, 10, 11, 12, -1, -1, + -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 114, 83, -1, -1, -1, -1, -1, + -1, 90, -1, -1, 125, -1, -1, -1, -1, -1, + -1, 132, -1, -1, -1, -1, 137, -1, 107, -1, + 55, -1, -1, 58, 59, 60, 61, 148, -1, 150, + -1, -1, -1, 11, 12, -1, 71, -1, -1, -1, + 129, 130, -1, -1, -1, -1, -1, -1, 83, -1, + -1, -1, -1, -1, 143, 90, -1, 146, -1, -1, + 149, 150, 151, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 107, -1, 52, -1, -1, 55, 56, -1, + 58, 59, 60, 61, 62, 63, -1, -1, -1, -1, + 68, -1, -1, 71, 129, 130, -1, 75, 11, 12, + -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, + -1, 146, 90, -1, 149, -1, 151, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 107, + -1, 11, -1, -1, -1, -1, -1, -1, -1, 52, + -1, -1, 55, 56, -1, 58, 59, 60, 61, 62, + -1, 129, 130, -1, -1, 68, -1, 135, 71, -1, + -1, -1, 75, -1, -1, 143, 144, 145, 146, -1, + 83, 149, 52, 151, -1, 55, 56, 90, 58, 59, + 60, 61, 62, 63, -1, -1, -1, -1, 68, -1, + -1, 71, -1, -1, 107, 75, 11, -1, -1, -1, + -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, + 90, -1, -1, -1, -1, -1, 129, 130, -1, -1, + -1, -1, 135, -1, -1, -1, -1, 107, -1, 11, + 143, 144, 145, 146, -1, -1, 149, 52, 151, -1, + 55, 56, -1, 58, 59, 60, 61, 62, 63, 129, + 130, -1, -1, 68, -1, 135, 71, -1, -1, -1, + 75, -1, -1, 143, 144, 145, 146, -1, 83, 149, + 52, 151, -1, 55, 56, 90, 58, 59, 60, 61, + 62, -1, -1, -1, -1, -1, 68, -1, -1, 71, + -1, -1, 107, 75, 11, -1, -1, -1, -1, -1, + -1, 83, -1, -1, -1, -1, -1, -1, 90, -1, + -1, 10, 11, 12, 129, 130, -1, -1, -1, -1, + 135, -1, -1, -1, -1, 107, -1, -1, 143, 144, + 145, 146, -1, -1, 149, 52, 151, -1, 55, 56, + -1, 58, 59, 60, 61, 62, -1, 129, 130, -1, + -1, 68, -1, 135, 71, -1, -1, -1, 75, -1, + -1, 143, 144, 145, 146, -1, 83, 149, -1, 151, + 69, -1, -1, 90, -1, -1, -1, -1, 10, 11, + 12, -1, -1, 82, 83, -1, -1, -1, -1, -1, + 107, -1, -1, 10, 11, 12, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 10, 11, + 12, -1, 129, 130, -1, -1, -1, -1, 135, -1, + -1, -1, 121, 122, 123, 124, 143, 144, 145, 146, + -1, 130, 149, 132, 151, -1, -1, 69, -1, -1, + -1, -1, -1, -1, 143, -1, -1, -1, -1, 148, + 82, 83, 69, -1, -1, -1, -1, -1, 55, -1, + -1, 58, 59, 60, 61, 82, 83, 69, -1, -1, + 10, 11, 12, -1, -1, 15, -1, -1, -1, -1, + 82, 83, 55, -1, -1, 58, 59, 60, 61, 121, + 122, -1, 124, 90, -1, -1, -1, -1, 130, -1, + 132, -1, -1, -1, 121, 122, -1, 124, -1, -1, + 107, 143, -1, 130, -1, 132, 148, 90, -1, 121, + 122, -1, 124, -1, -1, -1, 143, -1, 130, 69, + 132, 148, 129, 130, 107, -1, -1, -1, -1, -1, + -1, 143, 82, 83, -1, -1, 148, -1, -1, 146, + -1, -1, -1, -1, 151, -1, 129, 130, 55, -1, + -1, 58, 59, 60, 61, -1, -1, -1, -1, -1, + -1, -1, -1, 146, -1, -1, -1, 174, 151, -1, + -1, 121, 122, -1, 124, -1, -1, -1, -1, -1, + 130, -1, 132, 90, -1, 54, -1, -1, -1, -1, + -1, 174, -1, -1, 63, 64, 65, 66, -1, -1, + 107, -1, -1, -1, -1, -1, -1, 76, 77, 78, + 79, -1, -1, -1, -1, 84, -1, -1, -1, -1, + 89, -1, 129, 130, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 146, + -1, -1, -1, -1, 151, 114, -1, -1, -1, 53, + 54, -1, -1, -1, -1, -1, 125, -1, -1, 63, + 64, 65, 66, 132, -1, -1, -1, 174, 137, -1, + 74, -1, 76, 77, 78, 79, 80, -1, 147, 148, + 84, 150, -1, -1, -1, 89, -1, -1, -1, -1, + 54, -1, -1, -1, -1, -1, 165, -1, -1, 63, + 64, 65, 66, -1, 108, 109, 110, 111, 112, 113, + 114, 115, 76, 77, 78, 79, -1, -1, 122, 123, + 124, 125, -1, -1, -1, 89, -1, -1, 132, 133, + 54, -1, 136, 137, -1, -1, -1, 141, -1, 63, + 64, 65, 66, 147, 148, -1, 150, 54, -1, -1, + 114, 115, 76, 77, 78, 79, 63, 64, 65, 66, + 84, 125, -1, -1, -1, 89, -1, -1, 132, 76, + 77, 78, 79, 137, -1, -1, -1, -1, -1, -1, + -1, -1, 89, -1, 148, -1, 150, -1, -1, -1, + 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 125, -1, -1, -1, -1, -1, 114, 132, -1, + -1, -1, 136, 137, -1, -1, -1, -1, 125, -1, + -1, -1, -1, 147, 148, 132, 150, -1, -1, -1, + 137, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 148, -1, 150 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 151, 152, 153, 179, 180, 290, 3, 4, 5, - 6, 8, 9, 10, 11, 51, 55, 57, 58, 59, - 60, 66, 70, 71, 80, 81, 82, 86, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 115, 117, 118, 120, - 125, 127, 128, 129, 132, 137, 140, 144, 149, 162, - 165, 166, 167, 170, 172, 173, 176, 280, 281, 289, - 11, 12, 52, 55, 57, 58, 59, 60, 61, 62, - 67, 70, 74, 82, 89, 106, 127, 128, 133, 141, - 142, 143, 144, 147, 149, 242, 243, 247, 248, 250, - 256, 258, 262, 263, 268, 269, 270, 271, 0, 48, - 50, 190, 290, 154, 172, 172, 172, 172, 172, 172, - 172, 163, 172, 163, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 11, 52, 67, 141, 142, 245, - 262, 263, 268, 280, 163, 172, 172, 15, 172, 280, - 163, 172, 172, 172, 280, 280, 280, 280, 280, 11, - 55, 57, 58, 59, 60, 70, 82, 89, 106, 127, - 128, 144, 149, 247, 278, 280, 10, 11, 12, 68, - 81, 82, 120, 121, 123, 128, 130, 158, 162, 167, - 284, 285, 287, 290, 280, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 34, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 171, 172, 173, 6, - 8, 242, 243, 172, 61, 133, 70, 106, 269, 269, - 269, 287, 172, 269, 13, 15, 17, 62, 148, 162, - 167, 172, 240, 241, 290, 241, 257, 190, 190, 145, - 191, 192, 287, 172, 156, 181, 277, 278, 290, 277, - 247, 277, 277, 277, 277, 277, 247, 277, 247, 277, - 247, 277, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 277, 172, - 287, 172, 172, 190, 190, 174, 247, 277, 277, 172, - 247, 247, 247, 280, 277, 277, 174, 155, 174, 287, - 287, 155, 177, 158, 230, 290, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 287, 174, 278, - 280, 241, 241, 52, 280, 247, 167, 287, 190, 240, - 241, 240, 241, 190, 190, 15, 17, 162, 167, 190, - 225, 226, 235, 290, 173, 154, 10, 11, 12, 120, - 157, 288, 10, 11, 12, 120, 154, 287, 288, 287, - 49, 155, 172, 11, 52, 67, 141, 142, 244, 248, - 250, 256, 262, 263, 268, 280, 53, 54, 62, 63, - 64, 65, 73, 75, 76, 77, 78, 79, 83, 88, - 107, 108, 109, 110, 111, 112, 113, 114, 121, 122, - 123, 124, 130, 131, 134, 135, 139, 145, 146, 148, - 184, 186, 187, 189, 193, 213, 264, 267, 290, 175, - 174, 174, 174, 174, 174, 174, 174, 164, 174, 164, - 174, 174, 174, 174, 155, 174, 155, 174, 155, 174, + 0, 153, 154, 155, 181, 182, 292, 3, 4, 5, + 6, 8, 9, 10, 11, 51, 55, 58, 59, 60, + 61, 67, 71, 72, 81, 82, 83, 87, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 116, 118, 119, 121, + 126, 129, 130, 131, 134, 139, 142, 146, 151, 164, + 167, 168, 169, 172, 174, 175, 178, 282, 283, 291, + 11, 12, 52, 55, 56, 58, 59, 60, 61, 62, + 63, 68, 71, 75, 83, 90, 107, 129, 130, 135, + 143, 144, 145, 146, 149, 151, 244, 245, 249, 250, + 252, 258, 260, 264, 265, 270, 271, 272, 273, 0, + 48, 50, 192, 292, 156, 174, 174, 174, 174, 174, + 174, 174, 165, 174, 165, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 280, 247, 277, 287, 287, 164, 174, 174, 287, - 174, 164, 174, 174, 174, 174, 280, 280, 15, 162, - 285, 172, 210, 290, 280, 157, 174, 177, 174, 174, - 174, 190, 190, 13, 15, 17, 62, 148, 162, 167, - 240, 290, 240, 240, 190, 190, 190, 62, 124, 242, - 243, 174, 15, 155, 276, 280, 290, 260, 261, 290, - 11, 259, 269, 157, 249, 251, 157, 190, 191, 3, - 4, 5, 9, 10, 15, 51, 66, 71, 80, 81, - 115, 118, 120, 125, 129, 132, 137, 140, 162, 165, - 166, 170, 172, 176, 227, 228, 235, 236, 282, 283, - 289, 290, 172, 287, 172, 174, 190, 190, 174, 76, - 88, 189, 189, 189, 189, 189, 189, 6, 189, 213, - 189, 280, 157, 188, 114, 189, 172, 172, 172, 172, - 172, 172, 189, 154, 190, 157, 157, 157, 189, 189, - 172, 187, 189, 193, 214, 189, 189, 197, 74, 114, - 287, 189, 189, 10, 11, 119, 154, 170, 200, 204, - 244, 246, 172, 172, 247, 247, 247, 174, 174, 174, - 172, 174, 172, 230, 225, 17, 62, 64, 81, 113, - 116, 117, 120, 136, 148, 162, 190, 280, 240, 167, - 287, 190, 240, 240, 190, 190, 173, 240, 240, 240, - 124, 242, 243, 235, 13, 17, 62, 148, 162, 167, - 172, 238, 288, 290, 13, 15, 17, 62, 148, 162, - 167, 172, 239, 210, 15, 235, 177, 287, 175, 259, - 180, 81, 252, 290, 191, 172, 163, 163, 245, 163, - 15, 172, 282, 163, 172, 280, 280, 280, 280, 247, - 278, 280, 174, 15, 155, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 34, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 171, 172, 173, 52, - 280, 247, 190, 287, 288, 287, 190, 189, 174, 186, - 154, 287, 287, 287, 287, 287, 287, 287, 180, 287, - 280, 163, 10, 11, 204, 244, 246, 287, 287, 156, - 190, 172, 172, 62, 242, 185, 287, 195, 154, 156, - 158, 232, 156, 194, 278, 278, 174, 174, 174, 278, - 278, 174, 280, 172, 34, 223, 290, 190, 190, 240, - 240, 240, 276, 174, 174, 174, 242, 243, 238, 239, - 167, 190, 238, 238, 190, 190, 238, 173, 230, 190, - 167, 287, 190, 239, 239, 190, 190, 239, 173, 230, - 190, 190, 190, 175, 157, 253, 254, 290, 49, 247, - 247, 247, 172, 247, 172, 247, 247, 247, 280, 174, - 174, 15, 236, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 287, 174, 278, 280, 174, 174, - 174, 157, 189, 180, 154, 155, 155, 155, 155, 155, - 155, 175, 154, 155, 174, 10, 11, 12, 61, 62, - 141, 215, 216, 217, 218, 219, 268, 290, 172, 232, - 198, 156, 156, 158, 201, 10, 13, 167, 203, 242, - 13, 17, 62, 148, 162, 167, 237, 288, 290, 180, - 172, 154, 156, 157, 158, 231, 272, 273, 68, 69, - 154, 280, 13, 17, 62, 119, 148, 162, 167, 172, - 196, 220, 222, 288, 174, 174, 174, 174, 210, 174, - 174, 287, 62, 245, 154, 240, 177, 172, 172, 172, - 238, 239, 230, 230, 190, 238, 238, 238, 174, 276, - 190, 190, 239, 239, 239, 174, 276, 223, 155, 158, - 121, 122, 123, 141, 146, 255, 286, 287, 154, 155, - 190, 174, 164, 164, 277, 164, 287, 174, 164, 174, - 174, 280, 157, 174, 177, 259, 175, 266, 10, 10, - 10, 10, 10, 10, 265, 289, 156, 219, 164, 155, - 15, 287, 13, 17, 62, 148, 162, 167, 172, 238, - 239, 199, 222, 247, 225, 174, 167, 220, 225, 237, - 167, 190, 237, 237, 190, 190, 172, 173, 190, 175, - 205, 272, 182, 183, 287, 68, 69, 175, 274, 290, - 156, 156, 154, 233, 234, 280, 290, 156, 167, 190, - 220, 6, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 34, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 69, 115, 155, 158, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 172, - 173, 176, 211, 220, 190, 190, 220, 157, 172, 173, - 223, 158, 230, 232, 190, 190, 15, 174, 245, 241, - 272, 190, 225, 225, 225, 230, 230, 238, 172, 177, - 239, 172, 177, 280, 146, 286, 146, 286, 146, 286, - 287, 121, 122, 123, 15, 180, 255, 172, 172, 174, - 172, 174, 172, 280, 180, 155, 155, 174, 155, 224, - 290, 155, 155, 155, 180, 174, 238, 239, 187, 193, - 212, 213, 218, 287, 158, 167, 190, 190, 190, 158, - 229, 290, 230, 232, 156, 174, 172, 220, 174, 174, - 172, 190, 237, 237, 237, 208, 276, 225, 175, 154, - 155, 154, 172, 156, 156, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 74, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 87, 88, 89, 106, - 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, 144, 145, 146, 147, 148, 149, 150, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, - 177, 275, 233, 175, 155, 190, 220, 10, 174, 177, - 190, 220, 220, 174, 280, 221, 276, 280, 155, 223, - 174, 241, 175, 174, 174, 174, 225, 190, 225, 190, - 155, 286, 286, 286, 286, 286, 286, 175, 278, 278, - 278, 278, 175, 10, 10, 156, 10, 174, 10, 10, - 10, 175, 156, 229, 247, 190, 51, 66, 71, 125, - 129, 132, 162, 165, 166, 167, 170, 172, 176, 279, - 281, 155, 210, 202, 174, 172, 210, 209, 237, 225, - 177, 174, 272, 183, 277, 277, 274, 175, 154, 280, - 220, 190, 227, 177, 196, 154, 210, 210, 210, 174, - 174, 174, 174, 174, 174, 174, 155, 174, 155, 156, - 155, 174, 174, 155, 174, 172, 163, 163, 163, 15, - 172, 279, 163, 279, 279, 279, 279, 279, 247, 278, - 279, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 34, 159, 160, 161, 162, 165, 166, 167, 168, 169, - 171, 172, 173, 199, 190, 225, 172, 206, 190, 225, - 174, 190, 210, 175, 175, 174, 175, 233, 174, 190, - 272, 190, 190, 190, 210, 210, 156, 10, 156, 10, - 10, 156, 156, 10, 156, 247, 247, 247, 247, 172, - 247, 247, 174, 174, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 287, 174, 278, 280, 174, 207, 225, - 174, 210, 190, 15, 175, 210, 175, 223, 223, 223, - 190, 190, 155, 224, 174, 155, 155, 174, 174, 164, - 164, 164, 287, 174, 164, 279, 157, 174, 177, 210, - 225, 174, 210, 190, 10, 174, 156, 10, 10, 156, - 172, 172, 172, 174, 172, 279, 190, 174, 210, 156, - 174, 155, 174, 278, 278, 278, 278, 210, 190, 156, - 10, 156, 174, 174, 174, 174, 190, 223, 174, 223, - 156 + 174, 174, 174, 174, 174, 11, 52, 56, 68, 143, + 144, 247, 264, 265, 270, 282, 165, 174, 174, 15, + 174, 282, 165, 174, 174, 174, 282, 282, 282, 282, + 282, 11, 55, 58, 59, 60, 61, 71, 83, 90, + 107, 129, 130, 146, 151, 249, 280, 282, 10, 11, + 12, 69, 82, 83, 121, 122, 124, 130, 132, 160, + 164, 169, 286, 287, 289, 292, 282, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 34, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, + 175, 6, 8, 244, 245, 174, 62, 135, 71, 107, + 271, 271, 271, 289, 174, 271, 13, 15, 17, 63, + 127, 150, 164, 169, 174, 242, 243, 292, 243, 259, + 192, 192, 147, 193, 194, 289, 174, 158, 183, 279, + 280, 292, 279, 249, 279, 279, 279, 279, 279, 249, + 279, 249, 279, 249, 279, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 279, 174, 289, 174, 174, 192, 192, 176, 249, + 279, 279, 174, 249, 249, 249, 282, 279, 279, 176, + 157, 176, 289, 289, 157, 179, 160, 232, 292, 282, + 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 289, 176, 280, 282, 243, 243, 52, 282, 249, 169, + 289, 192, 242, 243, 242, 243, 242, 243, 192, 192, + 15, 17, 164, 169, 192, 227, 228, 237, 292, 175, + 156, 10, 11, 12, 121, 159, 290, 10, 11, 12, + 121, 156, 289, 290, 289, 49, 157, 174, 11, 52, + 56, 68, 143, 144, 246, 250, 252, 258, 264, 265, + 270, 282, 53, 54, 63, 64, 65, 66, 74, 76, + 77, 78, 79, 80, 84, 89, 108, 109, 110, 111, + 112, 113, 114, 115, 122, 123, 124, 125, 132, 133, + 136, 137, 141, 147, 148, 150, 186, 188, 189, 191, + 195, 215, 266, 269, 292, 177, 176, 176, 176, 176, + 176, 176, 176, 166, 176, 166, 176, 176, 176, 176, + 157, 176, 157, 176, 157, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 282, 249, 279, + 289, 289, 166, 176, 176, 289, 176, 166, 176, 176, + 176, 176, 282, 282, 15, 164, 287, 174, 212, 292, + 282, 159, 176, 179, 176, 176, 176, 192, 192, 13, + 15, 17, 63, 127, 150, 164, 169, 242, 292, 242, + 242, 192, 192, 192, 77, 89, 191, 176, 15, 157, + 278, 282, 292, 262, 263, 292, 11, 261, 271, 159, + 251, 253, 159, 192, 193, 3, 4, 5, 9, 10, + 15, 51, 67, 72, 81, 82, 116, 119, 121, 126, + 131, 134, 139, 142, 164, 167, 168, 172, 174, 178, + 229, 230, 237, 238, 284, 285, 291, 292, 174, 289, + 174, 176, 192, 192, 176, 191, 191, 191, 191, 191, + 191, 6, 191, 215, 191, 282, 159, 190, 115, 191, + 174, 174, 174, 174, 174, 174, 191, 156, 192, 159, + 159, 159, 191, 191, 174, 189, 191, 195, 216, 191, + 191, 199, 75, 115, 289, 191, 191, 10, 11, 120, + 156, 172, 202, 206, 246, 248, 174, 174, 249, 249, + 249, 176, 176, 176, 174, 176, 174, 232, 227, 17, + 63, 65, 82, 114, 117, 118, 121, 138, 150, 164, + 192, 282, 242, 169, 289, 192, 242, 242, 242, 192, + 192, 175, 242, 242, 242, 244, 245, 212, 15, 237, + 179, 289, 177, 261, 182, 82, 254, 292, 193, 174, + 165, 165, 247, 165, 15, 174, 284, 165, 174, 282, + 282, 282, 282, 249, 280, 282, 176, 15, 157, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 34, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 173, 174, 175, 52, 282, 249, 192, 289, 290, 289, + 192, 191, 176, 188, 156, 289, 289, 289, 289, 289, + 289, 289, 182, 289, 282, 165, 10, 11, 206, 246, + 248, 289, 289, 158, 192, 174, 174, 63, 244, 187, + 289, 197, 156, 158, 160, 234, 158, 196, 280, 280, + 176, 176, 176, 280, 280, 176, 282, 174, 34, 225, + 292, 192, 192, 242, 242, 242, 278, 176, 176, 176, + 13, 17, 63, 127, 150, 164, 169, 174, 240, 290, + 292, 13, 15, 17, 63, 127, 150, 164, 169, 174, + 241, 192, 192, 192, 177, 159, 255, 256, 292, 49, + 249, 249, 249, 174, 249, 174, 249, 249, 249, 282, + 176, 176, 15, 238, 282, 282, 282, 282, 282, 282, + 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 282, 282, 282, 282, 282, 289, 176, 280, 282, 176, + 176, 176, 159, 191, 182, 156, 157, 157, 157, 157, + 157, 157, 177, 156, 157, 176, 10, 11, 12, 62, + 63, 143, 150, 217, 218, 219, 220, 221, 270, 292, + 174, 234, 200, 158, 158, 160, 203, 10, 13, 169, + 205, 244, 13, 17, 63, 127, 150, 164, 169, 239, + 290, 292, 182, 174, 156, 158, 159, 160, 233, 274, + 275, 69, 70, 156, 282, 13, 17, 63, 120, 150, + 164, 169, 174, 198, 222, 224, 290, 176, 176, 176, + 176, 212, 176, 176, 289, 63, 247, 156, 242, 179, + 174, 174, 174, 169, 192, 240, 240, 240, 192, 192, + 240, 175, 232, 192, 169, 289, 192, 241, 241, 241, + 192, 192, 241, 175, 232, 225, 157, 160, 122, 123, + 124, 143, 148, 257, 288, 289, 156, 157, 192, 176, + 166, 166, 279, 166, 289, 176, 166, 176, 176, 282, + 159, 176, 179, 261, 177, 268, 10, 10, 10, 10, + 10, 10, 267, 291, 158, 221, 221, 166, 157, 15, + 289, 13, 17, 63, 127, 150, 164, 169, 174, 240, + 241, 201, 224, 249, 227, 176, 169, 222, 227, 239, + 169, 192, 239, 239, 239, 192, 192, 174, 175, 192, + 177, 207, 274, 184, 185, 289, 69, 70, 177, 276, + 292, 158, 158, 156, 235, 236, 282, 292, 158, 169, + 192, 222, 6, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 34, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 70, 116, 157, 160, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 174, 175, 178, 213, 222, 192, 192, 222, 159, 174, + 175, 225, 160, 232, 234, 192, 192, 15, 176, 247, + 243, 274, 192, 227, 227, 227, 192, 240, 240, 240, + 176, 278, 192, 192, 241, 241, 241, 176, 278, 282, + 148, 288, 148, 288, 148, 288, 289, 122, 123, 124, + 15, 182, 257, 174, 174, 176, 174, 176, 174, 282, + 182, 157, 157, 176, 157, 226, 292, 157, 157, 157, + 182, 176, 240, 241, 240, 241, 189, 195, 214, 215, + 220, 289, 160, 169, 192, 192, 192, 160, 231, 292, + 232, 234, 158, 176, 174, 222, 176, 176, 174, 192, + 239, 239, 239, 210, 278, 227, 177, 156, 157, 156, + 174, 158, 158, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 75, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 88, 89, 90, 107, 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, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 178, + 179, 277, 235, 177, 157, 192, 222, 10, 176, 179, + 192, 222, 222, 176, 282, 223, 278, 282, 157, 225, + 176, 243, 177, 176, 176, 176, 240, 174, 179, 241, + 174, 179, 157, 288, 288, 288, 288, 288, 288, 177, + 280, 280, 280, 280, 177, 10, 10, 158, 10, 176, + 10, 10, 10, 177, 158, 231, 231, 249, 192, 51, + 67, 72, 126, 131, 134, 164, 167, 168, 169, 172, + 174, 178, 281, 283, 157, 212, 204, 176, 174, 212, + 211, 239, 227, 179, 176, 274, 185, 279, 279, 276, + 177, 156, 282, 222, 192, 229, 179, 198, 156, 212, + 212, 212, 227, 192, 227, 192, 176, 176, 176, 176, + 176, 157, 176, 157, 158, 157, 176, 176, 157, 176, + 174, 165, 165, 165, 15, 174, 281, 165, 281, 281, + 281, 281, 281, 249, 280, 281, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 34, 161, 162, 163, 164, + 167, 168, 169, 170, 171, 173, 174, 175, 201, 192, + 227, 174, 208, 192, 227, 176, 192, 212, 177, 177, + 176, 177, 235, 176, 192, 274, 192, 192, 192, 176, + 176, 158, 10, 158, 10, 10, 158, 158, 10, 158, + 249, 249, 249, 249, 174, 249, 249, 176, 176, 281, + 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, + 281, 281, 281, 281, 281, 281, 281, 281, 289, 176, + 280, 282, 176, 209, 227, 176, 212, 192, 15, 177, + 212, 177, 225, 225, 225, 212, 212, 157, 226, 176, + 157, 157, 176, 176, 166, 166, 166, 289, 176, 166, + 281, 159, 176, 179, 212, 227, 176, 212, 192, 192, + 192, 10, 176, 158, 10, 10, 158, 174, 174, 174, + 176, 174, 281, 192, 176, 212, 158, 176, 157, 176, + 280, 280, 280, 280, 212, 192, 158, 10, 158, 176, + 176, 176, 176, 192, 225, 176, 225, 158 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { - 0, 178, 179, 179, 179, 180, 180, 181, 180, 182, - 182, 183, 183, 183, 185, 184, 186, 186, 186, 186, - 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 186, 186, 186, 188, 187, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 190, 190, 190, 190, 190, 191, 191, - 192, 192, 194, 193, 193, 195, 193, 193, 193, 196, - 196, 198, 197, 197, 199, 199, 201, 200, 202, 200, - 203, 200, 205, 204, 206, 204, 207, 204, 208, 204, - 209, 204, 204, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 210, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 212, 212, 212, - 213, 214, 213, 213, 213, 215, 215, 216, 216, 217, - 217, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 219, 219, 219, 219, 220, 220, 220, 220, 220, 220, - 220, 220, 220, 220, 220, 221, 220, 222, 222, 223, - 223, 223, 224, 224, 225, 225, 225, 225, 225, 226, - 226, 227, 227, 227, 227, 227, 228, 228, 229, 229, - 230, 230, 231, 231, 231, 231, 231, 232, 232, 232, - 232, 232, 232, 233, 233, 233, 234, 234, 234, 234, - 235, 235, 235, 235, 235, 235, 235, 236, 236, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 0, 180, 181, 181, 181, 182, 182, 183, 182, 184, + 184, 185, 185, 185, 187, 186, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 190, 189, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 192, 192, 192, 192, 192, 193, 193, + 194, 194, 196, 195, 195, 197, 195, 195, 195, 198, + 198, 200, 199, 199, 201, 201, 203, 202, 204, 202, + 205, 202, 207, 206, 208, 206, 209, 206, 210, 206, + 211, 206, 206, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 214, 214, 214, + 215, 216, 215, 215, 215, 217, 217, 218, 218, 219, + 219, 220, 220, 220, 220, 220, 220, 220, 220, 220, + 220, 220, 221, 221, 221, 221, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 223, 222, 224, + 224, 225, 225, 225, 226, 226, 227, 227, 227, 227, + 227, 228, 228, 229, 229, 229, 229, 229, 230, 230, + 231, 231, 232, 232, 233, 233, 233, 233, 233, 234, + 234, 234, 234, 234, 234, 235, 235, 235, 236, 236, + 236, 236, 237, 237, 238, 238, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, - 241, 241, 241, 241, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 243, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 245, 245, 245, 245, 245, 245, 245, 245, 246, 246, - 247, 247, 247, 247, 249, 248, 251, 250, 252, 252, - 253, 253, 254, 254, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 257, 256, 258, 258, 258, 258, - 259, 259, 260, 260, 260, 261, 261, 261, 262, 262, - 262, 263, 263, 263, 265, 264, 266, 264, 264, 264, - 267, 267, 267, 267, 268, 268, 268, 269, 269, 269, - 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, - 269, 269, 270, 270, 270, 271, 273, 272, 274, 274, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 276, 276, 277, 277, - 278, 278, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 281, 281, 281, 281, 281, 281, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, + 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 246, 246, 246, 246, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 248, 248, 249, 249, 249, 249, 251, + 250, 253, 252, 254, 254, 255, 255, 256, 256, 257, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 259, + 258, 260, 260, 260, 260, 261, 261, 262, 262, 262, + 263, 263, 263, 264, 264, 264, 265, 265, 265, 267, + 266, 268, 266, 266, 266, 269, 269, 269, 269, 270, + 270, 270, 271, 271, 271, 271, 271, 271, 271, 271, + 271, 271, 271, 271, 271, 271, 271, 272, 272, 272, + 273, 275, 274, 276, 276, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 278, 278, 279, 279, 280, 280, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 282, 282, 282, 282, 282, + 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, + 281, 281, 281, 281, 281, 281, 281, 281, 281, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 282, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 284, 284, 284, 284, 284, 285, 285, 285, 285, - 286, 286, 286, 287, 287, 287, 287, 287, 287, 287, - 287, 287, 287, 287, 288, 288, 288, 288, 289, 289, - 289, 289, 290 + 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 285, 285, 285, + 285, 285, 285, 285, 285, 285, 285, 285, 286, 286, + 286, 286, 286, 287, 287, 287, 287, 288, 288, 288, + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, + 289, 290, 290, 290, 290, 291, 291, 291, 291, 292 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -3266,30 +3229,31 @@ static const yytype_int8 yyr2[] = 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, 7, 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, - 4, 5, 6, 4, 5, 6, 3, 1, 1, 1, - 2, 2, 2, 3, 3, 3, 4, 5, 1, 2, - 2, 2, 3, 3, 3, 4, 5, 8, 3, 1, - 3, 2, 2, 3, 3, 3, 4, 5, 8, 3, - 1, 1, 3, 2, 2, 3, 3, 3, 4, 5, - 1, 1, 3, 2, 2, 3, 3, 3, 4, 5, - 6, 11, 11, 11, 1, 1, 2, 1, 1, 1, - 3, 5, 4, 4, 4, 1, 1, 1, 1, 2, - 1, 1, 1, 3, 5, 3, 4, 4, 4, 1, - 1, 1, 2, 3, 3, 4, 4, 1, 1, 1, - 2, 3, 2, 3, 0, 6, 0, 9, 1, 1, - 1, 1, 2, 3, 1, 2, 2, 2, 3, 3, - 3, 3, 3, 3, 0, 5, 4, 2, 5, 3, - 1, 1, 1, 4, 6, 1, 3, 5, 1, 2, - 2, 1, 1, 1, 0, 7, 0, 7, 4, 5, - 3, 6, 4, 4, 1, 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, + 4, 3, 1, 1, 1, 1, 2, 3, 4, 2, + 2, 3, 3, 3, 4, 5, 3, 0, 7, 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, 5, 5, 1, 1, 1, 2, 2, 2, + 2, 3, 3, 3, 4, 5, 1, 2, 2, 2, + 2, 3, 3, 3, 4, 5, 8, 3, 1, 3, + 2, 2, 2, 3, 3, 3, 4, 5, 8, 3, + 1, 1, 3, 2, 2, 2, 3, 3, 3, 4, + 5, 1, 1, 3, 2, 2, 2, 3, 3, 3, + 4, 5, 6, 11, 11, 11, 1, 1, 2, 1, + 1, 1, 3, 5, 4, 4, 4, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 3, 5, 3, 4, + 4, 4, 1, 1, 1, 1, 2, 3, 3, 4, + 4, 1, 1, 1, 1, 2, 3, 2, 3, 0, + 6, 0, 9, 1, 1, 1, 1, 2, 3, 1, + 2, 2, 2, 3, 3, 3, 3, 3, 3, 0, + 5, 4, 2, 5, 3, 1, 1, 1, 4, 6, + 1, 3, 5, 1, 2, 2, 1, 1, 1, 0, + 7, 0, 7, 4, 5, 3, 6, 4, 4, 1, + 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, 1, 1, 1, 1, 1, @@ -3303,30 +3267,29 @@ 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, 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, + 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, 3, 3, 3, 3, 5, 4, 4, 3, 3, - 3, 3, 1, 4, 7, 7, 7, 7, 4, 4, + 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, 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, 3, 5, 4, 4, 3, - 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 9, 12, 4, 4, 6, - 4, 4, 6, 6, 4, 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, + 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, 3, 5, 4, 4, 3, 3, 3, 3, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 9, 12, 4, 4, 6, 4, 4, 6, + 6, 4, 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, 3, + 5, 4, 4, 3, 3, 3, 3, 1, 1, 1, 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, 2, 4, 2, 3, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 0 + 1, 1, 1, 1, 1, 1, 1, 2, 2, 0 }; @@ -3911,90 +3874,90 @@ yyreduce: switch (yyn) { case 3: /* grammar: START_CONST_EXPR const_expr */ -#line 466 "dtool/src/cppparser/cppBison.yxx" +#line 468 "dtool/src/cppparser/cppBison.yxx" { current_expr = (yyvsp[0].u.expr); } -#line 3919 "built/tmp/cppBison.yxx.c" +#line 3882 "built/tmp/cppBison.yxx.c" break; case 4: /* grammar: START_TYPE full_type */ -#line 470 "dtool/src/cppparser/cppBison.yxx" +#line 472 "dtool/src/cppparser/cppBison.yxx" { current_type = (yyvsp[0].u.type); } -#line 3927 "built/tmp/cppBison.yxx.c" +#line 3890 "built/tmp/cppBison.yxx.c" break; case 6: /* cpp: cpp optional_attributes ';' */ -#line 478 "dtool/src/cppparser/cppBison.yxx" +#line 480 "dtool/src/cppparser/cppBison.yxx" { if (!(yyvsp[-1].attr_list).is_empty()) { current_scope->add_declaration(new CPPDeclaration((yylsp[-1]).file, (yyvsp[-1].attr_list)), global_scope, current_lexer, (yylsp[-1])); } } -#line 3937 "built/tmp/cppBison.yxx.c" +#line 3900 "built/tmp/cppBison.yxx.c" break; case 7: /* $@1: %empty */ -#line 484 "dtool/src/cppparser/cppBison.yxx" +#line 486 "dtool/src/cppparser/cppBison.yxx" { current_attributes = (yyvsp[0].attr_list); } -#line 3945 "built/tmp/cppBison.yxx.c" +#line 3908 "built/tmp/cppBison.yxx.c" break; case 8: /* cpp: cpp optional_attributes $@1 declaration */ -#line 488 "dtool/src/cppparser/cppBison.yxx" +#line 490 "dtool/src/cppparser/cppBison.yxx" { current_attributes = CPPAttributeList(); } -#line 3953 "built/tmp/cppBison.yxx.c" +#line 3916 "built/tmp/cppBison.yxx.c" break; case 11: /* constructor_init: name '(' optional_const_expr_comma ')' */ -#line 500 "dtool/src/cppparser/cppBison.yxx" +#line 502 "dtool/src/cppparser/cppBison.yxx" { delete (yyvsp[-1].u.expr); } -#line 3961 "built/tmp/cppBison.yxx.c" +#line 3924 "built/tmp/cppBison.yxx.c" break; case 12: /* constructor_init: name '(' optional_const_expr_comma ')' ELLIPSIS */ -#line 504 "dtool/src/cppparser/cppBison.yxx" +#line 506 "dtool/src/cppparser/cppBison.yxx" { delete (yyvsp[-2].u.expr); } -#line 3969 "built/tmp/cppBison.yxx.c" +#line 3932 "built/tmp/cppBison.yxx.c" break; case 13: /* constructor_init: name '{' optional_const_expr_comma '}' */ -#line 508 "dtool/src/cppparser/cppBison.yxx" +#line 510 "dtool/src/cppparser/cppBison.yxx" { delete (yyvsp[-1].u.expr); } -#line 3977 "built/tmp/cppBison.yxx.c" +#line 3940 "built/tmp/cppBison.yxx.c" break; case 14: /* $@2: %empty */ -#line 520 "dtool/src/cppparser/cppBison.yxx" +#line 522 "dtool/src/cppparser/cppBison.yxx" { push_storage_class((current_storage_class & ~CPPInstance::SC_c_binding) | ((yyvsp[-1].u.integer) & CPPInstance::SC_c_binding)); } -#line 3986 "built/tmp/cppBison.yxx.c" +#line 3949 "built/tmp/cppBison.yxx.c" break; case 15: /* extern_c: storage_class '{' $@2 cpp '}' */ -#line 525 "dtool/src/cppparser/cppBison.yxx" +#line 527 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } -#line 3994 "built/tmp/cppBison.yxx.c" +#line 3957 "built/tmp/cppBison.yxx.c" break; case 22: /* declaration: KW_BEGIN_PUBLISH */ -#line 538 "dtool/src/cppparser/cppBison.yxx" +#line 540 "dtool/src/cppparser/cppBison.yxx" { if (publish_nest_level != 0) { yyerror("Unclosed __begin_publish", publish_loc); @@ -4007,11 +3970,11 @@ yyreduce: publish_nest_level++; current_scope->set_current_vis(V_published); } -#line 4011 "built/tmp/cppBison.yxx.c" +#line 3974 "built/tmp/cppBison.yxx.c" break; case 23: /* declaration: KW_END_PUBLISH */ -#line 551 "dtool/src/cppparser/cppBison.yxx" +#line 553 "dtool/src/cppparser/cppBison.yxx" { if (publish_nest_level != 1) { yyerror("Unmatched __end_publish", (yylsp[0])); @@ -4020,19 +3983,19 @@ yyreduce: } publish_nest_level = 0; } -#line 4024 "built/tmp/cppBison.yxx.c" +#line 3987 "built/tmp/cppBison.yxx.c" break; case 24: /* declaration: KW_PUBLISHED ':' */ -#line 560 "dtool/src/cppparser/cppBison.yxx" +#line 562 "dtool/src/cppparser/cppBison.yxx" { current_scope->set_current_vis(V_published); } -#line 4032 "built/tmp/cppBison.yxx.c" +#line 3995 "built/tmp/cppBison.yxx.c" break; case 25: /* declaration: KW_PUBLIC ':' */ -#line 564 "dtool/src/cppparser/cppBison.yxx" +#line 566 "dtool/src/cppparser/cppBison.yxx" { if (publish_nest_level > 0) { current_scope->set_current_vis(V_published); @@ -4040,27 +4003,27 @@ yyreduce: current_scope->set_current_vis(V_public); } } -#line 4044 "built/tmp/cppBison.yxx.c" +#line 4007 "built/tmp/cppBison.yxx.c" break; case 26: /* declaration: KW_PROTECTED ':' */ -#line 572 "dtool/src/cppparser/cppBison.yxx" +#line 574 "dtool/src/cppparser/cppBison.yxx" { current_scope->set_current_vis(V_protected); } -#line 4052 "built/tmp/cppBison.yxx.c" +#line 4015 "built/tmp/cppBison.yxx.c" break; case 27: /* declaration: KW_PRIVATE ':' */ -#line 576 "dtool/src/cppparser/cppBison.yxx" +#line 578 "dtool/src/cppparser/cppBison.yxx" { current_scope->set_current_vis(V_private); } -#line 4060 "built/tmp/cppBison.yxx.c" +#line 4023 "built/tmp/cppBison.yxx.c" break; case 28: /* declaration: KW_MAKE_PROPERTY '(' name ',' IDENTIFIER maybe_comma_identifier ')' ';' */ -#line 580 "dtool/src/cppparser/cppBison.yxx" +#line 582 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-3].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4081,11 +4044,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-7])); } } -#line 4085 "built/tmp/cppBison.yxx.c" +#line 4048 "built/tmp/cppBison.yxx.c" break; case 29: /* declaration: KW_MAKE_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 601 "dtool/src/cppparser/cppBison.yxx" +#line 603 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4112,11 +4075,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-10])); } } -#line 4116 "built/tmp/cppBison.yxx.c" +#line 4079 "built/tmp/cppBison.yxx.c" break; case 30: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 628 "dtool/src/cppparser/cppBison.yxx" +#line 630 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (length_getter == nullptr || length_getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4137,11 +4100,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4141 "built/tmp/cppBison.yxx.c" +#line 4104 "built/tmp/cppBison.yxx.c" break; case 31: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 649 "dtool/src/cppparser/cppBison.yxx" +#line 651 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *length_getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (length_getter == nullptr || length_getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4170,11 +4133,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-10])); } } -#line 4174 "built/tmp/cppBison.yxx.c" +#line 4137 "built/tmp/cppBison.yxx.c" break; case 32: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 678 "dtool/src/cppparser/cppBison.yxx" +#line 680 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *length_getter = (yyvsp[-8].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (length_getter == nullptr || length_getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4210,11 +4173,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12])); } } -#line 4214 "built/tmp/cppBison.yxx.c" +#line 4177 "built/tmp/cppBison.yxx.c" break; case 33: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 714 "dtool/src/cppparser/cppBison.yxx" +#line 716 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *length_getter = (yyvsp[-10].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (length_getter == nullptr || length_getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4257,11 +4220,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-14])); } } -#line 4261 "built/tmp/cppBison.yxx.c" +#line 4224 "built/tmp/cppBison.yxx.c" break; case 34: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ')' ';' */ -#line 757 "dtool/src/cppparser/cppBison.yxx" +#line 759 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4273,11 +4236,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-6])); } } -#line 4277 "built/tmp/cppBison.yxx.c" +#line 4240 "built/tmp/cppBison.yxx.c" break; case 35: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 769 "dtool/src/cppparser/cppBison.yxx" +#line 771 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4298,11 +4261,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4302 "built/tmp/cppBison.yxx.c" +#line 4265 "built/tmp/cppBison.yxx.c" break; case 36: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER maybe_comma_identifier ')' ';' */ -#line 790 "dtool/src/cppparser/cppBison.yxx" +#line 792 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-5].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4338,11 +4301,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-11])); } } -#line 4342 "built/tmp/cppBison.yxx.c" +#line 4305 "built/tmp/cppBison.yxx.c" break; case 37: /* declaration: KW_MAKE_MAP_KEYS_SEQ '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 826 "dtool/src/cppparser/cppBison.yxx" +#line 828 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (length_getter == nullptr || length_getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4376,11 +4339,11 @@ yyreduce: } } } -#line 4380 "built/tmp/cppBison.yxx.c" +#line 4343 "built/tmp/cppBison.yxx.c" break; case 38: /* declaration: KW_MAKE_PROPERTY2 '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 860 "dtool/src/cppparser/cppBison.yxx" +#line 862 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4402,11 +4365,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4406 "built/tmp/cppBison.yxx.c" +#line 4369 "built/tmp/cppBison.yxx.c" break; case 39: /* declaration: KW_MAKE_PROPERTY2 '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 882 "dtool/src/cppparser/cppBison.yxx" +#line 884 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (getter == nullptr || getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4442,11 +4405,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12])); } } -#line 4446 "built/tmp/cppBison.yxx.c" +#line 4409 "built/tmp/cppBison.yxx.c" break; case 40: /* declaration: KW_MAKE_SEQ '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 918 "dtool/src/cppparser/cppBison.yxx" +#line 920 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (length_getter == nullptr || length_getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -4468,11 +4431,11 @@ yyreduce: current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[-8])); } } -#line 4472 "built/tmp/cppBison.yxx.c" +#line 4435 "built/tmp/cppBison.yxx.c" break; case 41: /* declaration: KW_STATIC_ASSERT '(' const_expr ',' string_literal ')' ';' */ -#line 940 "dtool/src/cppparser/cppBison.yxx" +#line 942 "dtool/src/cppparser/cppBison.yxx" { CPPExpression::Result result = (yyvsp[-4].u.expr)->evaluate(); if (result._type == CPPExpression::RT_error) { @@ -4483,11 +4446,11 @@ yyreduce: yywarning("static_assert failed: " + str.str(), (yylsp[-4])); } } -#line 4487 "built/tmp/cppBison.yxx.c" +#line 4450 "built/tmp/cppBison.yxx.c" break; case 42: /* declaration: KW_STATIC_ASSERT '(' const_expr ')' ';' */ -#line 951 "dtool/src/cppparser/cppBison.yxx" +#line 953 "dtool/src/cppparser/cppBison.yxx" { // This alternative version of static_assert was introduced in C++17. CPPExpression::Result result = (yyvsp[-2].u.expr)->evaluate(); @@ -4497,55 +4460,55 @@ yyreduce: yywarning("static_assert failed", (yylsp[-2])); } } -#line 4501 "built/tmp/cppBison.yxx.c" +#line 4464 "built/tmp/cppBison.yxx.c" break; case 43: /* $@3: %empty */ -#line 964 "dtool/src/cppparser/cppBison.yxx" +#line 966 "dtool/src/cppparser/cppBison.yxx" { CPPScope *new_scope = new CPPScope(current_scope, CPPNameComponent("temp"), V_public); push_scope(new_scope); } -#line 4511 "built/tmp/cppBison.yxx.c" +#line 4474 "built/tmp/cppBison.yxx.c" break; case 44: /* friend_declaration: KW_FRIEND $@3 declaration */ -#line 970 "dtool/src/cppparser/cppBison.yxx" +#line 972 "dtool/src/cppparser/cppBison.yxx" { delete current_scope; pop_scope(); } -#line 4520 "built/tmp/cppBison.yxx.c" +#line 4483 "built/tmp/cppBison.yxx.c" break; case 45: /* storage_class: empty */ -#line 979 "dtool/src/cppparser/cppBison.yxx" +#line 981 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = 0; } -#line 4528 "built/tmp/cppBison.yxx.c" +#line 4491 "built/tmp/cppBison.yxx.c" break; case 46: /* storage_class: KW_CONST storage_class */ -#line 983 "dtool/src/cppparser/cppBison.yxx" +#line 985 "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 4537 "built/tmp/cppBison.yxx.c" +#line 4500 "built/tmp/cppBison.yxx.c" break; case 47: /* storage_class: KW_EXTERN storage_class */ -#line 988 "dtool/src/cppparser/cppBison.yxx" +#line 990 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern; } -#line 4545 "built/tmp/cppBison.yxx.c" +#line 4508 "built/tmp/cppBison.yxx.c" break; case 48: /* storage_class: KW_EXTERN SIMPLE_STRING storage_class */ -#line 992 "dtool/src/cppparser/cppBison.yxx" +#line 994 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern; if ((yyvsp[-1].str) == "C") { @@ -4556,43 +4519,43 @@ yyreduce: yywarning("Ignoring unknown linkage type \"" + (yyvsp[-1].str) + "\"", (yylsp[-1])); } } -#line 4560 "built/tmp/cppBison.yxx.c" +#line 4523 "built/tmp/cppBison.yxx.c" break; case 49: /* storage_class: KW_STATIC storage_class */ -#line 1003 "dtool/src/cppparser/cppBison.yxx" +#line 1005 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_static; } -#line 4568 "built/tmp/cppBison.yxx.c" +#line 4531 "built/tmp/cppBison.yxx.c" break; case 50: /* storage_class: KW_INLINE storage_class */ -#line 1007 "dtool/src/cppparser/cppBison.yxx" +#line 1009 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_inline; } -#line 4576 "built/tmp/cppBison.yxx.c" +#line 4539 "built/tmp/cppBison.yxx.c" break; case 51: /* storage_class: KW_VIRTUAL storage_class */ -#line 1011 "dtool/src/cppparser/cppBison.yxx" +#line 1013 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_virtual; } -#line 4584 "built/tmp/cppBison.yxx.c" +#line 4547 "built/tmp/cppBison.yxx.c" break; case 52: /* storage_class: KW_EXPLICIT storage_class */ -#line 1015 "dtool/src/cppparser/cppBison.yxx" +#line 1017 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_explicit; } -#line 4592 "built/tmp/cppBison.yxx.c" +#line 4555 "built/tmp/cppBison.yxx.c" break; case 53: /* storage_class: KW_EXPLICIT_LPAREN const_expr ')' storage_class */ -#line 1019 "dtool/src/cppparser/cppBison.yxx" +#line 1021 "dtool/src/cppparser/cppBison.yxx" { CPPExpression::Result result = (yyvsp[-2].u.expr)->evaluate(); if (result._type == CPPExpression::RT_error) { @@ -4601,100 +4564,100 @@ yyreduce: (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_explicit; } } -#line 4605 "built/tmp/cppBison.yxx.c" +#line 4568 "built/tmp/cppBison.yxx.c" break; case 54: /* storage_class: KW_REGISTER storage_class */ -#line 1028 "dtool/src/cppparser/cppBison.yxx" +#line 1030 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_register; } -#line 4613 "built/tmp/cppBison.yxx.c" +#line 4576 "built/tmp/cppBison.yxx.c" break; case 55: /* storage_class: KW_VOLATILE storage_class */ -#line 1032 "dtool/src/cppparser/cppBison.yxx" +#line 1034 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_volatile; } -#line 4621 "built/tmp/cppBison.yxx.c" +#line 4584 "built/tmp/cppBison.yxx.c" break; case 56: /* storage_class: KW_MUTABLE storage_class */ -#line 1036 "dtool/src/cppparser/cppBison.yxx" +#line 1038 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_mutable; } -#line 4629 "built/tmp/cppBison.yxx.c" +#line 4592 "built/tmp/cppBison.yxx.c" break; case 57: /* storage_class: KW_CONSTEVAL storage_class */ -#line 1040 "dtool/src/cppparser/cppBison.yxx" +#line 1042 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_consteval; } -#line 4637 "built/tmp/cppBison.yxx.c" +#line 4600 "built/tmp/cppBison.yxx.c" break; case 58: /* storage_class: KW_CONSTEXPR storage_class */ -#line 1044 "dtool/src/cppparser/cppBison.yxx" +#line 1046 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_constexpr; } -#line 4645 "built/tmp/cppBison.yxx.c" +#line 4608 "built/tmp/cppBison.yxx.c" break; case 59: /* storage_class: KW_CONSTINIT storage_class */ -#line 1048 "dtool/src/cppparser/cppBison.yxx" +#line 1050 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_constinit; } -#line 4653 "built/tmp/cppBison.yxx.c" +#line 4616 "built/tmp/cppBison.yxx.c" break; case 60: /* storage_class: KW_BLOCKING storage_class */ -#line 1052 "dtool/src/cppparser/cppBison.yxx" +#line 1054 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_blocking; } -#line 4661 "built/tmp/cppBison.yxx.c" +#line 4624 "built/tmp/cppBison.yxx.c" break; case 61: /* storage_class: KW_EXTENSION storage_class */ -#line 1056 "dtool/src/cppparser/cppBison.yxx" +#line 1058 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extension; } -#line 4669 "built/tmp/cppBison.yxx.c" +#line 4632 "built/tmp/cppBison.yxx.c" break; case 62: /* storage_class: KW_THREAD_LOCAL storage_class */ -#line 1060 "dtool/src/cppparser/cppBison.yxx" +#line 1062 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_thread_local; } -#line 4677 "built/tmp/cppBison.yxx.c" +#line 4640 "built/tmp/cppBison.yxx.c" break; case 63: /* optional_attributes: empty */ -#line 1067 "dtool/src/cppparser/cppBison.yxx" +#line 1069 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = CPPAttributeList(); } -#line 4685 "built/tmp/cppBison.yxx.c" +#line 4648 "built/tmp/cppBison.yxx.c" break; case 64: /* optional_attributes: ATTR_LEFT attribute_specifiers ATTR_RIGHT optional_attributes */ -#line 1071 "dtool/src/cppparser/cppBison.yxx" +#line 1073 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = (yyvsp[-2].attr_list); (yyval.attr_list).add_attributes_from((yyvsp[0].attr_list)); } -#line 4694 "built/tmp/cppBison.yxx.c" +#line 4657 "built/tmp/cppBison.yxx.c" break; case 65: /* optional_attributes: ATTR_LEFT KW_USING name ':' attribute_specifiers ATTR_RIGHT optional_attributes */ -#line 1076 "dtool/src/cppparser/cppBison.yxx" +#line 1078 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = (yyvsp[-2].attr_list); for (CPPAttributeList::Attribute &attr : (yyval.attr_list)._attributes) { @@ -4702,64 +4665,64 @@ yyreduce: } (yyval.attr_list).add_attributes_from((yyvsp[0].attr_list)); } -#line 4706 "built/tmp/cppBison.yxx.c" +#line 4669 "built/tmp/cppBison.yxx.c" break; case 66: /* optional_attributes: KW_ALIGNAS '(' const_expr ')' optional_attributes */ -#line 1084 "dtool/src/cppparser/cppBison.yxx" +#line 1086 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = (yyvsp[0].attr_list); (yyval.attr_list).add_alignas((yyvsp[-2].u.expr)->as_expression()); } -#line 4715 "built/tmp/cppBison.yxx.c" +#line 4678 "built/tmp/cppBison.yxx.c" break; case 67: /* optional_attributes: KW_ALIGNAS '(' type_decl ')' optional_attributes */ -#line 1089 "dtool/src/cppparser/cppBison.yxx" +#line 1091 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = (yyvsp[0].attr_list); (yyval.attr_list).add_alignas((yyvsp[-2].u.decl)->as_type()); } -#line 4724 "built/tmp/cppBison.yxx.c" +#line 4687 "built/tmp/cppBison.yxx.c" break; case 68: /* attribute_specifiers: attribute_specifier */ -#line 1097 "dtool/src/cppparser/cppBison.yxx" +#line 1099 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = (yyvsp[0].attr_list); } -#line 4732 "built/tmp/cppBison.yxx.c" +#line 4695 "built/tmp/cppBison.yxx.c" break; case 69: /* attribute_specifiers: attribute_specifier ',' attribute_specifiers */ -#line 1101 "dtool/src/cppparser/cppBison.yxx" +#line 1103 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = (yyvsp[-2].attr_list); (yyval.attr_list).add_attributes_from((yyvsp[0].attr_list)); } -#line 4741 "built/tmp/cppBison.yxx.c" +#line 4704 "built/tmp/cppBison.yxx.c" break; case 70: /* attribute_specifier: name */ -#line 1109 "dtool/src/cppparser/cppBison.yxx" +#line 1111 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = CPPAttributeList(); (yyval.attr_list).add_attribute((yyvsp[0].u.identifier)); } -#line 4750 "built/tmp/cppBison.yxx.c" +#line 4713 "built/tmp/cppBison.yxx.c" break; case 71: /* attribute_specifier: name '(' formal_parameter_list ')' */ -#line 1114 "dtool/src/cppparser/cppBison.yxx" +#line 1116 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = CPPAttributeList(); (yyval.attr_list).add_attribute((yyvsp[-3].u.identifier)); } -#line 4759 "built/tmp/cppBison.yxx.c" +#line 4722 "built/tmp/cppBison.yxx.c" break; case 72: /* $@4: %empty */ -#line 1122 "dtool/src/cppparser/cppBison.yxx" +#line 1124 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // type_like_declaration. @@ -4770,19 +4733,19 @@ yyreduce: } push_storage_class((yyvsp[-1].u.integer)); } -#line 4774 "built/tmp/cppBison.yxx.c" +#line 4737 "built/tmp/cppBison.yxx.c" break; case 73: /* type_like_declaration: storage_class var_type_decl $@4 multiple_instance_identifiers */ -#line 1133 "dtool/src/cppparser/cppBison.yxx" +#line 1135 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } -#line 4782 "built/tmp/cppBison.yxx.c" +#line 4745 "built/tmp/cppBison.yxx.c" break; case 74: /* type_like_declaration: storage_class type_decl ';' */ -#line 1138 "dtool/src/cppparser/cppBison.yxx" +#line 1140 "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 @@ -4791,11 +4754,11 @@ yyreduce: current_scope->add_declaration((yyvsp[-1].u.decl), global_scope, current_lexer, (yylsp[-1])); } -#line 4795 "built/tmp/cppBison.yxx.c" +#line 4758 "built/tmp/cppBison.yxx.c" break; case 75: /* $@5: %empty */ -#line 1147 "dtool/src/cppparser/cppBison.yxx" +#line 1149 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[0].u.instance) != nullptr) { // Push the scope so that the initializers can make use of things defined @@ -4804,11 +4767,11 @@ yyreduce: (yyvsp[0].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-1].u.integer)); } } -#line 4808 "built/tmp/cppBison.yxx.c" +#line 4771 "built/tmp/cppBison.yxx.c" break; case 76: /* type_like_declaration: storage_class constructor_prototype $@5 maybe_initialize_or_constructor_body */ -#line 1156 "dtool/src/cppparser/cppBison.yxx" +#line 1158 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-2].u.instance) != nullptr) { pop_scope(); @@ -4816,11 +4779,11 @@ yyreduce: (yyvsp[-2].u.instance)->set_initializer((yyvsp[0].u.expr)); } } -#line 4820 "built/tmp/cppBison.yxx.c" +#line 4783 "built/tmp/cppBison.yxx.c" break; case 77: /* type_like_declaration: storage_class function_prototype maybe_initialize_or_function_body */ -#line 1164 "dtool/src/cppparser/cppBison.yxx" +#line 1166 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-1].u.instance) != nullptr) { (yyvsp[-1].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-2].u.integer)); @@ -4828,11 +4791,11 @@ yyreduce: (yyvsp[-1].u.instance)->set_initializer((yyvsp[0].u.expr)); } } -#line 4832 "built/tmp/cppBison.yxx.c" +#line 4795 "built/tmp/cppBison.yxx.c" break; case 79: /* multiple_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize_or_function_body */ -#line 1180 "dtool/src/cppparser/cppBison.yxx" +#line 1182 "dtool/src/cppparser/cppBison.yxx" { if (current_storage_class & CPPInstance::SC_const) { (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); @@ -4844,11 +4807,11 @@ yyreduce: inst->set_initializer((yyvsp[0].u.expr)); current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-1])); } -#line 4848 "built/tmp/cppBison.yxx.c" +#line 4811 "built/tmp/cppBison.yxx.c" break; case 80: /* multiple_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize ',' multiple_instance_identifiers */ -#line 1192 "dtool/src/cppparser/cppBison.yxx" +#line 1194 "dtool/src/cppparser/cppBison.yxx" { if (current_storage_class & CPPInstance::SC_const) { (yyvsp[-3].u.inst_ident)->add_modifier(IIT_const); @@ -4860,11 +4823,11 @@ yyreduce: inst->set_initializer((yyvsp[-2].u.expr)); current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-3])); } -#line 4864 "built/tmp/cppBison.yxx.c" +#line 4827 "built/tmp/cppBison.yxx.c" break; case 81: /* $@6: %empty */ -#line 1208 "dtool/src/cppparser/cppBison.yxx" +#line 1210 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -4875,19 +4838,19 @@ yyreduce: } push_storage_class((yyvsp[-1].u.integer)); } -#line 4879 "built/tmp/cppBison.yxx.c" +#line 4842 "built/tmp/cppBison.yxx.c" break; case 82: /* typedef_declaration: storage_class var_type_decl $@6 typedef_instance_identifiers */ -#line 1219 "dtool/src/cppparser/cppBison.yxx" +#line 1221 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } -#line 4887 "built/tmp/cppBison.yxx.c" +#line 4850 "built/tmp/cppBison.yxx.c" break; case 83: /* typedef_declaration: storage_class function_prototype maybe_initialize_or_function_body */ -#line 1223 "dtool/src/cppparser/cppBison.yxx" +#line 1225 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-1].u.instance) != nullptr) { CPPInstance *inst = (yyvsp[-1].u.instance)->as_instance(); @@ -4899,11 +4862,11 @@ yyreduce: } } } -#line 4903 "built/tmp/cppBison.yxx.c" +#line 4866 "built/tmp/cppBison.yxx.c" break; case 84: /* typedef_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize_or_function_body */ -#line 1238 "dtool/src/cppparser/cppBison.yxx" +#line 1240 "dtool/src/cppparser/cppBison.yxx" { if (current_storage_class & CPPInstance::SC_const) { (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); @@ -4913,11 +4876,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 4917 "built/tmp/cppBison.yxx.c" +#line 4880 "built/tmp/cppBison.yxx.c" break; case 85: /* typedef_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize ',' typedef_instance_identifiers */ -#line 1248 "dtool/src/cppparser/cppBison.yxx" +#line 1250 "dtool/src/cppparser/cppBison.yxx" { if (current_storage_class & CPPInstance::SC_const) { (yyvsp[-3].u.inst_ident)->add_modifier(IIT_const); @@ -4927,11 +4890,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 4931 "built/tmp/cppBison.yxx.c" +#line 4894 "built/tmp/cppBison.yxx.c" break; case 86: /* $@7: %empty */ -#line 1263 "dtool/src/cppparser/cppBison.yxx" +#line 1265 "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), @@ -4944,11 +4907,11 @@ yyreduce: push_scope(scope); } -#line 4948 "built/tmp/cppBison.yxx.c" +#line 4911 "built/tmp/cppBison.yxx.c" break; case 87: /* constructor_prototype: IDENTIFIER '(' $@7 function_parameter_list ')' function_post optional_attributes */ -#line 1276 "dtool/src/cppparser/cppBison.yxx" +#line 1278 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-6].u.identifier)->get_scope(current_scope, global_scope); CPPType *type; @@ -4975,11 +4938,11 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-6]).file); } -#line 4979 "built/tmp/cppBison.yxx.c" +#line 4942 "built/tmp/cppBison.yxx.c" break; case 88: /* $@8: %empty */ -#line 1305 "dtool/src/cppparser/cppBison.yxx" +#line 1307 "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), @@ -4992,11 +4955,11 @@ yyreduce: push_scope(scope); } -#line 4996 "built/tmp/cppBison.yxx.c" +#line 4959 "built/tmp/cppBison.yxx.c" break; case 89: /* constructor_prototype: TYPENAME_IDENTIFIER '(' IDENTIFIER ')' '(' $@8 function_parameter_list ')' function_post optional_attributes */ -#line 1318 "dtool/src/cppparser/cppBison.yxx" +#line 1320 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[-9].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -5011,11 +4974,11 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-9]).file); } -#line 5015 "built/tmp/cppBison.yxx.c" +#line 4978 "built/tmp/cppBison.yxx.c" break; case 90: /* $@9: %empty */ -#line 1333 "dtool/src/cppparser/cppBison.yxx" +#line 1335 "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), @@ -5028,11 +4991,11 @@ yyreduce: push_scope(scope); } -#line 5032 "built/tmp/cppBison.yxx.c" +#line 4995 "built/tmp/cppBison.yxx.c" break; case 91: /* constructor_prototype: TYPENAME_IDENTIFIER '(' $@9 function_parameter_list ')' function_post optional_attributes */ -#line 1346 "dtool/src/cppparser/cppBison.yxx" +#line 1348 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type; @@ -5051,19 +5014,19 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-6]).file); } -#line 5055 "built/tmp/cppBison.yxx.c" +#line 5018 "built/tmp/cppBison.yxx.c" break; case 92: /* $@10: %empty */ -#line 1370 "dtool/src/cppparser/cppBison.yxx" +#line 1372 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope)); } -#line 5063 "built/tmp/cppBison.yxx.c" +#line 5026 "built/tmp/cppBison.yxx.c" break; case 93: /* function_prototype: '~' name '(' $@10 function_parameter_list ')' function_post optional_attributes */ -#line 1374 "dtool/src/cppparser/cppBison.yxx" +#line 1376 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); if ((yyvsp[-6].u.identifier)->is_scoped()) { @@ -5083,19 +5046,19 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-6]).file); } } -#line 5087 "built/tmp/cppBison.yxx.c" +#line 5050 "built/tmp/cppBison.yxx.c" break; case 94: /* $@11: %empty */ -#line 1401 "dtool/src/cppparser/cppBison.yxx" +#line 1403 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope)); } -#line 5095 "built/tmp/cppBison.yxx.c" +#line 5058 "built/tmp/cppBison.yxx.c" break; case 95: /* function_prototype: TYPENAME_IDENTIFIER '(' '*' instance_identifier ')' '(' $@11 function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ -#line 1405 "dtool/src/cppparser/cppBison.yxx" +#line 1407 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[-11].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -5110,19 +5073,19 @@ yyreduce: ii->add_attributes(current_attributes); (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-11]).file); } -#line 5114 "built/tmp/cppBison.yxx.c" +#line 5077 "built/tmp/cppBison.yxx.c" break; case 96: /* $@12: %empty */ -#line 1420 "dtool/src/cppparser/cppBison.yxx" +#line 1422 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope)); } -#line 5122 "built/tmp/cppBison.yxx.c" +#line 5085 "built/tmp/cppBison.yxx.c" break; case 97: /* function_prototype: TYPENAME_IDENTIFIER '(' SCOPING '*' instance_identifier ')' '(' $@12 function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ -#line 1424 "dtool/src/cppparser/cppBison.yxx" +#line 1426 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[-12].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -5137,21 +5100,21 @@ yyreduce: ii->add_attributes(current_attributes); (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-12]).file); } -#line 5141 "built/tmp/cppBison.yxx.c" +#line 5104 "built/tmp/cppBison.yxx.c" break; case 98: /* $@13: %empty */ -#line 1441 "dtool/src/cppparser/cppBison.yxx" +#line 1443 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-3].u.identifier) != nullptr) { push_scope((yyvsp[-3].u.identifier)->get_scope(current_scope, global_scope)); } } -#line 5151 "built/tmp/cppBison.yxx.c" +#line 5114 "built/tmp/cppBison.yxx.c" break; case 99: /* function_prototype: KW_OPERATOR type not_paren_formal_parameter_identifier '(' $@13 function_parameter_list ')' function_post */ -#line 1447 "dtool/src/cppparser/cppBison.yxx" +#line 1449 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-7].u.identifier) != nullptr) { pop_scope(); @@ -5177,21 +5140,21 @@ yyreduce: (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)); (yyval.u.instance)->_attributes.add_attributes_from(current_attributes); } -#line 5181 "built/tmp/cppBison.yxx.c" +#line 5144 "built/tmp/cppBison.yxx.c" break; case 100: /* $@14: %empty */ -#line 1473 "dtool/src/cppparser/cppBison.yxx" +#line 1475 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-4].u.identifier) != nullptr) { push_scope((yyvsp[-4].u.identifier)->get_scope(current_scope, global_scope)); } } -#line 5191 "built/tmp/cppBison.yxx.c" +#line 5154 "built/tmp/cppBison.yxx.c" break; case 101: /* function_prototype: KW_OPERATOR KW_CONST type not_paren_formal_parameter_identifier '(' $@14 function_parameter_list ')' function_post */ -#line 1479 "dtool/src/cppparser/cppBison.yxx" +#line 1481 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-8].u.identifier) != nullptr) { pop_scope(); @@ -5208,11 +5171,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 5212 "built/tmp/cppBison.yxx.c" +#line 5175 "built/tmp/cppBison.yxx.c" break; case 102: /* function_prototype: IDENTIFIER */ -#line 1500 "dtool/src/cppparser/cppBison.yxx" +#line 1502 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *decl = (yyvsp[0].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -5222,43 +5185,43 @@ yyreduce: (yyval.u.instance) = nullptr; } } -#line 5226 "built/tmp/cppBison.yxx.c" +#line 5189 "built/tmp/cppBison.yxx.c" break; case 103: /* function_post: empty */ -#line 1513 "dtool/src/cppparser/cppBison.yxx" +#line 1515 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = 0; } -#line 5234 "built/tmp/cppBison.yxx.c" +#line 5197 "built/tmp/cppBison.yxx.c" break; case 104: /* function_post: function_post KW_CONST */ -#line 1517 "dtool/src/cppparser/cppBison.yxx" +#line 1519 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_const_method; } -#line 5242 "built/tmp/cppBison.yxx.c" +#line 5205 "built/tmp/cppBison.yxx.c" break; case 105: /* function_post: function_post KW_VOLATILE */ -#line 1521 "dtool/src/cppparser/cppBison.yxx" +#line 1523 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_volatile_method; } -#line 5250 "built/tmp/cppBison.yxx.c" +#line 5213 "built/tmp/cppBison.yxx.c" break; case 106: /* function_post: function_post KW_NOEXCEPT */ -#line 1525 "dtool/src/cppparser/cppBison.yxx" +#line 1527 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_noexcept; } -#line 5258 "built/tmp/cppBison.yxx.c" +#line 5221 "built/tmp/cppBison.yxx.c" break; case 107: /* function_post: function_post KW_NOEXCEPT_LPAREN const_expr ')' */ -#line 1529 "dtool/src/cppparser/cppBison.yxx" +#line 1531 "dtool/src/cppparser/cppBison.yxx" { CPPExpression::Result result = (yyvsp[-1].u.expr)->evaluate(); if (result._type == CPPExpression::RT_error) { @@ -5267,542 +5230,563 @@ yyreduce: (yyval.u.integer) = (yyvsp[-3].u.integer) | (int)CPPFunctionType::F_noexcept; } } -#line 5271 "built/tmp/cppBison.yxx.c" +#line 5234 "built/tmp/cppBison.yxx.c" break; case 108: /* function_post: function_post KW_FINAL */ -#line 1538 "dtool/src/cppparser/cppBison.yxx" +#line 1540 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_final; } -#line 5279 "built/tmp/cppBison.yxx.c" +#line 5242 "built/tmp/cppBison.yxx.c" break; case 109: /* function_post: function_post KW_OVERRIDE */ -#line 1542 "dtool/src/cppparser/cppBison.yxx" +#line 1544 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_override; } -#line 5287 "built/tmp/cppBison.yxx.c" +#line 5250 "built/tmp/cppBison.yxx.c" break; case 110: /* function_post: function_post '&' */ -#line 1546 "dtool/src/cppparser/cppBison.yxx" +#line 1548 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_lvalue_method; } -#line 5295 "built/tmp/cppBison.yxx.c" +#line 5258 "built/tmp/cppBison.yxx.c" break; case 111: /* function_post: function_post ANDAND */ -#line 1550 "dtool/src/cppparser/cppBison.yxx" +#line 1552 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_rvalue_method; } -#line 5303 "built/tmp/cppBison.yxx.c" +#line 5266 "built/tmp/cppBison.yxx.c" break; case 112: /* function_post: function_post KW_MUTABLE */ -#line 1554 "dtool/src/cppparser/cppBison.yxx" +#line 1556 "dtool/src/cppparser/cppBison.yxx" { // Used for lambdas, currently ignored. (yyval.u.integer) = (yyvsp[-1].u.integer); } -#line 5312 "built/tmp/cppBison.yxx.c" +#line 5275 "built/tmp/cppBison.yxx.c" break; case 113: /* function_post: function_post KW_CONSTEXPR */ -#line 1559 "dtool/src/cppparser/cppBison.yxx" +#line 1561 "dtool/src/cppparser/cppBison.yxx" { // Used for lambdas in C++17, currently ignored. (yyval.u.integer) = (yyvsp[-1].u.integer); } -#line 5321 "built/tmp/cppBison.yxx.c" +#line 5284 "built/tmp/cppBison.yxx.c" break; case 114: /* function_post: function_post KW_THROW '(' ')' */ -#line 1564 "dtool/src/cppparser/cppBison.yxx" +#line 1566 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-3].u.integer); } -#line 5329 "built/tmp/cppBison.yxx.c" +#line 5292 "built/tmp/cppBison.yxx.c" break; case 115: /* function_post: function_post KW_THROW '(' name ')' */ -#line 1568 "dtool/src/cppparser/cppBison.yxx" +#line 1570 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-4].u.integer); } -#line 5337 "built/tmp/cppBison.yxx.c" +#line 5300 "built/tmp/cppBison.yxx.c" break; case 116: /* function_post: function_post KW_THROW '(' name ELLIPSIS ')' */ -#line 1572 "dtool/src/cppparser/cppBison.yxx" +#line 1574 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-5].u.integer); } -#line 5345 "built/tmp/cppBison.yxx.c" +#line 5308 "built/tmp/cppBison.yxx.c" break; case 117: /* function_operator: '!' */ -#line 1579 "dtool/src/cppparser/cppBison.yxx" +#line 1581 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "!"; } -#line 5353 "built/tmp/cppBison.yxx.c" +#line 5316 "built/tmp/cppBison.yxx.c" break; case 118: /* function_operator: '~' */ -#line 1583 "dtool/src/cppparser/cppBison.yxx" +#line 1585 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "~"; } -#line 5361 "built/tmp/cppBison.yxx.c" +#line 5324 "built/tmp/cppBison.yxx.c" break; case 119: /* function_operator: '*' */ -#line 1587 "dtool/src/cppparser/cppBison.yxx" +#line 1589 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "*"; } -#line 5369 "built/tmp/cppBison.yxx.c" +#line 5332 "built/tmp/cppBison.yxx.c" break; case 120: /* function_operator: '/' */ -#line 1591 "dtool/src/cppparser/cppBison.yxx" +#line 1593 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "/"; } -#line 5377 "built/tmp/cppBison.yxx.c" +#line 5340 "built/tmp/cppBison.yxx.c" break; case 121: /* function_operator: '%' */ -#line 1595 "dtool/src/cppparser/cppBison.yxx" +#line 1597 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "%"; } -#line 5385 "built/tmp/cppBison.yxx.c" +#line 5348 "built/tmp/cppBison.yxx.c" break; case 122: /* function_operator: '+' */ -#line 1599 "dtool/src/cppparser/cppBison.yxx" +#line 1601 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "+"; } -#line 5393 "built/tmp/cppBison.yxx.c" +#line 5356 "built/tmp/cppBison.yxx.c" break; case 123: /* function_operator: '-' */ -#line 1603 "dtool/src/cppparser/cppBison.yxx" +#line 1605 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "-"; } -#line 5401 "built/tmp/cppBison.yxx.c" +#line 5364 "built/tmp/cppBison.yxx.c" break; case 124: /* function_operator: '|' */ -#line 1607 "dtool/src/cppparser/cppBison.yxx" +#line 1609 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "|"; } -#line 5409 "built/tmp/cppBison.yxx.c" +#line 5372 "built/tmp/cppBison.yxx.c" break; case 125: /* function_operator: '&' */ -#line 1611 "dtool/src/cppparser/cppBison.yxx" +#line 1613 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&"; } -#line 5417 "built/tmp/cppBison.yxx.c" +#line 5380 "built/tmp/cppBison.yxx.c" break; case 126: /* function_operator: '^' */ -#line 1615 "dtool/src/cppparser/cppBison.yxx" +#line 1617 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "^"; } -#line 5425 "built/tmp/cppBison.yxx.c" +#line 5388 "built/tmp/cppBison.yxx.c" break; case 127: /* function_operator: OROR */ -#line 1619 "dtool/src/cppparser/cppBison.yxx" +#line 1621 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "||"; } -#line 5433 "built/tmp/cppBison.yxx.c" +#line 5396 "built/tmp/cppBison.yxx.c" break; case 128: /* function_operator: ANDAND */ -#line 1623 "dtool/src/cppparser/cppBison.yxx" +#line 1625 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&&"; } -#line 5441 "built/tmp/cppBison.yxx.c" +#line 5404 "built/tmp/cppBison.yxx.c" break; case 129: /* function_operator: EQCOMPARE */ -#line 1627 "dtool/src/cppparser/cppBison.yxx" +#line 1629 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "=="; } -#line 5449 "built/tmp/cppBison.yxx.c" +#line 5412 "built/tmp/cppBison.yxx.c" break; case 130: /* function_operator: NECOMPARE */ -#line 1631 "dtool/src/cppparser/cppBison.yxx" +#line 1633 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "!="; } -#line 5457 "built/tmp/cppBison.yxx.c" +#line 5420 "built/tmp/cppBison.yxx.c" break; case 131: /* function_operator: LECOMPARE */ -#line 1635 "dtool/src/cppparser/cppBison.yxx" +#line 1637 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<="; } -#line 5465 "built/tmp/cppBison.yxx.c" +#line 5428 "built/tmp/cppBison.yxx.c" break; case 132: /* function_operator: GECOMPARE */ -#line 1639 "dtool/src/cppparser/cppBison.yxx" +#line 1641 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">="; } -#line 5473 "built/tmp/cppBison.yxx.c" +#line 5436 "built/tmp/cppBison.yxx.c" break; case 133: /* function_operator: '<' */ -#line 1643 "dtool/src/cppparser/cppBison.yxx" +#line 1645 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<"; } -#line 5481 "built/tmp/cppBison.yxx.c" +#line 5444 "built/tmp/cppBison.yxx.c" break; case 134: /* function_operator: '>' */ -#line 1647 "dtool/src/cppparser/cppBison.yxx" +#line 1649 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">"; } -#line 5489 "built/tmp/cppBison.yxx.c" +#line 5452 "built/tmp/cppBison.yxx.c" break; case 135: /* function_operator: SPACESHIP */ -#line 1651 "dtool/src/cppparser/cppBison.yxx" +#line 1653 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<=>"; } -#line 5497 "built/tmp/cppBison.yxx.c" +#line 5460 "built/tmp/cppBison.yxx.c" break; case 136: /* function_operator: LSHIFT */ -#line 1655 "dtool/src/cppparser/cppBison.yxx" +#line 1657 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<<"; } -#line 5505 "built/tmp/cppBison.yxx.c" +#line 5468 "built/tmp/cppBison.yxx.c" break; case 137: /* function_operator: RSHIFT */ -#line 1659 "dtool/src/cppparser/cppBison.yxx" +#line 1661 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">>"; } -#line 5513 "built/tmp/cppBison.yxx.c" +#line 5476 "built/tmp/cppBison.yxx.c" break; case 138: /* function_operator: '=' */ -#line 1663 "dtool/src/cppparser/cppBison.yxx" +#line 1665 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "="; } -#line 5521 "built/tmp/cppBison.yxx.c" +#line 5484 "built/tmp/cppBison.yxx.c" break; case 139: /* function_operator: ',' */ -#line 1667 "dtool/src/cppparser/cppBison.yxx" +#line 1669 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ","; } -#line 5529 "built/tmp/cppBison.yxx.c" +#line 5492 "built/tmp/cppBison.yxx.c" break; case 140: /* function_operator: PLUSPLUS */ -#line 1671 "dtool/src/cppparser/cppBison.yxx" +#line 1673 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "++"; } -#line 5537 "built/tmp/cppBison.yxx.c" +#line 5500 "built/tmp/cppBison.yxx.c" break; case 141: /* function_operator: MINUSMINUS */ -#line 1675 "dtool/src/cppparser/cppBison.yxx" +#line 1677 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "--"; } -#line 5545 "built/tmp/cppBison.yxx.c" +#line 5508 "built/tmp/cppBison.yxx.c" break; case 142: /* function_operator: TIMESEQUAL */ -#line 1679 "dtool/src/cppparser/cppBison.yxx" +#line 1681 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "*="; } -#line 5553 "built/tmp/cppBison.yxx.c" +#line 5516 "built/tmp/cppBison.yxx.c" break; case 143: /* function_operator: DIVIDEEQUAL */ -#line 1683 "dtool/src/cppparser/cppBison.yxx" +#line 1685 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "/="; } -#line 5561 "built/tmp/cppBison.yxx.c" +#line 5524 "built/tmp/cppBison.yxx.c" break; case 144: /* function_operator: MODEQUAL */ -#line 1687 "dtool/src/cppparser/cppBison.yxx" +#line 1689 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "%="; } -#line 5569 "built/tmp/cppBison.yxx.c" +#line 5532 "built/tmp/cppBison.yxx.c" break; case 145: /* function_operator: PLUSEQUAL */ -#line 1691 "dtool/src/cppparser/cppBison.yxx" +#line 1693 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "+="; } -#line 5577 "built/tmp/cppBison.yxx.c" +#line 5540 "built/tmp/cppBison.yxx.c" break; case 146: /* function_operator: MINUSEQUAL */ -#line 1695 "dtool/src/cppparser/cppBison.yxx" +#line 1697 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "-="; } -#line 5585 "built/tmp/cppBison.yxx.c" +#line 5548 "built/tmp/cppBison.yxx.c" break; case 147: /* function_operator: OREQUAL */ -#line 1699 "dtool/src/cppparser/cppBison.yxx" +#line 1701 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "|="; } -#line 5593 "built/tmp/cppBison.yxx.c" +#line 5556 "built/tmp/cppBison.yxx.c" break; case 148: /* function_operator: ANDEQUAL */ -#line 1703 "dtool/src/cppparser/cppBison.yxx" +#line 1705 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&="; } -#line 5601 "built/tmp/cppBison.yxx.c" +#line 5564 "built/tmp/cppBison.yxx.c" break; case 149: /* function_operator: XOREQUAL */ -#line 1707 "dtool/src/cppparser/cppBison.yxx" +#line 1709 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "^="; } -#line 5609 "built/tmp/cppBison.yxx.c" +#line 5572 "built/tmp/cppBison.yxx.c" break; case 150: /* function_operator: LSHIFTEQUAL */ -#line 1711 "dtool/src/cppparser/cppBison.yxx" +#line 1713 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<<="; } -#line 5617 "built/tmp/cppBison.yxx.c" +#line 5580 "built/tmp/cppBison.yxx.c" break; case 151: /* function_operator: RSHIFTEQUAL */ -#line 1715 "dtool/src/cppparser/cppBison.yxx" +#line 1717 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">>="; } -#line 5625 "built/tmp/cppBison.yxx.c" +#line 5588 "built/tmp/cppBison.yxx.c" break; case 152: /* function_operator: POINTSAT */ -#line 1719 "dtool/src/cppparser/cppBison.yxx" +#line 1721 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "->"; } -#line 5633 "built/tmp/cppBison.yxx.c" +#line 5596 "built/tmp/cppBison.yxx.c" break; case 153: /* function_operator: '[' ']' */ -#line 1723 "dtool/src/cppparser/cppBison.yxx" +#line 1725 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "[]"; } -#line 5641 "built/tmp/cppBison.yxx.c" +#line 5604 "built/tmp/cppBison.yxx.c" break; case 154: /* function_operator: '(' ')' */ -#line 1727 "dtool/src/cppparser/cppBison.yxx" +#line 1729 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "()"; } -#line 5649 "built/tmp/cppBison.yxx.c" +#line 5612 "built/tmp/cppBison.yxx.c" break; case 155: /* function_operator: KW_NEW */ -#line 1731 "dtool/src/cppparser/cppBison.yxx" +#line 1733 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "new"; } -#line 5657 "built/tmp/cppBison.yxx.c" +#line 5620 "built/tmp/cppBison.yxx.c" break; case 156: /* function_operator: KW_DELETE */ -#line 1735 "dtool/src/cppparser/cppBison.yxx" +#line 1737 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "delete"; } -#line 5665 "built/tmp/cppBison.yxx.c" +#line 5628 "built/tmp/cppBison.yxx.c" break; case 161: /* $@15: %empty */ -#line 1749 "dtool/src/cppparser/cppBison.yxx" +#line 1751 "dtool/src/cppparser/cppBison.yxx" { push_scope(new CPPTemplateScope(current_scope)); } -#line 5673 "built/tmp/cppBison.yxx.c" +#line 5636 "built/tmp/cppBison.yxx.c" break; case 162: /* template_declaration: KW_TEMPLATE $@15 '<' template_formal_parameters '>' more_template_declaration */ -#line 1753 "dtool/src/cppparser/cppBison.yxx" +#line 1755 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 5681 "built/tmp/cppBison.yxx.c" +#line 5644 "built/tmp/cppBison.yxx.c" break; case 167: /* template_nonempty_formal_parameters: template_formal_parameter */ -#line 1767 "dtool/src/cppparser/cppBison.yxx" +#line 1769 "dtool/src/cppparser/cppBison.yxx" { CPPTemplateScope *ts = current_scope->as_template_scope(); assert(ts != nullptr); ts->add_template_parameter((yyvsp[0].u.decl)); } -#line 5691 "built/tmp/cppBison.yxx.c" +#line 5654 "built/tmp/cppBison.yxx.c" break; case 168: /* template_nonempty_formal_parameters: template_nonempty_formal_parameters ',' template_formal_parameter */ -#line 1773 "dtool/src/cppparser/cppBison.yxx" +#line 1775 "dtool/src/cppparser/cppBison.yxx" { CPPTemplateScope *ts = current_scope->as_template_scope(); assert(ts != nullptr); ts->add_template_parameter((yyvsp[0].u.decl)); } -#line 5701 "built/tmp/cppBison.yxx.c" +#line 5664 "built/tmp/cppBison.yxx.c" break; case 171: /* template_formal_parameter: typename_keyword */ -#line 1787 "dtool/src/cppparser/cppBison.yxx" +#line 1789 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter(nullptr)); } -#line 5709 "built/tmp/cppBison.yxx.c" +#line 5672 "built/tmp/cppBison.yxx.c" break; case 172: /* template_formal_parameter: typename_keyword name */ -#line 1791 "dtool/src/cppparser/cppBison.yxx" +#line 1793 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[0].u.identifier))); } -#line 5717 "built/tmp/cppBison.yxx.c" +#line 5680 "built/tmp/cppBison.yxx.c" break; case 173: /* template_formal_parameter: typename_keyword name '=' full_type */ -#line 1795 "dtool/src/cppparser/cppBison.yxx" +#line 1797 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[-2].u.identifier), (yyvsp[0].u.type))); } -#line 5725 "built/tmp/cppBison.yxx.c" +#line 5688 "built/tmp/cppBison.yxx.c" break; case 174: /* template_formal_parameter: typename_keyword ELLIPSIS */ -#line 1799 "dtool/src/cppparser/cppBison.yxx" +#line 1801 "dtool/src/cppparser/cppBison.yxx" { CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter(nullptr); ctp->_packed = true; (yyval.u.decl) = CPPType::new_type(ctp); } -#line 5735 "built/tmp/cppBison.yxx.c" +#line 5698 "built/tmp/cppBison.yxx.c" break; case 175: /* template_formal_parameter: typename_keyword ELLIPSIS name */ -#line 1805 "dtool/src/cppparser/cppBison.yxx" +#line 1807 "dtool/src/cppparser/cppBison.yxx" { CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter((yyvsp[0].u.identifier)); ctp->_packed = true; (yyval.u.decl) = CPPType::new_type(ctp); } -#line 5745 "built/tmp/cppBison.yxx.c" +#line 5708 "built/tmp/cppBison.yxx.c" break; case 176: /* template_formal_parameter: template_formal_parameter_type formal_parameter_identifier template_parameter_maybe_initialize */ -#line 1811 "dtool/src/cppparser/cppBison.yxx" +#line 1813 "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 5755 "built/tmp/cppBison.yxx.c" +#line 5718 "built/tmp/cppBison.yxx.c" break; case 177: /* template_formal_parameter: KW_CONST template_formal_parameter_type formal_parameter_identifier template_parameter_maybe_initialize */ -#line 1817 "dtool/src/cppparser/cppBison.yxx" +#line 1819 "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 5766 "built/tmp/cppBison.yxx.c" +#line 5729 "built/tmp/cppBison.yxx.c" break; case 178: /* template_formal_parameter: template_formal_parameter_type parameter_pack_identifier */ -#line 1824 "dtool/src/cppparser/cppBison.yxx" +#line 1826 "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 5775 "built/tmp/cppBison.yxx.c" +#line 5738 "built/tmp/cppBison.yxx.c" break; case 179: /* template_formal_parameter: KW_CONST template_formal_parameter_type parameter_pack_identifier */ -#line 1829 "dtool/src/cppparser/cppBison.yxx" +#line 1831 "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 5785 "built/tmp/cppBison.yxx.c" +#line 5748 "built/tmp/cppBison.yxx.c" break; - case 180: /* template_formal_parameter_type: simple_type */ -#line 1838 "dtool/src/cppparser/cppBison.yxx" + case 180: /* template_formal_parameter: KW_VOLATILE template_formal_parameter_type formal_parameter_identifier template_parameter_maybe_initialize */ +#line 1837 "dtool/src/cppparser/cppBison.yxx" +{ + (yyvsp[-1].u.inst_ident)->add_modifier(IIT_volatile); + 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 5759 "built/tmp/cppBison.yxx.c" + break; + + case 181: /* template_formal_parameter: KW_VOLATILE template_formal_parameter_type parameter_pack_identifier */ +#line 1844 "dtool/src/cppparser/cppBison.yxx" +{ + (yyvsp[0].u.inst_ident)->add_modifier(IIT_volatile); + CPPInstance *inst = new CPPInstance((yyvsp[-1].u.type), (yyvsp[0].u.inst_ident), 0, (yylsp[0]).file); + (yyval.u.decl) = inst; +} +#line 5769 "built/tmp/cppBison.yxx.c" + break; + + case 182: /* template_formal_parameter_type: simple_type */ +#line 1853 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 5793 "built/tmp/cppBison.yxx.c" +#line 5777 "built/tmp/cppBison.yxx.c" break; - case 181: /* template_formal_parameter_type: IDENTIFIER */ -#line 1842 "dtool/src/cppparser/cppBison.yxx" + case 183: /* template_formal_parameter_type: IDENTIFIER */ +#line 1857 "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 5802 "built/tmp/cppBison.yxx.c" +#line 5786 "built/tmp/cppBison.yxx.c" break; - case 182: /* template_formal_parameter_type: TYPENAME_IDENTIFIER */ -#line 1847 "dtool/src/cppparser/cppBison.yxx" + case 184: /* template_formal_parameter_type: TYPENAME_IDENTIFIER */ +#line 1862 "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) { @@ -5810,11 +5794,11 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 5814 "built/tmp/cppBison.yxx.c" +#line 5798 "built/tmp/cppBison.yxx.c" break; - case 183: /* template_formal_parameter_type: TYPEPACK_IDENTIFIER */ -#line 1855 "dtool/src/cppparser/cppBison.yxx" + case 185: /* template_formal_parameter_type: TYPEPACK_IDENTIFIER */ +#line 1870 "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) { @@ -5822,19 +5806,19 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 5826 "built/tmp/cppBison.yxx.c" +#line 5810 "built/tmp/cppBison.yxx.c" break; - case 184: /* instance_identifier: name_no_final optional_attributes */ -#line 1867 "dtool/src/cppparser/cppBison.yxx" + case 186: /* instance_identifier: name_no_final optional_attributes */ +#line 1882 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); } -#line 5834 "built/tmp/cppBison.yxx.c" +#line 5818 "built/tmp/cppBison.yxx.c" break; - case 185: /* instance_identifier: KW_OPERATOR function_operator optional_attributes */ -#line 1871 "dtool/src/cppparser/cppBison.yxx" + case 187: /* instance_identifier: KW_OPERATOR function_operator optional_attributes */ +#line 1886 "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 @@ -5848,11 +5832,11 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident, (yyvsp[0].attr_list)); } -#line 5852 "built/tmp/cppBison.yxx.c" +#line 5836 "built/tmp/cppBison.yxx.c" break; - case 186: /* instance_identifier: KW_OPERATOR SIMPLE_STRING IDENTIFIER optional_attributes */ -#line 1885 "dtool/src/cppparser/cppBison.yxx" + case 188: /* instance_identifier: KW_OPERATOR SIMPLE_STRING IDENTIFIER optional_attributes */ +#line 1900 "dtool/src/cppparser/cppBison.yxx" { // A C++11 literal operator. if (!(yyvsp[-2].str).empty()) { @@ -5867,83 +5851,83 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident, (yyvsp[0].attr_list)); } -#line 5871 "built/tmp/cppBison.yxx.c" +#line 5855 "built/tmp/cppBison.yxx.c" break; - case 187: /* instance_identifier: KW_CONST instance_identifier */ -#line 1900 "dtool/src/cppparser/cppBison.yxx" + case 189: /* instance_identifier: KW_CONST instance_identifier */ +#line 1915 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 5880 "built/tmp/cppBison.yxx.c" +#line 5864 "built/tmp/cppBison.yxx.c" break; - case 188: /* instance_identifier: KW_VOLATILE instance_identifier */ -#line 1905 "dtool/src/cppparser/cppBison.yxx" + case 190: /* instance_identifier: KW_VOLATILE instance_identifier */ +#line 1920 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 5889 "built/tmp/cppBison.yxx.c" +#line 5873 "built/tmp/cppBison.yxx.c" break; - case 189: /* instance_identifier: '*' optional_attributes instance_identifier */ -#line 1910 "dtool/src/cppparser/cppBison.yxx" + case 191: /* instance_identifier: '*' optional_attributes instance_identifier */ +#line 1925 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-1].attr_list)); } -#line 5898 "built/tmp/cppBison.yxx.c" +#line 5882 "built/tmp/cppBison.yxx.c" break; - case 190: /* instance_identifier: '&' optional_attributes instance_identifier */ -#line 1915 "dtool/src/cppparser/cppBison.yxx" + case 192: /* instance_identifier: '&' optional_attributes instance_identifier */ +#line 1930 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-1].attr_list)); } -#line 5907 "built/tmp/cppBison.yxx.c" +#line 5891 "built/tmp/cppBison.yxx.c" break; - case 191: /* instance_identifier: ANDAND optional_attributes instance_identifier */ -#line 1920 "dtool/src/cppparser/cppBison.yxx" + case 193: /* instance_identifier: ANDAND optional_attributes instance_identifier */ +#line 1935 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-1].attr_list)); } -#line 5916 "built/tmp/cppBison.yxx.c" +#line 5900 "built/tmp/cppBison.yxx.c" break; - case 192: /* instance_identifier: SCOPING '*' optional_attributes instance_identifier */ -#line 1925 "dtool/src/cppparser/cppBison.yxx" + case 194: /* instance_identifier: SCOPING '*' optional_attributes instance_identifier */ +#line 1940 "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), (yyvsp[-1].attr_list)); } -#line 5925 "built/tmp/cppBison.yxx.c" +#line 5909 "built/tmp/cppBison.yxx.c" break; - case 193: /* instance_identifier: instance_identifier '[' optional_const_expr ']' optional_attributes */ -#line 1930 "dtool/src/cppparser/cppBison.yxx" + case 195: /* instance_identifier: instance_identifier '[' optional_const_expr ']' optional_attributes */ +#line 1945 "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), (yyvsp[0].attr_list)); } -#line 5934 "built/tmp/cppBison.yxx.c" +#line 5918 "built/tmp/cppBison.yxx.c" break; - case 194: /* instance_identifier: '(' instance_identifier ')' */ -#line 1935 "dtool/src/cppparser/cppBison.yxx" + case 196: /* instance_identifier: '(' instance_identifier ')' */ +#line 1950 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 5943 "built/tmp/cppBison.yxx.c" +#line 5927 "built/tmp/cppBison.yxx.c" break; - case 195: /* $@16: %empty */ -#line 1940 "dtool/src/cppparser/cppBison.yxx" + case 197: /* $@16: %empty */ +#line 1955 "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), @@ -5956,11 +5940,11 @@ yyreduce: push_scope(scope); } -#line 5960 "built/tmp/cppBison.yxx.c" +#line 5944 "built/tmp/cppBison.yxx.c" break; - case 196: /* instance_identifier: instance_identifier '(' $@16 formal_parameter_list ')' function_post optional_attributes */ -#line 1953 "dtool/src/cppparser/cppBison.yxx" + case 198: /* instance_identifier: instance_identifier '(' $@16 formal_parameter_list ')' function_post optional_attributes */ +#line 1968 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident); @@ -5974,11 +5958,11 @@ yyreduce: (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), nullptr, (yyvsp[0].attr_list)); } } -#line 5978 "built/tmp/cppBison.yxx.c" +#line 5962 "built/tmp/cppBison.yxx.c" break; - case 197: /* instance_identifier_and_maybe_trailing_return_type: instance_identifier maybe_trailing_return_type */ -#line 1971 "dtool/src/cppparser/cppBison.yxx" + case 199: /* instance_identifier_and_maybe_trailing_return_type: instance_identifier maybe_trailing_return_type */ +#line 1986 "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 @@ -5988,909 +5972,913 @@ yyreduce: } (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); } -#line 5992 "built/tmp/cppBison.yxx.c" +#line 5976 "built/tmp/cppBison.yxx.c" break; - case 198: /* instance_identifier_and_maybe_trailing_return_type: instance_identifier ':' const_expr */ -#line 1981 "dtool/src/cppparser/cppBison.yxx" + case 200: /* instance_identifier_and_maybe_trailing_return_type: instance_identifier ':' const_expr */ +#line 1996 "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 6002 "built/tmp/cppBison.yxx.c" +#line 5986 "built/tmp/cppBison.yxx.c" break; - case 199: /* maybe_trailing_return_type: empty */ -#line 1991 "dtool/src/cppparser/cppBison.yxx" + case 201: /* maybe_trailing_return_type: empty */ +#line 2006 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = nullptr; } -#line 6010 "built/tmp/cppBison.yxx.c" +#line 5994 "built/tmp/cppBison.yxx.c" break; - case 200: /* maybe_trailing_return_type: POINTSAT predefined_type empty_instance_identifier */ -#line 1995 "dtool/src/cppparser/cppBison.yxx" + case 202: /* maybe_trailing_return_type: POINTSAT predefined_type empty_instance_identifier */ +#line 2010 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 6018 "built/tmp/cppBison.yxx.c" +#line 6002 "built/tmp/cppBison.yxx.c" break; - case 201: /* maybe_trailing_return_type: POINTSAT KW_CONST predefined_type empty_instance_identifier */ -#line 1999 "dtool/src/cppparser/cppBison.yxx" + case 203: /* maybe_trailing_return_type: POINTSAT KW_CONST predefined_type empty_instance_identifier */ +#line 2014 "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 6011 "built/tmp/cppBison.yxx.c" + break; + + case 204: /* maybe_comma_identifier: empty */ +#line 2023 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.identifier) = nullptr; +} +#line 6019 "built/tmp/cppBison.yxx.c" + break; + + case 205: /* maybe_comma_identifier: ',' IDENTIFIER */ +#line 2027 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.identifier) = (yyvsp[0].u.identifier); +} #line 6027 "built/tmp/cppBison.yxx.c" break; - case 202: /* maybe_comma_identifier: empty */ -#line 2008 "dtool/src/cppparser/cppBison.yxx" + case 206: /* function_parameter_list: empty */ +#line 2035 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.identifier) = nullptr; + (yyval.u.param_list) = new CPPParameterList; } #line 6035 "built/tmp/cppBison.yxx.c" break; - case 203: /* maybe_comma_identifier: ',' IDENTIFIER */ -#line 2012 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.identifier) = (yyvsp[0].u.identifier); -} -#line 6043 "built/tmp/cppBison.yxx.c" - break; - - case 204: /* function_parameter_list: empty */ -#line 2020 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.param_list) = new CPPParameterList; -} -#line 6051 "built/tmp/cppBison.yxx.c" - break; - - case 205: /* function_parameter_list: ELLIPSIS */ -#line 2024 "dtool/src/cppparser/cppBison.yxx" + case 207: /* function_parameter_list: ELLIPSIS */ +#line 2039 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6060 "built/tmp/cppBison.yxx.c" +#line 6044 "built/tmp/cppBison.yxx.c" break; - case 206: /* function_parameter_list: function_parameters */ -#line 2029 "dtool/src/cppparser/cppBison.yxx" + case 208: /* function_parameter_list: function_parameters */ +#line 2044 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[0].u.param_list); } -#line 6068 "built/tmp/cppBison.yxx.c" +#line 6052 "built/tmp/cppBison.yxx.c" break; - case 207: /* function_parameter_list: function_parameters ',' ELLIPSIS */ -#line 2033 "dtool/src/cppparser/cppBison.yxx" + case 209: /* function_parameter_list: function_parameters ',' ELLIPSIS */ +#line 2048 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6077 "built/tmp/cppBison.yxx.c" +#line 6061 "built/tmp/cppBison.yxx.c" break; - case 208: /* function_parameter_list: function_parameters ELLIPSIS */ -#line 2038 "dtool/src/cppparser/cppBison.yxx" + case 210: /* function_parameter_list: function_parameters ELLIPSIS */ +#line 2053 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[-1].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6086 "built/tmp/cppBison.yxx.c" +#line 6070 "built/tmp/cppBison.yxx.c" break; - case 209: /* function_parameters: function_parameter */ -#line 2046 "dtool/src/cppparser/cppBison.yxx" + case 211: /* function_parameters: function_parameter */ +#line 2061 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6095 "built/tmp/cppBison.yxx.c" +#line 6079 "built/tmp/cppBison.yxx.c" break; - case 210: /* function_parameters: function_parameters ',' function_parameter */ -#line 2051 "dtool/src/cppparser/cppBison.yxx" + case 212: /* function_parameters: function_parameters ',' function_parameter */ +#line 2066 "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 6104 "built/tmp/cppBison.yxx.c" +#line 6088 "built/tmp/cppBison.yxx.c" break; - case 211: /* formal_parameter_list: empty */ -#line 2059 "dtool/src/cppparser/cppBison.yxx" + case 213: /* formal_parameter_list: empty */ +#line 2074 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; } -#line 6112 "built/tmp/cppBison.yxx.c" +#line 6096 "built/tmp/cppBison.yxx.c" break; - case 212: /* formal_parameter_list: ELLIPSIS */ -#line 2063 "dtool/src/cppparser/cppBison.yxx" + case 214: /* formal_parameter_list: ELLIPSIS */ +#line 2078 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6121 "built/tmp/cppBison.yxx.c" +#line 6105 "built/tmp/cppBison.yxx.c" break; - case 213: /* formal_parameter_list: formal_parameters */ -#line 2068 "dtool/src/cppparser/cppBison.yxx" + case 215: /* formal_parameter_list: formal_parameters */ +#line 2083 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[0].u.param_list); } -#line 6129 "built/tmp/cppBison.yxx.c" +#line 6113 "built/tmp/cppBison.yxx.c" break; - case 214: /* formal_parameter_list: formal_parameters ',' ELLIPSIS */ -#line 2072 "dtool/src/cppparser/cppBison.yxx" + case 216: /* formal_parameter_list: formal_parameters ',' ELLIPSIS */ +#line 2087 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6138 "built/tmp/cppBison.yxx.c" +#line 6122 "built/tmp/cppBison.yxx.c" break; - case 215: /* formal_parameter_list: formal_parameters ELLIPSIS */ -#line 2077 "dtool/src/cppparser/cppBison.yxx" + case 217: /* formal_parameter_list: formal_parameters ELLIPSIS */ +#line 2092 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[-1].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6147 "built/tmp/cppBison.yxx.c" +#line 6131 "built/tmp/cppBison.yxx.c" break; - case 216: /* formal_parameters: formal_parameter */ -#line 2085 "dtool/src/cppparser/cppBison.yxx" + case 218: /* formal_parameters: formal_parameter */ +#line 2100 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6156 "built/tmp/cppBison.yxx.c" +#line 6140 "built/tmp/cppBison.yxx.c" break; - case 217: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 2090 "dtool/src/cppparser/cppBison.yxx" + case 219: /* formal_parameters: formal_parameters ',' formal_parameter */ +#line 2105 "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 6149 "built/tmp/cppBison.yxx.c" + break; + + case 220: /* template_parameter_maybe_initialize: empty */ +#line 2113 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 6157 "built/tmp/cppBison.yxx.c" + break; + + case 221: /* template_parameter_maybe_initialize: '=' no_angle_bracket_const_expr */ +#line 2117 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = (yyvsp[0].u.expr); +} #line 6165 "built/tmp/cppBison.yxx.c" break; - case 218: /* template_parameter_maybe_initialize: empty */ -#line 2098 "dtool/src/cppparser/cppBison.yxx" + case 222: /* maybe_initialize: empty */ +#line 2124 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } #line 6173 "built/tmp/cppBison.yxx.c" break; - case 219: /* template_parameter_maybe_initialize: '=' no_angle_bracket_const_expr */ -#line 2102 "dtool/src/cppparser/cppBison.yxx" + case 223: /* maybe_initialize: '=' const_expr */ +#line 2128 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } #line 6181 "built/tmp/cppBison.yxx.c" break; - case 220: /* maybe_initialize: empty */ -#line 2109 "dtool/src/cppparser/cppBison.yxx" + case 224: /* maybe_initialize_or_constructor_body: ';' */ +#line 2135 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } #line 6189 "built/tmp/cppBison.yxx.c" break; - case 221: /* maybe_initialize: '=' const_expr */ -#line 2113 "dtool/src/cppparser/cppBison.yxx" + case 225: /* maybe_initialize_or_constructor_body: '{' code '}' */ +#line 2139 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[0].u.expr); + (yyval.u.expr) = nullptr; } #line 6197 "built/tmp/cppBison.yxx.c" break; - case 222: /* maybe_initialize_or_constructor_body: ';' */ -#line 2120 "dtool/src/cppparser/cppBison.yxx" + case 226: /* maybe_initialize_or_constructor_body: ':' constructor_inits '{' code '}' */ +#line 2143 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } #line 6205 "built/tmp/cppBison.yxx.c" break; - case 223: /* maybe_initialize_or_constructor_body: '{' code '}' */ -#line 2124 "dtool/src/cppparser/cppBison.yxx" + case 227: /* maybe_initialize_or_constructor_body: '=' KW_DEFAULT ';' */ +#line 2147 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = nullptr; + (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); } #line 6213 "built/tmp/cppBison.yxx.c" break; - case 224: /* maybe_initialize_or_constructor_body: ':' constructor_inits '{' code '}' */ -#line 2128 "dtool/src/cppparser/cppBison.yxx" + case 228: /* maybe_initialize_or_constructor_body: '=' KW_DELETE ';' */ +#line 2151 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = nullptr; + (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); } #line 6221 "built/tmp/cppBison.yxx.c" break; - case 225: /* maybe_initialize_or_constructor_body: '=' KW_DEFAULT ';' */ -#line 2132 "dtool/src/cppparser/cppBison.yxx" + case 229: /* maybe_initialize_or_function_body: ';' */ +#line 2158 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); + (yyval.u.expr) = nullptr; } #line 6229 "built/tmp/cppBison.yxx.c" break; - case 226: /* maybe_initialize_or_constructor_body: '=' KW_DELETE ';' */ -#line 2136 "dtool/src/cppparser/cppBison.yxx" + case 230: /* maybe_initialize_or_function_body: '{' code '}' */ +#line 2162 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); + (yyval.u.expr) = nullptr; } #line 6237 "built/tmp/cppBison.yxx.c" break; - case 227: /* maybe_initialize_or_function_body: ';' */ -#line 2143 "dtool/src/cppparser/cppBison.yxx" + case 231: /* maybe_initialize_or_function_body: '=' const_expr ';' */ +#line 2166 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = nullptr; + (yyval.u.expr) = (yyvsp[-1].u.expr); } #line 6245 "built/tmp/cppBison.yxx.c" break; - case 228: /* maybe_initialize_or_function_body: '{' code '}' */ -#line 2147 "dtool/src/cppparser/cppBison.yxx" + case 232: /* maybe_initialize_or_function_body: '=' KW_DEFAULT ';' */ +#line 2170 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = nullptr; + (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); } #line 6253 "built/tmp/cppBison.yxx.c" break; - case 229: /* maybe_initialize_or_function_body: '=' const_expr ';' */ -#line 2151 "dtool/src/cppparser/cppBison.yxx" + case 233: /* maybe_initialize_or_function_body: '=' KW_DELETE ';' */ +#line 2174 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[-1].u.expr); + (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); } #line 6261 "built/tmp/cppBison.yxx.c" break; - case 230: /* maybe_initialize_or_function_body: '=' KW_DEFAULT ';' */ -#line 2155 "dtool/src/cppparser/cppBison.yxx" + case 234: /* maybe_initialize_or_function_body: '=' '{' structure_init '}' */ +#line 2178 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); + (yyval.u.expr) = nullptr; } #line 6269 "built/tmp/cppBison.yxx.c" break; - case 231: /* maybe_initialize_or_function_body: '=' KW_DELETE ';' */ -#line 2159 "dtool/src/cppparser/cppBison.yxx" + case 238: /* structure_init_body: const_expr */ +#line 2191 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); } -#line 6277 "built/tmp/cppBison.yxx.c" +#line 6276 "built/tmp/cppBison.yxx.c" break; - case 232: /* maybe_initialize_or_function_body: '=' '{' structure_init '}' */ -#line 2163 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = nullptr; -} -#line 6285 "built/tmp/cppBison.yxx.c" - break; - - case 236: /* structure_init_body: const_expr */ -#line 2176 "dtool/src/cppparser/cppBison.yxx" + case 242: /* function_parameter: optional_attributes storage_class type formal_parameter_identifier maybe_initialize */ +#line 2200 "dtool/src/cppparser/cppBison.yxx" { + if ((yyvsp[-3].u.integer) & CPPInstance::SC_const) { + (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); + } + if ((yyvsp[-3].u.integer) & CPPInstance::SC_volatile) { + (yyvsp[-1].u.inst_ident)->add_modifier(IIT_volatile); + } + (yyvsp[-1].u.inst_ident)->add_attributes((yyvsp[-4].attr_list)); + (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 6292 "built/tmp/cppBison.yxx.c" break; - case 240: /* function_parameter: optional_attributes type formal_parameter_identifier maybe_initialize */ -#line 2185 "dtool/src/cppparser/cppBison.yxx" -{ - (yyvsp[-1].u.inst_ident)->add_attributes((yyvsp[-3].attr_list)); - (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 6302 "built/tmp/cppBison.yxx.c" - break; - - case 241: /* function_parameter: optional_attributes KW_CONST type formal_parameter_identifier maybe_initialize */ -#line 2191 "dtool/src/cppparser/cppBison.yxx" + case 243: /* function_parameter: optional_attributes storage_class type_pack parameter_pack_identifier maybe_initialize */ +#line 2212 "dtool/src/cppparser/cppBison.yxx" { + if ((yyvsp[-3].u.integer) & CPPInstance::SC_const) { + (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); + } + if ((yyvsp[-3].u.integer) & CPPInstance::SC_volatile) { + (yyvsp[-1].u.inst_ident)->add_modifier(IIT_volatile); + } (yyvsp[-1].u.inst_ident)->add_attributes((yyvsp[-4].attr_list)); - (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 6313 "built/tmp/cppBison.yxx.c" +#line 6308 "built/tmp/cppBison.yxx.c" break; - case 242: /* function_parameter: optional_attributes KW_CONST KW_REGISTER type formal_parameter_identifier maybe_initialize */ -#line 2198 "dtool/src/cppparser/cppBison.yxx" -{ - (yyvsp[-1].u.inst_ident)->add_attributes((yyvsp[-5].attr_list)); - (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 6324 "built/tmp/cppBison.yxx.c" - break; - - case 243: /* function_parameter: optional_attributes type_pack parameter_pack_identifier maybe_initialize */ -#line 2205 "dtool/src/cppparser/cppBison.yxx" -{ - (yyvsp[-1].u.inst_ident)->add_attributes((yyvsp[-3].attr_list)); - (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 6334 "built/tmp/cppBison.yxx.c" - break; - - case 244: /* function_parameter: optional_attributes KW_CONST type_pack parameter_pack_identifier maybe_initialize */ -#line 2211 "dtool/src/cppparser/cppBison.yxx" -{ - (yyvsp[-1].u.inst_ident)->add_attributes((yyvsp[-4].attr_list)); - (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 6345 "built/tmp/cppBison.yxx.c" - break; - - case 245: /* function_parameter: optional_attributes KW_CONST KW_REGISTER type_pack parameter_pack_identifier maybe_initialize */ -#line 2218 "dtool/src/cppparser/cppBison.yxx" -{ - (yyvsp[-1].u.inst_ident)->add_attributes((yyvsp[-5].attr_list)); - (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 6356 "built/tmp/cppBison.yxx.c" - break; - - case 246: /* function_parameter: optional_attributes KW_REGISTER function_parameter */ -#line 2225 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.instance) = (yyvsp[0].u.instance); - (yyval.u.instance)->_attributes.add_attributes_from((yyvsp[-2].attr_list)); -} -#line 6365 "built/tmp/cppBison.yxx.c" - break; - - case 247: /* formal_parameter: function_parameter */ -#line 2237 "dtool/src/cppparser/cppBison.yxx" + case 244: /* formal_parameter: function_parameter */ +#line 2231 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.instance) = (yyvsp[0].u.instance); } -#line 6373 "built/tmp/cppBison.yxx.c" +#line 6316 "built/tmp/cppBison.yxx.c" break; - case 248: /* formal_parameter: formal_const_expr */ -#line 2241 "dtool/src/cppparser/cppBison.yxx" + case 245: /* formal_parameter: formal_const_expr */ +#line 2235 "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 6384 "built/tmp/cppBison.yxx.c" +#line 6327 "built/tmp/cppBison.yxx.c" break; - case 249: /* not_paren_formal_parameter_identifier: empty */ -#line 2251 "dtool/src/cppparser/cppBison.yxx" + case 246: /* not_paren_formal_parameter_identifier: empty */ +#line 2245 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6392 "built/tmp/cppBison.yxx.c" +#line 6335 "built/tmp/cppBison.yxx.c" break; - case 250: /* not_paren_formal_parameter_identifier: name_no_final optional_attributes */ -#line 2255 "dtool/src/cppparser/cppBison.yxx" + case 247: /* not_paren_formal_parameter_identifier: name_no_final optional_attributes */ +#line 2249 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); } -#line 6400 "built/tmp/cppBison.yxx.c" +#line 6343 "built/tmp/cppBison.yxx.c" break; - case 251: /* not_paren_formal_parameter_identifier: KW_CONST not_paren_formal_parameter_identifier */ -#line 2259 "dtool/src/cppparser/cppBison.yxx" + case 248: /* not_paren_formal_parameter_identifier: KW_CONST not_paren_formal_parameter_identifier */ +#line 2253 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6409 "built/tmp/cppBison.yxx.c" +#line 6352 "built/tmp/cppBison.yxx.c" break; - case 252: /* not_paren_formal_parameter_identifier: KW_VOLATILE not_paren_formal_parameter_identifier */ -#line 2264 "dtool/src/cppparser/cppBison.yxx" + case 249: /* not_paren_formal_parameter_identifier: KW_VOLATILE not_paren_formal_parameter_identifier */ +#line 2258 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6418 "built/tmp/cppBison.yxx.c" +#line 6361 "built/tmp/cppBison.yxx.c" break; - case 253: /* not_paren_formal_parameter_identifier: '*' optional_attributes not_paren_formal_parameter_identifier */ -#line 2269 "dtool/src/cppparser/cppBison.yxx" + case 250: /* not_paren_formal_parameter_identifier: KW_RESTRICT not_paren_formal_parameter_identifier */ +#line 2263 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_restrict); +} +#line 6370 "built/tmp/cppBison.yxx.c" + break; + + case 251: /* not_paren_formal_parameter_identifier: '*' optional_attributes not_paren_formal_parameter_identifier */ +#line 2268 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-1].attr_list)); } -#line 6427 "built/tmp/cppBison.yxx.c" +#line 6379 "built/tmp/cppBison.yxx.c" break; - case 254: /* not_paren_formal_parameter_identifier: '&' optional_attributes not_paren_formal_parameter_identifier */ -#line 2274 "dtool/src/cppparser/cppBison.yxx" + case 252: /* not_paren_formal_parameter_identifier: '&' optional_attributes not_paren_formal_parameter_identifier */ +#line 2273 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-1].attr_list)); } -#line 6436 "built/tmp/cppBison.yxx.c" +#line 6388 "built/tmp/cppBison.yxx.c" break; - case 255: /* not_paren_formal_parameter_identifier: ANDAND optional_attributes not_paren_formal_parameter_identifier */ -#line 2279 "dtool/src/cppparser/cppBison.yxx" + case 253: /* not_paren_formal_parameter_identifier: ANDAND optional_attributes not_paren_formal_parameter_identifier */ +#line 2278 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-1].attr_list)); } -#line 6445 "built/tmp/cppBison.yxx.c" +#line 6397 "built/tmp/cppBison.yxx.c" break; - case 256: /* not_paren_formal_parameter_identifier: SCOPING '*' optional_attributes not_paren_formal_parameter_identifier */ -#line 2284 "dtool/src/cppparser/cppBison.yxx" + case 254: /* not_paren_formal_parameter_identifier: SCOPING '*' optional_attributes not_paren_formal_parameter_identifier */ +#line 2283 "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), (yyvsp[-1].attr_list)); } -#line 6454 "built/tmp/cppBison.yxx.c" +#line 6406 "built/tmp/cppBison.yxx.c" break; - case 257: /* not_paren_formal_parameter_identifier: not_paren_formal_parameter_identifier '[' optional_const_expr ']' optional_attributes */ -#line 2289 "dtool/src/cppparser/cppBison.yxx" + case 255: /* not_paren_formal_parameter_identifier: not_paren_formal_parameter_identifier '[' optional_const_expr ']' optional_attributes */ +#line 2288 "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), (yyvsp[0].attr_list)); } -#line 6463 "built/tmp/cppBison.yxx.c" +#line 6415 "built/tmp/cppBison.yxx.c" break; - case 258: /* formal_parameter_identifier: empty */ -#line 2297 "dtool/src/cppparser/cppBison.yxx" + case 256: /* formal_parameter_identifier: empty */ +#line 2296 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6471 "built/tmp/cppBison.yxx.c" +#line 6423 "built/tmp/cppBison.yxx.c" break; - case 259: /* formal_parameter_identifier: name_no_final optional_attributes */ -#line 2301 "dtool/src/cppparser/cppBison.yxx" + case 257: /* formal_parameter_identifier: name_no_final optional_attributes */ +#line 2300 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); } -#line 6479 "built/tmp/cppBison.yxx.c" +#line 6431 "built/tmp/cppBison.yxx.c" break; - case 260: /* formal_parameter_identifier: KW_CONST formal_parameter_identifier */ -#line 2305 "dtool/src/cppparser/cppBison.yxx" + case 258: /* formal_parameter_identifier: KW_CONST formal_parameter_identifier */ +#line 2304 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6488 "built/tmp/cppBison.yxx.c" +#line 6440 "built/tmp/cppBison.yxx.c" break; - case 261: /* formal_parameter_identifier: KW_VOLATILE formal_parameter_identifier */ -#line 2310 "dtool/src/cppparser/cppBison.yxx" + case 259: /* formal_parameter_identifier: KW_VOLATILE formal_parameter_identifier */ +#line 2309 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6497 "built/tmp/cppBison.yxx.c" +#line 6449 "built/tmp/cppBison.yxx.c" break; - case 262: /* formal_parameter_identifier: '*' optional_attributes formal_parameter_identifier */ -#line 2315 "dtool/src/cppparser/cppBison.yxx" + case 260: /* formal_parameter_identifier: KW_RESTRICT formal_parameter_identifier */ +#line 2314 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_restrict); +} +#line 6458 "built/tmp/cppBison.yxx.c" + break; + + case 261: /* formal_parameter_identifier: '*' optional_attributes formal_parameter_identifier */ +#line 2319 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-1].attr_list)); } -#line 6506 "built/tmp/cppBison.yxx.c" +#line 6467 "built/tmp/cppBison.yxx.c" break; - case 263: /* formal_parameter_identifier: '&' optional_attributes formal_parameter_identifier */ -#line 2320 "dtool/src/cppparser/cppBison.yxx" + case 262: /* formal_parameter_identifier: '&' optional_attributes formal_parameter_identifier */ +#line 2324 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-1].attr_list)); } -#line 6515 "built/tmp/cppBison.yxx.c" +#line 6476 "built/tmp/cppBison.yxx.c" break; - case 264: /* formal_parameter_identifier: ANDAND optional_attributes formal_parameter_identifier */ -#line 2325 "dtool/src/cppparser/cppBison.yxx" + case 263: /* formal_parameter_identifier: ANDAND optional_attributes formal_parameter_identifier */ +#line 2329 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-1].attr_list)); } -#line 6524 "built/tmp/cppBison.yxx.c" +#line 6485 "built/tmp/cppBison.yxx.c" break; - case 265: /* formal_parameter_identifier: SCOPING '*' optional_attributes formal_parameter_identifier */ -#line 2330 "dtool/src/cppparser/cppBison.yxx" + case 264: /* formal_parameter_identifier: SCOPING '*' optional_attributes formal_parameter_identifier */ +#line 2334 "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), (yyvsp[-1].attr_list)); } -#line 6533 "built/tmp/cppBison.yxx.c" +#line 6494 "built/tmp/cppBison.yxx.c" break; - case 266: /* formal_parameter_identifier: formal_parameter_identifier '[' optional_const_expr ']' optional_attributes */ -#line 2335 "dtool/src/cppparser/cppBison.yxx" + case 265: /* formal_parameter_identifier: formal_parameter_identifier '[' optional_const_expr ']' optional_attributes */ +#line 2339 "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), (yyvsp[0].attr_list)); } -#line 6542 "built/tmp/cppBison.yxx.c" +#line 6503 "built/tmp/cppBison.yxx.c" break; - case 267: /* formal_parameter_identifier: '(' formal_parameter_identifier ')' '(' function_parameter_list ')' function_post optional_attributes */ -#line 2340 "dtool/src/cppparser/cppBison.yxx" + case 266: /* formal_parameter_identifier: '(' formal_parameter_identifier ')' '(' function_parameter_list ')' function_post optional_attributes */ +#line 2344 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), nullptr, (yyvsp[0].attr_list)); } -#line 6552 "built/tmp/cppBison.yxx.c" +#line 6513 "built/tmp/cppBison.yxx.c" break; - case 268: /* formal_parameter_identifier: '(' formal_parameter_identifier ')' */ -#line 2346 "dtool/src/cppparser/cppBison.yxx" + case 267: /* formal_parameter_identifier: '(' formal_parameter_identifier ')' */ +#line 2350 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 6561 "built/tmp/cppBison.yxx.c" +#line 6522 "built/tmp/cppBison.yxx.c" break; - case 269: /* parameter_pack_identifier: ELLIPSIS */ -#line 2354 "dtool/src/cppparser/cppBison.yxx" + case 268: /* parameter_pack_identifier: ELLIPSIS */ +#line 2358 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6570 "built/tmp/cppBison.yxx.c" +#line 6531 "built/tmp/cppBison.yxx.c" break; - case 270: /* parameter_pack_identifier: ELLIPSIS name optional_attributes */ -#line 2359 "dtool/src/cppparser/cppBison.yxx" + case 269: /* parameter_pack_identifier: ELLIPSIS name optional_attributes */ +#line 2363 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); (yyval.u.inst_ident)->_packed = true; } -#line 6579 "built/tmp/cppBison.yxx.c" +#line 6540 "built/tmp/cppBison.yxx.c" break; - case 271: /* parameter_pack_identifier: KW_CONST parameter_pack_identifier */ -#line 2364 "dtool/src/cppparser/cppBison.yxx" + case 270: /* parameter_pack_identifier: KW_CONST parameter_pack_identifier */ +#line 2368 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6588 "built/tmp/cppBison.yxx.c" +#line 6549 "built/tmp/cppBison.yxx.c" break; - case 272: /* parameter_pack_identifier: KW_VOLATILE parameter_pack_identifier */ -#line 2369 "dtool/src/cppparser/cppBison.yxx" + case 271: /* parameter_pack_identifier: KW_VOLATILE parameter_pack_identifier */ +#line 2373 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6597 "built/tmp/cppBison.yxx.c" +#line 6558 "built/tmp/cppBison.yxx.c" + break; + + case 272: /* parameter_pack_identifier: KW_RESTRICT parameter_pack_identifier */ +#line 2378 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_restrict); +} +#line 6567 "built/tmp/cppBison.yxx.c" break; case 273: /* parameter_pack_identifier: '*' optional_attributes parameter_pack_identifier */ -#line 2374 "dtool/src/cppparser/cppBison.yxx" +#line 2383 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-1].attr_list)); } -#line 6606 "built/tmp/cppBison.yxx.c" +#line 6576 "built/tmp/cppBison.yxx.c" break; case 274: /* parameter_pack_identifier: '&' optional_attributes parameter_pack_identifier */ -#line 2379 "dtool/src/cppparser/cppBison.yxx" +#line 2388 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-1].attr_list)); } -#line 6615 "built/tmp/cppBison.yxx.c" +#line 6585 "built/tmp/cppBison.yxx.c" break; case 275: /* parameter_pack_identifier: ANDAND optional_attributes parameter_pack_identifier */ -#line 2384 "dtool/src/cppparser/cppBison.yxx" +#line 2393 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-1].attr_list)); } -#line 6624 "built/tmp/cppBison.yxx.c" +#line 6594 "built/tmp/cppBison.yxx.c" break; case 276: /* parameter_pack_identifier: SCOPING '*' optional_attributes parameter_pack_identifier */ -#line 2389 "dtool/src/cppparser/cppBison.yxx" +#line 2398 "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), (yyvsp[-1].attr_list)); } -#line 6633 "built/tmp/cppBison.yxx.c" +#line 6603 "built/tmp/cppBison.yxx.c" break; case 277: /* parameter_pack_identifier: parameter_pack_identifier '[' optional_const_expr ']' optional_attributes */ -#line 2394 "dtool/src/cppparser/cppBison.yxx" +#line 2403 "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), (yyvsp[0].attr_list)); } -#line 6642 "built/tmp/cppBison.yxx.c" +#line 6612 "built/tmp/cppBison.yxx.c" break; case 278: /* parameter_pack_identifier: '(' parameter_pack_identifier ')' '(' function_parameter_list ')' function_post optional_attributes */ -#line 2399 "dtool/src/cppparser/cppBison.yxx" +#line 2408 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), nullptr, (yyvsp[0].attr_list)); } -#line 6652 "built/tmp/cppBison.yxx.c" +#line 6622 "built/tmp/cppBison.yxx.c" break; case 279: /* parameter_pack_identifier: '(' parameter_pack_identifier ')' */ -#line 2405 "dtool/src/cppparser/cppBison.yxx" +#line 2414 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 6661 "built/tmp/cppBison.yxx.c" +#line 6631 "built/tmp/cppBison.yxx.c" break; case 280: /* not_paren_empty_instance_identifier: empty */ -#line 2413 "dtool/src/cppparser/cppBison.yxx" +#line 2422 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6669 "built/tmp/cppBison.yxx.c" +#line 6639 "built/tmp/cppBison.yxx.c" break; case 281: /* not_paren_empty_instance_identifier: ELLIPSIS */ -#line 2417 "dtool/src/cppparser/cppBison.yxx" +#line 2426 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6678 "built/tmp/cppBison.yxx.c" +#line 6648 "built/tmp/cppBison.yxx.c" break; case 282: /* not_paren_empty_instance_identifier: ELLIPSIS name optional_attributes */ -#line 2422 "dtool/src/cppparser/cppBison.yxx" +#line 2431 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); (yyval.u.inst_ident)->_packed = true; } -#line 6687 "built/tmp/cppBison.yxx.c" +#line 6657 "built/tmp/cppBison.yxx.c" break; case 283: /* not_paren_empty_instance_identifier: KW_CONST not_paren_empty_instance_identifier */ -#line 2427 "dtool/src/cppparser/cppBison.yxx" +#line 2436 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6696 "built/tmp/cppBison.yxx.c" +#line 6666 "built/tmp/cppBison.yxx.c" break; case 284: /* not_paren_empty_instance_identifier: KW_VOLATILE not_paren_empty_instance_identifier */ -#line 2432 "dtool/src/cppparser/cppBison.yxx" +#line 2441 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6705 "built/tmp/cppBison.yxx.c" +#line 6675 "built/tmp/cppBison.yxx.c" break; - case 285: /* not_paren_empty_instance_identifier: '*' optional_attributes not_paren_empty_instance_identifier */ -#line 2437 "dtool/src/cppparser/cppBison.yxx" + case 285: /* not_paren_empty_instance_identifier: KW_RESTRICT not_paren_empty_instance_identifier */ +#line 2446 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_restrict); +} +#line 6684 "built/tmp/cppBison.yxx.c" + break; + + case 286: /* not_paren_empty_instance_identifier: '*' optional_attributes not_paren_empty_instance_identifier */ +#line 2451 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-1].attr_list)); } -#line 6714 "built/tmp/cppBison.yxx.c" +#line 6693 "built/tmp/cppBison.yxx.c" break; - case 286: /* not_paren_empty_instance_identifier: '&' optional_attributes not_paren_empty_instance_identifier */ -#line 2442 "dtool/src/cppparser/cppBison.yxx" + case 287: /* not_paren_empty_instance_identifier: '&' optional_attributes not_paren_empty_instance_identifier */ +#line 2456 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-1].attr_list)); } -#line 6723 "built/tmp/cppBison.yxx.c" +#line 6702 "built/tmp/cppBison.yxx.c" break; - case 287: /* not_paren_empty_instance_identifier: ANDAND optional_attributes not_paren_empty_instance_identifier */ -#line 2447 "dtool/src/cppparser/cppBison.yxx" + case 288: /* not_paren_empty_instance_identifier: ANDAND optional_attributes not_paren_empty_instance_identifier */ +#line 2461 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-1].attr_list)); } -#line 6732 "built/tmp/cppBison.yxx.c" +#line 6711 "built/tmp/cppBison.yxx.c" break; - case 288: /* not_paren_empty_instance_identifier: SCOPING '*' optional_attributes not_paren_empty_instance_identifier */ -#line 2452 "dtool/src/cppparser/cppBison.yxx" + case 289: /* not_paren_empty_instance_identifier: SCOPING '*' optional_attributes not_paren_empty_instance_identifier */ +#line 2466 "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), (yyvsp[-1].attr_list)); } -#line 6741 "built/tmp/cppBison.yxx.c" +#line 6720 "built/tmp/cppBison.yxx.c" break; - case 289: /* not_paren_empty_instance_identifier: not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes */ -#line 2457 "dtool/src/cppparser/cppBison.yxx" + case 290: /* not_paren_empty_instance_identifier: not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes */ +#line 2471 "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), (yyvsp[0].attr_list)); } -#line 6750 "built/tmp/cppBison.yxx.c" +#line 6729 "built/tmp/cppBison.yxx.c" break; - case 290: /* empty_instance_identifier: empty */ -#line 2465 "dtool/src/cppparser/cppBison.yxx" + case 291: /* empty_instance_identifier: empty */ +#line 2479 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6758 "built/tmp/cppBison.yxx.c" +#line 6737 "built/tmp/cppBison.yxx.c" break; - case 291: /* empty_instance_identifier: ELLIPSIS */ -#line 2469 "dtool/src/cppparser/cppBison.yxx" + case 292: /* empty_instance_identifier: ELLIPSIS */ +#line 2483 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6767 "built/tmp/cppBison.yxx.c" +#line 6746 "built/tmp/cppBison.yxx.c" break; - case 292: /* empty_instance_identifier: ELLIPSIS name optional_attributes */ -#line 2474 "dtool/src/cppparser/cppBison.yxx" + case 293: /* empty_instance_identifier: ELLIPSIS name optional_attributes */ +#line 2488 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); (yyval.u.inst_ident)->_packed = true; } -#line 6776 "built/tmp/cppBison.yxx.c" +#line 6755 "built/tmp/cppBison.yxx.c" break; - case 293: /* empty_instance_identifier: KW_CONST empty_instance_identifier */ -#line 2479 "dtool/src/cppparser/cppBison.yxx" + case 294: /* empty_instance_identifier: KW_CONST empty_instance_identifier */ +#line 2493 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6785 "built/tmp/cppBison.yxx.c" +#line 6764 "built/tmp/cppBison.yxx.c" break; - case 294: /* empty_instance_identifier: KW_VOLATILE empty_instance_identifier */ -#line 2484 "dtool/src/cppparser/cppBison.yxx" + case 295: /* empty_instance_identifier: KW_VOLATILE empty_instance_identifier */ +#line 2498 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6794 "built/tmp/cppBison.yxx.c" +#line 6773 "built/tmp/cppBison.yxx.c" break; - case 295: /* empty_instance_identifier: '*' optional_attributes not_paren_empty_instance_identifier */ -#line 2489 "dtool/src/cppparser/cppBison.yxx" + case 296: /* empty_instance_identifier: KW_RESTRICT empty_instance_identifier */ +#line 2503 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_restrict); +} +#line 6782 "built/tmp/cppBison.yxx.c" + break; + + case 297: /* empty_instance_identifier: '*' optional_attributes not_paren_empty_instance_identifier */ +#line 2508 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-1].attr_list)); } -#line 6803 "built/tmp/cppBison.yxx.c" +#line 6791 "built/tmp/cppBison.yxx.c" break; - case 296: /* empty_instance_identifier: '&' optional_attributes not_paren_empty_instance_identifier */ -#line 2494 "dtool/src/cppparser/cppBison.yxx" + case 298: /* empty_instance_identifier: '&' optional_attributes not_paren_empty_instance_identifier */ +#line 2513 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-1].attr_list)); } -#line 6812 "built/tmp/cppBison.yxx.c" +#line 6800 "built/tmp/cppBison.yxx.c" break; - case 297: /* empty_instance_identifier: ANDAND optional_attributes not_paren_empty_instance_identifier */ -#line 2499 "dtool/src/cppparser/cppBison.yxx" + case 299: /* empty_instance_identifier: ANDAND optional_attributes not_paren_empty_instance_identifier */ +#line 2518 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-1].attr_list)); } -#line 6821 "built/tmp/cppBison.yxx.c" +#line 6809 "built/tmp/cppBison.yxx.c" break; - case 298: /* empty_instance_identifier: SCOPING '*' optional_attributes not_paren_empty_instance_identifier */ -#line 2504 "dtool/src/cppparser/cppBison.yxx" + case 300: /* empty_instance_identifier: SCOPING '*' optional_attributes not_paren_empty_instance_identifier */ +#line 2523 "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), (yyvsp[-1].attr_list)); } -#line 6830 "built/tmp/cppBison.yxx.c" +#line 6818 "built/tmp/cppBison.yxx.c" break; - case 299: /* empty_instance_identifier: not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes */ -#line 2509 "dtool/src/cppparser/cppBison.yxx" + case 301: /* empty_instance_identifier: not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes */ +#line 2528 "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), (yyvsp[0].attr_list)); } -#line 6839 "built/tmp/cppBison.yxx.c" +#line 6827 "built/tmp/cppBison.yxx.c" break; - case 300: /* empty_instance_identifier: '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ -#line 2514 "dtool/src/cppparser/cppBison.yxx" + case 302: /* empty_instance_identifier: '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ +#line 2533 "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[-4].u.param_list), (yyvsp[-2].u.integer), (yyvsp[0].u.type), (yyvsp[-1].attr_list)); } -#line 6849 "built/tmp/cppBison.yxx.c" +#line 6837 "built/tmp/cppBison.yxx.c" break; - case 301: /* empty_instance_identifier: '(' '*' optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ -#line 2520 "dtool/src/cppparser/cppBison.yxx" + case 303: /* empty_instance_identifier: '(' '*' optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ +#line 2539 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-7].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-8].attr_list)); (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-4].u.param_list), (yyvsp[-2].u.integer), (yyvsp[0].u.type), (yyvsp[-1].attr_list)); } -#line 6860 "built/tmp/cppBison.yxx.c" +#line 6848 "built/tmp/cppBison.yxx.c" break; - case 302: /* empty_instance_identifier: '(' '&' optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ -#line 2527 "dtool/src/cppparser/cppBison.yxx" + case 304: /* empty_instance_identifier: '(' '&' optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ +#line 2546 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-7].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-8].attr_list)); (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-4].u.param_list), (yyvsp[-2].u.integer), (yyvsp[0].u.type), (yyvsp[-1].attr_list)); } -#line 6871 "built/tmp/cppBison.yxx.c" +#line 6859 "built/tmp/cppBison.yxx.c" break; - case 303: /* empty_instance_identifier: '(' ANDAND optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ -#line 2534 "dtool/src/cppparser/cppBison.yxx" + case 305: /* empty_instance_identifier: '(' ANDAND optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ +#line 2553 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-7].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-8].attr_list)); (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-4].u.param_list), (yyvsp[-2].u.integer), (yyvsp[0].u.type), (yyvsp[-1].attr_list)); } -#line 6882 "built/tmp/cppBison.yxx.c" +#line 6870 "built/tmp/cppBison.yxx.c" break; - case 304: /* type: simple_type */ -#line 2544 "dtool/src/cppparser/cppBison.yxx" + case 306: /* type: simple_type */ +#line 2563 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 6890 "built/tmp/cppBison.yxx.c" +#line 6878 "built/tmp/cppBison.yxx.c" break; - case 305: /* type: TYPENAME_IDENTIFIER */ -#line 2548 "dtool/src/cppparser/cppBison.yxx" + case 307: /* type: TYPENAME_IDENTIFIER */ +#line 2567 "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) { @@ -6898,43 +6886,43 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 6902 "built/tmp/cppBison.yxx.c" +#line 6890 "built/tmp/cppBison.yxx.c" break; - case 306: /* type: KW_TYPENAME name */ -#line 2556 "dtool/src/cppparser/cppBison.yxx" + case 308: /* type: KW_TYPENAME name */ +#line 2575 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 6910 "built/tmp/cppBison.yxx.c" +#line 6898 "built/tmp/cppBison.yxx.c" break; - case 307: /* type: anonymous_struct */ -#line 2560 "dtool/src/cppparser/cppBison.yxx" + case 309: /* type: anonymous_struct */ +#line 2579 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 6918 "built/tmp/cppBison.yxx.c" +#line 6906 "built/tmp/cppBison.yxx.c" break; - case 308: /* type: named_struct */ -#line 2564 "dtool/src/cppparser/cppBison.yxx" + case 310: /* type: named_struct */ +#line 2583 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 6926 "built/tmp/cppBison.yxx.c" +#line 6914 "built/tmp/cppBison.yxx.c" break; - case 309: /* type: enum */ -#line 2568 "dtool/src/cppparser/cppBison.yxx" + case 311: /* type: enum */ +#line 2587 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.enum_type)); } -#line 6934 "built/tmp/cppBison.yxx.c" +#line 6922 "built/tmp/cppBison.yxx.c" break; - case 310: /* type: struct_keyword optional_attributes name */ -#line 2572 "dtool/src/cppparser/cppBison.yxx" + case 312: /* type: struct_keyword optional_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) { @@ -6950,11 +6938,11 @@ yyreduce: (yyval.u.type) = et; } } -#line 6954 "built/tmp/cppBison.yxx.c" +#line 6942 "built/tmp/cppBison.yxx.c" break; - case 311: /* type: enum_keyword optional_attributes name_no_final ':' enum_element_type */ -#line 2588 "dtool/src/cppparser/cppBison.yxx" + case 313: /* type: enum_keyword optional_attributes 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) { @@ -6970,11 +6958,11 @@ yyreduce: (yyval.u.type) = et; } } -#line 6974 "built/tmp/cppBison.yxx.c" +#line 6962 "built/tmp/cppBison.yxx.c" break; - case 312: /* type: KW_DECLTYPE '(' const_expr ')' */ -#line 2604 "dtool/src/cppparser/cppBison.yxx" + case 314: /* type: KW_DECLTYPE '(' const_expr ')' */ +#line 2623 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[-1].u.expr)->determine_type(); if ((yyval.u.type) == nullptr) { @@ -6983,19 +6971,19 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 6987 "built/tmp/cppBison.yxx.c" +#line 6975 "built/tmp/cppBison.yxx.c" break; - case 313: /* type: KW_DECLTYPE '(' KW_AUTO ')' */ -#line 2613 "dtool/src/cppparser/cppBison.yxx" + case 315: /* type: KW_DECLTYPE '(' KW_AUTO ')' */ +#line 2632 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 6995 "built/tmp/cppBison.yxx.c" +#line 6983 "built/tmp/cppBison.yxx.c" break; - case 314: /* type: KW_UNDERLYING_TYPE '(' full_type ')' */ -#line 2617 "dtool/src/cppparser/cppBison.yxx" + case 316: /* type: KW_UNDERLYING_TYPE '(' full_type ')' */ +#line 2636 "dtool/src/cppparser/cppBison.yxx" { CPPEnumType *enum_type = (yyvsp[-1].u.type)->as_enum_type(); if (enum_type == nullptr) { @@ -7005,19 +6993,27 @@ yyreduce: (yyval.u.type) = enum_type->get_underlying_type(); } } -#line 7009 "built/tmp/cppBison.yxx.c" +#line 6997 "built/tmp/cppBison.yxx.c" break; - case 315: /* type: KW_AUTO */ -#line 2627 "dtool/src/cppparser/cppBison.yxx" + case 317: /* type: KW_AUTO */ +#line 2646 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7017 "built/tmp/cppBison.yxx.c" +#line 7005 "built/tmp/cppBison.yxx.c" break; - case 316: /* type_pack: TYPEPACK_IDENTIFIER */ -#line 2634 "dtool/src/cppparser/cppBison.yxx" + case 318: /* type: KW_BUILTIN_VA_LIST */ +#line 2650 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_va_list)); +} +#line 7013 "built/tmp/cppBison.yxx.c" + break; + + case 319: /* type_pack: TYPEPACK_IDENTIFIER */ +#line 2657 "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) { @@ -7025,19 +7021,19 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 7029 "built/tmp/cppBison.yxx.c" +#line 7025 "built/tmp/cppBison.yxx.c" break; - case 317: /* type_decl: simple_type */ -#line 2645 "dtool/src/cppparser/cppBison.yxx" + case 320: /* type_decl: simple_type */ +#line 2668 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7037 "built/tmp/cppBison.yxx.c" +#line 7033 "built/tmp/cppBison.yxx.c" break; - case 318: /* type_decl: TYPENAME_IDENTIFIER */ -#line 2649 "dtool/src/cppparser/cppBison.yxx" + case 321: /* type_decl: TYPENAME_IDENTIFIER */ +#line 2672 "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) { @@ -7045,43 +7041,43 @@ yyreduce: } assert((yyval.u.decl) != nullptr); } -#line 7049 "built/tmp/cppBison.yxx.c" +#line 7045 "built/tmp/cppBison.yxx.c" break; - case 319: /* type_decl: KW_TYPENAME name */ -#line 2657 "dtool/src/cppparser/cppBison.yxx" + case 322: /* type_decl: KW_TYPENAME name */ +#line 2680 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 7057 "built/tmp/cppBison.yxx.c" +#line 7053 "built/tmp/cppBison.yxx.c" break; - case 320: /* type_decl: anonymous_struct */ -#line 2661 "dtool/src/cppparser/cppBison.yxx" + case 323: /* type_decl: anonymous_struct */ +#line 2684 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 7065 "built/tmp/cppBison.yxx.c" +#line 7061 "built/tmp/cppBison.yxx.c" break; - case 321: /* type_decl: named_struct */ -#line 2665 "dtool/src/cppparser/cppBison.yxx" + case 324: /* type_decl: named_struct */ +#line 2688 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.struct_type))); } -#line 7073 "built/tmp/cppBison.yxx.c" +#line 7069 "built/tmp/cppBison.yxx.c" break; - case 322: /* type_decl: enum */ -#line 2669 "dtool/src/cppparser/cppBison.yxx" + case 325: /* type_decl: enum */ +#line 2692 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.enum_type))); } -#line 7081 "built/tmp/cppBison.yxx.c" +#line 7077 "built/tmp/cppBison.yxx.c" break; - case 323: /* type_decl: struct_keyword optional_attributes name */ -#line 2673 "dtool/src/cppparser/cppBison.yxx" + case 326: /* type_decl: struct_keyword optional_attributes name */ +#line 2696 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7097,11 +7093,11 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7101 "built/tmp/cppBison.yxx.c" +#line 7097 "built/tmp/cppBison.yxx.c" break; - case 324: /* type_decl: enum_keyword optional_attributes name_no_final ':' enum_element_type */ -#line 2689 "dtool/src/cppparser/cppBison.yxx" + case 327: /* type_decl: enum_keyword optional_attributes name_no_final ':' enum_element_type */ +#line 2712 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[-2].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7117,11 +7113,11 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7121 "built/tmp/cppBison.yxx.c" +#line 7117 "built/tmp/cppBison.yxx.c" break; - case 325: /* type_decl: enum_keyword optional_attributes name */ -#line 2705 "dtool/src/cppparser/cppBison.yxx" + case 328: /* type_decl: enum_keyword optional_attributes name */ +#line 2728 "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[-2])); @@ -7139,11 +7135,11 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7143 "built/tmp/cppBison.yxx.c" +#line 7139 "built/tmp/cppBison.yxx.c" break; - case 326: /* type_decl: KW_DECLTYPE '(' const_expr ')' */ -#line 2723 "dtool/src/cppparser/cppBison.yxx" + case 329: /* type_decl: KW_DECLTYPE '(' const_expr ')' */ +#line 2746 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = (yyvsp[-1].u.expr)->determine_type(); if ((yyval.u.decl) == nullptr) { @@ -7152,19 +7148,19 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 7156 "built/tmp/cppBison.yxx.c" +#line 7152 "built/tmp/cppBison.yxx.c" break; - case 327: /* type_decl: KW_DECLTYPE '(' KW_AUTO ')' */ -#line 2732 "dtool/src/cppparser/cppBison.yxx" + case 330: /* type_decl: KW_DECLTYPE '(' KW_AUTO ')' */ +#line 2755 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7164 "built/tmp/cppBison.yxx.c" +#line 7160 "built/tmp/cppBison.yxx.c" break; - case 328: /* type_decl: KW_UNDERLYING_TYPE '(' full_type ')' */ -#line 2736 "dtool/src/cppparser/cppBison.yxx" + case 331: /* type_decl: KW_UNDERLYING_TYPE '(' full_type ')' */ +#line 2759 "dtool/src/cppparser/cppBison.yxx" { CPPEnumType *enum_type = (yyvsp[-1].u.type)->as_enum_type(); if (enum_type == nullptr) { @@ -7174,27 +7170,35 @@ yyreduce: (yyval.u.decl) = enum_type->get_underlying_type(); } } -#line 7178 "built/tmp/cppBison.yxx.c" +#line 7174 "built/tmp/cppBison.yxx.c" break; - case 329: /* type_decl: KW_AUTO */ -#line 2746 "dtool/src/cppparser/cppBison.yxx" + case 332: /* type_decl: KW_AUTO */ +#line 2769 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7186 "built/tmp/cppBison.yxx.c" +#line 7182 "built/tmp/cppBison.yxx.c" break; - case 330: /* predefined_type: simple_type */ -#line 2753 "dtool/src/cppparser/cppBison.yxx" + case 333: /* type_decl: KW_BUILTIN_VA_LIST */ +#line 2773 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_va_list)); +} +#line 7190 "built/tmp/cppBison.yxx.c" + break; + + case 334: /* predefined_type: simple_type */ +#line 2780 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7194 "built/tmp/cppBison.yxx.c" +#line 7198 "built/tmp/cppBison.yxx.c" break; - case 331: /* predefined_type: TYPENAME_IDENTIFIER */ -#line 2757 "dtool/src/cppparser/cppBison.yxx" + case 335: /* predefined_type: TYPENAME_IDENTIFIER */ +#line 2784 "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) { @@ -7202,19 +7206,19 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 7206 "built/tmp/cppBison.yxx.c" +#line 7210 "built/tmp/cppBison.yxx.c" break; - case 332: /* predefined_type: KW_TYPENAME name */ -#line 2765 "dtool/src/cppparser/cppBison.yxx" + case 336: /* predefined_type: KW_TYPENAME name */ +#line 2792 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 7214 "built/tmp/cppBison.yxx.c" +#line 7218 "built/tmp/cppBison.yxx.c" break; - case 333: /* predefined_type: struct_keyword optional_attributes name */ -#line 2769 "dtool/src/cppparser/cppBison.yxx" + case 337: /* predefined_type: struct_keyword optional_attributes name */ +#line 2796 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7230,11 +7234,11 @@ yyreduce: (yyval.u.type) = et; } } -#line 7234 "built/tmp/cppBison.yxx.c" +#line 7238 "built/tmp/cppBison.yxx.c" break; - case 334: /* predefined_type: enum_keyword optional_attributes name */ -#line 2785 "dtool/src/cppparser/cppBison.yxx" + case 338: /* predefined_type: enum_keyword optional_attributes name */ +#line 2812 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7250,11 +7254,11 @@ yyreduce: (yyval.u.type) = et; } } -#line 7254 "built/tmp/cppBison.yxx.c" +#line 7258 "built/tmp/cppBison.yxx.c" break; - case 335: /* predefined_type: KW_DECLTYPE '(' const_expr ')' */ -#line 2801 "dtool/src/cppparser/cppBison.yxx" + case 339: /* predefined_type: KW_DECLTYPE '(' const_expr ')' */ +#line 2828 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[-1].u.expr)->determine_type(); if ((yyval.u.type) == nullptr) { @@ -7263,11 +7267,11 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 7267 "built/tmp/cppBison.yxx.c" +#line 7271 "built/tmp/cppBison.yxx.c" break; - case 336: /* predefined_type: KW_UNDERLYING_TYPE '(' full_type ')' */ -#line 2810 "dtool/src/cppparser/cppBison.yxx" + case 340: /* predefined_type: KW_UNDERLYING_TYPE '(' full_type ')' */ +#line 2837 "dtool/src/cppparser/cppBison.yxx" { CPPEnumType *enum_type = (yyvsp[-1].u.type)->as_enum_type(); if (enum_type == nullptr) { @@ -7277,71 +7281,79 @@ yyreduce: (yyval.u.type) = enum_type->get_underlying_type(); } } -#line 7281 "built/tmp/cppBison.yxx.c" +#line 7285 "built/tmp/cppBison.yxx.c" break; - case 337: /* predefined_type: KW_AUTO */ -#line 2820 "dtool/src/cppparser/cppBison.yxx" + case 341: /* predefined_type: KW_AUTO */ +#line 2847 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7289 "built/tmp/cppBison.yxx.c" +#line 7293 "built/tmp/cppBison.yxx.c" break; - case 338: /* var_type_decl: type_decl */ -#line 2827 "dtool/src/cppparser/cppBison.yxx" + case 342: /* predefined_type: KW_BUILTIN_VA_LIST */ +#line 2851 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_va_list)); +} +#line 7301 "built/tmp/cppBison.yxx.c" + break; + + case 343: /* var_type_decl: type_decl */ +#line 2858 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = (yyvsp[0].u.decl); } -#line 7297 "built/tmp/cppBison.yxx.c" +#line 7309 "built/tmp/cppBison.yxx.c" break; - case 339: /* var_type_decl: IDENTIFIER */ -#line 2831 "dtool/src/cppparser/cppBison.yxx" + case 344: /* var_type_decl: IDENTIFIER */ +#line 2862 "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 7307 "built/tmp/cppBison.yxx.c" +#line 7319 "built/tmp/cppBison.yxx.c" break; - case 340: /* full_type: type empty_instance_identifier */ -#line 2839 "dtool/src/cppparser/cppBison.yxx" + case 345: /* full_type: type empty_instance_identifier */ +#line 2870 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7315 "built/tmp/cppBison.yxx.c" +#line 7327 "built/tmp/cppBison.yxx.c" break; - case 341: /* full_type: KW_CONST type empty_instance_identifier */ -#line 2843 "dtool/src/cppparser/cppBison.yxx" + case 346: /* full_type: KW_CONST type empty_instance_identifier */ +#line 2874 "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 7324 "built/tmp/cppBison.yxx.c" +#line 7336 "built/tmp/cppBison.yxx.c" break; - case 342: /* full_type: type_pack empty_instance_identifier */ -#line 2848 "dtool/src/cppparser/cppBison.yxx" + case 347: /* full_type: type_pack empty_instance_identifier */ +#line 2879 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7332 "built/tmp/cppBison.yxx.c" +#line 7344 "built/tmp/cppBison.yxx.c" break; - case 343: /* full_type: KW_CONST type_pack empty_instance_identifier */ -#line 2852 "dtool/src/cppparser/cppBison.yxx" + case 348: /* full_type: KW_CONST type_pack empty_instance_identifier */ +#line 2883 "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 7341 "built/tmp/cppBison.yxx.c" +#line 7353 "built/tmp/cppBison.yxx.c" break; - case 344: /* $@17: %empty */ -#line 2860 "dtool/src/cppparser/cppBison.yxx" + case 349: /* $@17: %empty */ +#line 2891 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[-2].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -7355,22 +7367,22 @@ yyreduce: push_scope(new_scope); push_struct(st); } -#line 7359 "built/tmp/cppBison.yxx.c" +#line 7371 "built/tmp/cppBison.yxx.c" break; - case 345: /* anonymous_struct: struct_keyword optional_attributes '{' $@17 cpp '}' */ -#line 2874 "dtool/src/cppparser/cppBison.yxx" + case 350: /* anonymous_struct: struct_keyword optional_attributes '{' $@17 cpp '}' */ +#line 2905 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; pop_struct(); pop_scope(); } -#line 7370 "built/tmp/cppBison.yxx.c" +#line 7382 "built/tmp/cppBison.yxx.c" break; - case 346: /* $@18: %empty */ -#line 2884 "dtool/src/cppparser/cppBison.yxx" + case 351: /* $@18: %empty */ +#line 2915 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[-2].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -7390,120 +7402,120 @@ yyreduce: push_scope(new_scope); push_struct(st); } -#line 7394 "built/tmp/cppBison.yxx.c" +#line 7406 "built/tmp/cppBison.yxx.c" break; - case 347: /* named_struct: struct_keyword optional_attributes name_no_final $@18 maybe_final maybe_class_derivation '{' cpp '}' */ -#line 2904 "dtool/src/cppparser/cppBison.yxx" + case 352: /* named_struct: struct_keyword optional_attributes name_no_final $@18 maybe_final maybe_class_derivation '{' cpp '}' */ +#line 2935 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; pop_struct(); pop_scope(); } -#line 7405 "built/tmp/cppBison.yxx.c" +#line 7417 "built/tmp/cppBison.yxx.c" break; - case 349: /* maybe_final: KW_FINAL */ -#line 2915 "dtool/src/cppparser/cppBison.yxx" + case 354: /* maybe_final: KW_FINAL */ +#line 2946 "dtool/src/cppparser/cppBison.yxx" { current_struct->_final = true; } -#line 7413 "built/tmp/cppBison.yxx.c" +#line 7425 "built/tmp/cppBison.yxx.c" break; - case 354: /* base_specification: class_derivation_name */ -#line 2932 "dtool/src/cppparser/cppBison.yxx" + case 359: /* base_specification: class_derivation_name */ +#line 2963 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_unknown, false); } -#line 7421 "built/tmp/cppBison.yxx.c" +#line 7433 "built/tmp/cppBison.yxx.c" break; - case 355: /* base_specification: KW_PUBLIC class_derivation_name */ -#line 2936 "dtool/src/cppparser/cppBison.yxx" + case 360: /* base_specification: KW_PUBLIC class_derivation_name */ +#line 2967 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_public, false); } -#line 7429 "built/tmp/cppBison.yxx.c" +#line 7441 "built/tmp/cppBison.yxx.c" break; - case 356: /* base_specification: KW_PROTECTED class_derivation_name */ -#line 2940 "dtool/src/cppparser/cppBison.yxx" + case 361: /* base_specification: KW_PROTECTED class_derivation_name */ +#line 2971 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_protected, false); } -#line 7437 "built/tmp/cppBison.yxx.c" +#line 7449 "built/tmp/cppBison.yxx.c" break; - case 357: /* base_specification: KW_PRIVATE class_derivation_name */ -#line 2944 "dtool/src/cppparser/cppBison.yxx" + case 362: /* base_specification: KW_PRIVATE class_derivation_name */ +#line 2975 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_private, false); } -#line 7445 "built/tmp/cppBison.yxx.c" +#line 7457 "built/tmp/cppBison.yxx.c" break; - case 358: /* base_specification: KW_VIRTUAL KW_PUBLIC class_derivation_name */ -#line 2948 "dtool/src/cppparser/cppBison.yxx" + case 363: /* base_specification: KW_VIRTUAL KW_PUBLIC class_derivation_name */ +#line 2979 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_public, true); } -#line 7453 "built/tmp/cppBison.yxx.c" +#line 7465 "built/tmp/cppBison.yxx.c" break; - case 359: /* base_specification: KW_VIRTUAL KW_PROTECTED class_derivation_name */ -#line 2952 "dtool/src/cppparser/cppBison.yxx" + case 364: /* base_specification: KW_VIRTUAL KW_PROTECTED class_derivation_name */ +#line 2983 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_protected, true); } -#line 7461 "built/tmp/cppBison.yxx.c" +#line 7473 "built/tmp/cppBison.yxx.c" break; - case 360: /* base_specification: KW_VIRTUAL KW_PRIVATE class_derivation_name */ -#line 2956 "dtool/src/cppparser/cppBison.yxx" + case 365: /* base_specification: KW_VIRTUAL KW_PRIVATE class_derivation_name */ +#line 2987 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_private, true); } -#line 7469 "built/tmp/cppBison.yxx.c" +#line 7481 "built/tmp/cppBison.yxx.c" break; - case 361: /* base_specification: KW_PUBLIC KW_VIRTUAL class_derivation_name */ -#line 2960 "dtool/src/cppparser/cppBison.yxx" + case 366: /* base_specification: KW_PUBLIC KW_VIRTUAL class_derivation_name */ +#line 2991 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_public, true); } -#line 7477 "built/tmp/cppBison.yxx.c" +#line 7489 "built/tmp/cppBison.yxx.c" break; - case 362: /* base_specification: KW_PROTECTED KW_VIRTUAL class_derivation_name */ -#line 2964 "dtool/src/cppparser/cppBison.yxx" + case 367: /* base_specification: KW_PROTECTED KW_VIRTUAL class_derivation_name */ +#line 2995 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_protected, true); } -#line 7485 "built/tmp/cppBison.yxx.c" +#line 7497 "built/tmp/cppBison.yxx.c" break; - case 363: /* base_specification: KW_PRIVATE KW_VIRTUAL class_derivation_name */ -#line 2968 "dtool/src/cppparser/cppBison.yxx" + case 368: /* base_specification: KW_PRIVATE KW_VIRTUAL class_derivation_name */ +#line 2999 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_private, true); } -#line 7493 "built/tmp/cppBison.yxx.c" +#line 7505 "built/tmp/cppBison.yxx.c" break; - case 364: /* $@19: %empty */ -#line 2975 "dtool/src/cppparser/cppBison.yxx" + case 369: /* $@19: %empty */ +#line 3006 "dtool/src/cppparser/cppBison.yxx" { if (current_enum->_scope != nullptr) { push_scope(current_enum->_scope); } } -#line 7503 "built/tmp/cppBison.yxx.c" +#line 7515 "built/tmp/cppBison.yxx.c" break; - case 365: /* enum: enum_decl $@19 '{' enum_body '}' */ -#line 2981 "dtool/src/cppparser/cppBison.yxx" + case 370: /* enum: enum_decl $@19 '{' enum_body '}' */ +#line 3012 "dtool/src/cppparser/cppBison.yxx" { if (current_enum->_scope != nullptr) { pop_scope(); @@ -7511,145 +7523,145 @@ yyreduce: (yyval.u.enum_type) = current_enum; current_enum = nullptr; } -#line 7515 "built/tmp/cppBison.yxx.c" +#line 7527 "built/tmp/cppBison.yxx.c" break; - case 366: /* enum_decl: enum_keyword optional_attributes ':' enum_element_type */ -#line 2992 "dtool/src/cppparser/cppBison.yxx" + case 371: /* enum_decl: enum_keyword optional_attributes ':' enum_element_type */ +#line 3023 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType((yyvsp[-3].u.extension_enum), nullptr, (yyvsp[0].u.type), current_scope, nullptr, (yylsp[-3]).file, (yyvsp[-2].attr_list)); } -#line 7523 "built/tmp/cppBison.yxx.c" +#line 7535 "built/tmp/cppBison.yxx.c" break; - case 367: /* enum_decl: enum_keyword optional_attributes */ -#line 2996 "dtool/src/cppparser/cppBison.yxx" + case 372: /* enum_decl: enum_keyword optional_attributes */ +#line 3027 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType((yyvsp[-1].u.extension_enum), nullptr, current_scope, nullptr, (yylsp[-1]).file, (yyvsp[0].attr_list)); } -#line 7531 "built/tmp/cppBison.yxx.c" +#line 7543 "built/tmp/cppBison.yxx.c" break; - case 368: /* enum_decl: enum_keyword optional_attributes name_no_final ':' enum_element_type */ -#line 3000 "dtool/src/cppparser/cppBison.yxx" + case 373: /* enum_decl: enum_keyword optional_attributes name_no_final ':' enum_element_type */ +#line 3031 "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[-4].u.extension_enum), (yyvsp[-2].u.identifier), (yyvsp[0].u.type), current_scope, new_scope, (yylsp[-4]).file, (yyvsp[-3].attr_list)); } -#line 7540 "built/tmp/cppBison.yxx.c" +#line 7552 "built/tmp/cppBison.yxx.c" break; - case 369: /* enum_decl: enum_keyword optional_attributes name_no_final */ -#line 3005 "dtool/src/cppparser/cppBison.yxx" + case 374: /* enum_decl: enum_keyword optional_attributes name_no_final */ +#line 3036 "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[-2].u.extension_enum), (yyvsp[0].u.identifier), current_scope, new_scope, (yylsp[-2]).file, (yyvsp[-1].attr_list)); } -#line 7549 "built/tmp/cppBison.yxx.c" +#line 7561 "built/tmp/cppBison.yxx.c" break; - case 370: /* enum_element_type: simple_int_type */ -#line 3013 "dtool/src/cppparser/cppBison.yxx" + case 375: /* enum_element_type: simple_int_type */ +#line 3044 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7557 "built/tmp/cppBison.yxx.c" +#line 7569 "built/tmp/cppBison.yxx.c" break; - case 371: /* enum_element_type: TYPENAME_IDENTIFIER */ -#line 3017 "dtool/src/cppparser/cppBison.yxx" + case 376: /* enum_element_type: TYPENAME_IDENTIFIER */ +#line 3048 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); } -#line 7565 "built/tmp/cppBison.yxx.c" +#line 7577 "built/tmp/cppBison.yxx.c" break; - case 373: /* enum_body_trailing_comma: enum_body_trailing_comma name optional_attributes ',' */ -#line 3025 "dtool/src/cppparser/cppBison.yxx" + case 378: /* enum_body_trailing_comma: enum_body_trailing_comma name optional_attributes ',' */ +#line 3056 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[-2].u.identifier)->get_simple_name(), nullptr, current_lexer, (yylsp[-2]), (yyvsp[-1].attr_list)); } -#line 7574 "built/tmp/cppBison.yxx.c" +#line 7586 "built/tmp/cppBison.yxx.c" break; - case 374: /* enum_body_trailing_comma: enum_body_trailing_comma name optional_attributes '=' const_expr ',' */ -#line 3030 "dtool/src/cppparser/cppBison.yxx" + case 379: /* enum_body_trailing_comma: enum_body_trailing_comma name optional_attributes '=' const_expr ',' */ +#line 3061 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[-4].u.identifier)->get_simple_name(), (yyvsp[-1].u.expr), current_lexer, (yylsp[-4]), (yyvsp[-3].attr_list)); } -#line 7583 "built/tmp/cppBison.yxx.c" +#line 7595 "built/tmp/cppBison.yxx.c" break; - case 376: /* enum_body: enum_body_trailing_comma name optional_attributes */ -#line 3038 "dtool/src/cppparser/cppBison.yxx" + case 381: /* enum_body: enum_body_trailing_comma name optional_attributes */ +#line 3069 "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]), (yyvsp[0].attr_list)); } -#line 7592 "built/tmp/cppBison.yxx.c" +#line 7604 "built/tmp/cppBison.yxx.c" break; - case 377: /* enum_body: enum_body_trailing_comma name optional_attributes '=' const_expr */ -#line 3043 "dtool/src/cppparser/cppBison.yxx" + case 382: /* enum_body: enum_body_trailing_comma name optional_attributes '=' const_expr */ +#line 3074 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[-3].u.identifier)->get_simple_name(), (yyvsp[0].u.expr), current_lexer, (yylsp[-3]), (yyvsp[-2].attr_list)); } -#line 7601 "built/tmp/cppBison.yxx.c" +#line 7613 "built/tmp/cppBison.yxx.c" break; - case 378: /* enum_keyword: KW_ENUM */ -#line 3051 "dtool/src/cppparser/cppBison.yxx" + case 383: /* enum_keyword: KW_ENUM */ +#line 3082 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum; } -#line 7609 "built/tmp/cppBison.yxx.c" +#line 7621 "built/tmp/cppBison.yxx.c" break; - case 379: /* enum_keyword: KW_ENUM KW_CLASS */ -#line 3055 "dtool/src/cppparser/cppBison.yxx" + case 384: /* enum_keyword: KW_ENUM KW_CLASS */ +#line 3086 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum_class; } -#line 7617 "built/tmp/cppBison.yxx.c" +#line 7629 "built/tmp/cppBison.yxx.c" break; - case 380: /* enum_keyword: KW_ENUM KW_STRUCT */ -#line 3059 "dtool/src/cppparser/cppBison.yxx" + case 385: /* enum_keyword: KW_ENUM KW_STRUCT */ +#line 3090 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum_struct; } -#line 7625 "built/tmp/cppBison.yxx.c" +#line 7637 "built/tmp/cppBison.yxx.c" break; - case 381: /* struct_keyword: KW_CLASS */ -#line 3066 "dtool/src/cppparser/cppBison.yxx" + case 386: /* struct_keyword: KW_CLASS */ +#line 3097 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_class; } -#line 7633 "built/tmp/cppBison.yxx.c" +#line 7645 "built/tmp/cppBison.yxx.c" break; - case 382: /* struct_keyword: KW_STRUCT */ -#line 3070 "dtool/src/cppparser/cppBison.yxx" + case 387: /* struct_keyword: KW_STRUCT */ +#line 3101 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_struct; } -#line 7641 "built/tmp/cppBison.yxx.c" +#line 7653 "built/tmp/cppBison.yxx.c" break; - case 383: /* struct_keyword: KW_UNION */ -#line 3074 "dtool/src/cppparser/cppBison.yxx" + case 388: /* struct_keyword: KW_UNION */ +#line 3105 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_union; } -#line 7649 "built/tmp/cppBison.yxx.c" +#line 7661 "built/tmp/cppBison.yxx.c" break; - case 384: /* $@20: %empty */ -#line 3081 "dtool/src/cppparser/cppBison.yxx" + case 389: /* $@20: %empty */ +#line 3112 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == nullptr) { @@ -7667,19 +7679,19 @@ yyreduce: current_scope->define_namespace(nspace); push_scope(scope); } -#line 7671 "built/tmp/cppBison.yxx.c" +#line 7683 "built/tmp/cppBison.yxx.c" break; - case 385: /* namespace_declaration: KW_NAMESPACE optional_attributes name '{' $@20 cpp '}' */ -#line 3099 "dtool/src/cppparser/cppBison.yxx" + case 390: /* namespace_declaration: KW_NAMESPACE optional_attributes name '{' $@20 cpp '}' */ +#line 3130 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 7679 "built/tmp/cppBison.yxx.c" +#line 7691 "built/tmp/cppBison.yxx.c" break; - case 386: /* $@21: %empty */ -#line 3103 "dtool/src/cppparser/cppBison.yxx" + case 391: /* $@21: %empty */ +#line 3134 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == nullptr) { @@ -7698,161 +7710,161 @@ yyreduce: current_scope->define_namespace(nspace); push_scope(scope); } -#line 7702 "built/tmp/cppBison.yxx.c" +#line 7714 "built/tmp/cppBison.yxx.c" break; - case 387: /* namespace_declaration: KW_INLINE KW_NAMESPACE name '{' $@21 cpp '}' */ -#line 3122 "dtool/src/cppparser/cppBison.yxx" + case 392: /* namespace_declaration: KW_INLINE KW_NAMESPACE name '{' $@21 cpp '}' */ +#line 3153 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 7710 "built/tmp/cppBison.yxx.c" +#line 7722 "built/tmp/cppBison.yxx.c" break; - case 390: /* using_declaration: KW_USING name ';' */ -#line 3131 "dtool/src/cppparser/cppBison.yxx" + case 395: /* using_declaration: KW_USING name ';' */ +#line 3162 "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 7720 "built/tmp/cppBison.yxx.c" +#line 7732 "built/tmp/cppBison.yxx.c" break; - case 391: /* using_declaration: KW_USING name optional_attributes '=' full_type ';' */ -#line 3137 "dtool/src/cppparser/cppBison.yxx" + case 396: /* using_declaration: KW_USING name optional_attributes '=' full_type ';' */ +#line 3168 "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[-4].u.identifier), current_scope, (yyvsp[-3].attr_list)); typedef_type->_using = true; current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-5])); } -#line 7731 "built/tmp/cppBison.yxx.c" +#line 7743 "built/tmp/cppBison.yxx.c" break; - case 392: /* using_declaration: KW_USING KW_NAMESPACE name ';' */ -#line 3144 "dtool/src/cppparser/cppBison.yxx" + case 397: /* using_declaration: KW_USING KW_NAMESPACE name ';' */ +#line 3175 "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 7741 "built/tmp/cppBison.yxx.c" +#line 7753 "built/tmp/cppBison.yxx.c" break; - case 393: /* using_declaration: KW_USING KW_ENUM name ';' */ -#line 3150 "dtool/src/cppparser/cppBison.yxx" + case 398: /* using_declaration: KW_USING KW_ENUM name ';' */ +#line 3181 "dtool/src/cppparser/cppBison.yxx" { CPPUsing *using_decl = new CPPUsing((yyvsp[-1].u.identifier), false, (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 7751 "built/tmp/cppBison.yxx.c" +#line 7763 "built/tmp/cppBison.yxx.c" break; - case 397: /* simple_int_type: KW_BOOL */ -#line 3165 "dtool/src/cppparser/cppBison.yxx" + case 402: /* simple_int_type: KW_BOOL */ +#line 3196 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool); } -#line 7759 "built/tmp/cppBison.yxx.c" +#line 7771 "built/tmp/cppBison.yxx.c" break; - case 398: /* simple_int_type: KW_CHAR */ -#line 3169 "dtool/src/cppparser/cppBison.yxx" + case 403: /* simple_int_type: KW_CHAR */ +#line 3200 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char); } -#line 7767 "built/tmp/cppBison.yxx.c" +#line 7779 "built/tmp/cppBison.yxx.c" break; - case 399: /* simple_int_type: KW_WCHAR_T */ -#line 3173 "dtool/src/cppparser/cppBison.yxx" + case 404: /* simple_int_type: KW_WCHAR_T */ +#line 3204 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t); } -#line 7775 "built/tmp/cppBison.yxx.c" +#line 7787 "built/tmp/cppBison.yxx.c" break; - case 400: /* simple_int_type: KW_CHAR8_T */ -#line 3177 "dtool/src/cppparser/cppBison.yxx" + case 405: /* simple_int_type: KW_CHAR8_T */ +#line 3208 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char8_t); } -#line 7783 "built/tmp/cppBison.yxx.c" +#line 7795 "built/tmp/cppBison.yxx.c" break; - case 401: /* simple_int_type: KW_CHAR16_T */ -#line 3181 "dtool/src/cppparser/cppBison.yxx" + case 406: /* simple_int_type: KW_CHAR16_T */ +#line 3212 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t); } -#line 7791 "built/tmp/cppBison.yxx.c" +#line 7803 "built/tmp/cppBison.yxx.c" break; - case 402: /* simple_int_type: KW_CHAR32_T */ -#line 3185 "dtool/src/cppparser/cppBison.yxx" + case 407: /* simple_int_type: KW_CHAR32_T */ +#line 3216 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t); } -#line 7799 "built/tmp/cppBison.yxx.c" +#line 7811 "built/tmp/cppBison.yxx.c" break; - case 403: /* simple_int_type: KW_SHORT */ -#line 3189 "dtool/src/cppparser/cppBison.yxx" + case 408: /* simple_int_type: KW_SHORT */ +#line 3220 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_short); } -#line 7808 "built/tmp/cppBison.yxx.c" +#line 7820 "built/tmp/cppBison.yxx.c" break; - case 404: /* simple_int_type: KW_LONG */ -#line 3194 "dtool/src/cppparser/cppBison.yxx" + case 409: /* simple_int_type: KW_LONG */ +#line 3225 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_long); } -#line 7817 "built/tmp/cppBison.yxx.c" +#line 7829 "built/tmp/cppBison.yxx.c" break; - case 405: /* simple_int_type: KW_UNSIGNED */ -#line 3199 "dtool/src/cppparser/cppBison.yxx" + case 410: /* simple_int_type: KW_UNSIGNED */ +#line 3230 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_unsigned); } -#line 7826 "built/tmp/cppBison.yxx.c" +#line 7838 "built/tmp/cppBison.yxx.c" break; - case 406: /* simple_int_type: KW_SIGNED */ -#line 3204 "dtool/src/cppparser/cppBison.yxx" + case 411: /* simple_int_type: KW_SIGNED */ +#line 3235 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_signed); } -#line 7835 "built/tmp/cppBison.yxx.c" +#line 7847 "built/tmp/cppBison.yxx.c" break; - case 407: /* simple_int_type: KW_INT */ -#line 3209 "dtool/src/cppparser/cppBison.yxx" + case 412: /* simple_int_type: KW_INT */ +#line 3240 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int); } -#line 7843 "built/tmp/cppBison.yxx.c" +#line 7855 "built/tmp/cppBison.yxx.c" break; - case 408: /* simple_int_type: KW_SHORT simple_int_type */ -#line 3213 "dtool/src/cppparser/cppBison.yxx" + case 413: /* simple_int_type: KW_SHORT simple_int_type */ +#line 3244 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_short; } -#line 7852 "built/tmp/cppBison.yxx.c" +#line 7864 "built/tmp/cppBison.yxx.c" break; - case 409: /* simple_int_type: KW_LONG simple_int_type */ -#line 3218 "dtool/src/cppparser/cppBison.yxx" + case 414: /* simple_int_type: KW_LONG simple_int_type */ +#line 3249 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); if ((yyval.u.simple_type)->_flags & CPPSimpleType::F_long) { @@ -7861,501 +7873,501 @@ yyreduce: (yyval.u.simple_type)->_flags |= CPPSimpleType::F_long; } } -#line 7865 "built/tmp/cppBison.yxx.c" +#line 7877 "built/tmp/cppBison.yxx.c" break; - case 410: /* simple_int_type: KW_UNSIGNED simple_int_type */ -#line 3227 "dtool/src/cppparser/cppBison.yxx" + case 415: /* simple_int_type: KW_UNSIGNED simple_int_type */ +#line 3258 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_unsigned; } -#line 7874 "built/tmp/cppBison.yxx.c" +#line 7886 "built/tmp/cppBison.yxx.c" break; - case 411: /* simple_int_type: KW_SIGNED simple_int_type */ -#line 3232 "dtool/src/cppparser/cppBison.yxx" + case 416: /* simple_int_type: KW_SIGNED simple_int_type */ +#line 3263 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_signed; } -#line 7883 "built/tmp/cppBison.yxx.c" +#line 7895 "built/tmp/cppBison.yxx.c" break; - case 412: /* simple_float_type: KW_FLOAT */ -#line 3240 "dtool/src/cppparser/cppBison.yxx" + case 417: /* simple_float_type: KW_FLOAT */ +#line 3271 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float); } -#line 7891 "built/tmp/cppBison.yxx.c" +#line 7903 "built/tmp/cppBison.yxx.c" break; - case 413: /* simple_float_type: KW_DOUBLE */ -#line 3244 "dtool/src/cppparser/cppBison.yxx" + case 418: /* simple_float_type: KW_DOUBLE */ +#line 3275 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double); } -#line 7899 "built/tmp/cppBison.yxx.c" +#line 7911 "built/tmp/cppBison.yxx.c" break; - case 414: /* simple_float_type: KW_LONG KW_DOUBLE */ -#line 3248 "dtool/src/cppparser/cppBison.yxx" + case 419: /* simple_float_type: KW_LONG KW_DOUBLE */ +#line 3279 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double, CPPSimpleType::F_long); } -#line 7908 "built/tmp/cppBison.yxx.c" +#line 7920 "built/tmp/cppBison.yxx.c" break; - case 415: /* simple_void_type: KW_VOID */ -#line 3256 "dtool/src/cppparser/cppBison.yxx" + case 420: /* simple_void_type: KW_VOID */ +#line 3287 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void); } -#line 7916 "built/tmp/cppBison.yxx.c" +#line 7928 "built/tmp/cppBison.yxx.c" break; - case 416: /* $@22: %empty */ -#line 3265 "dtool/src/cppparser/cppBison.yxx" + case 421: /* $@22: %empty */ +#line 3296 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = false; } -#line 7924 "built/tmp/cppBison.yxx.c" +#line 7936 "built/tmp/cppBison.yxx.c" break; - case 417: /* code: $@22 code_block */ -#line 3269 "dtool/src/cppparser/cppBison.yxx" + case 422: /* code: $@22 code_block */ +#line 3300 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = true; } -#line 7932 "built/tmp/cppBison.yxx.c" +#line 7944 "built/tmp/cppBison.yxx.c" break; - case 532: /* element: KW_WHILE */ -#line 3314 "dtool/src/cppparser/cppBison.yxx" -{ -} -#line 7939 "built/tmp/cppBison.yxx.c" - break; - - case 556: /* optional_const_expr: empty */ -#line 3323 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = nullptr; -} -#line 7947 "built/tmp/cppBison.yxx.c" - break; - - case 557: /* optional_const_expr: const_expr */ -#line 3327 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = (yyvsp[0].u.expr); -} -#line 7955 "built/tmp/cppBison.yxx.c" - break; - - case 558: /* optional_const_expr_comma: empty */ -#line 3334 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = nullptr; -} -#line 7963 "built/tmp/cppBison.yxx.c" - break; - - case 559: /* optional_const_expr_comma: const_expr_comma */ -#line 3338 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = (yyvsp[0].u.expr); -} -#line 7971 "built/tmp/cppBison.yxx.c" - break; - - case 560: /* const_expr_comma: const_expr */ + case 539: /* element: KW_WHILE */ #line 3345 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 7979 "built/tmp/cppBison.yxx.c" +#line 7951 "built/tmp/cppBison.yxx.c" break; - case 561: /* const_expr_comma: const_expr_comma ',' const_expr */ -#line 3349 "dtool/src/cppparser/cppBison.yxx" + case 563: /* optional_const_expr: empty */ +#line 3354 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 7959 "built/tmp/cppBison.yxx.c" + break; + + case 564: /* optional_const_expr: const_expr */ +#line 3358 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = (yyvsp[0].u.expr); +} +#line 7967 "built/tmp/cppBison.yxx.c" + break; + + case 565: /* optional_const_expr_comma: empty */ +#line 3365 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 7975 "built/tmp/cppBison.yxx.c" + break; + + case 566: /* optional_const_expr_comma: const_expr_comma */ +#line 3369 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = (yyvsp[0].u.expr); +} +#line 7983 "built/tmp/cppBison.yxx.c" + break; + + case 567: /* const_expr_comma: const_expr */ +#line 3376 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = (yyvsp[0].u.expr); +} +#line 7991 "built/tmp/cppBison.yxx.c" + break; + + case 568: /* const_expr_comma: const_expr_comma ',' const_expr */ +#line 3380 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(',', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 7987 "built/tmp/cppBison.yxx.c" +#line 7999 "built/tmp/cppBison.yxx.c" break; - case 562: /* no_angle_bracket_const_expr: const_operand */ -#line 3356 "dtool/src/cppparser/cppBison.yxx" + case 569: /* no_angle_bracket_const_expr: const_operand */ +#line 3387 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 7995 "built/tmp/cppBison.yxx.c" +#line 8007 "built/tmp/cppBison.yxx.c" break; - case 563: /* no_angle_bracket_const_expr: '(' full_type ')' no_angle_bracket_const_expr */ -#line 3360 "dtool/src/cppparser/cppBison.yxx" + case 570: /* no_angle_bracket_const_expr: '(' full_type ')' no_angle_bracket_const_expr */ +#line 3391 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 8003 "built/tmp/cppBison.yxx.c" +#line 8015 "built/tmp/cppBison.yxx.c" break; - case 564: /* no_angle_bracket_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3364 "dtool/src/cppparser/cppBison.yxx" + case 571: /* no_angle_bracket_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3395 "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 8011 "built/tmp/cppBison.yxx.c" +#line 8023 "built/tmp/cppBison.yxx.c" break; - case 565: /* no_angle_bracket_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3368 "dtool/src/cppparser/cppBison.yxx" + case 572: /* no_angle_bracket_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3399 "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 8019 "built/tmp/cppBison.yxx.c" +#line 8031 "built/tmp/cppBison.yxx.c" break; - case 566: /* no_angle_bracket_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3372 "dtool/src/cppparser/cppBison.yxx" + case 573: /* no_angle_bracket_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3403 "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 8027 "built/tmp/cppBison.yxx.c" +#line 8039 "built/tmp/cppBison.yxx.c" break; - case 567: /* no_angle_bracket_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3376 "dtool/src/cppparser/cppBison.yxx" + case 574: /* no_angle_bracket_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3407 "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 8035 "built/tmp/cppBison.yxx.c" +#line 8047 "built/tmp/cppBison.yxx.c" break; - case 568: /* no_angle_bracket_const_expr: KW_SIZEOF '(' full_type ')' */ -#line 3380 "dtool/src/cppparser/cppBison.yxx" + case 575: /* no_angle_bracket_const_expr: KW_SIZEOF '(' full_type ')' */ +#line 3411 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 8043 "built/tmp/cppBison.yxx.c" +#line 8055 "built/tmp/cppBison.yxx.c" break; - case 569: /* no_angle_bracket_const_expr: KW_SIZEOF no_angle_bracket_const_expr */ -#line 3384 "dtool/src/cppparser/cppBison.yxx" + case 576: /* no_angle_bracket_const_expr: KW_SIZEOF no_angle_bracket_const_expr */ +#line 3415 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 8051 "built/tmp/cppBison.yxx.c" +#line 8063 "built/tmp/cppBison.yxx.c" break; - case 570: /* no_angle_bracket_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ -#line 3388 "dtool/src/cppparser/cppBison.yxx" + case 577: /* no_angle_bracket_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 3419 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 8059 "built/tmp/cppBison.yxx.c" +#line 8071 "built/tmp/cppBison.yxx.c" break; - case 571: /* no_angle_bracket_const_expr: KW_ALIGNOF '(' full_type ')' */ -#line 3392 "dtool/src/cppparser/cppBison.yxx" + case 578: /* no_angle_bracket_const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 3423 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 8067 "built/tmp/cppBison.yxx.c" +#line 8079 "built/tmp/cppBison.yxx.c" break; - case 572: /* no_angle_bracket_const_expr: '!' no_angle_bracket_const_expr */ -#line 3396 "dtool/src/cppparser/cppBison.yxx" + case 579: /* no_angle_bracket_const_expr: '!' no_angle_bracket_const_expr */ +#line 3427 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 8075 "built/tmp/cppBison.yxx.c" +#line 8087 "built/tmp/cppBison.yxx.c" break; - case 573: /* no_angle_bracket_const_expr: '~' no_angle_bracket_const_expr */ -#line 3400 "dtool/src/cppparser/cppBison.yxx" + case 580: /* no_angle_bracket_const_expr: '~' no_angle_bracket_const_expr */ +#line 3431 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 8083 "built/tmp/cppBison.yxx.c" +#line 8095 "built/tmp/cppBison.yxx.c" break; - case 574: /* no_angle_bracket_const_expr: '-' no_angle_bracket_const_expr */ -#line 3404 "dtool/src/cppparser/cppBison.yxx" + case 581: /* no_angle_bracket_const_expr: '-' no_angle_bracket_const_expr */ +#line 3435 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 8091 "built/tmp/cppBison.yxx.c" +#line 8103 "built/tmp/cppBison.yxx.c" break; - case 575: /* no_angle_bracket_const_expr: '+' no_angle_bracket_const_expr */ -#line 3408 "dtool/src/cppparser/cppBison.yxx" + case 582: /* no_angle_bracket_const_expr: '+' no_angle_bracket_const_expr */ +#line 3439 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 8099 "built/tmp/cppBison.yxx.c" +#line 8111 "built/tmp/cppBison.yxx.c" break; - case 576: /* no_angle_bracket_const_expr: '*' no_angle_bracket_const_expr */ -#line 3412 "dtool/src/cppparser/cppBison.yxx" + case 583: /* no_angle_bracket_const_expr: '*' no_angle_bracket_const_expr */ +#line 3443 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr)); } -#line 8107 "built/tmp/cppBison.yxx.c" +#line 8119 "built/tmp/cppBison.yxx.c" break; - case 577: /* no_angle_bracket_const_expr: '&' no_angle_bracket_const_expr */ -#line 3416 "dtool/src/cppparser/cppBison.yxx" + case 584: /* no_angle_bracket_const_expr: '&' no_angle_bracket_const_expr */ +#line 3447 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 8115 "built/tmp/cppBison.yxx.c" +#line 8127 "built/tmp/cppBison.yxx.c" break; - case 578: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '*' no_angle_bracket_const_expr */ -#line 3420 "dtool/src/cppparser/cppBison.yxx" + case 585: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '*' no_angle_bracket_const_expr */ +#line 3451 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8123 "built/tmp/cppBison.yxx.c" +#line 8135 "built/tmp/cppBison.yxx.c" break; - case 579: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '/' no_angle_bracket_const_expr */ -#line 3424 "dtool/src/cppparser/cppBison.yxx" + case 586: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '/' no_angle_bracket_const_expr */ +#line 3455 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8131 "built/tmp/cppBison.yxx.c" +#line 8143 "built/tmp/cppBison.yxx.c" break; - case 580: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '%' no_angle_bracket_const_expr */ -#line 3428 "dtool/src/cppparser/cppBison.yxx" + case 587: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '%' no_angle_bracket_const_expr */ +#line 3459 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8139 "built/tmp/cppBison.yxx.c" +#line 8151 "built/tmp/cppBison.yxx.c" break; - case 581: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '+' no_angle_bracket_const_expr */ -#line 3432 "dtool/src/cppparser/cppBison.yxx" + case 588: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '+' no_angle_bracket_const_expr */ +#line 3463 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8147 "built/tmp/cppBison.yxx.c" +#line 8159 "built/tmp/cppBison.yxx.c" break; - case 582: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '-' no_angle_bracket_const_expr */ -#line 3436 "dtool/src/cppparser/cppBison.yxx" + case 589: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '-' no_angle_bracket_const_expr */ +#line 3467 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8155 "built/tmp/cppBison.yxx.c" +#line 8167 "built/tmp/cppBison.yxx.c" break; - case 583: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '|' no_angle_bracket_const_expr */ -#line 3440 "dtool/src/cppparser/cppBison.yxx" + case 590: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '|' no_angle_bracket_const_expr */ +#line 3471 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8163 "built/tmp/cppBison.yxx.c" +#line 8175 "built/tmp/cppBison.yxx.c" break; - case 584: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '^' no_angle_bracket_const_expr */ -#line 3444 "dtool/src/cppparser/cppBison.yxx" + case 591: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '^' no_angle_bracket_const_expr */ +#line 3475 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8171 "built/tmp/cppBison.yxx.c" +#line 8183 "built/tmp/cppBison.yxx.c" break; - case 585: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '&' no_angle_bracket_const_expr */ -#line 3448 "dtool/src/cppparser/cppBison.yxx" + case 592: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '&' no_angle_bracket_const_expr */ +#line 3479 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8179 "built/tmp/cppBison.yxx.c" +#line 8191 "built/tmp/cppBison.yxx.c" break; - case 586: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr OROR no_angle_bracket_const_expr */ -#line 3452 "dtool/src/cppparser/cppBison.yxx" + case 593: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr OROR no_angle_bracket_const_expr */ +#line 3483 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8187 "built/tmp/cppBison.yxx.c" +#line 8199 "built/tmp/cppBison.yxx.c" break; - case 587: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr ANDAND no_angle_bracket_const_expr */ -#line 3456 "dtool/src/cppparser/cppBison.yxx" + case 594: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr ANDAND no_angle_bracket_const_expr */ +#line 3487 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8195 "built/tmp/cppBison.yxx.c" +#line 8207 "built/tmp/cppBison.yxx.c" break; - case 588: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr EQCOMPARE no_angle_bracket_const_expr */ -#line 3460 "dtool/src/cppparser/cppBison.yxx" + case 595: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr EQCOMPARE no_angle_bracket_const_expr */ +#line 3491 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8203 "built/tmp/cppBison.yxx.c" +#line 8215 "built/tmp/cppBison.yxx.c" break; - case 589: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr NECOMPARE no_angle_bracket_const_expr */ -#line 3464 "dtool/src/cppparser/cppBison.yxx" + case 596: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr NECOMPARE no_angle_bracket_const_expr */ +#line 3495 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8211 "built/tmp/cppBison.yxx.c" +#line 8223 "built/tmp/cppBison.yxx.c" break; - case 590: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LECOMPARE no_angle_bracket_const_expr */ -#line 3468 "dtool/src/cppparser/cppBison.yxx" + case 597: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LECOMPARE no_angle_bracket_const_expr */ +#line 3499 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8219 "built/tmp/cppBison.yxx.c" +#line 8231 "built/tmp/cppBison.yxx.c" break; - case 591: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr GECOMPARE no_angle_bracket_const_expr */ -#line 3472 "dtool/src/cppparser/cppBison.yxx" + case 598: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr GECOMPARE no_angle_bracket_const_expr */ +#line 3503 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8227 "built/tmp/cppBison.yxx.c" +#line 8239 "built/tmp/cppBison.yxx.c" break; - case 592: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr SPACESHIP no_angle_bracket_const_expr */ -#line 3476 "dtool/src/cppparser/cppBison.yxx" + case 599: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr SPACESHIP no_angle_bracket_const_expr */ +#line 3507 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(SPACESHIP, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8235 "built/tmp/cppBison.yxx.c" +#line 8247 "built/tmp/cppBison.yxx.c" break; - case 593: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LSHIFT no_angle_bracket_const_expr */ -#line 3480 "dtool/src/cppparser/cppBison.yxx" + case 600: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LSHIFT no_angle_bracket_const_expr */ +#line 3511 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8243 "built/tmp/cppBison.yxx.c" +#line 8255 "built/tmp/cppBison.yxx.c" break; - case 594: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr RSHIFT no_angle_bracket_const_expr */ -#line 3484 "dtool/src/cppparser/cppBison.yxx" + case 601: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr RSHIFT no_angle_bracket_const_expr */ +#line 3515 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8251 "built/tmp/cppBison.yxx.c" +#line 8263 "built/tmp/cppBison.yxx.c" break; - case 595: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '?' no_angle_bracket_const_expr ':' no_angle_bracket_const_expr */ -#line 3488 "dtool/src/cppparser/cppBison.yxx" + case 602: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '?' no_angle_bracket_const_expr ':' no_angle_bracket_const_expr */ +#line 3519 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8259 "built/tmp/cppBison.yxx.c" +#line 8271 "built/tmp/cppBison.yxx.c" break; - case 596: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '[' const_expr ']' */ -#line 3492 "dtool/src/cppparser/cppBison.yxx" + case 603: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '[' const_expr ']' */ +#line 3523 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8267 "built/tmp/cppBison.yxx.c" +#line 8279 "built/tmp/cppBison.yxx.c" break; - case 597: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' const_expr_comma ')' */ -#line 3496 "dtool/src/cppparser/cppBison.yxx" + case 604: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' const_expr_comma ')' */ +#line 3527 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8275 "built/tmp/cppBison.yxx.c" +#line 8287 "built/tmp/cppBison.yxx.c" break; - case 598: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' ')' */ -#line 3500 "dtool/src/cppparser/cppBison.yxx" + case 605: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' ')' */ +#line 3531 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 8283 "built/tmp/cppBison.yxx.c" +#line 8295 "built/tmp/cppBison.yxx.c" break; - case 599: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '.' name */ -#line 3504 "dtool/src/cppparser/cppBison.yxx" + case 606: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '.' name */ +#line 3535 "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 8291 "built/tmp/cppBison.yxx.c" +#line 8303 "built/tmp/cppBison.yxx.c" break; - case 600: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr POINTSAT no_angle_bracket_const_expr */ -#line 3508 "dtool/src/cppparser/cppBison.yxx" + case 607: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr POINTSAT no_angle_bracket_const_expr */ +#line 3539 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8299 "built/tmp/cppBison.yxx.c" +#line 8311 "built/tmp/cppBison.yxx.c" break; - case 601: /* no_angle_bracket_const_expr: '(' const_expr_comma ')' */ -#line 3512 "dtool/src/cppparser/cppBison.yxx" + case 608: /* no_angle_bracket_const_expr: '(' const_expr_comma ')' */ +#line 3543 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 8307 "built/tmp/cppBison.yxx.c" +#line 8319 "built/tmp/cppBison.yxx.c" break; - case 602: /* const_expr: const_operand */ -#line 3520 "dtool/src/cppparser/cppBison.yxx" + case 609: /* const_expr: const_operand */ +#line 3551 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8315 "built/tmp/cppBison.yxx.c" +#line 8327 "built/tmp/cppBison.yxx.c" break; - case 603: /* const_expr: '(' full_type ')' const_expr */ -#line 3524 "dtool/src/cppparser/cppBison.yxx" + case 610: /* const_expr: '(' full_type ')' const_expr */ +#line 3555 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 8323 "built/tmp/cppBison.yxx.c" +#line 8335 "built/tmp/cppBison.yxx.c" break; - case 604: /* const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3528 "dtool/src/cppparser/cppBison.yxx" + case 611: /* const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3559 "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 8331 "built/tmp/cppBison.yxx.c" +#line 8343 "built/tmp/cppBison.yxx.c" break; - case 605: /* const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3532 "dtool/src/cppparser/cppBison.yxx" + case 612: /* const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3563 "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 8339 "built/tmp/cppBison.yxx.c" +#line 8351 "built/tmp/cppBison.yxx.c" break; - case 606: /* const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3536 "dtool/src/cppparser/cppBison.yxx" + case 613: /* const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3567 "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 8347 "built/tmp/cppBison.yxx.c" +#line 8359 "built/tmp/cppBison.yxx.c" break; - case 607: /* const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3540 "dtool/src/cppparser/cppBison.yxx" + case 614: /* const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3571 "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 8355 "built/tmp/cppBison.yxx.c" +#line 8367 "built/tmp/cppBison.yxx.c" break; - case 608: /* const_expr: TYPENAME_IDENTIFIER '(' optional_const_expr_comma ')' */ -#line 3544 "dtool/src/cppparser/cppBison.yxx" + case 615: /* const_expr: TYPENAME_IDENTIFIER '(' optional_const_expr_comma ')' */ +#line 3575 "dtool/src/cppparser/cppBison.yxx" { // A constructor call. CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -8365,11 +8377,11 @@ yyreduce: assert(type != nullptr); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8369 "built/tmp/cppBison.yxx.c" +#line 8381 "built/tmp/cppBison.yxx.c" break; - case 609: /* const_expr: TYPENAME_IDENTIFIER '{' optional_const_expr_comma '}' */ -#line 3554 "dtool/src/cppparser/cppBison.yxx" + case 616: /* const_expr: TYPENAME_IDENTIFIER '{' optional_const_expr_comma '}' */ +#line 3585 "dtool/src/cppparser/cppBison.yxx" { // Aggregate initialization. CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -8379,193 +8391,193 @@ yyreduce: assert(type != nullptr); (yyval.u.expr) = new CPPExpression(CPPExpression::aggregate_init_op(type, (yyvsp[-1].u.expr))); } -#line 8383 "built/tmp/cppBison.yxx.c" +#line 8395 "built/tmp/cppBison.yxx.c" break; - case 610: /* const_expr: KW_INT '(' optional_const_expr_comma ')' */ -#line 3564 "dtool/src/cppparser/cppBison.yxx" + case 617: /* const_expr: KW_INT '(' optional_const_expr_comma ')' */ +#line 3595 "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 8393 "built/tmp/cppBison.yxx.c" +#line 8405 "built/tmp/cppBison.yxx.c" break; - case 611: /* const_expr: KW_CHAR '(' optional_const_expr_comma ')' */ -#line 3570 "dtool/src/cppparser/cppBison.yxx" + case 618: /* const_expr: KW_CHAR '(' optional_const_expr_comma ')' */ +#line 3601 "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 8403 "built/tmp/cppBison.yxx.c" +#line 8415 "built/tmp/cppBison.yxx.c" break; - case 612: /* const_expr: KW_WCHAR_T '(' optional_const_expr_comma ')' */ -#line 3576 "dtool/src/cppparser/cppBison.yxx" + case 619: /* const_expr: KW_WCHAR_T '(' optional_const_expr_comma ')' */ +#line 3607 "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 8413 "built/tmp/cppBison.yxx.c" +#line 8425 "built/tmp/cppBison.yxx.c" break; - case 613: /* const_expr: KW_CHAR8_T '(' optional_const_expr_comma ')' */ -#line 3582 "dtool/src/cppparser/cppBison.yxx" + case 620: /* const_expr: KW_CHAR8_T '(' optional_const_expr_comma ')' */ +#line 3613 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char8_t)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8423 "built/tmp/cppBison.yxx.c" +#line 8435 "built/tmp/cppBison.yxx.c" break; - case 614: /* const_expr: KW_CHAR16_T '(' optional_const_expr_comma ')' */ -#line 3588 "dtool/src/cppparser/cppBison.yxx" + case 621: /* const_expr: KW_CHAR16_T '(' optional_const_expr_comma ')' */ +#line 3619 "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 8433 "built/tmp/cppBison.yxx.c" +#line 8445 "built/tmp/cppBison.yxx.c" break; - case 615: /* const_expr: KW_CHAR32_T '(' optional_const_expr_comma ')' */ -#line 3594 "dtool/src/cppparser/cppBison.yxx" + case 622: /* const_expr: KW_CHAR32_T '(' optional_const_expr_comma ')' */ +#line 3625 "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 8443 "built/tmp/cppBison.yxx.c" +#line 8455 "built/tmp/cppBison.yxx.c" break; - case 616: /* const_expr: KW_BOOL '(' optional_const_expr_comma ')' */ -#line 3600 "dtool/src/cppparser/cppBison.yxx" + case 623: /* const_expr: KW_BOOL '(' optional_const_expr_comma ')' */ +#line 3631 "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 8453 "built/tmp/cppBison.yxx.c" +#line 8465 "built/tmp/cppBison.yxx.c" break; - case 617: /* const_expr: KW_SHORT '(' optional_const_expr_comma ')' */ -#line 3606 "dtool/src/cppparser/cppBison.yxx" + case 624: /* const_expr: KW_SHORT '(' optional_const_expr_comma ')' */ +#line 3637 "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 8464 "built/tmp/cppBison.yxx.c" +#line 8476 "built/tmp/cppBison.yxx.c" break; - case 618: /* const_expr: KW_LONG '(' optional_const_expr_comma ')' */ -#line 3613 "dtool/src/cppparser/cppBison.yxx" + case 625: /* const_expr: KW_LONG '(' optional_const_expr_comma ')' */ +#line 3644 "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 8475 "built/tmp/cppBison.yxx.c" +#line 8487 "built/tmp/cppBison.yxx.c" break; - case 619: /* const_expr: KW_UNSIGNED '(' optional_const_expr_comma ')' */ -#line 3620 "dtool/src/cppparser/cppBison.yxx" + case 626: /* const_expr: KW_UNSIGNED '(' optional_const_expr_comma ')' */ +#line 3651 "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 8486 "built/tmp/cppBison.yxx.c" +#line 8498 "built/tmp/cppBison.yxx.c" break; - case 620: /* const_expr: KW_SIGNED '(' optional_const_expr_comma ')' */ -#line 3627 "dtool/src/cppparser/cppBison.yxx" + case 627: /* const_expr: KW_SIGNED '(' optional_const_expr_comma ')' */ +#line 3658 "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 8497 "built/tmp/cppBison.yxx.c" +#line 8509 "built/tmp/cppBison.yxx.c" break; - case 621: /* const_expr: KW_FLOAT '(' optional_const_expr_comma ')' */ -#line 3634 "dtool/src/cppparser/cppBison.yxx" + case 628: /* const_expr: KW_FLOAT '(' optional_const_expr_comma ')' */ +#line 3665 "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 8507 "built/tmp/cppBison.yxx.c" +#line 8519 "built/tmp/cppBison.yxx.c" break; - case 622: /* const_expr: KW_DOUBLE '(' optional_const_expr_comma ')' */ -#line 3640 "dtool/src/cppparser/cppBison.yxx" + case 629: /* const_expr: KW_DOUBLE '(' optional_const_expr_comma ')' */ +#line 3671 "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 8517 "built/tmp/cppBison.yxx.c" +#line 8529 "built/tmp/cppBison.yxx.c" break; - case 623: /* const_expr: KW_SIZEOF '(' full_type ')' */ -#line 3646 "dtool/src/cppparser/cppBison.yxx" + case 630: /* const_expr: KW_SIZEOF '(' full_type ')' */ +#line 3677 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 8525 "built/tmp/cppBison.yxx.c" +#line 8537 "built/tmp/cppBison.yxx.c" break; - case 624: /* const_expr: KW_SIZEOF const_expr */ -#line 3650 "dtool/src/cppparser/cppBison.yxx" + case 631: /* const_expr: KW_SIZEOF const_expr */ +#line 3681 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 8533 "built/tmp/cppBison.yxx.c" +#line 8545 "built/tmp/cppBison.yxx.c" break; - case 625: /* const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ -#line 3654 "dtool/src/cppparser/cppBison.yxx" + case 632: /* const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 3685 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 8541 "built/tmp/cppBison.yxx.c" +#line 8553 "built/tmp/cppBison.yxx.c" break; - case 626: /* const_expr: KW_ALIGNOF '(' full_type ')' */ -#line 3658 "dtool/src/cppparser/cppBison.yxx" + case 633: /* const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 3689 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 8549 "built/tmp/cppBison.yxx.c" +#line 8561 "built/tmp/cppBison.yxx.c" break; - case 627: /* const_expr: KW_NEW predefined_type */ -#line 3662 "dtool/src/cppparser/cppBison.yxx" + case 634: /* const_expr: KW_NEW predefined_type */ +#line 3693 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type))); } -#line 8557 "built/tmp/cppBison.yxx.c" +#line 8569 "built/tmp/cppBison.yxx.c" break; - case 628: /* const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ -#line 3666 "dtool/src/cppparser/cppBison.yxx" + case 635: /* const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ +#line 3697 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr))); } -#line 8565 "built/tmp/cppBison.yxx.c" +#line 8577 "built/tmp/cppBison.yxx.c" break; - case 629: /* const_expr: KW_TYPEID '(' full_type ')' */ -#line 3670 "dtool/src/cppparser/cppBison.yxx" + case 636: /* const_expr: KW_TYPEID '(' full_type ')' */ +#line 3701 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -8576,11 +8588,11 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info)); } -#line 8580 "built/tmp/cppBison.yxx.c" +#line 8592 "built/tmp/cppBison.yxx.c" break; - case 630: /* const_expr: KW_TYPEID '(' const_expr ')' */ -#line 3681 "dtool/src/cppparser/cppBison.yxx" + case 637: /* const_expr: KW_TYPEID '(' const_expr ')' */ +#line 3712 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -8591,378 +8603,378 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info)); } -#line 8595 "built/tmp/cppBison.yxx.c" +#line 8607 "built/tmp/cppBison.yxx.c" break; - case 631: /* const_expr: '!' const_expr */ -#line 3692 "dtool/src/cppparser/cppBison.yxx" + case 638: /* const_expr: '!' const_expr */ +#line 3723 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 8603 "built/tmp/cppBison.yxx.c" +#line 8615 "built/tmp/cppBison.yxx.c" break; - case 632: /* const_expr: '~' const_expr */ -#line 3696 "dtool/src/cppparser/cppBison.yxx" + case 639: /* const_expr: '~' const_expr */ +#line 3727 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 8611 "built/tmp/cppBison.yxx.c" +#line 8623 "built/tmp/cppBison.yxx.c" break; - case 633: /* const_expr: '-' const_expr */ -#line 3700 "dtool/src/cppparser/cppBison.yxx" + case 640: /* const_expr: '-' const_expr */ +#line 3731 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 8619 "built/tmp/cppBison.yxx.c" +#line 8631 "built/tmp/cppBison.yxx.c" break; - case 634: /* const_expr: '+' const_expr */ -#line 3704 "dtool/src/cppparser/cppBison.yxx" + case 641: /* const_expr: '+' const_expr */ +#line 3735 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 8627 "built/tmp/cppBison.yxx.c" +#line 8639 "built/tmp/cppBison.yxx.c" break; - case 635: /* const_expr: '*' const_expr */ -#line 3708 "dtool/src/cppparser/cppBison.yxx" + case 642: /* const_expr: '*' const_expr */ +#line 3739 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr)); } -#line 8635 "built/tmp/cppBison.yxx.c" +#line 8647 "built/tmp/cppBison.yxx.c" break; - case 636: /* const_expr: '&' const_expr */ -#line 3712 "dtool/src/cppparser/cppBison.yxx" + case 643: /* const_expr: '&' const_expr */ +#line 3743 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 8643 "built/tmp/cppBison.yxx.c" +#line 8655 "built/tmp/cppBison.yxx.c" break; - case 637: /* const_expr: const_expr '*' const_expr */ -#line 3716 "dtool/src/cppparser/cppBison.yxx" + case 644: /* const_expr: const_expr '*' const_expr */ +#line 3747 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8651 "built/tmp/cppBison.yxx.c" +#line 8663 "built/tmp/cppBison.yxx.c" break; - case 638: /* const_expr: const_expr '/' const_expr */ -#line 3720 "dtool/src/cppparser/cppBison.yxx" + case 645: /* const_expr: const_expr '/' const_expr */ +#line 3751 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8659 "built/tmp/cppBison.yxx.c" +#line 8671 "built/tmp/cppBison.yxx.c" break; - case 639: /* const_expr: const_expr '%' const_expr */ -#line 3724 "dtool/src/cppparser/cppBison.yxx" + case 646: /* const_expr: const_expr '%' const_expr */ +#line 3755 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8667 "built/tmp/cppBison.yxx.c" +#line 8679 "built/tmp/cppBison.yxx.c" break; - case 640: /* const_expr: const_expr '+' const_expr */ -#line 3728 "dtool/src/cppparser/cppBison.yxx" + case 647: /* const_expr: const_expr '+' const_expr */ +#line 3759 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8675 "built/tmp/cppBison.yxx.c" +#line 8687 "built/tmp/cppBison.yxx.c" break; - case 641: /* const_expr: const_expr '-' const_expr */ -#line 3732 "dtool/src/cppparser/cppBison.yxx" + case 648: /* const_expr: const_expr '-' const_expr */ +#line 3763 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8683 "built/tmp/cppBison.yxx.c" +#line 8695 "built/tmp/cppBison.yxx.c" break; - case 642: /* const_expr: const_expr '|' const_expr */ -#line 3736 "dtool/src/cppparser/cppBison.yxx" + case 649: /* const_expr: const_expr '|' const_expr */ +#line 3767 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8691 "built/tmp/cppBison.yxx.c" +#line 8703 "built/tmp/cppBison.yxx.c" break; - case 643: /* const_expr: const_expr '^' const_expr */ -#line 3740 "dtool/src/cppparser/cppBison.yxx" + case 650: /* const_expr: const_expr '^' const_expr */ +#line 3771 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8699 "built/tmp/cppBison.yxx.c" +#line 8711 "built/tmp/cppBison.yxx.c" break; - case 644: /* const_expr: const_expr '&' const_expr */ -#line 3744 "dtool/src/cppparser/cppBison.yxx" + case 651: /* const_expr: const_expr '&' const_expr */ +#line 3775 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8707 "built/tmp/cppBison.yxx.c" +#line 8719 "built/tmp/cppBison.yxx.c" break; - case 645: /* const_expr: const_expr OROR const_expr */ -#line 3748 "dtool/src/cppparser/cppBison.yxx" + case 652: /* const_expr: const_expr OROR const_expr */ +#line 3779 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8715 "built/tmp/cppBison.yxx.c" +#line 8727 "built/tmp/cppBison.yxx.c" break; - case 646: /* const_expr: const_expr ANDAND const_expr */ -#line 3752 "dtool/src/cppparser/cppBison.yxx" + case 653: /* const_expr: const_expr ANDAND const_expr */ +#line 3783 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8723 "built/tmp/cppBison.yxx.c" +#line 8735 "built/tmp/cppBison.yxx.c" break; - case 647: /* const_expr: const_expr EQCOMPARE const_expr */ -#line 3756 "dtool/src/cppparser/cppBison.yxx" + case 654: /* const_expr: const_expr EQCOMPARE const_expr */ +#line 3787 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8731 "built/tmp/cppBison.yxx.c" +#line 8743 "built/tmp/cppBison.yxx.c" break; - case 648: /* const_expr: const_expr NECOMPARE const_expr */ -#line 3760 "dtool/src/cppparser/cppBison.yxx" + case 655: /* const_expr: const_expr NECOMPARE const_expr */ +#line 3791 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8739 "built/tmp/cppBison.yxx.c" +#line 8751 "built/tmp/cppBison.yxx.c" break; - case 649: /* const_expr: const_expr LECOMPARE const_expr */ -#line 3764 "dtool/src/cppparser/cppBison.yxx" + case 656: /* const_expr: const_expr LECOMPARE const_expr */ +#line 3795 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8747 "built/tmp/cppBison.yxx.c" +#line 8759 "built/tmp/cppBison.yxx.c" break; - case 650: /* const_expr: const_expr GECOMPARE const_expr */ -#line 3768 "dtool/src/cppparser/cppBison.yxx" + case 657: /* const_expr: const_expr GECOMPARE const_expr */ +#line 3799 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8755 "built/tmp/cppBison.yxx.c" +#line 8767 "built/tmp/cppBison.yxx.c" break; - case 651: /* const_expr: const_expr SPACESHIP const_expr */ -#line 3772 "dtool/src/cppparser/cppBison.yxx" + case 658: /* const_expr: const_expr SPACESHIP const_expr */ +#line 3803 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(SPACESHIP, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8763 "built/tmp/cppBison.yxx.c" +#line 8775 "built/tmp/cppBison.yxx.c" break; - case 652: /* const_expr: const_expr '<' const_expr */ -#line 3776 "dtool/src/cppparser/cppBison.yxx" + case 659: /* const_expr: const_expr '<' const_expr */ +#line 3807 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8771 "built/tmp/cppBison.yxx.c" +#line 8783 "built/tmp/cppBison.yxx.c" break; - case 653: /* const_expr: const_expr '>' const_expr */ -#line 3780 "dtool/src/cppparser/cppBison.yxx" + case 660: /* const_expr: const_expr '>' const_expr */ +#line 3811 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8779 "built/tmp/cppBison.yxx.c" +#line 8791 "built/tmp/cppBison.yxx.c" break; - case 654: /* const_expr: const_expr LSHIFT const_expr */ -#line 3784 "dtool/src/cppparser/cppBison.yxx" + case 661: /* const_expr: const_expr LSHIFT const_expr */ +#line 3815 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8787 "built/tmp/cppBison.yxx.c" +#line 8799 "built/tmp/cppBison.yxx.c" break; - case 655: /* const_expr: const_expr RSHIFT const_expr */ -#line 3788 "dtool/src/cppparser/cppBison.yxx" + case 662: /* const_expr: const_expr RSHIFT const_expr */ +#line 3819 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8795 "built/tmp/cppBison.yxx.c" +#line 8807 "built/tmp/cppBison.yxx.c" break; - case 656: /* const_expr: const_expr '?' const_expr ':' const_expr */ -#line 3792 "dtool/src/cppparser/cppBison.yxx" + case 663: /* const_expr: const_expr '?' const_expr ':' const_expr */ +#line 3823 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8803 "built/tmp/cppBison.yxx.c" +#line 8815 "built/tmp/cppBison.yxx.c" break; - case 657: /* const_expr: const_expr '[' const_expr ']' */ -#line 3796 "dtool/src/cppparser/cppBison.yxx" + case 664: /* const_expr: const_expr '[' const_expr ']' */ +#line 3827 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8811 "built/tmp/cppBison.yxx.c" +#line 8823 "built/tmp/cppBison.yxx.c" break; - case 658: /* const_expr: const_expr '(' const_expr_comma ')' */ -#line 3800 "dtool/src/cppparser/cppBison.yxx" + case 665: /* const_expr: const_expr '(' const_expr_comma ')' */ +#line 3831 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8819 "built/tmp/cppBison.yxx.c" +#line 8831 "built/tmp/cppBison.yxx.c" break; - case 659: /* const_expr: const_expr '(' ')' */ -#line 3804 "dtool/src/cppparser/cppBison.yxx" + case 666: /* const_expr: const_expr '(' ')' */ +#line 3835 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 8827 "built/tmp/cppBison.yxx.c" +#line 8839 "built/tmp/cppBison.yxx.c" break; - case 660: /* const_expr: KW_NOEXCEPT_LPAREN const_expr ')' */ -#line 3808 "dtool/src/cppparser/cppBison.yxx" + case 667: /* const_expr: KW_NOEXCEPT_LPAREN const_expr ')' */ +#line 3839 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(KW_NOEXCEPT, (yyvsp[-1].u.expr)); } -#line 8835 "built/tmp/cppBison.yxx.c" +#line 8847 "built/tmp/cppBison.yxx.c" break; - case 661: /* const_expr: const_expr '.' name */ -#line 3812 "dtool/src/cppparser/cppBison.yxx" + case 668: /* const_expr: const_expr '.' name */ +#line 3843 "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 8843 "built/tmp/cppBison.yxx.c" +#line 8855 "built/tmp/cppBison.yxx.c" break; - case 662: /* const_expr: const_expr POINTSAT const_expr */ -#line 3816 "dtool/src/cppparser/cppBison.yxx" + case 669: /* const_expr: const_expr POINTSAT const_expr */ +#line 3847 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8851 "built/tmp/cppBison.yxx.c" +#line 8863 "built/tmp/cppBison.yxx.c" break; - case 663: /* const_expr: '(' const_expr_comma ')' */ -#line 3820 "dtool/src/cppparser/cppBison.yxx" + case 670: /* const_expr: '(' const_expr_comma ')' */ +#line 3851 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 8859 "built/tmp/cppBison.yxx.c" +#line 8871 "built/tmp/cppBison.yxx.c" break; - case 664: /* const_operand: INTEGER */ -#line 3827 "dtool/src/cppparser/cppBison.yxx" + case 671: /* const_operand: INTEGER */ +#line 3858 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 8867 "built/tmp/cppBison.yxx.c" +#line 8879 "built/tmp/cppBison.yxx.c" break; - case 665: /* const_operand: KW_TRUE */ -#line 3831 "dtool/src/cppparser/cppBison.yxx" + case 672: /* const_operand: KW_TRUE */ +#line 3862 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } -#line 8875 "built/tmp/cppBison.yxx.c" +#line 8887 "built/tmp/cppBison.yxx.c" break; - case 666: /* const_operand: KW_FALSE */ -#line 3835 "dtool/src/cppparser/cppBison.yxx" + case 673: /* const_operand: KW_FALSE */ +#line 3866 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } -#line 8883 "built/tmp/cppBison.yxx.c" +#line 8895 "built/tmp/cppBison.yxx.c" break; - case 667: /* const_operand: CHAR_TOK */ -#line 3839 "dtool/src/cppparser/cppBison.yxx" + case 674: /* const_operand: CHAR_TOK */ +#line 3870 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 8891 "built/tmp/cppBison.yxx.c" +#line 8903 "built/tmp/cppBison.yxx.c" break; - case 668: /* const_operand: REAL */ -#line 3843 "dtool/src/cppparser/cppBison.yxx" + case 675: /* const_operand: REAL */ +#line 3874 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real)); } -#line 8899 "built/tmp/cppBison.yxx.c" +#line 8911 "built/tmp/cppBison.yxx.c" break; - case 669: /* const_operand: string_literal */ -#line 3847 "dtool/src/cppparser/cppBison.yxx" + case 676: /* const_operand: string_literal */ +#line 3878 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8907 "built/tmp/cppBison.yxx.c" +#line 8919 "built/tmp/cppBison.yxx.c" break; - case 670: /* const_operand: CUSTOM_LITERAL */ -#line 3851 "dtool/src/cppparser/cppBison.yxx" + case 677: /* const_operand: CUSTOM_LITERAL */ +#line 3882 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8915 "built/tmp/cppBison.yxx.c" +#line 8927 "built/tmp/cppBison.yxx.c" break; - case 671: /* const_operand: IDENTIFIER */ -#line 3855 "dtool/src/cppparser/cppBison.yxx" + case 678: /* const_operand: IDENTIFIER */ +#line 3886 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer); } -#line 8923 "built/tmp/cppBison.yxx.c" +#line 8935 "built/tmp/cppBison.yxx.c" break; - case 672: /* const_operand: KW_FINAL */ -#line 3859 "dtool/src/cppparser/cppBison.yxx" + case 679: /* const_operand: KW_FINAL */ +#line 3890 "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 8933 "built/tmp/cppBison.yxx.c" +#line 8945 "built/tmp/cppBison.yxx.c" break; - case 673: /* const_operand: KW_OVERRIDE */ -#line 3865 "dtool/src/cppparser/cppBison.yxx" + case 680: /* const_operand: KW_OVERRIDE */ +#line 3896 "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 8943 "built/tmp/cppBison.yxx.c" +#line 8955 "built/tmp/cppBison.yxx.c" break; - case 674: /* const_operand: KW_NULLPTR */ -#line 3871 "dtool/src/cppparser/cppBison.yxx" + case 681: /* const_operand: KW_NULLPTR */ +#line 3902 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); } -#line 8951 "built/tmp/cppBison.yxx.c" +#line 8963 "built/tmp/cppBison.yxx.c" break; - case 675: /* const_operand: '[' capture_list ']' function_post optional_attributes maybe_trailing_return_type '{' code '}' */ -#line 3875 "dtool/src/cppparser/cppBison.yxx" + case 682: /* const_operand: '[' capture_list ']' function_post optional_attributes maybe_trailing_return_type '{' code '}' */ +#line 3906 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-7].u.closure_type)->_flags = (yyvsp[-5].u.integer); (yyvsp[-7].u.closure_type)->_attributes = (yyvsp[-4].attr_list); (yyvsp[-7].u.closure_type)->_return_type = (yyvsp[-3].u.type); (yyval.u.expr) = new CPPExpression(CPPExpression::lambda((yyvsp[-7].u.closure_type))); } -#line 8962 "built/tmp/cppBison.yxx.c" +#line 8974 "built/tmp/cppBison.yxx.c" break; - case 676: /* const_operand: '[' capture_list ']' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type '{' code '}' */ -#line 3882 "dtool/src/cppparser/cppBison.yxx" + case 683: /* const_operand: '[' capture_list ']' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type '{' code '}' */ +#line 3913 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-10].u.closure_type)->_parameters = (yyvsp[-7].u.param_list); (yyvsp[-10].u.closure_type)->_flags = (yyvsp[-5].u.integer); @@ -8970,251 +8982,251 @@ yyreduce: (yyvsp[-10].u.closure_type)->_return_type = (yyvsp[-3].u.type); (yyval.u.expr) = new CPPExpression(CPPExpression::lambda((yyvsp[-10].u.closure_type))); } -#line 8974 "built/tmp/cppBison.yxx.c" +#line 8986 "built/tmp/cppBison.yxx.c" break; - case 677: /* const_operand: KW_HAS_VIRTUAL_DESTRUCTOR '(' full_type ')' */ -#line 3890 "dtool/src/cppparser/cppBison.yxx" + case 684: /* const_operand: KW_HAS_VIRTUAL_DESTRUCTOR '(' full_type ')' */ +#line 3921 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_HAS_VIRTUAL_DESTRUCTOR, (yyvsp[-1].u.type))); } -#line 8982 "built/tmp/cppBison.yxx.c" +#line 8994 "built/tmp/cppBison.yxx.c" break; - case 678: /* const_operand: KW_IS_ABSTRACT '(' full_type ')' */ -#line 3894 "dtool/src/cppparser/cppBison.yxx" + case 685: /* const_operand: KW_IS_ABSTRACT '(' full_type ')' */ +#line 3925 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_ABSTRACT, (yyvsp[-1].u.type))); } -#line 8990 "built/tmp/cppBison.yxx.c" +#line 9002 "built/tmp/cppBison.yxx.c" break; - case 679: /* const_operand: KW_IS_BASE_OF '(' full_type ',' full_type ')' */ -#line 3898 "dtool/src/cppparser/cppBison.yxx" + case 686: /* const_operand: KW_IS_BASE_OF '(' full_type ',' full_type ')' */ +#line 3929 "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 8998 "built/tmp/cppBison.yxx.c" +#line 9010 "built/tmp/cppBison.yxx.c" break; - case 680: /* const_operand: KW_IS_CLASS '(' full_type ')' */ -#line 3902 "dtool/src/cppparser/cppBison.yxx" + case 687: /* const_operand: KW_IS_CLASS '(' full_type ')' */ +#line 3933 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CLASS, (yyvsp[-1].u.type))); } -#line 9006 "built/tmp/cppBison.yxx.c" +#line 9018 "built/tmp/cppBison.yxx.c" break; - case 681: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ')' */ -#line 3906 "dtool/src/cppparser/cppBison.yxx" + case 688: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ')' */ +#line 3937 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONSTRUCTIBLE, (yyvsp[-1].u.type))); } -#line 9014 "built/tmp/cppBison.yxx.c" +#line 9026 "built/tmp/cppBison.yxx.c" break; - case 682: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ',' full_type ')' */ -#line 3910 "dtool/src/cppparser/cppBison.yxx" + case 689: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ',' full_type ')' */ +#line 3941 "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 9022 "built/tmp/cppBison.yxx.c" +#line 9034 "built/tmp/cppBison.yxx.c" break; - case 683: /* const_operand: KW_IS_CONVERTIBLE_TO '(' full_type ',' full_type ')' */ -#line 3914 "dtool/src/cppparser/cppBison.yxx" + case 690: /* const_operand: KW_IS_CONVERTIBLE_TO '(' full_type ',' full_type ')' */ +#line 3945 "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 9030 "built/tmp/cppBison.yxx.c" +#line 9042 "built/tmp/cppBison.yxx.c" break; - case 684: /* const_operand: KW_IS_DESTRUCTIBLE '(' full_type ')' */ -#line 3918 "dtool/src/cppparser/cppBison.yxx" + case 691: /* const_operand: KW_IS_DESTRUCTIBLE '(' full_type ')' */ +#line 3949 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_DESTRUCTIBLE, (yyvsp[-1].u.type))); } -#line 9038 "built/tmp/cppBison.yxx.c" +#line 9050 "built/tmp/cppBison.yxx.c" break; - case 685: /* const_operand: KW_IS_EMPTY '(' full_type ')' */ -#line 3922 "dtool/src/cppparser/cppBison.yxx" + case 692: /* const_operand: KW_IS_EMPTY '(' full_type ')' */ +#line 3953 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_EMPTY, (yyvsp[-1].u.type))); } -#line 9046 "built/tmp/cppBison.yxx.c" +#line 9058 "built/tmp/cppBison.yxx.c" break; - case 686: /* const_operand: KW_IS_ENUM '(' full_type ')' */ -#line 3926 "dtool/src/cppparser/cppBison.yxx" + case 693: /* const_operand: KW_IS_ENUM '(' full_type ')' */ +#line 3957 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_ENUM, (yyvsp[-1].u.type))); } -#line 9054 "built/tmp/cppBison.yxx.c" +#line 9066 "built/tmp/cppBison.yxx.c" break; - case 687: /* const_operand: KW_IS_FINAL '(' full_type ')' */ -#line 3930 "dtool/src/cppparser/cppBison.yxx" + case 694: /* const_operand: KW_IS_FINAL '(' full_type ')' */ +#line 3961 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_FINAL, (yyvsp[-1].u.type))); } -#line 9062 "built/tmp/cppBison.yxx.c" +#line 9074 "built/tmp/cppBison.yxx.c" break; - case 688: /* const_operand: KW_IS_FUNDAMENTAL '(' full_type ')' */ -#line 3934 "dtool/src/cppparser/cppBison.yxx" + case 695: /* const_operand: KW_IS_FUNDAMENTAL '(' full_type ')' */ +#line 3965 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_FUNDAMENTAL, (yyvsp[-1].u.type))); } -#line 9070 "built/tmp/cppBison.yxx.c" +#line 9082 "built/tmp/cppBison.yxx.c" break; - case 689: /* const_operand: KW_IS_POD '(' full_type ')' */ -#line 3938 "dtool/src/cppparser/cppBison.yxx" + case 696: /* const_operand: KW_IS_POD '(' full_type ')' */ +#line 3969 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_POD, (yyvsp[-1].u.type))); } -#line 9078 "built/tmp/cppBison.yxx.c" +#line 9090 "built/tmp/cppBison.yxx.c" break; - case 690: /* const_operand: KW_IS_POLYMORPHIC '(' full_type ')' */ -#line 3942 "dtool/src/cppparser/cppBison.yxx" + case 697: /* const_operand: KW_IS_POLYMORPHIC '(' full_type ')' */ +#line 3973 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_POLYMORPHIC, (yyvsp[-1].u.type))); } -#line 9086 "built/tmp/cppBison.yxx.c" +#line 9098 "built/tmp/cppBison.yxx.c" break; - case 691: /* const_operand: KW_IS_STANDARD_LAYOUT '(' full_type ')' */ -#line 3946 "dtool/src/cppparser/cppBison.yxx" + case 698: /* const_operand: KW_IS_STANDARD_LAYOUT '(' full_type ')' */ +#line 3977 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_STANDARD_LAYOUT, (yyvsp[-1].u.type))); } -#line 9094 "built/tmp/cppBison.yxx.c" +#line 9106 "built/tmp/cppBison.yxx.c" break; - case 692: /* const_operand: KW_IS_TRIVIAL '(' full_type ')' */ -#line 3950 "dtool/src/cppparser/cppBison.yxx" + case 699: /* const_operand: KW_IS_TRIVIAL '(' full_type ')' */ +#line 3981 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_TRIVIAL, (yyvsp[-1].u.type))); } -#line 9102 "built/tmp/cppBison.yxx.c" +#line 9114 "built/tmp/cppBison.yxx.c" break; - case 693: /* const_operand: KW_IS_TRIVIALLY_COPYABLE '(' full_type ')' */ -#line 3954 "dtool/src/cppparser/cppBison.yxx" + case 700: /* const_operand: KW_IS_TRIVIALLY_COPYABLE '(' full_type ')' */ +#line 3985 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_TRIVIALLY_COPYABLE, (yyvsp[-1].u.type))); } -#line 9110 "built/tmp/cppBison.yxx.c" +#line 9122 "built/tmp/cppBison.yxx.c" break; - case 694: /* const_operand: KW_IS_UNION '(' full_type ')' */ -#line 3958 "dtool/src/cppparser/cppBison.yxx" + case 701: /* const_operand: KW_IS_UNION '(' full_type ')' */ +#line 3989 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_UNION, (yyvsp[-1].u.type))); } -#line 9118 "built/tmp/cppBison.yxx.c" +#line 9130 "built/tmp/cppBison.yxx.c" break; - case 695: /* formal_const_expr: formal_const_operand */ -#line 3972 "dtool/src/cppparser/cppBison.yxx" + case 702: /* formal_const_expr: formal_const_operand */ +#line 4003 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9126 "built/tmp/cppBison.yxx.c" +#line 9138 "built/tmp/cppBison.yxx.c" break; - case 696: /* formal_const_expr: '(' full_type ')' const_expr */ -#line 3976 "dtool/src/cppparser/cppBison.yxx" + case 703: /* formal_const_expr: '(' full_type ')' const_expr */ +#line 4007 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 9134 "built/tmp/cppBison.yxx.c" +#line 9146 "built/tmp/cppBison.yxx.c" break; - case 697: /* formal_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3980 "dtool/src/cppparser/cppBison.yxx" + case 704: /* formal_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 4011 "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 9142 "built/tmp/cppBison.yxx.c" +#line 9154 "built/tmp/cppBison.yxx.c" break; - case 698: /* formal_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3984 "dtool/src/cppparser/cppBison.yxx" + case 705: /* formal_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 4015 "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 9150 "built/tmp/cppBison.yxx.c" +#line 9162 "built/tmp/cppBison.yxx.c" break; - case 699: /* formal_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3988 "dtool/src/cppparser/cppBison.yxx" + case 706: /* formal_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 4019 "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 9158 "built/tmp/cppBison.yxx.c" +#line 9170 "built/tmp/cppBison.yxx.c" break; - case 700: /* formal_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3992 "dtool/src/cppparser/cppBison.yxx" + case 707: /* formal_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 4023 "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 9166 "built/tmp/cppBison.yxx.c" +#line 9178 "built/tmp/cppBison.yxx.c" break; - case 701: /* formal_const_expr: KW_SIZEOF '(' full_type ')' */ -#line 3996 "dtool/src/cppparser/cppBison.yxx" + case 708: /* formal_const_expr: KW_SIZEOF '(' full_type ')' */ +#line 4027 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 9174 "built/tmp/cppBison.yxx.c" +#line 9186 "built/tmp/cppBison.yxx.c" break; - case 702: /* formal_const_expr: KW_SIZEOF formal_const_expr */ -#line 4000 "dtool/src/cppparser/cppBison.yxx" + case 709: /* formal_const_expr: KW_SIZEOF formal_const_expr */ +#line 4031 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 9182 "built/tmp/cppBison.yxx.c" +#line 9194 "built/tmp/cppBison.yxx.c" break; - case 703: /* formal_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ -#line 4004 "dtool/src/cppparser/cppBison.yxx" + case 710: /* formal_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 4035 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 9190 "built/tmp/cppBison.yxx.c" +#line 9202 "built/tmp/cppBison.yxx.c" break; - case 704: /* formal_const_expr: KW_ALIGNOF '(' full_type ')' */ -#line 4008 "dtool/src/cppparser/cppBison.yxx" + case 711: /* formal_const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 4039 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 9198 "built/tmp/cppBison.yxx.c" +#line 9210 "built/tmp/cppBison.yxx.c" break; - case 705: /* formal_const_expr: KW_NEW predefined_type */ -#line 4012 "dtool/src/cppparser/cppBison.yxx" + case 712: /* formal_const_expr: KW_NEW predefined_type */ +#line 4043 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type))); } -#line 9206 "built/tmp/cppBison.yxx.c" +#line 9218 "built/tmp/cppBison.yxx.c" break; - case 706: /* formal_const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ -#line 4016 "dtool/src/cppparser/cppBison.yxx" + case 713: /* formal_const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ +#line 4047 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr))); } -#line 9214 "built/tmp/cppBison.yxx.c" +#line 9226 "built/tmp/cppBison.yxx.c" break; - case 707: /* formal_const_expr: KW_TYPEID '(' full_type ')' */ -#line 4020 "dtool/src/cppparser/cppBison.yxx" + case 714: /* formal_const_expr: KW_TYPEID '(' full_type ')' */ +#line 4051 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -9225,11 +9237,11 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info)); } -#line 9229 "built/tmp/cppBison.yxx.c" +#line 9241 "built/tmp/cppBison.yxx.c" break; - case 708: /* formal_const_expr: KW_TYPEID '(' const_expr ')' */ -#line 4031 "dtool/src/cppparser/cppBison.yxx" + case 715: /* formal_const_expr: KW_TYPEID '(' const_expr ')' */ +#line 4062 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -9240,417 +9252,417 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info)); } -#line 9244 "built/tmp/cppBison.yxx.c" +#line 9256 "built/tmp/cppBison.yxx.c" break; - case 709: /* formal_const_expr: '!' const_expr */ -#line 4042 "dtool/src/cppparser/cppBison.yxx" + case 716: /* formal_const_expr: '!' const_expr */ +#line 4073 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 9252 "built/tmp/cppBison.yxx.c" +#line 9264 "built/tmp/cppBison.yxx.c" break; - case 710: /* formal_const_expr: '~' const_expr */ -#line 4046 "dtool/src/cppparser/cppBison.yxx" + case 717: /* formal_const_expr: '~' const_expr */ +#line 4077 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 9260 "built/tmp/cppBison.yxx.c" +#line 9272 "built/tmp/cppBison.yxx.c" break; - case 711: /* formal_const_expr: '-' const_expr */ -#line 4050 "dtool/src/cppparser/cppBison.yxx" + case 718: /* formal_const_expr: '-' const_expr */ +#line 4081 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 9268 "built/tmp/cppBison.yxx.c" +#line 9280 "built/tmp/cppBison.yxx.c" break; - case 712: /* formal_const_expr: '+' const_expr */ -#line 4054 "dtool/src/cppparser/cppBison.yxx" + case 719: /* formal_const_expr: '+' const_expr */ +#line 4085 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 9276 "built/tmp/cppBison.yxx.c" +#line 9288 "built/tmp/cppBison.yxx.c" break; - case 713: /* formal_const_expr: '&' const_expr */ -#line 4058 "dtool/src/cppparser/cppBison.yxx" + case 720: /* formal_const_expr: '&' const_expr */ +#line 4089 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 9284 "built/tmp/cppBison.yxx.c" +#line 9296 "built/tmp/cppBison.yxx.c" break; - case 714: /* formal_const_expr: formal_const_expr '*' const_expr */ -#line 4062 "dtool/src/cppparser/cppBison.yxx" + case 721: /* formal_const_expr: formal_const_expr '*' const_expr */ +#line 4093 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9292 "built/tmp/cppBison.yxx.c" +#line 9304 "built/tmp/cppBison.yxx.c" break; - case 715: /* formal_const_expr: formal_const_expr '/' const_expr */ -#line 4066 "dtool/src/cppparser/cppBison.yxx" + case 722: /* formal_const_expr: formal_const_expr '/' const_expr */ +#line 4097 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9300 "built/tmp/cppBison.yxx.c" +#line 9312 "built/tmp/cppBison.yxx.c" break; - case 716: /* formal_const_expr: formal_const_expr '%' const_expr */ -#line 4070 "dtool/src/cppparser/cppBison.yxx" + case 723: /* formal_const_expr: formal_const_expr '%' const_expr */ +#line 4101 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9308 "built/tmp/cppBison.yxx.c" +#line 9320 "built/tmp/cppBison.yxx.c" break; - case 717: /* formal_const_expr: formal_const_expr '+' const_expr */ -#line 4074 "dtool/src/cppparser/cppBison.yxx" + case 724: /* formal_const_expr: formal_const_expr '+' const_expr */ +#line 4105 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9316 "built/tmp/cppBison.yxx.c" +#line 9328 "built/tmp/cppBison.yxx.c" break; - case 718: /* formal_const_expr: formal_const_expr '-' const_expr */ -#line 4078 "dtool/src/cppparser/cppBison.yxx" + case 725: /* formal_const_expr: formal_const_expr '-' const_expr */ +#line 4109 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9324 "built/tmp/cppBison.yxx.c" +#line 9336 "built/tmp/cppBison.yxx.c" break; - case 719: /* formal_const_expr: formal_const_expr '|' const_expr */ -#line 4082 "dtool/src/cppparser/cppBison.yxx" + case 726: /* formal_const_expr: formal_const_expr '|' const_expr */ +#line 4113 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9332 "built/tmp/cppBison.yxx.c" +#line 9344 "built/tmp/cppBison.yxx.c" break; - case 720: /* formal_const_expr: formal_const_expr '^' const_expr */ -#line 4086 "dtool/src/cppparser/cppBison.yxx" + case 727: /* formal_const_expr: formal_const_expr '^' const_expr */ +#line 4117 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9340 "built/tmp/cppBison.yxx.c" +#line 9352 "built/tmp/cppBison.yxx.c" break; - case 721: /* formal_const_expr: formal_const_expr '&' const_expr */ -#line 4090 "dtool/src/cppparser/cppBison.yxx" + case 728: /* formal_const_expr: formal_const_expr '&' const_expr */ +#line 4121 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9348 "built/tmp/cppBison.yxx.c" +#line 9360 "built/tmp/cppBison.yxx.c" break; - case 722: /* formal_const_expr: formal_const_expr OROR const_expr */ -#line 4094 "dtool/src/cppparser/cppBison.yxx" + case 729: /* formal_const_expr: formal_const_expr OROR const_expr */ +#line 4125 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9356 "built/tmp/cppBison.yxx.c" +#line 9368 "built/tmp/cppBison.yxx.c" break; - case 723: /* formal_const_expr: formal_const_expr ANDAND const_expr */ -#line 4098 "dtool/src/cppparser/cppBison.yxx" + case 730: /* formal_const_expr: formal_const_expr ANDAND const_expr */ +#line 4129 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9364 "built/tmp/cppBison.yxx.c" +#line 9376 "built/tmp/cppBison.yxx.c" break; - case 724: /* formal_const_expr: formal_const_expr EQCOMPARE const_expr */ -#line 4102 "dtool/src/cppparser/cppBison.yxx" + case 731: /* formal_const_expr: formal_const_expr EQCOMPARE const_expr */ +#line 4133 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9372 "built/tmp/cppBison.yxx.c" +#line 9384 "built/tmp/cppBison.yxx.c" break; - case 725: /* formal_const_expr: formal_const_expr NECOMPARE const_expr */ -#line 4106 "dtool/src/cppparser/cppBison.yxx" + case 732: /* formal_const_expr: formal_const_expr NECOMPARE const_expr */ +#line 4137 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9380 "built/tmp/cppBison.yxx.c" +#line 9392 "built/tmp/cppBison.yxx.c" break; - case 726: /* formal_const_expr: formal_const_expr LECOMPARE const_expr */ -#line 4110 "dtool/src/cppparser/cppBison.yxx" + case 733: /* formal_const_expr: formal_const_expr LECOMPARE const_expr */ +#line 4141 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9388 "built/tmp/cppBison.yxx.c" +#line 9400 "built/tmp/cppBison.yxx.c" break; - case 727: /* formal_const_expr: formal_const_expr GECOMPARE const_expr */ -#line 4114 "dtool/src/cppparser/cppBison.yxx" + case 734: /* formal_const_expr: formal_const_expr GECOMPARE const_expr */ +#line 4145 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9396 "built/tmp/cppBison.yxx.c" +#line 9408 "built/tmp/cppBison.yxx.c" break; - case 728: /* formal_const_expr: formal_const_expr SPACESHIP const_expr */ -#line 4118 "dtool/src/cppparser/cppBison.yxx" + case 735: /* formal_const_expr: formal_const_expr SPACESHIP const_expr */ +#line 4149 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(SPACESHIP, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9404 "built/tmp/cppBison.yxx.c" +#line 9416 "built/tmp/cppBison.yxx.c" break; - case 729: /* formal_const_expr: formal_const_expr '<' const_expr */ -#line 4122 "dtool/src/cppparser/cppBison.yxx" + case 736: /* formal_const_expr: formal_const_expr '<' const_expr */ +#line 4153 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9412 "built/tmp/cppBison.yxx.c" +#line 9424 "built/tmp/cppBison.yxx.c" break; - case 730: /* formal_const_expr: formal_const_expr '>' const_expr */ -#line 4126 "dtool/src/cppparser/cppBison.yxx" + case 737: /* formal_const_expr: formal_const_expr '>' const_expr */ +#line 4157 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9420 "built/tmp/cppBison.yxx.c" +#line 9432 "built/tmp/cppBison.yxx.c" break; - case 731: /* formal_const_expr: formal_const_expr LSHIFT const_expr */ -#line 4130 "dtool/src/cppparser/cppBison.yxx" + case 738: /* formal_const_expr: formal_const_expr LSHIFT const_expr */ +#line 4161 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9428 "built/tmp/cppBison.yxx.c" +#line 9440 "built/tmp/cppBison.yxx.c" break; - case 732: /* formal_const_expr: formal_const_expr RSHIFT const_expr */ -#line 4134 "dtool/src/cppparser/cppBison.yxx" + case 739: /* formal_const_expr: formal_const_expr RSHIFT const_expr */ +#line 4165 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9436 "built/tmp/cppBison.yxx.c" +#line 9448 "built/tmp/cppBison.yxx.c" break; - case 733: /* formal_const_expr: formal_const_expr '?' const_expr ':' const_expr */ -#line 4138 "dtool/src/cppparser/cppBison.yxx" + case 740: /* formal_const_expr: formal_const_expr '?' const_expr ':' const_expr */ +#line 4169 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9444 "built/tmp/cppBison.yxx.c" +#line 9456 "built/tmp/cppBison.yxx.c" break; - case 734: /* formal_const_expr: formal_const_expr '[' const_expr ']' */ -#line 4142 "dtool/src/cppparser/cppBison.yxx" + case 741: /* formal_const_expr: formal_const_expr '[' const_expr ']' */ +#line 4173 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 9452 "built/tmp/cppBison.yxx.c" +#line 9464 "built/tmp/cppBison.yxx.c" break; - case 735: /* formal_const_expr: formal_const_expr '(' const_expr_comma ')' */ -#line 4146 "dtool/src/cppparser/cppBison.yxx" + case 742: /* formal_const_expr: formal_const_expr '(' const_expr_comma ')' */ +#line 4177 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 9460 "built/tmp/cppBison.yxx.c" +#line 9472 "built/tmp/cppBison.yxx.c" break; - case 736: /* formal_const_expr: formal_const_expr '(' ')' */ -#line 4150 "dtool/src/cppparser/cppBison.yxx" + case 743: /* formal_const_expr: formal_const_expr '(' ')' */ +#line 4181 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 9468 "built/tmp/cppBison.yxx.c" +#line 9480 "built/tmp/cppBison.yxx.c" break; - case 737: /* formal_const_expr: formal_const_expr '.' name */ -#line 4154 "dtool/src/cppparser/cppBison.yxx" + case 744: /* formal_const_expr: formal_const_expr '.' name */ +#line 4185 "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 9476 "built/tmp/cppBison.yxx.c" +#line 9488 "built/tmp/cppBison.yxx.c" break; - case 738: /* formal_const_expr: formal_const_expr POINTSAT const_expr */ -#line 4158 "dtool/src/cppparser/cppBison.yxx" + case 745: /* formal_const_expr: formal_const_expr POINTSAT const_expr */ +#line 4189 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9484 "built/tmp/cppBison.yxx.c" +#line 9496 "built/tmp/cppBison.yxx.c" break; - case 739: /* formal_const_expr: '(' const_expr_comma ')' */ -#line 4162 "dtool/src/cppparser/cppBison.yxx" + case 746: /* formal_const_expr: '(' const_expr_comma ')' */ +#line 4193 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 9492 "built/tmp/cppBison.yxx.c" +#line 9504 "built/tmp/cppBison.yxx.c" break; - case 740: /* formal_const_operand: INTEGER */ -#line 4169 "dtool/src/cppparser/cppBison.yxx" + case 747: /* formal_const_operand: INTEGER */ +#line 4200 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 9500 "built/tmp/cppBison.yxx.c" +#line 9512 "built/tmp/cppBison.yxx.c" break; - case 741: /* formal_const_operand: KW_TRUE */ -#line 4173 "dtool/src/cppparser/cppBison.yxx" + case 748: /* formal_const_operand: KW_TRUE */ +#line 4204 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } -#line 9508 "built/tmp/cppBison.yxx.c" +#line 9520 "built/tmp/cppBison.yxx.c" break; - case 742: /* formal_const_operand: KW_FALSE */ -#line 4177 "dtool/src/cppparser/cppBison.yxx" + case 749: /* formal_const_operand: KW_FALSE */ +#line 4208 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } -#line 9516 "built/tmp/cppBison.yxx.c" +#line 9528 "built/tmp/cppBison.yxx.c" break; - case 743: /* formal_const_operand: CHAR_TOK */ -#line 4181 "dtool/src/cppparser/cppBison.yxx" + case 750: /* formal_const_operand: CHAR_TOK */ +#line 4212 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 9524 "built/tmp/cppBison.yxx.c" +#line 9536 "built/tmp/cppBison.yxx.c" break; - case 744: /* formal_const_operand: REAL */ -#line 4185 "dtool/src/cppparser/cppBison.yxx" + case 751: /* formal_const_operand: REAL */ +#line 4216 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real)); } -#line 9532 "built/tmp/cppBison.yxx.c" +#line 9544 "built/tmp/cppBison.yxx.c" break; - case 745: /* formal_const_operand: string_literal */ -#line 4189 "dtool/src/cppparser/cppBison.yxx" + case 752: /* formal_const_operand: string_literal */ +#line 4220 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9540 "built/tmp/cppBison.yxx.c" +#line 9552 "built/tmp/cppBison.yxx.c" break; - case 746: /* formal_const_operand: CUSTOM_LITERAL */ -#line 4193 "dtool/src/cppparser/cppBison.yxx" + case 753: /* formal_const_operand: CUSTOM_LITERAL */ +#line 4224 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9548 "built/tmp/cppBison.yxx.c" +#line 9560 "built/tmp/cppBison.yxx.c" break; - case 747: /* formal_const_operand: IDENTIFIER */ -#line 4197 "dtool/src/cppparser/cppBison.yxx" + case 754: /* formal_const_operand: IDENTIFIER */ +#line 4228 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer); } -#line 9556 "built/tmp/cppBison.yxx.c" +#line 9568 "built/tmp/cppBison.yxx.c" break; - case 748: /* formal_const_operand: KW_FINAL */ -#line 4201 "dtool/src/cppparser/cppBison.yxx" + case 755: /* formal_const_operand: KW_FINAL */ +#line 4232 "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 9566 "built/tmp/cppBison.yxx.c" +#line 9578 "built/tmp/cppBison.yxx.c" break; - case 749: /* formal_const_operand: KW_OVERRIDE */ -#line 4207 "dtool/src/cppparser/cppBison.yxx" + case 756: /* formal_const_operand: KW_OVERRIDE */ +#line 4238 "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 9576 "built/tmp/cppBison.yxx.c" +#line 9588 "built/tmp/cppBison.yxx.c" break; - case 750: /* formal_const_operand: KW_NULLPTR */ -#line 4213 "dtool/src/cppparser/cppBison.yxx" + case 757: /* formal_const_operand: KW_NULLPTR */ +#line 4244 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); } -#line 9584 "built/tmp/cppBison.yxx.c" +#line 9596 "built/tmp/cppBison.yxx.c" break; - case 751: /* capture_list: empty */ -#line 4221 "dtool/src/cppparser/cppBison.yxx" + case 758: /* capture_list: empty */ +#line 4252 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(); } -#line 9592 "built/tmp/cppBison.yxx.c" +#line 9604 "built/tmp/cppBison.yxx.c" break; - case 752: /* capture_list: '=' */ -#line 4225 "dtool/src/cppparser/cppBison.yxx" + case 759: /* capture_list: '=' */ +#line 4256 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(CPPClosureType::CT_by_value); } -#line 9600 "built/tmp/cppBison.yxx.c" +#line 9612 "built/tmp/cppBison.yxx.c" break; - case 753: /* capture_list: '&' */ -#line 4229 "dtool/src/cppparser/cppBison.yxx" + case 760: /* capture_list: '&' */ +#line 4260 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(CPPClosureType::CT_by_reference); } -#line 9608 "built/tmp/cppBison.yxx.c" +#line 9620 "built/tmp/cppBison.yxx.c" break; - case 754: /* capture_list: capture maybe_initialize */ -#line 4233 "dtool/src/cppparser/cppBison.yxx" + case 761: /* capture_list: capture maybe_initialize */ +#line 4264 "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 9619 "built/tmp/cppBison.yxx.c" +#line 9631 "built/tmp/cppBison.yxx.c" break; - case 755: /* capture_list: capture_list ',' capture maybe_initialize */ -#line 4240 "dtool/src/cppparser/cppBison.yxx" + case 762: /* capture_list: capture_list ',' capture maybe_initialize */ +#line 4271 "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 9630 "built/tmp/cppBison.yxx.c" +#line 9642 "built/tmp/cppBison.yxx.c" break; - case 756: /* capture: '&' name */ -#line 4250 "dtool/src/cppparser/cppBison.yxx" + case 763: /* capture: '&' name */ +#line 4281 "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 9640 "built/tmp/cppBison.yxx.c" +#line 9652 "built/tmp/cppBison.yxx.c" break; - case 757: /* capture: '&' name ELLIPSIS */ -#line 4256 "dtool/src/cppparser/cppBison.yxx" + case 764: /* capture: '&' name ELLIPSIS */ +#line 4287 "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 9650 "built/tmp/cppBison.yxx.c" +#line 9662 "built/tmp/cppBison.yxx.c" break; - case 758: /* capture: name */ -#line 4262 "dtool/src/cppparser/cppBison.yxx" + case 765: /* capture: name */ +#line 4293 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); @@ -9660,11 +9672,11 @@ yyreduce: (yyval.u.capture)->_type = CPPClosureType::CT_by_value; } } -#line 9664 "built/tmp/cppBison.yxx.c" +#line 9676 "built/tmp/cppBison.yxx.c" break; - case 759: /* capture: '*' name */ -#line 4272 "dtool/src/cppparser/cppBison.yxx" + case 766: /* capture: '*' name */ +#line 4303 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); @@ -9673,11 +9685,11 @@ yyreduce: yywarning("only capture name 'this' may be preceded by an asterisk", (yylsp[0])); } } -#line 9677 "built/tmp/cppBison.yxx.c" +#line 9689 "built/tmp/cppBison.yxx.c" break; - case 760: /* class_derivation_name: name */ -#line 4284 "dtool/src/cppparser/cppBison.yxx" + case 767: /* class_derivation_name: name */ +#line 4315 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, true); if (type == nullptr) { @@ -9685,177 +9697,177 @@ yyreduce: } (yyval.u.type) = type; } -#line 9689 "built/tmp/cppBison.yxx.c" +#line 9701 "built/tmp/cppBison.yxx.c" break; - case 761: /* class_derivation_name: KW_TYPENAME name */ -#line 4292 "dtool/src/cppparser/cppBison.yxx" + case 768: /* class_derivation_name: KW_TYPENAME name */ +#line 4323 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 9697 "built/tmp/cppBison.yxx.c" +#line 9709 "built/tmp/cppBison.yxx.c" break; - case 762: /* class_derivation_name: name ELLIPSIS */ -#line 4296 "dtool/src/cppparser/cppBison.yxx" + case 769: /* class_derivation_name: name ELLIPSIS */ +#line 4327 "dtool/src/cppparser/cppBison.yxx" { CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter((yyvsp[-1].u.identifier)); ctp->_packed = true; (yyval.u.type) = CPPType::new_type(ctp); } -#line 9707 "built/tmp/cppBison.yxx.c" +#line 9719 "built/tmp/cppBison.yxx.c" break; - case 763: /* name: IDENTIFIER */ -#line 4326 "dtool/src/cppparser/cppBison.yxx" + case 770: /* name: IDENTIFIER */ +#line 4357 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9715 "built/tmp/cppBison.yxx.c" +#line 9727 "built/tmp/cppBison.yxx.c" break; - case 764: /* name: TYPENAME_IDENTIFIER */ -#line 4330 "dtool/src/cppparser/cppBison.yxx" + case 771: /* name: TYPENAME_IDENTIFIER */ +#line 4361 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9723 "built/tmp/cppBison.yxx.c" +#line 9735 "built/tmp/cppBison.yxx.c" break; - case 765: /* name: TYPEPACK_IDENTIFIER */ -#line 4334 "dtool/src/cppparser/cppBison.yxx" + case 772: /* name: TYPEPACK_IDENTIFIER */ +#line 4365 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9731 "built/tmp/cppBison.yxx.c" +#line 9743 "built/tmp/cppBison.yxx.c" break; - case 766: /* name: KW_FINAL */ -#line 4338 "dtool/src/cppparser/cppBison.yxx" + case 773: /* name: KW_FINAL */ +#line 4369 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("final", (yylsp[0])); } -#line 9739 "built/tmp/cppBison.yxx.c" +#line 9751 "built/tmp/cppBison.yxx.c" break; - case 767: /* name: KW_OVERRIDE */ -#line 4342 "dtool/src/cppparser/cppBison.yxx" + case 774: /* name: KW_OVERRIDE */ +#line 4373 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0])); } -#line 9747 "built/tmp/cppBison.yxx.c" +#line 9759 "built/tmp/cppBison.yxx.c" break; - case 768: /* name: KW_SIGNED */ -#line 4346 "dtool/src/cppparser/cppBison.yxx" + case 775: /* name: KW_SIGNED */ +#line 4377 "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 9757 "built/tmp/cppBison.yxx.c" +#line 9769 "built/tmp/cppBison.yxx.c" break; - case 769: /* name: KW_FLOAT */ -#line 4352 "dtool/src/cppparser/cppBison.yxx" + case 776: /* name: KW_FLOAT */ +#line 4383 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("float", (yylsp[0])); } -#line 9765 "built/tmp/cppBison.yxx.c" +#line 9777 "built/tmp/cppBison.yxx.c" break; - case 770: /* name: KW_PUBLIC */ -#line 4356 "dtool/src/cppparser/cppBison.yxx" + case 777: /* name: KW_PUBLIC */ +#line 4387 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("public", (yylsp[0])); } -#line 9773 "built/tmp/cppBison.yxx.c" +#line 9785 "built/tmp/cppBison.yxx.c" break; - case 771: /* name: KW_PRIVATE */ -#line 4360 "dtool/src/cppparser/cppBison.yxx" + case 778: /* name: KW_PRIVATE */ +#line 4391 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("private", (yylsp[0])); } -#line 9781 "built/tmp/cppBison.yxx.c" +#line 9793 "built/tmp/cppBison.yxx.c" break; - case 772: /* name: KW_STATIC */ -#line 4364 "dtool/src/cppparser/cppBison.yxx" + case 779: /* name: KW_STATIC */ +#line 4395 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("static", (yylsp[0])); } -#line 9789 "built/tmp/cppBison.yxx.c" +#line 9801 "built/tmp/cppBison.yxx.c" break; - case 773: /* name: KW_DEFAULT */ -#line 4368 "dtool/src/cppparser/cppBison.yxx" + case 780: /* name: KW_DEFAULT */ +#line 4399 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("default", (yylsp[0])); } -#line 9797 "built/tmp/cppBison.yxx.c" +#line 9809 "built/tmp/cppBison.yxx.c" break; - case 774: /* name_no_final: IDENTIFIER */ -#line 4379 "dtool/src/cppparser/cppBison.yxx" + case 781: /* name_no_final: IDENTIFIER */ +#line 4410 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9805 "built/tmp/cppBison.yxx.c" +#line 9817 "built/tmp/cppBison.yxx.c" break; - case 775: /* name_no_final: TYPENAME_IDENTIFIER */ -#line 4383 "dtool/src/cppparser/cppBison.yxx" + case 782: /* name_no_final: TYPENAME_IDENTIFIER */ +#line 4414 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9813 "built/tmp/cppBison.yxx.c" +#line 9825 "built/tmp/cppBison.yxx.c" break; - case 776: /* name_no_final: TYPEPACK_IDENTIFIER */ -#line 4387 "dtool/src/cppparser/cppBison.yxx" + case 783: /* name_no_final: TYPEPACK_IDENTIFIER */ +#line 4418 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9821 "built/tmp/cppBison.yxx.c" +#line 9833 "built/tmp/cppBison.yxx.c" break; - case 777: /* name_no_final: KW_OVERRIDE */ -#line 4391 "dtool/src/cppparser/cppBison.yxx" + case 784: /* name_no_final: KW_OVERRIDE */ +#line 4422 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0])); } -#line 9829 "built/tmp/cppBison.yxx.c" +#line 9841 "built/tmp/cppBison.yxx.c" break; - case 778: /* string_literal: SIMPLE_STRING */ -#line 4399 "dtool/src/cppparser/cppBison.yxx" + case 785: /* string_literal: SIMPLE_STRING */ +#line 4430 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].str)); } -#line 9837 "built/tmp/cppBison.yxx.c" +#line 9849 "built/tmp/cppBison.yxx.c" break; - case 779: /* string_literal: STRING_LITERAL */ -#line 4403 "dtool/src/cppparser/cppBison.yxx" + case 786: /* string_literal: STRING_LITERAL */ +#line 4434 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9845 "built/tmp/cppBison.yxx.c" +#line 9857 "built/tmp/cppBison.yxx.c" break; - case 780: /* string_literal: string_literal SIMPLE_STRING */ -#line 4407 "dtool/src/cppparser/cppBison.yxx" + case 787: /* string_literal: string_literal SIMPLE_STRING */ +#line 4438 "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 9855 "built/tmp/cppBison.yxx.c" +#line 9867 "built/tmp/cppBison.yxx.c" break; - case 781: /* string_literal: string_literal STRING_LITERAL */ -#line 4413 "dtool/src/cppparser/cppBison.yxx" + case 788: /* string_literal: string_literal STRING_LITERAL */ +#line 4444 "dtool/src/cppparser/cppBison.yxx" { // We have to check that the two literal types match up. (yyval.u.expr) = (yyvsp[-1].u.expr); @@ -9864,11 +9876,11 @@ yyreduce: } (yyval.u.expr)->_str += (yyvsp[0].u.expr)->_str; } -#line 9868 "built/tmp/cppBison.yxx.c" +#line 9880 "built/tmp/cppBison.yxx.c" break; -#line 9872 "built/tmp/cppBison.yxx.c" +#line 9884 "built/tmp/cppBison.yxx.c" default: break; } diff --git a/dtool/src/cppparser/cppBison.h.prebuilt b/dtool/src/cppparser/cppBison.h.prebuilt index f5b85b696c..78032c0153 100644 --- a/dtool/src/cppparser/cppBison.h.prebuilt +++ b/dtool/src/cppparser/cppBison.h.prebuilt @@ -107,104 +107,106 @@ extern int cppyydebug; KW_BEGIN_PUBLISH = 308, /* KW_BEGIN_PUBLISH */ KW_BLOCKING = 309, /* KW_BLOCKING */ KW_BOOL = 310, /* KW_BOOL */ - KW_CATCH = 311, /* KW_CATCH */ - KW_CHAR = 312, /* KW_CHAR */ - KW_CHAR8_T = 313, /* KW_CHAR8_T */ - KW_CHAR16_T = 314, /* KW_CHAR16_T */ - KW_CHAR32_T = 315, /* KW_CHAR32_T */ - KW_CLASS = 316, /* KW_CLASS */ - KW_CONST = 317, /* KW_CONST */ - KW_CONSTEVAL = 318, /* KW_CONSTEVAL */ - KW_CONSTEXPR = 319, /* KW_CONSTEXPR */ - KW_CONSTINIT = 320, /* KW_CONSTINIT */ - KW_CONST_CAST = 321, /* KW_CONST_CAST */ - KW_DECLTYPE = 322, /* KW_DECLTYPE */ - KW_DEFAULT = 323, /* KW_DEFAULT */ - KW_DELETE = 324, /* KW_DELETE */ - KW_DOUBLE = 325, /* KW_DOUBLE */ - KW_DYNAMIC_CAST = 326, /* KW_DYNAMIC_CAST */ - KW_ELSE = 327, /* KW_ELSE */ - KW_END_PUBLISH = 328, /* KW_END_PUBLISH */ - KW_ENUM = 329, /* KW_ENUM */ - KW_EXTENSION = 330, /* KW_EXTENSION */ - KW_EXTERN = 331, /* KW_EXTERN */ - KW_EXPLICIT = 332, /* KW_EXPLICIT */ - KW_EXPLICIT_LPAREN = 333, /* KW_EXPLICIT_LPAREN */ - KW_PUBLISHED = 334, /* KW_PUBLISHED */ - KW_FALSE = 335, /* KW_FALSE */ - KW_FINAL = 336, /* KW_FINAL */ - KW_FLOAT = 337, /* KW_FLOAT */ - KW_FRIEND = 338, /* KW_FRIEND */ - KW_FOR = 339, /* KW_FOR */ - KW_GOTO = 340, /* KW_GOTO */ - KW_HAS_VIRTUAL_DESTRUCTOR = 341, /* KW_HAS_VIRTUAL_DESTRUCTOR */ - KW_IF = 342, /* KW_IF */ - KW_INLINE = 343, /* KW_INLINE */ - KW_INT = 344, /* KW_INT */ - KW_IS_ABSTRACT = 345, /* KW_IS_ABSTRACT */ - KW_IS_BASE_OF = 346, /* KW_IS_BASE_OF */ - KW_IS_CLASS = 347, /* KW_IS_CLASS */ - KW_IS_CONSTRUCTIBLE = 348, /* KW_IS_CONSTRUCTIBLE */ - KW_IS_CONVERTIBLE_TO = 349, /* KW_IS_CONVERTIBLE_TO */ - KW_IS_DESTRUCTIBLE = 350, /* KW_IS_DESTRUCTIBLE */ - KW_IS_EMPTY = 351, /* KW_IS_EMPTY */ - KW_IS_ENUM = 352, /* KW_IS_ENUM */ - KW_IS_FINAL = 353, /* KW_IS_FINAL */ - KW_IS_FUNDAMENTAL = 354, /* KW_IS_FUNDAMENTAL */ - KW_IS_POD = 355, /* KW_IS_POD */ - KW_IS_POLYMORPHIC = 356, /* KW_IS_POLYMORPHIC */ - KW_IS_STANDARD_LAYOUT = 357, /* KW_IS_STANDARD_LAYOUT */ - KW_IS_TRIVIAL = 358, /* KW_IS_TRIVIAL */ - KW_IS_TRIVIALLY_COPYABLE = 359, /* KW_IS_TRIVIALLY_COPYABLE */ - KW_IS_UNION = 360, /* KW_IS_UNION */ - KW_LONG = 361, /* KW_LONG */ - KW_MAKE_MAP_KEYS_SEQ = 362, /* KW_MAKE_MAP_KEYS_SEQ */ - KW_MAKE_MAP_PROPERTY = 363, /* KW_MAKE_MAP_PROPERTY */ - KW_MAKE_PROPERTY = 364, /* KW_MAKE_PROPERTY */ - KW_MAKE_PROPERTY2 = 365, /* KW_MAKE_PROPERTY2 */ - KW_MAKE_SEQ = 366, /* KW_MAKE_SEQ */ - KW_MAKE_SEQ_PROPERTY = 367, /* KW_MAKE_SEQ_PROPERTY */ - KW_MUTABLE = 368, /* KW_MUTABLE */ - KW_NAMESPACE = 369, /* KW_NAMESPACE */ - KW_NEW = 370, /* KW_NEW */ - KW_NOEXCEPT = 371, /* KW_NOEXCEPT */ - KW_NOEXCEPT_LPAREN = 372, /* KW_NOEXCEPT_LPAREN */ - KW_NULLPTR = 373, /* KW_NULLPTR */ - KW_OPERATOR = 374, /* KW_OPERATOR */ - KW_OVERRIDE = 375, /* KW_OVERRIDE */ - KW_PRIVATE = 376, /* KW_PRIVATE */ - KW_PROTECTED = 377, /* KW_PROTECTED */ - KW_PUBLIC = 378, /* KW_PUBLIC */ - KW_REGISTER = 379, /* KW_REGISTER */ - KW_REINTERPRET_CAST = 380, /* KW_REINTERPRET_CAST */ - KW_RETURN = 381, /* KW_RETURN */ - KW_SHORT = 382, /* KW_SHORT */ - KW_SIGNED = 383, /* KW_SIGNED */ - KW_SIZEOF = 384, /* KW_SIZEOF */ - KW_STATIC = 385, /* KW_STATIC */ - KW_STATIC_ASSERT = 386, /* KW_STATIC_ASSERT */ - KW_STATIC_CAST = 387, /* KW_STATIC_CAST */ - KW_STRUCT = 388, /* KW_STRUCT */ - KW_TEMPLATE = 389, /* KW_TEMPLATE */ - KW_THREAD_LOCAL = 390, /* KW_THREAD_LOCAL */ - KW_THROW = 391, /* KW_THROW */ - KW_TRUE = 392, /* KW_TRUE */ - KW_TRY = 393, /* KW_TRY */ - KW_TYPEDEF = 394, /* KW_TYPEDEF */ - KW_TYPEID = 395, /* KW_TYPEID */ - KW_TYPENAME = 396, /* KW_TYPENAME */ - KW_UNDERLYING_TYPE = 397, /* KW_UNDERLYING_TYPE */ - KW_UNION = 398, /* KW_UNION */ - KW_UNSIGNED = 399, /* KW_UNSIGNED */ - KW_USING = 400, /* KW_USING */ - KW_VIRTUAL = 401, /* KW_VIRTUAL */ - KW_VOID = 402, /* KW_VOID */ - KW_VOLATILE = 403, /* KW_VOLATILE */ - KW_WCHAR_T = 404, /* KW_WCHAR_T */ - KW_WHILE = 405, /* KW_WHILE */ - START_CPP = 406, /* START_CPP */ - START_CONST_EXPR = 407, /* START_CONST_EXPR */ - START_TYPE = 408 /* START_TYPE */ + KW_BUILTIN_VA_LIST = 311, /* KW_BUILTIN_VA_LIST */ + KW_CATCH = 312, /* KW_CATCH */ + KW_CHAR = 313, /* KW_CHAR */ + KW_CHAR8_T = 314, /* KW_CHAR8_T */ + KW_CHAR16_T = 315, /* KW_CHAR16_T */ + KW_CHAR32_T = 316, /* KW_CHAR32_T */ + KW_CLASS = 317, /* KW_CLASS */ + KW_CONST = 318, /* KW_CONST */ + KW_CONSTEVAL = 319, /* KW_CONSTEVAL */ + KW_CONSTEXPR = 320, /* KW_CONSTEXPR */ + KW_CONSTINIT = 321, /* KW_CONSTINIT */ + KW_CONST_CAST = 322, /* KW_CONST_CAST */ + KW_DECLTYPE = 323, /* KW_DECLTYPE */ + KW_DEFAULT = 324, /* KW_DEFAULT */ + KW_DELETE = 325, /* KW_DELETE */ + KW_DOUBLE = 326, /* KW_DOUBLE */ + KW_DYNAMIC_CAST = 327, /* KW_DYNAMIC_CAST */ + KW_ELSE = 328, /* KW_ELSE */ + KW_END_PUBLISH = 329, /* KW_END_PUBLISH */ + KW_ENUM = 330, /* KW_ENUM */ + KW_EXTENSION = 331, /* KW_EXTENSION */ + KW_EXTERN = 332, /* KW_EXTERN */ + KW_EXPLICIT = 333, /* KW_EXPLICIT */ + KW_EXPLICIT_LPAREN = 334, /* KW_EXPLICIT_LPAREN */ + KW_PUBLISHED = 335, /* KW_PUBLISHED */ + KW_FALSE = 336, /* KW_FALSE */ + KW_FINAL = 337, /* KW_FINAL */ + KW_FLOAT = 338, /* KW_FLOAT */ + KW_FRIEND = 339, /* KW_FRIEND */ + KW_FOR = 340, /* KW_FOR */ + KW_GOTO = 341, /* KW_GOTO */ + KW_HAS_VIRTUAL_DESTRUCTOR = 342, /* KW_HAS_VIRTUAL_DESTRUCTOR */ + KW_IF = 343, /* KW_IF */ + KW_INLINE = 344, /* KW_INLINE */ + KW_INT = 345, /* KW_INT */ + KW_IS_ABSTRACT = 346, /* KW_IS_ABSTRACT */ + KW_IS_BASE_OF = 347, /* KW_IS_BASE_OF */ + KW_IS_CLASS = 348, /* KW_IS_CLASS */ + KW_IS_CONSTRUCTIBLE = 349, /* KW_IS_CONSTRUCTIBLE */ + KW_IS_CONVERTIBLE_TO = 350, /* KW_IS_CONVERTIBLE_TO */ + KW_IS_DESTRUCTIBLE = 351, /* KW_IS_DESTRUCTIBLE */ + KW_IS_EMPTY = 352, /* KW_IS_EMPTY */ + KW_IS_ENUM = 353, /* KW_IS_ENUM */ + KW_IS_FINAL = 354, /* KW_IS_FINAL */ + KW_IS_FUNDAMENTAL = 355, /* KW_IS_FUNDAMENTAL */ + KW_IS_POD = 356, /* KW_IS_POD */ + KW_IS_POLYMORPHIC = 357, /* KW_IS_POLYMORPHIC */ + KW_IS_STANDARD_LAYOUT = 358, /* KW_IS_STANDARD_LAYOUT */ + KW_IS_TRIVIAL = 359, /* KW_IS_TRIVIAL */ + KW_IS_TRIVIALLY_COPYABLE = 360, /* KW_IS_TRIVIALLY_COPYABLE */ + KW_IS_UNION = 361, /* KW_IS_UNION */ + KW_LONG = 362, /* KW_LONG */ + KW_MAKE_MAP_KEYS_SEQ = 363, /* KW_MAKE_MAP_KEYS_SEQ */ + KW_MAKE_MAP_PROPERTY = 364, /* KW_MAKE_MAP_PROPERTY */ + KW_MAKE_PROPERTY = 365, /* KW_MAKE_PROPERTY */ + KW_MAKE_PROPERTY2 = 366, /* KW_MAKE_PROPERTY2 */ + KW_MAKE_SEQ = 367, /* KW_MAKE_SEQ */ + KW_MAKE_SEQ_PROPERTY = 368, /* KW_MAKE_SEQ_PROPERTY */ + KW_MUTABLE = 369, /* KW_MUTABLE */ + KW_NAMESPACE = 370, /* KW_NAMESPACE */ + KW_NEW = 371, /* KW_NEW */ + KW_NOEXCEPT = 372, /* KW_NOEXCEPT */ + KW_NOEXCEPT_LPAREN = 373, /* KW_NOEXCEPT_LPAREN */ + KW_NULLPTR = 374, /* KW_NULLPTR */ + KW_OPERATOR = 375, /* KW_OPERATOR */ + KW_OVERRIDE = 376, /* KW_OVERRIDE */ + KW_PRIVATE = 377, /* KW_PRIVATE */ + KW_PROTECTED = 378, /* KW_PROTECTED */ + KW_PUBLIC = 379, /* KW_PUBLIC */ + KW_REGISTER = 380, /* KW_REGISTER */ + KW_REINTERPRET_CAST = 381, /* KW_REINTERPRET_CAST */ + KW_RESTRICT = 382, /* KW_RESTRICT */ + KW_RETURN = 383, /* KW_RETURN */ + KW_SHORT = 384, /* KW_SHORT */ + KW_SIGNED = 385, /* KW_SIGNED */ + KW_SIZEOF = 386, /* KW_SIZEOF */ + KW_STATIC = 387, /* KW_STATIC */ + KW_STATIC_ASSERT = 388, /* KW_STATIC_ASSERT */ + KW_STATIC_CAST = 389, /* KW_STATIC_CAST */ + KW_STRUCT = 390, /* KW_STRUCT */ + KW_TEMPLATE = 391, /* KW_TEMPLATE */ + KW_THREAD_LOCAL = 392, /* KW_THREAD_LOCAL */ + KW_THROW = 393, /* KW_THROW */ + KW_TRUE = 394, /* KW_TRUE */ + KW_TRY = 395, /* KW_TRY */ + KW_TYPEDEF = 396, /* KW_TYPEDEF */ + KW_TYPEID = 397, /* KW_TYPEID */ + KW_TYPENAME = 398, /* KW_TYPENAME */ + KW_UNDERLYING_TYPE = 399, /* KW_UNDERLYING_TYPE */ + KW_UNION = 400, /* KW_UNION */ + KW_UNSIGNED = 401, /* KW_UNSIGNED */ + KW_USING = 402, /* KW_USING */ + KW_VIRTUAL = 403, /* KW_VIRTUAL */ + KW_VOID = 404, /* KW_VOID */ + KW_VOLATILE = 405, /* KW_VOLATILE */ + KW_WCHAR_T = 406, /* KW_WCHAR_T */ + KW_WHILE = 407, /* KW_WHILE */ + START_CPP = 408, /* START_CPP */ + START_CONST_EXPR = 409, /* START_CONST_EXPR */ + START_TYPE = 410 /* START_TYPE */ }; typedef enum yytokentype yytoken_kind_t; #endif @@ -266,104 +268,106 @@ extern int cppyydebug; #define KW_BEGIN_PUBLISH 308 #define KW_BLOCKING 309 #define KW_BOOL 310 -#define KW_CATCH 311 -#define KW_CHAR 312 -#define KW_CHAR8_T 313 -#define KW_CHAR16_T 314 -#define KW_CHAR32_T 315 -#define KW_CLASS 316 -#define KW_CONST 317 -#define KW_CONSTEVAL 318 -#define KW_CONSTEXPR 319 -#define KW_CONSTINIT 320 -#define KW_CONST_CAST 321 -#define KW_DECLTYPE 322 -#define KW_DEFAULT 323 -#define KW_DELETE 324 -#define KW_DOUBLE 325 -#define KW_DYNAMIC_CAST 326 -#define KW_ELSE 327 -#define KW_END_PUBLISH 328 -#define KW_ENUM 329 -#define KW_EXTENSION 330 -#define KW_EXTERN 331 -#define KW_EXPLICIT 332 -#define KW_EXPLICIT_LPAREN 333 -#define KW_PUBLISHED 334 -#define KW_FALSE 335 -#define KW_FINAL 336 -#define KW_FLOAT 337 -#define KW_FRIEND 338 -#define KW_FOR 339 -#define KW_GOTO 340 -#define KW_HAS_VIRTUAL_DESTRUCTOR 341 -#define KW_IF 342 -#define KW_INLINE 343 -#define KW_INT 344 -#define KW_IS_ABSTRACT 345 -#define KW_IS_BASE_OF 346 -#define KW_IS_CLASS 347 -#define KW_IS_CONSTRUCTIBLE 348 -#define KW_IS_CONVERTIBLE_TO 349 -#define KW_IS_DESTRUCTIBLE 350 -#define KW_IS_EMPTY 351 -#define KW_IS_ENUM 352 -#define KW_IS_FINAL 353 -#define KW_IS_FUNDAMENTAL 354 -#define KW_IS_POD 355 -#define KW_IS_POLYMORPHIC 356 -#define KW_IS_STANDARD_LAYOUT 357 -#define KW_IS_TRIVIAL 358 -#define KW_IS_TRIVIALLY_COPYABLE 359 -#define KW_IS_UNION 360 -#define KW_LONG 361 -#define KW_MAKE_MAP_KEYS_SEQ 362 -#define KW_MAKE_MAP_PROPERTY 363 -#define KW_MAKE_PROPERTY 364 -#define KW_MAKE_PROPERTY2 365 -#define KW_MAKE_SEQ 366 -#define KW_MAKE_SEQ_PROPERTY 367 -#define KW_MUTABLE 368 -#define KW_NAMESPACE 369 -#define KW_NEW 370 -#define KW_NOEXCEPT 371 -#define KW_NOEXCEPT_LPAREN 372 -#define KW_NULLPTR 373 -#define KW_OPERATOR 374 -#define KW_OVERRIDE 375 -#define KW_PRIVATE 376 -#define KW_PROTECTED 377 -#define KW_PUBLIC 378 -#define KW_REGISTER 379 -#define KW_REINTERPRET_CAST 380 -#define KW_RETURN 381 -#define KW_SHORT 382 -#define KW_SIGNED 383 -#define KW_SIZEOF 384 -#define KW_STATIC 385 -#define KW_STATIC_ASSERT 386 -#define KW_STATIC_CAST 387 -#define KW_STRUCT 388 -#define KW_TEMPLATE 389 -#define KW_THREAD_LOCAL 390 -#define KW_THROW 391 -#define KW_TRUE 392 -#define KW_TRY 393 -#define KW_TYPEDEF 394 -#define KW_TYPEID 395 -#define KW_TYPENAME 396 -#define KW_UNDERLYING_TYPE 397 -#define KW_UNION 398 -#define KW_UNSIGNED 399 -#define KW_USING 400 -#define KW_VIRTUAL 401 -#define KW_VOID 402 -#define KW_VOLATILE 403 -#define KW_WCHAR_T 404 -#define KW_WHILE 405 -#define START_CPP 406 -#define START_CONST_EXPR 407 -#define START_TYPE 408 +#define KW_BUILTIN_VA_LIST 311 +#define KW_CATCH 312 +#define KW_CHAR 313 +#define KW_CHAR8_T 314 +#define KW_CHAR16_T 315 +#define KW_CHAR32_T 316 +#define KW_CLASS 317 +#define KW_CONST 318 +#define KW_CONSTEVAL 319 +#define KW_CONSTEXPR 320 +#define KW_CONSTINIT 321 +#define KW_CONST_CAST 322 +#define KW_DECLTYPE 323 +#define KW_DEFAULT 324 +#define KW_DELETE 325 +#define KW_DOUBLE 326 +#define KW_DYNAMIC_CAST 327 +#define KW_ELSE 328 +#define KW_END_PUBLISH 329 +#define KW_ENUM 330 +#define KW_EXTENSION 331 +#define KW_EXTERN 332 +#define KW_EXPLICIT 333 +#define KW_EXPLICIT_LPAREN 334 +#define KW_PUBLISHED 335 +#define KW_FALSE 336 +#define KW_FINAL 337 +#define KW_FLOAT 338 +#define KW_FRIEND 339 +#define KW_FOR 340 +#define KW_GOTO 341 +#define KW_HAS_VIRTUAL_DESTRUCTOR 342 +#define KW_IF 343 +#define KW_INLINE 344 +#define KW_INT 345 +#define KW_IS_ABSTRACT 346 +#define KW_IS_BASE_OF 347 +#define KW_IS_CLASS 348 +#define KW_IS_CONSTRUCTIBLE 349 +#define KW_IS_CONVERTIBLE_TO 350 +#define KW_IS_DESTRUCTIBLE 351 +#define KW_IS_EMPTY 352 +#define KW_IS_ENUM 353 +#define KW_IS_FINAL 354 +#define KW_IS_FUNDAMENTAL 355 +#define KW_IS_POD 356 +#define KW_IS_POLYMORPHIC 357 +#define KW_IS_STANDARD_LAYOUT 358 +#define KW_IS_TRIVIAL 359 +#define KW_IS_TRIVIALLY_COPYABLE 360 +#define KW_IS_UNION 361 +#define KW_LONG 362 +#define KW_MAKE_MAP_KEYS_SEQ 363 +#define KW_MAKE_MAP_PROPERTY 364 +#define KW_MAKE_PROPERTY 365 +#define KW_MAKE_PROPERTY2 366 +#define KW_MAKE_SEQ 367 +#define KW_MAKE_SEQ_PROPERTY 368 +#define KW_MUTABLE 369 +#define KW_NAMESPACE 370 +#define KW_NEW 371 +#define KW_NOEXCEPT 372 +#define KW_NOEXCEPT_LPAREN 373 +#define KW_NULLPTR 374 +#define KW_OPERATOR 375 +#define KW_OVERRIDE 376 +#define KW_PRIVATE 377 +#define KW_PROTECTED 378 +#define KW_PUBLIC 379 +#define KW_REGISTER 380 +#define KW_REINTERPRET_CAST 381 +#define KW_RESTRICT 382 +#define KW_RETURN 383 +#define KW_SHORT 384 +#define KW_SIGNED 385 +#define KW_SIZEOF 386 +#define KW_STATIC 387 +#define KW_STATIC_ASSERT 388 +#define KW_STATIC_CAST 389 +#define KW_STRUCT 390 +#define KW_TEMPLATE 391 +#define KW_THREAD_LOCAL 392 +#define KW_THROW 393 +#define KW_TRUE 394 +#define KW_TRY 395 +#define KW_TYPEDEF 396 +#define KW_TYPEID 397 +#define KW_TYPENAME 398 +#define KW_UNDERLYING_TYPE 399 +#define KW_UNION 400 +#define KW_UNSIGNED 401 +#define KW_USING 402 +#define KW_VIRTUAL 403 +#define KW_VOID 404 +#define KW_VOLATILE 405 +#define KW_WCHAR_T 406 +#define KW_WHILE 407 +#define START_CPP 408 +#define START_CONST_EXPR 409 +#define START_TYPE 410 /* Value type. */