diff --git a/dtool/src/cppparser/cppArrayType.cxx b/dtool/src/cppparser/cppArrayType.cxx index addf905764..efd06f17b6 100644 --- a/dtool/src/cppparser/cppArrayType.cxx +++ b/dtool/src/cppparser/cppArrayType.cxx @@ -80,6 +80,14 @@ is_trivial() const { return _element_type->is_trivial(); } +/** + * Returns true if the type can be safely copied by memcpy or memmove. + */ +bool CPPArrayType:: +is_trivially_copyable() const { + return _element_type->is_trivially_copyable(); +} + /** * Returns true if the type is default-constructible. */ diff --git a/dtool/src/cppparser/cppArrayType.h b/dtool/src/cppparser/cppArrayType.h index 7668950620..56afed1cbf 100644 --- a/dtool/src/cppparser/cppArrayType.h +++ b/dtool/src/cppparser/cppArrayType.h @@ -40,6 +40,7 @@ public: virtual bool is_tbd() const; virtual bool is_standard_layout() const; virtual bool is_trivial() const; + virtual bool is_trivially_copyable() const; virtual bool is_default_constructible() const; virtual bool is_copy_constructible() const; virtual bool is_copy_assignable() const; diff --git a/dtool/src/cppparser/cppBison.cxx.prebuilt b/dtool/src/cppparser/cppBison.cxx.prebuilt index d9ad7894cf..26e92e8511 100644 --- a/dtool/src/cppparser/cppBison.cxx.prebuilt +++ b/dtool/src/cppparser/cppBison.cxx.prebuilt @@ -403,191 +403,192 @@ enum yysymbol_kind_t 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_UNION = 104, /* KW_IS_UNION */ - YYSYMBOL_KW_LONG = 105, /* KW_LONG */ - YYSYMBOL_KW_MAKE_MAP_KEYS_SEQ = 106, /* KW_MAKE_MAP_KEYS_SEQ */ - YYSYMBOL_KW_MAKE_MAP_PROPERTY = 107, /* KW_MAKE_MAP_PROPERTY */ - YYSYMBOL_KW_MAKE_PROPERTY = 108, /* KW_MAKE_PROPERTY */ - YYSYMBOL_KW_MAKE_PROPERTY2 = 109, /* KW_MAKE_PROPERTY2 */ - YYSYMBOL_KW_MAKE_SEQ = 110, /* KW_MAKE_SEQ */ - YYSYMBOL_KW_MAKE_SEQ_PROPERTY = 111, /* KW_MAKE_SEQ_PROPERTY */ - YYSYMBOL_KW_MUTABLE = 112, /* KW_MUTABLE */ - YYSYMBOL_KW_NAMESPACE = 113, /* KW_NAMESPACE */ - YYSYMBOL_KW_NEW = 114, /* KW_NEW */ - YYSYMBOL_KW_NOEXCEPT = 115, /* KW_NOEXCEPT */ - YYSYMBOL_KW_NOEXCEPT_LPAREN = 116, /* KW_NOEXCEPT_LPAREN */ - YYSYMBOL_KW_NULLPTR = 117, /* KW_NULLPTR */ - YYSYMBOL_KW_OPERATOR = 118, /* KW_OPERATOR */ - YYSYMBOL_KW_OVERRIDE = 119, /* KW_OVERRIDE */ - YYSYMBOL_KW_PRIVATE = 120, /* KW_PRIVATE */ - YYSYMBOL_KW_PROTECTED = 121, /* KW_PROTECTED */ - YYSYMBOL_KW_PUBLIC = 122, /* KW_PUBLIC */ - YYSYMBOL_KW_REGISTER = 123, /* KW_REGISTER */ - YYSYMBOL_KW_REINTERPRET_CAST = 124, /* KW_REINTERPRET_CAST */ - YYSYMBOL_KW_RETURN = 125, /* KW_RETURN */ - YYSYMBOL_KW_SHORT = 126, /* KW_SHORT */ - YYSYMBOL_KW_SIGNED = 127, /* KW_SIGNED */ - YYSYMBOL_KW_SIZEOF = 128, /* KW_SIZEOF */ - YYSYMBOL_KW_STATIC = 129, /* KW_STATIC */ - YYSYMBOL_KW_STATIC_ASSERT = 130, /* KW_STATIC_ASSERT */ - YYSYMBOL_KW_STATIC_CAST = 131, /* KW_STATIC_CAST */ - YYSYMBOL_KW_STRUCT = 132, /* KW_STRUCT */ - YYSYMBOL_KW_TEMPLATE = 133, /* KW_TEMPLATE */ - YYSYMBOL_KW_THREAD_LOCAL = 134, /* KW_THREAD_LOCAL */ - YYSYMBOL_KW_THROW = 135, /* KW_THROW */ - YYSYMBOL_KW_TRUE = 136, /* KW_TRUE */ - YYSYMBOL_KW_TRY = 137, /* KW_TRY */ - YYSYMBOL_KW_TYPEDEF = 138, /* KW_TYPEDEF */ - YYSYMBOL_KW_TYPEID = 139, /* KW_TYPEID */ - YYSYMBOL_KW_TYPENAME = 140, /* KW_TYPENAME */ - YYSYMBOL_KW_UNDERLYING_TYPE = 141, /* KW_UNDERLYING_TYPE */ - YYSYMBOL_KW_UNION = 142, /* KW_UNION */ - YYSYMBOL_KW_UNSIGNED = 143, /* KW_UNSIGNED */ - YYSYMBOL_KW_USING = 144, /* KW_USING */ - YYSYMBOL_KW_VIRTUAL = 145, /* KW_VIRTUAL */ - YYSYMBOL_KW_VOID = 146, /* KW_VOID */ - YYSYMBOL_KW_VOLATILE = 147, /* KW_VOLATILE */ - YYSYMBOL_KW_WCHAR_T = 148, /* KW_WCHAR_T */ - YYSYMBOL_KW_WHILE = 149, /* KW_WHILE */ - YYSYMBOL_START_CPP = 150, /* START_CPP */ - YYSYMBOL_START_CONST_EXPR = 151, /* START_CONST_EXPR */ - YYSYMBOL_START_TYPE = 152, /* START_TYPE */ - YYSYMBOL_153_ = 153, /* '{' */ - YYSYMBOL_154_ = 154, /* ',' */ - YYSYMBOL_155_ = 155, /* ';' */ - YYSYMBOL_156_ = 156, /* ':' */ - YYSYMBOL_157_ = 157, /* '=' */ - YYSYMBOL_158_ = 158, /* '?' */ - YYSYMBOL_159_ = 159, /* '|' */ - YYSYMBOL_160_ = 160, /* '^' */ - YYSYMBOL_161_ = 161, /* '&' */ - YYSYMBOL_162_ = 162, /* '<' */ - YYSYMBOL_163_ = 163, /* '>' */ - YYSYMBOL_164_ = 164, /* '+' */ - YYSYMBOL_165_ = 165, /* '-' */ - YYSYMBOL_166_ = 166, /* '*' */ - YYSYMBOL_167_ = 167, /* '/' */ - YYSYMBOL_168_ = 168, /* '%' */ - YYSYMBOL_169_ = 169, /* '~' */ - YYSYMBOL_170_ = 170, /* '.' */ - YYSYMBOL_171_ = 171, /* '(' */ - YYSYMBOL_172_ = 172, /* '[' */ - YYSYMBOL_173_ = 173, /* ')' */ - YYSYMBOL_174_ = 174, /* '}' */ - YYSYMBOL_175_ = 175, /* '!' */ - YYSYMBOL_176_ = 176, /* ']' */ - YYSYMBOL_YYACCEPT = 177, /* $accept */ - YYSYMBOL_grammar = 178, /* grammar */ - YYSYMBOL_cpp = 179, /* cpp */ - YYSYMBOL_180_1 = 180, /* $@1 */ - YYSYMBOL_constructor_inits = 181, /* constructor_inits */ - YYSYMBOL_constructor_init = 182, /* constructor_init */ - YYSYMBOL_extern_c = 183, /* extern_c */ - YYSYMBOL_184_2 = 184, /* $@2 */ - YYSYMBOL_declaration = 185, /* declaration */ - YYSYMBOL_friend_declaration = 186, /* friend_declaration */ - YYSYMBOL_187_3 = 187, /* $@3 */ - YYSYMBOL_storage_class = 188, /* storage_class */ - YYSYMBOL_optional_attributes = 189, /* optional_attributes */ - YYSYMBOL_attribute_specifiers = 190, /* attribute_specifiers */ - YYSYMBOL_attribute_specifier = 191, /* attribute_specifier */ - YYSYMBOL_type_like_declaration = 192, /* type_like_declaration */ - YYSYMBOL_193_4 = 193, /* $@4 */ - YYSYMBOL_194_5 = 194, /* $@5 */ - YYSYMBOL_multiple_instance_identifiers = 195, /* multiple_instance_identifiers */ - YYSYMBOL_typedef_declaration = 196, /* typedef_declaration */ - YYSYMBOL_197_6 = 197, /* $@6 */ - YYSYMBOL_typedef_instance_identifiers = 198, /* typedef_instance_identifiers */ - YYSYMBOL_constructor_prototype = 199, /* constructor_prototype */ - YYSYMBOL_200_7 = 200, /* $@7 */ - YYSYMBOL_201_8 = 201, /* $@8 */ - YYSYMBOL_202_9 = 202, /* $@9 */ - YYSYMBOL_function_prototype = 203, /* function_prototype */ - YYSYMBOL_204_10 = 204, /* $@10 */ - YYSYMBOL_205_11 = 205, /* $@11 */ - YYSYMBOL_206_12 = 206, /* $@12 */ - YYSYMBOL_207_13 = 207, /* $@13 */ - YYSYMBOL_208_14 = 208, /* $@14 */ - YYSYMBOL_function_post = 209, /* function_post */ - YYSYMBOL_function_operator = 210, /* function_operator */ - YYSYMBOL_more_template_declaration = 211, /* more_template_declaration */ - YYSYMBOL_template_declaration = 212, /* template_declaration */ - YYSYMBOL_213_15 = 213, /* $@15 */ - YYSYMBOL_template_formal_parameters = 214, /* template_formal_parameters */ - YYSYMBOL_template_nonempty_formal_parameters = 215, /* template_nonempty_formal_parameters */ - YYSYMBOL_typename_keyword = 216, /* typename_keyword */ - YYSYMBOL_template_formal_parameter = 217, /* template_formal_parameter */ - YYSYMBOL_template_formal_parameter_type = 218, /* template_formal_parameter_type */ - YYSYMBOL_instance_identifier = 219, /* instance_identifier */ - YYSYMBOL_220_16 = 220, /* $@16 */ - YYSYMBOL_instance_identifier_and_maybe_trailing_return_type = 221, /* instance_identifier_and_maybe_trailing_return_type */ - YYSYMBOL_maybe_trailing_return_type = 222, /* maybe_trailing_return_type */ - YYSYMBOL_maybe_comma_identifier = 223, /* maybe_comma_identifier */ - YYSYMBOL_function_parameter_list = 224, /* function_parameter_list */ - YYSYMBOL_function_parameters = 225, /* function_parameters */ - YYSYMBOL_formal_parameter_list = 226, /* formal_parameter_list */ - YYSYMBOL_formal_parameters = 227, /* formal_parameters */ - YYSYMBOL_template_parameter_maybe_initialize = 228, /* template_parameter_maybe_initialize */ - YYSYMBOL_maybe_initialize = 229, /* maybe_initialize */ - YYSYMBOL_maybe_initialize_or_constructor_body = 230, /* maybe_initialize_or_constructor_body */ - YYSYMBOL_maybe_initialize_or_function_body = 231, /* maybe_initialize_or_function_body */ - YYSYMBOL_structure_init = 232, /* structure_init */ - YYSYMBOL_structure_init_body = 233, /* structure_init_body */ - YYSYMBOL_function_parameter = 234, /* function_parameter */ - YYSYMBOL_formal_parameter = 235, /* formal_parameter */ - YYSYMBOL_not_paren_formal_parameter_identifier = 236, /* not_paren_formal_parameter_identifier */ - YYSYMBOL_formal_parameter_identifier = 237, /* formal_parameter_identifier */ - YYSYMBOL_parameter_pack_identifier = 238, /* parameter_pack_identifier */ - YYSYMBOL_not_paren_empty_instance_identifier = 239, /* not_paren_empty_instance_identifier */ - YYSYMBOL_empty_instance_identifier = 240, /* empty_instance_identifier */ - YYSYMBOL_type = 241, /* type */ - YYSYMBOL_type_pack = 242, /* type_pack */ - YYSYMBOL_type_decl = 243, /* type_decl */ - YYSYMBOL_predefined_type = 244, /* predefined_type */ - YYSYMBOL_var_type_decl = 245, /* var_type_decl */ - YYSYMBOL_full_type = 246, /* full_type */ - YYSYMBOL_anonymous_struct = 247, /* anonymous_struct */ - YYSYMBOL_248_17 = 248, /* $@17 */ - YYSYMBOL_named_struct = 249, /* named_struct */ - YYSYMBOL_250_18 = 250, /* $@18 */ - YYSYMBOL_maybe_final = 251, /* maybe_final */ - YYSYMBOL_maybe_class_derivation = 252, /* maybe_class_derivation */ - YYSYMBOL_class_derivation = 253, /* class_derivation */ - YYSYMBOL_base_specification = 254, /* base_specification */ - YYSYMBOL_enum = 255, /* enum */ - YYSYMBOL_enum_decl = 256, /* enum_decl */ - YYSYMBOL_enum_element_type = 257, /* enum_element_type */ - YYSYMBOL_enum_body_trailing_comma = 258, /* enum_body_trailing_comma */ - YYSYMBOL_enum_body = 259, /* enum_body */ - YYSYMBOL_enum_keyword = 260, /* enum_keyword */ - YYSYMBOL_struct_keyword = 261, /* struct_keyword */ - YYSYMBOL_namespace_declaration = 262, /* namespace_declaration */ - YYSYMBOL_263_19 = 263, /* $@19 */ - YYSYMBOL_264_20 = 264, /* $@20 */ - YYSYMBOL_using_declaration = 265, /* using_declaration */ - YYSYMBOL_simple_type = 266, /* simple_type */ - YYSYMBOL_simple_int_type = 267, /* simple_int_type */ - YYSYMBOL_simple_float_type = 268, /* simple_float_type */ - YYSYMBOL_simple_void_type = 269, /* simple_void_type */ - YYSYMBOL_code = 270, /* code */ - YYSYMBOL_271_21 = 271, /* $@21 */ - YYSYMBOL_code_block = 272, /* code_block */ - YYSYMBOL_element = 273, /* element */ - YYSYMBOL_optional_const_expr = 274, /* optional_const_expr */ - YYSYMBOL_optional_const_expr_comma = 275, /* optional_const_expr_comma */ - YYSYMBOL_const_expr_comma = 276, /* const_expr_comma */ - YYSYMBOL_no_angle_bracket_const_expr = 277, /* no_angle_bracket_const_expr */ - YYSYMBOL_const_expr = 278, /* const_expr */ - YYSYMBOL_const_operand = 279, /* const_operand */ - YYSYMBOL_formal_const_expr = 280, /* formal_const_expr */ - YYSYMBOL_formal_const_operand = 281, /* formal_const_operand */ - YYSYMBOL_capture_list = 282, /* capture_list */ - YYSYMBOL_capture = 283, /* capture */ - YYSYMBOL_class_derivation_name = 284, /* class_derivation_name */ - YYSYMBOL_name = 285, /* name */ - YYSYMBOL_name_no_final = 286, /* name_no_final */ - YYSYMBOL_string_literal = 287, /* string_literal */ - YYSYMBOL_empty = 288 /* empty */ + 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_enum_decl = 257, /* enum_decl */ + YYSYMBOL_enum_element_type = 258, /* enum_element_type */ + YYSYMBOL_enum_body_trailing_comma = 259, /* enum_body_trailing_comma */ + YYSYMBOL_enum_body = 260, /* enum_body */ + YYSYMBOL_enum_keyword = 261, /* enum_keyword */ + YYSYMBOL_struct_keyword = 262, /* struct_keyword */ + YYSYMBOL_namespace_declaration = 263, /* namespace_declaration */ + YYSYMBOL_264_19 = 264, /* $@19 */ + YYSYMBOL_265_20 = 265, /* $@20 */ + YYSYMBOL_using_declaration = 266, /* using_declaration */ + YYSYMBOL_simple_type = 267, /* simple_type */ + YYSYMBOL_simple_int_type = 268, /* simple_int_type */ + YYSYMBOL_simple_float_type = 269, /* simple_float_type */ + YYSYMBOL_simple_void_type = 270, /* simple_void_type */ + YYSYMBOL_code = 271, /* code */ + YYSYMBOL_272_21 = 272, /* $@21 */ + YYSYMBOL_code_block = 273, /* code_block */ + YYSYMBOL_element = 274, /* element */ + YYSYMBOL_optional_const_expr = 275, /* optional_const_expr */ + YYSYMBOL_optional_const_expr_comma = 276, /* optional_const_expr_comma */ + YYSYMBOL_const_expr_comma = 277, /* const_expr_comma */ + YYSYMBOL_no_angle_bracket_const_expr = 278, /* no_angle_bracket_const_expr */ + YYSYMBOL_const_expr = 279, /* const_expr */ + YYSYMBOL_const_operand = 280, /* const_operand */ + YYSYMBOL_formal_const_expr = 281, /* formal_const_expr */ + YYSYMBOL_formal_const_operand = 282, /* formal_const_operand */ + YYSYMBOL_capture_list = 283, /* capture_list */ + YYSYMBOL_capture = 284, /* capture */ + YYSYMBOL_class_derivation_name = 285, /* class_derivation_name */ + YYSYMBOL_name = 286, /* name */ + YYSYMBOL_name_no_final = 287, /* name_no_final */ + YYSYMBOL_string_literal = 288, /* string_literal */ + YYSYMBOL_empty = 289 /* empty */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -916,21 +917,21 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 107 +#define YYFINAL 108 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 7021 +#define YYLAST 7072 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 177 +#define YYNTOKENS 178 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 112 /* YYNRULES -- Number of rules. */ -#define YYNRULES 780 +#define YYNRULES 781 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1666 +#define YYNSTATES 1670 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 407 +#define YYMAXUTOK 408 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -947,16 +948,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, 175, 2, 2, 2, 168, 161, 2, - 171, 173, 166, 164, 154, 165, 170, 167, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 156, 155, - 162, 157, 163, 158, 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 172, 2, 176, 160, 2, 2, 2, 2, 2, + 2, 173, 2, 177, 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, 2, 153, 159, 174, 169, 2, 2, 2, + 2, 2, 2, 154, 160, 175, 170, 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, @@ -984,92 +985,92 @@ 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 + 145, 146, 147, 148, 149, 150, 151, 152, 153 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 463, 463, 464, 468, 475, 476, 483, 482, 493, - 494, 498, 502, 506, 519, 518, 530, 531, 532, 533, - 534, 535, 536, 549, 558, 562, 570, 574, 578, 599, - 626, 647, 676, 712, 755, 767, 788, 824, 858, 880, - 916, 938, 949, 963, 962, 977, 981, 986, 990, 1001, - 1005, 1009, 1013, 1017, 1026, 1030, 1034, 1038, 1042, 1046, - 1050, 1054, 1058, 1065, 1069, 1074, 1082, 1087, 1095, 1099, - 1107, 1112, 1121, 1120, 1136, 1146, 1145, 1162, 1170, 1178, - 1190, 1207, 1206, 1221, 1236, 1246, 1262, 1261, 1304, 1303, - 1332, 1331, 1369, 1368, 1400, 1399, 1419, 1418, 1440, 1439, - 1472, 1471, 1498, 1511, 1515, 1519, 1523, 1527, 1536, 1540, - 1544, 1548, 1552, 1557, 1562, 1566, 1570, 1577, 1581, 1585, - 1589, 1593, 1597, 1601, 1605, 1609, 1613, 1617, 1621, 1625, - 1629, 1633, 1637, 1641, 1645, 1649, 1653, 1657, 1661, 1665, - 1669, 1673, 1677, 1681, 1685, 1689, 1693, 1697, 1701, 1705, - 1709, 1713, 1717, 1721, 1725, 1729, 1733, 1740, 1741, 1742, - 1746, 1748, 1747, 1755, 1756, 1760, 1761, 1765, 1771, 1780, - 1781, 1785, 1789, 1793, 1797, 1803, 1809, 1815, 1822, 1827, - 1836, 1840, 1845, 1853, 1865, 1869, 1883, 1898, 1903, 1908, - 1913, 1918, 1923, 1928, 1933, 1939, 1938, 1969, 1979, 1989, - 1993, 1997, 2006, 2010, 2018, 2022, 2027, 2031, 2036, 2044, - 2049, 2057, 2061, 2066, 2070, 2075, 2083, 2088, 2096, 2100, - 2107, 2111, 2118, 2122, 2126, 2130, 2134, 2141, 2145, 2149, - 2153, 2157, 2161, 2168, 2169, 2170, 2174, 2177, 2178, 2179, - 2183, 2189, 2196, 2203, 2209, 2216, 2223, 2235, 2239, 2249, - 2253, 2257, 2262, 2267, 2272, 2277, 2282, 2287, 2295, 2299, - 2303, 2308, 2313, 2318, 2323, 2328, 2333, 2338, 2344, 2352, - 2357, 2362, 2367, 2372, 2377, 2382, 2387, 2392, 2397, 2403, - 2411, 2415, 2420, 2425, 2430, 2435, 2440, 2445, 2450, 2455, - 2463, 2467, 2472, 2477, 2482, 2487, 2492, 2497, 2502, 2507, - 2512, 2518, 2525, 2532, 2542, 2546, 2554, 2558, 2562, 2566, - 2570, 2586, 2602, 2611, 2615, 2625, 2632, 2643, 2647, 2655, - 2659, 2663, 2667, 2671, 2687, 2703, 2721, 2730, 2734, 2744, - 2751, 2755, 2763, 2767, 2783, 2799, 2808, 2818, 2825, 2829, - 2837, 2841, 2846, 2850, 2859, 2858, 2883, 2882, 2912, 2913, - 2920, 2921, 2925, 2926, 2930, 2934, 2938, 2942, 2946, 2950, - 2954, 2958, 2962, 2966, 2973, 2981, 2985, 2989, 2994, 3002, - 3006, 3013, 3014, 3019, 3026, 3027, 3032, 3040, 3044, 3048, - 3055, 3059, 3063, 3071, 3070, 3093, 3092, 3115, 3116, 3120, - 3126, 3133, 3139, 3148, 3149, 3150, 3154, 3158, 3162, 3166, - 3170, 3174, 3178, 3183, 3188, 3193, 3198, 3202, 3207, 3216, - 3221, 3229, 3233, 3237, 3245, 3255, 3255, 3265, 3266, 3270, - 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, - 3281, 3281, 3281, 3282, 3282, 3282, 3282, 3282, 3283, 3283, - 3283, 3283, 3283, 3284, 3284, 3284, 3285, 3285, 3285, 3285, - 3285, 3286, 3286, 3286, 3286, 3286, 3287, 3287, 3288, 3288, - 3288, 3288, 3288, 3289, 3289, 3289, 3289, 3289, 3290, 3290, - 3290, 3290, 3290, 3291, 3291, 3291, 3291, 3291, 3292, 3292, - 3292, 3292, 3292, 3293, 3293, 3293, 3293, 3293, 3294, 3294, - 3294, 3294, 3294, 3294, 3295, 3295, 3295, 3295, 3295, 3296, - 3296, 3296, 3296, 3297, 3297, 3297, 3297, 3298, 3298, 3298, - 3298, 3298, 3299, 3299, 3299, 3299, 3300, 3300, 3300, 3300, - 3300, 3301, 3301, 3301, 3301, 3302, 3302, 3302, 3302, 3302, - 3303, 3303, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, - 3306, 3306, 3306, 3307, 3307, 3307, 3307, 3307, 3307, 3307, - 3307, 3307, 3307, 3308, 3308, 3312, 3316, 3323, 3327, 3334, - 3338, 3345, 3349, 3353, 3357, 3361, 3365, 3369, 3373, 3377, - 3381, 3385, 3389, 3393, 3397, 3401, 3405, 3409, 3413, 3417, - 3421, 3425, 3429, 3433, 3437, 3441, 3445, 3449, 3453, 3457, - 3461, 3465, 3469, 3473, 3477, 3481, 3485, 3489, 3493, 3497, - 3501, 3509, 3513, 3517, 3521, 3525, 3529, 3533, 3543, 3553, - 3559, 3565, 3571, 3577, 3583, 3589, 3595, 3602, 3609, 3616, - 3623, 3629, 3635, 3639, 3643, 3647, 3651, 3655, 3659, 3670, - 3681, 3685, 3689, 3693, 3697, 3701, 3705, 3709, 3713, 3717, - 3721, 3725, 3729, 3733, 3737, 3741, 3745, 3749, 3753, 3757, - 3761, 3765, 3769, 3773, 3777, 3781, 3785, 3789, 3793, 3797, - 3801, 3805, 3809, 3816, 3820, 3824, 3828, 3832, 3836, 3840, - 3844, 3848, 3854, 3860, 3864, 3871, 3879, 3883, 3887, 3891, - 3895, 3899, 3903, 3907, 3911, 3915, 3919, 3923, 3927, 3931, - 3935, 3939, 3943, 3957, 3961, 3965, 3969, 3973, 3977, 3981, - 3985, 3989, 3993, 3997, 4001, 4005, 4016, 4027, 4031, 4035, - 4039, 4043, 4047, 4051, 4055, 4059, 4063, 4067, 4071, 4075, - 4079, 4083, 4087, 4091, 4095, 4099, 4103, 4107, 4111, 4115, - 4119, 4123, 4127, 4131, 4135, 4139, 4143, 4147, 4154, 4158, - 4162, 4166, 4170, 4174, 4178, 4182, 4186, 4192, 4198, 4206, - 4210, 4214, 4218, 4225, 4235, 4241, 4247, 4257, 4269, 4277, - 4281, 4311, 4315, 4319, 4323, 4327, 4331, 4337, 4341, 4345, - 4349, 4353, 4364, 4368, 4372, 4376, 4384, 4388, 4392, 4398, - 4409 + 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, 2974, 2982, 2986, 2990, 2995, 3003, + 3007, 3014, 3015, 3020, 3027, 3028, 3033, 3041, 3045, 3049, + 3056, 3060, 3064, 3072, 3071, 3094, 3093, 3116, 3117, 3121, + 3127, 3134, 3140, 3149, 3150, 3151, 3155, 3159, 3163, 3167, + 3171, 3175, 3179, 3184, 3189, 3194, 3199, 3203, 3208, 3217, + 3222, 3230, 3234, 3238, 3246, 3256, 3256, 3266, 3267, 3271, + 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, + 3282, 3282, 3282, 3283, 3283, 3283, 3283, 3283, 3284, 3284, + 3284, 3284, 3284, 3285, 3285, 3285, 3286, 3286, 3286, 3286, + 3286, 3287, 3287, 3287, 3287, 3287, 3288, 3288, 3289, 3289, + 3289, 3289, 3289, 3290, 3290, 3290, 3290, 3290, 3291, 3291, + 3291, 3291, 3291, 3292, 3292, 3292, 3292, 3292, 3293, 3293, + 3293, 3293, 3293, 3294, 3294, 3294, 3294, 3294, 3295, 3295, + 3295, 3295, 3295, 3295, 3296, 3296, 3296, 3296, 3296, 3297, + 3297, 3297, 3297, 3298, 3298, 3298, 3298, 3299, 3299, 3299, + 3299, 3299, 3300, 3300, 3300, 3300, 3301, 3301, 3301, 3301, + 3301, 3302, 3302, 3302, 3302, 3303, 3303, 3303, 3303, 3303, + 3304, 3304, 3307, 3307, 3307, 3307, 3307, 3307, 3307, 3307, + 3307, 3307, 3307, 3308, 3308, 3308, 3308, 3308, 3308, 3308, + 3308, 3308, 3308, 3309, 3309, 3313, 3317, 3324, 3328, 3335, + 3339, 3346, 3350, 3354, 3358, 3362, 3366, 3370, 3374, 3378, + 3382, 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, 3510, 3514, 3518, 3522, 3526, 3530, 3534, 3544, 3554, + 3560, 3566, 3572, 3578, 3584, 3590, 3596, 3603, 3610, 3617, + 3624, 3630, 3636, 3640, 3644, 3648, 3652, 3656, 3660, 3671, + 3682, 3686, 3690, 3694, 3698, 3702, 3706, 3710, 3714, 3718, + 3722, 3726, 3730, 3734, 3738, 3742, 3746, 3750, 3754, 3758, + 3762, 3766, 3770, 3774, 3778, 3782, 3786, 3790, 3794, 3798, + 3802, 3806, 3810, 3817, 3821, 3825, 3829, 3833, 3837, 3841, + 3845, 3849, 3855, 3861, 3865, 3872, 3880, 3884, 3888, 3892, + 3896, 3900, 3904, 3908, 3912, 3916, 3920, 3924, 3928, 3932, + 3936, 3940, 3944, 3948, 3962, 3966, 3970, 3974, 3978, 3982, + 3986, 3990, 3994, 3998, 4002, 4006, 4010, 4021, 4032, 4036, + 4040, 4044, 4048, 4052, 4056, 4060, 4064, 4068, 4072, 4076, + 4080, 4084, 4088, 4092, 4096, 4100, 4104, 4108, 4112, 4116, + 4120, 4124, 4128, 4132, 4136, 4140, 4144, 4148, 4152, 4159, + 4163, 4167, 4171, 4175, 4179, 4183, 4187, 4191, 4197, 4203, + 4211, 4215, 4219, 4223, 4230, 4240, 4246, 4252, 4262, 4274, + 4282, 4286, 4316, 4320, 4324, 4328, 4332, 4336, 4342, 4346, + 4350, 4354, 4358, 4369, 4373, 4377, 4381, 4389, 4393, 4397, + 4403, 4414 }; #endif @@ -1107,13 +1108,13 @@ static const char *const yytname[] = "KW_IS_CONSTRUCTIBLE", "KW_IS_CONVERTIBLE_TO", "KW_IS_DESTRUCTIBLE", "KW_IS_EMPTY", "KW_IS_ENUM", "KW_IS_FINAL", "KW_IS_FUNDAMENTAL", "KW_IS_POD", "KW_IS_POLYMORPHIC", "KW_IS_STANDARD_LAYOUT", - "KW_IS_TRIVIAL", "KW_IS_UNION", "KW_LONG", "KW_MAKE_MAP_KEYS_SEQ", - "KW_MAKE_MAP_PROPERTY", "KW_MAKE_PROPERTY", "KW_MAKE_PROPERTY2", - "KW_MAKE_SEQ", "KW_MAKE_SEQ_PROPERTY", "KW_MUTABLE", "KW_NAMESPACE", - "KW_NEW", "KW_NOEXCEPT", "KW_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_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", @@ -1165,12 +1166,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-1067) +#define YYPACT_NINF (-1076) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-776) +#define YYTABLE_NINF (-777) #define yytable_value_is_error(Yyn) \ 0 @@ -1179,173 +1180,173 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 6, -1067, 4356, 6263, 39, 40, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -62, -119, -103, -79, -69, -64, - -58, -15, 23, 58, -1067, -1067, 76, 81, 126, 136, - 146, 149, 152, 154, 158, 169, 179, 196, 202, 230, - 244, 254, 268, 270, 274, 6525, 4356, -1067, -1067, 183, - 287, 307, 3228, 266, -1067, 311, 319, 336, 4356, 4356, - 4356, 4356, 4356, 2281, 1265, 4356, 3811, -1067, 155, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, 6381, 354, - -1067, 12, -1067, -1067, 4560, 5184, 5184, -1067, 5572, 356, - -1067, 5184, -1067, -1067, 88, 88, -1067, -1067, -1067, -1067, - -56, 121, 121, -1067, -1067, -1067, -1067, -1067, 5832, 374, - 321, -1067, 4356, 4356, 6263, 4356, 4356, 4356, 4356, 4356, - 6263, 4356, 6263, 4356, 6263, 4356, 6263, 6263, 6263, 6263, - 6263, 6263, 6263, 6263, 6263, 6263, 6263, 6263, 6263, 6263, - 6263, 4356, -1067, -1067, 389, 5572, 390, 399, 121, 121, - -1067, 5278, 6263, 4356, 4356, 410, 2281, 52, 6263, 2281, - 4356, 4356, 52, 52, 52, 52, 52, -62, -103, -79, - -69, -64, -58, 23, 76, 126, 5823, 5081, 6109, 6713, - 336, 343, -89, 3811, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, 5572, 5572, -99, 393, - -1067, -1067, 52, 4356, 4356, 4356, 4356, 4356, 4356, 4356, - 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, - 4356, 4356, 4356, 4356, 5572, 3369, 4356, -1067, -1067, 88, - 88, 3510, -1067, -1067, -1067, 5184, -1067, -1067, -1067, -1067, - 6263, -1067, 400, 907, 121, 88, 88, 121, 121, 215, - 404, -1067, 416, -1067, -1067, 115, 1624, 5572, 533, 436, - 427, 2941, -1067, 6770, 431, 449, -1067, 433, 435, 445, - 455, 456, 470, 481, 493, 488, 503, 492, 496, 512, - 518, 514, 526, -78, 522, 527, 531, 532, 535, 536, - 539, 542, 547, 548, 549, 550, 4356, -1067, 6263, 4356, - 5572, 5572, -1067, 517, 563, 565, 5572, 566, 581, 573, - 5299, 575, 577, 4356, 4356, -1067, 742, -1067, 1442, 587, - 4356, -1067, -1067, 5627, 5662, 1314, 1314, 925, 925, 1273, - 285, 285, -1067, 5590, 5817, 5834, 1595, 925, 925, 334, - 334, 52, 52, 52, -1067, -1067, -75, 1693, -1067, -1067, - 586, 5318, 588, 121, 121, 70, 404, -1067, 404, -1067, - 70, 70, -1067, 121, 121, 121, 6171, 589, 27, -1067, - 591, 4356, 5572, 593, -1067, -1067, -1067, -1067, -1067, 1497, - 612, 87, 186, 218, 219, -1067, -1067, -1067, 613, 121, - 5572, 4959, -62, -1067, 600, 5572, 601, 602, -1067, -1067, - -1067, 121, 121, -1067, 5337, -1067, 6874, 6874, 6874, 6874, - 6874, -1067, 6874, 6007, 6874, 4356, 617, -1067, 5880, 603, - 607, 610, 623, 624, 625, 6874, 85, 627, 628, 641, - 6874, 6874, 629, 1044, 6874, 6874, 6693, 6874, 6874, -1067, - -1067, -1067, 2428, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, 630, -1067, 631, -1067, - -1067, -1067, -1067, 6263, -1067, 6263, -1067, 6263, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, 5356, - 626, 634, -1067, -1067, 633, -1067, -1067, 636, 4497, 639, - -1067, -1067, -1067, -1067, 52, 3811, -1067, 5572, 393, 56, - 4836, -1067, 3811, 4356, -1067, -1067, -1067, -1067, -1067, 70, - 643, 645, 5572, 121, 70, 70, 121, 121, 646, -1067, - 646, 646, 70, 70, 70, 6289, 121, 743, 632, -1067, - -1067, 60, 637, 3811, -1067, 121, -1067, -1067, -1067, -1067, - 1497, -1067, 736, 5572, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, 648, 658, 660, -1067, -1067, 6525, -1067, -1067, - 665, 1240, 666, -1067, 662, 4356, 4356, 4356, 4356, 2281, - 4356, 661, 35, -1067, -1067, 4093, -1067, 155, 663, 3651, - -1067, 6263, 121, 1809, 1624, 121, 6014, 6874, -1067, -1067, - -1067, -1067, -1067, -1067, 6874, -1067, -1067, -1067, 5375, -1067, - 6770, 4594, -1067, 5572, 5572, 5572, 5572, 5572, 5572, -1067, - -1067, 5572, -1067, -1067, -1067, -1067, -1067, 4356, -1067, 5105, - -1067, 669, -1067, 5145, -1067, 5572, 5572, 19, -1067, -1067, - 460, 664, 6407, -1067, 5572, -1067, 484, 689, -1067, 4356, - 4356, 673, 674, 675, -1067, -1067, -1067, 4356, -1067, 4356, - -1067, 678, -1067, -1067, -1067, -1067, -1067, -1067, 4356, -1067, - 681, -1067, -1067, 822, 3811, 646, 121, 121, 70, 646, - 646, 70, 70, 4356, 83, 165, 212, 6381, 743, 632, - -1067, 691, 121, 743, 743, 121, 121, 743, -38, 121, - -1067, 693, 5572, 121, 632, 632, 121, 121, 632, 13, - 4836, -1067, -1067, 121, -98, 708, 16, -1067, 707, -1067, - 815, 6263, 6263, 6263, 695, 6263, 699, 2281, 55, 6263, - 2281, 52, 52, 52, 52, 701, -74, 52, -1067, -1067, - 4983, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, - 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, 4356, - 4356, 4356, 5572, 3792, 4356, 705, 5394, 709, -1067, -1067, - 716, -1067, -1067, -1067, 6874, -1067, -1067, 727, 729, 731, - 732, 733, 738, 739, 22, 728, 2960, 6053, 489, 723, - 484, -1067, -1067, 740, 744, -1067, 741, -1067, 31, 6617, - 718, -1067, 726, 479, -1067, -1067, 3087, -1067, -1067, 545, - -11, -9, -1067, -1067, -1067, 151, 159, -1067, 5552, 843, - 6499, 747, -1067, 70, -1067, 646, 646, 646, 737, 734, - 735, 745, 743, 632, -38, 13, 121, 743, 748, 748, - 743, 743, 221, 4356, -1067, -1067, 121, 121, 632, 750, - 750, 632, 632, 289, 4356, -1067, 822, 751, -1067, 4356, - -1067, 5069, 749, 754, -1067, 121, 753, 752, 764, 4356, - 765, 5572, 756, 768, 759, 5571, 4356, -1067, -1067, -1067, - 5627, 5662, 1314, 1314, 925, 925, 1273, 285, 285, -1067, - 5609, 5817, 5834, 1595, 925, 925, 334, 334, 52, 52, - 52, -1067, -1067, 174, 1900, -1067, -1067, -1067, 1497, -1067, - 98, -1067, 893, 902, 923, 926, 927, 930, -1067, -1067, - 273, 786, -1067, -1067, -1067, -1067, 6145, -1067, 779, 789, - 4695, -1067, 730, -1067, -1067, 48, -1067, 545, -1067, -1067, - 6263, 56, 781, 792, 545, 56, 718, 795, 121, 718, - 718, 121, 121, 314, 121, -1067, 101, -1067, -1067, -1067, - 5572, 425, -1067, 790, -1067, 800, 811, 3933, 3247, 803, - 121, 545, 2075, 545, 121, 121, 545, -1067, 102, 495, - 121, -1067, -1067, -1067, -1067, 4836, -1067, -1067, 20, 6525, - 88, -1067, 646, 121, 56, 56, 56, -38, 13, -1067, - -1067, 743, 748, 748, 748, 802, 798, 632, -1067, 750, - 750, 750, 805, 801, -1067, 3529, 6139, 6375, 6611, 5572, - 257, -1067, -1067, 956, -1067, 5069, -1067, -1067, 807, 809, - 808, 824, 820, 4497, 825, -1067, -1067, 52, 4356, -1067, - -1067, 708, -1067, -1067, 828, 209, 845, 846, 850, 852, - -1067, 43, -1067, 730, 6847, 6053, 5572, 840, 842, 121, - 730, 730, 121, 121, 730, 89, 750, -1067, 495, 854, - 839, 844, 545, 502, 851, 348, 121, 718, 858, 858, - 718, 718, -1067, 4356, -1067, -1067, 56, 849, 383, -1067, - 97, 878, 882, -1067, 2757, -1067, -1067, -1067, 3933, 864, - 886, 3811, -1067, -1067, 121, 545, 382, 1031, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, 871, 869, -1067, 121, 382, - 545, 545, 524, 4356, -1067, 4356, -1067, 3087, 894, -1067, - -1067, 822, 874, -1067, 88, -1067, 877, -1067, 879, 883, - 885, -1067, -1067, 748, 56, 121, 750, 56, 121, -1067, - 6626, -1067, 6626, -1067, 6626, -1067, -1067, 6626, 6626, 6626, - -1067, 298, -1067, 4356, 4356, -1067, 4356, -1067, 4356, 3811, - 301, 1049, 1050, 906, 1052, 891, -1067, 1055, 1057, 1058, - 305, 916, 89, 750, -1067, -1067, -1067, -1067, -1067, -1067, - 6263, 121, 730, 730, 730, 4740, -1067, -1067, 919, -1067, - -1067, -1067, -1067, 546, 903, -1067, -1067, 718, 858, 858, - 858, 56, 900, 904, -1067, -1067, 5572, 4356, 4356, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1067, -1067, 908, -1067, - 4074, 545, 382, 121, -1067, -1067, -1067, 382, 382, -1067, - 3811, 4959, 905, 3247, 545, 931, -1067, -1067, -1067, -1067, - -1067, -1067, 910, -1067, 912, -1067, -1067, -1067, -1067, -1067, - -1067, -1067, -1067, 226, 248, 262, 265, -1067, 921, 286, - -1067, 946, 947, 337, 928, 342, -1067, -1067, -1067, -1067, - 730, 932, 942, 943, 948, 4638, 949, 4740, 4740, 4740, - 4740, 4740, 2281, 4740, 4375, -1067, 545, 4836, 56, 941, - -1067, 4836, 56, 858, 940, 121, -1067, 944, -1067, 951, - 960, 2583, -1067, 3933, 3811, 382, -1067, 961, 121, -1067, - -1067, 4836, 4836, 4836, -1067, -1067, -1067, -1067, -1067, -1067, - 959, 1105, 962, 1106, -1067, 1119, 980, 981, 1128, 986, - 6263, 6263, 6263, 6263, 971, 2281, 132, 6263, 132, 132, - 132, 132, 132, 970, 345, 132, 4740, 4740, 4740, 4740, - 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, 4740, - 4740, 4740, 4740, 4740, 4740, 5572, 4215, 4356, -1067, -1067, - 972, -1067, 56, -1067, 973, -1067, -1067, 4836, -1067, -1067, - 1132, -1067, 974, -1067, -1067, 975, 822, 822, 822, 4836, - 4836, -1067, 998, -1067, 982, 1000, -1067, -1067, 379, -1067, - 984, 995, 996, 997, 5572, 991, 1002, 4740, -1067, 5645, - 5851, 2514, 2514, 1814, 1814, 1498, 299, 299, -1067, 2139, - 5868, 5885, 1714, 376, 376, 132, 132, 132, -1067, -1067, - 395, 2303, -1067, 56, 999, -1067, 1197, -1067, -1067, -1067, - 4836, -1067, -1067, -1067, -1067, -1067, -1067, 1158, 1001, 1014, - 1160, 1165, 1021, -1067, 1006, 1008, 1010, 1009, 4842, 1013, - 132, 4740, -1067, -1067, 4836, 1012, -1067, 1197, -1067, -1067, - 1038, -1067, 1024, 405, -1067, 4356, 4356, 4356, -1067, 4356, - 4375, -1067, -1067, 4836, -1067, 1039, 1176, 1043, 411, 421, - 423, 429, 4836, 822, -1067, 1026, -1067, -1067, -1067, -1067, - -1067, 822, -1067, 1045, -1067, -1067 + 417, -1076, 4272, 6265, 143, 61, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -89, -14, -9, 25, 37, 49, + 76, -49, 117, 146, -1076, -1076, 145, 148, 152, 154, + 168, 172, 174, 179, 200, 208, 232, 235, 249, 253, + 256, 287, 304, 335, 348, 365, 6529, 4272, -1076, -1076, + 186, 376, 384, 2182, 254, -1076, 386, 395, 400, 4272, + 4272, 4272, 4272, 4272, 2842, 845, 4272, 4149, -1076, 114, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, 6384, + 401, -1076, 8, -1076, -1076, 2327, 4831, 4831, -1076, 5163, + 406, -1076, 4831, -1076, -1076, 478, 478, -1076, -1076, -1076, + -1076, 427, 245, 245, -1076, -1076, -1076, -1076, -1076, 5119, + 413, 340, -1076, 4272, 4272, 6265, 4272, 4272, 4272, 4272, + 4272, 6265, 4272, 6265, 4272, 6265, 4272, 6265, 6265, 6265, + 6265, 6265, 6265, 6265, 6265, 6265, 6265, 6265, 6265, 6265, + 6265, 6265, 6265, 4272, -1076, -1076, 414, 5163, 422, 430, + 245, 245, -1076, 5381, 6265, 4272, 4272, 435, 2842, 228, + 6265, 2842, 4272, 4272, 228, 228, 228, 228, 228, -89, + -9, 25, 37, 49, 76, 117, 145, 152, 3616, 5935, + 6113, 6727, 400, 437, -101, 4149, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, 5163, 5163, + -114, 454, -1076, -1076, 228, 4272, 4272, 4272, 4272, 4272, + 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, + 4272, 4272, 4272, 4272, 4272, 4272, 5163, 3278, 4272, -1076, + -1076, 478, 478, 3420, -1076, -1076, -1076, 4831, -1076, -1076, + -1076, -1076, 6265, -1076, 421, 632, 245, 478, 478, 245, + 245, 109, 443, -1076, 447, -1076, -1076, 139, 2016, 5163, + 576, 473, 464, 2989, -1076, 6815, 462, 484, -1076, 467, + 475, 480, 482, 488, 489, 490, 483, 499, 508, 503, + 504, 505, 506, 527, 509, -81, 529, 514, 515, 518, + 519, 520, 521, 522, 524, 536, 538, 542, 544, 4272, + -1076, 6265, 4272, 5163, 5163, -1076, 539, 552, 553, 5163, + 556, 567, 559, 5402, 564, 566, 4272, 4272, -1076, 686, + -1076, 1071, 569, 4272, -1076, -1076, 2317, 5871, 1747, 1747, + 635, 635, 1356, 731, 731, -1076, 5696, 5888, 1569, 1956, + 635, 635, 135, 135, 228, 228, 228, -1076, -1076, -64, + 2201, -1076, -1076, 571, 5421, 572, 245, 245, 316, 443, + -1076, 443, -1076, 316, 316, -1076, 245, 245, 245, 6172, + 574, 29, -1076, 575, 4272, 5163, 568, -1076, -1076, -1076, + -1076, -1076, 2083, 593, 11, 171, 173, 182, -1076, -1076, + -1076, 604, 245, 5163, 4777, -89, -1076, 591, 5163, 596, + 597, -1076, -1076, -1076, 245, 245, -1076, 5440, -1076, 6924, + 6924, 6924, 6924, 6924, -1076, 6924, 5934, 6924, 4272, 613, + -1076, 6920, 600, 601, 603, 605, 606, 607, 6924, 32, + 619, 624, 625, 6924, 6924, 614, 6737, 6924, 6924, 5005, + 6924, 6924, -1076, -1076, -1076, 5050, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, 616, + -1076, 617, -1076, -1076, -1076, -1076, 6265, -1076, 6265, -1076, + 6265, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, 5480, 611, 622, -1076, -1076, 618, -1076, + -1076, 623, 4414, 626, -1076, -1076, -1076, -1076, 228, 4149, + -1076, 5163, 454, 40, 1061, -1076, 4149, 4272, -1076, -1076, + -1076, -1076, -1076, 316, 636, 644, 5163, 245, 316, 316, + 245, 245, 640, -1076, 640, 640, 316, 316, 316, 6291, + 245, 257, 537, -1076, -1076, 56, 637, 4149, -1076, 245, + -1076, -1076, -1076, -1076, 2083, -1076, 710, 5163, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, 627, 654, 658, -1076, + -1076, 6529, -1076, -1076, 660, 4919, 661, -1076, 657, 4272, + 4272, 4272, 4272, 2842, 4272, 663, 41, -1076, -1076, 4433, + -1076, 114, 665, 3562, -1076, 6265, 245, 1565, 2016, 245, + 6065, 6924, -1076, -1076, -1076, -1076, -1076, -1076, 6924, -1076, + -1076, -1076, 5499, -1076, 6815, 4614, -1076, 5163, 5163, 5163, + 5163, 5163, 5163, -1076, -1076, 5163, -1076, -1076, -1076, -1076, + -1076, 4272, -1076, 5154, -1076, 672, -1076, 5247, -1076, 5163, + 5163, 84, -1076, -1076, 377, 668, 6410, -1076, 5163, -1076, + 336, 685, -1076, 4272, 4272, 670, 671, 679, -1076, -1076, + -1076, 4272, -1076, 4272, -1076, 680, -1076, -1076, -1076, -1076, + -1076, -1076, 4272, -1076, 674, -1076, -1076, 808, 4149, 640, + 245, 245, 316, 640, 640, 316, 316, 4272, -77, 87, + 104, 6384, 257, 537, -1076, 691, 245, 257, 257, 245, + 245, 257, -105, 245, -1076, 692, 5163, 245, 537, 537, + 245, 245, 537, -98, 1061, -1076, -1076, 245, 77, 707, + 51, -1076, 706, -1076, 816, 6265, 6265, 6265, 694, 6265, + 695, 2842, 271, 6265, 2842, 228, 228, 228, 228, 696, + 120, 228, -1076, -1076, 4801, 4272, 4272, 4272, 4272, 4272, + 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, + 4272, 4272, 4272, 4272, 4272, 4272, 5163, 3704, 4272, 697, + 5599, 698, -1076, -1076, 711, -1076, -1076, -1076, 6924, -1076, + -1076, 715, 718, 720, 722, 723, 725, 728, 52, 732, + 5321, 6076, 399, 713, 336, -1076, -1076, 734, 735, -1076, + 729, -1076, 57, 6622, 498, -1076, 716, 130, -1076, -1076, + 3136, -1076, -1076, 712, 126, 144, -1076, -1076, -1076, 158, + 167, -1076, 5658, 494, 6503, 738, -1076, 316, -1076, 640, + 640, 640, 724, 733, 737, 739, 257, 537, -105, -98, + 245, 257, 741, 741, 257, 257, 164, 4272, -1076, -1076, + 245, 245, 537, 742, 742, 537, 537, 216, 4272, -1076, + 808, 743, -1076, 4272, -1076, 4755, 756, 740, -1076, 245, + 744, 748, 753, 4272, 755, 5163, 746, 759, 750, 5677, + 4272, -1076, -1076, -1076, 2317, 5871, 1747, 1747, 635, 635, + 1356, 731, 731, -1076, 5715, 5888, 1569, 1956, 635, 635, + 135, 135, 228, 228, 228, -1076, -1076, 187, 2862, -1076, + -1076, -1076, 2083, -1076, 90, -1076, 918, 921, 922, 923, + 925, 926, -1076, -1076, 177, 781, -1076, -1076, -1076, -1076, + 6139, -1076, 776, 786, 6707, -1076, 118, -1076, -1076, 35, + -1076, 712, -1076, -1076, 6265, 40, 770, 778, 712, 40, + 498, 780, 245, 498, 498, 245, 245, 183, 245, -1076, + 97, -1076, -1076, -1076, 5163, 328, -1076, 771, -1076, 792, + 793, 3846, 3439, 783, 245, 712, 4985, 712, 245, 245, + 712, -1076, 3, 405, 245, -1076, -1076, -1076, -1076, 1061, + -1076, -1076, 18, 6529, 478, -1076, 640, 245, 40, 40, + 40, -105, -98, -1076, -1076, 257, 741, 741, 741, 782, + 775, 537, -1076, 742, 742, 742, 787, 785, -1076, 3865, + 5241, 6616, 6631, 5163, 333, -1076, -1076, 943, -1076, 4755, + -1076, -1076, 795, 797, 796, 804, 803, 4414, 806, -1076, + -1076, 228, 4272, -1076, -1076, 707, -1076, -1076, 824, 192, + 825, 829, 830, 831, -1076, 34, -1076, 118, 6893, 6076, + 5163, 834, 826, 245, 118, 118, 245, 245, 118, -92, + 742, -1076, 405, 839, 822, 827, 712, 458, 823, 258, + 245, 498, 828, 828, 498, 498, -1076, 4272, -1076, -1076, + 40, 835, 330, -1076, -65, 842, 844, -1076, 2665, -1076, + -1076, -1076, 3846, 836, 847, 4149, -1076, -1076, 245, 712, + 392, 995, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, 832, + 837, -1076, 245, 392, 712, 712, 461, 4272, -1076, 4272, + -1076, 3136, 858, -1076, -1076, 808, 841, -1076, 478, -1076, + 843, -1076, 846, 849, 850, -1076, -1076, 741, 40, 245, + 742, 40, 245, -1076, 6653, -1076, 6653, -1076, 6653, -1076, + -1076, 6653, 6653, 6653, -1076, 98, -1076, 4272, 4272, -1076, + 4272, -1076, 4272, 4149, 116, 1006, 1009, 865, 1016, 853, + -1076, 1020, 1021, 1022, 195, 877, -92, 742, -1076, -1076, + -1076, -1076, -1076, -1076, 6265, 245, 118, 118, 118, 1246, + -1076, -1076, 879, -1076, -1076, -1076, -1076, 479, 866, -1076, + -1076, 498, 828, 828, 828, 40, 860, 867, -1076, -1076, + 5163, 4272, 4272, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, + -1076, -1076, 869, -1076, 3988, 712, 392, 245, -1076, -1076, + -1076, 392, 392, -1076, 4149, 4777, 863, 3439, 712, 891, + -1076, -1076, -1076, -1076, -1076, -1076, 874, -1076, 875, -1076, + -1076, -1076, -1076, -1076, -1076, -1076, -1076, 197, 205, 229, + 239, -1076, 878, 267, -1076, 896, 900, 291, 885, 303, + -1076, -1076, -1076, -1076, 118, 888, 899, 901, 902, 4556, + 903, 1246, 1246, 1246, 1246, 1246, 2842, 1246, 5758, -1076, + 712, 1061, 40, 895, -1076, 1061, 40, 828, 894, 245, + -1076, 897, -1076, 905, 910, 2488, -1076, 3846, 4149, 392, + -1076, 911, 245, -1076, -1076, 1061, 1061, 1061, -1076, -1076, + -1076, -1076, -1076, -1076, 913, 1065, 915, 1067, -1076, 1076, + 931, 932, 1079, 934, 6265, 6265, 6265, 6265, 920, 2842, + 278, 6265, 278, 278, 278, 278, 278, 919, 308, 278, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, + 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 5163, + 4130, 4272, -1076, -1076, 924, -1076, 40, -1076, 927, -1076, + -1076, 1061, -1076, -1076, 1080, -1076, 928, -1076, -1076, 929, + 808, 808, 808, 1061, 1061, -1076, 939, -1076, 933, 942, + -1076, -1076, 312, -1076, 936, 941, 944, 953, 5163, 946, + 954, 1246, -1076, 5776, 1794, 2223, 2223, 1142, 1142, 1397, + 1122, 1122, -1076, 1850, 5932, 5949, 2424, 301, 301, 278, + 278, 278, -1076, -1076, 324, 3154, -1076, 40, 947, -1076, + 702, -1076, -1076, -1076, 1061, -1076, -1076, -1076, -1076, -1076, + -1076, 1112, 950, 970, 1119, 1121, 978, -1076, 968, 969, + 971, 976, 4659, 972, 278, 1246, -1076, -1076, 1061, 977, + -1076, 702, -1076, -1076, 999, -1076, 984, 325, -1076, 4272, + 4272, 4272, -1076, 4272, 5758, -1076, -1076, 1061, -1076, 1003, + 1150, 1005, 326, 342, 364, 369, 1061, 808, -1076, 989, + -1076, -1076, -1076, -1076, -1076, 808, -1076, 1012, -1076, -1076 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1353,207 +1354,207 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 0, 780, 0, 0, 0, 780, 5, 667, 663, 666, - 776, 777, 669, 670, 0, 0, 0, 0, 0, 0, + 0, 781, 0, 0, 0, 781, 5, 667, 663, 666, + 777, 778, 669, 670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 665, 671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 673, 672, 0, - 0, 0, 0, 0, 664, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 780, 0, 3, 601, 668, 305, - 316, 315, 396, 397, 399, 400, 401, 380, 0, 0, - 412, 377, 411, 406, 403, 402, 405, 381, 0, 0, - 382, 404, 414, 398, 780, 780, 4, 307, 308, 309, - 0, 780, 780, 304, 393, 394, 395, 1, 0, 0, - 7, 63, 780, 780, 0, 780, 780, 780, 780, 780, - 0, 780, 0, 780, 0, 780, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 673, 672, + 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 781, 0, 3, 601, 668, + 305, 316, 315, 396, 397, 399, 400, 401, 380, 0, + 0, 412, 377, 411, 406, 403, 402, 405, 381, 0, + 0, 382, 404, 414, 398, 781, 781, 4, 307, 308, + 309, 0, 781, 781, 304, 393, 394, 395, 1, 0, + 0, 7, 63, 781, 781, 0, 781, 781, 781, 781, + 781, 0, 781, 0, 781, 0, 781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 780, 331, 337, 0, 0, 0, 626, 780, 780, - 330, 0, 0, 780, 780, 0, 0, 623, 0, 0, - 780, 780, 635, 633, 632, 634, 631, 305, 396, 397, - 399, 400, 401, 412, 411, 406, 403, 402, 405, 404, - 398, 0, 0, 559, 761, 762, 763, 771, 764, 767, - 765, 769, 768, 766, 770, 750, 751, 0, 0, 780, - 756, 749, 630, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 781, 331, 337, 0, 0, 0, 626, + 781, 781, 330, 0, 0, 781, 781, 0, 0, 623, + 0, 0, 781, 781, 635, 633, 632, 634, 631, 305, + 396, 397, 399, 400, 401, 412, 411, 406, 403, 402, + 405, 404, 398, 0, 0, 559, 762, 763, 764, 772, + 765, 768, 766, 770, 769, 767, 771, 751, 752, 0, + 0, 781, 757, 750, 630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 778, 779, 780, - 780, 0, 378, 379, 413, 403, 408, 407, 410, 306, - 0, 409, 0, 291, 780, 780, 780, 780, 780, 780, - 0, 340, 290, 342, 780, 366, 0, 0, 0, 68, - 70, 0, 6, 780, 0, 558, 557, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 779, + 780, 781, 781, 0, 378, 379, 413, 403, 408, 407, + 410, 306, 0, 409, 0, 291, 781, 781, 781, 781, + 781, 781, 0, 340, 290, 342, 781, 366, 0, 0, + 0, 68, 70, 0, 6, 781, 0, 558, 557, 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, 780, - 0, 0, 659, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 662, 754, 757, 0, 780, - 0, 752, 220, 644, 645, 646, 647, 648, 649, 650, - 653, 654, 661, 0, 641, 642, 643, 651, 652, 639, - 640, 636, 637, 638, 660, 658, 0, 0, 341, 343, - 0, 0, 0, 780, 780, 780, 0, 293, 0, 294, - 780, 780, 205, 780, 780, 780, 0, 0, 206, 209, - 63, 780, 374, 0, 371, 772, 773, 774, 775, 0, - 368, 761, 762, 763, 765, 344, 310, 346, 0, 780, - 0, 780, 318, 329, 0, 0, 0, 0, 320, 321, - 322, 780, 780, 317, 0, 22, 780, 780, 780, 780, - 780, 23, 780, 780, 780, 0, 0, 43, 780, 0, - 0, 0, 0, 0, 0, 780, 780, 0, 0, 0, - 780, 780, 0, 780, 780, 780, 0, 780, 780, 18, - 8, 20, 0, 16, 17, 19, 78, 45, 608, 607, - 625, 615, 610, 612, 613, 614, 0, 621, 0, 620, - 676, 609, 677, 0, 679, 0, 680, 0, 683, 684, - 685, 686, 687, 688, 689, 690, 691, 692, 617, 0, - 0, 0, 334, 333, 0, 616, 619, 0, 622, 0, - 628, 629, 618, 611, 602, 560, 755, 0, 780, 780, - 780, 103, 221, 0, 657, 656, 313, 312, 314, 780, - 292, 0, 281, 780, 780, 780, 780, 780, 297, 280, - 296, 295, 780, 780, 780, 0, 780, 780, 0, 780, - 208, 780, 0, 556, 555, 780, 364, 370, 365, 369, - 0, 780, 780, 0, 64, 69, 742, 738, 741, 744, - 745, 212, 0, 0, 0, 740, 746, 0, 748, 747, - 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, - 0, 0, 213, 247, 216, 248, 693, 743, 63, 0, - 319, 0, 780, 366, 0, 780, 780, 780, 60, 46, - 57, 58, 59, 61, 780, 47, 160, 52, 0, 24, - 780, 0, 50, 0, 0, 0, 0, 0, 0, 56, - 780, 0, 27, 26, 25, 54, 49, 0, 164, 0, - 163, 0, 62, 0, 21, 0, 0, 780, 51, 55, - 339, 318, 0, 14, 0, 75, 0, 338, 72, 0, - 0, 0, 0, 0, 335, 336, 627, 0, 624, 0, - 753, 0, 111, 104, 113, 108, 112, 106, 0, 109, - 0, 105, 110, 780, 655, 298, 780, 780, 780, 283, - 284, 780, 780, 780, 0, 0, 0, 0, 780, 0, - 246, 0, 780, 780, 780, 780, 780, 780, 780, 780, - 258, 0, 269, 780, 0, 0, 780, 780, 0, 780, - 780, 207, 210, 780, 375, 311, 780, 349, 780, 348, - 0, 0, 0, 0, 703, 0, 0, 0, 700, 0, - 0, 711, 710, 709, 708, 0, 0, 707, 71, 215, - 780, 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, - 368, 323, 66, 48, 780, 44, 780, 0, 0, 0, - 0, 0, 0, 0, 780, 0, 0, 780, 339, 318, - 0, 338, 81, 0, 0, 389, 0, 86, 90, 0, - 780, 780, 0, 0, 415, 227, 0, 77, 74, 0, - 0, 0, 678, 681, 682, 0, 0, 780, 0, 0, - 0, 0, 199, 780, 282, 287, 286, 285, 0, 0, - 0, 0, 780, 0, 780, 780, 780, 780, 260, 261, - 780, 780, 0, 780, 240, 259, 780, 780, 0, 271, - 272, 0, 0, 0, 780, 243, 780, 299, 372, 0, - 345, 0, 0, 351, 350, 780, 0, 0, 0, 780, - 0, 0, 0, 0, 0, 0, 0, 737, 214, 217, - 720, 721, 722, 723, 724, 725, 726, 729, 730, 736, - 0, 717, 718, 719, 727, 728, 715, 716, 712, 713, - 714, 735, 734, 0, 0, 327, 326, 328, 0, 53, - 780, 385, 0, 0, 0, 0, 0, 0, 387, 383, - 0, 0, 181, 182, 183, 169, 0, 170, 0, 166, - 171, 167, 780, 180, 165, 0, 83, 0, 392, 391, - 0, 780, 0, 0, 0, 780, 780, 0, 780, 780, - 780, 780, 780, 0, 780, 249, 780, 92, 415, 222, - 0, 0, 76, 0, 780, 0, 0, 780, 0, 0, - 780, 0, 0, 0, 780, 780, 0, 73, 780, 780, - 780, 605, 604, 606, 603, 780, 107, 114, 0, 0, - 780, 415, 288, 780, 780, 780, 780, 780, 780, 241, - 244, 780, 264, 263, 262, 268, 0, 0, 270, 275, - 274, 273, 279, 0, 300, 376, 769, 0, 768, 0, - 0, 352, 354, 758, 780, 0, 65, 702, 0, 0, - 0, 0, 0, 699, 0, 705, 706, 694, 0, 733, - 732, 324, 388, 780, 0, 0, 780, 0, 0, 0, - 780, 0, 42, 780, 780, 0, 174, 172, 0, 780, - 780, 780, 780, 780, 780, 780, 178, 82, 780, 0, - 0, 0, 0, 0, 0, 0, 780, 780, 251, 252, - 780, 780, 98, 780, 250, 15, 780, 0, 0, 9, - 0, 0, 0, 228, 416, 417, 230, 231, 780, 0, - 234, 236, 233, 229, 780, 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, 780, 188, - 0, 0, 0, 0, 195, 780, 197, 0, 0, 79, - 184, 780, 0, 115, 780, 200, 0, 289, 0, 0, - 0, 242, 245, 265, 780, 780, 276, 780, 780, 373, - 0, 357, 0, 356, 0, 355, 759, 0, 0, 0, - 760, 780, 353, 0, 0, 704, 0, 701, 0, 731, - 780, 0, 0, 0, 0, 0, 202, 0, 0, 0, - 780, 0, 780, 179, 159, 157, 162, 158, 168, 175, - 0, 780, 780, 780, 780, 0, 176, 218, 0, 84, - 390, 780, 88, 0, 0, 780, 100, 780, 255, 254, - 253, 780, 0, 0, 223, 415, 0, 780, 780, 225, - 226, 419, 420, 424, 421, 429, 422, 423, 425, 426, - 427, 428, 430, 431, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, - 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, - 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 482, 504, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 505, 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, 780, 548, 549, 550, 541, 553, - 537, 538, 536, 543, 544, 532, 533, 534, 535, 542, - 540, 547, 545, 551, 546, 539, 552, 418, 0, 232, - 235, 0, 191, 780, 154, 153, 185, 190, 189, 194, - 198, 780, 0, 221, 0, 0, 116, 201, 674, 780, - 780, 780, 0, 266, 0, 277, 363, 362, 361, 360, - 359, 358, 347, 0, 0, 0, 0, 386, 0, 0, - 34, 203, 0, 0, 0, 0, 384, 41, 177, 173, - 780, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 219, 561, 0, 780, 780, 0, - 94, 780, 780, 256, 0, 780, 780, 0, 10, 0, - 0, 0, 237, 780, 238, 192, 186, 0, 780, 80, - 415, 780, 780, 780, 780, 780, 697, 696, 698, 695, - 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 568, 0, 576, 574, - 573, 575, 572, 0, 0, 571, 0, 0, 0, 0, + 332, 0, 781, 0, 0, 659, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 662, 755, + 758, 0, 781, 0, 753, 220, 644, 645, 646, 647, + 648, 649, 650, 653, 654, 661, 0, 641, 642, 643, + 651, 652, 639, 640, 636, 637, 638, 660, 658, 0, + 0, 341, 343, 0, 0, 0, 781, 781, 781, 0, + 293, 0, 294, 781, 781, 205, 781, 781, 781, 0, + 0, 206, 209, 63, 781, 374, 0, 371, 773, 774, + 775, 776, 0, 368, 762, 763, 764, 766, 344, 310, + 346, 0, 781, 0, 781, 318, 329, 0, 0, 0, + 0, 320, 321, 322, 781, 781, 317, 0, 22, 781, + 781, 781, 781, 781, 23, 781, 781, 781, 0, 0, + 43, 781, 0, 0, 0, 0, 0, 0, 781, 781, + 0, 0, 0, 781, 781, 0, 781, 781, 781, 0, + 781, 781, 18, 8, 20, 0, 16, 17, 19, 78, + 45, 608, 607, 625, 615, 610, 612, 613, 614, 0, + 621, 0, 620, 676, 609, 677, 0, 679, 0, 680, + 0, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 617, 0, 0, 0, 334, 333, 0, 616, + 619, 0, 622, 0, 628, 629, 618, 611, 602, 560, + 756, 0, 781, 781, 781, 103, 221, 0, 657, 656, + 313, 312, 314, 781, 292, 0, 281, 781, 781, 781, + 781, 781, 297, 280, 296, 295, 781, 781, 781, 0, + 781, 781, 0, 781, 208, 781, 0, 556, 555, 781, + 364, 370, 365, 369, 0, 781, 781, 0, 64, 69, + 743, 739, 742, 745, 746, 212, 0, 0, 0, 741, + 747, 0, 749, 748, 0, 0, 0, 740, 0, 0, + 0, 0, 0, 0, 0, 0, 213, 247, 216, 248, + 694, 744, 63, 0, 319, 0, 781, 366, 0, 781, + 781, 781, 60, 46, 57, 58, 59, 61, 781, 47, + 160, 52, 0, 24, 781, 0, 50, 0, 0, 0, + 0, 0, 0, 56, 781, 0, 27, 26, 25, 54, + 49, 0, 164, 0, 163, 0, 62, 0, 21, 0, + 0, 781, 51, 55, 339, 318, 0, 14, 0, 75, + 0, 338, 72, 0, 0, 0, 0, 0, 335, 336, + 627, 0, 624, 0, 754, 0, 111, 104, 113, 108, + 112, 106, 0, 109, 0, 105, 110, 781, 655, 298, + 781, 781, 781, 283, 284, 781, 781, 781, 0, 0, + 0, 0, 781, 0, 246, 0, 781, 781, 781, 781, + 781, 781, 781, 781, 258, 0, 269, 781, 0, 0, + 781, 781, 0, 781, 781, 207, 210, 781, 375, 311, + 781, 349, 781, 348, 0, 0, 0, 0, 704, 0, + 0, 0, 701, 0, 0, 712, 711, 710, 709, 0, + 0, 708, 71, 215, 781, 0, 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, 780, 91, 0, 780, 257, 780, 224, 13, - 11, 554, 0, 780, 193, 0, 780, 780, 780, 780, - 780, 37, 780, 35, 0, 0, 38, 40, 0, 30, - 0, 0, 0, 0, 0, 0, 0, 0, 600, 585, - 586, 587, 588, 589, 590, 591, 592, 593, 599, 0, - 582, 583, 584, 580, 581, 577, 578, 579, 598, 597, - 0, 0, 780, 780, 0, 780, 99, 93, 12, 239, - 780, 675, 303, 302, 301, 267, 278, 0, 0, 0, - 0, 0, 0, 570, 0, 0, 0, 0, 567, 0, - 562, 0, 596, 595, 780, 0, 780, 101, 196, 203, - 0, 29, 0, 0, 31, 0, 0, 0, 569, 0, - 594, 89, 780, 780, 36, 0, 0, 0, 0, 0, - 0, 0, 780, 780, 39, 0, 32, 565, 564, 566, - 563, 780, 95, 0, 97, 33 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 67, 325, 368, 323, 66, 48, 781, 44, + 781, 0, 0, 0, 0, 0, 0, 0, 781, 0, + 0, 781, 339, 318, 0, 338, 81, 0, 0, 389, + 0, 86, 90, 0, 781, 781, 0, 0, 415, 227, + 0, 77, 74, 0, 0, 0, 678, 681, 682, 0, + 0, 781, 0, 0, 0, 0, 199, 781, 282, 287, + 286, 285, 0, 0, 0, 0, 781, 0, 781, 781, + 781, 781, 260, 261, 781, 781, 0, 781, 240, 259, + 781, 781, 0, 271, 272, 0, 0, 0, 781, 243, + 781, 299, 372, 0, 345, 0, 0, 351, 350, 781, + 0, 0, 0, 781, 0, 0, 0, 0, 0, 0, + 0, 738, 214, 217, 721, 722, 723, 724, 725, 726, + 727, 730, 731, 737, 0, 718, 719, 720, 728, 729, + 716, 717, 713, 714, 715, 736, 735, 0, 0, 327, + 326, 328, 0, 53, 781, 385, 0, 0, 0, 0, + 0, 0, 387, 383, 0, 0, 181, 182, 183, 169, + 0, 170, 0, 166, 171, 167, 781, 180, 165, 0, + 83, 0, 392, 391, 0, 781, 0, 0, 0, 781, + 781, 0, 781, 781, 781, 781, 781, 0, 781, 249, + 781, 92, 415, 222, 0, 0, 76, 0, 781, 0, + 0, 781, 0, 0, 781, 0, 0, 0, 781, 781, + 0, 73, 781, 781, 781, 605, 604, 606, 603, 781, + 107, 114, 0, 0, 781, 415, 288, 781, 781, 781, + 781, 781, 781, 241, 244, 781, 264, 263, 262, 268, + 0, 0, 270, 275, 274, 273, 279, 0, 300, 376, + 770, 0, 769, 0, 0, 352, 354, 759, 781, 0, + 65, 703, 0, 0, 0, 0, 0, 700, 0, 706, + 707, 695, 0, 734, 733, 324, 388, 781, 0, 0, + 781, 0, 0, 0, 781, 0, 42, 781, 781, 0, + 174, 172, 0, 781, 781, 781, 781, 781, 781, 781, + 178, 82, 781, 0, 0, 0, 0, 0, 0, 0, + 781, 781, 251, 252, 781, 781, 98, 781, 250, 15, + 781, 0, 0, 9, 0, 0, 0, 228, 416, 417, + 230, 231, 781, 0, 234, 236, 233, 229, 781, 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, 781, 188, 0, 0, 0, 0, 195, 781, + 197, 0, 0, 79, 184, 781, 0, 115, 781, 200, + 0, 289, 0, 0, 0, 242, 245, 265, 781, 781, + 276, 781, 781, 373, 0, 357, 0, 356, 0, 355, + 760, 0, 0, 0, 761, 781, 353, 0, 0, 705, + 0, 702, 0, 732, 781, 0, 0, 0, 0, 0, + 202, 0, 0, 0, 781, 0, 781, 179, 159, 157, + 162, 158, 168, 175, 0, 781, 781, 781, 781, 0, + 176, 218, 0, 84, 390, 781, 88, 0, 0, 781, + 100, 781, 255, 254, 253, 781, 0, 0, 223, 415, + 0, 781, 781, 225, 226, 419, 420, 424, 421, 429, + 422, 423, 425, 426, 427, 428, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 504, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 505, 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, 781, 548, + 549, 550, 541, 553, 537, 538, 536, 543, 544, 532, + 533, 534, 535, 542, 540, 547, 545, 551, 546, 539, + 552, 418, 0, 232, 235, 0, 191, 781, 154, 153, + 185, 190, 189, 194, 198, 781, 0, 221, 0, 0, + 116, 201, 674, 781, 781, 781, 0, 266, 0, 277, + 363, 362, 361, 360, 359, 358, 347, 0, 0, 0, + 0, 386, 0, 0, 34, 203, 0, 0, 0, 0, + 384, 41, 177, 173, 781, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 219, 561, + 0, 781, 781, 0, 94, 781, 781, 256, 0, 781, + 781, 0, 10, 0, 0, 0, 237, 781, 238, 192, + 186, 0, 781, 80, 415, 781, 781, 781, 781, 781, + 698, 697, 699, 696, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 568, 0, 576, 574, 573, 575, 572, 0, 0, 571, + 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, 781, 91, 0, 781, + 257, 781, 224, 13, 11, 554, 0, 781, 193, 0, + 781, 781, 781, 781, 781, 37, 781, 35, 0, 0, + 38, 40, 0, 30, 0, 0, 0, 0, 0, 0, + 0, 0, 600, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 599, 0, 582, 583, 584, 580, 581, 577, + 578, 579, 598, 597, 0, 0, 781, 781, 0, 781, + 99, 93, 12, 239, 781, 675, 303, 302, 301, 267, + 278, 0, 0, 0, 0, 0, 0, 570, 0, 0, + 0, 0, 567, 0, 562, 0, 596, 595, 781, 0, + 781, 101, 196, 203, 0, 29, 0, 0, 31, 0, + 0, 0, 569, 0, 594, 89, 781, 781, 36, 0, + 0, 0, 0, 0, 0, 0, 781, 781, 39, 0, + 32, 565, 564, 566, 563, 781, 95, 0, 97, 33 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1067, -1067, -400, -1067, -1067, -34, -1067, -1067, 604, -418, - -1067, -230, 325, -357, -1067, -414, -1067, -1067, -191, -1067, - -1067, -241, -1067, -1067, -1067, -1067, 584, -1067, -1067, -1067, - -1067, -1067, -455, -1067, -1067, -406, -1067, -1067, -1067, -1067, - 163, 293, -697, -1067, -907, -845, -342, -454, -1067, -176, - -1067, 14, -377, -1067, -748, -1066, -1067, -389, 491, -858, - -427, -480, -188, -91, -65, -57, -234, -533, 595, 156, - -236, -1067, -231, -1067, -1067, -1067, -1067, 208, -201, -1067, - -512, -1067, -1067, -22, -19, -1067, -1067, -1067, -1067, -28, - -48, -1067, -1067, -919, -1067, -127, -1067, -642, -107, -60, - 507, 1468, 391, 667, -1067, -1067, 911, -519, 1499, 256, + -1076, -1076, -389, -1076, -1076, -71, -1076, -1076, 578, -429, + -1076, -222, 779, -344, -1076, -427, -1076, -1076, -226, -1076, + -1076, -277, -1076, -1076, -1076, -1076, 558, -1076, -1076, -1076, + -1076, -1076, -497, -1076, -1076, -410, -1076, -1076, -1076, -1076, + 131, 259, -862, -1076, -903, -845, -370, -501, -1076, -208, + -1076, -18, -470, -1076, -739, -1075, -1076, -391, 455, -897, + -481, -460, -66, -95, -54, -58, -252, -535, 563, 1372, + -240, -1076, -232, -1076, -1076, -1076, -1076, 176, -225, -1076, + -514, -1076, -1076, -22, -19, -1076, -1076, -1076, -1076, -27, + -8, -1076, -1076, -923, -1076, -165, -1076, -620, -104, -60, + 590, 1053, 416, 631, -1076, -1076, 881, -925, 1452, -223, -386, -1 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 4, 5, 263, 1078, 1079, 439, 791, 440, 441, - 600, 442, 366, 258, 259, 443, 799, 793, 967, 624, - 927, 1057, 635, 931, 1448, 935, 636, 1076, 1532, 1593, - 1231, 1452, 500, 1138, 1206, 444, 621, 918, 919, 920, - 921, 922, 968, 1391, 969, 811, 1195, 367, 368, 571, - 572, 1216, 321, 952, 797, 1089, 1090, 369, 574, 943, - 828, 839, 250, 251, 94, 95, 637, 147, 638, 96, - 97, 541, 98, 542, 708, 852, 853, 1011, 99, 100, - 538, 372, 373, 101, 102, 445, 1040, 1033, 446, 103, - 104, 105, 106, 953, 954, 1084, 1377, 532, 264, 265, - 1620, 183, 67, 575, 576, 198, 199, 1012, 1013, 689, - 68, 111 + 0, 4, 5, 265, 1082, 1083, 442, 795, 443, 444, + 604, 445, 369, 260, 261, 446, 803, 797, 971, 628, + 931, 1061, 639, 935, 1452, 939, 640, 1080, 1536, 1597, + 1235, 1456, 504, 1142, 1210, 447, 625, 922, 923, 924, + 925, 926, 972, 1395, 973, 815, 1199, 370, 371, 575, + 576, 1220, 324, 956, 801, 1093, 1094, 372, 578, 947, + 832, 843, 252, 253, 95, 96, 641, 149, 642, 97, + 98, 545, 99, 546, 712, 856, 857, 1015, 100, 101, + 542, 375, 376, 102, 103, 448, 1044, 1037, 449, 104, + 105, 106, 107, 957, 958, 1088, 1381, 536, 266, 267, + 1624, 185, 68, 579, 580, 200, 201, 1016, 1017, 693, + 69, 112 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1561,1124 +1562,1163 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 6, 1004, 573, 182, 253, 577, 267, 596, 269, 270, - 271, 272, 273, 229, 275, 618, 277, 150, 279, 620, - 1058, 230, 1378, 148, 714, 398, 149, 397, 705, 1077, - 399, 818, 926, 545, 295, 1152, 236, 237, 238, 107, - -2, 932, 530, 241, 933, 651, 304, 305, 699, 227, - 729, 228, 114, 311, 312, 318, 848, 356, 358, 849, - 400, 933, 1156, 201, 108, 314, 109, 108, 115, 109, - 108, 362, 109, 232, 700, 701, 465, 319, 1065, 314, - 314, 1068, 1069, 511, 315, 512, 212, 513, 108, 740, - 109, 112, 116, 252, 252, 466, 182, 254, 504, 867, - 688, 242, 117, 243, 108, 244, 109, 118, 108, 113, - 109, 266, 266, 119, 266, 266, 266, 266, 266, 320, - 266, 650, 266, 1146, 266, 375, 376, 377, 236, 237, - 238, 241, 514, 108, 833, 109, 810, 680, 348, 349, - 266, 706, 702, 314, 233, 314, 108, 120, 109, 108, - 245, 109, 266, 266, 357, 359, 1, 2, 3, 266, - 266, 227, 971, 228, 972, 346, 1515, 518, -772, 108, - 320, 109, 520, 521, 785, 577, 588, 589, 590, 591, - 592, 531, 593, 595, 597, 844, 710, 236, 602, 730, - 850, 996, 481, 1153, 121, 609, 908, 934, 322, 825, - 615, 616, 1003, 619, 622, 623, 398, 628, 629, 1228, - 774, 399, 1229, 1230, 934, 840, 1201, 515, 843, 181, - 122, 1149, 224, 225, 226, 752, 753, 754, 252, 252, - 362, 516, 363, 403, 378, 246, 517, 1063, 610, 401, - -772, 400, 402, -772, 252, 252, 1215, 123, 370, 247, - 1237, 824, 124, 374, 248, 673, 819, 829, 1143, 249, - 832, 833, 447, 108, 1096, 109, 1139, -773, 1238, 1142, - 268, 379, 1032, 1144, 1145, 1075, 274, 980, 276, 10, - 278, 11, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 125, 266, -774, - -775, 527, 1525, 1526, 1527, 314, 1395, 126, 303, 528, - 1219, 834, 307, 314, 308, 309, 1457, 127, 501, 212, - 128, 665, 845, 129, 973, 130, 669, 670, 314, 131, - 110, 539, 974, 1515, 674, 675, 676, 673, 820, -773, - 132, 573, -773, 988, 577, 152, 108, 1029, 109, 108, - 133, 109, 975, 108, 519, 109, 595, 602, 999, 519, - 519, 1000, 1001, 1192, 763, 1223, 900, 134, 212, 1453, - 534, -774, -775, 135, -774, -775, 364, 1177, 1178, 1179, - 314, 365, 1193, 398, 673, 821, 1031, 398, 399, 781, - 578, 946, 399, 833, 995, 987, 352, 1542, 1382, 1476, - 992, 136, 314, 993, 994, 447, 447, 447, 447, 447, - 1515, 447, 447, 447, 403, 137, 314, 447, 400, 314, - 401, 1477, 400, 402, 447, 138, 255, 256, 158, 447, - 447, 1232, 447, 447, 447, 1478, 447, 447, 1479, 139, - 1481, 140, 1056, 1387, 1388, 141, 1154, 989, 990, 219, - 220, 221, 222, 223, 480, 224, 225, 226, 153, 1482, - 678, 844, 1002, 1520, 1521, 1522, 1523, 1524, 679, 1525, - 1526, 1527, 1412, 300, 301, 1417, 262, 1060, 154, 1426, - 815, 1064, 159, 816, 817, 1072, 1073, 1171, 1173, 1175, - 160, 1485, 539, 1081, 1082, 1055, 1488, 322, 370, 314, - 221, 222, 223, 1392, 224, 225, 226, 161, 519, 726, - 1486, 380, 387, 519, 519, 1489, 313, 1166, 1568, 1226, - 1073, 519, 519, 519, 1041, 231, 690, 240, 501, 150, - 1158, 1159, 1160, 1611, 899, 148, 1235, 1236, 149, 1058, - 6, 709, 1522, 1523, 1524, 261, 1525, 1526, 1527, 314, - 320, 1545, 1612, 1144, 1145, 375, 376, 377, 959, 1646, - 296, 298, 960, 1203, 1163, 314, 353, 790, 1622, 355, - 299, 840, 360, 361, 843, 314, 371, 314, 1647, 800, - 801, 306, 389, 314, 1657, 447, 447, 805, -280, 806, - 390, 403, 1148, 447, 1658, 403, 1659, 401, 391, 447, - 402, 401, 1660, 314, 402, 448, 449, 961, 450, 6, - 1161, 1162, 822, -102, 1181, -102, 1202, -102, 451, 641, - 823, 642, 1233, 643, 829, 982, 1204, 832, 452, 453, - 1205, 787, 948, 1190, 949, 950, 951, 794, 1207, 795, - 1200, 796, -102, 454, -102, 691, -102, 692, 794, 693, - 795, 1406, 1147, 1407, 455, 1408, 456, 726, 1409, 1410, - 1411, 457, 812, 962, 378, 459, 458, 519, 463, 460, - 519, 519, 534, 1144, 1145, 1224, 467, 690, 509, 510, - 484, 1218, 690, 690, 1465, 461, 690, 322, 522, 523, - 524, 462, 963, 893, 694, 1144, 1145, 1389, 322, 464, - 468, 1602, 1603, 1604, 469, 470, 964, 854, 471, 472, - 1402, 965, 473, 1404, 544, 474, 966, 1144, 1145, 1449, - 475, 476, 477, 478, 936, 725, 583, 584, 375, 376, - 377, 937, 999, 1000, 1001, 938, 485, 757, 486, 488, - 375, 376, 377, 1048, 489, 692, 490, 1049, 492, 923, - 493, 611, 1020, 375, 376, 377, 681, 496, 499, 506, - 682, 508, 529, 447, -204, 6, 1447, 536, 540, 543, - 1451, 579, 581, 599, 603, 582, 924, 1454, 604, 695, - 939, 605, 150, 612, 613, 992, 993, 994, 148, 945, - 6, 149, 1050, 696, 606, 607, 608, 614, 697, 645, - 617, 639, 640, 698, 647, 683, 501, 646, 1662, 648, - 649, 666, 519, 703, 619, -282, 1664, 707, 673, 711, - 712, 690, 713, 322, 322, 663, 690, 715, 719, 690, - 690, 777, 534, 720, 728, 788, -211, 378, 668, 760, - 387, 671, 672, 534, 798, 812, 802, 803, 804, 378, - 539, 807, 809, 184, 185, 186, 810, 826, 266, 836, - 704, -367, 378, 851, 855, 940, 859, 856, 857, 858, - 861, 860, 898, 862, 866, 863, 864, 1051, 895, 941, - 901, 909, 897, 902, 942, 903, 904, 905, 923, 1155, - 684, 1052, 906, 907, 925, 928, 1053, 947, 930, 929, - 981, 1054, 1014, 1034, 685, 984, 985, 758, 1015, 686, - 762, 187, 1035, 983, 687, 1018, 986, 184, 185, 186, - 833, 690, 844, -289, 188, 189, 1017, 1019, 1021, 1023, - 370, 1024, 1025, 1036, 370, 945, 1037, 1038, 945, 945, - 1039, 1042, 1044, 1045, 1471, 1472, 1473, 209, 210, 211, - 1166, 150, 786, 1085, 1061, 1086, 1092, 148, 1062, 212, - 149, 1066, 190, 191, 1083, 192, 1087, 812, 322, 1094, - 193, 1180, 194, 1164, 1165, 187, 1167, 1168, 1183, 252, - 1184, 1185, 1191, 370, 370, 370, 322, 322, 188, 189, - 690, 813, 814, 1187, 1530, 1186, 1188, 1210, 1534, 1194, - 1197, 1537, 573, 1163, 1198, 577, 1199, 827, 1211, 1220, - 830, 831, 1221, 6, 835, 1222, 977, 923, 838, 1549, - 1550, 841, 842, 1234, 1225, 846, 190, 191, 847, 192, - 1073, 110, 6, 1239, 193, 1196, 194, 1240, 1379, 6, - 1380, 1383, 690, 447, 1384, 1385, 944, 1396, 1394, 690, - 690, 1398, 1399, 690, 1217, 970, 1400, 322, 1401, 1418, - 1419, 1420, 1421, 1397, 1422, 1423, 945, 1424, 1425, 945, - 945, 1427, 534, 1446, 1450, 370, 1455, 1456, 1594, -281, - 1596, 1468, 1462, 1474, 1470, 1475, 1059, 1092, 1600, 219, - 220, 221, 222, 223, 1480, 224, 225, 226, 406, 110, - 1483, 1487, 1484, 1490, 1491, 1492, 407, 408, 409, 410, - 1493, 1497, 1531, 1535, 1551, 1552, 1554, 1553, 1538, 412, - 586, 414, 415, 1413, 1414, 1539, 1415, 417, 1416, 1555, - 1459, 1460, 587, 1540, 1543, 1556, 1557, 1624, 1558, 1625, - 1627, 1559, 1564, 1567, 534, 1592, 1595, 1598, 1599, 1601, - 812, 991, 1607, 252, 1610, 1609, 425, 1613, 1614, 1615, - 1616, 997, 998, 370, 1618, 1619, 370, 430, 1629, 1631, - 1632, 1643, 1626, 431, 1630, 1633, 1634, 1635, 434, 1636, - 1016, 1637, 1638, 970, 1639, 1642, 1655, 1652, 436, 437, - 970, 438, 944, 1644, 1654, 944, 944, 1645, 1656, 1663, - 1665, 1217, 1458, 1469, 765, 1528, -161, 780, 1208, 1043, - 1608, 690, 690, 690, 652, 1467, 1428, 970, 782, 970, - 501, 869, 970, 1182, 501, 110, 945, 1461, 718, 498, - 370, 0, 0, 0, 0, 0, 266, 266, 0, 0, - 0, 0, 0, 546, 547, 548, 10, 0, 11, 549, - 550, 0, 0, 0, 0, 716, 0, 0, 0, 653, - 0, 654, 0, 1067, 0, 0, 1070, 1071, 0, 1074, - 0, 110, 0, 0, 0, 184, 185, 186, 655, 0, - 0, 0, 0, 0, 0, 1095, 0, 0, 0, 1140, - 1141, 552, 0, 0, 0, 1150, 210, 211, 0, 0, - 1151, 0, 0, 0, 0, 0, 553, 212, 1157, 656, - 0, 554, 657, 658, 0, 0, 659, 0, 970, 0, - 555, 556, 0, 944, 0, 0, 944, 944, 0, 0, - 0, 0, 660, 187, 207, 208, 209, 210, 211, 0, - 0, 0, 0, 0, 661, 0, 188, 189, 212, 0, - 0, 970, 0, 1085, 557, 0, 0, 558, 662, 559, - 0, 0, 0, 0, 560, 0, 1429, 0, 561, 0, - 0, 562, 0, 0, 1212, 0, 563, 1213, 1214, 564, - 0, 0, 1504, 0, 190, 191, 0, 192, 0, 0, - 578, 1227, 193, 0, 194, 0, 970, 970, 501, 501, - 501, 565, 0, 0, 566, 567, 0, 0, 0, 568, - 0, 717, 0, 0, 0, 570, 0, 0, 0, 1381, - 0, 0, 195, 0, 0, 0, 196, 0, 0, 690, - 0, 197, 0, 0, 0, 1504, 0, 219, 220, 221, - 222, 223, 0, 224, 225, 226, 0, 370, 0, 0, - 0, 370, 184, 185, 186, 501, 0, 0, 0, 0, - 0, 0, 1092, 1386, 0, 0, 1590, 0, 0, 0, - 66, 0, 0, 501, 501, 0, 217, 218, 219, 220, - 221, 222, 223, 944, 224, 225, 226, 0, 0, 0, - 1403, 0, 0, 1405, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 110, 0, 537, 0, - 187, 0, 0, 0, 151, 110, 0, 0, 0, 0, - 157, 1513, 1514, 188, 189, 110, 162, 163, 164, 165, - 166, 370, 1515, 202, 501, 0, 1430, 0, 0, 0, - 0, 0, 501, 0, 0, 812, 812, 812, 0, 0, - 0, 1196, 72, 0, 73, 74, 75, 76, 0, 0, - 0, 190, 191, 200, 192, 0, 0, 0, 0, 193, - 0, 194, 0, 0, 0, 1648, 1649, 1650, 0, 1651, - 0, 0, 0, 0, 0, 0, 83, 239, 0, 0, - 0, 501, 370, 0, 501, 0, 0, 0, 1503, 0, - 0, 0, 235, 497, 0, 0, 1445, 260, 197, 0, - 0, 0, 0, 205, 206, 207, 208, 209, 210, 211, - 0, 0, 0, 85, 86, 501, 0, 310, 0, 212, - 0, 0, 0, 0, 381, 382, 383, 970, 0, 0, - 91, 501, 0, 0, 297, 93, 1560, 1561, 1562, 1563, - 970, 1565, 812, 1566, 0, 0, 0, 0, 0, 0, - 812, 0, 1520, 1521, 1522, 1523, 1524, 0, 1525, 1526, - 1527, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 187, 0, 347, 316, 317, 0, 0, 351, - 0, 0, 970, 0, 0, 188, 189, 0, 1466, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 0, 0, - 0, 0, 1444, 344, 0, 0, 0, 212, 0, 404, - 0, 0, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 0, - 0, 0, 354, 384, 191, 0, 192, 0, 1515, 0, - 0, 193, 0, 194, 0, 386, 388, 217, 218, 219, - 220, 221, 222, 223, 479, 224, 225, 226, 0, 0, - 0, 0, 1529, 0, 0, 0, 1533, 385, 0, 0, - 1536, 494, 495, 0, 0, 0, 0, 0, 502, 0, - 0, 0, 0, 1544, 0, 0, 1546, 1547, 1548, 482, - 483, 0, 0, 0, 0, 487, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 200, 0, 381, - 382, 383, 0, 0, 0, 0, 1445, 0, 1445, 1445, - 1445, 1445, 1445, 0, 1445, 0, 1512, 1513, 1514, 533, - 0, 0, 0, 0, 0, 0, 0, 0, 1515, 0, - 0, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 1597, 224, 225, 226, 0, 0, 0, 505, - 0, 535, 0, 0, 1605, 1606, 0, 187, 1520, 1521, - 1522, 1523, 1524, 598, 1525, 1526, 1527, 0, 0, 260, - 188, 189, 0, 0, 580, 0, 0, 1445, 1445, 1445, - 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, - 1445, 1445, 1445, 1445, 1445, 1445, 203, 204, 205, 206, - 207, 208, 209, 210, 211, 1628, 0, 0, 384, 191, - 0, 192, 0, 0, 212, 627, 193, 0, 194, 0, - 0, 0, 1496, 0, 1498, 1499, 1500, 1501, 1502, 1641, - 1505, 0, 0, 0, 0, 0, 494, 0, 1445, 0, - 0, 0, 0, 0, 0, 379, 0, 0, 1653, 0, - 0, 664, 0, 0, 0, 0, 0, 1661, 1520, 1521, - 1522, 1523, 1524, 0, 1525, 1526, 1527, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 316, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1445, - 0, 667, 1445, 1569, 1570, 1571, 1572, 1573, 1574, 1575, - 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, - 1586, 1587, 0, 721, 722, 723, 724, 0, 727, 0, - 0, 0, 260, 0, 0, 0, 0, 756, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 0, - 224, 225, 226, 0, 0, 0, 1030, 0, 0, 0, - 0, 1097, 759, 761, 0, 776, 0, 0, 0, 0, - 0, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, - 767, 0, 768, 769, 770, 771, 772, 773, 0, 1107, - 775, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, - 1117, 1118, 1119, 0, 783, 784, 808, 0, 1640, 0, - 0, 0, 0, 792, 0, 0, 0, 0, 0, 0, - 0, 533, 0, 0, 1120, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1506, 1507, 1508, 1509, 1510, - 1511, 1512, 1513, 1514, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1515, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 865, 1121, - 0, 837, 0, 0, 0, 0, 0, 0, 0, 870, - 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, - 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, - 0, 0, 894, 0, 0, 0, 0, 0, 0, 1122, - 0, 0, 1123, 0, 1124, 1125, 1126, 1127, 1128, 1129, - 1130, 1131, 1132, 1133, 1134, 0, 1135, 1136, 0, 0, - 1137, 891, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 958, 0, 0, 0, 0, 0, + 6, 255, 655, 577, 184, 1008, 600, 622, 581, 624, + 269, 400, 271, 272, 273, 274, 275, 1382, 277, 152, + 279, 232, 281, 401, 150, 231, 718, 151, 1062, 1081, + 709, 402, 654, 1156, 383, 390, 704, 814, 403, 298, + 229, 321, 230, 1069, 534, 930, 1072, 1073, 937, 549, + 692, 307, 308, 323, 317, 365, 733, 822, 314, 315, + 323, -2, 1160, 322, 203, 113, 1219, 936, 837, 234, + 937, 705, 703, 318, 468, 848, 1067, 238, 239, 240, + 109, 837, 110, 114, 243, 1175, 1177, 1179, 109, 1241, + 110, 317, -773, 469, 254, 254, 677, 823, 184, 109, + 109, 110, 110, 1100, 109, 1143, 110, 1242, 1146, 109, + 508, 110, 268, 268, 121, 268, 268, 268, 268, 268, + 229, 268, 230, 268, 365, 268, 366, 1150, 378, 379, + 380, 1052, 109, 696, 110, 1053, 351, 352, 109, 684, + 110, 235, 268, 108, 706, 109, 109, 110, 110, 378, + 379, 380, 360, 362, 268, 268, 710, 109, 115, 110, + 1147, 268, 268, 116, 109, -773, 110, 349, -773, 214, + 238, 239, 240, 243, 1232, 1148, 1149, 1233, 1234, 581, + 1054, 359, 361, 10, 535, 11, 614, 592, 593, 594, + 595, 596, 1157, 597, 599, 601, 734, 117, 485, 606, + 325, 828, 938, 714, 1227, 401, 613, 833, 1205, 118, + 836, 619, 620, 402, 623, 626, 627, 1000, 632, 633, + 403, 119, 838, 829, 938, 778, 854, 912, 1007, 238, + 254, 254, 852, 849, 1153, 853, 406, 1386, 381, 844, + 789, 404, 847, 109, 405, 110, 254, 254, 120, 1410, + 373, 1411, -774, 1412, -775, 377, 1413, 1414, 1415, 381, + 677, 824, 214, -776, 450, 1036, 1055, 378, 379, 380, + 685, 367, 1079, 1416, 686, 317, 368, 677, 825, 984, + 1056, 317, 1391, 1392, 952, 1057, 953, 954, 955, 122, + 1058, 1421, 522, 109, 871, 110, 382, 524, 525, 317, + 975, 268, 223, 224, 225, 744, 226, 227, 228, 123, + 1399, 532, 1519, 317, 979, 531, 1461, 124, 976, 687, + 125, 505, 317, 1223, 126, -774, 127, -775, -774, 515, + -775, 516, 977, 517, 1457, 1519, -776, 837, 999, -776, + 128, 978, 317, 577, 129, 991, 130, 1196, 581, 154, + 996, 131, 317, 997, 998, 1076, 1077, 523, 993, 994, + 317, 1033, 523, 523, 764, 390, 1197, 992, 599, 606, + 1430, 1480, 132, 538, 543, 785, 767, 381, 518, 1481, + 133, 904, 1003, 401, 317, 1004, 1005, 401, 1035, 848, + 1006, 402, 1546, 582, 317, 402, 1085, 1086, 403, 226, + 227, 228, 403, 1482, 134, 688, 950, 135, 450, 450, + 450, 450, 450, 1483, 450, 450, 450, 160, 406, 689, + 450, 136, 1485, 404, 690, 137, 405, 450, 138, 691, + 1230, 1077, 450, 450, 1064, 450, 450, 450, 1068, 450, + 450, 1486, 756, 757, 758, 1059, 1489, 669, 1158, 1529, + 1530, 1531, 673, 674, 1181, 1182, 1183, 1236, 1492, 139, + 678, 679, 680, 317, 519, 1490, 1060, 1615, 1526, 1527, + 1528, 683, 1529, 1530, 1531, 682, 140, 1493, 520, 317, + 1650, 317, 1572, 521, 1239, 1240, 1616, 1162, 1163, 1164, + 798, 244, 799, 245, 800, 246, 264, 317, 1626, 1651, + 1661, 325, 373, 1152, 186, 187, 188, 141, 378, 379, + 380, 941, 523, 730, 1167, 942, 1662, 523, 523, 317, + 142, 1165, 1166, 1469, 317, 523, 523, 523, 1045, 1396, + 694, -102, 505, -102, 152, -102, 543, 143, 1663, 150, + 247, 1170, 151, 1664, 6, 713, 903, 1062, 155, 791, + 695, 1549, 696, -102, 697, -102, 156, -102, 161, 798, + 943, 799, 189, 1151, 1148, 1149, 1206, 162, 1, 2, + 3, 948, 163, 233, 833, 190, 191, 836, 242, 1237, + 974, 256, 794, 804, 805, 263, 299, 1207, 356, 450, + 450, 809, 1222, 810, 301, 844, 406, 450, 847, 698, + 406, 404, 302, 450, 405, 404, 819, 309, 405, 820, + 821, 316, 323, 6, 192, 193, 374, 194, 381, 1208, + -280, 1209, 195, 827, 196, 392, 248, 826, 393, 1185, + 1148, 1149, 1228, 1148, 1149, 1393, 394, 451, 1211, 317, + 249, 452, 186, 187, 188, 250, 944, 459, 1194, 453, + 251, 1148, 1149, 1453, 454, 1204, 455, 211, 212, 213, + 945, 730, 456, 457, 458, 946, 816, 1406, 981, 214, + 1408, 523, 461, 460, 523, 523, 538, 462, 463, 464, + 465, 694, 466, 467, 470, 699, 694, 694, 471, 472, + 694, 325, 473, 474, 475, 476, 477, 897, 478, 700, + 189, 500, 325, 488, 701, 1606, 1607, 1608, 974, 702, + 479, 858, 480, 190, 191, 974, 481, 948, 482, 656, + 948, 948, 378, 379, 380, 963, 489, 490, 1451, 964, + 492, 493, 1455, 494, 1458, 996, 997, 998, 496, 940, + 497, 503, 974, 540, 974, 510, 512, 974, 533, -204, + 544, 986, 192, 193, 927, 194, 1003, 1004, 1005, 1024, + 195, 547, 196, 583, 657, 214, 658, 450, 585, 6, + 603, 586, 607, 608, 965, 609, 616, 610, 611, 612, + 928, 617, 618, 659, 111, 649, 621, 152, 643, 644, + 651, 711, 150, 949, 6, 151, 650, 652, 653, 715, + 221, 222, 223, 224, 225, -281, 226, 227, 228, -282, + 505, 670, 1666, 677, 707, 660, 523, 716, 661, 662, + 1668, 717, 663, 719, 723, 694, 623, 325, 325, 724, + 694, 966, 381, 694, 694, 781, 538, 732, 664, -211, + 792, 802, 814, 974, 806, 807, 813, 538, 948, 816, + 665, 948, 948, 808, 811, 186, 187, 188, 830, 840, + 967, -367, 268, 855, 666, 859, 863, 865, 902, 905, + 870, 899, 901, 906, 968, 907, 974, 908, 909, 969, + 910, 257, 258, 911, 970, 929, 913, 934, 951, 1159, + 932, 933, 985, 927, 543, 1019, 221, 222, 223, 224, + 225, 987, 226, 227, 228, 988, 1475, 1476, 1477, 989, + 1018, 990, 1022, 189, 837, 848, -289, 1023, 1021, 1025, + 1027, 974, 974, 1028, 1029, 694, 190, 191, 1038, 303, + 304, 1039, 1040, 1041, 373, 1042, 1043, 1046, 373, 949, + 1048, 1049, 949, 949, 1065, 1066, 1087, 1070, 1090, 1091, + 1098, 1534, 1169, 1167, 1168, 1538, 152, 1089, 1184, 1171, + 1096, 150, 1172, 1541, 151, 192, 193, 1187, 194, 1188, + 1189, 816, 325, 195, 1170, 196, 1190, 1191, 1192, 1195, + 1198, 1553, 1554, 254, 1201, 1202, 1203, 373, 373, 373, + 325, 325, 1214, 1215, 694, 1224, 1225, 1229, 1243, 1226, + 1244, 1077, 1384, 197, 577, 1387, 1388, 198, 948, 581, + 1238, 1383, 199, 1398, 1389, 1400, 1422, 6, 1402, 1423, + 1403, 1424, 927, 1404, 1405, 358, 1425, 1426, 363, 364, + 1427, 1428, 1429, 1431, 1450, 1598, 6, 1459, 1454, 1200, + 1472, 1460, 1600, 6, 1466, 1474, 694, 450, 1478, 1479, + 1604, 1487, 1484, 694, 694, 67, 1488, 694, 1221, 1491, + 1494, 325, 1495, 1401, 1496, 1497, 1501, 1535, 1539, 1555, + 949, 1557, 1542, 949, 949, 1556, 538, 1558, 656, 373, + 1543, 186, 187, 188, 1544, 1547, 1559, 1560, 1561, 1562, + 1563, 1096, 1568, 1571, 1611, 1602, 1629, 1614, 1596, 1628, + 153, 1599, 1631, 1603, 1605, 1618, 159, 1613, 1619, 109, + 1617, 110, 164, 165, 166, 167, 168, 1620, 1623, 204, + 1622, 1630, 1633, 657, 1634, 658, 1635, 1417, 1418, 1636, + 1419, 1637, 1420, 1647, 1638, 513, 514, 1463, 1464, 189, + 1639, 1640, 659, 1641, 1643, 526, 527, 528, 538, 1656, + 1642, 1646, 190, 191, 816, 1648, 1519, 254, 1649, 1658, + 1659, 1660, 974, 1667, 1516, 1517, 1518, 373, 1669, 1462, + 373, 548, 1473, 1532, 660, 974, 1519, 661, 662, 1047, + 1212, 663, 769, 587, 588, 784, 1612, 1471, 1432, 873, + 786, 192, 193, 1465, 194, 1186, 722, 664, 0, 195, + 0, 196, 502, 0, 0, 1221, 0, 0, 615, 665, + 0, 0, 0, 0, 313, 694, 694, 694, 0, 0, + 0, 0, 0, 666, 505, 0, 0, 974, 505, 0, + 949, 0, 0, 501, 373, 0, 0, 0, 199, 0, + 268, 268, 0, 0, 0, 0, 0, 0, 0, 7, + 8, 9, 10, 0, 11, 12, 13, 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, 667, 0, 0, 354, 1524, 1525, 1526, + 1527, 1528, 0, 1529, 1530, 1531, 672, 1435, 0, 675, + 676, 0, 0, 0, 0, 0, 0, 1524, 1525, 1526, + 1527, 1528, 1436, 1529, 1530, 1531, 407, 1437, 708, 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, 483, 0, 0, 0, 0, 1089, 0, 0, + 0, 0, 0, 0, 48, 762, 49, 0, 766, 498, + 499, 1438, 0, 0, 0, 1439, 506, 0, 1440, 212, + 213, 0, 0, 55, 0, 0, 1508, 0, 0, 0, + 214, 0, 0, 0, 582, 0, 0, 0, 0, 0, + 0, 0, 505, 505, 505, 0, 0, 0, 1441, 0, + 790, 1442, 1443, 1444, 0, 0, 1445, 0, 1446, 65, + 1517, 1518, 1447, 0, 0, 0, 0, 537, 0, 0, + 0, 1519, 0, 694, 0, 0, 183, 0, 0, 1508, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 817, + 818, 373, 0, 0, 0, 373, 0, 0, 0, 505, + 0, 0, 0, 0, 0, 831, 1096, 0, 834, 835, + 1594, 602, 839, 0, 0, 0, 842, 505, 505, 845, + 846, 0, 0, 850, 0, 0, 851, 270, 0, 111, + 0, 0, 0, 276, 0, 278, 0, 280, 0, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 0, 0, 202, 0, 0, + 0, 221, 222, 223, 224, 225, 306, 226, 227, 228, + 310, 0, 311, 312, 0, 373, 0, 0, 505, 0, + 0, 241, 0, 0, 0, 498, 505, 0, 0, 816, + 816, 816, 0, 0, 0, 1200, 0, 111, 0, 0, + 668, 262, 1524, 1525, 1526, 1527, 1528, 0, 1529, 1530, + 1531, 0, 0, 0, 0, 384, 385, 386, 0, 1652, + 1653, 1654, 0, 1655, 0, 0, 0, 207, 208, 209, + 210, 211, 212, 213, 0, 505, 373, 0, 505, 300, + 0, 0, 0, 214, 0, 0, 0, 0, 0, 995, + 0, 0, 0, 0, 355, 0, 0, 0, 0, 1001, + 1002, 0, 725, 726, 727, 728, 0, 731, 0, 505, + 0, 0, 0, 189, 0, 1449, 760, 0, 1020, 0, + 0, 0, 0, 0, 0, 505, 190, 191, 0, 0, + 319, 320, 0, 0, 0, 0, 816, 0, 0, 0, + 0, 0, 0, 0, 816, 0, 0, 0, 0, 0, + 0, 0, 0, 484, 780, 0, 0, 0, 347, 0, + 0, 0, 0, 111, 0, 387, 193, 0, 194, 0, + 0, 0, 0, 195, 0, 196, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 8, 9, 10, 0, 11, - 12, 13, 167, 70, 0, 1621, 0, 1516, 1517, 1518, - 1519, 533, 0, 1520, 1521, 1522, 1523, 1524, 978, 1525, - 1526, 1527, 533, 0, 0, 0, 0, 1005, 0, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 0, 0, - 0, 0, 15, 71, 1027, 0, 168, 212, 169, 170, - 171, 172, 77, 78, 0, 0, 0, 21, 79, 0, - 0, 173, 23, 0, 0, 81, 0, 0, 0, 0, - 1022, 24, 25, 174, 0, 0, 0, 27, 0, 0, - 175, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 176, 0, 0, 0, - 0, 0, 0, 0, 0, 45, 0, 46, 47, 0, - 48, 0, 0, 0, 0, 49, 0, 177, 178, 52, - 0, 0, 53, 87, 0, 0, 0, 54, 0, 1047, - 55, 88, 89, 90, 179, 1091, 0, 92, 0, 180, - 0, 0, 0, 0, 0, 0, 0, 0, 630, 631, - 0, 0, 58, 0, 0, 59, 60, 61, 0, 1080, - 62, 0, 63, 64, 0, 0, 65, 0, 0, 0, - 0, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 0, 224, 225, 226, 0, 0, 0, 1623, - 393, 0, 0, 72, 0, 73, 74, 75, 76, 77, - 0, 1027, 0, 0, 0, 394, 1189, 0, 80, 0, - 0, 0, 81, 0, 0, 0, 0, 0, 1176, 0, - 82, 0, 0, 0, 0, 0, 0, 83, 0, 0, + 389, 391, 0, 0, 0, 812, 0, 0, 0, 0, + 0, 1071, 382, 0, 1074, 1075, 0, 1078, 0, 111, + 537, 218, 219, 220, 221, 222, 223, 224, 225, 0, + 226, 227, 228, 1099, 0, 0, 0, 1144, 1145, 0, + 0, 0, 0, 1154, 0, 486, 487, 0, 1155, 0, + 0, 491, 0, 0, 0, 0, 1161, 209, 210, 211, + 212, 213, 0, 202, 0, 0, 0, 869, 0, 0, + 0, 214, 0, 0, 0, 0, 0, 0, 874, 875, + 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, + 886, 887, 888, 889, 890, 891, 892, 893, 894, 1448, + 0, 898, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 0, + 0, 0, 0, 0, 0, 0, 0, 539, 1519, 0, + 0, 0, 1216, 0, 0, 1217, 1218, 0, 645, 0, + 646, 0, 647, 0, 0, 262, 0, 0, 0, 1231, + 584, 0, 0, 962, 0, 1449, 0, 1449, 1449, 1449, + 1449, 1449, 0, 1449, 0, 0, 1510, 1511, 1512, 1513, + 1514, 1515, 1516, 1517, 1518, 0, 0, 1385, 0, 0, + 0, 0, 0, 0, 1519, 0, 0, 0, 0, 0, + 537, 631, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 537, 0, 0, 0, 0, 1009, 0, 0, 0, + 219, 220, 221, 222, 223, 224, 225, 0, 226, 227, + 228, 1390, 0, 1031, 0, 0, 1449, 1449, 1449, 1449, + 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, + 1449, 1449, 1449, 1449, 1449, 729, 0, 0, 1407, 0, + 0, 1409, 0, 319, 1521, 1522, 1523, 761, 0, 1524, + 1525, 1526, 1527, 1528, 111, 1529, 1530, 1531, 671, 0, + 0, 0, 0, 111, 207, 208, 209, 210, 211, 212, + 213, 0, 0, 111, 0, 0, 0, 1449, 0, 0, + 214, 0, 0, 0, 1434, 0, 0, 0, 0, 262, + 0, 0, 0, 0, 0, 0, 0, 1625, 0, 1520, + 1521, 1522, 1523, 0, 1095, 1524, 1525, 1526, 1527, 1528, + 0, 1529, 1530, 1531, 0, 0, 384, 385, 386, 1500, + 0, 1502, 1503, 1504, 1505, 1506, 0, 1509, 1449, 763, + 765, 1449, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, + 773, 774, 775, 776, 777, 0, 0, 779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 84, 1510, 1511, 1512, 1513, 1514, 0, - 0, 533, 0, 0, 0, 1209, 632, 0, 1515, 0, - 0, 0, 0, 0, 85, 86, 1091, 0, 0, 0, - 87, 0, 0, 0, 0, 0, 0, 0, 395, 396, - 90, 91, 0, 0, 92, 0, 93, 0, 0, 0, - 0, 633, 0, 0, 0, 0, 1241, 1242, 1243, 1244, - 1245, 1246, 1247, 1248, 1249, 1250, 1251, 634, 1252, 1253, - 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, - 0, 1390, 0, 533, 0, 1393, 0, 1264, 1265, 1266, - 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, - 1277, 1278, 1279, 1280, 1281, 1282, 0, 0, 1283, 1284, - 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, - 1295, 1296, 1297, 1298, 1299, 1300, 0, 1301, 0, 1302, - 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 0, - 1312, 1313, 1314, 0, 0, 0, 0, 0, 1520, 1521, - 1522, 1523, 1524, 0, 1525, 1526, 1527, 0, 1315, 0, - 0, 0, 0, 0, 0, 1316, 1317, 1318, 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, 0, 0, 1080, 1354, 1355, 1356, 1357, - 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, - 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1541, 1375, 1376, - 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, - 1251, 0, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, - 1260, 1261, 1262, 1263, 0, 0, 0, 0, 0, 0, - 0, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, - 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, - 0, 0, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, - 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, - 0, 1301, 0, 1302, 1303, 1304, 1305, 1306, 1307, 1308, - 1309, 1310, 1311, 0, 1312, 1313, 1314, 0, 1464, 0, + 1031, 787, 788, 0, 189, 1193, 0, 860, 861, 862, + 796, 864, 0, 866, 541, 867, 868, 190, 191, 0, + 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, + 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 219, + 220, 221, 222, 223, 224, 225, 0, 226, 227, 228, + 537, 0, 0, 0, 0, 0, 387, 193, 73, 194, + 74, 75, 76, 77, 195, 1095, 196, 0, 841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1315, 0, 0, 0, 0, 0, 0, 1316, - 1317, 1318, 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, 0, 0, 0, - 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, - 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, - 1374, 1091, 1375, 1376, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 8, 9, 10, 0, 11, - 12, 13, 392, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1470, 0, 0, 0, + 388, 0, 84, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 7, 8, 9, 10, 237, + 11, 12, 13, 14, 0, 0, 0, 157, 0, 0, + 1394, 0, 537, 0, 1397, 0, 0, 0, 895, 0, + 86, 87, 0, 0, 0, 1644, 0, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 0, 92, 0, 0, + 1533, 0, 94, 15, 1537, 214, 0, 16, 1540, 17, + 18, 19, 20, 1514, 1515, 1516, 1517, 1518, 21, 0, + 0, 1548, 22, 23, 1550, 1551, 1552, 1519, 0, 0, + 0, 0, 24, 25, 26, 982, 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, 1063, 50, 0, 51, + 52, 53, 0, 0, 54, 0, 0, 1026, 0, 55, + 1601, 0, 56, 0, 0, 0, 57, 0, 0, 0, + 0, 58, 1609, 1610, 206, 207, 208, 209, 210, 211, + 212, 213, 0, 0, 59, 0, 0, 60, 61, 62, + 0, 214, 63, 0, 158, 65, 0, 0, 66, 0, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 0, 226, 227, 228, 0, 1051, 0, 509, 0, + 0, 0, 73, 1632, 74, 75, 76, 77, 1524, 1525, + 1526, 1527, 1528, 0, 1529, 1530, 1531, 236, 0, 0, + 0, 0, 0, 0, 0, 0, 1084, 1645, 0, 0, + 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1657, 0, 0, 0, + 0, 0, 0, 237, 0, 1665, 0, 1468, 0, 0, + 0, 0, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 0, + 0, 0, 0, 0, 86, 87, 0, 0, 1519, 0, + 0, 0, 0, 0, 0, 1180, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 94, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 0, 226, 227, + 228, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, + 1254, 1255, 1213, 1256, 1257, 1258, 1259, 1260, 1261, 1262, + 1263, 1264, 1265, 1266, 1267, 0, 0, 0, 0, 0, + 1095, 0, 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, 1595, 0, 1433, 0, 0, 1524, + 1525, 1526, 1527, 1528, 1319, 1529, 1530, 1531, 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, 1545, 1379, 1380, 0, 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, 1084, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 204, 205, 206, - 207, 208, 209, 210, 211, 0, 0, 0, 0, 0, - 0, 0, 15, 393, 212, 1591, 168, 0, 169, 170, - 171, 172, 77, 0, 0, 0, 0, 21, 394, 0, - 0, 173, 23, 0, 0, 81, 0, 0, 0, 0, - 0, 24, 25, 174, 1588, 0, 0, 27, 0, 0, - 175, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 176, 0, 0, 0, - 0, 0, 0, 0, 0, 45, 0, 46, 47, 0, - 48, 0, 0, 1617, 0, 49, 0, 177, 178, 52, - 0, 0, 53, 87, 0, 0, 0, 54, 0, 0, - 55, 395, 396, 90, 179, 0, 0, 92, 0, 180, - 7, 8, 9, 10, 0, 11, 12, 13, 14, 0, - 0, 0, 58, 0, 0, 59, 60, 61, 0, 0, - 62, 0, 63, 64, 910, 0, 65, 0, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 0, - 224, 225, 226, 911, 0, 0, 0, 0, 15, 0, - 0, 0, 16, 0, 17, 18, 19, 20, 0, 0, - 0, 0, 0, 21, 0, 955, 956, 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, 0, 0, 0, 0, 0, 0, 0, - 0, 45, 0, 46, 47, 0, 48, 0, 0, 0, - 0, 49, 0, 50, 51, 52, 0, 0, 53, 0, - 0, 0, 0, 54, 0, 0, 55, 0, 0, 0, - 56, 7, 8, 9, 10, 57, 11, 12, 13, 14, - 957, 0, 0, 155, 0, 0, 0, 0, 58, 0, - 0, 59, 60, 61, 0, 0, 62, 0, 63, 64, - 0, 0, 65, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 0, 0, 0, 0, 0, 0, 0, 15, - 0, 212, 0, 16, 0, 17, 18, 19, 20, 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, 1507, 1358, + 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, + 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, + 0, 1379, 1380, 0, 0, 7, 8, 9, 10, 0, + 11, 12, 13, 169, 71, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1564, 1565, 1566, 1567, + 0, 1569, 0, 1570, 0, 0, 0, 0, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 0, 15, 72, 0, 214, 170, 0, 171, + 172, 173, 174, 78, 79, 0, 0, 0, 21, 80, + 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, 1592, 56, 89, 90, 91, 181, 0, 0, 93, + 0, 182, 7, 8, 9, 10, 0, 11, 12, 13, + 395, 0, 0, 0, 59, 0, 0, 60, 61, 62, + 0, 0, 63, 0, 64, 65, 0, 0, 66, 0, + 1621, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 0, 226, 227, 228, 0, 0, 0, 1034, + 15, 396, 0, 0, 170, 0, 171, 172, 173, 174, + 78, 0, 0, 0, 0, 21, 397, 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, + 398, 399, 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, 0, 0, 0, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 0, 0, 0, 15, 214, 0, + 0, 16, 0, 17, 18, 19, 20, 0, 0, 0, + 0, 0, 21, 0, 959, 960, 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, + 961, 0, 0, 0, 0, 0, 0, 0, 59, 0, + 0, 60, 61, 62, 0, 0, 63, 0, 64, 65, + 0, 0, 66, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 0, 226, 227, 228, 0, 15, + 0, 1627, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 45, 0, 46, 47, 0, 48, 0, 0, - 0, 0, 49, 0, 50, 51, 52, 0, 0, 53, - 0, 0, 0, 0, 54, 0, 0, 55, 0, 0, - 0, 56, 7, 8, 9, 10, 57, 11, 12, 13, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 58, - 0, 0, 59, 60, 61, 0, 0, 62, 0, 156, - 64, 0, 1093, 65, 0, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 0, 224, 225, 226, - 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, 0, 0, 0, 0, 0, - 0, 0, 0, 45, 0, 46, 47, 0, 48, 0, - 0, 0, 0, 49, 0, 50, 51, 52, 0, 0, - 53, 0, 0, 0, 0, 54, 0, 0, 55, 0, - 0, 0, 56, 7, 8, 9, 10, 57, 11, 12, + 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, - 58, 0, 0, 59, 60, 61, 0, 0, 62, 0, - 63, 64, 345, 0, 65, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 0, 0, 0, 0, 0, 0, - 0, 15, 350, 212, 0, 16, 0, 17, 18, 19, + 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, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 0, 46, 47, 0, 48, - 0, 0, 0, 0, 49, 0, 50, 51, 52, 0, - 0, 53, 0, 0, 0, 0, 54, 0, 0, 55, - 0, 0, 0, 56, 7, 8, 9, 10, 57, 11, - 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 58, 0, 0, 59, 60, 61, 0, 0, 62, - 0, 63, 64, 1169, 0, 65, 0, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 0, 224, - 225, 226, 15, 755, 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, 0, 0, 0, - 0, 0, 0, 0, 0, 45, 0, 46, 47, 0, - 48, 0, 0, 0, 0, 49, 0, 50, 51, 52, - 0, 0, 53, 0, 0, 0, 0, 54, 0, 0, - 55, 0, 0, 0, 56, 7, 8, 9, 10, 57, + 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, 58, 0, 0, 59, 60, 61, 0, 0, - 62, 0, 63, 64, 0, 0, 65, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 0, 0, 0, 0, - 0, 0, 0, 15, 0, 212, 0, 16, 0, 17, + 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, 0, 0, - 0, 0, 0, 0, 0, 0, 45, 0, 46, 47, - 0, 48, 0, 0, 0, 0, 49, 0, 50, 51, - 52, 0, 0, 53, 0, 0, 0, 0, 54, 0, - 0, 55, 0, 0, 0, 56, 7, 8, 9, 10, - 57, 11, 12, 13, 14, 0, 0, 0, 0, 0, - 0, 0, 0, 58, 0, 0, 59, 60, 61, 0, - 0, 62, 0, 63, 64, 892, 0, 65, 0, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 0, 224, 225, 226, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 45, 0, 46, - 47, 0, 48, 0, 0, 0, 0, 49, 0, 50, - 51, 52, 0, 0, 53, 0, 0, 0, 0, 54, - 0, 0, 55, 0, 0, 0, 56, 7, 8, 9, - 10, 57, 11, 12, 13, 14, 1088, 0, 0, 0, - 0, 0, 0, 0, 58, 0, 0, 59, 60, 61, - 0, 0, 62, 0, 63, 64, 0, 0, 65, 731, - 732, 733, 734, 735, 736, 737, 738, 739, 0, 0, - 0, 0, 0, 0, 0, 15, 0, 740, 0, 16, - 0, 17, 18, 19, 20, 0, 0, 0, 0, 0, + 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, 236, 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, 0, 0, + 0, 0, 0, 0, 24, 25, 26, 0, 143, 0, 27, 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, - 46, 47, 0, 48, 0, 0, 0, 0, 49, 0, - 50, 51, 52, 0, 0, 53, 0, 0, 0, 0, - 54, 0, 0, 55, 0, 0, 0, 56, 7, 8, - 9, 10, 57, 11, 12, 13, 14, 1463, 0, 0, - 0, 0, 0, 0, 0, 58, 0, 0, 59, 60, - 61, 0, 0, 62, 0, 63, 64, 0, 0, 65, - 0, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 0, 752, 753, 754, 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, 0, 0, 0, 0, 0, 0, 0, 0, 45, - 0, 46, 47, 0, 48, 0, 0, 0, 0, 49, - 0, 50, 51, 52, 0, 0, 53, 0, 0, 0, - 0, 54, 0, 0, 55, 0, 0, 0, 56, 7, - 8, 9, 10, 57, 11, 12, 13, 14, 0, 0, - 0, 0, 0, 0, 0, 0, 58, 0, 0, 59, - 60, 61, 0, 0, 62, 0, 63, 64, 1589, 0, - 65, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, - 0, 0, 0, 0, 0, 0, 0, 15, 0, 1515, + 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, 896, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 45, 0, 46, 47, 0, 48, 0, 0, 0, 0, - 49, 0, 50, 51, 52, 0, 0, 53, 0, 0, - 0, 0, 54, 0, 0, 55, 0, 0, 0, 56, - 7, 8, 9, 10, 57, 11, 12, 13, 14, 0, - 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, - 59, 60, 61, 0, 0, 62, 0, 63, 64, 0, - 0, 65, 0, 1516, 1517, 1518, 1519, 0, 0, 1520, - 1521, 1522, 1523, 1524, 0, 1525, 1526, 1527, 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, 0, 184, 185, 186, 0, 0, 0, - 0, 45, 0, 46, 47, 72, 48, 73, 74, 75, - 76, 49, 0, 50, 51, 52, 0, 0, 53, 0, - 234, 0, 0, 54, 0, 0, 55, 0, 0, 0, - 56, 7, 8, 9, 10, 57, 11, 12, 13, 83, - 0, 0, 0, 1494, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 0, 0, 235, 62, 0, 63, 64, - 0, 0, 65, 0, 0, 188, 189, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 85, 86, 0, 1431, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 91, 1432, 184, 185, 186, 93, 1433, - 1046, 0, 0, 190, 191, 0, 192, 0, 24, 25, - 0, 193, 0, 194, 27, 0, 0, 0, 29, 30, + 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, + 1092, 0, 0, 0, 0, 0, 0, 0, 59, 0, + 0, 60, 61, 62, 0, 0, 63, 0, 64, 65, + 1173, 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, 7, 8, 9, 10, 766, 11, 12, - 13, 0, 0, 0, 0, 47, 0, 48, 0, 0, - 0, 0, 1434, 187, 0, 0, 1435, 0, 0, 1436, - 0, 0, 0, 0, 54, 0, 188, 189, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1431, 0, 0, 0, 0, 0, 0, 0, 1437, - 0, 0, 1438, 1439, 1440, 0, 1432, 1441, 0, 1495, - 64, 1433, 0, 1443, 190, 191, 0, 192, 0, 0, - 24, 25, 193, 0, 194, 0, 27, 0, 0, 0, + 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, 1467, 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, 7, 8, 9, 10, 0, - 11, 12, 13, 652, 0, 0, 0, 47, 0, 48, - 0, 0, 0, 0, 1434, 0, 0, 0, 1435, 0, - 0, 1436, 0, 0, 0, 0, 54, 0, 0, 0, - 0, 0, 0, 0, 108, 0, 109, 0, 0, 0, - 0, 0, 0, 1431, 0, 0, 0, 0, 653, 0, - 654, 1437, 0, 0, 1438, 1439, 1440, 0, 1432, 1441, - 0, 1442, 64, 1433, 0, 1443, 0, 655, 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, 0, 656, 0, - 0, 657, 658, 0, 0, 659, 0, 0, 0, 47, - 0, 48, 546, 547, 548, 10, 1434, 11, 549, 550, - 1435, 660, 0, 1436, 551, 0, 0, 0, 54, 0, - 0, 0, 0, 661, 0, 0, 546, 547, 548, 10, - 0, 11, 549, 550, 0, 0, 0, 662, 868, 0, - 0, 0, 0, 0, 0, 0, 0, 108, 0, 109, - 552, 1441, 0, 1442, 64, 0, 0, 1443, 0, 0, - 0, 0, 0, 0, 0, 553, 0, 0, 0, 0, - 554, 108, 0, 109, 552, 0, 0, 0, 0, 555, - 556, 0, 0, 0, 0, 0, 0, 0, 0, 553, - 0, 0, 0, 0, 554, 0, 0, 0, 0, 0, - 0, 0, 0, 555, 556, 0, 0, 0, 0, 0, - 0, 0, 0, 557, 0, 0, 558, 0, 559, 184, - 185, 186, 0, 560, 0, 0, 0, 561, 0, 0, - 562, 0, 0, 0, 0, 563, 0, 557, 564, 0, - 558, 0, 559, 0, 0, 0, 0, 560, 0, 0, - 0, 561, 0, 0, 562, 630, 631, 0, 0, 563, - 565, 0, 564, 566, 567, 0, 0, 0, 568, 0, - 569, 0, 0, 0, 570, 0, 72, 187, 73, 74, - 75, 76, 0, 0, 565, 0, 0, 566, 567, 0, - 188, 189, 568, 0, 569, 778, 779, 393, 570, 0, - 72, 0, 73, 74, 75, 76, 77, 0, 0, 0, - 83, 0, 394, 0, 0, 80, 0, 0, 0, 81, - 0, 0, 0, 0, 0, 0, 235, 82, 190, 1006, - 1007, 1008, 0, 0, 83, 0, 193, 393, 194, 0, - 72, 0, 73, 74, 75, 76, 77, 85, 86, 1009, - 84, 0, 394, 0, 1010, 80, 0, 0, 0, 81, - 0, 0, 0, 632, 91, 0, 0, 82, 0, 93, - 0, 85, 86, 0, 83, 0, 0, 87, 0, 72, - 0, 73, 74, 75, 76, 395, 396, 90, 91, 0, - 84, 92, 153, 93, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, - 0, 85, 86, 83, 634, 0, 0, 87, 0, 0, - 0, 0, 0, 0, 0, 395, 396, 90, 91, 235, - 0, 92, 0, 93, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 0, 0, 0, 0, 0, 0, 0, - 85, 86, 212, 0, 634, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 0, 0, 0, 91, 0, 0, - 0, 0, 93, 212, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 212, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 212, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 212, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, - 0, 0, 0, 0, 0, 0, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 0, 224, 225, - 226, 302, 0, 0, 0, 0, 0, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 0, 224, - 225, 226, 491, 0, 0, 0, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 0, 224, 225, - 226, 507, 0, 0, 0, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 0, 224, 225, 226, - 585, 0, 0, 0, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 0, 224, 225, 226, 644, - 0, 0, 0, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 0, 224, 225, 226, 764, 0, - 0, 0, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 0, 224, 225, 226, 896, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 0, 0, 0, - 0, 0, 184, 185, 186, 0, 212, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 212, 203, 204, 205, 206, - 207, 208, 209, 210, 211, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 212, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 0, 0, 0, 0, 0, 0, - 187, 0, 0, 212, 204, 205, 206, 207, 208, 209, - 210, 211, 0, 188, 189, 0, 0, 0, 0, 0, - 0, 212, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1515, - 205, 206, 207, 208, 209, 210, 211, 0, 0, 0, - 0, 190, 191, 0, 192, 0, 212, 0, 0, 193, - 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 0, 224, 225, 226, 976, 0, 0, 0, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 0, 224, 225, 226, 1026, 0, 503, 0, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 0, - 224, 225, 226, 0, 0, 1028, 0, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 0, 224, - 225, 226, 0, 0, 0, 0, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 0, 224, 225, 226, - 0, 0, 0, 0, 1517, 1518, 1519, 0, 0, 1520, - 1521, 1522, 1523, 1524, 0, 1525, 1526, 1527, 0, 0, - 0, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 0, 224, 225, 226, 205, 206, 207, 208, 209, - 210, 211, 184, 185, 186, 0, 0, 0, 0, 0, - 0, 212, 205, 206, 207, 208, 209, 210, 211, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 212, 1508, - 1509, 1510, 1511, 1512, 1513, 1514, 0, 0, 72, 0, - 73, 74, 75, 76, 0, 1515, 1508, 1509, 1510, 1511, - 1512, 1513, 1514, 234, 0, 0, 0, 0, 0, 0, - 187, 0, 1515, 1508, 1509, 1510, 1511, 1512, 1513, 1514, - 0, 0, 83, 188, 189, 0, 0, 0, 0, 1515, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, - 0, 0, 0, 0, 406, 0, 0, 0, 0, 0, - 0, 0, 407, 408, 409, 410, 0, 0, 0, 85, - 86, 190, 191, 0, 192, 412, 586, 414, 415, 193, - 0, 194, 0, 0, 0, 0, 91, 0, 587, 0, - 0, 93, 0, 0, 0, 0, 257, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 0, 224, 225, 226, - 0, 0, 425, 601, 141, 216, 217, 218, 219, 220, - 221, 222, 223, 430, 224, 225, 226, 0, 0, 431, - 1517, 1518, 1519, 594, 434, 1520, 1521, 1522, 1523, 1524, - 594, 1525, 1526, 1527, 0, 437, 0, 438, 1518, 1519, - 0, 0, 1520, 1521, 1522, 1523, 1524, 0, 1525, 1526, - 1527, 0, 0, 0, 0, 0, 1519, 0, 0, 1520, - 1521, 1522, 1523, 1524, 0, 1525, 1526, 1527, 0, 0, - 0, 406, 0, 912, 913, 914, 0, 0, 406, 407, - 408, 409, 410, 0, 0, 0, 407, 408, 409, 410, - 0, 0, 412, 413, 414, 415, 0, 0, 0, 412, - 586, 414, 415, 0, 0, 587, 0, 0, 0, 0, - 0, 0, 587, 0, 0, 0, 0, 0, 72, 0, - 73, 74, 75, 76, 915, 916, 0, 0, 0, 425, - 0, 0, 0, 80, 0, 0, 425, 0, 0, 0, - 430, 0, 0, 0, 0, 82, 431, 430, 0, 0, - 433, 434, 83, 431, 0, 0, 0, 0, 434, 184, - 185, 186, 437, 0, 438, 912, 913, 914, 84, 437, - 0, 438, 0, 0, 72, 0, 73, 74, 75, 76, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, - 86, 0, 69, 70, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 917, 0, 0, 91, 0, 83, 92, - 72, 93, 73, 74, 75, 76, 0, 187, 0, 0, - 0, 0, 0, 0, 235, 80, 0, 0, 0, 0, - 188, 189, 0, 71, 0, 0, 72, 82, 73, 74, - 75, 76, 77, 525, 83, 85, 86, 0, 79, 0, - 0, 80, 0, 0, 0, 81, 0, 0, 0, 0, - 84, 0, 91, 82, 0, 0, 0, 93, 190, 191, - 83, 192, 0, 0, 0, 0, 193, 0, 194, 0, - 0, 85, 86, 0, 69, 70, 84, 0, 0, 1009, - 154, 0, 0, 0, 1170, 0, 0, 0, 91, 0, - 0, 92, 0, 93, 526, 0, 0, 85, 86, 0, - 69, 70, 0, 87, 0, 0, 0, 0, 0, 0, - 0, 88, 89, 90, 91, 71, 0, 92, 72, 93, - 73, 74, 75, 76, 77, 78, 0, 0, 0, 0, - 79, 0, 0, 80, 0, 0, 0, 81, 0, 0, - 0, 71, 0, 0, 72, 82, 73, 74, 75, 76, - 77, 0, 83, 0, 0, 0, 79, 0, 0, 80, - 0, 0, 0, 81, 0, 0, 0, 0, 84, 0, - 0, 82, 0, 0, 0, 0, 0, 0, 83, 0, - 0, 0, 0, 0, 0, 184, 185, 186, 0, 85, - 86, 0, 69, 70, 84, 87, 0, 0, 0, 0, - 0, 0, 0, 88, 89, 90, 91, 0, 0, 92, - 0, 93, 677, 0, 0, 85, 86, 0, 69, 0, - 0, 87, 0, 0, 0, 0, 0, 0, 0, 88, - 89, 90, 91, 71, 0, 92, 72, 93, 73, 74, - 75, 76, 77, 187, 0, 0, 0, 0, 79, 0, - 0, 80, 0, 0, 0, 81, 188, 189, 0, 71, - 0, 0, 72, 82, 73, 74, 75, 76, 77, 789, - 83, 0, 0, 0, 79, 0, 0, 80, 0, 0, - 0, 81, 0, 0, 0, 0, 84, 0, 0, 82, - 0, 0, 0, 0, 190, 191, 83, 192, 0, 0, - 0, 0, 193, 0, 194, 0, 0, 85, 86, 0, - 142, 0, 84, 87, 0, 1009, 0, 0, 0, 0, - 1172, 88, 89, 90, 91, 0, 0, 92, 0, 93, - 0, 0, 0, 85, 86, 0, 142, 0, 0, 87, - 0, 0, 0, 0, 0, 0, 0, 88, 89, 90, - 91, 143, 0, 92, 72, 93, 73, 74, 75, 76, - 77, 979, 0, 0, 0, 0, 144, 0, 0, 80, - 0, 0, 0, 81, 0, 0, 0, 143, 0, 0, - 72, 82, 73, 74, 75, 76, 77, 0, 83, 0, - 0, 0, 144, 0, 0, 80, 0, 0, 0, 81, - 0, 0, 0, 0, 84, 0, 0, 82, 0, 0, + 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, 1593, 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, 0, 0, 0, + 0, 0, 0, 0, 59, 0, 0, 60, 61, 62, + 0, 0, 63, 0, 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, 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, 1498, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 63, 0, 64, 65, 0, 0, + 66, 0, 745, 746, 747, 748, 749, 750, 751, 752, + 753, 754, 755, 0, 756, 757, 758, 1435, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1436, 0, 186, 187, 188, 1437, 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, 1438, 189, 0, 0, 1439, 0, 0, 1440, 0, + 0, 0, 0, 55, 0, 190, 191, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1435, 0, 0, 0, 0, 0, 0, 0, 1441, 0, + 0, 1442, 1443, 1444, 0, 1436, 1445, 0, 1499, 65, + 1437, 0, 1447, 0, 192, 193, 0, 194, 0, 24, + 25, 0, 195, 0, 196, 27, 0, 0, 0, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 186, 187, 188, 770, 0, + 0, 0, 0, 0, 0, 0, 0, 48, 0, 49, + 550, 551, 552, 10, 1438, 11, 553, 554, 1439, 0, + 0, 1440, 555, 0, 0, 0, 55, 0, 0, 0, + 0, 0, 0, 0, 550, 551, 552, 10, 0, 11, + 553, 554, 0, 0, 0, 0, 872, 0, 0, 0, + 0, 0, 0, 189, 0, 109, 0, 110, 556, 1445, + 0, 1446, 65, 0, 0, 1447, 190, 191, 0, 0, + 0, 0, 0, 557, 0, 0, 0, 0, 558, 109, + 0, 110, 556, 0, 0, 0, 0, 559, 560, 0, + 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, + 0, 0, 558, 0, 0, 192, 1010, 1011, 1012, 0, + 0, 559, 560, 195, 0, 196, 73, 0, 74, 75, + 76, 77, 561, 0, 0, 562, 1013, 563, 0, 0, + 0, 1014, 564, 0, 0, 0, 565, 0, 0, 566, + 0, 0, 0, 0, 567, 0, 561, 568, 0, 562, + 84, 563, 550, 551, 552, 10, 564, 11, 553, 554, + 565, 0, 0, 566, 720, 0, 0, 237, 567, 569, + 0, 568, 570, 571, 0, 0, 0, 572, 0, 573, + 0, 0, 0, 574, 0, 0, 0, 0, 86, 87, + 0, 0, 0, 569, 0, 0, 570, 571, 0, 0, + 556, 572, 0, 573, 0, 92, 0, 574, 0, 0, + 94, 0, 0, 0, 0, 557, 0, 0, 0, 0, + 558, 1101, 0, 0, 0, 0, 0, 0, 0, 559, + 560, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, + 0, 0, 0, 0, 0, 186, 187, 188, 0, 1111, + 0, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, + 1121, 1122, 1123, 0, 561, 0, 0, 562, 0, 563, + 0, 0, 0, 0, 564, 0, 0, 0, 565, 0, + 0, 566, 0, 0, 1124, 0, 567, 0, 0, 568, + 634, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 189, 0, 0, 0, 0, 0, 629, + 0, 569, 0, 0, 570, 571, 190, 191, 0, 572, + 0, 721, 0, 0, 0, 574, 0, 0, 0, 0, + 1125, 0, 396, 0, 0, 73, 0, 74, 75, 76, + 77, 78, 0, 0, 0, 0, 0, 397, 0, 630, + 81, 0, 0, 0, 82, 192, 193, 0, 194, 186, + 187, 188, 83, 195, 0, 196, 0, 0, 0, 84, + 1126, 0, 0, 1127, 0, 1128, 1129, 1130, 1131, 1132, + 1133, 1134, 1135, 1136, 1137, 1138, 85, 1139, 1140, 0, + 0, 1141, 0, 0, 634, 635, 0, 0, 0, 636, + 0, 0, 0, 186, 187, 188, 0, 86, 87, 0, + 0, 0, 0, 88, 0, 0, 0, 189, 0, 0, + 0, 398, 399, 91, 92, 0, 0, 93, 0, 94, + 190, 191, 0, 0, 637, 0, 396, 0, 0, 73, + 0, 74, 75, 76, 77, 78, 0, 0, 0, 0, + 638, 397, 0, 0, 81, 0, 0, 0, 82, 0, + 0, 189, 0, 0, 0, 0, 83, 0, 0, 192, + 193, 0, 194, 84, 190, 191, 0, 195, 0, 196, + 0, 186, 187, 188, 0, 0, 0, 782, 783, 0, + 85, 0, 0, 0, 259, 0, 0, 0, 0, 0, + 0, 0, 0, 636, 0, 0, 0, 0, 0, 0, + 0, 86, 87, 192, 193, 0, 194, 88, 0, 0, + 0, 195, 0, 196, 0, 398, 399, 91, 92, 396, + 0, 93, 73, 94, 74, 75, 76, 77, 78, 189, + 0, 0, 0, 0, 397, 0, 0, 81, 0, 0, + 0, 82, 190, 191, 638, 0, 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, 0, 0, + 0, 192, 193, 0, 194, 0, 636, 0, 0, 195, + 0, 196, 0, 0, 86, 87, 0, 0, 0, 0, + 88, 0, 1013, 0, 0, 0, 0, 1174, 398, 399, + 91, 92, 0, 0, 93, 0, 94, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 214, 0, 638, 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, 914, 0, 0, 0, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 0, 226, 227, 228, 915, 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, 495, 0, 0, 0, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 0, 226, 227, 228, 511, 0, 0, 0, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 0, 226, 227, 228, 589, 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, 648, 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, 900, 1510, 1511, 1512, 1513, 1514, 1515, + 1516, 1517, 1518, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1519, 1511, 1512, 1513, 1514, 1515, 1516, 1517, + 1518, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1519, 0, 0, 0, 0, 0, 0, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 0, 226, + 227, 228, 980, 0, 0, 0, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 0, 226, 227, + 228, 1030, 0, 507, 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, 0, 0, 1520, 1521, 1522, + 1523, 0, 214, 1524, 1525, 1526, 1527, 1528, 0, 1529, + 1530, 1531, 0, 0, 0, 0, 1521, 1522, 1523, 0, + 598, 1524, 1525, 1526, 1527, 1528, 0, 1529, 1530, 1531, + 1512, 1513, 1514, 1515, 1516, 1517, 1518, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1519, 1512, 1513, 1514, + 1515, 1516, 1517, 1518, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1519, 0, 0, 0, 0, 409, 0, + 73, 0, 74, 75, 76, 77, 410, 411, 412, 413, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, + 416, 417, 418, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 591, 0, 84, 0, 0, 0, 0, 0, + 0, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 237, 226, 227, 228, 0, 0, 428, 0, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 433, 226, + 227, 228, 86, 87, 434, 0, 0, 0, 436, 437, + 0, 598, 0, 0, 0, 0, 0, 0, 0, 92, + 440, 0, 441, 0, 94, 0, 916, 917, 918, 0, + 0, 0, 0, 1522, 1523, 0, 0, 1524, 1525, 1526, + 1527, 1528, 0, 1529, 1530, 1531, 0, 155, 0, 0, + 0, 1523, 0, 0, 1524, 1525, 1526, 1527, 1528, 409, + 1529, 1530, 1531, 0, 0, 0, 0, 410, 411, 412, + 413, 73, 0, 74, 75, 76, 77, 919, 920, 0, + 415, 590, 417, 418, 0, 0, 81, 0, 0, 916, + 917, 918, 0, 591, 0, 0, 0, 0, 83, 0, + 0, 0, 0, 0, 0, 84, 0, 0, 73, 0, + 74, 75, 76, 77, 0, 0, 0, 0, 428, 0, + 0, 0, 85, 70, 71, 0, 0, 0, 0, 433, + 0, 0, 0, 0, 73, 434, 74, 75, 76, 77, + 437, 0, 84, 86, 87, 0, 0, 0, 0, 81, + 0, 440, 0, 441, 0, 0, 0, 921, 0, 237, + 92, 83, 0, 93, 72, 94, 0, 73, 84, 74, + 75, 76, 77, 78, 529, 0, 0, 0, 0, 80, + 86, 87, 81, 0, 0, 85, 82, 0, 0, 0, + 0, 0, 0, 0, 83, 0, 0, 92, 0, 0, + 0, 84, 94, 0, 0, 0, 86, 87, 0, 0, + 0, 0, 0, 0, 0, 0, 70, 71, 85, 0, + 0, 0, 0, 92, 0, 156, 93, 0, 94, 0, + 0, 0, 0, 0, 0, 0, 530, 0, 0, 86, + 87, 0, 70, 71, 0, 88, 0, 0, 0, 0, + 0, 0, 0, 89, 90, 91, 92, 72, 0, 93, + 73, 94, 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, 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, 681, 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, 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, 983, 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, 0, - 0, 184, 185, 186, 0, 85, 86, 0, 69, 0, - 84, 87, 0, 0, 0, 0, 184, 185, 186, 145, - 146, 90, 91, 0, 0, 92, 0, 93, 0, 0, - 0, 85, 86, 0, 0, 0, 0, 87, 0, 0, - 0, 0, 0, 0, 0, 145, 146, 90, 91, 71, - 0, 92, 72, 93, 73, 74, 75, 76, 77, 187, - 0, 0, 0, 0, 79, 0, 0, 80, 0, 0, - 0, 81, 188, 189, 187, 0, 0, 0, 0, 82, - 0, 0, 0, 184, 185, 186, 83, 188, 189, 0, + 0, 84, 190, 191, 0, 0, 0, 186, 187, 188, + 0, 189, 1050, 0, 0, 0, 0, 0, 85, 0, + 0, 0, 0, 0, 190, 191, 192, 193, 0, 194, + 0, 0, 0, 0, 195, 0, 196, 0, 0, 86, + 87, 192, 193, 0, 194, 88, 0, 1013, 0, 195, + 0, 196, 1176, 89, 90, 91, 92, 0, 0, 93, + 0, 94, 1013, 192, 193, 189, 194, 1178, 0, 0, + 0, 195, 73, 196, 74, 75, 76, 77, 190, 191, + 0, 409, 0, 0, 1013, 0, 0, 0, 0, 410, + 411, 412, 413, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 415, 590, 417, 418, 84, 0, 0, 0, + 420, 0, 0, 0, 0, 591, 0, 192, 193, 0, + 194, 0, 0, 237, 0, 195, 0, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, - 190, 191, 0, 192, 0, 0, 0, 0, 193, 0, - 194, 0, 0, 85, 86, 190, 191, 0, 192, 87, - 0, 1009, 0, 193, 0, 194, 1174, 88, 89, 90, - 91, 187, 0, 92, 0, 93, 1009, 625, 72, 0, - 73, 74, 75, 76, 188, 189, 0, 0, 0, 0, + 428, 0, 0, 0, 86, 87, 0, 0, 0, 0, + 0, 433, 0, 0, 0, 0, 0, 434, 408, 409, + 0, 92, 437, 0, 0, 0, 94, 410, 411, 412, + 413, 0, 439, 440, 0, 441, 0, 0, 414, 0, + 415, 416, 417, 418, 419, 0, 0, 0, 420, 162, + -161, 0, 0, 421, 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, 83, 0, 0, 0, 626, 0, 0, 0, - 0, 0, 190, 191, 0, 192, 0, 0, 235, 0, - 193, 0, 194, 405, 406, 0, 0, 0, 0, 0, - 0, 0, 407, 408, 409, 410, 0, 0, 0, 85, - 86, 0, 0, 411, 0, 412, 413, 414, 415, 416, - 0, 0, 0, 417, 0, 0, 91, 0, 418, 0, - 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 419, 420, 421, 422, - 423, 424, 425, 426, 160, 0, 0, 0, 0, 0, - 427, 428, 429, 430, 0, 0, 0, 0, 0, 431, - 432, 406, 0, 433, 434, 0, 0, 0, 435, 407, - 408, 409, 410, 0, 436, 437, 0, 438, 0, 0, - 0, 0, 412, 413, 414, 415, 0, 0, 406, 0, - 417, 0, 0, 0, 0, 587, 407, 408, 409, 410, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, - 586, 414, 415, 0, 0, 0, 0, 0, 0, 425, - 0, 0, 587, 0, 0, 0, 0, 0, 0, 0, - 430, 0, 0, 0, 0, 0, 431, 0, 0, 0, - 433, 434, 0, 0, 0, 0, 425, 0, 0, 0, - 0, 436, 437, 0, 438, 0, 0, 430, 0, 0, - 0, 0, 0, 431, 0, 0, 0, 0, 434, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, - 0, 438 + 0, 0, 422, 423, 424, 425, 426, 427, 428, 429, + 0, 0, 0, 0, 0, 0, 430, 431, 432, 433, + 0, 0, 0, 0, 0, 434, 435, 409, 0, 436, + 437, 0, 0, 0, 438, 410, 411, 412, 413, 0, + 439, 440, 0, 441, 0, 0, 0, 0, 415, 416, + 417, 418, 0, 0, 409, 0, 420, 0, 409, 0, + 0, 591, 410, 411, 412, 413, 410, 411, 412, 413, + 0, 0, 0, 0, 0, 415, 590, 417, 418, 415, + 590, 417, 418, 0, 0, 0, 428, 0, 591, 0, + 0, 0, 591, 0, 0, 0, 0, 433, 0, 0, + 0, 0, 0, 434, 0, 0, 0, 436, 437, 0, + 0, 0, 0, 428, 605, 0, 0, 428, 439, 440, + 0, 441, 0, 0, 433, 0, 0, 0, 433, 0, + 434, 0, 0, 0, 434, 437, 0, 0, 0, 437, + 0, 0, 0, 0, 0, 0, 440, 0, 441, 0, + 440, 0, 441 }; static const yytype_int16 yycheck[] = { - 1, 846, 391, 63, 95, 391, 113, 413, 115, 116, - 117, 118, 119, 78, 121, 433, 123, 45, 125, 433, - 927, 78, 1088, 45, 557, 261, 45, 261, 540, 948, - 261, 673, 780, 390, 141, 15, 84, 85, 86, 0, - 0, 10, 15, 91, 13, 499, 153, 154, 528, 6, - 15, 8, 171, 160, 161, 154, 154, 245, 246, 157, - 261, 13, 981, 64, 48, 154, 50, 48, 171, 50, - 48, 15, 50, 61, 529, 15, 154, 176, 936, 154, - 154, 939, 940, 13, 173, 15, 34, 17, 48, 34, - 50, 153, 171, 94, 95, 173, 156, 153, 173, 173, - 527, 13, 171, 15, 48, 17, 50, 171, 48, 171, - 50, 112, 113, 171, 115, 116, 117, 118, 119, 157, - 121, 498, 123, 968, 125, 10, 11, 12, 176, 177, - 178, 179, 62, 48, 172, 50, 34, 526, 229, 230, - 141, 541, 531, 154, 132, 154, 48, 162, 50, 48, - 62, 50, 153, 154, 245, 246, 150, 151, 152, 160, - 161, 6, 173, 8, 173, 225, 34, 355, 81, 48, - 157, 50, 360, 361, 155, 561, 406, 407, 408, 409, - 410, 154, 412, 413, 414, 172, 543, 235, 418, 154, - 174, 833, 299, 173, 171, 425, 174, 166, 199, 679, - 430, 431, 844, 433, 434, 435, 442, 437, 438, 1067, - 610, 442, 1070, 1071, 166, 695, 173, 147, 698, 63, - 162, 969, 170, 171, 172, 170, 171, 172, 229, 230, - 15, 161, 17, 261, 119, 147, 166, 934, 153, 261, - 153, 442, 261, 156, 245, 246, 157, 171, 249, 161, - 153, 678, 171, 254, 166, 172, 173, 684, 156, 171, - 687, 172, 263, 48, 961, 50, 963, 81, 171, 966, - 114, 156, 174, 171, 172, 174, 120, 810, 122, 6, - 124, 8, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 171, 299, 81, - 81, 366, 170, 171, 172, 154, 1151, 171, 152, 366, - 1058, 688, 156, 154, 158, 159, 1235, 171, 319, 34, - 171, 509, 699, 171, 173, 171, 514, 515, 154, 171, - 5, 379, 173, 34, 522, 523, 524, 172, 173, 153, - 171, 730, 156, 823, 730, 162, 48, 173, 50, 48, - 171, 50, 807, 48, 355, 50, 586, 587, 838, 360, - 361, 841, 842, 154, 594, 1062, 766, 171, 34, 1227, - 371, 153, 153, 171, 156, 156, 161, 120, 121, 122, - 154, 166, 173, 619, 172, 173, 898, 623, 619, 623, - 391, 791, 623, 172, 173, 822, 240, 1463, 1095, 173, - 827, 171, 154, 830, 831, 406, 407, 408, 409, 410, - 34, 412, 413, 414, 442, 171, 154, 418, 619, 154, - 442, 173, 623, 442, 425, 171, 101, 102, 162, 430, - 431, 1073, 433, 434, 435, 173, 437, 438, 173, 171, - 154, 171, 922, 1140, 1141, 171, 979, 824, 825, 164, - 165, 166, 167, 168, 298, 170, 171, 172, 171, 173, - 525, 172, 173, 164, 165, 166, 167, 168, 525, 170, - 171, 172, 174, 148, 149, 174, 155, 931, 171, 174, - 668, 935, 171, 671, 672, 171, 172, 1006, 1007, 1008, - 171, 154, 540, 68, 69, 922, 154, 498, 499, 154, - 166, 167, 168, 1145, 170, 171, 172, 171, 509, 569, - 173, 255, 256, 514, 515, 173, 173, 997, 173, 171, - 172, 522, 523, 524, 910, 171, 527, 171, 529, 557, - 984, 985, 986, 154, 764, 557, 153, 154, 557, 1446, - 541, 542, 166, 167, 168, 171, 170, 171, 172, 154, - 157, 1470, 173, 171, 172, 10, 11, 12, 13, 154, - 171, 171, 17, 1043, 991, 154, 166, 632, 173, 244, - 171, 1051, 247, 248, 1054, 154, 172, 154, 173, 639, - 640, 171, 49, 154, 173, 586, 587, 647, 172, 649, - 154, 619, 969, 594, 173, 623, 173, 619, 171, 600, - 619, 623, 173, 154, 623, 174, 173, 62, 173, 610, - 987, 988, 677, 153, 1014, 155, 1043, 157, 173, 463, - 677, 465, 1076, 467, 1051, 813, 1044, 1054, 173, 173, - 1044, 171, 153, 1033, 155, 156, 157, 153, 1044, 155, - 1040, 157, 153, 173, 155, 13, 157, 15, 153, 17, - 155, 1170, 157, 1172, 173, 1174, 163, 717, 1177, 1178, - 1179, 173, 663, 118, 119, 173, 163, 668, 154, 173, - 671, 672, 673, 171, 172, 173, 154, 678, 353, 354, - 163, 1058, 683, 684, 1381, 173, 687, 688, 363, 364, - 365, 173, 147, 753, 62, 171, 172, 173, 699, 173, - 173, 1546, 1547, 1548, 173, 173, 161, 708, 173, 173, - 1164, 166, 173, 1167, 389, 173, 171, 171, 172, 173, - 173, 173, 173, 173, 789, 569, 401, 402, 10, 11, - 12, 13, 1212, 1213, 1214, 17, 173, 581, 173, 173, - 10, 11, 12, 13, 163, 15, 173, 17, 173, 777, - 173, 426, 859, 10, 11, 12, 13, 15, 171, 173, - 17, 173, 173, 764, 173, 766, 1221, 174, 156, 156, - 1225, 171, 171, 156, 171, 173, 777, 1231, 171, 147, - 62, 171, 810, 156, 156, 1212, 1213, 1214, 810, 790, - 791, 810, 62, 161, 171, 171, 171, 156, 166, 173, - 171, 171, 171, 171, 171, 62, 807, 173, 1653, 173, - 171, 166, 813, 176, 1044, 172, 1661, 81, 172, 171, - 162, 822, 162, 824, 825, 500, 827, 162, 162, 830, - 831, 162, 833, 171, 173, 171, 173, 119, 513, 583, - 584, 516, 517, 844, 155, 846, 173, 173, 173, 119, - 898, 173, 171, 10, 11, 12, 34, 166, 859, 166, - 535, 153, 119, 156, 49, 147, 171, 711, 712, 713, - 171, 715, 156, 717, 173, 719, 720, 147, 173, 161, - 153, 153, 173, 154, 166, 154, 154, 154, 916, 980, - 147, 161, 154, 154, 171, 155, 166, 171, 157, 155, - 153, 171, 153, 10, 161, 171, 171, 582, 154, 166, - 585, 68, 10, 176, 171, 163, 171, 10, 11, 12, - 172, 922, 172, 172, 81, 82, 173, 163, 163, 173, - 931, 163, 173, 10, 935, 936, 10, 10, 939, 940, - 10, 155, 163, 154, 1399, 1400, 1401, 22, 23, 24, - 1430, 979, 627, 954, 173, 155, 957, 979, 166, 34, - 979, 166, 119, 120, 174, 122, 155, 968, 969, 166, - 127, 15, 129, 171, 176, 68, 171, 176, 171, 980, - 171, 173, 154, 984, 985, 986, 987, 988, 81, 82, - 991, 666, 667, 173, 1448, 171, 171, 157, 1452, 154, - 154, 1456, 1391, 1430, 154, 1391, 154, 682, 166, 155, - 685, 686, 173, 1014, 689, 171, 173, 1045, 693, 1474, - 1475, 696, 697, 174, 173, 700, 119, 120, 703, 122, - 172, 706, 1033, 155, 127, 1036, 129, 155, 174, 1040, - 154, 10, 1043, 1044, 173, 176, 790, 173, 154, 1050, - 1051, 174, 173, 1054, 1055, 799, 173, 1058, 173, 10, - 10, 155, 10, 1154, 173, 10, 1067, 10, 10, 1070, - 1071, 155, 1073, 154, 171, 1076, 176, 173, 1532, 172, - 1535, 176, 174, 173, 153, 173, 930, 1088, 1543, 164, - 165, 166, 167, 168, 173, 170, 171, 172, 54, 774, - 154, 173, 155, 171, 162, 162, 62, 63, 64, 65, - 162, 162, 171, 173, 155, 10, 10, 155, 174, 75, - 76, 77, 78, 1183, 1184, 174, 1186, 83, 1188, 10, - 1237, 1238, 88, 173, 173, 155, 155, 1592, 10, 1593, - 1595, 155, 171, 173, 1145, 173, 173, 15, 174, 174, - 1151, 826, 154, 1154, 154, 173, 112, 173, 163, 163, - 163, 836, 837, 1164, 173, 163, 1167, 123, 10, 155, - 10, 1626, 173, 129, 173, 10, 155, 171, 134, 171, - 855, 171, 173, 927, 171, 173, 10, 1642, 144, 145, - 934, 147, 936, 155, 155, 939, 940, 173, 155, 173, - 155, 1202, 1236, 1394, 600, 1446, 162, 623, 1045, 916, - 1552, 1212, 1213, 1214, 17, 1391, 1202, 961, 623, 963, - 1221, 730, 966, 1015, 1225, 900, 1227, 1354, 561, 318, - 1231, -1, -1, -1, -1, -1, 1237, 1238, -1, -1, - -1, -1, -1, 3, 4, 5, 6, -1, 8, 9, - 10, -1, -1, -1, -1, 15, -1, -1, -1, 62, - -1, 64, -1, 938, -1, -1, 941, 942, -1, 944, - -1, 946, -1, -1, -1, 10, 11, 12, 81, -1, - -1, -1, -1, -1, -1, 960, -1, -1, -1, 964, - 965, 51, -1, -1, -1, 970, 23, 24, -1, -1, - 975, -1, -1, -1, -1, -1, 66, 34, 983, 112, - -1, 71, 115, 116, -1, -1, 119, -1, 1062, -1, - 80, 81, -1, 1067, -1, -1, 1070, 1071, -1, -1, - -1, -1, 135, 68, 20, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 147, -1, 81, 82, 34, -1, - -1, 1095, -1, 1354, 114, -1, -1, 117, 161, 119, - -1, -1, -1, -1, 124, -1, 1210, -1, 128, -1, - -1, 131, -1, -1, 1049, -1, 136, 1052, 1053, 139, - -1, -1, 1442, -1, 119, 120, -1, 122, -1, -1, - 1391, 1066, 127, -1, 129, -1, 1140, 1141, 1399, 1400, - 1401, 161, -1, -1, 164, 165, -1, -1, -1, 169, - -1, 171, -1, -1, -1, 175, -1, -1, -1, 1094, - -1, -1, 157, -1, -1, -1, 161, -1, -1, 1430, - -1, 166, -1, -1, -1, 1495, -1, 164, 165, 166, - 167, 168, -1, 170, 171, 172, -1, 1448, -1, -1, - -1, 1452, 10, 11, 12, 1456, -1, -1, -1, -1, - -1, -1, 1463, 1138, -1, -1, 1526, -1, -1, -1, - 2, -1, -1, 1474, 1475, -1, 162, 163, 164, 165, - 166, 167, 168, 1227, 170, 171, 172, -1, -1, -1, - 1165, -1, -1, 1168, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1181, -1, 11, -1, - 68, -1, -1, -1, 46, 1190, -1, -1, -1, -1, - 52, 23, 24, 81, 82, 1200, 58, 59, 60, 61, - 62, 1532, 34, 65, 1535, -1, 1211, -1, -1, -1, - -1, -1, 1543, -1, -1, 1546, 1547, 1548, -1, -1, - -1, 1552, 55, -1, 57, 58, 59, 60, -1, -1, - -1, 119, 120, 64, 122, -1, -1, -1, -1, 127, - -1, 129, -1, -1, -1, 1635, 1636, 1637, -1, 1639, - -1, -1, -1, -1, -1, -1, 89, 88, -1, -1, - -1, 1592, 1593, -1, 1595, -1, -1, -1, 1442, -1, - -1, -1, 105, 161, -1, -1, 1215, 108, 166, -1, - -1, -1, -1, 18, 19, 20, 21, 22, 23, 24, - -1, -1, -1, 126, 127, 1626, -1, 159, -1, 34, - -1, -1, -1, -1, 10, 11, 12, 1381, -1, -1, - 143, 1642, -1, -1, 145, 148, 1490, 1491, 1492, 1493, - 1394, 1495, 1653, 1497, -1, -1, -1, -1, -1, -1, - 1661, -1, 164, 165, 166, 167, 168, -1, 170, 171, - 172, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 68, -1, 226, 196, 197, -1, -1, 231, - -1, -1, 1446, -1, -1, 81, 82, -1, 1383, 16, - 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, - -1, -1, 1215, 224, -1, -1, -1, 34, -1, 261, + 1, 96, 503, 394, 64, 850, 416, 436, 394, 436, + 114, 263, 116, 117, 118, 119, 120, 1092, 122, 46, + 124, 79, 126, 263, 46, 79, 561, 46, 931, 952, + 544, 263, 502, 15, 257, 258, 533, 34, 263, 143, + 6, 155, 8, 940, 15, 784, 943, 944, 13, 393, + 531, 155, 156, 158, 155, 15, 15, 677, 162, 163, + 158, 0, 985, 177, 65, 154, 158, 10, 173, 61, + 13, 15, 532, 174, 155, 173, 938, 85, 86, 87, + 48, 173, 50, 172, 92, 1010, 1011, 1012, 48, 154, + 50, 155, 81, 174, 95, 96, 173, 174, 158, 48, + 48, 50, 50, 965, 48, 967, 50, 172, 970, 48, + 174, 50, 113, 114, 163, 116, 117, 118, 119, 120, + 6, 122, 8, 124, 15, 126, 17, 972, 10, 11, + 12, 13, 48, 15, 50, 17, 231, 232, 48, 530, + 50, 133, 143, 0, 535, 48, 48, 50, 50, 10, + 11, 12, 247, 248, 155, 156, 545, 48, 172, 50, + 157, 162, 163, 172, 48, 154, 50, 227, 157, 34, + 178, 179, 180, 181, 1071, 172, 173, 1074, 1075, 565, + 62, 247, 248, 6, 155, 8, 154, 409, 410, 411, + 412, 413, 174, 415, 416, 417, 155, 172, 302, 421, + 201, 682, 167, 547, 1066, 445, 428, 688, 174, 172, + 691, 433, 434, 445, 436, 437, 438, 837, 440, 441, + 445, 172, 692, 683, 167, 614, 175, 175, 848, 237, + 231, 232, 155, 703, 973, 158, 263, 1099, 120, 699, + 156, 263, 702, 48, 263, 50, 247, 248, 172, 1174, + 251, 1176, 81, 1178, 81, 256, 1181, 1182, 1183, 120, + 173, 174, 34, 81, 265, 175, 148, 10, 11, 12, + 13, 162, 175, 175, 17, 155, 167, 173, 174, 814, + 162, 155, 1144, 1145, 154, 167, 156, 157, 158, 172, + 172, 175, 358, 48, 174, 50, 157, 363, 364, 155, + 174, 302, 167, 168, 169, 34, 171, 172, 173, 163, + 1155, 369, 34, 155, 811, 369, 1239, 172, 174, 62, + 172, 322, 155, 1062, 172, 154, 172, 154, 157, 13, + 157, 15, 174, 17, 1231, 34, 154, 173, 174, 157, + 172, 174, 155, 734, 172, 826, 172, 155, 734, 163, + 831, 172, 155, 834, 835, 172, 173, 358, 828, 829, + 155, 174, 363, 364, 587, 588, 174, 827, 590, 591, + 175, 174, 172, 374, 382, 627, 598, 120, 62, 174, + 172, 770, 842, 623, 155, 845, 846, 627, 902, 173, + 174, 623, 1467, 394, 155, 627, 68, 69, 623, 171, + 172, 173, 627, 174, 172, 148, 795, 172, 409, 410, + 411, 412, 413, 174, 415, 416, 417, 163, 445, 162, + 421, 172, 155, 445, 167, 172, 445, 428, 172, 172, + 172, 173, 433, 434, 935, 436, 437, 438, 939, 440, + 441, 174, 171, 172, 173, 926, 155, 513, 983, 171, + 172, 173, 518, 519, 121, 122, 123, 1077, 155, 172, + 526, 527, 528, 155, 148, 174, 926, 155, 167, 168, + 169, 529, 171, 172, 173, 529, 172, 174, 162, 155, + 155, 155, 174, 167, 154, 155, 174, 988, 989, 990, + 154, 13, 156, 15, 158, 17, 156, 155, 174, 174, + 174, 502, 503, 973, 10, 11, 12, 172, 10, 11, + 12, 13, 513, 573, 995, 17, 174, 518, 519, 155, + 172, 991, 992, 1385, 155, 526, 527, 528, 914, 1149, + 531, 154, 533, 156, 561, 158, 544, 172, 174, 561, + 62, 1001, 561, 174, 545, 546, 768, 1450, 172, 172, + 13, 1474, 15, 154, 17, 156, 172, 158, 172, 154, + 62, 156, 68, 158, 172, 173, 1047, 172, 151, 152, + 153, 794, 172, 172, 1055, 81, 82, 1058, 172, 1080, + 803, 154, 636, 643, 644, 172, 172, 1047, 167, 590, + 591, 651, 1062, 653, 172, 1055, 623, 598, 1058, 62, + 627, 623, 172, 604, 623, 627, 672, 172, 627, 675, + 676, 174, 158, 614, 120, 121, 173, 123, 120, 1048, + 173, 1048, 128, 681, 130, 49, 148, 681, 155, 1018, + 172, 173, 174, 172, 173, 174, 172, 175, 1048, 155, + 162, 174, 10, 11, 12, 167, 148, 164, 1037, 174, + 172, 172, 173, 174, 174, 1044, 174, 22, 23, 24, + 162, 721, 174, 174, 174, 167, 667, 1168, 174, 34, + 1171, 672, 164, 174, 675, 676, 677, 174, 174, 174, + 174, 682, 155, 174, 155, 148, 687, 688, 174, 174, + 691, 692, 174, 174, 174, 174, 174, 757, 174, 162, + 68, 15, 703, 164, 167, 1550, 1551, 1552, 931, 172, + 174, 712, 174, 81, 82, 938, 174, 940, 174, 17, + 943, 944, 10, 11, 12, 13, 174, 174, 1225, 17, + 174, 164, 1229, 174, 1235, 1216, 1217, 1218, 174, 793, + 174, 172, 965, 175, 967, 174, 174, 970, 174, 174, + 157, 817, 120, 121, 781, 123, 1216, 1217, 1218, 863, + 128, 157, 130, 172, 62, 34, 64, 768, 172, 770, + 157, 174, 172, 172, 62, 172, 157, 172, 172, 172, + 781, 157, 157, 81, 5, 174, 172, 814, 172, 172, + 172, 81, 814, 794, 795, 814, 174, 174, 172, 172, + 165, 166, 167, 168, 169, 173, 171, 172, 173, 173, + 811, 167, 1657, 173, 177, 113, 817, 163, 116, 117, + 1665, 163, 120, 163, 163, 826, 1048, 828, 829, 172, + 831, 119, 120, 834, 835, 163, 837, 174, 136, 174, + 172, 156, 34, 1066, 174, 174, 172, 848, 1071, 850, + 148, 1074, 1075, 174, 174, 10, 11, 12, 167, 167, + 148, 154, 863, 157, 162, 49, 172, 172, 157, 154, + 174, 174, 174, 155, 162, 155, 1099, 155, 155, 167, + 155, 102, 103, 155, 172, 172, 154, 158, 172, 984, + 156, 156, 154, 920, 902, 155, 165, 166, 167, 168, + 169, 177, 171, 172, 173, 172, 1403, 1404, 1405, 172, + 154, 172, 164, 68, 173, 173, 173, 164, 174, 164, + 174, 1144, 1145, 164, 174, 926, 81, 82, 10, 150, + 151, 10, 10, 10, 935, 10, 10, 156, 939, 940, + 164, 155, 943, 944, 174, 167, 175, 167, 156, 156, + 167, 1452, 177, 1434, 172, 1456, 983, 958, 15, 172, + 961, 983, 177, 1460, 983, 120, 121, 172, 123, 172, + 174, 972, 973, 128, 1434, 130, 172, 174, 172, 155, + 155, 1478, 1479, 984, 155, 155, 155, 988, 989, 990, + 991, 992, 158, 167, 995, 156, 174, 174, 156, 172, + 156, 173, 155, 158, 1395, 10, 174, 162, 1231, 1395, + 175, 175, 167, 155, 177, 174, 10, 1018, 175, 10, + 174, 156, 1049, 174, 174, 246, 10, 174, 249, 250, + 10, 10, 10, 156, 155, 1536, 1037, 177, 172, 1040, + 177, 174, 1539, 1044, 175, 154, 1047, 1048, 174, 174, + 1547, 155, 174, 1054, 1055, 2, 156, 1058, 1059, 174, + 172, 1062, 163, 1158, 163, 163, 163, 172, 174, 156, + 1071, 156, 175, 1074, 1075, 10, 1077, 10, 17, 1080, + 175, 10, 11, 12, 174, 174, 10, 156, 156, 10, + 156, 1092, 172, 174, 155, 15, 1597, 155, 174, 1596, + 47, 174, 1599, 175, 175, 164, 53, 174, 164, 48, + 174, 50, 59, 60, 61, 62, 63, 164, 164, 66, + 174, 174, 10, 62, 174, 64, 156, 1187, 1188, 10, + 1190, 10, 1192, 1630, 156, 356, 357, 1241, 1242, 68, + 172, 172, 81, 172, 172, 366, 367, 368, 1149, 1646, + 174, 174, 81, 82, 1155, 156, 34, 1158, 174, 156, + 10, 156, 1385, 174, 22, 23, 24, 1168, 156, 1240, + 1171, 392, 1398, 1450, 113, 1398, 34, 116, 117, 920, + 1049, 120, 604, 404, 405, 627, 1556, 1395, 1206, 734, + 627, 120, 121, 1358, 123, 1019, 565, 136, -1, 128, + -1, 130, 321, -1, -1, 1206, -1, -1, 429, 148, + -1, -1, -1, -1, 161, 1216, 1217, 1218, -1, -1, + -1, -1, -1, 162, 1225, -1, -1, 1450, 1229, -1, + 1231, -1, -1, 162, 1235, -1, -1, -1, 167, -1, + 1241, 1242, -1, -1, -1, -1, -1, -1, -1, 3, + 4, 5, 6, -1, 8, 9, 10, -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, 504, -1, -1, 233, 165, 166, 167, + 168, 169, -1, 171, 172, 173, 517, 51, -1, 520, + 521, -1, -1, -1, -1, -1, -1, 165, 166, 167, + 168, 169, 66, 171, 172, 173, 263, 71, 539, -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, 299, -1, -1, -1, -1, 1358, -1, -1, + -1, -1, -1, -1, 118, 586, 120, -1, 589, 316, + 317, 125, -1, -1, -1, 129, 323, -1, 132, 23, + 24, -1, -1, 137, -1, -1, 1446, -1, -1, -1, + 34, -1, -1, -1, 1395, -1, -1, -1, -1, -1, + -1, -1, 1403, 1404, 1405, -1, -1, -1, 162, -1, + 631, 165, 166, 167, -1, -1, 170, -1, 172, 173, + 23, 24, 176, -1, -1, -1, -1, 374, -1, -1, + -1, 34, -1, 1434, -1, -1, 64, -1, -1, 1499, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 670, + 671, 1452, -1, -1, -1, 1456, -1, -1, -1, 1460, + -1, -1, -1, -1, -1, 686, 1467, -1, 689, 690, + 1530, 418, 693, -1, -1, -1, 697, 1478, 1479, 700, + 701, -1, -1, 704, -1, -1, 707, 115, -1, 710, + -1, -1, -1, 121, -1, 123, -1, 125, -1, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, -1, -1, 65, -1, -1, + -1, 165, 166, 167, 168, 169, 154, 171, 172, 173, + 158, -1, 160, 161, -1, 1536, -1, -1, 1539, -1, + -1, 89, -1, -1, -1, 492, 1547, -1, -1, 1550, + 1551, 1552, -1, -1, -1, 1556, -1, 778, -1, -1, + 507, 109, 165, 166, 167, 168, 169, -1, 171, 172, + 173, -1, -1, -1, -1, 10, 11, 12, -1, 1639, + 1640, 1641, -1, 1643, -1, -1, -1, 18, 19, 20, + 21, 22, 23, 24, -1, 1596, 1597, -1, 1599, 147, + -1, -1, -1, 34, -1, -1, -1, -1, -1, 830, + -1, -1, -1, -1, 242, -1, -1, -1, -1, 840, + 841, -1, 569, 570, 571, 572, -1, 574, -1, 1630, + -1, -1, -1, 68, -1, 1219, 583, -1, 859, -1, + -1, -1, -1, -1, -1, 1646, 81, 82, -1, -1, + 198, 199, -1, -1, -1, -1, 1657, -1, -1, -1, + -1, -1, -1, -1, 1665, -1, -1, -1, -1, -1, + -1, -1, -1, 301, 621, -1, -1, -1, 226, -1, + -1, -1, -1, 904, -1, 120, 121, -1, 123, -1, + -1, -1, -1, 128, -1, 130, -1, 245, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 258, 259, -1, -1, -1, 662, -1, -1, -1, -1, + -1, 942, 157, -1, 945, 946, -1, 948, -1, 950, + 677, 162, 163, 164, 165, 166, 167, 168, 169, -1, + 171, 172, 173, 964, -1, -1, -1, 968, 969, -1, + -1, -1, -1, 974, -1, 303, 304, -1, 979, -1, + -1, 309, -1, -1, -1, -1, 987, 20, 21, 22, + 23, 24, -1, 321, -1, -1, -1, 724, -1, -1, + -1, 34, -1, -1, -1, -1, -1, -1, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + 747, 748, 749, 750, 751, 752, 753, 754, 755, 1219, + -1, 758, 18, 19, 20, 21, 22, 23, 24, -1, + -1, -1, -1, -1, -1, -1, -1, 375, 34, -1, + -1, -1, 1053, -1, -1, 1056, 1057, -1, 466, -1, + 468, -1, 470, -1, -1, 393, -1, -1, -1, 1070, + 398, -1, -1, 800, -1, 1439, -1, 1441, 1442, 1443, + 1444, 1445, -1, 1447, -1, -1, 16, 17, 18, 19, + 20, 21, 22, 23, 24, -1, -1, 1098, -1, -1, + -1, -1, -1, -1, 34, -1, -1, -1, -1, -1, + 837, 439, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 848, -1, -1, -1, -1, 853, -1, -1, -1, + 163, 164, 165, 166, 167, 168, 169, -1, 171, 172, + 173, 1142, -1, 870, -1, -1, 1510, 1511, 1512, 1513, + 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, + 1524, 1525, 1526, 1527, 1528, 573, -1, -1, 1169, -1, + -1, 1172, -1, 501, 160, 161, 162, 585, -1, 165, + 166, 167, 168, 169, 1185, 171, 172, 173, 516, -1, + -1, -1, -1, 1194, 18, 19, 20, 21, 22, 23, + 24, -1, -1, 1204, -1, -1, -1, 1571, -1, -1, + 34, -1, -1, -1, 1215, -1, -1, -1, -1, 547, + -1, -1, -1, -1, -1, -1, -1, 157, -1, 159, + 160, 161, 162, -1, 961, 165, 166, 167, 168, 169, + -1, 171, 172, 173, -1, -1, 10, 11, 12, 1439, + -1, 1441, 1442, 1443, 1444, 1445, -1, 1447, 1622, 587, + 588, 1625, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 605, -1, 607, + 608, 609, 610, 611, 612, -1, -1, 615, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1027, 629, 630, -1, 68, 1032, -1, 715, 716, 717, + 638, 719, -1, 721, 11, 723, 724, 81, 82, -1, + 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, + 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 163, + 164, 165, 166, 167, 168, 169, -1, 171, 172, 173, + 1077, -1, -1, -1, -1, -1, 120, 121, 55, 123, + 57, 58, 59, 60, 128, 1092, 130, -1, 696, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1387, -1, -1, -1, + 154, -1, 89, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3, 4, 5, 6, 106, + 8, 9, 10, 11, -1, -1, -1, 15, -1, -1, + 1147, -1, 1149, -1, 1151, -1, -1, -1, 756, -1, + 127, 128, -1, -1, -1, 1625, -1, 16, 17, 18, + 19, 20, 21, 22, 23, 24, -1, 144, -1, -1, + 1451, -1, 149, 51, 1455, 34, -1, 55, 1459, 57, + 58, 59, 60, 20, 21, 22, 23, 24, 66, -1, + -1, 1472, 70, 71, 1475, 1476, 1477, 34, -1, -1, + -1, -1, 80, 81, 82, 813, -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, 934, 125, -1, 127, + 128, 129, -1, -1, 132, -1, -1, 865, -1, 137, + 1541, -1, 140, -1, -1, -1, 144, -1, -1, -1, + -1, 149, 1553, 1554, 17, 18, 19, 20, 21, 22, + 23, 24, -1, -1, 162, -1, -1, 165, 166, 167, + -1, 34, 170, -1, 172, 173, -1, -1, 176, -1, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, -1, 171, 172, 173, -1, 924, -1, 177, -1, + -1, -1, 55, 1604, 57, 58, 59, 60, 165, 166, + 167, 168, 169, -1, 171, 172, 173, 70, -1, -1, + -1, -1, -1, -1, -1, -1, 954, 1628, -1, -1, + -1, -1, -1, -1, -1, -1, 89, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1647, -1, -1, -1, + -1, -1, -1, 106, -1, 1656, -1, 1384, -1, -1, -1, -1, 18, 19, 20, 21, 22, 23, 24, -1, - -1, -1, 243, 119, 120, -1, 122, -1, 34, -1, - -1, 127, -1, 129, -1, 256, 257, 162, 163, 164, - 165, 166, 167, 168, 296, 170, 171, 172, -1, -1, - -1, -1, 1447, -1, -1, -1, 1451, 153, -1, -1, - 1455, 313, 314, -1, -1, -1, -1, -1, 320, -1, - -1, -1, -1, 1468, -1, -1, 1471, 1472, 1473, 300, - 301, -1, -1, -1, -1, 306, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 318, -1, 10, - 11, 12, -1, -1, -1, -1, 1435, -1, 1437, 1438, - 1439, 1440, 1441, -1, 1443, -1, 22, 23, 24, 371, - -1, -1, -1, -1, -1, -1, -1, -1, 34, -1, - -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 1537, 170, 171, 172, -1, -1, -1, 176, - -1, 372, -1, -1, 1549, 1550, -1, 68, 164, 165, - 166, 167, 168, 415, 170, 171, 172, -1, -1, 390, - 81, 82, -1, -1, 395, -1, -1, 1506, 1507, 1508, - 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, - 1519, 1520, 1521, 1522, 1523, 1524, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 1600, -1, -1, 119, 120, - -1, 122, -1, -1, 34, 436, 127, -1, 129, -1, - -1, -1, 1435, -1, 1437, 1438, 1439, 1440, 1441, 1624, - 1443, -1, -1, -1, -1, -1, 488, -1, 1567, -1, - -1, -1, -1, -1, -1, 156, -1, -1, 1643, -1, - -1, 503, -1, -1, -1, -1, -1, 1652, 164, 165, - 166, 167, 168, -1, 170, 171, 172, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 497, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1618, - -1, 512, 1621, 1506, 1507, 1508, 1509, 1510, 1511, 1512, - 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, - 1523, 1524, -1, 565, 566, 567, 568, -1, 570, -1, - -1, -1, 543, -1, -1, -1, -1, 579, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, -1, - 170, 171, 172, -1, -1, -1, 176, -1, -1, -1, - -1, 6, 583, 584, -1, 617, -1, -1, -1, -1, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 601, -1, 603, 604, 605, 606, 607, 608, -1, 34, - 611, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, -1, 625, 626, 658, -1, 1621, -1, - -1, -1, -1, 634, -1, -1, -1, -1, -1, -1, - -1, 673, -1, -1, 69, -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, -1, -1, 34, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 720, 114, - -1, 692, -1, -1, -1, -1, -1, -1, -1, 731, - 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - -1, -1, 754, -1, -1, -1, -1, -1, -1, 154, - -1, -1, 157, -1, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, -1, 171, 172, -1, -1, - 175, 752, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 796, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 127, 128, -1, -1, 34, -1, + -1, -1, -1, -1, -1, 1013, -1, -1, -1, -1, + -1, 144, -1, -1, -1, -1, 149, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, -1, 171, 172, + 173, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 1050, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, -1, -1, -1, -1, -1, + 1467, -1, 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, 1531, -1, 1214, -1, -1, 165, + 166, 167, 168, 169, 106, 171, 172, 173, -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, 175, 176, 177, -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, 1240, -1, -1, -1, -1, -1, -1, 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, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, -1, 8, - 9, 10, 11, 12, -1, 156, -1, 158, 159, 160, - 161, 833, -1, 164, 165, 166, 167, 168, 809, 170, - 171, 172, 844, -1, -1, -1, -1, 849, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, - -1, -1, 51, 52, 866, -1, 55, 34, 57, 58, - 59, 60, 61, 62, -1, -1, -1, 66, 67, -1, - -1, 70, 71, -1, -1, 74, -1, -1, -1, -1, - 861, 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, -1, -1, -1, - -1, -1, -1, -1, -1, 114, -1, 116, 117, -1, - 119, -1, -1, -1, -1, 124, -1, 126, 127, 128, - -1, -1, 131, 132, -1, -1, -1, 136, -1, 920, - 139, 140, 141, 142, 143, 957, -1, 146, -1, 148, - -1, -1, -1, -1, -1, -1, -1, -1, 10, 11, - -1, -1, 161, -1, -1, 164, 165, 166, -1, 950, - 169, -1, 171, 172, -1, -1, 175, -1, -1, -1, - -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, -1, 170, 171, 172, -1, -1, -1, 176, - 52, -1, -1, 55, -1, 57, 58, 59, 60, 61, - -1, 1023, -1, -1, -1, 67, 1028, -1, 70, -1, - -1, -1, 74, -1, -1, -1, -1, -1, 1009, -1, - 82, -1, -1, -1, -1, -1, -1, 89, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 105, 20, 21, 22, 23, 24, -1, - -1, 1073, -1, -1, -1, 1046, 118, -1, 34, -1, - -1, -1, -1, -1, 126, 127, 1088, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, 140, 141, - 142, 143, -1, -1, 146, -1, 148, -1, -1, -1, - -1, 153, -1, -1, -1, -1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 169, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 1143, -1, 1145, -1, 1147, -1, 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, 164, 165, - 166, 167, 168, -1, 170, 171, 172, -1, 105, -1, - -1, -1, -1, -1, -1, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, -1, -1, 1236, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 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, -1, -1, -1, -1, - -1, 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, 1380, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 105, -1, -1, -1, -1, -1, -1, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 1463, 175, 176, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -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, 1527, 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, 1525, -1, -1, 86, -1, -1, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, -1, -1, -1, - -1, -1, -1, -1, -1, 114, -1, 116, 117, -1, - 119, -1, -1, 1564, -1, 124, -1, 126, 127, 128, - -1, -1, 131, 132, -1, -1, -1, 136, -1, -1, - 139, 140, 141, 142, 143, -1, -1, 146, -1, 148, - 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, - -1, -1, 161, -1, -1, 164, 165, 166, -1, -1, - 169, -1, 171, 172, 154, -1, 175, -1, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, -1, - 170, 171, 172, 173, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, - -1, 114, -1, 116, 117, -1, 119, -1, -1, -1, - -1, 124, -1, 126, 127, 128, -1, -1, 131, -1, - -1, -1, -1, 136, -1, -1, 139, -1, -1, -1, - 143, 3, 4, 5, 6, 148, 8, 9, 10, 11, - 153, -1, -1, 15, -1, -1, -1, -1, 161, -1, - -1, 164, 165, 166, -1, -1, 169, -1, 171, 172, - -1, -1, 175, 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, 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, 1446, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + -1, 176, 177, -1, -1, 3, 4, 5, 6, -1, + 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1494, 1495, 1496, 1497, + -1, 1499, -1, 1501, -1, -1, -1, -1, 16, 17, + 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, + -1, -1, -1, 51, 52, -1, 34, 55, -1, 57, + 58, 59, 60, 61, 62, -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, 1529, 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, + 1568, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, -1, 171, 172, 173, -1, -1, -1, 177, + 51, 52, -1, -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, -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, 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, -1, -1, -1, -1, -1, 162, -1, + -1, 165, 166, 167, -1, -1, 170, -1, 172, 173, + -1, -1, 176, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, -1, 171, 172, 173, -1, 51, + -1, 177, -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, -1, -1, -1, -1, -1, -1, - -1, -1, 114, -1, 116, 117, -1, 119, -1, -1, - -1, -1, 124, -1, 126, 127, 128, -1, -1, 131, - -1, -1, -1, -1, 136, -1, -1, 139, -1, -1, - -1, 143, 3, 4, 5, 6, 148, 8, 9, 10, - 11, -1, -1, -1, -1, -1, -1, -1, -1, 161, - -1, -1, 164, 165, 166, -1, -1, 169, -1, 171, - 172, -1, 155, 175, -1, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, -1, 170, 171, 172, - 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, -1, -1, -1, -1, -1, - -1, -1, -1, 114, -1, 116, 117, -1, 119, -1, - -1, -1, -1, 124, -1, 126, 127, 128, -1, -1, - 131, -1, -1, -1, -1, 136, -1, -1, 139, -1, - -1, -1, 143, 3, 4, 5, 6, 148, 8, 9, + 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, - 161, -1, -1, 164, 165, 166, -1, -1, 169, -1, - 171, 172, 173, -1, 175, 16, 17, 18, 19, 20, + 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, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, -1, -1, -1, -1, - -1, -1, -1, -1, 114, -1, 116, 117, -1, 119, - -1, -1, -1, -1, 124, -1, 126, 127, 128, -1, - -1, 131, -1, -1, -1, -1, 136, -1, -1, 139, - -1, -1, -1, 143, 3, 4, 5, 6, 148, 8, - 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, - -1, 161, -1, -1, 164, 165, 166, -1, -1, 169, - -1, 171, 172, 154, -1, 175, -1, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, -1, 170, - 171, 172, 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, -1, -1, -1, - -1, -1, -1, -1, -1, 114, -1, 116, 117, -1, - 119, -1, -1, -1, -1, 124, -1, 126, 127, 128, - -1, -1, 131, -1, -1, -1, -1, 136, -1, -1, - 139, -1, -1, -1, 143, 3, 4, 5, 6, 148, + 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, 161, -1, -1, 164, 165, 166, -1, -1, - 169, -1, 171, 172, -1, -1, 175, 16, 17, 18, - 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, - -1, -1, -1, 51, -1, 34, -1, 55, -1, 57, + -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, -1, -1, - -1, -1, -1, -1, -1, -1, 114, -1, 116, 117, - -1, 119, -1, -1, -1, -1, 124, -1, 126, 127, - 128, -1, -1, 131, -1, -1, -1, -1, 136, -1, - -1, 139, -1, -1, -1, 143, 3, 4, 5, 6, - 148, 8, 9, 10, 11, -1, -1, -1, -1, -1, - -1, -1, -1, 161, -1, -1, 164, 165, 166, -1, - -1, 169, -1, 171, 172, 173, -1, 175, -1, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - -1, 170, 171, 172, 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, -1, - -1, -1, -1, -1, -1, -1, -1, 114, -1, 116, - 117, -1, 119, -1, -1, -1, -1, 124, -1, 126, - 127, 128, -1, -1, 131, -1, -1, -1, -1, 136, - -1, -1, 139, -1, -1, -1, 143, 3, 4, 5, - 6, 148, 8, 9, 10, 11, 153, -1, -1, -1, - -1, -1, -1, -1, 161, -1, -1, 164, 165, 166, - -1, -1, 169, -1, 171, 172, -1, -1, 175, 16, + 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, 70, 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, 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, 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, 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, @@ -2686,122 +2726,122 @@ static const yytype_int16 yycheck[] = -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, - -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, - 116, 117, -1, 119, -1, -1, -1, -1, 124, -1, - 126, 127, 128, -1, -1, 131, -1, -1, -1, -1, - 136, -1, -1, 139, -1, -1, -1, 143, 3, 4, - 5, 6, 148, 8, 9, 10, 11, 153, -1, -1, - -1, -1, -1, -1, -1, 161, -1, -1, 164, 165, - 166, -1, -1, 169, -1, 171, 172, -1, -1, 175, - -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, -1, 170, 171, 172, 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, -1, -1, -1, -1, -1, -1, -1, -1, 114, - -1, 116, 117, -1, 119, -1, -1, -1, -1, 124, - -1, 126, 127, 128, -1, -1, 131, -1, -1, -1, - -1, 136, -1, -1, 139, -1, -1, -1, 143, 3, - 4, 5, 6, 148, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, -1, 161, -1, -1, 164, - 165, 166, -1, -1, 169, -1, 171, 172, 173, -1, - 175, 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, + 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, -1, + -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -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, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 66, -1, 10, 11, 12, 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, -1, -1, -1, -1, -1, -1, -1, -1, - 114, -1, 116, 117, -1, 119, -1, -1, -1, -1, - 124, -1, 126, 127, 128, -1, -1, 131, -1, -1, - -1, -1, 136, -1, -1, 139, -1, -1, -1, 143, - 3, 4, 5, 6, 148, 8, 9, 10, 11, -1, - -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, - 164, 165, 166, -1, -1, 169, -1, 171, 172, -1, - -1, 175, -1, 158, 159, 160, 161, -1, -1, 164, - 165, 166, 167, 168, -1, 170, 171, 172, 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, -1, 10, 11, 12, -1, -1, -1, - -1, 114, -1, 116, 117, 55, 119, 57, 58, 59, - 60, 124, -1, 126, 127, 128, -1, -1, 131, -1, - 70, -1, -1, 136, -1, -1, 139, -1, -1, -1, - 143, 3, 4, 5, 6, 148, 8, 9, 10, 89, - -1, -1, -1, 15, -1, -1, -1, -1, -1, -1, - -1, -1, 68, -1, -1, 105, 169, -1, 171, 172, - -1, -1, 175, -1, -1, 81, 82, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 126, 127, -1, 51, + 104, 105, 3, 4, 5, 6, -1, 8, 9, 10, + -1, -1, -1, -1, 118, -1, 120, -1, -1, -1, + -1, 125, 68, -1, -1, 129, -1, -1, 132, -1, + -1, -1, -1, 137, -1, 81, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 143, 66, 10, 11, 12, 148, 71, - 15, -1, -1, 119, 120, -1, 122, -1, 80, 81, - -1, 127, -1, 129, 86, -1, -1, -1, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 3, 4, 5, 6, 153, 8, 9, - 10, -1, -1, -1, -1, 117, -1, 119, -1, -1, - -1, -1, 124, 68, -1, -1, 128, -1, -1, 131, - -1, -1, -1, -1, 136, -1, 81, 82, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 51, -1, -1, -1, -1, -1, -1, -1, 161, - -1, -1, 164, 165, 166, -1, 66, 169, -1, 171, - 172, 71, -1, 175, 119, 120, -1, 122, -1, -1, - 80, 81, 127, -1, 129, -1, 86, -1, -1, -1, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 3, 4, 5, 6, -1, - 8, 9, 10, 17, -1, -1, -1, 117, -1, 119, - -1, -1, -1, -1, 124, -1, -1, -1, 128, -1, - -1, 131, -1, -1, -1, -1, 136, -1, -1, -1, - -1, -1, -1, -1, 48, -1, 50, -1, -1, -1, - -1, -1, -1, 51, -1, -1, -1, -1, 62, -1, - 64, 161, -1, -1, 164, 165, 166, -1, 66, 169, - -1, 171, 172, 71, -1, 175, -1, 81, -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, -1, 112, -1, - -1, 115, 116, -1, -1, 119, -1, -1, -1, 117, - -1, 119, 3, 4, 5, 6, 124, 8, 9, 10, - 128, 135, -1, 131, 15, -1, -1, -1, 136, -1, - -1, -1, -1, 147, -1, -1, 3, 4, 5, 6, - -1, 8, 9, 10, -1, -1, -1, 161, 15, -1, - -1, -1, -1, -1, -1, -1, -1, 48, -1, 50, - 51, 169, -1, 171, 172, -1, -1, 175, -1, -1, - -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, - 71, 48, -1, 50, 51, -1, -1, -1, -1, 80, - 81, -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, -1, - -1, -1, -1, 114, -1, -1, 117, -1, 119, 10, - 11, 12, -1, 124, -1, -1, -1, 128, -1, -1, - 131, -1, -1, -1, -1, 136, -1, 114, 139, -1, - 117, -1, 119, -1, -1, -1, -1, 124, -1, -1, - -1, 128, -1, -1, 131, 10, 11, -1, -1, 136, - 161, -1, 139, 164, 165, -1, -1, -1, 169, -1, - 171, -1, -1, -1, 175, -1, 55, 68, 57, 58, - 59, 60, -1, -1, 161, -1, -1, 164, 165, -1, - 81, 82, 169, -1, 171, 10, 11, 52, 175, -1, - 55, -1, 57, 58, 59, 60, 61, -1, -1, -1, - 89, -1, 67, -1, -1, 70, -1, -1, -1, 74, - -1, -1, -1, -1, -1, -1, 105, 82, 119, 120, - 121, 122, -1, -1, 89, -1, 127, 52, 129, -1, - 55, -1, 57, 58, 59, 60, 61, 126, 127, 140, - 105, -1, 67, -1, 145, 70, -1, -1, -1, 74, - -1, -1, -1, 118, 143, -1, -1, 82, -1, 148, - -1, 126, 127, -1, 89, -1, -1, 132, -1, 55, - -1, 57, 58, 59, 60, 140, 141, 142, 143, -1, - 105, 146, 171, 148, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 118, -1, -1, -1, -1, -1, -1, - -1, 126, 127, 89, 169, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, 140, 141, 142, 143, 105, - -1, 146, -1, 148, 16, 17, 18, 19, 20, 21, - 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, - 126, 127, 34, -1, 169, 16, 17, 18, 19, 20, - 21, 22, 23, 24, -1, -1, -1, 143, -1, -1, - -1, -1, 148, 34, 16, 17, 18, 19, 20, 21, + 51, -1, -1, -1, -1, -1, -1, -1, 162, -1, + -1, 165, 166, 167, -1, 66, 170, -1, 172, 173, + 71, -1, 176, -1, 120, 121, -1, 123, -1, 80, + 81, -1, 128, -1, 130, 86, -1, -1, -1, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 10, 11, 12, 154, -1, + -1, -1, -1, -1, -1, -1, -1, 118, -1, 120, + 3, 4, 5, 6, 125, 8, 9, 10, 129, -1, + -1, 132, 15, -1, -1, -1, 137, -1, -1, -1, + -1, -1, -1, -1, 3, 4, 5, 6, -1, 8, + 9, 10, -1, -1, -1, -1, 15, -1, -1, -1, + -1, -1, -1, 68, -1, 48, -1, 50, 51, 170, + -1, 172, 173, -1, -1, 176, 81, 82, -1, -1, + -1, -1, -1, 66, -1, -1, -1, -1, 71, 48, + -1, 50, 51, -1, -1, -1, -1, 80, 81, -1, + -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, + -1, -1, 71, -1, -1, 120, 121, 122, 123, -1, + -1, 80, 81, 128, -1, 130, 55, -1, 57, 58, + 59, 60, 115, -1, -1, 118, 141, 120, -1, -1, + -1, 146, 125, -1, -1, -1, 129, -1, -1, 132, + -1, -1, -1, -1, 137, -1, 115, 140, -1, 118, + 89, 120, 3, 4, 5, 6, 125, 8, 9, 10, + 129, -1, -1, 132, 15, -1, -1, 106, 137, 162, + -1, 140, 165, 166, -1, -1, -1, 170, -1, 172, + -1, -1, -1, 176, -1, -1, -1, -1, 127, 128, + -1, -1, -1, 162, -1, -1, 165, 166, -1, -1, + 51, 170, -1, 172, -1, 144, -1, 176, -1, -1, + 149, -1, -1, -1, -1, 66, -1, -1, -1, -1, + 71, 6, -1, -1, -1, -1, -1, -1, -1, 80, + 81, 16, 17, 18, 19, 20, 21, 22, 23, 24, + -1, -1, -1, -1, -1, 10, 11, 12, -1, 34, + -1, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, -1, 115, -1, -1, 118, -1, 120, + -1, -1, -1, -1, 125, -1, -1, -1, 129, -1, + -1, 132, -1, -1, 69, -1, 137, -1, -1, 140, + 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, + -1, 162, -1, -1, 165, 166, 81, 82, -1, 170, + -1, 172, -1, -1, -1, 176, -1, -1, -1, -1, + 115, -1, 52, -1, -1, 55, -1, 57, 58, 59, + 60, 61, -1, -1, -1, -1, -1, 67, -1, 114, + 70, -1, -1, -1, 74, 120, 121, -1, 123, 10, + 11, 12, 82, 128, -1, 130, -1, -1, -1, 89, + 155, -1, -1, 158, -1, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 106, 172, 173, -1, + -1, 176, -1, -1, 10, 11, -1, -1, -1, 119, + -1, -1, -1, 10, 11, 12, -1, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, 68, -1, -1, + -1, 141, 142, 143, 144, -1, -1, 147, -1, 149, + 81, 82, -1, -1, 154, -1, 52, -1, -1, 55, + -1, 57, 58, 59, 60, 61, -1, -1, -1, -1, + 170, 67, -1, -1, 70, -1, -1, -1, 74, -1, + -1, 68, -1, -1, -1, -1, 82, -1, -1, 120, + 121, -1, 123, 89, 81, 82, -1, 128, -1, 130, + -1, 10, 11, 12, -1, -1, -1, 10, 11, -1, + 106, -1, -1, -1, 145, -1, -1, -1, -1, -1, + -1, -1, -1, 119, -1, -1, -1, -1, -1, -1, + -1, 127, 128, 120, 121, -1, 123, 133, -1, -1, + -1, 128, -1, 130, -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, 170, -1, -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, -1, -1, + -1, 120, 121, -1, 123, -1, 119, -1, -1, 128, + -1, 130, -1, -1, 127, 128, -1, -1, -1, -1, + 133, -1, 141, -1, -1, -1, -1, 146, 141, 142, + 143, 144, -1, -1, 147, -1, 149, 16, 17, 18, + 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 34, -1, 170, 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, 22, 23, 24, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 34, -1, 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, 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, @@ -2809,425 +2849,396 @@ static const yytype_int16 yycheck[] = 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, -1, - -1, -1, -1, -1, -1, -1, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, -1, 170, 171, - 172, 173, -1, -1, -1, -1, -1, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, -1, 170, - 171, 172, 173, -1, -1, -1, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, -1, 170, 171, - 172, 173, -1, -1, -1, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, -1, 170, 171, 172, - 173, -1, -1, -1, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, -1, 170, 171, 172, 173, - -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, -1, 170, 171, 172, 173, -1, - -1, -1, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, -1, 170, 171, 172, 173, 16, 17, - 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, - -1, -1, 10, 11, 12, -1, 34, 16, 17, 18, + -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, 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, 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, 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, - 68, -1, -1, 34, 17, 18, 19, 20, 21, 22, - 23, 24, -1, 81, 82, -1, -1, -1, -1, -1, - -1, 34, 17, 18, 19, 20, 21, 22, 23, 24, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, + -1, -1, -1, -1, -1, 34, 18, 19, 20, 21, + 22, 23, 24, -1, -1, -1, -1, 159, 160, 161, + 162, -1, 34, 165, 166, 167, 168, 169, -1, 171, + 172, 173, -1, -1, -1, -1, 160, 161, 162, -1, + 6, 165, 166, 167, 168, 169, -1, 171, 172, 173, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, - -1, 119, 120, -1, 122, -1, 34, -1, -1, 127, - -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, -1, 170, 171, 172, 173, -1, -1, -1, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - -1, 170, 171, 172, 173, -1, 156, -1, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, -1, - 170, 171, 172, -1, -1, 156, -1, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, -1, 170, - 171, 172, -1, -1, -1, -1, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, -1, 170, 171, 172, - -1, -1, -1, -1, 159, 160, 161, -1, -1, 164, - 165, 166, 167, 168, -1, 170, 171, 172, -1, -1, - -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, -1, 170, 171, 172, 18, 19, 20, 21, 22, - 23, 24, 10, 11, 12, -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, 55, -1, - 57, 58, 59, 60, -1, 34, 18, 19, 20, 21, - 22, 23, 24, 70, -1, -1, -1, -1, -1, -1, - 68, -1, 34, 18, 19, 20, 21, 22, 23, 24, - -1, -1, 89, 81, 82, -1, -1, -1, -1, 34, - -1, -1, -1, -1, -1, -1, -1, -1, 105, -1, - -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, - -1, -1, 62, 63, 64, 65, -1, -1, -1, 126, - 127, 119, 120, -1, 122, 75, 76, 77, 78, 127, - -1, 129, -1, -1, -1, -1, 143, -1, 88, -1, - -1, 148, -1, -1, -1, -1, 144, 160, 161, 162, - 163, 164, 165, 166, 167, 168, -1, 170, 171, 172, - -1, -1, 112, 113, 171, 161, 162, 163, 164, 165, - 166, 167, 168, 123, 170, 171, 172, -1, -1, 129, - 159, 160, 161, 6, 134, 164, 165, 166, 167, 168, - 6, 170, 171, 172, -1, 145, -1, 147, 160, 161, - -1, -1, 164, 165, 166, 167, 168, -1, 170, 171, - 172, -1, -1, -1, -1, -1, 161, -1, -1, 164, - 165, 166, 167, 168, -1, 170, 171, 172, -1, -1, - -1, 54, -1, 10, 11, 12, -1, -1, 54, 62, - 63, 64, 65, -1, -1, -1, 62, 63, 64, 65, - -1, -1, 75, 76, 77, 78, -1, -1, -1, 75, - 76, 77, 78, -1, -1, 88, -1, -1, -1, -1, - -1, -1, 88, -1, -1, -1, -1, -1, 55, -1, - 57, 58, 59, 60, 61, 62, -1, -1, -1, 112, - -1, -1, -1, 70, -1, -1, 112, -1, -1, -1, - 123, -1, -1, -1, -1, 82, 129, 123, -1, -1, - 133, 134, 89, 129, -1, -1, -1, -1, 134, 10, - 11, 12, 145, -1, 147, 10, 11, 12, 105, 145, - -1, 147, -1, -1, 55, -1, 57, 58, 59, 60, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 126, - 127, -1, 11, 12, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 140, -1, -1, 143, -1, 89, 146, - 55, 148, 57, 58, 59, 60, -1, 68, -1, -1, - -1, -1, -1, -1, 105, 70, -1, -1, -1, -1, - 81, 82, -1, 52, -1, -1, 55, 82, 57, 58, - 59, 60, 61, 62, 89, 126, 127, -1, 67, -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, -1, -1, -1, -1, 54, -1, + 55, -1, 57, 58, 59, 60, 62, 63, 64, 65, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, + 76, 77, 78, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 88, -1, 89, -1, -1, -1, -1, -1, + -1, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 106, 171, 172, 173, -1, -1, 113, -1, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 124, 171, + 172, 173, 127, 128, 130, -1, -1, -1, 134, 135, + -1, 6, -1, -1, -1, -1, -1, -1, -1, 144, + 146, -1, 148, -1, 149, -1, 10, 11, 12, -1, + -1, -1, -1, 161, 162, -1, -1, 165, 166, 167, + 168, 169, -1, 171, 172, 173, -1, 172, -1, -1, + -1, 162, -1, -1, 165, 166, 167, 168, 169, 54, + 171, 172, 173, -1, -1, -1, -1, 62, 63, 64, + 65, 55, -1, 57, 58, 59, 60, 61, 62, -1, + 75, 76, 77, 78, -1, -1, 70, -1, -1, 10, + 11, 12, -1, 88, -1, -1, -1, -1, 82, -1, + -1, -1, -1, -1, -1, 89, -1, -1, 55, -1, + 57, 58, 59, 60, -1, -1, -1, -1, 113, -1, + -1, -1, 106, 11, 12, -1, -1, -1, -1, 124, + -1, -1, -1, -1, 55, 130, 57, 58, 59, 60, + 135, -1, 89, 127, 128, -1, -1, -1, -1, 70, + -1, 146, -1, 148, -1, -1, -1, 141, -1, 106, + 144, 82, -1, 147, 52, 149, -1, 55, 89, 57, + 58, 59, 60, 61, 62, -1, -1, -1, -1, 67, + 127, 128, 70, -1, -1, 106, 74, -1, -1, -1, + -1, -1, -1, -1, 82, -1, -1, 144, -1, -1, + -1, 89, 149, -1, -1, -1, 127, 128, -1, -1, + -1, -1, -1, -1, -1, -1, 11, 12, 106, -1, + -1, -1, -1, 144, -1, 172, 147, -1, 149, -1, + -1, -1, -1, -1, -1, -1, 124, -1, -1, 127, + 128, -1, 11, 12, -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, - 105, -1, 143, 82, -1, -1, -1, 148, 119, 120, - 89, 122, -1, -1, -1, -1, 127, -1, 129, -1, - -1, 126, 127, -1, 11, 12, 105, -1, -1, 140, - 171, -1, -1, -1, 145, -1, -1, -1, 143, -1, - -1, 146, -1, 148, 123, -1, -1, 126, 127, -1, - 11, 12, -1, 132, -1, -1, -1, -1, -1, -1, - -1, 140, 141, 142, 143, 52, -1, 146, 55, 148, + -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, 105, -1, + -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, 10, 11, 12, -1, 126, - 127, -1, 11, 12, 105, 132, -1, -1, -1, -1, - -1, -1, -1, 140, 141, 142, 143, -1, -1, 146, - -1, 148, 123, -1, -1, 126, 127, -1, 11, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, 140, - 141, 142, 143, 52, -1, 146, 55, 148, 57, 58, - 59, 60, 61, 68, -1, -1, -1, -1, 67, -1, - -1, 70, -1, -1, -1, 74, 81, 82, -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, 105, -1, -1, 82, - -1, -1, -1, -1, 119, 120, 89, 122, -1, -1, - -1, -1, 127, -1, 129, -1, -1, 126, 127, -1, - 11, -1, 105, 132, -1, 140, -1, -1, -1, -1, - 145, 140, 141, 142, 143, -1, -1, 146, -1, 148, - -1, -1, -1, 126, 127, -1, 11, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, 140, 141, 142, - 143, 52, -1, 146, 55, 148, 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, 105, -1, -1, 82, -1, -1, - -1, -1, -1, -1, 89, -1, -1, -1, -1, -1, - -1, 10, 11, 12, -1, 126, 127, -1, 11, -1, - 105, 132, -1, -1, -1, -1, 10, 11, 12, 140, - 141, 142, 143, -1, -1, 146, -1, 148, -1, -1, - -1, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, 140, 141, 142, 143, 52, - -1, 146, 55, 148, 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, 10, 11, 12, 89, 81, 82, -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, -1, + -1, 89, 81, 82, -1, -1, -1, 10, 11, 12, + -1, 68, 15, -1, -1, -1, -1, -1, 106, -1, + -1, -1, -1, -1, 81, 82, 120, 121, -1, 123, + -1, -1, -1, -1, 128, -1, 130, -1, -1, 127, + 128, 120, 121, -1, 123, 133, -1, 141, -1, 128, + -1, 130, 146, 141, 142, 143, 144, -1, -1, 147, + -1, 149, 141, 120, 121, 68, 123, 146, -1, -1, + -1, 128, 55, 130, 57, 58, 59, 60, 81, 82, + -1, 54, -1, -1, 141, -1, -1, -1, -1, 62, + 63, 64, 65, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 75, 76, 77, 78, 89, -1, -1, -1, + 83, -1, -1, -1, -1, 88, -1, 120, 121, -1, + 123, -1, -1, 106, -1, 128, -1, 130, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, - 119, 120, -1, 122, -1, -1, -1, -1, 127, -1, - 129, -1, -1, 126, 127, 119, 120, -1, 122, 132, - -1, 140, -1, 127, -1, 129, 145, 140, 141, 142, - 143, 68, -1, 146, -1, 148, 140, 74, 55, -1, - 57, 58, 59, 60, 81, 82, -1, -1, -1, -1, + 113, -1, -1, -1, 127, 128, -1, -1, -1, -1, + -1, 124, -1, -1, -1, -1, -1, 130, 53, 54, + -1, 144, 135, -1, -1, -1, 149, 62, 63, 64, + 65, -1, 145, 146, -1, 148, -1, -1, 73, -1, + 75, 76, 77, 78, 79, -1, -1, -1, 83, 172, + 163, -1, -1, 88, -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, 89, -1, -1, -1, 113, -1, -1, -1, - -1, -1, 119, 120, -1, 122, -1, -1, 105, -1, - 127, -1, 129, 53, 54, -1, -1, -1, -1, -1, - -1, -1, 62, 63, 64, 65, -1, -1, -1, 126, - 127, -1, -1, 73, -1, 75, 76, 77, 78, 79, - -1, -1, -1, 83, -1, -1, 143, -1, 88, -1, - -1, 148, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 106, 107, 108, 109, - 110, 111, 112, 113, 171, -1, -1, -1, -1, -1, - 120, 121, 122, 123, -1, -1, -1, -1, -1, 129, - 130, 54, -1, 133, 134, -1, -1, -1, 138, 62, - 63, 64, 65, -1, 144, 145, -1, 147, -1, -1, - -1, -1, 75, 76, 77, 78, -1, -1, 54, -1, - 83, -1, -1, -1, -1, 88, 62, 63, 64, 65, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, - 76, 77, 78, -1, -1, -1, -1, -1, -1, 112, - -1, -1, 88, -1, -1, -1, -1, -1, -1, -1, - 123, -1, -1, -1, -1, -1, 129, -1, -1, -1, - 133, 134, -1, -1, -1, -1, 112, -1, -1, -1, - -1, 144, 145, -1, 147, -1, -1, 123, -1, -1, - -1, -1, -1, 129, -1, -1, -1, -1, 134, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 145, - -1, 147 + -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, -1, 88, -1, -1, -1, -1, 124, -1, -1, + -1, -1, -1, 130, -1, -1, -1, 134, 135, -1, + -1, -1, -1, 113, 114, -1, -1, 113, 145, 146, + -1, 148, -1, -1, 124, -1, -1, -1, 124, -1, + 130, -1, -1, -1, 130, 135, -1, -1, -1, 135, + -1, -1, -1, -1, -1, -1, 146, -1, 148, -1, + 146, -1, 148 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 150, 151, 152, 178, 179, 288, 3, 4, 5, + 0, 151, 152, 153, 179, 180, 289, 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, 114, 116, 117, 119, 124, - 126, 127, 128, 131, 136, 139, 143, 148, 161, 164, - 165, 166, 169, 171, 172, 175, 278, 279, 287, 11, - 12, 52, 55, 57, 58, 59, 60, 61, 62, 67, - 70, 74, 82, 89, 105, 126, 127, 132, 140, 141, - 142, 143, 146, 148, 241, 242, 246, 247, 249, 255, - 256, 260, 261, 266, 267, 268, 269, 0, 48, 50, - 189, 288, 153, 171, 171, 171, 171, 171, 171, 171, - 162, 171, 162, 171, 171, 171, 171, 171, 171, 171, - 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, - 171, 171, 11, 52, 67, 140, 141, 244, 260, 261, - 266, 278, 162, 171, 171, 15, 171, 278, 162, 171, - 171, 171, 278, 278, 278, 278, 278, 11, 55, 57, - 58, 59, 60, 70, 82, 89, 105, 126, 127, 143, - 148, 246, 276, 278, 10, 11, 12, 68, 81, 82, - 119, 120, 122, 127, 129, 157, 161, 166, 282, 283, - 285, 288, 278, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 34, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 170, 171, 172, 6, 8, 241, - 242, 171, 61, 132, 70, 105, 267, 267, 267, 285, - 171, 267, 13, 15, 17, 62, 147, 161, 166, 171, - 239, 240, 288, 240, 153, 189, 189, 144, 190, 191, - 285, 171, 155, 180, 275, 276, 288, 275, 246, 275, - 275, 275, 275, 275, 246, 275, 246, 275, 246, 275, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 275, 171, 285, 171, 171, - 189, 189, 173, 246, 275, 275, 171, 246, 246, 246, - 278, 275, 275, 173, 154, 173, 285, 285, 154, 176, - 157, 229, 288, 278, 278, 278, 278, 278, 278, 278, + 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, 279, 280, 288, + 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, 257, 261, 262, 267, 268, 269, 270, 0, 48, + 50, 190, 289, 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, + 261, 262, 267, 279, 163, 172, 172, 15, 172, 279, + 163, 172, 172, 172, 279, 279, 279, 279, 279, 11, + 55, 57, 58, 59, 60, 70, 82, 89, 106, 127, + 128, 144, 149, 247, 277, 279, 10, 11, 12, 68, + 81, 82, 120, 121, 123, 128, 130, 158, 162, 167, + 283, 284, 286, 289, 279, 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, 268, 268, + 268, 286, 172, 268, 13, 15, 17, 62, 148, 162, + 167, 172, 240, 241, 289, 241, 154, 190, 190, 145, + 191, 192, 286, 172, 156, 181, 276, 277, 289, 276, + 247, 276, 276, 276, 276, 276, 247, 276, 247, 276, + 247, 276, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 276, 172, + 286, 172, 172, 190, 190, 174, 247, 276, 276, 172, + 247, 247, 247, 279, 276, 276, 174, 155, 174, 286, + 286, 155, 177, 158, 230, 289, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 286, 174, 277, + 279, 241, 241, 52, 279, 247, 167, 286, 190, 240, + 241, 240, 241, 190, 190, 15, 17, 162, 167, 190, + 225, 226, 235, 289, 173, 259, 260, 289, 10, 11, + 12, 120, 157, 287, 10, 11, 12, 120, 154, 286, + 287, 286, 49, 155, 172, 11, 52, 67, 141, 142, + 244, 248, 250, 256, 261, 262, 267, 279, 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, 263, 266, + 289, 175, 174, 174, 174, 174, 174, 174, 174, 164, + 174, 164, 174, 174, 174, 174, 155, 174, 155, 174, + 155, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 279, 247, 276, 286, 286, 164, 174, + 174, 286, 174, 164, 174, 174, 174, 174, 279, 279, + 15, 162, 284, 172, 210, 289, 279, 157, 174, 177, + 174, 174, 174, 190, 190, 13, 15, 17, 62, 148, + 162, 167, 240, 289, 240, 240, 190, 190, 190, 62, + 124, 242, 243, 174, 15, 155, 275, 279, 289, 286, + 175, 11, 258, 268, 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, 281, + 282, 288, 289, 172, 286, 172, 174, 190, 190, 174, + 76, 88, 189, 189, 189, 189, 189, 189, 6, 189, + 213, 189, 279, 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, 286, 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, 279, 240, + 167, 286, 190, 240, 240, 190, 190, 173, 240, 240, + 240, 124, 242, 243, 235, 13, 17, 62, 148, 162, + 167, 172, 238, 287, 289, 13, 15, 17, 62, 148, + 162, 167, 172, 239, 210, 15, 235, 177, 190, 258, + 180, 81, 252, 289, 191, 172, 163, 163, 245, 163, + 15, 172, 281, 163, 172, 279, 279, 279, 279, 247, + 277, 279, 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, + 279, 247, 190, 286, 287, 286, 190, 189, 174, 186, + 154, 286, 286, 286, 286, 286, 286, 286, 180, 286, + 279, 163, 10, 11, 204, 244, 246, 286, 286, 156, + 190, 172, 172, 62, 242, 185, 286, 195, 154, 156, + 158, 232, 156, 194, 277, 277, 174, 174, 174, 277, + 277, 174, 279, 172, 34, 223, 289, 190, 190, 240, + 240, 240, 275, 174, 174, 174, 242, 243, 238, 239, + 167, 190, 238, 238, 190, 190, 238, 173, 230, 190, + 167, 286, 190, 239, 239, 190, 190, 239, 173, 230, + 190, 190, 155, 158, 175, 157, 253, 254, 289, 49, + 247, 247, 247, 172, 247, 172, 247, 247, 247, 279, + 174, 174, 15, 236, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 286, 174, 277, 279, 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, 267, 289, 172, + 232, 198, 156, 156, 158, 201, 10, 13, 167, 203, + 242, 13, 17, 62, 148, 162, 167, 237, 287, 289, + 180, 172, 154, 156, 157, 158, 231, 271, 272, 68, + 69, 154, 279, 13, 17, 62, 119, 148, 162, 167, + 172, 196, 220, 222, 287, 174, 174, 174, 174, 210, + 174, 174, 286, 62, 245, 154, 240, 177, 172, 172, + 172, 238, 239, 230, 230, 190, 238, 238, 238, 174, + 275, 190, 190, 239, 239, 239, 174, 275, 223, 279, + 121, 122, 123, 141, 146, 255, 285, 286, 154, 155, + 190, 174, 164, 164, 276, 164, 286, 174, 164, 174, + 174, 279, 157, 174, 177, 258, 175, 265, 10, 10, + 10, 10, 10, 10, 264, 288, 156, 219, 164, 155, + 15, 286, 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, 271, 182, 183, 286, 68, 69, 175, 273, 289, + 156, 156, 154, 233, 234, 279, 289, 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, + 271, 190, 225, 225, 225, 230, 230, 238, 172, 177, + 239, 172, 177, 155, 146, 285, 146, 285, 146, 285, + 286, 121, 122, 123, 15, 180, 255, 172, 172, 174, + 172, 174, 172, 279, 180, 155, 155, 174, 155, 224, + 289, 155, 155, 155, 180, 174, 238, 239, 187, 193, + 212, 213, 218, 286, 158, 167, 190, 190, 190, 158, + 229, 289, 230, 232, 156, 174, 172, 220, 174, 174, + 172, 190, 237, 237, 237, 208, 275, 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, 274, 233, 175, 155, 190, 220, 10, 174, 177, + 190, 220, 220, 174, 279, 221, 275, 279, 155, 223, + 174, 241, 175, 174, 174, 174, 225, 190, 225, 190, + 285, 285, 285, 285, 285, 285, 175, 277, 277, 277, + 277, 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, 278, 280, + 155, 210, 202, 174, 172, 210, 209, 237, 225, 177, + 174, 271, 183, 276, 276, 273, 175, 154, 279, 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, + 278, 163, 278, 278, 278, 278, 278, 247, 277, 278, + 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, 271, + 190, 190, 190, 210, 210, 156, 10, 156, 10, 10, + 156, 156, 10, 156, 247, 247, 247, 247, 172, 247, + 247, 174, 174, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 285, 173, 276, 278, 240, 240, - 52, 278, 246, 166, 285, 189, 239, 240, 239, 240, - 189, 189, 15, 17, 161, 166, 189, 224, 225, 234, - 288, 172, 258, 259, 288, 10, 11, 12, 119, 156, - 286, 10, 11, 12, 119, 153, 285, 286, 285, 49, - 154, 171, 11, 52, 67, 140, 141, 243, 247, 249, - 255, 260, 261, 266, 278, 53, 54, 62, 63, 64, - 65, 73, 75, 76, 77, 78, 79, 83, 88, 106, - 107, 108, 109, 110, 111, 112, 113, 120, 121, 122, - 123, 129, 130, 133, 134, 138, 144, 145, 147, 183, - 185, 186, 188, 192, 212, 262, 265, 288, 174, 173, - 173, 173, 173, 173, 173, 173, 163, 173, 163, 173, - 173, 173, 173, 154, 173, 154, 173, 154, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 278, - 246, 275, 285, 285, 163, 173, 173, 285, 173, 163, - 173, 173, 173, 173, 278, 278, 15, 161, 283, 171, - 209, 288, 278, 156, 173, 176, 173, 173, 173, 189, - 189, 13, 15, 17, 62, 147, 161, 166, 239, 288, - 239, 239, 189, 189, 189, 62, 123, 241, 242, 173, - 15, 154, 274, 278, 288, 285, 174, 11, 257, 267, - 156, 248, 250, 156, 189, 190, 3, 4, 5, 9, - 10, 15, 51, 66, 71, 80, 81, 114, 117, 119, - 124, 128, 131, 136, 139, 161, 164, 165, 169, 171, - 175, 226, 227, 234, 235, 280, 281, 287, 288, 171, - 285, 171, 173, 189, 189, 173, 76, 88, 188, 188, - 188, 188, 188, 188, 6, 188, 212, 188, 278, 156, - 187, 113, 188, 171, 171, 171, 171, 171, 171, 188, - 153, 189, 156, 156, 156, 188, 188, 171, 186, 188, - 192, 213, 188, 188, 196, 74, 113, 285, 188, 188, - 10, 11, 118, 153, 169, 199, 203, 243, 245, 171, - 171, 246, 246, 246, 173, 173, 173, 171, 173, 171, - 229, 224, 17, 62, 64, 81, 112, 115, 116, 119, - 135, 147, 161, 189, 278, 239, 166, 285, 189, 239, - 239, 189, 189, 172, 239, 239, 239, 123, 241, 242, - 234, 13, 17, 62, 147, 161, 166, 171, 237, 286, - 288, 13, 15, 17, 62, 147, 161, 166, 171, 238, - 209, 15, 234, 176, 189, 257, 179, 81, 251, 288, - 190, 171, 162, 162, 244, 162, 15, 171, 280, 162, - 171, 278, 278, 278, 278, 246, 276, 278, 173, 15, - 154, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 34, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 170, 171, 172, 52, 278, 246, 189, 285, - 286, 285, 189, 188, 173, 185, 153, 285, 285, 285, - 285, 285, 285, 285, 179, 285, 278, 162, 10, 11, - 203, 243, 245, 285, 285, 155, 189, 171, 171, 62, - 241, 184, 285, 194, 153, 155, 157, 231, 155, 193, - 276, 276, 173, 173, 173, 276, 276, 173, 278, 171, - 34, 222, 288, 189, 189, 239, 239, 239, 274, 173, - 173, 173, 241, 242, 237, 238, 166, 189, 237, 237, - 189, 189, 237, 172, 229, 189, 166, 285, 189, 238, - 238, 189, 189, 238, 172, 229, 189, 189, 154, 157, - 174, 156, 252, 253, 288, 49, 246, 246, 246, 171, - 246, 171, 246, 246, 246, 278, 173, 173, 15, 235, - 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 285, 173, 276, 278, 173, 173, 173, 156, 188, - 179, 153, 154, 154, 154, 154, 154, 154, 174, 153, - 154, 173, 10, 11, 12, 61, 62, 140, 214, 215, - 216, 217, 218, 266, 288, 171, 231, 197, 155, 155, - 157, 200, 10, 13, 166, 202, 241, 13, 17, 62, - 147, 161, 166, 236, 286, 288, 179, 171, 153, 155, - 156, 157, 230, 270, 271, 68, 69, 153, 278, 13, - 17, 62, 118, 147, 161, 166, 171, 195, 219, 221, - 286, 173, 173, 173, 173, 209, 173, 173, 285, 62, - 244, 153, 239, 176, 171, 171, 171, 237, 238, 229, - 229, 189, 237, 237, 237, 173, 274, 189, 189, 238, - 238, 238, 173, 274, 222, 278, 120, 121, 122, 140, - 145, 254, 284, 285, 153, 154, 189, 173, 163, 163, - 275, 163, 285, 173, 163, 173, 173, 278, 156, 173, - 176, 257, 174, 264, 10, 10, 10, 10, 10, 10, - 263, 287, 155, 218, 163, 154, 15, 285, 13, 17, - 62, 147, 161, 166, 171, 237, 238, 198, 221, 246, - 224, 173, 166, 219, 224, 236, 166, 189, 236, 236, - 189, 189, 171, 172, 189, 174, 204, 270, 181, 182, - 285, 68, 69, 174, 272, 288, 155, 155, 153, 232, - 233, 278, 288, 155, 166, 189, 219, 6, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 34, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 69, 114, 154, 157, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 171, 172, 175, 210, 219, - 189, 189, 219, 156, 171, 172, 222, 157, 229, 231, - 189, 189, 15, 173, 244, 240, 270, 189, 224, 224, - 224, 229, 229, 237, 171, 176, 238, 171, 176, 154, - 145, 284, 145, 284, 145, 284, 285, 120, 121, 122, - 15, 179, 254, 171, 171, 173, 171, 173, 171, 278, - 179, 154, 154, 173, 154, 223, 288, 154, 154, 154, - 179, 173, 237, 238, 186, 192, 211, 212, 217, 285, - 157, 166, 189, 189, 189, 157, 228, 288, 229, 231, - 155, 173, 171, 219, 173, 173, 171, 189, 236, 236, - 236, 207, 274, 224, 174, 153, 154, 153, 171, 155, - 155, 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, 105, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 175, 176, 273, 232, 174, - 154, 189, 219, 10, 173, 176, 189, 219, 219, 173, - 278, 220, 274, 278, 154, 222, 173, 240, 174, 173, - 173, 173, 224, 189, 224, 189, 284, 284, 284, 284, - 284, 284, 174, 276, 276, 276, 276, 174, 10, 10, - 155, 10, 173, 10, 10, 10, 174, 155, 228, 246, - 189, 51, 66, 71, 124, 128, 131, 161, 164, 165, - 166, 169, 171, 175, 277, 279, 154, 209, 201, 173, - 171, 209, 208, 236, 224, 176, 173, 270, 182, 275, - 275, 272, 174, 153, 278, 219, 189, 226, 176, 195, - 153, 209, 209, 209, 173, 173, 173, 173, 173, 173, - 173, 154, 173, 154, 155, 154, 173, 173, 154, 173, - 171, 162, 162, 162, 15, 171, 277, 162, 277, 277, - 277, 277, 277, 246, 276, 277, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 34, 158, 159, 160, 161, - 164, 165, 166, 167, 168, 170, 171, 172, 198, 189, - 224, 171, 205, 189, 224, 173, 189, 209, 174, 174, - 173, 174, 232, 173, 189, 270, 189, 189, 189, 209, - 209, 155, 10, 155, 10, 10, 155, 155, 10, 155, - 246, 246, 246, 246, 171, 246, 246, 173, 173, 277, - 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, 285, 173, - 276, 278, 173, 206, 224, 173, 209, 189, 15, 174, - 209, 174, 222, 222, 222, 189, 189, 154, 223, 173, - 154, 154, 173, 173, 163, 163, 163, 285, 173, 163, - 277, 156, 173, 176, 209, 224, 173, 209, 189, 10, - 173, 155, 10, 10, 155, 171, 171, 171, 173, 171, - 277, 189, 173, 209, 155, 173, 154, 173, 276, 276, - 276, 276, 209, 189, 155, 10, 155, 173, 173, 173, - 173, 189, 222, 173, 222, 155 + 278, 278, 286, 174, 277, 279, 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, 286, 174, 164, 278, 157, 174, 177, 210, 225, + 174, 210, 190, 10, 174, 156, 10, 10, 156, 172, + 172, 172, 174, 172, 278, 190, 174, 210, 156, 174, + 155, 174, 277, 277, 277, 277, 210, 190, 156, 10, + 156, 174, 174, 174, 174, 190, 223, 174, 223, 156 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { - 0, 177, 178, 178, 178, 179, 179, 180, 179, 181, - 181, 182, 182, 182, 184, 183, 185, 185, 185, 185, - 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, - 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, - 185, 185, 185, 187, 186, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 189, 189, 189, 189, 189, 190, 190, - 191, 191, 193, 192, 192, 194, 192, 192, 192, 195, - 195, 197, 196, 196, 198, 198, 200, 199, 201, 199, - 202, 199, 204, 203, 205, 203, 206, 203, 207, 203, - 208, 203, 203, 209, 209, 209, 209, 209, 209, 209, - 209, 209, 209, 209, 209, 209, 209, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 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, - 212, 213, 212, 212, 212, 214, 214, 215, 215, 216, - 216, 217, 217, 217, 217, 217, 217, 217, 217, 217, - 218, 218, 218, 218, 219, 219, 219, 219, 219, 219, - 219, 219, 219, 219, 219, 220, 219, 221, 221, 222, - 222, 222, 223, 223, 224, 224, 224, 224, 224, 225, - 225, 226, 226, 226, 226, 226, 227, 227, 228, 228, - 229, 229, 230, 230, 230, 230, 230, 231, 231, 231, - 231, 231, 231, 232, 232, 232, 233, 233, 233, 233, - 234, 234, 234, 234, 234, 234, 234, 235, 235, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 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, - 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, - 241, 241, 241, 241, 241, 241, 242, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 244, 244, 244, 244, 244, 244, 244, 244, 245, 245, - 246, 246, 246, 246, 248, 247, 250, 249, 251, 251, - 252, 252, 253, 253, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 255, 256, 256, 256, 256, 257, - 257, 258, 258, 258, 259, 259, 259, 260, 260, 260, - 261, 261, 261, 263, 262, 264, 262, 262, 262, 265, - 265, 265, 265, 266, 266, 266, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 268, 268, 268, 269, 271, 270, 272, 272, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 274, 274, 275, 275, 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, + 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, 256, 257, 257, 257, 257, 258, + 258, 259, 259, 259, 260, 260, 260, 261, 261, 261, + 262, 262, 262, 264, 263, 265, 263, 263, 263, 266, + 266, 266, 266, 267, 267, 267, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 269, 269, 269, 270, 272, 271, 273, 273, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 275, 275, 276, 276, 277, 277, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 279, 279, 279, 279, 279, 279, 279, + 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, 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, 281, 281, + 280, 280, 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, + 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 282, - 282, 282, 282, 282, 283, 283, 283, 283, 284, 284, - 284, 285, 285, 285, 285, 285, 285, 285, 285, 285, - 285, 285, 286, 286, 286, 286, 287, 287, 287, 287, - 288 + 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 283, 283, 283, 283, 283, 284, 284, 284, 284, 285, + 285, 285, 286, 286, 286, 286, 286, 286, 286, 286, + 286, 286, 286, 287, 287, 287, 287, 288, 288, 288, + 288, 289 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -3302,16 +3313,16 @@ static const yytype_int8 yyr2[] = 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, 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, + 4, 4, 4, 4, 1, 4, 7, 7, 7, 7, + 4, 2, 5, 4, 2, 5, 4, 4, 2, 2, + 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 5, 4, 4, 3, 3, 3, 3, 1, 1, + 3, 3, 5, 4, 4, 3, 3, 3, 3, 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, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, - 0 + 1, 1, 1, 2, 4, 2, 3, 1, 2, 1, + 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 0 }; @@ -3896,90 +3907,90 @@ yyreduce: switch (yyn) { case 3: /* grammar: START_CONST_EXPR const_expr */ -#line 465 "dtool/src/cppparser/cppBison.yxx" +#line 466 "dtool/src/cppparser/cppBison.yxx" { current_expr = (yyvsp[0].u.expr); } -#line 3904 "built/tmp/cppBison.yxx.c" +#line 3915 "built/tmp/cppBison.yxx.c" break; case 4: /* grammar: START_TYPE full_type */ -#line 469 "dtool/src/cppparser/cppBison.yxx" +#line 470 "dtool/src/cppparser/cppBison.yxx" { current_type = (yyvsp[0].u.type); } -#line 3912 "built/tmp/cppBison.yxx.c" +#line 3923 "built/tmp/cppBison.yxx.c" break; case 6: /* cpp: cpp optional_attributes ';' */ -#line 477 "dtool/src/cppparser/cppBison.yxx" +#line 478 "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 3922 "built/tmp/cppBison.yxx.c" +#line 3933 "built/tmp/cppBison.yxx.c" break; case 7: /* $@1: %empty */ -#line 483 "dtool/src/cppparser/cppBison.yxx" +#line 484 "dtool/src/cppparser/cppBison.yxx" { current_attributes = (yyvsp[0].attr_list); } -#line 3930 "built/tmp/cppBison.yxx.c" +#line 3941 "built/tmp/cppBison.yxx.c" break; case 8: /* cpp: cpp optional_attributes $@1 declaration */ -#line 487 "dtool/src/cppparser/cppBison.yxx" +#line 488 "dtool/src/cppparser/cppBison.yxx" { current_attributes = CPPAttributeList(); } -#line 3938 "built/tmp/cppBison.yxx.c" +#line 3949 "built/tmp/cppBison.yxx.c" break; case 11: /* constructor_init: name '(' optional_const_expr_comma ')' */ -#line 499 "dtool/src/cppparser/cppBison.yxx" +#line 500 "dtool/src/cppparser/cppBison.yxx" { delete (yyvsp[-1].u.expr); } -#line 3946 "built/tmp/cppBison.yxx.c" +#line 3957 "built/tmp/cppBison.yxx.c" break; case 12: /* constructor_init: name '(' optional_const_expr_comma ')' ELLIPSIS */ -#line 503 "dtool/src/cppparser/cppBison.yxx" +#line 504 "dtool/src/cppparser/cppBison.yxx" { delete (yyvsp[-2].u.expr); } -#line 3954 "built/tmp/cppBison.yxx.c" +#line 3965 "built/tmp/cppBison.yxx.c" break; case 13: /* constructor_init: name '{' optional_const_expr_comma '}' */ -#line 507 "dtool/src/cppparser/cppBison.yxx" +#line 508 "dtool/src/cppparser/cppBison.yxx" { delete (yyvsp[-1].u.expr); } -#line 3962 "built/tmp/cppBison.yxx.c" +#line 3973 "built/tmp/cppBison.yxx.c" break; case 14: /* $@2: %empty */ -#line 519 "dtool/src/cppparser/cppBison.yxx" +#line 520 "dtool/src/cppparser/cppBison.yxx" { push_storage_class((current_storage_class & ~CPPInstance::SC_c_binding) | ((yyvsp[-1].u.integer) & CPPInstance::SC_c_binding)); } -#line 3971 "built/tmp/cppBison.yxx.c" +#line 3982 "built/tmp/cppBison.yxx.c" break; case 15: /* extern_c: storage_class '{' $@2 cpp '}' */ -#line 524 "dtool/src/cppparser/cppBison.yxx" +#line 525 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } -#line 3979 "built/tmp/cppBison.yxx.c" +#line 3990 "built/tmp/cppBison.yxx.c" break; case 22: /* declaration: KW_BEGIN_PUBLISH */ -#line 537 "dtool/src/cppparser/cppBison.yxx" +#line 538 "dtool/src/cppparser/cppBison.yxx" { if (publish_nest_level != 0) { yyerror("Unclosed __begin_publish", publish_loc); @@ -3992,11 +4003,11 @@ yyreduce: publish_nest_level++; current_scope->set_current_vis(V_published); } -#line 3996 "built/tmp/cppBison.yxx.c" +#line 4007 "built/tmp/cppBison.yxx.c" break; case 23: /* declaration: KW_END_PUBLISH */ -#line 550 "dtool/src/cppparser/cppBison.yxx" +#line 551 "dtool/src/cppparser/cppBison.yxx" { if (publish_nest_level != 1) { yyerror("Unmatched __end_publish", (yylsp[0])); @@ -4005,19 +4016,19 @@ yyreduce: } publish_nest_level = 0; } -#line 4009 "built/tmp/cppBison.yxx.c" +#line 4020 "built/tmp/cppBison.yxx.c" break; case 24: /* declaration: KW_PUBLISHED ':' */ -#line 559 "dtool/src/cppparser/cppBison.yxx" +#line 560 "dtool/src/cppparser/cppBison.yxx" { current_scope->set_current_vis(V_published); } -#line 4017 "built/tmp/cppBison.yxx.c" +#line 4028 "built/tmp/cppBison.yxx.c" break; case 25: /* declaration: KW_PUBLIC ':' */ -#line 563 "dtool/src/cppparser/cppBison.yxx" +#line 564 "dtool/src/cppparser/cppBison.yxx" { if (publish_nest_level > 0) { current_scope->set_current_vis(V_published); @@ -4025,27 +4036,27 @@ yyreduce: current_scope->set_current_vis(V_public); } } -#line 4029 "built/tmp/cppBison.yxx.c" +#line 4040 "built/tmp/cppBison.yxx.c" break; case 26: /* declaration: KW_PROTECTED ':' */ -#line 571 "dtool/src/cppparser/cppBison.yxx" +#line 572 "dtool/src/cppparser/cppBison.yxx" { current_scope->set_current_vis(V_protected); } -#line 4037 "built/tmp/cppBison.yxx.c" +#line 4048 "built/tmp/cppBison.yxx.c" break; case 27: /* declaration: KW_PRIVATE ':' */ -#line 575 "dtool/src/cppparser/cppBison.yxx" +#line 576 "dtool/src/cppparser/cppBison.yxx" { current_scope->set_current_vis(V_private); } -#line 4045 "built/tmp/cppBison.yxx.c" +#line 4056 "built/tmp/cppBison.yxx.c" break; case 28: /* declaration: KW_MAKE_PROPERTY '(' name ',' IDENTIFIER maybe_comma_identifier ')' ';' */ -#line 579 "dtool/src/cppparser/cppBison.yxx" +#line 580 "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) { @@ -4066,11 +4077,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-7])); } } -#line 4070 "built/tmp/cppBison.yxx.c" +#line 4081 "built/tmp/cppBison.yxx.c" break; case 29: /* declaration: KW_MAKE_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 600 "dtool/src/cppparser/cppBison.yxx" +#line 601 "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) { @@ -4097,11 +4108,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-10])); } } -#line 4101 "built/tmp/cppBison.yxx.c" +#line 4112 "built/tmp/cppBison.yxx.c" break; case 30: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 627 "dtool/src/cppparser/cppBison.yxx" +#line 628 "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) { @@ -4122,11 +4133,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4126 "built/tmp/cppBison.yxx.c" +#line 4137 "built/tmp/cppBison.yxx.c" break; case 31: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 648 "dtool/src/cppparser/cppBison.yxx" +#line 649 "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) { @@ -4155,11 +4166,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-10])); } } -#line 4159 "built/tmp/cppBison.yxx.c" +#line 4170 "built/tmp/cppBison.yxx.c" break; case 32: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 677 "dtool/src/cppparser/cppBison.yxx" +#line 678 "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) { @@ -4195,11 +4206,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12])); } } -#line 4199 "built/tmp/cppBison.yxx.c" +#line 4210 "built/tmp/cppBison.yxx.c" break; case 33: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 713 "dtool/src/cppparser/cppBison.yxx" +#line 714 "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) { @@ -4242,11 +4253,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-14])); } } -#line 4246 "built/tmp/cppBison.yxx.c" +#line 4257 "built/tmp/cppBison.yxx.c" break; case 34: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ')' ';' */ -#line 756 "dtool/src/cppparser/cppBison.yxx" +#line 757 "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) { @@ -4258,11 +4269,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-6])); } } -#line 4262 "built/tmp/cppBison.yxx.c" +#line 4273 "built/tmp/cppBison.yxx.c" break; case 35: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 768 "dtool/src/cppparser/cppBison.yxx" +#line 769 "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) { @@ -4283,11 +4294,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4287 "built/tmp/cppBison.yxx.c" +#line 4298 "built/tmp/cppBison.yxx.c" break; case 36: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER maybe_comma_identifier ')' ';' */ -#line 789 "dtool/src/cppparser/cppBison.yxx" +#line 790 "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) { @@ -4323,11 +4334,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-11])); } } -#line 4327 "built/tmp/cppBison.yxx.c" +#line 4338 "built/tmp/cppBison.yxx.c" break; case 37: /* declaration: KW_MAKE_MAP_KEYS_SEQ '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 825 "dtool/src/cppparser/cppBison.yxx" +#line 826 "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) { @@ -4361,11 +4372,11 @@ yyreduce: } } } -#line 4365 "built/tmp/cppBison.yxx.c" +#line 4376 "built/tmp/cppBison.yxx.c" break; case 38: /* declaration: KW_MAKE_PROPERTY2 '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 859 "dtool/src/cppparser/cppBison.yxx" +#line 860 "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) { @@ -4387,11 +4398,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4391 "built/tmp/cppBison.yxx.c" +#line 4402 "built/tmp/cppBison.yxx.c" break; case 39: /* declaration: KW_MAKE_PROPERTY2 '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 881 "dtool/src/cppparser/cppBison.yxx" +#line 882 "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) { @@ -4427,11 +4438,11 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12])); } } -#line 4431 "built/tmp/cppBison.yxx.c" +#line 4442 "built/tmp/cppBison.yxx.c" break; case 40: /* declaration: KW_MAKE_SEQ '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ -#line 917 "dtool/src/cppparser/cppBison.yxx" +#line 918 "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) { @@ -4453,11 +4464,11 @@ yyreduce: current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[-8])); } } -#line 4457 "built/tmp/cppBison.yxx.c" +#line 4468 "built/tmp/cppBison.yxx.c" break; case 41: /* declaration: KW_STATIC_ASSERT '(' const_expr ',' string_literal ')' ';' */ -#line 939 "dtool/src/cppparser/cppBison.yxx" +#line 940 "dtool/src/cppparser/cppBison.yxx" { CPPExpression::Result result = (yyvsp[-4].u.expr)->evaluate(); if (result._type == CPPExpression::RT_error) { @@ -4468,11 +4479,11 @@ yyreduce: yywarning("static_assert failed: " + str.str(), (yylsp[-4])); } } -#line 4472 "built/tmp/cppBison.yxx.c" +#line 4483 "built/tmp/cppBison.yxx.c" break; case 42: /* declaration: KW_STATIC_ASSERT '(' const_expr ')' ';' */ -#line 950 "dtool/src/cppparser/cppBison.yxx" +#line 951 "dtool/src/cppparser/cppBison.yxx" { // This alternative version of static_assert was introduced in C++17. CPPExpression::Result result = (yyvsp[-2].u.expr)->evaluate(); @@ -4482,55 +4493,55 @@ yyreduce: yywarning("static_assert failed", (yylsp[-2])); } } -#line 4486 "built/tmp/cppBison.yxx.c" +#line 4497 "built/tmp/cppBison.yxx.c" break; case 43: /* $@3: %empty */ -#line 963 "dtool/src/cppparser/cppBison.yxx" +#line 964 "dtool/src/cppparser/cppBison.yxx" { CPPScope *new_scope = new CPPScope(current_scope, CPPNameComponent("temp"), V_public); push_scope(new_scope); } -#line 4496 "built/tmp/cppBison.yxx.c" +#line 4507 "built/tmp/cppBison.yxx.c" break; case 44: /* friend_declaration: KW_FRIEND $@3 declaration */ -#line 969 "dtool/src/cppparser/cppBison.yxx" +#line 970 "dtool/src/cppparser/cppBison.yxx" { delete current_scope; pop_scope(); } -#line 4505 "built/tmp/cppBison.yxx.c" +#line 4516 "built/tmp/cppBison.yxx.c" break; case 45: /* storage_class: empty */ -#line 978 "dtool/src/cppparser/cppBison.yxx" +#line 979 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = 0; } -#line 4513 "built/tmp/cppBison.yxx.c" +#line 4524 "built/tmp/cppBison.yxx.c" break; case 46: /* storage_class: KW_CONST storage_class */ -#line 982 "dtool/src/cppparser/cppBison.yxx" +#line 983 "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 4522 "built/tmp/cppBison.yxx.c" +#line 4533 "built/tmp/cppBison.yxx.c" break; case 47: /* storage_class: KW_EXTERN storage_class */ -#line 987 "dtool/src/cppparser/cppBison.yxx" +#line 988 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern; } -#line 4530 "built/tmp/cppBison.yxx.c" +#line 4541 "built/tmp/cppBison.yxx.c" break; case 48: /* storage_class: KW_EXTERN SIMPLE_STRING storage_class */ -#line 991 "dtool/src/cppparser/cppBison.yxx" +#line 992 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern; if ((yyvsp[-1].str) == "C") { @@ -4541,43 +4552,43 @@ yyreduce: yywarning("Ignoring unknown linkage type \"" + (yyvsp[-1].str) + "\"", (yylsp[-1])); } } -#line 4545 "built/tmp/cppBison.yxx.c" +#line 4556 "built/tmp/cppBison.yxx.c" break; case 49: /* storage_class: KW_STATIC storage_class */ -#line 1002 "dtool/src/cppparser/cppBison.yxx" +#line 1003 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_static; } -#line 4553 "built/tmp/cppBison.yxx.c" +#line 4564 "built/tmp/cppBison.yxx.c" break; case 50: /* storage_class: KW_INLINE storage_class */ -#line 1006 "dtool/src/cppparser/cppBison.yxx" +#line 1007 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_inline; } -#line 4561 "built/tmp/cppBison.yxx.c" +#line 4572 "built/tmp/cppBison.yxx.c" break; case 51: /* storage_class: KW_VIRTUAL storage_class */ -#line 1010 "dtool/src/cppparser/cppBison.yxx" +#line 1011 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_virtual; } -#line 4569 "built/tmp/cppBison.yxx.c" +#line 4580 "built/tmp/cppBison.yxx.c" break; case 52: /* storage_class: KW_EXPLICIT storage_class */ -#line 1014 "dtool/src/cppparser/cppBison.yxx" +#line 1015 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_explicit; } -#line 4577 "built/tmp/cppBison.yxx.c" +#line 4588 "built/tmp/cppBison.yxx.c" break; case 53: /* storage_class: KW_EXPLICIT_LPAREN const_expr ')' storage_class */ -#line 1018 "dtool/src/cppparser/cppBison.yxx" +#line 1019 "dtool/src/cppparser/cppBison.yxx" { CPPExpression::Result result = (yyvsp[-2].u.expr)->evaluate(); if (result._type == CPPExpression::RT_error) { @@ -4586,100 +4597,100 @@ yyreduce: (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_explicit; } } -#line 4590 "built/tmp/cppBison.yxx.c" +#line 4601 "built/tmp/cppBison.yxx.c" break; case 54: /* storage_class: KW_REGISTER storage_class */ -#line 1027 "dtool/src/cppparser/cppBison.yxx" +#line 1028 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_register; } -#line 4598 "built/tmp/cppBison.yxx.c" +#line 4609 "built/tmp/cppBison.yxx.c" break; case 55: /* storage_class: KW_VOLATILE storage_class */ -#line 1031 "dtool/src/cppparser/cppBison.yxx" +#line 1032 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_volatile; } -#line 4606 "built/tmp/cppBison.yxx.c" +#line 4617 "built/tmp/cppBison.yxx.c" break; case 56: /* storage_class: KW_MUTABLE storage_class */ -#line 1035 "dtool/src/cppparser/cppBison.yxx" +#line 1036 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_mutable; } -#line 4614 "built/tmp/cppBison.yxx.c" +#line 4625 "built/tmp/cppBison.yxx.c" break; case 57: /* storage_class: KW_CONSTEVAL storage_class */ -#line 1039 "dtool/src/cppparser/cppBison.yxx" +#line 1040 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_consteval; } -#line 4622 "built/tmp/cppBison.yxx.c" +#line 4633 "built/tmp/cppBison.yxx.c" break; case 58: /* storage_class: KW_CONSTEXPR storage_class */ -#line 1043 "dtool/src/cppparser/cppBison.yxx" +#line 1044 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_constexpr; } -#line 4630 "built/tmp/cppBison.yxx.c" +#line 4641 "built/tmp/cppBison.yxx.c" break; case 59: /* storage_class: KW_CONSTINIT storage_class */ -#line 1047 "dtool/src/cppparser/cppBison.yxx" +#line 1048 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_constinit; } -#line 4638 "built/tmp/cppBison.yxx.c" +#line 4649 "built/tmp/cppBison.yxx.c" break; case 60: /* storage_class: KW_BLOCKING storage_class */ -#line 1051 "dtool/src/cppparser/cppBison.yxx" +#line 1052 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_blocking; } -#line 4646 "built/tmp/cppBison.yxx.c" +#line 4657 "built/tmp/cppBison.yxx.c" break; case 61: /* storage_class: KW_EXTENSION storage_class */ -#line 1055 "dtool/src/cppparser/cppBison.yxx" +#line 1056 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extension; } -#line 4654 "built/tmp/cppBison.yxx.c" +#line 4665 "built/tmp/cppBison.yxx.c" break; case 62: /* storage_class: KW_THREAD_LOCAL storage_class */ -#line 1059 "dtool/src/cppparser/cppBison.yxx" +#line 1060 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_thread_local; } -#line 4662 "built/tmp/cppBison.yxx.c" +#line 4673 "built/tmp/cppBison.yxx.c" break; case 63: /* optional_attributes: empty */ -#line 1066 "dtool/src/cppparser/cppBison.yxx" +#line 1067 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = CPPAttributeList(); } -#line 4670 "built/tmp/cppBison.yxx.c" +#line 4681 "built/tmp/cppBison.yxx.c" break; case 64: /* optional_attributes: ATTR_LEFT attribute_specifiers ATTR_RIGHT optional_attributes */ -#line 1070 "dtool/src/cppparser/cppBison.yxx" +#line 1071 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = (yyvsp[-2].attr_list); (yyval.attr_list).add_attributes_from((yyvsp[0].attr_list)); } -#line 4679 "built/tmp/cppBison.yxx.c" +#line 4690 "built/tmp/cppBison.yxx.c" break; case 65: /* optional_attributes: ATTR_LEFT KW_USING name ':' attribute_specifiers ATTR_RIGHT optional_attributes */ -#line 1075 "dtool/src/cppparser/cppBison.yxx" +#line 1076 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = (yyvsp[-2].attr_list); for (CPPAttributeList::Attribute &attr : (yyval.attr_list)._attributes) { @@ -4687,64 +4698,64 @@ yyreduce: } (yyval.attr_list).add_attributes_from((yyvsp[0].attr_list)); } -#line 4691 "built/tmp/cppBison.yxx.c" +#line 4702 "built/tmp/cppBison.yxx.c" break; case 66: /* optional_attributes: KW_ALIGNAS '(' const_expr ')' optional_attributes */ -#line 1083 "dtool/src/cppparser/cppBison.yxx" +#line 1084 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = (yyvsp[0].attr_list); (yyval.attr_list).add_alignas((yyvsp[-2].u.expr)->as_expression()); } -#line 4700 "built/tmp/cppBison.yxx.c" +#line 4711 "built/tmp/cppBison.yxx.c" break; case 67: /* optional_attributes: KW_ALIGNAS '(' type_decl ')' optional_attributes */ -#line 1088 "dtool/src/cppparser/cppBison.yxx" +#line 1089 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = (yyvsp[0].attr_list); (yyval.attr_list).add_alignas((yyvsp[-2].u.decl)->as_type()); } -#line 4709 "built/tmp/cppBison.yxx.c" +#line 4720 "built/tmp/cppBison.yxx.c" break; case 68: /* attribute_specifiers: attribute_specifier */ -#line 1096 "dtool/src/cppparser/cppBison.yxx" +#line 1097 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = (yyvsp[0].attr_list); } -#line 4717 "built/tmp/cppBison.yxx.c" +#line 4728 "built/tmp/cppBison.yxx.c" break; case 69: /* attribute_specifiers: attribute_specifier ',' attribute_specifiers */ -#line 1100 "dtool/src/cppparser/cppBison.yxx" +#line 1101 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = (yyvsp[-2].attr_list); (yyval.attr_list).add_attributes_from((yyvsp[0].attr_list)); } -#line 4726 "built/tmp/cppBison.yxx.c" +#line 4737 "built/tmp/cppBison.yxx.c" break; case 70: /* attribute_specifier: name */ -#line 1108 "dtool/src/cppparser/cppBison.yxx" +#line 1109 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = CPPAttributeList(); (yyval.attr_list).add_attribute((yyvsp[0].u.identifier)); } -#line 4735 "built/tmp/cppBison.yxx.c" +#line 4746 "built/tmp/cppBison.yxx.c" break; case 71: /* attribute_specifier: name '(' formal_parameter_list ')' */ -#line 1113 "dtool/src/cppparser/cppBison.yxx" +#line 1114 "dtool/src/cppparser/cppBison.yxx" { (yyval.attr_list) = CPPAttributeList(); (yyval.attr_list).add_attribute((yyvsp[-3].u.identifier)); } -#line 4744 "built/tmp/cppBison.yxx.c" +#line 4755 "built/tmp/cppBison.yxx.c" break; case 72: /* $@4: %empty */ -#line 1121 "dtool/src/cppparser/cppBison.yxx" +#line 1122 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // type_like_declaration. @@ -4755,19 +4766,19 @@ yyreduce: } push_storage_class((yyvsp[-1].u.integer)); } -#line 4759 "built/tmp/cppBison.yxx.c" +#line 4770 "built/tmp/cppBison.yxx.c" break; case 73: /* type_like_declaration: storage_class var_type_decl $@4 multiple_instance_identifiers */ -#line 1132 "dtool/src/cppparser/cppBison.yxx" +#line 1133 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } -#line 4767 "built/tmp/cppBison.yxx.c" +#line 4778 "built/tmp/cppBison.yxx.c" break; case 74: /* type_like_declaration: storage_class type_decl ';' */ -#line 1137 "dtool/src/cppparser/cppBison.yxx" +#line 1138 "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 @@ -4776,11 +4787,11 @@ yyreduce: current_scope->add_declaration((yyvsp[-1].u.decl), global_scope, current_lexer, (yylsp[-1])); } -#line 4780 "built/tmp/cppBison.yxx.c" +#line 4791 "built/tmp/cppBison.yxx.c" break; case 75: /* $@5: %empty */ -#line 1146 "dtool/src/cppparser/cppBison.yxx" +#line 1147 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[0].u.instance) != nullptr) { // Push the scope so that the initializers can make use of things defined @@ -4789,11 +4800,11 @@ yyreduce: (yyvsp[0].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-1].u.integer)); } } -#line 4793 "built/tmp/cppBison.yxx.c" +#line 4804 "built/tmp/cppBison.yxx.c" break; case 76: /* type_like_declaration: storage_class constructor_prototype $@5 maybe_initialize_or_constructor_body */ -#line 1155 "dtool/src/cppparser/cppBison.yxx" +#line 1156 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-2].u.instance) != nullptr) { pop_scope(); @@ -4801,11 +4812,11 @@ yyreduce: (yyvsp[-2].u.instance)->set_initializer((yyvsp[0].u.expr)); } } -#line 4805 "built/tmp/cppBison.yxx.c" +#line 4816 "built/tmp/cppBison.yxx.c" break; case 77: /* type_like_declaration: storage_class function_prototype maybe_initialize_or_function_body */ -#line 1163 "dtool/src/cppparser/cppBison.yxx" +#line 1164 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-1].u.instance) != nullptr) { (yyvsp[-1].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-2].u.integer)); @@ -4813,11 +4824,11 @@ yyreduce: (yyvsp[-1].u.instance)->set_initializer((yyvsp[0].u.expr)); } } -#line 4817 "built/tmp/cppBison.yxx.c" +#line 4828 "built/tmp/cppBison.yxx.c" break; case 79: /* multiple_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize_or_function_body */ -#line 1179 "dtool/src/cppparser/cppBison.yxx" +#line 1180 "dtool/src/cppparser/cppBison.yxx" { if (current_storage_class & CPPInstance::SC_const) { (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); @@ -4829,11 +4840,11 @@ yyreduce: inst->set_initializer((yyvsp[0].u.expr)); current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-1])); } -#line 4833 "built/tmp/cppBison.yxx.c" +#line 4844 "built/tmp/cppBison.yxx.c" break; case 80: /* multiple_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize ',' multiple_instance_identifiers */ -#line 1191 "dtool/src/cppparser/cppBison.yxx" +#line 1192 "dtool/src/cppparser/cppBison.yxx" { if (current_storage_class & CPPInstance::SC_const) { (yyvsp[-3].u.inst_ident)->add_modifier(IIT_const); @@ -4845,11 +4856,11 @@ yyreduce: inst->set_initializer((yyvsp[-2].u.expr)); current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-3])); } -#line 4849 "built/tmp/cppBison.yxx.c" +#line 4860 "built/tmp/cppBison.yxx.c" break; case 81: /* $@6: %empty */ -#line 1207 "dtool/src/cppparser/cppBison.yxx" +#line 1208 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -4860,19 +4871,19 @@ yyreduce: } push_storage_class((yyvsp[-1].u.integer)); } -#line 4864 "built/tmp/cppBison.yxx.c" +#line 4875 "built/tmp/cppBison.yxx.c" break; case 82: /* typedef_declaration: storage_class var_type_decl $@6 typedef_instance_identifiers */ -#line 1218 "dtool/src/cppparser/cppBison.yxx" +#line 1219 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } -#line 4872 "built/tmp/cppBison.yxx.c" +#line 4883 "built/tmp/cppBison.yxx.c" break; case 83: /* typedef_declaration: storage_class function_prototype maybe_initialize_or_function_body */ -#line 1222 "dtool/src/cppparser/cppBison.yxx" +#line 1223 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-1].u.instance) != nullptr) { CPPInstance *inst = (yyvsp[-1].u.instance)->as_instance(); @@ -4884,11 +4895,11 @@ yyreduce: } } } -#line 4888 "built/tmp/cppBison.yxx.c" +#line 4899 "built/tmp/cppBison.yxx.c" break; case 84: /* typedef_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize_or_function_body */ -#line 1237 "dtool/src/cppparser/cppBison.yxx" +#line 1238 "dtool/src/cppparser/cppBison.yxx" { if (current_storage_class & CPPInstance::SC_const) { (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const); @@ -4898,11 +4909,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 4902 "built/tmp/cppBison.yxx.c" +#line 4913 "built/tmp/cppBison.yxx.c" break; case 85: /* typedef_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize ',' typedef_instance_identifiers */ -#line 1247 "dtool/src/cppparser/cppBison.yxx" +#line 1248 "dtool/src/cppparser/cppBison.yxx" { if (current_storage_class & CPPInstance::SC_const) { (yyvsp[-3].u.inst_ident)->add_modifier(IIT_const); @@ -4912,11 +4923,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 4916 "built/tmp/cppBison.yxx.c" +#line 4927 "built/tmp/cppBison.yxx.c" break; case 86: /* $@7: %empty */ -#line 1262 "dtool/src/cppparser/cppBison.yxx" +#line 1263 "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), @@ -4929,11 +4940,11 @@ yyreduce: push_scope(scope); } -#line 4933 "built/tmp/cppBison.yxx.c" +#line 4944 "built/tmp/cppBison.yxx.c" break; case 87: /* constructor_prototype: IDENTIFIER '(' $@7 function_parameter_list ')' function_post optional_attributes */ -#line 1275 "dtool/src/cppparser/cppBison.yxx" +#line 1276 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-6].u.identifier)->get_scope(current_scope, global_scope); CPPType *type; @@ -4960,11 +4971,11 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-6]).file); } -#line 4964 "built/tmp/cppBison.yxx.c" +#line 4975 "built/tmp/cppBison.yxx.c" break; case 88: /* $@8: %empty */ -#line 1304 "dtool/src/cppparser/cppBison.yxx" +#line 1305 "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), @@ -4977,11 +4988,11 @@ yyreduce: push_scope(scope); } -#line 4981 "built/tmp/cppBison.yxx.c" +#line 4992 "built/tmp/cppBison.yxx.c" break; case 89: /* constructor_prototype: TYPENAME_IDENTIFIER '(' IDENTIFIER ')' '(' $@8 function_parameter_list ')' function_post optional_attributes */ -#line 1317 "dtool/src/cppparser/cppBison.yxx" +#line 1318 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[-9].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -4996,11 +5007,11 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-9]).file); } -#line 5000 "built/tmp/cppBison.yxx.c" +#line 5011 "built/tmp/cppBison.yxx.c" break; case 90: /* $@9: %empty */ -#line 1332 "dtool/src/cppparser/cppBison.yxx" +#line 1333 "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), @@ -5013,11 +5024,11 @@ yyreduce: push_scope(scope); } -#line 5017 "built/tmp/cppBison.yxx.c" +#line 5028 "built/tmp/cppBison.yxx.c" break; case 91: /* constructor_prototype: TYPENAME_IDENTIFIER '(' $@9 function_parameter_list ')' function_post optional_attributes */ -#line 1345 "dtool/src/cppparser/cppBison.yxx" +#line 1346 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type; @@ -5036,19 +5047,19 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-6]).file); } -#line 5040 "built/tmp/cppBison.yxx.c" +#line 5051 "built/tmp/cppBison.yxx.c" break; case 92: /* $@10: %empty */ -#line 1369 "dtool/src/cppparser/cppBison.yxx" +#line 1370 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope)); } -#line 5048 "built/tmp/cppBison.yxx.c" +#line 5059 "built/tmp/cppBison.yxx.c" break; case 93: /* function_prototype: '~' name '(' $@10 function_parameter_list ')' function_post optional_attributes */ -#line 1373 "dtool/src/cppparser/cppBison.yxx" +#line 1374 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); if ((yyvsp[-6].u.identifier)->is_scoped()) { @@ -5068,19 +5079,19 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-6]).file); } } -#line 5072 "built/tmp/cppBison.yxx.c" +#line 5083 "built/tmp/cppBison.yxx.c" break; case 94: /* $@11: %empty */ -#line 1400 "dtool/src/cppparser/cppBison.yxx" +#line 1401 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope)); } -#line 5080 "built/tmp/cppBison.yxx.c" +#line 5091 "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 1404 "dtool/src/cppparser/cppBison.yxx" +#line 1405 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[-11].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -5095,19 +5106,19 @@ yyreduce: ii->add_attributes(current_attributes); (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-11]).file); } -#line 5099 "built/tmp/cppBison.yxx.c" +#line 5110 "built/tmp/cppBison.yxx.c" break; case 96: /* $@12: %empty */ -#line 1419 "dtool/src/cppparser/cppBison.yxx" +#line 1420 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope)); } -#line 5107 "built/tmp/cppBison.yxx.c" +#line 5118 "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 1423 "dtool/src/cppparser/cppBison.yxx" +#line 1424 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[-12].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -5122,21 +5133,21 @@ yyreduce: ii->add_attributes(current_attributes); (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-12]).file); } -#line 5126 "built/tmp/cppBison.yxx.c" +#line 5137 "built/tmp/cppBison.yxx.c" break; case 98: /* $@13: %empty */ -#line 1440 "dtool/src/cppparser/cppBison.yxx" +#line 1441 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-3].u.identifier) != nullptr) { push_scope((yyvsp[-3].u.identifier)->get_scope(current_scope, global_scope)); } } -#line 5136 "built/tmp/cppBison.yxx.c" +#line 5147 "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 1446 "dtool/src/cppparser/cppBison.yxx" +#line 1447 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-7].u.identifier) != nullptr) { pop_scope(); @@ -5162,21 +5173,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 5166 "built/tmp/cppBison.yxx.c" +#line 5177 "built/tmp/cppBison.yxx.c" break; case 100: /* $@14: %empty */ -#line 1472 "dtool/src/cppparser/cppBison.yxx" +#line 1473 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-4].u.identifier) != nullptr) { push_scope((yyvsp[-4].u.identifier)->get_scope(current_scope, global_scope)); } } -#line 5176 "built/tmp/cppBison.yxx.c" +#line 5187 "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 1478 "dtool/src/cppparser/cppBison.yxx" +#line 1479 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[-8].u.identifier) != nullptr) { pop_scope(); @@ -5193,11 +5204,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 5197 "built/tmp/cppBison.yxx.c" +#line 5208 "built/tmp/cppBison.yxx.c" break; case 102: /* function_prototype: IDENTIFIER */ -#line 1499 "dtool/src/cppparser/cppBison.yxx" +#line 1500 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *decl = (yyvsp[0].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -5207,43 +5218,43 @@ yyreduce: (yyval.u.instance) = nullptr; } } -#line 5211 "built/tmp/cppBison.yxx.c" +#line 5222 "built/tmp/cppBison.yxx.c" break; case 103: /* function_post: empty */ -#line 1512 "dtool/src/cppparser/cppBison.yxx" +#line 1513 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = 0; } -#line 5219 "built/tmp/cppBison.yxx.c" +#line 5230 "built/tmp/cppBison.yxx.c" break; case 104: /* function_post: function_post KW_CONST */ -#line 1516 "dtool/src/cppparser/cppBison.yxx" +#line 1517 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_const_method; } -#line 5227 "built/tmp/cppBison.yxx.c" +#line 5238 "built/tmp/cppBison.yxx.c" break; case 105: /* function_post: function_post KW_VOLATILE */ -#line 1520 "dtool/src/cppparser/cppBison.yxx" +#line 1521 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_volatile_method; } -#line 5235 "built/tmp/cppBison.yxx.c" +#line 5246 "built/tmp/cppBison.yxx.c" break; case 106: /* function_post: function_post KW_NOEXCEPT */ -#line 1524 "dtool/src/cppparser/cppBison.yxx" +#line 1525 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_noexcept; } -#line 5243 "built/tmp/cppBison.yxx.c" +#line 5254 "built/tmp/cppBison.yxx.c" break; case 107: /* function_post: function_post KW_NOEXCEPT_LPAREN const_expr ')' */ -#line 1528 "dtool/src/cppparser/cppBison.yxx" +#line 1529 "dtool/src/cppparser/cppBison.yxx" { CPPExpression::Result result = (yyvsp[-1].u.expr)->evaluate(); if (result._type == CPPExpression::RT_error) { @@ -5252,542 +5263,542 @@ yyreduce: (yyval.u.integer) = (yyvsp[-3].u.integer) | (int)CPPFunctionType::F_noexcept; } } -#line 5256 "built/tmp/cppBison.yxx.c" +#line 5267 "built/tmp/cppBison.yxx.c" break; case 108: /* function_post: function_post KW_FINAL */ -#line 1537 "dtool/src/cppparser/cppBison.yxx" +#line 1538 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_final; } -#line 5264 "built/tmp/cppBison.yxx.c" +#line 5275 "built/tmp/cppBison.yxx.c" break; case 109: /* function_post: function_post KW_OVERRIDE */ -#line 1541 "dtool/src/cppparser/cppBison.yxx" +#line 1542 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_override; } -#line 5272 "built/tmp/cppBison.yxx.c" +#line 5283 "built/tmp/cppBison.yxx.c" break; case 110: /* function_post: function_post '&' */ -#line 1545 "dtool/src/cppparser/cppBison.yxx" +#line 1546 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_lvalue_method; } -#line 5280 "built/tmp/cppBison.yxx.c" +#line 5291 "built/tmp/cppBison.yxx.c" break; case 111: /* function_post: function_post ANDAND */ -#line 1549 "dtool/src/cppparser/cppBison.yxx" +#line 1550 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_rvalue_method; } -#line 5288 "built/tmp/cppBison.yxx.c" +#line 5299 "built/tmp/cppBison.yxx.c" break; case 112: /* function_post: function_post KW_MUTABLE */ -#line 1553 "dtool/src/cppparser/cppBison.yxx" +#line 1554 "dtool/src/cppparser/cppBison.yxx" { // Used for lambdas, currently ignored. (yyval.u.integer) = (yyvsp[-1].u.integer); } -#line 5297 "built/tmp/cppBison.yxx.c" +#line 5308 "built/tmp/cppBison.yxx.c" break; case 113: /* function_post: function_post KW_CONSTEXPR */ -#line 1558 "dtool/src/cppparser/cppBison.yxx" +#line 1559 "dtool/src/cppparser/cppBison.yxx" { // Used for lambdas in C++17, currently ignored. (yyval.u.integer) = (yyvsp[-1].u.integer); } -#line 5306 "built/tmp/cppBison.yxx.c" +#line 5317 "built/tmp/cppBison.yxx.c" break; case 114: /* function_post: function_post KW_THROW '(' ')' */ -#line 1563 "dtool/src/cppparser/cppBison.yxx" +#line 1564 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-3].u.integer); } -#line 5314 "built/tmp/cppBison.yxx.c" +#line 5325 "built/tmp/cppBison.yxx.c" break; case 115: /* function_post: function_post KW_THROW '(' name ')' */ -#line 1567 "dtool/src/cppparser/cppBison.yxx" +#line 1568 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-4].u.integer); } -#line 5322 "built/tmp/cppBison.yxx.c" +#line 5333 "built/tmp/cppBison.yxx.c" break; case 116: /* function_post: function_post KW_THROW '(' name ELLIPSIS ')' */ -#line 1571 "dtool/src/cppparser/cppBison.yxx" +#line 1572 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[-5].u.integer); } -#line 5330 "built/tmp/cppBison.yxx.c" +#line 5341 "built/tmp/cppBison.yxx.c" break; case 117: /* function_operator: '!' */ -#line 1578 "dtool/src/cppparser/cppBison.yxx" +#line 1579 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "!"; } -#line 5338 "built/tmp/cppBison.yxx.c" +#line 5349 "built/tmp/cppBison.yxx.c" break; case 118: /* function_operator: '~' */ -#line 1582 "dtool/src/cppparser/cppBison.yxx" +#line 1583 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "~"; } -#line 5346 "built/tmp/cppBison.yxx.c" +#line 5357 "built/tmp/cppBison.yxx.c" break; case 119: /* function_operator: '*' */ -#line 1586 "dtool/src/cppparser/cppBison.yxx" +#line 1587 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "*"; } -#line 5354 "built/tmp/cppBison.yxx.c" +#line 5365 "built/tmp/cppBison.yxx.c" break; case 120: /* function_operator: '/' */ -#line 1590 "dtool/src/cppparser/cppBison.yxx" +#line 1591 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "/"; } -#line 5362 "built/tmp/cppBison.yxx.c" +#line 5373 "built/tmp/cppBison.yxx.c" break; case 121: /* function_operator: '%' */ -#line 1594 "dtool/src/cppparser/cppBison.yxx" +#line 1595 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "%"; } -#line 5370 "built/tmp/cppBison.yxx.c" +#line 5381 "built/tmp/cppBison.yxx.c" break; case 122: /* function_operator: '+' */ -#line 1598 "dtool/src/cppparser/cppBison.yxx" +#line 1599 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "+"; } -#line 5378 "built/tmp/cppBison.yxx.c" +#line 5389 "built/tmp/cppBison.yxx.c" break; case 123: /* function_operator: '-' */ -#line 1602 "dtool/src/cppparser/cppBison.yxx" +#line 1603 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "-"; } -#line 5386 "built/tmp/cppBison.yxx.c" +#line 5397 "built/tmp/cppBison.yxx.c" break; case 124: /* function_operator: '|' */ -#line 1606 "dtool/src/cppparser/cppBison.yxx" +#line 1607 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "|"; } -#line 5394 "built/tmp/cppBison.yxx.c" +#line 5405 "built/tmp/cppBison.yxx.c" break; case 125: /* function_operator: '&' */ -#line 1610 "dtool/src/cppparser/cppBison.yxx" +#line 1611 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&"; } -#line 5402 "built/tmp/cppBison.yxx.c" +#line 5413 "built/tmp/cppBison.yxx.c" break; case 126: /* function_operator: '^' */ -#line 1614 "dtool/src/cppparser/cppBison.yxx" +#line 1615 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "^"; } -#line 5410 "built/tmp/cppBison.yxx.c" +#line 5421 "built/tmp/cppBison.yxx.c" break; case 127: /* function_operator: OROR */ -#line 1618 "dtool/src/cppparser/cppBison.yxx" +#line 1619 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "||"; } -#line 5418 "built/tmp/cppBison.yxx.c" +#line 5429 "built/tmp/cppBison.yxx.c" break; case 128: /* function_operator: ANDAND */ -#line 1622 "dtool/src/cppparser/cppBison.yxx" +#line 1623 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&&"; } -#line 5426 "built/tmp/cppBison.yxx.c" +#line 5437 "built/tmp/cppBison.yxx.c" break; case 129: /* function_operator: EQCOMPARE */ -#line 1626 "dtool/src/cppparser/cppBison.yxx" +#line 1627 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "=="; } -#line 5434 "built/tmp/cppBison.yxx.c" +#line 5445 "built/tmp/cppBison.yxx.c" break; case 130: /* function_operator: NECOMPARE */ -#line 1630 "dtool/src/cppparser/cppBison.yxx" +#line 1631 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "!="; } -#line 5442 "built/tmp/cppBison.yxx.c" +#line 5453 "built/tmp/cppBison.yxx.c" break; case 131: /* function_operator: LECOMPARE */ -#line 1634 "dtool/src/cppparser/cppBison.yxx" +#line 1635 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<="; } -#line 5450 "built/tmp/cppBison.yxx.c" +#line 5461 "built/tmp/cppBison.yxx.c" break; case 132: /* function_operator: GECOMPARE */ -#line 1638 "dtool/src/cppparser/cppBison.yxx" +#line 1639 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">="; } -#line 5458 "built/tmp/cppBison.yxx.c" +#line 5469 "built/tmp/cppBison.yxx.c" break; case 133: /* function_operator: '<' */ -#line 1642 "dtool/src/cppparser/cppBison.yxx" +#line 1643 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<"; } -#line 5466 "built/tmp/cppBison.yxx.c" +#line 5477 "built/tmp/cppBison.yxx.c" break; case 134: /* function_operator: '>' */ -#line 1646 "dtool/src/cppparser/cppBison.yxx" +#line 1647 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">"; } -#line 5474 "built/tmp/cppBison.yxx.c" +#line 5485 "built/tmp/cppBison.yxx.c" break; case 135: /* function_operator: SPACESHIP */ -#line 1650 "dtool/src/cppparser/cppBison.yxx" +#line 1651 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<=>"; } -#line 5482 "built/tmp/cppBison.yxx.c" +#line 5493 "built/tmp/cppBison.yxx.c" break; case 136: /* function_operator: LSHIFT */ -#line 1654 "dtool/src/cppparser/cppBison.yxx" +#line 1655 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<<"; } -#line 5490 "built/tmp/cppBison.yxx.c" +#line 5501 "built/tmp/cppBison.yxx.c" break; case 137: /* function_operator: RSHIFT */ -#line 1658 "dtool/src/cppparser/cppBison.yxx" +#line 1659 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">>"; } -#line 5498 "built/tmp/cppBison.yxx.c" +#line 5509 "built/tmp/cppBison.yxx.c" break; case 138: /* function_operator: '=' */ -#line 1662 "dtool/src/cppparser/cppBison.yxx" +#line 1663 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "="; } -#line 5506 "built/tmp/cppBison.yxx.c" +#line 5517 "built/tmp/cppBison.yxx.c" break; case 139: /* function_operator: ',' */ -#line 1666 "dtool/src/cppparser/cppBison.yxx" +#line 1667 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ","; } -#line 5514 "built/tmp/cppBison.yxx.c" +#line 5525 "built/tmp/cppBison.yxx.c" break; case 140: /* function_operator: PLUSPLUS */ -#line 1670 "dtool/src/cppparser/cppBison.yxx" +#line 1671 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "++"; } -#line 5522 "built/tmp/cppBison.yxx.c" +#line 5533 "built/tmp/cppBison.yxx.c" break; case 141: /* function_operator: MINUSMINUS */ -#line 1674 "dtool/src/cppparser/cppBison.yxx" +#line 1675 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "--"; } -#line 5530 "built/tmp/cppBison.yxx.c" +#line 5541 "built/tmp/cppBison.yxx.c" break; case 142: /* function_operator: TIMESEQUAL */ -#line 1678 "dtool/src/cppparser/cppBison.yxx" +#line 1679 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "*="; } -#line 5538 "built/tmp/cppBison.yxx.c" +#line 5549 "built/tmp/cppBison.yxx.c" break; case 143: /* function_operator: DIVIDEEQUAL */ -#line 1682 "dtool/src/cppparser/cppBison.yxx" +#line 1683 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "/="; } -#line 5546 "built/tmp/cppBison.yxx.c" +#line 5557 "built/tmp/cppBison.yxx.c" break; case 144: /* function_operator: MODEQUAL */ -#line 1686 "dtool/src/cppparser/cppBison.yxx" +#line 1687 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "%="; } -#line 5554 "built/tmp/cppBison.yxx.c" +#line 5565 "built/tmp/cppBison.yxx.c" break; case 145: /* function_operator: PLUSEQUAL */ -#line 1690 "dtool/src/cppparser/cppBison.yxx" +#line 1691 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "+="; } -#line 5562 "built/tmp/cppBison.yxx.c" +#line 5573 "built/tmp/cppBison.yxx.c" break; case 146: /* function_operator: MINUSEQUAL */ -#line 1694 "dtool/src/cppparser/cppBison.yxx" +#line 1695 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "-="; } -#line 5570 "built/tmp/cppBison.yxx.c" +#line 5581 "built/tmp/cppBison.yxx.c" break; case 147: /* function_operator: OREQUAL */ -#line 1698 "dtool/src/cppparser/cppBison.yxx" +#line 1699 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "|="; } -#line 5578 "built/tmp/cppBison.yxx.c" +#line 5589 "built/tmp/cppBison.yxx.c" break; case 148: /* function_operator: ANDEQUAL */ -#line 1702 "dtool/src/cppparser/cppBison.yxx" +#line 1703 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&="; } -#line 5586 "built/tmp/cppBison.yxx.c" +#line 5597 "built/tmp/cppBison.yxx.c" break; case 149: /* function_operator: XOREQUAL */ -#line 1706 "dtool/src/cppparser/cppBison.yxx" +#line 1707 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "^="; } -#line 5594 "built/tmp/cppBison.yxx.c" +#line 5605 "built/tmp/cppBison.yxx.c" break; case 150: /* function_operator: LSHIFTEQUAL */ -#line 1710 "dtool/src/cppparser/cppBison.yxx" +#line 1711 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<<="; } -#line 5602 "built/tmp/cppBison.yxx.c" +#line 5613 "built/tmp/cppBison.yxx.c" break; case 151: /* function_operator: RSHIFTEQUAL */ -#line 1714 "dtool/src/cppparser/cppBison.yxx" +#line 1715 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">>="; } -#line 5610 "built/tmp/cppBison.yxx.c" +#line 5621 "built/tmp/cppBison.yxx.c" break; case 152: /* function_operator: POINTSAT */ -#line 1718 "dtool/src/cppparser/cppBison.yxx" +#line 1719 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "->"; } -#line 5618 "built/tmp/cppBison.yxx.c" +#line 5629 "built/tmp/cppBison.yxx.c" break; case 153: /* function_operator: '[' ']' */ -#line 1722 "dtool/src/cppparser/cppBison.yxx" +#line 1723 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "[]"; } -#line 5626 "built/tmp/cppBison.yxx.c" +#line 5637 "built/tmp/cppBison.yxx.c" break; case 154: /* function_operator: '(' ')' */ -#line 1726 "dtool/src/cppparser/cppBison.yxx" +#line 1727 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "()"; } -#line 5634 "built/tmp/cppBison.yxx.c" +#line 5645 "built/tmp/cppBison.yxx.c" break; case 155: /* function_operator: KW_NEW */ -#line 1730 "dtool/src/cppparser/cppBison.yxx" +#line 1731 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "new"; } -#line 5642 "built/tmp/cppBison.yxx.c" +#line 5653 "built/tmp/cppBison.yxx.c" break; case 156: /* function_operator: KW_DELETE */ -#line 1734 "dtool/src/cppparser/cppBison.yxx" +#line 1735 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "delete"; } -#line 5650 "built/tmp/cppBison.yxx.c" +#line 5661 "built/tmp/cppBison.yxx.c" break; case 161: /* $@15: %empty */ -#line 1748 "dtool/src/cppparser/cppBison.yxx" +#line 1749 "dtool/src/cppparser/cppBison.yxx" { push_scope(new CPPTemplateScope(current_scope)); } -#line 5658 "built/tmp/cppBison.yxx.c" +#line 5669 "built/tmp/cppBison.yxx.c" break; case 162: /* template_declaration: KW_TEMPLATE $@15 '<' template_formal_parameters '>' more_template_declaration */ -#line 1752 "dtool/src/cppparser/cppBison.yxx" +#line 1753 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 5666 "built/tmp/cppBison.yxx.c" +#line 5677 "built/tmp/cppBison.yxx.c" break; case 167: /* template_nonempty_formal_parameters: template_formal_parameter */ -#line 1766 "dtool/src/cppparser/cppBison.yxx" +#line 1767 "dtool/src/cppparser/cppBison.yxx" { CPPTemplateScope *ts = current_scope->as_template_scope(); assert(ts != nullptr); ts->add_template_parameter((yyvsp[0].u.decl)); } -#line 5676 "built/tmp/cppBison.yxx.c" +#line 5687 "built/tmp/cppBison.yxx.c" break; case 168: /* template_nonempty_formal_parameters: template_nonempty_formal_parameters ',' template_formal_parameter */ -#line 1772 "dtool/src/cppparser/cppBison.yxx" +#line 1773 "dtool/src/cppparser/cppBison.yxx" { CPPTemplateScope *ts = current_scope->as_template_scope(); assert(ts != nullptr); ts->add_template_parameter((yyvsp[0].u.decl)); } -#line 5686 "built/tmp/cppBison.yxx.c" +#line 5697 "built/tmp/cppBison.yxx.c" break; case 171: /* template_formal_parameter: typename_keyword */ -#line 1786 "dtool/src/cppparser/cppBison.yxx" +#line 1787 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter(nullptr)); } -#line 5694 "built/tmp/cppBison.yxx.c" +#line 5705 "built/tmp/cppBison.yxx.c" break; case 172: /* template_formal_parameter: typename_keyword name */ -#line 1790 "dtool/src/cppparser/cppBison.yxx" +#line 1791 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[0].u.identifier))); } -#line 5702 "built/tmp/cppBison.yxx.c" +#line 5713 "built/tmp/cppBison.yxx.c" break; case 173: /* template_formal_parameter: typename_keyword name '=' full_type */ -#line 1794 "dtool/src/cppparser/cppBison.yxx" +#line 1795 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[-2].u.identifier), (yyvsp[0].u.type))); } -#line 5710 "built/tmp/cppBison.yxx.c" +#line 5721 "built/tmp/cppBison.yxx.c" break; case 174: /* template_formal_parameter: typename_keyword ELLIPSIS */ -#line 1798 "dtool/src/cppparser/cppBison.yxx" +#line 1799 "dtool/src/cppparser/cppBison.yxx" { CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter(nullptr); ctp->_packed = true; (yyval.u.decl) = CPPType::new_type(ctp); } -#line 5720 "built/tmp/cppBison.yxx.c" +#line 5731 "built/tmp/cppBison.yxx.c" break; case 175: /* template_formal_parameter: typename_keyword ELLIPSIS name */ -#line 1804 "dtool/src/cppparser/cppBison.yxx" +#line 1805 "dtool/src/cppparser/cppBison.yxx" { CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter((yyvsp[0].u.identifier)); ctp->_packed = true; (yyval.u.decl) = CPPType::new_type(ctp); } -#line 5730 "built/tmp/cppBison.yxx.c" +#line 5741 "built/tmp/cppBison.yxx.c" break; case 176: /* template_formal_parameter: template_formal_parameter_type formal_parameter_identifier template_parameter_maybe_initialize */ -#line 1810 "dtool/src/cppparser/cppBison.yxx" +#line 1811 "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 5740 "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 1816 "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 5751 "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" +{ + (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 5762 "built/tmp/cppBison.yxx.c" + break; + case 178: /* template_formal_parameter: template_formal_parameter_type parameter_pack_identifier */ -#line 1823 "dtool/src/cppparser/cppBison.yxx" +#line 1824 "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 5760 "built/tmp/cppBison.yxx.c" +#line 5771 "built/tmp/cppBison.yxx.c" break; case 179: /* template_formal_parameter: KW_CONST template_formal_parameter_type parameter_pack_identifier */ -#line 1828 "dtool/src/cppparser/cppBison.yxx" +#line 1829 "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 5770 "built/tmp/cppBison.yxx.c" +#line 5781 "built/tmp/cppBison.yxx.c" break; case 180: /* template_formal_parameter_type: simple_type */ -#line 1837 "dtool/src/cppparser/cppBison.yxx" +#line 1838 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 5778 "built/tmp/cppBison.yxx.c" +#line 5789 "built/tmp/cppBison.yxx.c" break; case 181: /* template_formal_parameter_type: IDENTIFIER */ -#line 1841 "dtool/src/cppparser/cppBison.yxx" +#line 1842 "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 5787 "built/tmp/cppBison.yxx.c" +#line 5798 "built/tmp/cppBison.yxx.c" break; case 182: /* template_formal_parameter_type: TYPENAME_IDENTIFIER */ -#line 1846 "dtool/src/cppparser/cppBison.yxx" +#line 1847 "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) { @@ -5795,11 +5806,11 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 5799 "built/tmp/cppBison.yxx.c" +#line 5810 "built/tmp/cppBison.yxx.c" break; case 183: /* template_formal_parameter_type: TYPEPACK_IDENTIFIER */ -#line 1854 "dtool/src/cppparser/cppBison.yxx" +#line 1855 "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) { @@ -5807,19 +5818,19 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 5811 "built/tmp/cppBison.yxx.c" +#line 5822 "built/tmp/cppBison.yxx.c" break; case 184: /* instance_identifier: name_no_final optional_attributes */ -#line 1866 "dtool/src/cppparser/cppBison.yxx" +#line 1867 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); } -#line 5819 "built/tmp/cppBison.yxx.c" +#line 5830 "built/tmp/cppBison.yxx.c" break; case 185: /* instance_identifier: KW_OPERATOR function_operator optional_attributes */ -#line 1870 "dtool/src/cppparser/cppBison.yxx" +#line 1871 "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 @@ -5833,11 +5844,11 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident, (yyvsp[0].attr_list)); } -#line 5837 "built/tmp/cppBison.yxx.c" +#line 5848 "built/tmp/cppBison.yxx.c" break; case 186: /* instance_identifier: KW_OPERATOR SIMPLE_STRING IDENTIFIER optional_attributes */ -#line 1884 "dtool/src/cppparser/cppBison.yxx" +#line 1885 "dtool/src/cppparser/cppBison.yxx" { // A C++11 literal operator. if (!(yyvsp[-2].str).empty()) { @@ -5852,83 +5863,83 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident, (yyvsp[0].attr_list)); } -#line 5856 "built/tmp/cppBison.yxx.c" +#line 5867 "built/tmp/cppBison.yxx.c" break; case 187: /* instance_identifier: KW_CONST instance_identifier */ -#line 1899 "dtool/src/cppparser/cppBison.yxx" +#line 1900 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 5865 "built/tmp/cppBison.yxx.c" +#line 5876 "built/tmp/cppBison.yxx.c" break; case 188: /* instance_identifier: KW_VOLATILE instance_identifier */ -#line 1904 "dtool/src/cppparser/cppBison.yxx" +#line 1905 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 5874 "built/tmp/cppBison.yxx.c" +#line 5885 "built/tmp/cppBison.yxx.c" break; case 189: /* instance_identifier: '*' optional_attributes instance_identifier */ -#line 1909 "dtool/src/cppparser/cppBison.yxx" +#line 1910 "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 5883 "built/tmp/cppBison.yxx.c" +#line 5894 "built/tmp/cppBison.yxx.c" break; case 190: /* instance_identifier: '&' optional_attributes instance_identifier */ -#line 1914 "dtool/src/cppparser/cppBison.yxx" +#line 1915 "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 5892 "built/tmp/cppBison.yxx.c" +#line 5903 "built/tmp/cppBison.yxx.c" break; case 191: /* instance_identifier: ANDAND optional_attributes instance_identifier */ -#line 1919 "dtool/src/cppparser/cppBison.yxx" +#line 1920 "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 5901 "built/tmp/cppBison.yxx.c" +#line 5912 "built/tmp/cppBison.yxx.c" break; case 192: /* instance_identifier: SCOPING '*' optional_attributes instance_identifier */ -#line 1924 "dtool/src/cppparser/cppBison.yxx" +#line 1925 "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 5910 "built/tmp/cppBison.yxx.c" +#line 5921 "built/tmp/cppBison.yxx.c" break; case 193: /* instance_identifier: instance_identifier '[' optional_const_expr ']' optional_attributes */ -#line 1929 "dtool/src/cppparser/cppBison.yxx" +#line 1930 "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 5919 "built/tmp/cppBison.yxx.c" +#line 5930 "built/tmp/cppBison.yxx.c" break; case 194: /* instance_identifier: '(' instance_identifier ')' */ -#line 1934 "dtool/src/cppparser/cppBison.yxx" +#line 1935 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 5928 "built/tmp/cppBison.yxx.c" +#line 5939 "built/tmp/cppBison.yxx.c" break; case 195: /* $@16: %empty */ -#line 1939 "dtool/src/cppparser/cppBison.yxx" +#line 1940 "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), @@ -5941,11 +5952,11 @@ yyreduce: push_scope(scope); } -#line 5945 "built/tmp/cppBison.yxx.c" +#line 5956 "built/tmp/cppBison.yxx.c" break; case 196: /* instance_identifier: instance_identifier '(' $@16 formal_parameter_list ')' function_post optional_attributes */ -#line 1952 "dtool/src/cppparser/cppBison.yxx" +#line 1953 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident); @@ -5959,11 +5970,11 @@ yyreduce: (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), nullptr, (yyvsp[0].attr_list)); } } -#line 5963 "built/tmp/cppBison.yxx.c" +#line 5974 "built/tmp/cppBison.yxx.c" break; case 197: /* instance_identifier_and_maybe_trailing_return_type: instance_identifier maybe_trailing_return_type */ -#line 1970 "dtool/src/cppparser/cppBison.yxx" +#line 1971 "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 @@ -5973,909 +5984,909 @@ yyreduce: } (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); } -#line 5977 "built/tmp/cppBison.yxx.c" +#line 5988 "built/tmp/cppBison.yxx.c" break; case 198: /* instance_identifier_and_maybe_trailing_return_type: instance_identifier ':' const_expr */ -#line 1980 "dtool/src/cppparser/cppBison.yxx" +#line 1981 "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 5987 "built/tmp/cppBison.yxx.c" +#line 5998 "built/tmp/cppBison.yxx.c" break; case 199: /* maybe_trailing_return_type: empty */ -#line 1990 "dtool/src/cppparser/cppBison.yxx" +#line 1991 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = nullptr; } -#line 5995 "built/tmp/cppBison.yxx.c" +#line 6006 "built/tmp/cppBison.yxx.c" break; case 200: /* maybe_trailing_return_type: POINTSAT predefined_type empty_instance_identifier */ -#line 1994 "dtool/src/cppparser/cppBison.yxx" +#line 1995 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 6003 "built/tmp/cppBison.yxx.c" +#line 6014 "built/tmp/cppBison.yxx.c" break; case 201: /* maybe_trailing_return_type: POINTSAT KW_CONST predefined_type empty_instance_identifier */ -#line 1998 "dtool/src/cppparser/cppBison.yxx" +#line 1999 "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 6012 "built/tmp/cppBison.yxx.c" +#line 6023 "built/tmp/cppBison.yxx.c" break; case 202: /* maybe_comma_identifier: empty */ -#line 2007 "dtool/src/cppparser/cppBison.yxx" +#line 2008 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = nullptr; } -#line 6020 "built/tmp/cppBison.yxx.c" +#line 6031 "built/tmp/cppBison.yxx.c" break; case 203: /* maybe_comma_identifier: ',' IDENTIFIER */ -#line 2011 "dtool/src/cppparser/cppBison.yxx" +#line 2012 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 6028 "built/tmp/cppBison.yxx.c" +#line 6039 "built/tmp/cppBison.yxx.c" break; case 204: /* function_parameter_list: empty */ -#line 2019 "dtool/src/cppparser/cppBison.yxx" +#line 2020 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; } -#line 6036 "built/tmp/cppBison.yxx.c" +#line 6047 "built/tmp/cppBison.yxx.c" break; case 205: /* function_parameter_list: ELLIPSIS */ -#line 2023 "dtool/src/cppparser/cppBison.yxx" +#line 2024 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6045 "built/tmp/cppBison.yxx.c" +#line 6056 "built/tmp/cppBison.yxx.c" break; case 206: /* function_parameter_list: function_parameters */ -#line 2028 "dtool/src/cppparser/cppBison.yxx" +#line 2029 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[0].u.param_list); } -#line 6053 "built/tmp/cppBison.yxx.c" +#line 6064 "built/tmp/cppBison.yxx.c" break; case 207: /* function_parameter_list: function_parameters ',' ELLIPSIS */ -#line 2032 "dtool/src/cppparser/cppBison.yxx" +#line 2033 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6062 "built/tmp/cppBison.yxx.c" +#line 6073 "built/tmp/cppBison.yxx.c" break; case 208: /* function_parameter_list: function_parameters ELLIPSIS */ -#line 2037 "dtool/src/cppparser/cppBison.yxx" +#line 2038 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[-1].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6071 "built/tmp/cppBison.yxx.c" +#line 6082 "built/tmp/cppBison.yxx.c" break; case 209: /* function_parameters: function_parameter */ -#line 2045 "dtool/src/cppparser/cppBison.yxx" +#line 2046 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6080 "built/tmp/cppBison.yxx.c" +#line 6091 "built/tmp/cppBison.yxx.c" break; case 210: /* function_parameters: function_parameters ',' function_parameter */ -#line 2050 "dtool/src/cppparser/cppBison.yxx" +#line 2051 "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 6089 "built/tmp/cppBison.yxx.c" +#line 6100 "built/tmp/cppBison.yxx.c" break; case 211: /* formal_parameter_list: empty */ -#line 2058 "dtool/src/cppparser/cppBison.yxx" +#line 2059 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; } -#line 6097 "built/tmp/cppBison.yxx.c" +#line 6108 "built/tmp/cppBison.yxx.c" break; case 212: /* formal_parameter_list: ELLIPSIS */ -#line 2062 "dtool/src/cppparser/cppBison.yxx" +#line 2063 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6106 "built/tmp/cppBison.yxx.c" +#line 6117 "built/tmp/cppBison.yxx.c" break; case 213: /* formal_parameter_list: formal_parameters */ -#line 2067 "dtool/src/cppparser/cppBison.yxx" +#line 2068 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[0].u.param_list); } -#line 6114 "built/tmp/cppBison.yxx.c" +#line 6125 "built/tmp/cppBison.yxx.c" break; case 214: /* formal_parameter_list: formal_parameters ',' ELLIPSIS */ -#line 2071 "dtool/src/cppparser/cppBison.yxx" +#line 2072 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6123 "built/tmp/cppBison.yxx.c" +#line 6134 "built/tmp/cppBison.yxx.c" break; case 215: /* formal_parameter_list: formal_parameters ELLIPSIS */ -#line 2076 "dtool/src/cppparser/cppBison.yxx" +#line 2077 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[-1].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6132 "built/tmp/cppBison.yxx.c" +#line 6143 "built/tmp/cppBison.yxx.c" break; case 216: /* formal_parameters: formal_parameter */ -#line 2084 "dtool/src/cppparser/cppBison.yxx" +#line 2085 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6141 "built/tmp/cppBison.yxx.c" +#line 6152 "built/tmp/cppBison.yxx.c" break; case 217: /* formal_parameters: formal_parameters ',' formal_parameter */ -#line 2089 "dtool/src/cppparser/cppBison.yxx" +#line 2090 "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 6150 "built/tmp/cppBison.yxx.c" +#line 6161 "built/tmp/cppBison.yxx.c" break; case 218: /* template_parameter_maybe_initialize: empty */ -#line 2097 "dtool/src/cppparser/cppBison.yxx" +#line 2098 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 6158 "built/tmp/cppBison.yxx.c" +#line 6169 "built/tmp/cppBison.yxx.c" break; case 219: /* template_parameter_maybe_initialize: '=' no_angle_bracket_const_expr */ -#line 2101 "dtool/src/cppparser/cppBison.yxx" +#line 2102 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 6166 "built/tmp/cppBison.yxx.c" +#line 6177 "built/tmp/cppBison.yxx.c" break; case 220: /* maybe_initialize: empty */ -#line 2108 "dtool/src/cppparser/cppBison.yxx" +#line 2109 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 6174 "built/tmp/cppBison.yxx.c" +#line 6185 "built/tmp/cppBison.yxx.c" break; case 221: /* maybe_initialize: '=' const_expr */ -#line 2112 "dtool/src/cppparser/cppBison.yxx" +#line 2113 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 6182 "built/tmp/cppBison.yxx.c" +#line 6193 "built/tmp/cppBison.yxx.c" break; case 222: /* maybe_initialize_or_constructor_body: ';' */ -#line 2119 "dtool/src/cppparser/cppBison.yxx" +#line 2120 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 6190 "built/tmp/cppBison.yxx.c" +#line 6201 "built/tmp/cppBison.yxx.c" break; case 223: /* maybe_initialize_or_constructor_body: '{' code '}' */ -#line 2123 "dtool/src/cppparser/cppBison.yxx" +#line 2124 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 6198 "built/tmp/cppBison.yxx.c" +#line 6209 "built/tmp/cppBison.yxx.c" break; case 224: /* maybe_initialize_or_constructor_body: ':' constructor_inits '{' code '}' */ -#line 2127 "dtool/src/cppparser/cppBison.yxx" +#line 2128 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 6206 "built/tmp/cppBison.yxx.c" +#line 6217 "built/tmp/cppBison.yxx.c" break; case 225: /* maybe_initialize_or_constructor_body: '=' KW_DEFAULT ';' */ -#line 2131 "dtool/src/cppparser/cppBison.yxx" +#line 2132 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); } -#line 6214 "built/tmp/cppBison.yxx.c" +#line 6225 "built/tmp/cppBison.yxx.c" break; case 226: /* maybe_initialize_or_constructor_body: '=' KW_DELETE ';' */ -#line 2135 "dtool/src/cppparser/cppBison.yxx" +#line 2136 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); } -#line 6222 "built/tmp/cppBison.yxx.c" +#line 6233 "built/tmp/cppBison.yxx.c" break; case 227: /* maybe_initialize_or_function_body: ';' */ -#line 2142 "dtool/src/cppparser/cppBison.yxx" +#line 2143 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 6230 "built/tmp/cppBison.yxx.c" +#line 6241 "built/tmp/cppBison.yxx.c" break; case 228: /* maybe_initialize_or_function_body: '{' code '}' */ -#line 2146 "dtool/src/cppparser/cppBison.yxx" +#line 2147 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 6238 "built/tmp/cppBison.yxx.c" +#line 6249 "built/tmp/cppBison.yxx.c" break; case 229: /* maybe_initialize_or_function_body: '=' const_expr ';' */ -#line 2150 "dtool/src/cppparser/cppBison.yxx" +#line 2151 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 6246 "built/tmp/cppBison.yxx.c" +#line 6257 "built/tmp/cppBison.yxx.c" break; case 230: /* maybe_initialize_or_function_body: '=' KW_DEFAULT ';' */ -#line 2154 "dtool/src/cppparser/cppBison.yxx" +#line 2155 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); } -#line 6254 "built/tmp/cppBison.yxx.c" +#line 6265 "built/tmp/cppBison.yxx.c" break; case 231: /* maybe_initialize_or_function_body: '=' KW_DELETE ';' */ -#line 2158 "dtool/src/cppparser/cppBison.yxx" +#line 2159 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); } -#line 6262 "built/tmp/cppBison.yxx.c" +#line 6273 "built/tmp/cppBison.yxx.c" break; case 232: /* maybe_initialize_or_function_body: '=' '{' structure_init '}' */ -#line 2162 "dtool/src/cppparser/cppBison.yxx" +#line 2163 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 6270 "built/tmp/cppBison.yxx.c" +#line 6281 "built/tmp/cppBison.yxx.c" break; case 236: /* structure_init_body: const_expr */ -#line 2175 "dtool/src/cppparser/cppBison.yxx" +#line 2176 "dtool/src/cppparser/cppBison.yxx" { } -#line 6277 "built/tmp/cppBison.yxx.c" +#line 6288 "built/tmp/cppBison.yxx.c" break; case 240: /* function_parameter: optional_attributes type formal_parameter_identifier maybe_initialize */ -#line 2184 "dtool/src/cppparser/cppBison.yxx" +#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 6287 "built/tmp/cppBison.yxx.c" - break; - - case 241: /* function_parameter: optional_attributes KW_CONST type formal_parameter_identifier maybe_initialize */ -#line 2190 "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 6298 "built/tmp/cppBison.yxx.c" break; - case 242: /* function_parameter: optional_attributes KW_CONST KW_REGISTER type formal_parameter_identifier maybe_initialize */ -#line 2197 "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 6309 "built/tmp/cppBison.yxx.c" - break; - - case 243: /* function_parameter: optional_attributes type_pack parameter_pack_identifier maybe_initialize */ -#line 2204 "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 6319 "built/tmp/cppBison.yxx.c" - break; - - case 244: /* function_parameter: optional_attributes KW_CONST type_pack parameter_pack_identifier maybe_initialize */ -#line 2210 "dtool/src/cppparser/cppBison.yxx" + case 241: /* function_parameter: optional_attributes KW_CONST type formal_parameter_identifier maybe_initialize */ +#line 2191 "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 6330 "built/tmp/cppBison.yxx.c" +#line 6309 "built/tmp/cppBison.yxx.c" break; - case 245: /* function_parameter: optional_attributes KW_CONST KW_REGISTER type_pack parameter_pack_identifier maybe_initialize */ -#line 2217 "dtool/src/cppparser/cppBison.yxx" + 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 6320 "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 6330 "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 6341 "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 6352 "built/tmp/cppBison.yxx.c" + break; + case 246: /* function_parameter: optional_attributes KW_REGISTER function_parameter */ -#line 2224 "dtool/src/cppparser/cppBison.yxx" +#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 6350 "built/tmp/cppBison.yxx.c" +#line 6361 "built/tmp/cppBison.yxx.c" break; case 247: /* formal_parameter: function_parameter */ -#line 2236 "dtool/src/cppparser/cppBison.yxx" +#line 2237 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.instance) = (yyvsp[0].u.instance); } -#line 6358 "built/tmp/cppBison.yxx.c" +#line 6369 "built/tmp/cppBison.yxx.c" break; case 248: /* formal_parameter: formal_const_expr */ -#line 2240 "dtool/src/cppparser/cppBison.yxx" +#line 2241 "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 6369 "built/tmp/cppBison.yxx.c" +#line 6380 "built/tmp/cppBison.yxx.c" break; case 249: /* not_paren_formal_parameter_identifier: empty */ -#line 2250 "dtool/src/cppparser/cppBison.yxx" +#line 2251 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6377 "built/tmp/cppBison.yxx.c" +#line 6388 "built/tmp/cppBison.yxx.c" break; case 250: /* not_paren_formal_parameter_identifier: name_no_final optional_attributes */ -#line 2254 "dtool/src/cppparser/cppBison.yxx" +#line 2255 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); } -#line 6385 "built/tmp/cppBison.yxx.c" +#line 6396 "built/tmp/cppBison.yxx.c" break; case 251: /* not_paren_formal_parameter_identifier: KW_CONST not_paren_formal_parameter_identifier */ -#line 2258 "dtool/src/cppparser/cppBison.yxx" +#line 2259 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6394 "built/tmp/cppBison.yxx.c" +#line 6405 "built/tmp/cppBison.yxx.c" break; case 252: /* not_paren_formal_parameter_identifier: KW_VOLATILE not_paren_formal_parameter_identifier */ -#line 2263 "dtool/src/cppparser/cppBison.yxx" +#line 2264 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6403 "built/tmp/cppBison.yxx.c" +#line 6414 "built/tmp/cppBison.yxx.c" break; case 253: /* not_paren_formal_parameter_identifier: '*' optional_attributes not_paren_formal_parameter_identifier */ -#line 2268 "dtool/src/cppparser/cppBison.yxx" +#line 2269 "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 6412 "built/tmp/cppBison.yxx.c" +#line 6423 "built/tmp/cppBison.yxx.c" break; case 254: /* not_paren_formal_parameter_identifier: '&' optional_attributes not_paren_formal_parameter_identifier */ -#line 2273 "dtool/src/cppparser/cppBison.yxx" +#line 2274 "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 6421 "built/tmp/cppBison.yxx.c" +#line 6432 "built/tmp/cppBison.yxx.c" break; case 255: /* not_paren_formal_parameter_identifier: ANDAND optional_attributes not_paren_formal_parameter_identifier */ -#line 2278 "dtool/src/cppparser/cppBison.yxx" +#line 2279 "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 6430 "built/tmp/cppBison.yxx.c" +#line 6441 "built/tmp/cppBison.yxx.c" break; case 256: /* not_paren_formal_parameter_identifier: SCOPING '*' optional_attributes not_paren_formal_parameter_identifier */ -#line 2283 "dtool/src/cppparser/cppBison.yxx" +#line 2284 "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 6439 "built/tmp/cppBison.yxx.c" +#line 6450 "built/tmp/cppBison.yxx.c" break; case 257: /* not_paren_formal_parameter_identifier: not_paren_formal_parameter_identifier '[' optional_const_expr ']' optional_attributes */ -#line 2288 "dtool/src/cppparser/cppBison.yxx" +#line 2289 "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 6448 "built/tmp/cppBison.yxx.c" +#line 6459 "built/tmp/cppBison.yxx.c" break; case 258: /* formal_parameter_identifier: empty */ -#line 2296 "dtool/src/cppparser/cppBison.yxx" +#line 2297 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6456 "built/tmp/cppBison.yxx.c" +#line 6467 "built/tmp/cppBison.yxx.c" break; case 259: /* formal_parameter_identifier: name_no_final optional_attributes */ -#line 2300 "dtool/src/cppparser/cppBison.yxx" +#line 2301 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); } -#line 6464 "built/tmp/cppBison.yxx.c" +#line 6475 "built/tmp/cppBison.yxx.c" break; case 260: /* formal_parameter_identifier: KW_CONST formal_parameter_identifier */ -#line 2304 "dtool/src/cppparser/cppBison.yxx" +#line 2305 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6473 "built/tmp/cppBison.yxx.c" +#line 6484 "built/tmp/cppBison.yxx.c" break; case 261: /* formal_parameter_identifier: KW_VOLATILE formal_parameter_identifier */ -#line 2309 "dtool/src/cppparser/cppBison.yxx" +#line 2310 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6482 "built/tmp/cppBison.yxx.c" +#line 6493 "built/tmp/cppBison.yxx.c" break; case 262: /* formal_parameter_identifier: '*' optional_attributes formal_parameter_identifier */ -#line 2314 "dtool/src/cppparser/cppBison.yxx" +#line 2315 "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 6491 "built/tmp/cppBison.yxx.c" +#line 6502 "built/tmp/cppBison.yxx.c" break; case 263: /* formal_parameter_identifier: '&' optional_attributes formal_parameter_identifier */ -#line 2319 "dtool/src/cppparser/cppBison.yxx" +#line 2320 "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 6500 "built/tmp/cppBison.yxx.c" +#line 6511 "built/tmp/cppBison.yxx.c" break; case 264: /* formal_parameter_identifier: ANDAND optional_attributes formal_parameter_identifier */ -#line 2324 "dtool/src/cppparser/cppBison.yxx" +#line 2325 "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 6509 "built/tmp/cppBison.yxx.c" +#line 6520 "built/tmp/cppBison.yxx.c" break; case 265: /* formal_parameter_identifier: SCOPING '*' optional_attributes formal_parameter_identifier */ -#line 2329 "dtool/src/cppparser/cppBison.yxx" +#line 2330 "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 6518 "built/tmp/cppBison.yxx.c" +#line 6529 "built/tmp/cppBison.yxx.c" break; case 266: /* formal_parameter_identifier: formal_parameter_identifier '[' optional_const_expr ']' optional_attributes */ -#line 2334 "dtool/src/cppparser/cppBison.yxx" +#line 2335 "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 6527 "built/tmp/cppBison.yxx.c" +#line 6538 "built/tmp/cppBison.yxx.c" break; case 267: /* formal_parameter_identifier: '(' formal_parameter_identifier ')' '(' function_parameter_list ')' function_post optional_attributes */ -#line 2339 "dtool/src/cppparser/cppBison.yxx" +#line 2340 "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 6537 "built/tmp/cppBison.yxx.c" +#line 6548 "built/tmp/cppBison.yxx.c" break; case 268: /* formal_parameter_identifier: '(' formal_parameter_identifier ')' */ -#line 2345 "dtool/src/cppparser/cppBison.yxx" +#line 2346 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 6546 "built/tmp/cppBison.yxx.c" +#line 6557 "built/tmp/cppBison.yxx.c" break; case 269: /* parameter_pack_identifier: ELLIPSIS */ -#line 2353 "dtool/src/cppparser/cppBison.yxx" +#line 2354 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6555 "built/tmp/cppBison.yxx.c" +#line 6566 "built/tmp/cppBison.yxx.c" break; case 270: /* parameter_pack_identifier: ELLIPSIS name optional_attributes */ -#line 2358 "dtool/src/cppparser/cppBison.yxx" +#line 2359 "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 6564 "built/tmp/cppBison.yxx.c" +#line 6575 "built/tmp/cppBison.yxx.c" break; case 271: /* parameter_pack_identifier: KW_CONST parameter_pack_identifier */ -#line 2363 "dtool/src/cppparser/cppBison.yxx" +#line 2364 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6573 "built/tmp/cppBison.yxx.c" +#line 6584 "built/tmp/cppBison.yxx.c" break; case 272: /* parameter_pack_identifier: KW_VOLATILE parameter_pack_identifier */ -#line 2368 "dtool/src/cppparser/cppBison.yxx" +#line 2369 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6582 "built/tmp/cppBison.yxx.c" +#line 6593 "built/tmp/cppBison.yxx.c" break; case 273: /* parameter_pack_identifier: '*' optional_attributes parameter_pack_identifier */ -#line 2373 "dtool/src/cppparser/cppBison.yxx" +#line 2374 "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 6591 "built/tmp/cppBison.yxx.c" +#line 6602 "built/tmp/cppBison.yxx.c" break; case 274: /* parameter_pack_identifier: '&' optional_attributes parameter_pack_identifier */ -#line 2378 "dtool/src/cppparser/cppBison.yxx" +#line 2379 "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 6600 "built/tmp/cppBison.yxx.c" +#line 6611 "built/tmp/cppBison.yxx.c" break; case 275: /* parameter_pack_identifier: ANDAND optional_attributes parameter_pack_identifier */ -#line 2383 "dtool/src/cppparser/cppBison.yxx" +#line 2384 "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 6609 "built/tmp/cppBison.yxx.c" +#line 6620 "built/tmp/cppBison.yxx.c" break; case 276: /* parameter_pack_identifier: SCOPING '*' optional_attributes parameter_pack_identifier */ -#line 2388 "dtool/src/cppparser/cppBison.yxx" +#line 2389 "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 6618 "built/tmp/cppBison.yxx.c" +#line 6629 "built/tmp/cppBison.yxx.c" break; case 277: /* parameter_pack_identifier: parameter_pack_identifier '[' optional_const_expr ']' optional_attributes */ -#line 2393 "dtool/src/cppparser/cppBison.yxx" +#line 2394 "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 6627 "built/tmp/cppBison.yxx.c" +#line 6638 "built/tmp/cppBison.yxx.c" break; case 278: /* parameter_pack_identifier: '(' parameter_pack_identifier ')' '(' function_parameter_list ')' function_post optional_attributes */ -#line 2398 "dtool/src/cppparser/cppBison.yxx" +#line 2399 "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 6637 "built/tmp/cppBison.yxx.c" +#line 6648 "built/tmp/cppBison.yxx.c" break; case 279: /* parameter_pack_identifier: '(' parameter_pack_identifier ')' */ -#line 2404 "dtool/src/cppparser/cppBison.yxx" +#line 2405 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 6646 "built/tmp/cppBison.yxx.c" +#line 6657 "built/tmp/cppBison.yxx.c" break; case 280: /* not_paren_empty_instance_identifier: empty */ -#line 2412 "dtool/src/cppparser/cppBison.yxx" +#line 2413 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6654 "built/tmp/cppBison.yxx.c" +#line 6665 "built/tmp/cppBison.yxx.c" break; case 281: /* not_paren_empty_instance_identifier: ELLIPSIS */ -#line 2416 "dtool/src/cppparser/cppBison.yxx" +#line 2417 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6663 "built/tmp/cppBison.yxx.c" +#line 6674 "built/tmp/cppBison.yxx.c" break; case 282: /* not_paren_empty_instance_identifier: ELLIPSIS name optional_attributes */ -#line 2421 "dtool/src/cppparser/cppBison.yxx" +#line 2422 "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 6672 "built/tmp/cppBison.yxx.c" +#line 6683 "built/tmp/cppBison.yxx.c" break; case 283: /* not_paren_empty_instance_identifier: KW_CONST not_paren_empty_instance_identifier */ -#line 2426 "dtool/src/cppparser/cppBison.yxx" +#line 2427 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6681 "built/tmp/cppBison.yxx.c" +#line 6692 "built/tmp/cppBison.yxx.c" break; case 284: /* not_paren_empty_instance_identifier: KW_VOLATILE not_paren_empty_instance_identifier */ -#line 2431 "dtool/src/cppparser/cppBison.yxx" +#line 2432 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6690 "built/tmp/cppBison.yxx.c" +#line 6701 "built/tmp/cppBison.yxx.c" break; case 285: /* not_paren_empty_instance_identifier: '*' optional_attributes not_paren_empty_instance_identifier */ -#line 2436 "dtool/src/cppparser/cppBison.yxx" +#line 2437 "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 6699 "built/tmp/cppBison.yxx.c" +#line 6710 "built/tmp/cppBison.yxx.c" break; case 286: /* not_paren_empty_instance_identifier: '&' optional_attributes not_paren_empty_instance_identifier */ -#line 2441 "dtool/src/cppparser/cppBison.yxx" +#line 2442 "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 6708 "built/tmp/cppBison.yxx.c" +#line 6719 "built/tmp/cppBison.yxx.c" break; case 287: /* not_paren_empty_instance_identifier: ANDAND optional_attributes not_paren_empty_instance_identifier */ -#line 2446 "dtool/src/cppparser/cppBison.yxx" +#line 2447 "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 6717 "built/tmp/cppBison.yxx.c" +#line 6728 "built/tmp/cppBison.yxx.c" break; case 288: /* not_paren_empty_instance_identifier: SCOPING '*' optional_attributes not_paren_empty_instance_identifier */ -#line 2451 "dtool/src/cppparser/cppBison.yxx" +#line 2452 "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 6726 "built/tmp/cppBison.yxx.c" +#line 6737 "built/tmp/cppBison.yxx.c" break; case 289: /* not_paren_empty_instance_identifier: not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes */ -#line 2456 "dtool/src/cppparser/cppBison.yxx" +#line 2457 "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 6735 "built/tmp/cppBison.yxx.c" +#line 6746 "built/tmp/cppBison.yxx.c" break; case 290: /* empty_instance_identifier: empty */ -#line 2464 "dtool/src/cppparser/cppBison.yxx" +#line 2465 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6743 "built/tmp/cppBison.yxx.c" +#line 6754 "built/tmp/cppBison.yxx.c" break; case 291: /* empty_instance_identifier: ELLIPSIS */ -#line 2468 "dtool/src/cppparser/cppBison.yxx" +#line 2469 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6752 "built/tmp/cppBison.yxx.c" +#line 6763 "built/tmp/cppBison.yxx.c" break; case 292: /* empty_instance_identifier: ELLIPSIS name optional_attributes */ -#line 2473 "dtool/src/cppparser/cppBison.yxx" +#line 2474 "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 6761 "built/tmp/cppBison.yxx.c" +#line 6772 "built/tmp/cppBison.yxx.c" break; case 293: /* empty_instance_identifier: KW_CONST empty_instance_identifier */ -#line 2478 "dtool/src/cppparser/cppBison.yxx" +#line 2479 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6770 "built/tmp/cppBison.yxx.c" +#line 6781 "built/tmp/cppBison.yxx.c" break; case 294: /* empty_instance_identifier: KW_VOLATILE empty_instance_identifier */ -#line 2483 "dtool/src/cppparser/cppBison.yxx" +#line 2484 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6779 "built/tmp/cppBison.yxx.c" +#line 6790 "built/tmp/cppBison.yxx.c" break; case 295: /* empty_instance_identifier: '*' optional_attributes not_paren_empty_instance_identifier */ -#line 2488 "dtool/src/cppparser/cppBison.yxx" +#line 2489 "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 6788 "built/tmp/cppBison.yxx.c" +#line 6799 "built/tmp/cppBison.yxx.c" break; case 296: /* empty_instance_identifier: '&' optional_attributes not_paren_empty_instance_identifier */ -#line 2493 "dtool/src/cppparser/cppBison.yxx" +#line 2494 "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 6797 "built/tmp/cppBison.yxx.c" +#line 6808 "built/tmp/cppBison.yxx.c" break; case 297: /* empty_instance_identifier: ANDAND optional_attributes not_paren_empty_instance_identifier */ -#line 2498 "dtool/src/cppparser/cppBison.yxx" +#line 2499 "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 6806 "built/tmp/cppBison.yxx.c" +#line 6817 "built/tmp/cppBison.yxx.c" break; case 298: /* empty_instance_identifier: SCOPING '*' optional_attributes not_paren_empty_instance_identifier */ -#line 2503 "dtool/src/cppparser/cppBison.yxx" +#line 2504 "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 6815 "built/tmp/cppBison.yxx.c" +#line 6826 "built/tmp/cppBison.yxx.c" break; case 299: /* empty_instance_identifier: not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes */ -#line 2508 "dtool/src/cppparser/cppBison.yxx" +#line 2509 "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 6824 "built/tmp/cppBison.yxx.c" +#line 6835 "built/tmp/cppBison.yxx.c" break; case 300: /* empty_instance_identifier: '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ -#line 2513 "dtool/src/cppparser/cppBison.yxx" +#line 2514 "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 6834 "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 2519 "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 6845 "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 2526 "dtool/src/cppparser/cppBison.yxx" + 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" { (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_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 6856 "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 2533 "dtool/src/cppparser/cppBison.yxx" + 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" { (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_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 6867 "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" +{ + (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 6878 "built/tmp/cppBison.yxx.c" + break; + case 304: /* type: simple_type */ -#line 2543 "dtool/src/cppparser/cppBison.yxx" +#line 2544 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 6875 "built/tmp/cppBison.yxx.c" +#line 6886 "built/tmp/cppBison.yxx.c" break; case 305: /* type: TYPENAME_IDENTIFIER */ -#line 2547 "dtool/src/cppparser/cppBison.yxx" +#line 2548 "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) { @@ -6883,43 +6894,43 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 6887 "built/tmp/cppBison.yxx.c" +#line 6898 "built/tmp/cppBison.yxx.c" break; case 306: /* type: KW_TYPENAME name */ -#line 2555 "dtool/src/cppparser/cppBison.yxx" +#line 2556 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 6895 "built/tmp/cppBison.yxx.c" +#line 6906 "built/tmp/cppBison.yxx.c" break; case 307: /* type: anonymous_struct */ -#line 2559 "dtool/src/cppparser/cppBison.yxx" +#line 2560 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 6903 "built/tmp/cppBison.yxx.c" +#line 6914 "built/tmp/cppBison.yxx.c" break; case 308: /* type: named_struct */ -#line 2563 "dtool/src/cppparser/cppBison.yxx" +#line 2564 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 6911 "built/tmp/cppBison.yxx.c" +#line 6922 "built/tmp/cppBison.yxx.c" break; case 309: /* type: enum */ -#line 2567 "dtool/src/cppparser/cppBison.yxx" +#line 2568 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.enum_type)); } -#line 6919 "built/tmp/cppBison.yxx.c" +#line 6930 "built/tmp/cppBison.yxx.c" break; case 310: /* type: struct_keyword optional_attributes name */ -#line 2571 "dtool/src/cppparser/cppBison.yxx" +#line 2572 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -6935,11 +6946,11 @@ yyreduce: (yyval.u.type) = et; } } -#line 6939 "built/tmp/cppBison.yxx.c" +#line 6950 "built/tmp/cppBison.yxx.c" break; case 311: /* type: enum_keyword optional_attributes name_no_final ':' enum_element_type */ -#line 2587 "dtool/src/cppparser/cppBison.yxx" +#line 2588 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[-2].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -6955,11 +6966,11 @@ yyreduce: (yyval.u.type) = et; } } -#line 6959 "built/tmp/cppBison.yxx.c" +#line 6970 "built/tmp/cppBison.yxx.c" break; case 312: /* type: KW_DECLTYPE '(' const_expr ')' */ -#line 2603 "dtool/src/cppparser/cppBison.yxx" +#line 2604 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[-1].u.expr)->determine_type(); if ((yyval.u.type) == nullptr) { @@ -6968,19 +6979,19 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 6972 "built/tmp/cppBison.yxx.c" +#line 6983 "built/tmp/cppBison.yxx.c" break; case 313: /* type: KW_DECLTYPE '(' KW_AUTO ')' */ -#line 2612 "dtool/src/cppparser/cppBison.yxx" +#line 2613 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 6980 "built/tmp/cppBison.yxx.c" +#line 6991 "built/tmp/cppBison.yxx.c" break; case 314: /* type: KW_UNDERLYING_TYPE '(' full_type ')' */ -#line 2616 "dtool/src/cppparser/cppBison.yxx" +#line 2617 "dtool/src/cppparser/cppBison.yxx" { CPPEnumType *enum_type = (yyvsp[-1].u.type)->as_enum_type(); if (enum_type == nullptr) { @@ -6990,19 +7001,19 @@ yyreduce: (yyval.u.type) = enum_type->get_underlying_type(); } } -#line 6994 "built/tmp/cppBison.yxx.c" +#line 7005 "built/tmp/cppBison.yxx.c" break; case 315: /* type: KW_AUTO */ -#line 2626 "dtool/src/cppparser/cppBison.yxx" +#line 2627 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7002 "built/tmp/cppBison.yxx.c" +#line 7013 "built/tmp/cppBison.yxx.c" break; case 316: /* type_pack: TYPEPACK_IDENTIFIER */ -#line 2633 "dtool/src/cppparser/cppBison.yxx" +#line 2634 "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) { @@ -7010,19 +7021,19 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 7014 "built/tmp/cppBison.yxx.c" +#line 7025 "built/tmp/cppBison.yxx.c" break; case 317: /* type_decl: simple_type */ -#line 2644 "dtool/src/cppparser/cppBison.yxx" +#line 2645 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7022 "built/tmp/cppBison.yxx.c" +#line 7033 "built/tmp/cppBison.yxx.c" break; case 318: /* type_decl: TYPENAME_IDENTIFIER */ -#line 2648 "dtool/src/cppparser/cppBison.yxx" +#line 2649 "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) { @@ -7030,43 +7041,43 @@ yyreduce: } assert((yyval.u.decl) != nullptr); } -#line 7034 "built/tmp/cppBison.yxx.c" +#line 7045 "built/tmp/cppBison.yxx.c" break; case 319: /* type_decl: KW_TYPENAME name */ -#line 2656 "dtool/src/cppparser/cppBison.yxx" +#line 2657 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 7042 "built/tmp/cppBison.yxx.c" +#line 7053 "built/tmp/cppBison.yxx.c" break; case 320: /* type_decl: anonymous_struct */ -#line 2660 "dtool/src/cppparser/cppBison.yxx" +#line 2661 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 7050 "built/tmp/cppBison.yxx.c" +#line 7061 "built/tmp/cppBison.yxx.c" break; case 321: /* type_decl: named_struct */ -#line 2664 "dtool/src/cppparser/cppBison.yxx" +#line 2665 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.struct_type))); } -#line 7058 "built/tmp/cppBison.yxx.c" +#line 7069 "built/tmp/cppBison.yxx.c" break; case 322: /* type_decl: enum */ -#line 2668 "dtool/src/cppparser/cppBison.yxx" +#line 2669 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.enum_type))); } -#line 7066 "built/tmp/cppBison.yxx.c" +#line 7077 "built/tmp/cppBison.yxx.c" break; case 323: /* type_decl: struct_keyword optional_attributes name */ -#line 2672 "dtool/src/cppparser/cppBison.yxx" +#line 2673 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7082,11 +7093,11 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7086 "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 2688 "dtool/src/cppparser/cppBison.yxx" +#line 2689 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[-2].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7102,11 +7113,11 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7106 "built/tmp/cppBison.yxx.c" +#line 7117 "built/tmp/cppBison.yxx.c" break; case 325: /* type_decl: enum_keyword optional_attributes name */ -#line 2704 "dtool/src/cppparser/cppBison.yxx" +#line 2705 "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])); @@ -7124,11 +7135,11 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7128 "built/tmp/cppBison.yxx.c" +#line 7139 "built/tmp/cppBison.yxx.c" break; case 326: /* type_decl: KW_DECLTYPE '(' const_expr ')' */ -#line 2722 "dtool/src/cppparser/cppBison.yxx" +#line 2723 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = (yyvsp[-1].u.expr)->determine_type(); if ((yyval.u.decl) == nullptr) { @@ -7137,19 +7148,19 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 7141 "built/tmp/cppBison.yxx.c" +#line 7152 "built/tmp/cppBison.yxx.c" break; case 327: /* type_decl: KW_DECLTYPE '(' KW_AUTO ')' */ -#line 2731 "dtool/src/cppparser/cppBison.yxx" +#line 2732 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7149 "built/tmp/cppBison.yxx.c" +#line 7160 "built/tmp/cppBison.yxx.c" break; case 328: /* type_decl: KW_UNDERLYING_TYPE '(' full_type ')' */ -#line 2735 "dtool/src/cppparser/cppBison.yxx" +#line 2736 "dtool/src/cppparser/cppBison.yxx" { CPPEnumType *enum_type = (yyvsp[-1].u.type)->as_enum_type(); if (enum_type == nullptr) { @@ -7159,27 +7170,27 @@ yyreduce: (yyval.u.decl) = enum_type->get_underlying_type(); } } -#line 7163 "built/tmp/cppBison.yxx.c" +#line 7174 "built/tmp/cppBison.yxx.c" break; case 329: /* type_decl: KW_AUTO */ -#line 2745 "dtool/src/cppparser/cppBison.yxx" +#line 2746 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7171 "built/tmp/cppBison.yxx.c" +#line 7182 "built/tmp/cppBison.yxx.c" break; case 330: /* predefined_type: simple_type */ -#line 2752 "dtool/src/cppparser/cppBison.yxx" +#line 2753 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7179 "built/tmp/cppBison.yxx.c" +#line 7190 "built/tmp/cppBison.yxx.c" break; case 331: /* predefined_type: TYPENAME_IDENTIFIER */ -#line 2756 "dtool/src/cppparser/cppBison.yxx" +#line 2757 "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) { @@ -7187,19 +7198,19 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 7191 "built/tmp/cppBison.yxx.c" +#line 7202 "built/tmp/cppBison.yxx.c" break; case 332: /* predefined_type: KW_TYPENAME name */ -#line 2764 "dtool/src/cppparser/cppBison.yxx" +#line 2765 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 7199 "built/tmp/cppBison.yxx.c" +#line 7210 "built/tmp/cppBison.yxx.c" break; case 333: /* predefined_type: struct_keyword optional_attributes name */ -#line 2768 "dtool/src/cppparser/cppBison.yxx" +#line 2769 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7215,11 +7226,11 @@ yyreduce: (yyval.u.type) = et; } } -#line 7219 "built/tmp/cppBison.yxx.c" +#line 7230 "built/tmp/cppBison.yxx.c" break; case 334: /* predefined_type: enum_keyword optional_attributes name */ -#line 2784 "dtool/src/cppparser/cppBison.yxx" +#line 2785 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != nullptr) { @@ -7235,11 +7246,11 @@ yyreduce: (yyval.u.type) = et; } } -#line 7239 "built/tmp/cppBison.yxx.c" +#line 7250 "built/tmp/cppBison.yxx.c" break; case 335: /* predefined_type: KW_DECLTYPE '(' const_expr ')' */ -#line 2800 "dtool/src/cppparser/cppBison.yxx" +#line 2801 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[-1].u.expr)->determine_type(); if ((yyval.u.type) == nullptr) { @@ -7248,11 +7259,11 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 7252 "built/tmp/cppBison.yxx.c" +#line 7263 "built/tmp/cppBison.yxx.c" break; case 336: /* predefined_type: KW_UNDERLYING_TYPE '(' full_type ')' */ -#line 2809 "dtool/src/cppparser/cppBison.yxx" +#line 2810 "dtool/src/cppparser/cppBison.yxx" { CPPEnumType *enum_type = (yyvsp[-1].u.type)->as_enum_type(); if (enum_type == nullptr) { @@ -7262,71 +7273,71 @@ yyreduce: (yyval.u.type) = enum_type->get_underlying_type(); } } -#line 7266 "built/tmp/cppBison.yxx.c" +#line 7277 "built/tmp/cppBison.yxx.c" break; case 337: /* predefined_type: KW_AUTO */ -#line 2819 "dtool/src/cppparser/cppBison.yxx" +#line 2820 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7274 "built/tmp/cppBison.yxx.c" +#line 7285 "built/tmp/cppBison.yxx.c" break; case 338: /* var_type_decl: type_decl */ -#line 2826 "dtool/src/cppparser/cppBison.yxx" +#line 2827 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = (yyvsp[0].u.decl); } -#line 7282 "built/tmp/cppBison.yxx.c" +#line 7293 "built/tmp/cppBison.yxx.c" break; case 339: /* var_type_decl: IDENTIFIER */ -#line 2830 "dtool/src/cppparser/cppBison.yxx" +#line 2831 "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 7292 "built/tmp/cppBison.yxx.c" +#line 7303 "built/tmp/cppBison.yxx.c" break; case 340: /* full_type: type empty_instance_identifier */ -#line 2838 "dtool/src/cppparser/cppBison.yxx" +#line 2839 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7300 "built/tmp/cppBison.yxx.c" +#line 7311 "built/tmp/cppBison.yxx.c" break; case 341: /* full_type: KW_CONST type empty_instance_identifier */ -#line 2842 "dtool/src/cppparser/cppBison.yxx" +#line 2843 "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 7309 "built/tmp/cppBison.yxx.c" +#line 7320 "built/tmp/cppBison.yxx.c" break; case 342: /* full_type: type_pack empty_instance_identifier */ -#line 2847 "dtool/src/cppparser/cppBison.yxx" +#line 2848 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7317 "built/tmp/cppBison.yxx.c" +#line 7328 "built/tmp/cppBison.yxx.c" break; case 343: /* full_type: KW_CONST type_pack empty_instance_identifier */ -#line 2851 "dtool/src/cppparser/cppBison.yxx" +#line 2852 "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 7326 "built/tmp/cppBison.yxx.c" +#line 7337 "built/tmp/cppBison.yxx.c" break; case 344: /* $@17: %empty */ -#line 2859 "dtool/src/cppparser/cppBison.yxx" +#line 2860 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[-2].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -7340,22 +7351,22 @@ yyreduce: push_scope(new_scope); push_struct(st); } -#line 7344 "built/tmp/cppBison.yxx.c" +#line 7355 "built/tmp/cppBison.yxx.c" break; case 345: /* anonymous_struct: struct_keyword optional_attributes '{' $@17 cpp '}' */ -#line 2873 "dtool/src/cppparser/cppBison.yxx" +#line 2874 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; pop_struct(); pop_scope(); } -#line 7355 "built/tmp/cppBison.yxx.c" +#line 7366 "built/tmp/cppBison.yxx.c" break; case 346: /* $@18: %empty */ -#line 2883 "dtool/src/cppparser/cppBison.yxx" +#line 2884 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[-2].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -7375,253 +7386,253 @@ yyreduce: push_scope(new_scope); push_struct(st); } -#line 7379 "built/tmp/cppBison.yxx.c" +#line 7390 "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 2903 "dtool/src/cppparser/cppBison.yxx" +#line 2904 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; pop_struct(); pop_scope(); } -#line 7390 "built/tmp/cppBison.yxx.c" +#line 7401 "built/tmp/cppBison.yxx.c" break; case 349: /* maybe_final: KW_FINAL */ -#line 2914 "dtool/src/cppparser/cppBison.yxx" +#line 2915 "dtool/src/cppparser/cppBison.yxx" { current_struct->_final = true; } -#line 7398 "built/tmp/cppBison.yxx.c" +#line 7409 "built/tmp/cppBison.yxx.c" break; case 354: /* base_specification: class_derivation_name */ -#line 2931 "dtool/src/cppparser/cppBison.yxx" +#line 2932 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_unknown, false); } -#line 7406 "built/tmp/cppBison.yxx.c" +#line 7417 "built/tmp/cppBison.yxx.c" break; case 355: /* base_specification: KW_PUBLIC class_derivation_name */ -#line 2935 "dtool/src/cppparser/cppBison.yxx" +#line 2936 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_public, false); } -#line 7414 "built/tmp/cppBison.yxx.c" +#line 7425 "built/tmp/cppBison.yxx.c" break; case 356: /* base_specification: KW_PROTECTED class_derivation_name */ -#line 2939 "dtool/src/cppparser/cppBison.yxx" +#line 2940 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_protected, false); } -#line 7422 "built/tmp/cppBison.yxx.c" +#line 7433 "built/tmp/cppBison.yxx.c" break; case 357: /* base_specification: KW_PRIVATE class_derivation_name */ -#line 2943 "dtool/src/cppparser/cppBison.yxx" +#line 2944 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_private, false); } -#line 7430 "built/tmp/cppBison.yxx.c" +#line 7441 "built/tmp/cppBison.yxx.c" break; case 358: /* base_specification: KW_VIRTUAL KW_PUBLIC class_derivation_name */ -#line 2947 "dtool/src/cppparser/cppBison.yxx" +#line 2948 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_public, true); } -#line 7438 "built/tmp/cppBison.yxx.c" +#line 7449 "built/tmp/cppBison.yxx.c" break; case 359: /* base_specification: KW_VIRTUAL KW_PROTECTED class_derivation_name */ -#line 2951 "dtool/src/cppparser/cppBison.yxx" +#line 2952 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_protected, true); } -#line 7446 "built/tmp/cppBison.yxx.c" +#line 7457 "built/tmp/cppBison.yxx.c" break; case 360: /* base_specification: KW_VIRTUAL KW_PRIVATE class_derivation_name */ -#line 2955 "dtool/src/cppparser/cppBison.yxx" +#line 2956 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_private, true); } -#line 7454 "built/tmp/cppBison.yxx.c" +#line 7465 "built/tmp/cppBison.yxx.c" break; case 361: /* base_specification: KW_PUBLIC KW_VIRTUAL class_derivation_name */ -#line 2959 "dtool/src/cppparser/cppBison.yxx" +#line 2960 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_public, true); } -#line 7462 "built/tmp/cppBison.yxx.c" +#line 7473 "built/tmp/cppBison.yxx.c" break; case 362: /* base_specification: KW_PROTECTED KW_VIRTUAL class_derivation_name */ -#line 2963 "dtool/src/cppparser/cppBison.yxx" +#line 2964 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_protected, true); } -#line 7470 "built/tmp/cppBison.yxx.c" +#line 7481 "built/tmp/cppBison.yxx.c" break; case 363: /* base_specification: KW_PRIVATE KW_VIRTUAL class_derivation_name */ -#line 2967 "dtool/src/cppparser/cppBison.yxx" +#line 2968 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[0].u.type), V_private, true); } -#line 7478 "built/tmp/cppBison.yxx.c" +#line 7489 "built/tmp/cppBison.yxx.c" break; case 364: /* enum: enum_decl '{' enum_body '}' */ -#line 2974 "dtool/src/cppparser/cppBison.yxx" +#line 2975 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.enum_type) = current_enum; current_enum = nullptr; } -#line 7487 "built/tmp/cppBison.yxx.c" +#line 7498 "built/tmp/cppBison.yxx.c" break; case 365: /* enum_decl: enum_keyword optional_attributes ':' enum_element_type */ -#line 2982 "dtool/src/cppparser/cppBison.yxx" +#line 2983 "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 7495 "built/tmp/cppBison.yxx.c" +#line 7506 "built/tmp/cppBison.yxx.c" break; case 366: /* enum_decl: enum_keyword optional_attributes */ -#line 2986 "dtool/src/cppparser/cppBison.yxx" +#line 2987 "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 7503 "built/tmp/cppBison.yxx.c" +#line 7514 "built/tmp/cppBison.yxx.c" break; case 367: /* enum_decl: enum_keyword optional_attributes name_no_final ':' enum_element_type */ -#line 2990 "dtool/src/cppparser/cppBison.yxx" +#line 2991 "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 7512 "built/tmp/cppBison.yxx.c" +#line 7523 "built/tmp/cppBison.yxx.c" break; case 368: /* enum_decl: enum_keyword optional_attributes name_no_final */ -#line 2995 "dtool/src/cppparser/cppBison.yxx" +#line 2996 "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 7521 "built/tmp/cppBison.yxx.c" +#line 7532 "built/tmp/cppBison.yxx.c" break; case 369: /* enum_element_type: simple_int_type */ -#line 3003 "dtool/src/cppparser/cppBison.yxx" +#line 3004 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7529 "built/tmp/cppBison.yxx.c" +#line 7540 "built/tmp/cppBison.yxx.c" break; case 370: /* enum_element_type: TYPENAME_IDENTIFIER */ -#line 3007 "dtool/src/cppparser/cppBison.yxx" +#line 3008 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); } -#line 7537 "built/tmp/cppBison.yxx.c" +#line 7548 "built/tmp/cppBison.yxx.c" break; case 372: /* enum_body_trailing_comma: enum_body_trailing_comma name optional_attributes ',' */ -#line 3015 "dtool/src/cppparser/cppBison.yxx" +#line 3016 "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 7546 "built/tmp/cppBison.yxx.c" +#line 7557 "built/tmp/cppBison.yxx.c" break; case 373: /* enum_body_trailing_comma: enum_body_trailing_comma name optional_attributes '=' const_expr ',' */ -#line 3020 "dtool/src/cppparser/cppBison.yxx" +#line 3021 "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 7555 "built/tmp/cppBison.yxx.c" +#line 7566 "built/tmp/cppBison.yxx.c" break; case 375: /* enum_body: enum_body_trailing_comma name optional_attributes */ -#line 3028 "dtool/src/cppparser/cppBison.yxx" +#line 3029 "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 7564 "built/tmp/cppBison.yxx.c" +#line 7575 "built/tmp/cppBison.yxx.c" break; case 376: /* enum_body: enum_body_trailing_comma name optional_attributes '=' const_expr */ -#line 3033 "dtool/src/cppparser/cppBison.yxx" +#line 3034 "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 7573 "built/tmp/cppBison.yxx.c" +#line 7584 "built/tmp/cppBison.yxx.c" break; case 377: /* enum_keyword: KW_ENUM */ -#line 3041 "dtool/src/cppparser/cppBison.yxx" +#line 3042 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum; } -#line 7581 "built/tmp/cppBison.yxx.c" +#line 7592 "built/tmp/cppBison.yxx.c" break; case 378: /* enum_keyword: KW_ENUM KW_CLASS */ -#line 3045 "dtool/src/cppparser/cppBison.yxx" +#line 3046 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum_class; } -#line 7589 "built/tmp/cppBison.yxx.c" +#line 7600 "built/tmp/cppBison.yxx.c" break; case 379: /* enum_keyword: KW_ENUM KW_STRUCT */ -#line 3049 "dtool/src/cppparser/cppBison.yxx" +#line 3050 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum_struct; } -#line 7597 "built/tmp/cppBison.yxx.c" +#line 7608 "built/tmp/cppBison.yxx.c" break; case 380: /* struct_keyword: KW_CLASS */ -#line 3056 "dtool/src/cppparser/cppBison.yxx" +#line 3057 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_class; } -#line 7605 "built/tmp/cppBison.yxx.c" +#line 7616 "built/tmp/cppBison.yxx.c" break; case 381: /* struct_keyword: KW_STRUCT */ -#line 3060 "dtool/src/cppparser/cppBison.yxx" +#line 3061 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_struct; } -#line 7613 "built/tmp/cppBison.yxx.c" +#line 7624 "built/tmp/cppBison.yxx.c" break; case 382: /* struct_keyword: KW_UNION */ -#line 3064 "dtool/src/cppparser/cppBison.yxx" +#line 3065 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_union; } -#line 7621 "built/tmp/cppBison.yxx.c" +#line 7632 "built/tmp/cppBison.yxx.c" break; case 383: /* $@19: %empty */ -#line 3071 "dtool/src/cppparser/cppBison.yxx" +#line 3072 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == nullptr) { @@ -7639,19 +7650,19 @@ yyreduce: current_scope->define_namespace(nspace); push_scope(scope); } -#line 7643 "built/tmp/cppBison.yxx.c" +#line 7654 "built/tmp/cppBison.yxx.c" break; case 384: /* namespace_declaration: KW_NAMESPACE optional_attributes name '{' $@19 cpp '}' */ -#line 3089 "dtool/src/cppparser/cppBison.yxx" +#line 3090 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 7651 "built/tmp/cppBison.yxx.c" +#line 7662 "built/tmp/cppBison.yxx.c" break; case 385: /* $@20: %empty */ -#line 3093 "dtool/src/cppparser/cppBison.yxx" +#line 3094 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == nullptr) { @@ -7670,161 +7681,161 @@ yyreduce: current_scope->define_namespace(nspace); push_scope(scope); } -#line 7674 "built/tmp/cppBison.yxx.c" +#line 7685 "built/tmp/cppBison.yxx.c" break; case 386: /* namespace_declaration: KW_INLINE KW_NAMESPACE name '{' $@20 cpp '}' */ -#line 3112 "dtool/src/cppparser/cppBison.yxx" +#line 3113 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 7682 "built/tmp/cppBison.yxx.c" +#line 7693 "built/tmp/cppBison.yxx.c" break; case 389: /* using_declaration: KW_USING name ';' */ -#line 3121 "dtool/src/cppparser/cppBison.yxx" +#line 3122 "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 7692 "built/tmp/cppBison.yxx.c" +#line 7703 "built/tmp/cppBison.yxx.c" break; case 390: /* using_declaration: KW_USING name optional_attributes '=' full_type ';' */ -#line 3127 "dtool/src/cppparser/cppBison.yxx" +#line 3128 "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 7703 "built/tmp/cppBison.yxx.c" +#line 7714 "built/tmp/cppBison.yxx.c" break; case 391: /* using_declaration: KW_USING KW_NAMESPACE name ';' */ -#line 3134 "dtool/src/cppparser/cppBison.yxx" +#line 3135 "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 7713 "built/tmp/cppBison.yxx.c" +#line 7724 "built/tmp/cppBison.yxx.c" break; case 392: /* using_declaration: KW_USING KW_ENUM name ';' */ -#line 3140 "dtool/src/cppparser/cppBison.yxx" +#line 3141 "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 7723 "built/tmp/cppBison.yxx.c" +#line 7734 "built/tmp/cppBison.yxx.c" break; case 396: /* simple_int_type: KW_BOOL */ -#line 3155 "dtool/src/cppparser/cppBison.yxx" +#line 3156 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool); } -#line 7731 "built/tmp/cppBison.yxx.c" +#line 7742 "built/tmp/cppBison.yxx.c" break; case 397: /* simple_int_type: KW_CHAR */ -#line 3159 "dtool/src/cppparser/cppBison.yxx" +#line 3160 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char); } -#line 7739 "built/tmp/cppBison.yxx.c" +#line 7750 "built/tmp/cppBison.yxx.c" break; case 398: /* simple_int_type: KW_WCHAR_T */ -#line 3163 "dtool/src/cppparser/cppBison.yxx" +#line 3164 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t); } -#line 7747 "built/tmp/cppBison.yxx.c" +#line 7758 "built/tmp/cppBison.yxx.c" break; case 399: /* simple_int_type: KW_CHAR8_T */ -#line 3167 "dtool/src/cppparser/cppBison.yxx" +#line 3168 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char8_t); } -#line 7755 "built/tmp/cppBison.yxx.c" +#line 7766 "built/tmp/cppBison.yxx.c" break; case 400: /* simple_int_type: KW_CHAR16_T */ -#line 3171 "dtool/src/cppparser/cppBison.yxx" +#line 3172 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t); } -#line 7763 "built/tmp/cppBison.yxx.c" +#line 7774 "built/tmp/cppBison.yxx.c" break; case 401: /* simple_int_type: KW_CHAR32_T */ -#line 3175 "dtool/src/cppparser/cppBison.yxx" +#line 3176 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t); } -#line 7771 "built/tmp/cppBison.yxx.c" +#line 7782 "built/tmp/cppBison.yxx.c" break; case 402: /* simple_int_type: KW_SHORT */ -#line 3179 "dtool/src/cppparser/cppBison.yxx" +#line 3180 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_short); } -#line 7780 "built/tmp/cppBison.yxx.c" +#line 7791 "built/tmp/cppBison.yxx.c" break; case 403: /* simple_int_type: KW_LONG */ -#line 3184 "dtool/src/cppparser/cppBison.yxx" +#line 3185 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_long); } -#line 7789 "built/tmp/cppBison.yxx.c" +#line 7800 "built/tmp/cppBison.yxx.c" break; case 404: /* simple_int_type: KW_UNSIGNED */ -#line 3189 "dtool/src/cppparser/cppBison.yxx" +#line 3190 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_unsigned); } -#line 7798 "built/tmp/cppBison.yxx.c" +#line 7809 "built/tmp/cppBison.yxx.c" break; case 405: /* simple_int_type: KW_SIGNED */ -#line 3194 "dtool/src/cppparser/cppBison.yxx" +#line 3195 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_signed); } -#line 7807 "built/tmp/cppBison.yxx.c" +#line 7818 "built/tmp/cppBison.yxx.c" break; case 406: /* simple_int_type: KW_INT */ -#line 3199 "dtool/src/cppparser/cppBison.yxx" +#line 3200 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int); } -#line 7815 "built/tmp/cppBison.yxx.c" +#line 7826 "built/tmp/cppBison.yxx.c" break; case 407: /* simple_int_type: KW_SHORT simple_int_type */ -#line 3203 "dtool/src/cppparser/cppBison.yxx" +#line 3204 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_short; } -#line 7824 "built/tmp/cppBison.yxx.c" +#line 7835 "built/tmp/cppBison.yxx.c" break; case 408: /* simple_int_type: KW_LONG simple_int_type */ -#line 3208 "dtool/src/cppparser/cppBison.yxx" +#line 3209 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); if ((yyval.u.simple_type)->_flags & CPPSimpleType::F_long) { @@ -7833,501 +7844,501 @@ yyreduce: (yyval.u.simple_type)->_flags |= CPPSimpleType::F_long; } } -#line 7837 "built/tmp/cppBison.yxx.c" +#line 7848 "built/tmp/cppBison.yxx.c" break; case 409: /* simple_int_type: KW_UNSIGNED simple_int_type */ -#line 3217 "dtool/src/cppparser/cppBison.yxx" +#line 3218 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_unsigned; } -#line 7846 "built/tmp/cppBison.yxx.c" +#line 7857 "built/tmp/cppBison.yxx.c" break; case 410: /* simple_int_type: KW_SIGNED simple_int_type */ -#line 3222 "dtool/src/cppparser/cppBison.yxx" +#line 3223 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_signed; } -#line 7855 "built/tmp/cppBison.yxx.c" +#line 7866 "built/tmp/cppBison.yxx.c" break; case 411: /* simple_float_type: KW_FLOAT */ -#line 3230 "dtool/src/cppparser/cppBison.yxx" +#line 3231 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float); } -#line 7863 "built/tmp/cppBison.yxx.c" +#line 7874 "built/tmp/cppBison.yxx.c" break; case 412: /* simple_float_type: KW_DOUBLE */ -#line 3234 "dtool/src/cppparser/cppBison.yxx" +#line 3235 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double); } -#line 7871 "built/tmp/cppBison.yxx.c" +#line 7882 "built/tmp/cppBison.yxx.c" break; case 413: /* simple_float_type: KW_LONG KW_DOUBLE */ -#line 3238 "dtool/src/cppparser/cppBison.yxx" +#line 3239 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double, CPPSimpleType::F_long); } -#line 7880 "built/tmp/cppBison.yxx.c" +#line 7891 "built/tmp/cppBison.yxx.c" break; case 414: /* simple_void_type: KW_VOID */ -#line 3246 "dtool/src/cppparser/cppBison.yxx" +#line 3247 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void); } -#line 7888 "built/tmp/cppBison.yxx.c" +#line 7899 "built/tmp/cppBison.yxx.c" break; case 415: /* $@21: %empty */ -#line 3255 "dtool/src/cppparser/cppBison.yxx" +#line 3256 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = false; } -#line 7896 "built/tmp/cppBison.yxx.c" +#line 7907 "built/tmp/cppBison.yxx.c" break; case 416: /* code: $@21 code_block */ -#line 3259 "dtool/src/cppparser/cppBison.yxx" +#line 3260 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = true; } -#line 7904 "built/tmp/cppBison.yxx.c" +#line 7915 "built/tmp/cppBison.yxx.c" break; case 531: /* element: KW_WHILE */ -#line 3304 "dtool/src/cppparser/cppBison.yxx" +#line 3305 "dtool/src/cppparser/cppBison.yxx" { } -#line 7911 "built/tmp/cppBison.yxx.c" +#line 7922 "built/tmp/cppBison.yxx.c" break; case 555: /* optional_const_expr: empty */ -#line 3313 "dtool/src/cppparser/cppBison.yxx" +#line 3314 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 7919 "built/tmp/cppBison.yxx.c" +#line 7930 "built/tmp/cppBison.yxx.c" break; case 556: /* optional_const_expr: const_expr */ -#line 3317 "dtool/src/cppparser/cppBison.yxx" +#line 3318 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 7927 "built/tmp/cppBison.yxx.c" +#line 7938 "built/tmp/cppBison.yxx.c" break; case 557: /* optional_const_expr_comma: empty */ -#line 3324 "dtool/src/cppparser/cppBison.yxx" +#line 3325 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 7935 "built/tmp/cppBison.yxx.c" +#line 7946 "built/tmp/cppBison.yxx.c" break; case 558: /* optional_const_expr_comma: const_expr_comma */ -#line 3328 "dtool/src/cppparser/cppBison.yxx" +#line 3329 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 7943 "built/tmp/cppBison.yxx.c" +#line 7954 "built/tmp/cppBison.yxx.c" break; case 559: /* const_expr_comma: const_expr */ -#line 3335 "dtool/src/cppparser/cppBison.yxx" +#line 3336 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 7951 "built/tmp/cppBison.yxx.c" +#line 7962 "built/tmp/cppBison.yxx.c" break; case 560: /* const_expr_comma: const_expr_comma ',' const_expr */ -#line 3339 "dtool/src/cppparser/cppBison.yxx" +#line 3340 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(',', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 7959 "built/tmp/cppBison.yxx.c" +#line 7970 "built/tmp/cppBison.yxx.c" break; case 561: /* no_angle_bracket_const_expr: const_operand */ -#line 3346 "dtool/src/cppparser/cppBison.yxx" +#line 3347 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 7967 "built/tmp/cppBison.yxx.c" +#line 7978 "built/tmp/cppBison.yxx.c" break; case 562: /* no_angle_bracket_const_expr: '(' full_type ')' no_angle_bracket_const_expr */ -#line 3350 "dtool/src/cppparser/cppBison.yxx" +#line 3351 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 7975 "built/tmp/cppBison.yxx.c" +#line 7986 "built/tmp/cppBison.yxx.c" break; case 563: /* no_angle_bracket_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3354 "dtool/src/cppparser/cppBison.yxx" +#line 3355 "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 7983 "built/tmp/cppBison.yxx.c" +#line 7994 "built/tmp/cppBison.yxx.c" break; case 564: /* no_angle_bracket_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3358 "dtool/src/cppparser/cppBison.yxx" +#line 3359 "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 7991 "built/tmp/cppBison.yxx.c" +#line 8002 "built/tmp/cppBison.yxx.c" break; case 565: /* no_angle_bracket_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3362 "dtool/src/cppparser/cppBison.yxx" +#line 3363 "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 7999 "built/tmp/cppBison.yxx.c" +#line 8010 "built/tmp/cppBison.yxx.c" break; case 566: /* no_angle_bracket_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3366 "dtool/src/cppparser/cppBison.yxx" +#line 3367 "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 8007 "built/tmp/cppBison.yxx.c" +#line 8018 "built/tmp/cppBison.yxx.c" break; case 567: /* no_angle_bracket_const_expr: KW_SIZEOF '(' full_type ')' */ -#line 3370 "dtool/src/cppparser/cppBison.yxx" +#line 3371 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 8015 "built/tmp/cppBison.yxx.c" +#line 8026 "built/tmp/cppBison.yxx.c" break; case 568: /* no_angle_bracket_const_expr: KW_SIZEOF no_angle_bracket_const_expr */ -#line 3374 "dtool/src/cppparser/cppBison.yxx" +#line 3375 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 8023 "built/tmp/cppBison.yxx.c" +#line 8034 "built/tmp/cppBison.yxx.c" break; case 569: /* no_angle_bracket_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ -#line 3378 "dtool/src/cppparser/cppBison.yxx" +#line 3379 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 8031 "built/tmp/cppBison.yxx.c" +#line 8042 "built/tmp/cppBison.yxx.c" break; case 570: /* no_angle_bracket_const_expr: KW_ALIGNOF '(' full_type ')' */ -#line 3382 "dtool/src/cppparser/cppBison.yxx" +#line 3383 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 8039 "built/tmp/cppBison.yxx.c" +#line 8050 "built/tmp/cppBison.yxx.c" break; case 571: /* no_angle_bracket_const_expr: '!' no_angle_bracket_const_expr */ -#line 3386 "dtool/src/cppparser/cppBison.yxx" +#line 3387 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 8047 "built/tmp/cppBison.yxx.c" +#line 8058 "built/tmp/cppBison.yxx.c" break; case 572: /* no_angle_bracket_const_expr: '~' no_angle_bracket_const_expr */ -#line 3390 "dtool/src/cppparser/cppBison.yxx" +#line 3391 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 8055 "built/tmp/cppBison.yxx.c" +#line 8066 "built/tmp/cppBison.yxx.c" break; case 573: /* no_angle_bracket_const_expr: '-' no_angle_bracket_const_expr */ -#line 3394 "dtool/src/cppparser/cppBison.yxx" +#line 3395 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 8063 "built/tmp/cppBison.yxx.c" +#line 8074 "built/tmp/cppBison.yxx.c" break; case 574: /* no_angle_bracket_const_expr: '+' no_angle_bracket_const_expr */ -#line 3398 "dtool/src/cppparser/cppBison.yxx" +#line 3399 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 8071 "built/tmp/cppBison.yxx.c" +#line 8082 "built/tmp/cppBison.yxx.c" break; case 575: /* no_angle_bracket_const_expr: '*' no_angle_bracket_const_expr */ -#line 3402 "dtool/src/cppparser/cppBison.yxx" +#line 3403 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr)); } -#line 8079 "built/tmp/cppBison.yxx.c" +#line 8090 "built/tmp/cppBison.yxx.c" break; case 576: /* no_angle_bracket_const_expr: '&' no_angle_bracket_const_expr */ -#line 3406 "dtool/src/cppparser/cppBison.yxx" +#line 3407 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 8087 "built/tmp/cppBison.yxx.c" +#line 8098 "built/tmp/cppBison.yxx.c" break; case 577: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '*' no_angle_bracket_const_expr */ -#line 3410 "dtool/src/cppparser/cppBison.yxx" +#line 3411 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8095 "built/tmp/cppBison.yxx.c" +#line 8106 "built/tmp/cppBison.yxx.c" break; case 578: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '/' no_angle_bracket_const_expr */ -#line 3414 "dtool/src/cppparser/cppBison.yxx" +#line 3415 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8103 "built/tmp/cppBison.yxx.c" +#line 8114 "built/tmp/cppBison.yxx.c" break; case 579: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '%' no_angle_bracket_const_expr */ -#line 3418 "dtool/src/cppparser/cppBison.yxx" +#line 3419 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8111 "built/tmp/cppBison.yxx.c" +#line 8122 "built/tmp/cppBison.yxx.c" break; case 580: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '+' no_angle_bracket_const_expr */ -#line 3422 "dtool/src/cppparser/cppBison.yxx" +#line 3423 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8119 "built/tmp/cppBison.yxx.c" +#line 8130 "built/tmp/cppBison.yxx.c" break; case 581: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '-' no_angle_bracket_const_expr */ -#line 3426 "dtool/src/cppparser/cppBison.yxx" +#line 3427 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8127 "built/tmp/cppBison.yxx.c" +#line 8138 "built/tmp/cppBison.yxx.c" break; case 582: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '|' no_angle_bracket_const_expr */ -#line 3430 "dtool/src/cppparser/cppBison.yxx" +#line 3431 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8135 "built/tmp/cppBison.yxx.c" +#line 8146 "built/tmp/cppBison.yxx.c" break; case 583: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '^' no_angle_bracket_const_expr */ -#line 3434 "dtool/src/cppparser/cppBison.yxx" +#line 3435 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8143 "built/tmp/cppBison.yxx.c" +#line 8154 "built/tmp/cppBison.yxx.c" break; case 584: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '&' no_angle_bracket_const_expr */ -#line 3438 "dtool/src/cppparser/cppBison.yxx" +#line 3439 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8151 "built/tmp/cppBison.yxx.c" +#line 8162 "built/tmp/cppBison.yxx.c" break; case 585: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr OROR no_angle_bracket_const_expr */ -#line 3442 "dtool/src/cppparser/cppBison.yxx" +#line 3443 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8159 "built/tmp/cppBison.yxx.c" +#line 8170 "built/tmp/cppBison.yxx.c" break; case 586: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr ANDAND no_angle_bracket_const_expr */ -#line 3446 "dtool/src/cppparser/cppBison.yxx" +#line 3447 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8167 "built/tmp/cppBison.yxx.c" +#line 8178 "built/tmp/cppBison.yxx.c" break; case 587: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr EQCOMPARE no_angle_bracket_const_expr */ -#line 3450 "dtool/src/cppparser/cppBison.yxx" +#line 3451 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8175 "built/tmp/cppBison.yxx.c" +#line 8186 "built/tmp/cppBison.yxx.c" break; case 588: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr NECOMPARE no_angle_bracket_const_expr */ -#line 3454 "dtool/src/cppparser/cppBison.yxx" +#line 3455 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8183 "built/tmp/cppBison.yxx.c" +#line 8194 "built/tmp/cppBison.yxx.c" break; case 589: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LECOMPARE no_angle_bracket_const_expr */ -#line 3458 "dtool/src/cppparser/cppBison.yxx" +#line 3459 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8191 "built/tmp/cppBison.yxx.c" +#line 8202 "built/tmp/cppBison.yxx.c" break; case 590: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr GECOMPARE no_angle_bracket_const_expr */ -#line 3462 "dtool/src/cppparser/cppBison.yxx" +#line 3463 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8199 "built/tmp/cppBison.yxx.c" +#line 8210 "built/tmp/cppBison.yxx.c" break; case 591: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr SPACESHIP no_angle_bracket_const_expr */ -#line 3466 "dtool/src/cppparser/cppBison.yxx" +#line 3467 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(SPACESHIP, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8207 "built/tmp/cppBison.yxx.c" +#line 8218 "built/tmp/cppBison.yxx.c" break; case 592: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LSHIFT no_angle_bracket_const_expr */ -#line 3470 "dtool/src/cppparser/cppBison.yxx" +#line 3471 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8215 "built/tmp/cppBison.yxx.c" +#line 8226 "built/tmp/cppBison.yxx.c" break; case 593: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr RSHIFT no_angle_bracket_const_expr */ -#line 3474 "dtool/src/cppparser/cppBison.yxx" +#line 3475 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8223 "built/tmp/cppBison.yxx.c" +#line 8234 "built/tmp/cppBison.yxx.c" break; case 594: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '?' no_angle_bracket_const_expr ':' no_angle_bracket_const_expr */ -#line 3478 "dtool/src/cppparser/cppBison.yxx" +#line 3479 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8231 "built/tmp/cppBison.yxx.c" +#line 8242 "built/tmp/cppBison.yxx.c" break; case 595: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '[' const_expr ']' */ -#line 3482 "dtool/src/cppparser/cppBison.yxx" +#line 3483 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8239 "built/tmp/cppBison.yxx.c" +#line 8250 "built/tmp/cppBison.yxx.c" break; case 596: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' const_expr_comma ')' */ -#line 3486 "dtool/src/cppparser/cppBison.yxx" +#line 3487 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8247 "built/tmp/cppBison.yxx.c" +#line 8258 "built/tmp/cppBison.yxx.c" break; case 597: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' ')' */ -#line 3490 "dtool/src/cppparser/cppBison.yxx" +#line 3491 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 8255 "built/tmp/cppBison.yxx.c" +#line 8266 "built/tmp/cppBison.yxx.c" break; case 598: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '.' name */ -#line 3494 "dtool/src/cppparser/cppBison.yxx" +#line 3495 "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 8263 "built/tmp/cppBison.yxx.c" +#line 8274 "built/tmp/cppBison.yxx.c" break; case 599: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr POINTSAT no_angle_bracket_const_expr */ -#line 3498 "dtool/src/cppparser/cppBison.yxx" +#line 3499 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8271 "built/tmp/cppBison.yxx.c" +#line 8282 "built/tmp/cppBison.yxx.c" break; case 600: /* no_angle_bracket_const_expr: '(' const_expr_comma ')' */ -#line 3502 "dtool/src/cppparser/cppBison.yxx" +#line 3503 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 8279 "built/tmp/cppBison.yxx.c" +#line 8290 "built/tmp/cppBison.yxx.c" break; case 601: /* const_expr: const_operand */ -#line 3510 "dtool/src/cppparser/cppBison.yxx" +#line 3511 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8287 "built/tmp/cppBison.yxx.c" +#line 8298 "built/tmp/cppBison.yxx.c" break; case 602: /* const_expr: '(' full_type ')' const_expr */ -#line 3514 "dtool/src/cppparser/cppBison.yxx" +#line 3515 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 8295 "built/tmp/cppBison.yxx.c" +#line 8306 "built/tmp/cppBison.yxx.c" break; case 603: /* const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3518 "dtool/src/cppparser/cppBison.yxx" +#line 3519 "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 8303 "built/tmp/cppBison.yxx.c" +#line 8314 "built/tmp/cppBison.yxx.c" break; case 604: /* const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3522 "dtool/src/cppparser/cppBison.yxx" +#line 3523 "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 8311 "built/tmp/cppBison.yxx.c" +#line 8322 "built/tmp/cppBison.yxx.c" break; case 605: /* const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3526 "dtool/src/cppparser/cppBison.yxx" +#line 3527 "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 8319 "built/tmp/cppBison.yxx.c" +#line 8330 "built/tmp/cppBison.yxx.c" break; case 606: /* const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3530 "dtool/src/cppparser/cppBison.yxx" +#line 3531 "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 8327 "built/tmp/cppBison.yxx.c" +#line 8338 "built/tmp/cppBison.yxx.c" break; case 607: /* const_expr: TYPENAME_IDENTIFIER '(' optional_const_expr_comma ')' */ -#line 3534 "dtool/src/cppparser/cppBison.yxx" +#line 3535 "dtool/src/cppparser/cppBison.yxx" { // A constructor call. CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -8337,11 +8348,11 @@ yyreduce: assert(type != nullptr); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8341 "built/tmp/cppBison.yxx.c" +#line 8352 "built/tmp/cppBison.yxx.c" break; case 608: /* const_expr: TYPENAME_IDENTIFIER '{' optional_const_expr_comma '}' */ -#line 3544 "dtool/src/cppparser/cppBison.yxx" +#line 3545 "dtool/src/cppparser/cppBison.yxx" { // Aggregate initialization. CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -8351,193 +8362,193 @@ yyreduce: assert(type != nullptr); (yyval.u.expr) = new CPPExpression(CPPExpression::aggregate_init_op(type, (yyvsp[-1].u.expr))); } -#line 8355 "built/tmp/cppBison.yxx.c" +#line 8366 "built/tmp/cppBison.yxx.c" break; case 609: /* const_expr: KW_INT '(' optional_const_expr_comma ')' */ -#line 3554 "dtool/src/cppparser/cppBison.yxx" +#line 3555 "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 8365 "built/tmp/cppBison.yxx.c" +#line 8376 "built/tmp/cppBison.yxx.c" break; case 610: /* const_expr: KW_CHAR '(' optional_const_expr_comma ')' */ -#line 3560 "dtool/src/cppparser/cppBison.yxx" +#line 3561 "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 8375 "built/tmp/cppBison.yxx.c" +#line 8386 "built/tmp/cppBison.yxx.c" break; case 611: /* const_expr: KW_WCHAR_T '(' optional_const_expr_comma ')' */ -#line 3566 "dtool/src/cppparser/cppBison.yxx" +#line 3567 "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 8385 "built/tmp/cppBison.yxx.c" +#line 8396 "built/tmp/cppBison.yxx.c" break; case 612: /* const_expr: KW_CHAR8_T '(' optional_const_expr_comma ')' */ -#line 3572 "dtool/src/cppparser/cppBison.yxx" +#line 3573 "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 8395 "built/tmp/cppBison.yxx.c" +#line 8406 "built/tmp/cppBison.yxx.c" break; case 613: /* const_expr: KW_CHAR16_T '(' optional_const_expr_comma ')' */ -#line 3578 "dtool/src/cppparser/cppBison.yxx" +#line 3579 "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 8405 "built/tmp/cppBison.yxx.c" +#line 8416 "built/tmp/cppBison.yxx.c" break; case 614: /* const_expr: KW_CHAR32_T '(' optional_const_expr_comma ')' */ -#line 3584 "dtool/src/cppparser/cppBison.yxx" +#line 3585 "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 8415 "built/tmp/cppBison.yxx.c" +#line 8426 "built/tmp/cppBison.yxx.c" break; case 615: /* const_expr: KW_BOOL '(' optional_const_expr_comma ')' */ -#line 3590 "dtool/src/cppparser/cppBison.yxx" +#line 3591 "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 8425 "built/tmp/cppBison.yxx.c" +#line 8436 "built/tmp/cppBison.yxx.c" break; case 616: /* const_expr: KW_SHORT '(' optional_const_expr_comma ')' */ -#line 3596 "dtool/src/cppparser/cppBison.yxx" +#line 3597 "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 8436 "built/tmp/cppBison.yxx.c" +#line 8447 "built/tmp/cppBison.yxx.c" break; case 617: /* const_expr: KW_LONG '(' optional_const_expr_comma ')' */ -#line 3603 "dtool/src/cppparser/cppBison.yxx" +#line 3604 "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 8447 "built/tmp/cppBison.yxx.c" +#line 8458 "built/tmp/cppBison.yxx.c" break; case 618: /* const_expr: KW_UNSIGNED '(' optional_const_expr_comma ')' */ -#line 3610 "dtool/src/cppparser/cppBison.yxx" +#line 3611 "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 8458 "built/tmp/cppBison.yxx.c" +#line 8469 "built/tmp/cppBison.yxx.c" break; case 619: /* const_expr: KW_SIGNED '(' optional_const_expr_comma ')' */ -#line 3617 "dtool/src/cppparser/cppBison.yxx" +#line 3618 "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 8469 "built/tmp/cppBison.yxx.c" +#line 8480 "built/tmp/cppBison.yxx.c" break; case 620: /* const_expr: KW_FLOAT '(' optional_const_expr_comma ')' */ -#line 3624 "dtool/src/cppparser/cppBison.yxx" +#line 3625 "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 8479 "built/tmp/cppBison.yxx.c" +#line 8490 "built/tmp/cppBison.yxx.c" break; case 621: /* const_expr: KW_DOUBLE '(' optional_const_expr_comma ')' */ -#line 3630 "dtool/src/cppparser/cppBison.yxx" +#line 3631 "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 8489 "built/tmp/cppBison.yxx.c" +#line 8500 "built/tmp/cppBison.yxx.c" break; case 622: /* const_expr: KW_SIZEOF '(' full_type ')' */ -#line 3636 "dtool/src/cppparser/cppBison.yxx" +#line 3637 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 8497 "built/tmp/cppBison.yxx.c" +#line 8508 "built/tmp/cppBison.yxx.c" break; case 623: /* const_expr: KW_SIZEOF const_expr */ -#line 3640 "dtool/src/cppparser/cppBison.yxx" +#line 3641 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 8505 "built/tmp/cppBison.yxx.c" +#line 8516 "built/tmp/cppBison.yxx.c" break; case 624: /* const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ -#line 3644 "dtool/src/cppparser/cppBison.yxx" +#line 3645 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 8513 "built/tmp/cppBison.yxx.c" +#line 8524 "built/tmp/cppBison.yxx.c" break; case 625: /* const_expr: KW_ALIGNOF '(' full_type ')' */ -#line 3648 "dtool/src/cppparser/cppBison.yxx" +#line 3649 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 8521 "built/tmp/cppBison.yxx.c" +#line 8532 "built/tmp/cppBison.yxx.c" break; case 626: /* const_expr: KW_NEW predefined_type */ -#line 3652 "dtool/src/cppparser/cppBison.yxx" +#line 3653 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type))); } -#line 8529 "built/tmp/cppBison.yxx.c" +#line 8540 "built/tmp/cppBison.yxx.c" break; case 627: /* const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ -#line 3656 "dtool/src/cppparser/cppBison.yxx" +#line 3657 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr))); } -#line 8537 "built/tmp/cppBison.yxx.c" +#line 8548 "built/tmp/cppBison.yxx.c" break; case 628: /* const_expr: KW_TYPEID '(' full_type ')' */ -#line 3660 "dtool/src/cppparser/cppBison.yxx" +#line 3661 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -8548,11 +8559,11 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info)); } -#line 8552 "built/tmp/cppBison.yxx.c" +#line 8563 "built/tmp/cppBison.yxx.c" break; case 629: /* const_expr: KW_TYPEID '(' const_expr ')' */ -#line 3671 "dtool/src/cppparser/cppBison.yxx" +#line 3672 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -8563,378 +8574,378 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info)); } -#line 8567 "built/tmp/cppBison.yxx.c" +#line 8578 "built/tmp/cppBison.yxx.c" break; case 630: /* const_expr: '!' const_expr */ -#line 3682 "dtool/src/cppparser/cppBison.yxx" +#line 3683 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 8575 "built/tmp/cppBison.yxx.c" +#line 8586 "built/tmp/cppBison.yxx.c" break; case 631: /* const_expr: '~' const_expr */ -#line 3686 "dtool/src/cppparser/cppBison.yxx" +#line 3687 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 8583 "built/tmp/cppBison.yxx.c" +#line 8594 "built/tmp/cppBison.yxx.c" break; case 632: /* const_expr: '-' const_expr */ -#line 3690 "dtool/src/cppparser/cppBison.yxx" +#line 3691 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 8591 "built/tmp/cppBison.yxx.c" +#line 8602 "built/tmp/cppBison.yxx.c" break; case 633: /* const_expr: '+' const_expr */ -#line 3694 "dtool/src/cppparser/cppBison.yxx" +#line 3695 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 8599 "built/tmp/cppBison.yxx.c" +#line 8610 "built/tmp/cppBison.yxx.c" break; case 634: /* const_expr: '*' const_expr */ -#line 3698 "dtool/src/cppparser/cppBison.yxx" +#line 3699 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr)); } -#line 8607 "built/tmp/cppBison.yxx.c" +#line 8618 "built/tmp/cppBison.yxx.c" break; case 635: /* const_expr: '&' const_expr */ -#line 3702 "dtool/src/cppparser/cppBison.yxx" +#line 3703 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 8615 "built/tmp/cppBison.yxx.c" +#line 8626 "built/tmp/cppBison.yxx.c" break; case 636: /* const_expr: const_expr '*' const_expr */ -#line 3706 "dtool/src/cppparser/cppBison.yxx" +#line 3707 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8623 "built/tmp/cppBison.yxx.c" +#line 8634 "built/tmp/cppBison.yxx.c" break; case 637: /* const_expr: const_expr '/' const_expr */ -#line 3710 "dtool/src/cppparser/cppBison.yxx" +#line 3711 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8631 "built/tmp/cppBison.yxx.c" +#line 8642 "built/tmp/cppBison.yxx.c" break; case 638: /* const_expr: const_expr '%' const_expr */ -#line 3714 "dtool/src/cppparser/cppBison.yxx" +#line 3715 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8639 "built/tmp/cppBison.yxx.c" +#line 8650 "built/tmp/cppBison.yxx.c" break; case 639: /* const_expr: const_expr '+' const_expr */ -#line 3718 "dtool/src/cppparser/cppBison.yxx" +#line 3719 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8647 "built/tmp/cppBison.yxx.c" +#line 8658 "built/tmp/cppBison.yxx.c" break; case 640: /* const_expr: const_expr '-' const_expr */ -#line 3722 "dtool/src/cppparser/cppBison.yxx" +#line 3723 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8655 "built/tmp/cppBison.yxx.c" +#line 8666 "built/tmp/cppBison.yxx.c" break; case 641: /* const_expr: const_expr '|' const_expr */ -#line 3726 "dtool/src/cppparser/cppBison.yxx" +#line 3727 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8663 "built/tmp/cppBison.yxx.c" +#line 8674 "built/tmp/cppBison.yxx.c" break; case 642: /* const_expr: const_expr '^' const_expr */ -#line 3730 "dtool/src/cppparser/cppBison.yxx" +#line 3731 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8671 "built/tmp/cppBison.yxx.c" +#line 8682 "built/tmp/cppBison.yxx.c" break; case 643: /* const_expr: const_expr '&' const_expr */ -#line 3734 "dtool/src/cppparser/cppBison.yxx" +#line 3735 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8679 "built/tmp/cppBison.yxx.c" +#line 8690 "built/tmp/cppBison.yxx.c" break; case 644: /* const_expr: const_expr OROR const_expr */ -#line 3738 "dtool/src/cppparser/cppBison.yxx" +#line 3739 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8687 "built/tmp/cppBison.yxx.c" +#line 8698 "built/tmp/cppBison.yxx.c" break; case 645: /* const_expr: const_expr ANDAND const_expr */ -#line 3742 "dtool/src/cppparser/cppBison.yxx" +#line 3743 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8695 "built/tmp/cppBison.yxx.c" +#line 8706 "built/tmp/cppBison.yxx.c" break; case 646: /* const_expr: const_expr EQCOMPARE const_expr */ -#line 3746 "dtool/src/cppparser/cppBison.yxx" +#line 3747 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8703 "built/tmp/cppBison.yxx.c" +#line 8714 "built/tmp/cppBison.yxx.c" break; case 647: /* const_expr: const_expr NECOMPARE const_expr */ -#line 3750 "dtool/src/cppparser/cppBison.yxx" +#line 3751 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8711 "built/tmp/cppBison.yxx.c" +#line 8722 "built/tmp/cppBison.yxx.c" break; case 648: /* const_expr: const_expr LECOMPARE const_expr */ -#line 3754 "dtool/src/cppparser/cppBison.yxx" +#line 3755 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8719 "built/tmp/cppBison.yxx.c" +#line 8730 "built/tmp/cppBison.yxx.c" break; case 649: /* const_expr: const_expr GECOMPARE const_expr */ -#line 3758 "dtool/src/cppparser/cppBison.yxx" +#line 3759 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8727 "built/tmp/cppBison.yxx.c" +#line 8738 "built/tmp/cppBison.yxx.c" break; case 650: /* const_expr: const_expr SPACESHIP const_expr */ -#line 3762 "dtool/src/cppparser/cppBison.yxx" +#line 3763 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(SPACESHIP, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8735 "built/tmp/cppBison.yxx.c" +#line 8746 "built/tmp/cppBison.yxx.c" break; case 651: /* const_expr: const_expr '<' const_expr */ -#line 3766 "dtool/src/cppparser/cppBison.yxx" +#line 3767 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8743 "built/tmp/cppBison.yxx.c" +#line 8754 "built/tmp/cppBison.yxx.c" break; case 652: /* const_expr: const_expr '>' const_expr */ -#line 3770 "dtool/src/cppparser/cppBison.yxx" +#line 3771 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8751 "built/tmp/cppBison.yxx.c" +#line 8762 "built/tmp/cppBison.yxx.c" break; case 653: /* const_expr: const_expr LSHIFT const_expr */ -#line 3774 "dtool/src/cppparser/cppBison.yxx" +#line 3775 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8759 "built/tmp/cppBison.yxx.c" +#line 8770 "built/tmp/cppBison.yxx.c" break; case 654: /* const_expr: const_expr RSHIFT const_expr */ -#line 3778 "dtool/src/cppparser/cppBison.yxx" +#line 3779 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8767 "built/tmp/cppBison.yxx.c" +#line 8778 "built/tmp/cppBison.yxx.c" break; case 655: /* const_expr: const_expr '?' const_expr ':' const_expr */ -#line 3782 "dtool/src/cppparser/cppBison.yxx" +#line 3783 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8775 "built/tmp/cppBison.yxx.c" +#line 8786 "built/tmp/cppBison.yxx.c" break; case 656: /* const_expr: const_expr '[' const_expr ']' */ -#line 3786 "dtool/src/cppparser/cppBison.yxx" +#line 3787 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8783 "built/tmp/cppBison.yxx.c" +#line 8794 "built/tmp/cppBison.yxx.c" break; case 657: /* const_expr: const_expr '(' const_expr_comma ')' */ -#line 3790 "dtool/src/cppparser/cppBison.yxx" +#line 3791 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8791 "built/tmp/cppBison.yxx.c" +#line 8802 "built/tmp/cppBison.yxx.c" break; case 658: /* const_expr: const_expr '(' ')' */ -#line 3794 "dtool/src/cppparser/cppBison.yxx" +#line 3795 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 8799 "built/tmp/cppBison.yxx.c" +#line 8810 "built/tmp/cppBison.yxx.c" break; case 659: /* const_expr: KW_NOEXCEPT_LPAREN const_expr ')' */ -#line 3798 "dtool/src/cppparser/cppBison.yxx" +#line 3799 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(KW_NOEXCEPT, (yyvsp[-1].u.expr)); } -#line 8807 "built/tmp/cppBison.yxx.c" +#line 8818 "built/tmp/cppBison.yxx.c" break; case 660: /* const_expr: const_expr '.' name */ -#line 3802 "dtool/src/cppparser/cppBison.yxx" +#line 3803 "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 8815 "built/tmp/cppBison.yxx.c" +#line 8826 "built/tmp/cppBison.yxx.c" break; case 661: /* const_expr: const_expr POINTSAT const_expr */ -#line 3806 "dtool/src/cppparser/cppBison.yxx" +#line 3807 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8823 "built/tmp/cppBison.yxx.c" +#line 8834 "built/tmp/cppBison.yxx.c" break; case 662: /* const_expr: '(' const_expr_comma ')' */ -#line 3810 "dtool/src/cppparser/cppBison.yxx" +#line 3811 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 8831 "built/tmp/cppBison.yxx.c" +#line 8842 "built/tmp/cppBison.yxx.c" break; case 663: /* const_operand: INTEGER */ -#line 3817 "dtool/src/cppparser/cppBison.yxx" +#line 3818 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 8839 "built/tmp/cppBison.yxx.c" +#line 8850 "built/tmp/cppBison.yxx.c" break; case 664: /* const_operand: KW_TRUE */ -#line 3821 "dtool/src/cppparser/cppBison.yxx" +#line 3822 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } -#line 8847 "built/tmp/cppBison.yxx.c" +#line 8858 "built/tmp/cppBison.yxx.c" break; case 665: /* const_operand: KW_FALSE */ -#line 3825 "dtool/src/cppparser/cppBison.yxx" +#line 3826 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } -#line 8855 "built/tmp/cppBison.yxx.c" +#line 8866 "built/tmp/cppBison.yxx.c" break; case 666: /* const_operand: CHAR_TOK */ -#line 3829 "dtool/src/cppparser/cppBison.yxx" +#line 3830 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 8863 "built/tmp/cppBison.yxx.c" +#line 8874 "built/tmp/cppBison.yxx.c" break; case 667: /* const_operand: REAL */ -#line 3833 "dtool/src/cppparser/cppBison.yxx" +#line 3834 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real)); } -#line 8871 "built/tmp/cppBison.yxx.c" +#line 8882 "built/tmp/cppBison.yxx.c" break; case 668: /* const_operand: string_literal */ -#line 3837 "dtool/src/cppparser/cppBison.yxx" +#line 3838 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8879 "built/tmp/cppBison.yxx.c" +#line 8890 "built/tmp/cppBison.yxx.c" break; case 669: /* const_operand: CUSTOM_LITERAL */ -#line 3841 "dtool/src/cppparser/cppBison.yxx" +#line 3842 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8887 "built/tmp/cppBison.yxx.c" +#line 8898 "built/tmp/cppBison.yxx.c" break; case 670: /* const_operand: IDENTIFIER */ -#line 3845 "dtool/src/cppparser/cppBison.yxx" +#line 3846 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer); } -#line 8895 "built/tmp/cppBison.yxx.c" +#line 8906 "built/tmp/cppBison.yxx.c" break; case 671: /* const_operand: KW_FINAL */ -#line 3849 "dtool/src/cppparser/cppBison.yxx" +#line 3850 "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 8905 "built/tmp/cppBison.yxx.c" +#line 8916 "built/tmp/cppBison.yxx.c" break; case 672: /* const_operand: KW_OVERRIDE */ -#line 3855 "dtool/src/cppparser/cppBison.yxx" +#line 3856 "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 8915 "built/tmp/cppBison.yxx.c" +#line 8926 "built/tmp/cppBison.yxx.c" break; case 673: /* const_operand: KW_NULLPTR */ -#line 3861 "dtool/src/cppparser/cppBison.yxx" +#line 3862 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); } -#line 8923 "built/tmp/cppBison.yxx.c" +#line 8934 "built/tmp/cppBison.yxx.c" break; case 674: /* const_operand: '[' capture_list ']' function_post optional_attributes maybe_trailing_return_type '{' code '}' */ -#line 3865 "dtool/src/cppparser/cppBison.yxx" +#line 3866 "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 8934 "built/tmp/cppBison.yxx.c" +#line 8945 "built/tmp/cppBison.yxx.c" break; case 675: /* const_operand: '[' capture_list ']' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type '{' code '}' */ -#line 3872 "dtool/src/cppparser/cppBison.yxx" +#line 3873 "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); @@ -8942,243 +8953,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 8946 "built/tmp/cppBison.yxx.c" +#line 8957 "built/tmp/cppBison.yxx.c" break; case 676: /* const_operand: KW_HAS_VIRTUAL_DESTRUCTOR '(' full_type ')' */ -#line 3880 "dtool/src/cppparser/cppBison.yxx" +#line 3881 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_HAS_VIRTUAL_DESTRUCTOR, (yyvsp[-1].u.type))); } -#line 8954 "built/tmp/cppBison.yxx.c" +#line 8965 "built/tmp/cppBison.yxx.c" break; case 677: /* const_operand: KW_IS_ABSTRACT '(' full_type ')' */ -#line 3884 "dtool/src/cppparser/cppBison.yxx" +#line 3885 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_ABSTRACT, (yyvsp[-1].u.type))); } -#line 8962 "built/tmp/cppBison.yxx.c" +#line 8973 "built/tmp/cppBison.yxx.c" break; case 678: /* const_operand: KW_IS_BASE_OF '(' full_type ',' full_type ')' */ -#line 3888 "dtool/src/cppparser/cppBison.yxx" +#line 3889 "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 8970 "built/tmp/cppBison.yxx.c" +#line 8981 "built/tmp/cppBison.yxx.c" break; case 679: /* const_operand: KW_IS_CLASS '(' full_type ')' */ -#line 3892 "dtool/src/cppparser/cppBison.yxx" +#line 3893 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CLASS, (yyvsp[-1].u.type))); } -#line 8978 "built/tmp/cppBison.yxx.c" +#line 8989 "built/tmp/cppBison.yxx.c" break; case 680: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ')' */ -#line 3896 "dtool/src/cppparser/cppBison.yxx" +#line 3897 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONSTRUCTIBLE, (yyvsp[-1].u.type))); } -#line 8986 "built/tmp/cppBison.yxx.c" +#line 8997 "built/tmp/cppBison.yxx.c" break; case 681: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ',' full_type ')' */ -#line 3900 "dtool/src/cppparser/cppBison.yxx" +#line 3901 "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 8994 "built/tmp/cppBison.yxx.c" +#line 9005 "built/tmp/cppBison.yxx.c" break; case 682: /* const_operand: KW_IS_CONVERTIBLE_TO '(' full_type ',' full_type ')' */ -#line 3904 "dtool/src/cppparser/cppBison.yxx" +#line 3905 "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 9002 "built/tmp/cppBison.yxx.c" +#line 9013 "built/tmp/cppBison.yxx.c" break; case 683: /* const_operand: KW_IS_DESTRUCTIBLE '(' full_type ')' */ -#line 3908 "dtool/src/cppparser/cppBison.yxx" +#line 3909 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_DESTRUCTIBLE, (yyvsp[-1].u.type))); } -#line 9010 "built/tmp/cppBison.yxx.c" +#line 9021 "built/tmp/cppBison.yxx.c" break; case 684: /* const_operand: KW_IS_EMPTY '(' full_type ')' */ -#line 3912 "dtool/src/cppparser/cppBison.yxx" +#line 3913 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_EMPTY, (yyvsp[-1].u.type))); } -#line 9018 "built/tmp/cppBison.yxx.c" +#line 9029 "built/tmp/cppBison.yxx.c" break; case 685: /* const_operand: KW_IS_ENUM '(' full_type ')' */ -#line 3916 "dtool/src/cppparser/cppBison.yxx" +#line 3917 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_ENUM, (yyvsp[-1].u.type))); } -#line 9026 "built/tmp/cppBison.yxx.c" +#line 9037 "built/tmp/cppBison.yxx.c" break; case 686: /* const_operand: KW_IS_FINAL '(' full_type ')' */ -#line 3920 "dtool/src/cppparser/cppBison.yxx" +#line 3921 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_FINAL, (yyvsp[-1].u.type))); } -#line 9034 "built/tmp/cppBison.yxx.c" +#line 9045 "built/tmp/cppBison.yxx.c" break; case 687: /* const_operand: KW_IS_FUNDAMENTAL '(' full_type ')' */ -#line 3924 "dtool/src/cppparser/cppBison.yxx" +#line 3925 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_FUNDAMENTAL, (yyvsp[-1].u.type))); } -#line 9042 "built/tmp/cppBison.yxx.c" +#line 9053 "built/tmp/cppBison.yxx.c" break; case 688: /* const_operand: KW_IS_POD '(' full_type ')' */ -#line 3928 "dtool/src/cppparser/cppBison.yxx" +#line 3929 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_POD, (yyvsp[-1].u.type))); } -#line 9050 "built/tmp/cppBison.yxx.c" +#line 9061 "built/tmp/cppBison.yxx.c" break; case 689: /* const_operand: KW_IS_POLYMORPHIC '(' full_type ')' */ -#line 3932 "dtool/src/cppparser/cppBison.yxx" +#line 3933 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_POLYMORPHIC, (yyvsp[-1].u.type))); } -#line 9058 "built/tmp/cppBison.yxx.c" +#line 9069 "built/tmp/cppBison.yxx.c" break; case 690: /* const_operand: KW_IS_STANDARD_LAYOUT '(' full_type ')' */ -#line 3936 "dtool/src/cppparser/cppBison.yxx" +#line 3937 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_STANDARD_LAYOUT, (yyvsp[-1].u.type))); } -#line 9066 "built/tmp/cppBison.yxx.c" +#line 9077 "built/tmp/cppBison.yxx.c" break; case 691: /* const_operand: KW_IS_TRIVIAL '(' full_type ')' */ -#line 3940 "dtool/src/cppparser/cppBison.yxx" +#line 3941 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_TRIVIAL, (yyvsp[-1].u.type))); } -#line 9074 "built/tmp/cppBison.yxx.c" +#line 9085 "built/tmp/cppBison.yxx.c" break; - case 692: /* const_operand: KW_IS_UNION '(' full_type ')' */ -#line 3944 "dtool/src/cppparser/cppBison.yxx" + case 692: /* const_operand: KW_IS_TRIVIALLY_COPYABLE '(' full_type ')' */ +#line 3945 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_TRIVIALLY_COPYABLE, (yyvsp[-1].u.type))); +} +#line 9093 "built/tmp/cppBison.yxx.c" + break; + + case 693: /* const_operand: KW_IS_UNION '(' full_type ')' */ +#line 3949 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_UNION, (yyvsp[-1].u.type))); } -#line 9082 "built/tmp/cppBison.yxx.c" +#line 9101 "built/tmp/cppBison.yxx.c" break; - case 693: /* formal_const_expr: formal_const_operand */ -#line 3958 "dtool/src/cppparser/cppBison.yxx" + case 694: /* formal_const_expr: formal_const_operand */ +#line 3963 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9090 "built/tmp/cppBison.yxx.c" +#line 9109 "built/tmp/cppBison.yxx.c" break; - case 694: /* formal_const_expr: '(' full_type ')' const_expr */ -#line 3962 "dtool/src/cppparser/cppBison.yxx" + case 695: /* formal_const_expr: '(' full_type ')' const_expr */ +#line 3967 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 9098 "built/tmp/cppBison.yxx.c" +#line 9117 "built/tmp/cppBison.yxx.c" break; - case 695: /* formal_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3966 "dtool/src/cppparser/cppBison.yxx" + case 696: /* formal_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3971 "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 9106 "built/tmp/cppBison.yxx.c" +#line 9125 "built/tmp/cppBison.yxx.c" break; - case 696: /* formal_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3970 "dtool/src/cppparser/cppBison.yxx" + case 697: /* formal_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3975 "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 9114 "built/tmp/cppBison.yxx.c" +#line 9133 "built/tmp/cppBison.yxx.c" break; - case 697: /* formal_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3974 "dtool/src/cppparser/cppBison.yxx" + case 698: /* formal_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3979 "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 9122 "built/tmp/cppBison.yxx.c" +#line 9141 "built/tmp/cppBison.yxx.c" break; - case 698: /* formal_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3978 "dtool/src/cppparser/cppBison.yxx" + case 699: /* formal_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3983 "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 9130 "built/tmp/cppBison.yxx.c" +#line 9149 "built/tmp/cppBison.yxx.c" break; - case 699: /* formal_const_expr: KW_SIZEOF '(' full_type ')' */ -#line 3982 "dtool/src/cppparser/cppBison.yxx" + case 700: /* formal_const_expr: KW_SIZEOF '(' full_type ')' */ +#line 3987 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 9138 "built/tmp/cppBison.yxx.c" +#line 9157 "built/tmp/cppBison.yxx.c" break; - case 700: /* formal_const_expr: KW_SIZEOF formal_const_expr */ -#line 3986 "dtool/src/cppparser/cppBison.yxx" + case 701: /* formal_const_expr: KW_SIZEOF formal_const_expr */ +#line 3991 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 9146 "built/tmp/cppBison.yxx.c" +#line 9165 "built/tmp/cppBison.yxx.c" break; - case 701: /* formal_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ -#line 3990 "dtool/src/cppparser/cppBison.yxx" + case 702: /* formal_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 3995 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 9154 "built/tmp/cppBison.yxx.c" +#line 9173 "built/tmp/cppBison.yxx.c" break; - case 702: /* formal_const_expr: KW_ALIGNOF '(' full_type ')' */ -#line 3994 "dtool/src/cppparser/cppBison.yxx" + case 703: /* formal_const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 3999 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 9162 "built/tmp/cppBison.yxx.c" +#line 9181 "built/tmp/cppBison.yxx.c" break; - case 703: /* formal_const_expr: KW_NEW predefined_type */ -#line 3998 "dtool/src/cppparser/cppBison.yxx" + case 704: /* formal_const_expr: KW_NEW predefined_type */ +#line 4003 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type))); } -#line 9170 "built/tmp/cppBison.yxx.c" +#line 9189 "built/tmp/cppBison.yxx.c" break; - case 704: /* formal_const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ -#line 4002 "dtool/src/cppparser/cppBison.yxx" + case 705: /* formal_const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ +#line 4007 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr))); } -#line 9178 "built/tmp/cppBison.yxx.c" +#line 9197 "built/tmp/cppBison.yxx.c" break; - case 705: /* formal_const_expr: KW_TYPEID '(' full_type ')' */ -#line 4006 "dtool/src/cppparser/cppBison.yxx" + case 706: /* formal_const_expr: KW_TYPEID '(' full_type ')' */ +#line 4011 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -9189,11 +9208,11 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info)); } -#line 9193 "built/tmp/cppBison.yxx.c" +#line 9212 "built/tmp/cppBison.yxx.c" break; - case 706: /* formal_const_expr: KW_TYPEID '(' const_expr ')' */ -#line 4017 "dtool/src/cppparser/cppBison.yxx" + case 707: /* formal_const_expr: KW_TYPEID '(' const_expr ')' */ +#line 4022 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -9204,417 +9223,417 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info)); } -#line 9208 "built/tmp/cppBison.yxx.c" +#line 9227 "built/tmp/cppBison.yxx.c" break; - case 707: /* formal_const_expr: '!' const_expr */ -#line 4028 "dtool/src/cppparser/cppBison.yxx" + case 708: /* formal_const_expr: '!' const_expr */ +#line 4033 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 9216 "built/tmp/cppBison.yxx.c" +#line 9235 "built/tmp/cppBison.yxx.c" break; - case 708: /* formal_const_expr: '~' const_expr */ -#line 4032 "dtool/src/cppparser/cppBison.yxx" + case 709: /* formal_const_expr: '~' const_expr */ +#line 4037 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 9224 "built/tmp/cppBison.yxx.c" +#line 9243 "built/tmp/cppBison.yxx.c" break; - case 709: /* formal_const_expr: '-' const_expr */ -#line 4036 "dtool/src/cppparser/cppBison.yxx" + case 710: /* formal_const_expr: '-' const_expr */ +#line 4041 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 9232 "built/tmp/cppBison.yxx.c" +#line 9251 "built/tmp/cppBison.yxx.c" break; - case 710: /* formal_const_expr: '+' const_expr */ -#line 4040 "dtool/src/cppparser/cppBison.yxx" + case 711: /* formal_const_expr: '+' const_expr */ +#line 4045 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 9240 "built/tmp/cppBison.yxx.c" +#line 9259 "built/tmp/cppBison.yxx.c" break; - case 711: /* formal_const_expr: '&' const_expr */ -#line 4044 "dtool/src/cppparser/cppBison.yxx" + case 712: /* formal_const_expr: '&' const_expr */ +#line 4049 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 9248 "built/tmp/cppBison.yxx.c" +#line 9267 "built/tmp/cppBison.yxx.c" break; - case 712: /* formal_const_expr: formal_const_expr '*' const_expr */ -#line 4048 "dtool/src/cppparser/cppBison.yxx" + case 713: /* formal_const_expr: formal_const_expr '*' const_expr */ +#line 4053 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9256 "built/tmp/cppBison.yxx.c" +#line 9275 "built/tmp/cppBison.yxx.c" break; - case 713: /* formal_const_expr: formal_const_expr '/' const_expr */ -#line 4052 "dtool/src/cppparser/cppBison.yxx" + case 714: /* formal_const_expr: formal_const_expr '/' const_expr */ +#line 4057 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9264 "built/tmp/cppBison.yxx.c" +#line 9283 "built/tmp/cppBison.yxx.c" break; - case 714: /* formal_const_expr: formal_const_expr '%' const_expr */ -#line 4056 "dtool/src/cppparser/cppBison.yxx" + case 715: /* formal_const_expr: formal_const_expr '%' const_expr */ +#line 4061 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9272 "built/tmp/cppBison.yxx.c" +#line 9291 "built/tmp/cppBison.yxx.c" break; - case 715: /* formal_const_expr: formal_const_expr '+' const_expr */ -#line 4060 "dtool/src/cppparser/cppBison.yxx" + case 716: /* formal_const_expr: formal_const_expr '+' const_expr */ +#line 4065 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9280 "built/tmp/cppBison.yxx.c" +#line 9299 "built/tmp/cppBison.yxx.c" break; - case 716: /* formal_const_expr: formal_const_expr '-' const_expr */ -#line 4064 "dtool/src/cppparser/cppBison.yxx" + case 717: /* formal_const_expr: formal_const_expr '-' const_expr */ +#line 4069 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9288 "built/tmp/cppBison.yxx.c" +#line 9307 "built/tmp/cppBison.yxx.c" break; - case 717: /* formal_const_expr: formal_const_expr '|' const_expr */ -#line 4068 "dtool/src/cppparser/cppBison.yxx" + case 718: /* formal_const_expr: formal_const_expr '|' const_expr */ +#line 4073 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9296 "built/tmp/cppBison.yxx.c" +#line 9315 "built/tmp/cppBison.yxx.c" break; - case 718: /* formal_const_expr: formal_const_expr '^' const_expr */ -#line 4072 "dtool/src/cppparser/cppBison.yxx" + case 719: /* formal_const_expr: formal_const_expr '^' const_expr */ +#line 4077 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9304 "built/tmp/cppBison.yxx.c" +#line 9323 "built/tmp/cppBison.yxx.c" break; - case 719: /* formal_const_expr: formal_const_expr '&' const_expr */ -#line 4076 "dtool/src/cppparser/cppBison.yxx" + case 720: /* formal_const_expr: formal_const_expr '&' const_expr */ +#line 4081 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9312 "built/tmp/cppBison.yxx.c" +#line 9331 "built/tmp/cppBison.yxx.c" break; - case 720: /* formal_const_expr: formal_const_expr OROR const_expr */ -#line 4080 "dtool/src/cppparser/cppBison.yxx" + case 721: /* formal_const_expr: formal_const_expr OROR const_expr */ +#line 4085 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9320 "built/tmp/cppBison.yxx.c" +#line 9339 "built/tmp/cppBison.yxx.c" break; - case 721: /* formal_const_expr: formal_const_expr ANDAND const_expr */ -#line 4084 "dtool/src/cppparser/cppBison.yxx" + case 722: /* formal_const_expr: formal_const_expr ANDAND const_expr */ +#line 4089 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9328 "built/tmp/cppBison.yxx.c" +#line 9347 "built/tmp/cppBison.yxx.c" break; - case 722: /* formal_const_expr: formal_const_expr EQCOMPARE const_expr */ -#line 4088 "dtool/src/cppparser/cppBison.yxx" + case 723: /* formal_const_expr: formal_const_expr EQCOMPARE const_expr */ +#line 4093 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9336 "built/tmp/cppBison.yxx.c" +#line 9355 "built/tmp/cppBison.yxx.c" break; - case 723: /* formal_const_expr: formal_const_expr NECOMPARE const_expr */ -#line 4092 "dtool/src/cppparser/cppBison.yxx" + case 724: /* formal_const_expr: formal_const_expr NECOMPARE const_expr */ +#line 4097 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9344 "built/tmp/cppBison.yxx.c" +#line 9363 "built/tmp/cppBison.yxx.c" break; - case 724: /* formal_const_expr: formal_const_expr LECOMPARE const_expr */ -#line 4096 "dtool/src/cppparser/cppBison.yxx" + case 725: /* formal_const_expr: formal_const_expr LECOMPARE const_expr */ +#line 4101 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9352 "built/tmp/cppBison.yxx.c" +#line 9371 "built/tmp/cppBison.yxx.c" break; - case 725: /* formal_const_expr: formal_const_expr GECOMPARE const_expr */ -#line 4100 "dtool/src/cppparser/cppBison.yxx" + case 726: /* formal_const_expr: formal_const_expr GECOMPARE const_expr */ +#line 4105 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9360 "built/tmp/cppBison.yxx.c" +#line 9379 "built/tmp/cppBison.yxx.c" break; - case 726: /* formal_const_expr: formal_const_expr SPACESHIP const_expr */ -#line 4104 "dtool/src/cppparser/cppBison.yxx" + case 727: /* formal_const_expr: formal_const_expr SPACESHIP const_expr */ +#line 4109 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(SPACESHIP, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9368 "built/tmp/cppBison.yxx.c" +#line 9387 "built/tmp/cppBison.yxx.c" break; - case 727: /* formal_const_expr: formal_const_expr '<' const_expr */ -#line 4108 "dtool/src/cppparser/cppBison.yxx" + case 728: /* 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 9376 "built/tmp/cppBison.yxx.c" +#line 9395 "built/tmp/cppBison.yxx.c" break; - case 728: /* formal_const_expr: formal_const_expr '>' const_expr */ -#line 4112 "dtool/src/cppparser/cppBison.yxx" + case 729: /* 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 9384 "built/tmp/cppBison.yxx.c" +#line 9403 "built/tmp/cppBison.yxx.c" break; - case 729: /* formal_const_expr: formal_const_expr LSHIFT const_expr */ -#line 4116 "dtool/src/cppparser/cppBison.yxx" + case 730: /* formal_const_expr: formal_const_expr LSHIFT const_expr */ +#line 4121 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9392 "built/tmp/cppBison.yxx.c" +#line 9411 "built/tmp/cppBison.yxx.c" break; - case 730: /* formal_const_expr: formal_const_expr RSHIFT const_expr */ -#line 4120 "dtool/src/cppparser/cppBison.yxx" + case 731: /* formal_const_expr: formal_const_expr RSHIFT const_expr */ +#line 4125 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9400 "built/tmp/cppBison.yxx.c" +#line 9419 "built/tmp/cppBison.yxx.c" break; - case 731: /* formal_const_expr: formal_const_expr '?' const_expr ':' const_expr */ -#line 4124 "dtool/src/cppparser/cppBison.yxx" + case 732: /* formal_const_expr: formal_const_expr '?' const_expr ':' const_expr */ +#line 4129 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9408 "built/tmp/cppBison.yxx.c" +#line 9427 "built/tmp/cppBison.yxx.c" break; - case 732: /* formal_const_expr: formal_const_expr '[' const_expr ']' */ -#line 4128 "dtool/src/cppparser/cppBison.yxx" + case 733: /* formal_const_expr: formal_const_expr '[' const_expr ']' */ +#line 4133 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 9416 "built/tmp/cppBison.yxx.c" +#line 9435 "built/tmp/cppBison.yxx.c" break; - case 733: /* formal_const_expr: formal_const_expr '(' const_expr_comma ')' */ -#line 4132 "dtool/src/cppparser/cppBison.yxx" + case 734: /* formal_const_expr: formal_const_expr '(' const_expr_comma ')' */ +#line 4137 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 9424 "built/tmp/cppBison.yxx.c" +#line 9443 "built/tmp/cppBison.yxx.c" break; - case 734: /* formal_const_expr: formal_const_expr '(' ')' */ -#line 4136 "dtool/src/cppparser/cppBison.yxx" + case 735: /* formal_const_expr: formal_const_expr '(' ')' */ +#line 4141 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 9432 "built/tmp/cppBison.yxx.c" +#line 9451 "built/tmp/cppBison.yxx.c" break; - case 735: /* formal_const_expr: formal_const_expr '.' name */ -#line 4140 "dtool/src/cppparser/cppBison.yxx" + case 736: /* formal_const_expr: formal_const_expr '.' name */ +#line 4145 "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 9440 "built/tmp/cppBison.yxx.c" +#line 9459 "built/tmp/cppBison.yxx.c" break; - case 736: /* formal_const_expr: formal_const_expr POINTSAT const_expr */ -#line 4144 "dtool/src/cppparser/cppBison.yxx" + case 737: /* formal_const_expr: formal_const_expr POINTSAT const_expr */ +#line 4149 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9448 "built/tmp/cppBison.yxx.c" +#line 9467 "built/tmp/cppBison.yxx.c" break; - case 737: /* formal_const_expr: '(' const_expr_comma ')' */ -#line 4148 "dtool/src/cppparser/cppBison.yxx" + case 738: /* formal_const_expr: '(' const_expr_comma ')' */ +#line 4153 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 9456 "built/tmp/cppBison.yxx.c" +#line 9475 "built/tmp/cppBison.yxx.c" break; - case 738: /* formal_const_operand: INTEGER */ -#line 4155 "dtool/src/cppparser/cppBison.yxx" + case 739: /* formal_const_operand: INTEGER */ +#line 4160 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 9464 "built/tmp/cppBison.yxx.c" +#line 9483 "built/tmp/cppBison.yxx.c" break; - case 739: /* formal_const_operand: KW_TRUE */ -#line 4159 "dtool/src/cppparser/cppBison.yxx" + case 740: /* formal_const_operand: KW_TRUE */ +#line 4164 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } -#line 9472 "built/tmp/cppBison.yxx.c" +#line 9491 "built/tmp/cppBison.yxx.c" break; - case 740: /* formal_const_operand: KW_FALSE */ -#line 4163 "dtool/src/cppparser/cppBison.yxx" + case 741: /* formal_const_operand: KW_FALSE */ +#line 4168 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } -#line 9480 "built/tmp/cppBison.yxx.c" +#line 9499 "built/tmp/cppBison.yxx.c" break; - case 741: /* formal_const_operand: CHAR_TOK */ -#line 4167 "dtool/src/cppparser/cppBison.yxx" + case 742: /* formal_const_operand: CHAR_TOK */ +#line 4172 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 9488 "built/tmp/cppBison.yxx.c" +#line 9507 "built/tmp/cppBison.yxx.c" break; - case 742: /* formal_const_operand: REAL */ -#line 4171 "dtool/src/cppparser/cppBison.yxx" + case 743: /* formal_const_operand: REAL */ +#line 4176 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real)); } -#line 9496 "built/tmp/cppBison.yxx.c" +#line 9515 "built/tmp/cppBison.yxx.c" break; - case 743: /* formal_const_operand: string_literal */ -#line 4175 "dtool/src/cppparser/cppBison.yxx" + case 744: /* formal_const_operand: string_literal */ +#line 4180 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9504 "built/tmp/cppBison.yxx.c" +#line 9523 "built/tmp/cppBison.yxx.c" break; - case 744: /* formal_const_operand: CUSTOM_LITERAL */ -#line 4179 "dtool/src/cppparser/cppBison.yxx" + case 745: /* formal_const_operand: CUSTOM_LITERAL */ +#line 4184 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9512 "built/tmp/cppBison.yxx.c" +#line 9531 "built/tmp/cppBison.yxx.c" break; - case 745: /* formal_const_operand: IDENTIFIER */ -#line 4183 "dtool/src/cppparser/cppBison.yxx" + case 746: /* formal_const_operand: IDENTIFIER */ +#line 4188 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer); } -#line 9520 "built/tmp/cppBison.yxx.c" +#line 9539 "built/tmp/cppBison.yxx.c" break; - case 746: /* formal_const_operand: KW_FINAL */ -#line 4187 "dtool/src/cppparser/cppBison.yxx" + case 747: /* formal_const_operand: KW_FINAL */ +#line 4192 "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 9530 "built/tmp/cppBison.yxx.c" +#line 9549 "built/tmp/cppBison.yxx.c" break; - case 747: /* formal_const_operand: KW_OVERRIDE */ -#line 4193 "dtool/src/cppparser/cppBison.yxx" + case 748: /* formal_const_operand: KW_OVERRIDE */ +#line 4198 "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 9540 "built/tmp/cppBison.yxx.c" +#line 9559 "built/tmp/cppBison.yxx.c" break; - case 748: /* formal_const_operand: KW_NULLPTR */ -#line 4199 "dtool/src/cppparser/cppBison.yxx" + case 749: /* formal_const_operand: KW_NULLPTR */ +#line 4204 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); } -#line 9548 "built/tmp/cppBison.yxx.c" +#line 9567 "built/tmp/cppBison.yxx.c" break; - case 749: /* capture_list: empty */ -#line 4207 "dtool/src/cppparser/cppBison.yxx" + case 750: /* capture_list: empty */ +#line 4212 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(); } -#line 9556 "built/tmp/cppBison.yxx.c" +#line 9575 "built/tmp/cppBison.yxx.c" break; - case 750: /* capture_list: '=' */ -#line 4211 "dtool/src/cppparser/cppBison.yxx" + case 751: /* capture_list: '=' */ +#line 4216 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(CPPClosureType::CT_by_value); } -#line 9564 "built/tmp/cppBison.yxx.c" +#line 9583 "built/tmp/cppBison.yxx.c" break; - case 751: /* capture_list: '&' */ -#line 4215 "dtool/src/cppparser/cppBison.yxx" + case 752: /* capture_list: '&' */ +#line 4220 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(CPPClosureType::CT_by_reference); } -#line 9572 "built/tmp/cppBison.yxx.c" +#line 9591 "built/tmp/cppBison.yxx.c" break; - case 752: /* capture_list: capture maybe_initialize */ -#line 4219 "dtool/src/cppparser/cppBison.yxx" + case 753: /* capture_list: capture maybe_initialize */ +#line 4224 "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 9583 "built/tmp/cppBison.yxx.c" +#line 9602 "built/tmp/cppBison.yxx.c" break; - case 753: /* capture_list: capture_list ',' capture maybe_initialize */ -#line 4226 "dtool/src/cppparser/cppBison.yxx" + case 754: /* capture_list: capture_list ',' capture maybe_initialize */ +#line 4231 "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 9594 "built/tmp/cppBison.yxx.c" +#line 9613 "built/tmp/cppBison.yxx.c" break; - case 754: /* capture: '&' name */ -#line 4236 "dtool/src/cppparser/cppBison.yxx" + case 755: /* capture: '&' name */ +#line 4241 "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 9604 "built/tmp/cppBison.yxx.c" +#line 9623 "built/tmp/cppBison.yxx.c" break; - case 755: /* capture: '&' name ELLIPSIS */ -#line 4242 "dtool/src/cppparser/cppBison.yxx" + case 756: /* capture: '&' name ELLIPSIS */ +#line 4247 "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 9614 "built/tmp/cppBison.yxx.c" +#line 9633 "built/tmp/cppBison.yxx.c" break; - case 756: /* capture: name */ -#line 4248 "dtool/src/cppparser/cppBison.yxx" + case 757: /* capture: name */ +#line 4253 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); @@ -9624,11 +9643,11 @@ yyreduce: (yyval.u.capture)->_type = CPPClosureType::CT_by_value; } } -#line 9628 "built/tmp/cppBison.yxx.c" +#line 9647 "built/tmp/cppBison.yxx.c" break; - case 757: /* capture: '*' name */ -#line 4258 "dtool/src/cppparser/cppBison.yxx" + case 758: /* capture: '*' name */ +#line 4263 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); @@ -9637,11 +9656,11 @@ yyreduce: yywarning("only capture name 'this' may be preceded by an asterisk", (yylsp[0])); } } -#line 9641 "built/tmp/cppBison.yxx.c" +#line 9660 "built/tmp/cppBison.yxx.c" break; - case 758: /* class_derivation_name: name */ -#line 4270 "dtool/src/cppparser/cppBison.yxx" + case 759: /* class_derivation_name: name */ +#line 4275 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, true); if (type == nullptr) { @@ -9649,177 +9668,177 @@ yyreduce: } (yyval.u.type) = type; } -#line 9653 "built/tmp/cppBison.yxx.c" +#line 9672 "built/tmp/cppBison.yxx.c" break; - case 759: /* class_derivation_name: KW_TYPENAME name */ -#line 4278 "dtool/src/cppparser/cppBison.yxx" + case 760: /* class_derivation_name: KW_TYPENAME name */ +#line 4283 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 9661 "built/tmp/cppBison.yxx.c" +#line 9680 "built/tmp/cppBison.yxx.c" break; - case 760: /* class_derivation_name: name ELLIPSIS */ -#line 4282 "dtool/src/cppparser/cppBison.yxx" + case 761: /* class_derivation_name: name ELLIPSIS */ +#line 4287 "dtool/src/cppparser/cppBison.yxx" { CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter((yyvsp[-1].u.identifier)); ctp->_packed = true; (yyval.u.type) = CPPType::new_type(ctp); } -#line 9671 "built/tmp/cppBison.yxx.c" +#line 9690 "built/tmp/cppBison.yxx.c" break; - case 761: /* name: IDENTIFIER */ -#line 4312 "dtool/src/cppparser/cppBison.yxx" + case 762: /* name: IDENTIFIER */ +#line 4317 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9679 "built/tmp/cppBison.yxx.c" +#line 9698 "built/tmp/cppBison.yxx.c" break; - case 762: /* name: TYPENAME_IDENTIFIER */ -#line 4316 "dtool/src/cppparser/cppBison.yxx" + case 763: /* name: TYPENAME_IDENTIFIER */ +#line 4321 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9687 "built/tmp/cppBison.yxx.c" +#line 9706 "built/tmp/cppBison.yxx.c" break; - case 763: /* name: TYPEPACK_IDENTIFIER */ -#line 4320 "dtool/src/cppparser/cppBison.yxx" + case 764: /* name: TYPEPACK_IDENTIFIER */ +#line 4325 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9695 "built/tmp/cppBison.yxx.c" +#line 9714 "built/tmp/cppBison.yxx.c" break; - case 764: /* name: KW_FINAL */ -#line 4324 "dtool/src/cppparser/cppBison.yxx" + case 765: /* name: KW_FINAL */ +#line 4329 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("final", (yylsp[0])); } -#line 9703 "built/tmp/cppBison.yxx.c" +#line 9722 "built/tmp/cppBison.yxx.c" break; - case 765: /* name: KW_OVERRIDE */ -#line 4328 "dtool/src/cppparser/cppBison.yxx" + case 766: /* name: KW_OVERRIDE */ +#line 4333 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0])); } -#line 9711 "built/tmp/cppBison.yxx.c" +#line 9730 "built/tmp/cppBison.yxx.c" break; - case 766: /* name: KW_SIGNED */ -#line 4332 "dtool/src/cppparser/cppBison.yxx" + case 767: /* name: KW_SIGNED */ +#line 4337 "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 9721 "built/tmp/cppBison.yxx.c" +#line 9740 "built/tmp/cppBison.yxx.c" break; - case 767: /* name: KW_FLOAT */ -#line 4338 "dtool/src/cppparser/cppBison.yxx" + case 768: /* name: KW_FLOAT */ +#line 4343 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("float", (yylsp[0])); } -#line 9729 "built/tmp/cppBison.yxx.c" +#line 9748 "built/tmp/cppBison.yxx.c" break; - case 768: /* name: KW_PUBLIC */ -#line 4342 "dtool/src/cppparser/cppBison.yxx" + case 769: /* name: KW_PUBLIC */ +#line 4347 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("public", (yylsp[0])); } -#line 9737 "built/tmp/cppBison.yxx.c" +#line 9756 "built/tmp/cppBison.yxx.c" break; - case 769: /* name: KW_PRIVATE */ -#line 4346 "dtool/src/cppparser/cppBison.yxx" + case 770: /* name: KW_PRIVATE */ +#line 4351 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("private", (yylsp[0])); } -#line 9745 "built/tmp/cppBison.yxx.c" +#line 9764 "built/tmp/cppBison.yxx.c" break; - case 770: /* name: KW_STATIC */ -#line 4350 "dtool/src/cppparser/cppBison.yxx" + case 771: /* name: KW_STATIC */ +#line 4355 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("static", (yylsp[0])); } -#line 9753 "built/tmp/cppBison.yxx.c" +#line 9772 "built/tmp/cppBison.yxx.c" break; - case 771: /* name: KW_DEFAULT */ -#line 4354 "dtool/src/cppparser/cppBison.yxx" + case 772: /* name: KW_DEFAULT */ +#line 4359 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("default", (yylsp[0])); } -#line 9761 "built/tmp/cppBison.yxx.c" +#line 9780 "built/tmp/cppBison.yxx.c" break; - case 772: /* name_no_final: IDENTIFIER */ -#line 4365 "dtool/src/cppparser/cppBison.yxx" + case 773: /* name_no_final: IDENTIFIER */ +#line 4370 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9769 "built/tmp/cppBison.yxx.c" +#line 9788 "built/tmp/cppBison.yxx.c" break; - case 773: /* name_no_final: TYPENAME_IDENTIFIER */ -#line 4369 "dtool/src/cppparser/cppBison.yxx" + case 774: /* name_no_final: TYPENAME_IDENTIFIER */ +#line 4374 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9777 "built/tmp/cppBison.yxx.c" +#line 9796 "built/tmp/cppBison.yxx.c" break; - case 774: /* name_no_final: TYPEPACK_IDENTIFIER */ -#line 4373 "dtool/src/cppparser/cppBison.yxx" + case 775: /* name_no_final: TYPEPACK_IDENTIFIER */ +#line 4378 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9785 "built/tmp/cppBison.yxx.c" +#line 9804 "built/tmp/cppBison.yxx.c" break; - case 775: /* name_no_final: KW_OVERRIDE */ -#line 4377 "dtool/src/cppparser/cppBison.yxx" + case 776: /* name_no_final: KW_OVERRIDE */ +#line 4382 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0])); } -#line 9793 "built/tmp/cppBison.yxx.c" +#line 9812 "built/tmp/cppBison.yxx.c" break; - case 776: /* string_literal: SIMPLE_STRING */ -#line 4385 "dtool/src/cppparser/cppBison.yxx" + case 777: /* string_literal: SIMPLE_STRING */ +#line 4390 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].str)); } -#line 9801 "built/tmp/cppBison.yxx.c" +#line 9820 "built/tmp/cppBison.yxx.c" break; - case 777: /* string_literal: STRING_LITERAL */ -#line 4389 "dtool/src/cppparser/cppBison.yxx" + case 778: /* string_literal: STRING_LITERAL */ +#line 4394 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9809 "built/tmp/cppBison.yxx.c" +#line 9828 "built/tmp/cppBison.yxx.c" break; - case 778: /* string_literal: string_literal SIMPLE_STRING */ -#line 4393 "dtool/src/cppparser/cppBison.yxx" + case 779: /* string_literal: string_literal SIMPLE_STRING */ +#line 4398 "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 9819 "built/tmp/cppBison.yxx.c" +#line 9838 "built/tmp/cppBison.yxx.c" break; - case 779: /* string_literal: string_literal STRING_LITERAL */ -#line 4399 "dtool/src/cppparser/cppBison.yxx" + case 780: /* string_literal: string_literal STRING_LITERAL */ +#line 4404 "dtool/src/cppparser/cppBison.yxx" { // We have to check that the two literal types match up. (yyval.u.expr) = (yyvsp[-1].u.expr); @@ -9828,11 +9847,11 @@ yyreduce: } (yyval.u.expr)->_str += (yyvsp[0].u.expr)->_str; } -#line 9832 "built/tmp/cppBison.yxx.c" +#line 9851 "built/tmp/cppBison.yxx.c" break; -#line 9836 "built/tmp/cppBison.yxx.c" +#line 9855 "built/tmp/cppBison.yxx.c" default: break; } diff --git a/dtool/src/cppparser/cppBison.h.prebuilt b/dtool/src/cppparser/cppBison.h.prebuilt index 0099c87989..f5b85b696c 100644 --- a/dtool/src/cppparser/cppBison.h.prebuilt +++ b/dtool/src/cppparser/cppBison.h.prebuilt @@ -155,55 +155,56 @@ extern int cppyydebug; 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_UNION = 359, /* KW_IS_UNION */ - KW_LONG = 360, /* KW_LONG */ - KW_MAKE_MAP_KEYS_SEQ = 361, /* KW_MAKE_MAP_KEYS_SEQ */ - KW_MAKE_MAP_PROPERTY = 362, /* KW_MAKE_MAP_PROPERTY */ - KW_MAKE_PROPERTY = 363, /* KW_MAKE_PROPERTY */ - KW_MAKE_PROPERTY2 = 364, /* KW_MAKE_PROPERTY2 */ - KW_MAKE_SEQ = 365, /* KW_MAKE_SEQ */ - KW_MAKE_SEQ_PROPERTY = 366, /* KW_MAKE_SEQ_PROPERTY */ - KW_MUTABLE = 367, /* KW_MUTABLE */ - KW_NAMESPACE = 368, /* KW_NAMESPACE */ - KW_NEW = 369, /* KW_NEW */ - KW_NOEXCEPT = 370, /* KW_NOEXCEPT */ - KW_NOEXCEPT_LPAREN = 371, /* KW_NOEXCEPT_LPAREN */ - KW_NULLPTR = 372, /* KW_NULLPTR */ - KW_OPERATOR = 373, /* KW_OPERATOR */ - KW_OVERRIDE = 374, /* KW_OVERRIDE */ - KW_PRIVATE = 375, /* KW_PRIVATE */ - KW_PROTECTED = 376, /* KW_PROTECTED */ - KW_PUBLIC = 377, /* KW_PUBLIC */ - KW_REGISTER = 378, /* KW_REGISTER */ - KW_REINTERPRET_CAST = 379, /* KW_REINTERPRET_CAST */ - KW_RETURN = 380, /* KW_RETURN */ - KW_SHORT = 381, /* KW_SHORT */ - KW_SIGNED = 382, /* KW_SIGNED */ - KW_SIZEOF = 383, /* KW_SIZEOF */ - KW_STATIC = 384, /* KW_STATIC */ - KW_STATIC_ASSERT = 385, /* KW_STATIC_ASSERT */ - KW_STATIC_CAST = 386, /* KW_STATIC_CAST */ - KW_STRUCT = 387, /* KW_STRUCT */ - KW_TEMPLATE = 388, /* KW_TEMPLATE */ - KW_THREAD_LOCAL = 389, /* KW_THREAD_LOCAL */ - KW_THROW = 390, /* KW_THROW */ - KW_TRUE = 391, /* KW_TRUE */ - KW_TRY = 392, /* KW_TRY */ - KW_TYPEDEF = 393, /* KW_TYPEDEF */ - KW_TYPEID = 394, /* KW_TYPEID */ - KW_TYPENAME = 395, /* KW_TYPENAME */ - KW_UNDERLYING_TYPE = 396, /* KW_UNDERLYING_TYPE */ - KW_UNION = 397, /* KW_UNION */ - KW_UNSIGNED = 398, /* KW_UNSIGNED */ - KW_USING = 399, /* KW_USING */ - KW_VIRTUAL = 400, /* KW_VIRTUAL */ - KW_VOID = 401, /* KW_VOID */ - KW_VOLATILE = 402, /* KW_VOLATILE */ - KW_WCHAR_T = 403, /* KW_WCHAR_T */ - KW_WHILE = 404, /* KW_WHILE */ - START_CPP = 405, /* START_CPP */ - START_CONST_EXPR = 406, /* START_CONST_EXPR */ - START_TYPE = 407 /* START_TYPE */ + 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 */ }; typedef enum yytokentype yytoken_kind_t; #endif @@ -313,55 +314,56 @@ extern int cppyydebug; #define KW_IS_POLYMORPHIC 356 #define KW_IS_STANDARD_LAYOUT 357 #define KW_IS_TRIVIAL 358 -#define KW_IS_UNION 359 -#define KW_LONG 360 -#define KW_MAKE_MAP_KEYS_SEQ 361 -#define KW_MAKE_MAP_PROPERTY 362 -#define KW_MAKE_PROPERTY 363 -#define KW_MAKE_PROPERTY2 364 -#define KW_MAKE_SEQ 365 -#define KW_MAKE_SEQ_PROPERTY 366 -#define KW_MUTABLE 367 -#define KW_NAMESPACE 368 -#define KW_NEW 369 -#define KW_NOEXCEPT 370 -#define KW_NOEXCEPT_LPAREN 371 -#define KW_NULLPTR 372 -#define KW_OPERATOR 373 -#define KW_OVERRIDE 374 -#define KW_PRIVATE 375 -#define KW_PROTECTED 376 -#define KW_PUBLIC 377 -#define KW_REGISTER 378 -#define KW_REINTERPRET_CAST 379 -#define KW_RETURN 380 -#define KW_SHORT 381 -#define KW_SIGNED 382 -#define KW_SIZEOF 383 -#define KW_STATIC 384 -#define KW_STATIC_ASSERT 385 -#define KW_STATIC_CAST 386 -#define KW_STRUCT 387 -#define KW_TEMPLATE 388 -#define KW_THREAD_LOCAL 389 -#define KW_THROW 390 -#define KW_TRUE 391 -#define KW_TRY 392 -#define KW_TYPEDEF 393 -#define KW_TYPEID 394 -#define KW_TYPENAME 395 -#define KW_UNDERLYING_TYPE 396 -#define KW_UNION 397 -#define KW_UNSIGNED 398 -#define KW_USING 399 -#define KW_VIRTUAL 400 -#define KW_VOID 401 -#define KW_VOLATILE 402 -#define KW_WCHAR_T 403 -#define KW_WHILE 404 -#define START_CPP 405 -#define START_CONST_EXPR 406 -#define START_TYPE 407 +#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 /* Value type. */ diff --git a/dtool/src/cppparser/cppBison.yxx b/dtool/src/cppparser/cppBison.yxx index 79d9e4496c..0eed60e0d9 100644 --- a/dtool/src/cppparser/cppBison.yxx +++ b/dtool/src/cppparser/cppBison.yxx @@ -310,6 +310,7 @@ pop_struct() { %token KW_IS_POLYMORPHIC %token KW_IS_STANDARD_LAYOUT %token KW_IS_TRIVIAL +%token KW_IS_TRIVIALLY_COPYABLE %token KW_IS_UNION %token KW_LONG %token KW_MAKE_MAP_KEYS_SEQ @@ -3939,6 +3940,10 @@ const_operand: | KW_IS_TRIVIAL '(' full_type ')' { $$ = new CPPExpression(CPPExpression::type_trait(KW_IS_TRIVIAL, $3)); +} + | KW_IS_TRIVIALLY_COPYABLE '(' full_type ')' +{ + $$ = new CPPExpression(CPPExpression::type_trait(KW_IS_TRIVIALLY_COPYABLE, $3)); } | KW_IS_UNION '(' full_type ')' { diff --git a/dtool/src/cppparser/cppConstType.cxx b/dtool/src/cppparser/cppConstType.cxx index 139a25dc5c..585f545b63 100644 --- a/dtool/src/cppparser/cppConstType.cxx +++ b/dtool/src/cppparser/cppConstType.cxx @@ -110,6 +110,14 @@ is_trivial() const { return _wrapped_around->is_trivial(); } +/** + * Returns true if the type can be safely copied by memcpy or memmove. + */ +bool CPPConstType:: +is_trivially_copyable() const { + return _wrapped_around->is_trivially_copyable(); +} + /** * Returns true if the type can be constructed using the given argument. */ diff --git a/dtool/src/cppparser/cppConstType.h b/dtool/src/cppparser/cppConstType.h index 4f49a94c54..81db17884a 100644 --- a/dtool/src/cppparser/cppConstType.h +++ b/dtool/src/cppparser/cppConstType.h @@ -39,6 +39,7 @@ public: virtual bool is_fundamental() const; virtual bool is_standard_layout() const; virtual bool is_trivial() const; + virtual bool is_trivially_copyable() const; virtual bool is_constructible(const CPPType *type) const; virtual bool is_default_constructible() const; virtual bool is_copy_constructible() const; diff --git a/dtool/src/cppparser/cppExpression.cxx b/dtool/src/cppparser/cppExpression.cxx index 516f2418ac..21797c76f7 100644 --- a/dtool/src/cppparser/cppExpression.cxx +++ b/dtool/src/cppparser/cppExpression.cxx @@ -953,6 +953,9 @@ evaluate() const { case KW_IS_TRIVIAL: return Result(_u._type_trait._type->is_trivial()); + case KW_IS_TRIVIALLY_COPYABLE: + return Result(_u._type_trait._type->is_trivially_copyable()); + case KW_IS_UNION: { CPPExtensionType *ext_type = _u._type_trait._type->as_extension_type(); @@ -2138,6 +2141,9 @@ output(std::ostream &out, int indent_level, CPPScope *scope, bool) const { case KW_IS_TRIVIAL: out << "__is_trivial"; break; + case KW_IS_TRIVIALLY_COPYABLE: + out << "__is_trivially_copyable"; + break; case KW_IS_UNION: out << "__is_union"; break; diff --git a/dtool/src/cppparser/cppExtensionType.cxx b/dtool/src/cppparser/cppExtensionType.cxx index 48e6b83488..bf0b963378 100644 --- a/dtool/src/cppparser/cppExtensionType.cxx +++ b/dtool/src/cppparser/cppExtensionType.cxx @@ -104,6 +104,14 @@ is_trivial() const { return (_type == T_enum || _type == T_enum_class || _type == T_enum_struct); } +/** + * Returns true if the type can be safely copied by memcpy or memmove. + */ +bool CPPExtensionType:: +is_trivially_copyable() const { + return (_type == T_enum || _type == T_enum_class || _type == T_enum_struct); +} + /** * Returns true if the type can be constructed using the given argument. */ diff --git a/dtool/src/cppparser/cppExtensionType.h b/dtool/src/cppparser/cppExtensionType.h index 1f3881a2fa..acdef469b9 100644 --- a/dtool/src/cppparser/cppExtensionType.h +++ b/dtool/src/cppparser/cppExtensionType.h @@ -49,6 +49,7 @@ public: virtual bool is_tbd() const; virtual bool is_standard_layout() const; virtual bool is_trivial() const; + virtual bool is_trivially_copyable() const; virtual bool is_constructible(const CPPType *type) const; virtual bool is_default_constructible() const; virtual bool is_copy_constructible() const; diff --git a/dtool/src/cppparser/cppFunctionType.cxx b/dtool/src/cppparser/cppFunctionType.cxx index 6b927a9099..9eb7c8fdeb 100644 --- a/dtool/src/cppparser/cppFunctionType.cxx +++ b/dtool/src/cppparser/cppFunctionType.cxx @@ -188,6 +188,14 @@ is_trivial() const { return false; } +/** + * Returns true if the type can be safely copied by memcpy or memmove. + */ +bool CPPFunctionType:: +is_trivially_copyable() const { + return false; +} + /** * */ diff --git a/dtool/src/cppparser/cppFunctionType.h b/dtool/src/cppparser/cppFunctionType.h index 83fc3ababd..3370a079a4 100644 --- a/dtool/src/cppparser/cppFunctionType.h +++ b/dtool/src/cppparser/cppFunctionType.h @@ -68,6 +68,7 @@ public: virtual bool is_tbd() const; virtual bool is_trivial() const; + virtual bool is_trivially_copyable() const; virtual void output(std::ostream &out, int indent_level, CPPScope *scope, bool complete) const; diff --git a/dtool/src/cppparser/cppPointerType.cxx b/dtool/src/cppparser/cppPointerType.cxx index a3317c3f4f..768bd43841 100644 --- a/dtool/src/cppparser/cppPointerType.cxx +++ b/dtool/src/cppparser/cppPointerType.cxx @@ -107,6 +107,14 @@ is_trivial() const { return true; } +/** + * Returns true if the type can be safely copied by memcpy or memmove. + */ +bool CPPPointerType:: +is_trivially_copyable() const { + return true; +} + /** * Returns true if the type can be constructed using the given argument. */ diff --git a/dtool/src/cppparser/cppPointerType.h b/dtool/src/cppparser/cppPointerType.h index b5f42c57a2..683398be73 100644 --- a/dtool/src/cppparser/cppPointerType.h +++ b/dtool/src/cppparser/cppPointerType.h @@ -38,6 +38,7 @@ public: virtual bool is_tbd() const; virtual bool is_standard_layout() const; virtual bool is_trivial() const; + virtual bool is_trivially_copyable() const; virtual bool is_constructible(const CPPType *other) const; virtual bool is_default_constructible() const; virtual bool is_copy_constructible() const; diff --git a/dtool/src/cppparser/cppPreprocessor.cxx b/dtool/src/cppparser/cppPreprocessor.cxx index d8ee49e491..878e1c66d0 100644 --- a/dtool/src/cppparser/cppPreprocessor.cxx +++ b/dtool/src/cppparser/cppPreprocessor.cxx @@ -2680,6 +2680,7 @@ check_keyword(const string &name) { if (name == "__is_polymorphic") return KW_IS_POLYMORPHIC; if (name == "__is_standard_layout") return KW_IS_STANDARD_LAYOUT; if (name == "__is_trivial") return KW_IS_TRIVIAL; + if (name == "__is_trivially_copyable") return KW_IS_TRIVIALLY_COPYABLE; if (name == "__is_union") return KW_IS_UNION; if (name == "long") return KW_LONG; if (name == "__make_map_keys_seq") return KW_MAKE_MAP_KEYS_SEQ; diff --git a/dtool/src/cppparser/cppReferenceType.cxx b/dtool/src/cppparser/cppReferenceType.cxx index b61979a0e7..100111eac2 100644 --- a/dtool/src/cppparser/cppReferenceType.cxx +++ b/dtool/src/cppparser/cppReferenceType.cxx @@ -105,6 +105,14 @@ is_trivial() const { return false; } +/** + * Returns true if the type can be safely copied by memcpy or memmove. + */ +bool CPPReferenceType:: +is_trivially_copyable() const { + return false; +} + /** * Returns true if the type can be constructed using the given argument. */ diff --git a/dtool/src/cppparser/cppReferenceType.h b/dtool/src/cppparser/cppReferenceType.h index 273f645377..df79a1ec21 100644 --- a/dtool/src/cppparser/cppReferenceType.h +++ b/dtool/src/cppparser/cppReferenceType.h @@ -44,6 +44,7 @@ public: virtual bool is_tbd() const; virtual bool is_standard_layout() const; virtual bool is_trivial() const; + virtual bool is_trivially_copyable() const; virtual bool is_constructible(const CPPType *type) const; virtual bool is_default_constructible() const; virtual bool is_copy_constructible() const; diff --git a/dtool/src/cppparser/cppSimpleType.cxx b/dtool/src/cppparser/cppSimpleType.cxx index 5ff2f64da4..621496bac2 100644 --- a/dtool/src/cppparser/cppSimpleType.cxx +++ b/dtool/src/cppparser/cppSimpleType.cxx @@ -63,7 +63,15 @@ is_standard_layout() const { */ bool CPPSimpleType:: is_trivial() const { - return true; + return (_type != T_unknown && _type != T_parameter && _type != T_auto); +} + +/** + * Returns true if the type can be safely copied by memcpy or memmove. + */ +bool CPPSimpleType:: +is_trivially_copyable() const { + return (_type != T_unknown && _type != T_parameter && _type != T_auto); } /** diff --git a/dtool/src/cppparser/cppSimpleType.h b/dtool/src/cppparser/cppSimpleType.h index 31442fee8d..001d9eb608 100644 --- a/dtool/src/cppparser/cppSimpleType.h +++ b/dtool/src/cppparser/cppSimpleType.h @@ -73,6 +73,7 @@ public: virtual bool is_fundamental() const; virtual bool is_standard_layout() const; virtual bool is_trivial() const; + virtual bool is_trivially_copyable() const; virtual bool is_constructible(const CPPType *type) const; virtual bool is_default_constructible() const; virtual bool is_copy_constructible() const; diff --git a/dtool/src/cppparser/cppStructType.cxx b/dtool/src/cppparser/cppStructType.cxx index ce5bcc2ffb..b2ce921e70 100644 --- a/dtool/src/cppparser/cppStructType.cxx +++ b/dtool/src/cppparser/cppStructType.cxx @@ -355,6 +355,80 @@ is_trivial() const { return is_default_constructible(V_public); } +/** + * Returns true if the type can be safely copied by memcpy or memmove. + */ +bool CPPStructType:: +is_trivially_copyable() const { + // Make sure all base classes are trivially copyable and non-virtual. + Derivation::const_iterator di; + for (di = _derivation.begin(); di != _derivation.end(); ++di) { + CPPStructType *base = (*di)._base->as_struct_type(); + if ((*di)._is_virtual || (base != nullptr && !base->is_trivially_copyable())) { + return false; + } + } + + assert(_scope != nullptr); + + // Make sure all members are trivially copyable. + CPPScope::Variables::const_iterator vi; + for (vi = _scope->_variables.begin(); vi != _scope->_variables.end(); ++vi) { + CPPInstance *instance = (*vi).second; + assert(instance != nullptr); + + if (instance->_storage_class & CPPInstance::SC_static) { + // Static members don't count. + continue; + } + + assert(instance->_type != nullptr); + if (!instance->_type->is_trivially_copyable()) { + return false; + } + } + + // Now look for functions that are virtual or con/destructors. + CPPScope::Functions::const_iterator fi; + for (fi = _scope->_functions.begin(); fi != _scope->_functions.end(); ++fi) { + CPPFunctionGroup *fgroup = (*fi).second; + + CPPFunctionGroup::Instances::const_iterator ii; + for (ii = fgroup->_instances.begin(); ii != fgroup->_instances.end(); ++ii) { + CPPInstance *inst = (*ii); + + if (inst->_storage_class & CPPInstance::SC_virtual) { + // Virtual functions are banned right off the bat. + return false; + } + + // The following checks don't apply for defaulted functions. + if (inst->_storage_class & CPPInstance::SC_defaulted) { + continue; + } + + assert(inst->_type != nullptr); + CPPFunctionType *ftype = inst->_type->as_function_type(); + assert(ftype != nullptr); + + if (ftype->_flags & (CPPFunctionType::F_destructor | + CPPFunctionType::F_move_constructor | + CPPFunctionType::F_copy_constructor)) { + // User-provided destructors and copy/move constructors are not + // trivial unless they are defaulted (and not virtual). + return false; + } + + if (fgroup->_name == "operator =") { + // Or assignment operators. + return false; + } + } + } + + return true; +} + /** * Returns true if the type can be constructed using the given argument. * This implementation is rudimentary, as it does not attempt to follow all of diff --git a/dtool/src/cppparser/cppStructType.h b/dtool/src/cppparser/cppStructType.h index 2119e7f233..c3eb8f1bae 100644 --- a/dtool/src/cppparser/cppStructType.h +++ b/dtool/src/cppparser/cppStructType.h @@ -54,6 +54,7 @@ public: virtual bool is_incomplete() const; virtual bool is_standard_layout() const; virtual bool is_trivial() const; + virtual bool is_trivially_copyable() const; virtual bool is_constructible(const CPPType *arg_type) const; virtual bool is_default_constructible() const; virtual bool is_copy_constructible() const; diff --git a/dtool/src/cppparser/cppType.cxx b/dtool/src/cppparser/cppType.cxx index eea6f47bf6..fcc593bbde 100644 --- a/dtool/src/cppparser/cppType.cxx +++ b/dtool/src/cppparser/cppType.cxx @@ -88,6 +88,14 @@ is_trivial() const { return false; } +/** + * Returns true if the type can be safely copied by memcpy or memmove. + */ +bool CPPType:: +is_trivially_copyable() const { + return false; +} + /** * Returns true if the type can be constructed using the given argument. */ diff --git a/dtool/src/cppparser/cppType.h b/dtool/src/cppparser/cppType.h index 82f634080c..d5245ac8fe 100644 --- a/dtool/src/cppparser/cppType.h +++ b/dtool/src/cppparser/cppType.h @@ -48,6 +48,7 @@ public: virtual bool is_fundamental() const; virtual bool is_standard_layout() const; virtual bool is_trivial() const; + virtual bool is_trivially_copyable() const; virtual bool is_constructible(const CPPType *type) const; virtual bool is_default_constructible() const; virtual bool is_copy_constructible() const; diff --git a/dtool/src/cppparser/cppTypedefType.cxx b/dtool/src/cppparser/cppTypedefType.cxx index 295507ac25..cd325d7349 100644 --- a/dtool/src/cppparser/cppTypedefType.cxx +++ b/dtool/src/cppparser/cppTypedefType.cxx @@ -187,6 +187,14 @@ is_trivial() const { return _type->is_trivial(); } +/** + * Returns true if the type can be safely copied by memcpy or memmove. + */ +bool CPPTypedefType:: +is_trivially_copyable() const { + return _type->is_trivially_copyable(); +} + /** * Returns true if the type can be constructed using the given argument. */ diff --git a/dtool/src/cppparser/cppTypedefType.h b/dtool/src/cppparser/cppTypedefType.h index 9591300ac1..298505f06b 100644 --- a/dtool/src/cppparser/cppTypedefType.h +++ b/dtool/src/cppparser/cppTypedefType.h @@ -46,6 +46,7 @@ public: virtual bool is_fundamental() const; virtual bool is_standard_layout() const; virtual bool is_trivial() const; + virtual bool is_trivially_copyable() const; virtual bool is_constructible(const CPPType *type) const; virtual bool is_default_constructible() const; virtual bool is_copy_constructible() const; diff --git a/dtool/src/interrogate/parse_file.cxx b/dtool/src/interrogate/parse_file.cxx index 0b8ff924ec..f1ae0632ea 100644 --- a/dtool/src/interrogate/parse_file.cxx +++ b/dtool/src/interrogate/parse_file.cxx @@ -82,6 +82,7 @@ show_type_or_expression(const string &str) { << "is_fundamental = " << type->is_fundamental() << "\n" << "is_standard_layout = " << type->is_standard_layout() << "\n" << "is_trivial = " << type->is_trivial() << "\n" + << "is_trivially_copyable = " << type->is_trivially_copyable() << "\n" << "is_default_constructible = " << type->is_default_constructible() << "\n" << "is_copy_constructible = " << type->is_copy_constructible() << "\n" << "is_copy_assignable = " << type->is_copy_assignable() << "\n" diff --git a/dtool/src/parser-inc/type_traits b/dtool/src/parser-inc/type_traits index 97e3313459..db944928e7 100644 --- a/dtool/src/parser-inc/type_traits +++ b/dtool/src/parser-inc/type_traits @@ -47,6 +47,9 @@ namespace std { template struct is_trivial : integral_constant {}; + template + struct is_trivially_copyable : integral_constant {}; + template struct is_standard_layout : integral_constant {};