diff --git a/src/parser/ds2_parser.cpp b/src/parser/ds2_parser.cpp index ce58d796f..5a7eb4ade 100644 --- a/src/parser/ds2_parser.cpp +++ b/src/parser/ds2_parser.cpp @@ -298,331 +298,339 @@ enum yysymbol_kind_t YYSYMBOL_FLOAT = 160, /* "floating point constant" */ YYSYMBOL_DOUBLE = 161, /* "double constant" */ YYSYMBOL_NAME = 162, /* "name" */ - YYSYMBOL_BEGIN_STRING = 163, /* "start of the string" */ - YYSYMBOL_STRING_CHARACTER = 164, /* STRING_CHARACTER */ - YYSYMBOL_STRING_CHARACTER_ESC = 165, /* STRING_CHARACTER_ESC */ - YYSYMBOL_END_STRING = 166, /* "end of the string" */ - YYSYMBOL_BEGIN_STRING_EXPR = 167, /* "{" */ - YYSYMBOL_END_STRING_EXPR = 168, /* "}" */ - YYSYMBOL_END_OF_READ = 169, /* "end of failed eader macro" */ - YYSYMBOL_170_ = 170, /* ',' */ - YYSYMBOL_171_ = 171, /* '=' */ - YYSYMBOL_172_ = 172, /* '?' */ - YYSYMBOL_173_ = 173, /* ':' */ - YYSYMBOL_174_ = 174, /* '|' */ - YYSYMBOL_175_ = 175, /* '^' */ - YYSYMBOL_176_ = 176, /* '&' */ - YYSYMBOL_177_ = 177, /* '<' */ - YYSYMBOL_178_ = 178, /* '>' */ - YYSYMBOL_179_ = 179, /* '-' */ - YYSYMBOL_180_ = 180, /* '+' */ - YYSYMBOL_181_ = 181, /* '*' */ - YYSYMBOL_182_ = 182, /* '/' */ - YYSYMBOL_183_ = 183, /* '%' */ - YYSYMBOL_UNARY_MINUS = 184, /* UNARY_MINUS */ - YYSYMBOL_UNARY_PLUS = 185, /* UNARY_PLUS */ - YYSYMBOL_186_ = 186, /* '~' */ - YYSYMBOL_187_ = 187, /* '!' */ - YYSYMBOL_PRE_INC = 188, /* PRE_INC */ - YYSYMBOL_PRE_DEC = 189, /* PRE_DEC */ - YYSYMBOL_LLPIPE = 190, /* LLPIPE */ - YYSYMBOL_POST_INC = 191, /* POST_INC */ - YYSYMBOL_POST_DEC = 192, /* POST_DEC */ - YYSYMBOL_DEREF = 193, /* DEREF */ - YYSYMBOL_194_ = 194, /* '.' */ - YYSYMBOL_195_ = 195, /* '[' */ - YYSYMBOL_196_ = 196, /* ']' */ - YYSYMBOL_197_ = 197, /* '(' */ - YYSYMBOL_198_ = 198, /* ')' */ - YYSYMBOL_199_ = 199, /* '$' */ - YYSYMBOL_200_ = 200, /* '@' */ - YYSYMBOL_201_ = 201, /* ';' */ - YYSYMBOL_202_ = 202, /* '{' */ - YYSYMBOL_203_ = 203, /* '}' */ - YYSYMBOL_204_ = 204, /* '#' */ - YYSYMBOL_YYACCEPT = 205, /* $accept */ - YYSYMBOL_program = 206, /* program */ - YYSYMBOL_top_level_reader_macro = 207, /* top_level_reader_macro */ - YYSYMBOL_optional_public_or_private_module = 208, /* optional_public_or_private_module */ - YYSYMBOL_module_name = 209, /* module_name */ - YYSYMBOL_module_declaration = 210, /* module_declaration */ - YYSYMBOL_character_sequence = 211, /* character_sequence */ - YYSYMBOL_string_constant = 212, /* string_constant */ - YYSYMBOL_string_builder_body = 213, /* string_builder_body */ - YYSYMBOL_string_builder = 214, /* string_builder */ - YYSYMBOL_reader_character_sequence = 215, /* reader_character_sequence */ - YYSYMBOL_expr_reader = 216, /* expr_reader */ - YYSYMBOL_217_1 = 217, /* $@1 */ - YYSYMBOL_options_declaration = 218, /* options_declaration */ - YYSYMBOL_require_declaration = 219, /* require_declaration */ - YYSYMBOL_require_module_name = 220, /* require_module_name */ - YYSYMBOL_require_module = 221, /* require_module */ - YYSYMBOL_is_public_module = 222, /* is_public_module */ - YYSYMBOL_expect_declaration = 223, /* expect_declaration */ - YYSYMBOL_expect_list = 224, /* expect_list */ - YYSYMBOL_expect_error = 225, /* expect_error */ - YYSYMBOL_expression_label = 226, /* expression_label */ - YYSYMBOL_expression_goto = 227, /* expression_goto */ - YYSYMBOL_elif_or_static_elif = 228, /* elif_or_static_elif */ - YYSYMBOL_expression_else = 229, /* expression_else */ - YYSYMBOL_if_or_static_if = 230, /* if_or_static_if */ - YYSYMBOL_expression_else_one_liner = 231, /* expression_else_one_liner */ - YYSYMBOL_expression_if_one_liner = 232, /* expression_if_one_liner */ - YYSYMBOL_semis = 233, /* semis */ - YYSYMBOL_optional_semis = 234, /* optional_semis */ - YYSYMBOL_expression_if_then_else = 235, /* expression_if_then_else */ - YYSYMBOL_236_2 = 236, /* $@2 */ - YYSYMBOL_expression_if_then_else_oneliner = 237, /* expression_if_then_else_oneliner */ - YYSYMBOL_expression_for_loop = 238, /* expression_for_loop */ - YYSYMBOL_239_3 = 239, /* $@3 */ - YYSYMBOL_expression_unsafe = 240, /* expression_unsafe */ - YYSYMBOL_expression_while_loop = 241, /* expression_while_loop */ - YYSYMBOL_242_4 = 242, /* $@4 */ - YYSYMBOL_expression_with = 243, /* expression_with */ - YYSYMBOL_244_5 = 244, /* $@5 */ - YYSYMBOL_expression_with_alias = 245, /* expression_with_alias */ - YYSYMBOL_annotation_argument_value = 246, /* annotation_argument_value */ - YYSYMBOL_annotation_argument_value_list = 247, /* annotation_argument_value_list */ - YYSYMBOL_annotation_argument_name = 248, /* annotation_argument_name */ - YYSYMBOL_annotation_argument = 249, /* annotation_argument */ - YYSYMBOL_annotation_argument_list = 250, /* annotation_argument_list */ - YYSYMBOL_metadata_argument_list = 251, /* metadata_argument_list */ - YYSYMBOL_annotation_declaration_name = 252, /* annotation_declaration_name */ - YYSYMBOL_annotation_declaration_basic = 253, /* annotation_declaration_basic */ - YYSYMBOL_annotation_declaration = 254, /* annotation_declaration */ - YYSYMBOL_annotation_list = 255, /* annotation_list */ - YYSYMBOL_optional_annotation_list = 256, /* optional_annotation_list */ - YYSYMBOL_optional_function_argument_list = 257, /* optional_function_argument_list */ - YYSYMBOL_optional_function_type = 258, /* optional_function_type */ - YYSYMBOL_function_name = 259, /* function_name */ - YYSYMBOL_global_function_declaration = 260, /* global_function_declaration */ - YYSYMBOL_optional_public_or_private_function = 261, /* optional_public_or_private_function */ - YYSYMBOL_function_declaration_header = 262, /* function_declaration_header */ - YYSYMBOL_function_declaration = 263, /* function_declaration */ - YYSYMBOL_264_6 = 264, /* $@6 */ - YYSYMBOL_expression_block_finally = 265, /* expression_block_finally */ - YYSYMBOL_266_7 = 266, /* $@7 */ - YYSYMBOL_267_8 = 267, /* $@8 */ - YYSYMBOL_expression_block = 268, /* expression_block */ - YYSYMBOL_269_9 = 269, /* $@9 */ - YYSYMBOL_270_10 = 270, /* $@10 */ - YYSYMBOL_expr_call_pipe = 271, /* expr_call_pipe */ - YYSYMBOL_expression_any = 272, /* expression_any */ - YYSYMBOL_expressions = 273, /* expressions */ - YYSYMBOL_optional_expr_list = 274, /* optional_expr_list */ - YYSYMBOL_optional_expr_map_tuple_list = 275, /* optional_expr_map_tuple_list */ - YYSYMBOL_type_declaration_no_options_list = 276, /* type_declaration_no_options_list */ - YYSYMBOL_name_in_namespace = 277, /* name_in_namespace */ - YYSYMBOL_expression_delete = 278, /* expression_delete */ - YYSYMBOL_new_type_declaration = 279, /* new_type_declaration */ - YYSYMBOL_280_11 = 280, /* $@11 */ - YYSYMBOL_281_12 = 281, /* $@12 */ - YYSYMBOL_expr_new = 282, /* expr_new */ - YYSYMBOL_expression_break = 283, /* expression_break */ - YYSYMBOL_expression_continue = 284, /* expression_continue */ - YYSYMBOL_expression_return = 285, /* expression_return */ - YYSYMBOL_expression_yield = 286, /* expression_yield */ - YYSYMBOL_expression_try_catch = 287, /* expression_try_catch */ - YYSYMBOL_kwd_let_var_or_nothing = 288, /* kwd_let_var_or_nothing */ - YYSYMBOL_kwd_let = 289, /* kwd_let */ - YYSYMBOL_optional_in_scope = 290, /* optional_in_scope */ - YYSYMBOL_tuple_expansion = 291, /* tuple_expansion */ - YYSYMBOL_tuple_expansion_variable_declaration = 292, /* tuple_expansion_variable_declaration */ - YYSYMBOL_expression_let = 293, /* expression_let */ - YYSYMBOL_expr_cast = 294, /* expr_cast */ - YYSYMBOL_295_13 = 295, /* $@13 */ - YYSYMBOL_296_14 = 296, /* $@14 */ - YYSYMBOL_297_15 = 297, /* $@15 */ - YYSYMBOL_298_16 = 298, /* $@16 */ - YYSYMBOL_299_17 = 299, /* $@17 */ - YYSYMBOL_300_18 = 300, /* $@18 */ - YYSYMBOL_expr_type_decl = 301, /* expr_type_decl */ - YYSYMBOL_302_19 = 302, /* $@19 */ - YYSYMBOL_303_20 = 303, /* $@20 */ - YYSYMBOL_expr_type_info = 304, /* expr_type_info */ - YYSYMBOL_expr_list = 305, /* expr_list */ - YYSYMBOL_block_or_simple_block = 306, /* block_or_simple_block */ - YYSYMBOL_block_or_lambda = 307, /* block_or_lambda */ - YYSYMBOL_capture_entry = 308, /* capture_entry */ - YYSYMBOL_capture_list = 309, /* capture_list */ - YYSYMBOL_optional_capture_list = 310, /* optional_capture_list */ - YYSYMBOL_expr_full_block = 311, /* expr_full_block */ - YYSYMBOL_expr_full_block_assumed_piped = 312, /* expr_full_block_assumed_piped */ - YYSYMBOL_expr_numeric_const = 313, /* expr_numeric_const */ - YYSYMBOL_expr_assign = 314, /* expr_assign */ - YYSYMBOL_expr_named_call = 315, /* expr_named_call */ - YYSYMBOL_expr_method_call = 316, /* expr_method_call */ - YYSYMBOL_func_addr_name = 317, /* func_addr_name */ - YYSYMBOL_func_addr_expr = 318, /* func_addr_expr */ - YYSYMBOL_319_21 = 319, /* $@21 */ - YYSYMBOL_320_22 = 320, /* $@22 */ - YYSYMBOL_321_23 = 321, /* $@23 */ - YYSYMBOL_322_24 = 322, /* $@24 */ - YYSYMBOL_expr_field = 323, /* expr_field */ - YYSYMBOL_324_25 = 324, /* $@25 */ - YYSYMBOL_325_26 = 325, /* $@26 */ - YYSYMBOL_expr_call = 326, /* expr_call */ - YYSYMBOL_expr = 327, /* expr */ - YYSYMBOL_328_27 = 328, /* $@27 */ - YYSYMBOL_329_28 = 329, /* $@28 */ - YYSYMBOL_330_29 = 330, /* $@29 */ - YYSYMBOL_331_30 = 331, /* $@30 */ - YYSYMBOL_332_31 = 332, /* $@31 */ - YYSYMBOL_333_32 = 333, /* $@32 */ - YYSYMBOL_expr_generator = 334, /* expr_generator */ - YYSYMBOL_expr_mtag = 335, /* expr_mtag */ - YYSYMBOL_optional_field_annotation = 336, /* optional_field_annotation */ - YYSYMBOL_optional_override = 337, /* optional_override */ - YYSYMBOL_optional_constant = 338, /* optional_constant */ - YYSYMBOL_optional_public_or_private_member_variable = 339, /* optional_public_or_private_member_variable */ - YYSYMBOL_optional_static_member_variable = 340, /* optional_static_member_variable */ - YYSYMBOL_structure_variable_declaration = 341, /* structure_variable_declaration */ - YYSYMBOL_struct_variable_declaration_list = 342, /* struct_variable_declaration_list */ - YYSYMBOL_343_33 = 343, /* $@33 */ - YYSYMBOL_344_34 = 344, /* $@34 */ - YYSYMBOL_345_35 = 345, /* $@35 */ - YYSYMBOL_function_argument_declaration = 346, /* function_argument_declaration */ - YYSYMBOL_function_argument_list = 347, /* function_argument_list */ - YYSYMBOL_tuple_type = 348, /* tuple_type */ - YYSYMBOL_tuple_type_list = 349, /* tuple_type_list */ - YYSYMBOL_tuple_alias_type_list = 350, /* tuple_alias_type_list */ - YYSYMBOL_variant_type = 351, /* variant_type */ - YYSYMBOL_variant_type_list = 352, /* variant_type_list */ - YYSYMBOL_variant_alias_type_list = 353, /* variant_alias_type_list */ - YYSYMBOL_copy_or_move = 354, /* copy_or_move */ - YYSYMBOL_variable_declaration = 355, /* variable_declaration */ - YYSYMBOL_copy_or_move_or_clone = 356, /* copy_or_move_or_clone */ - YYSYMBOL_optional_ref = 357, /* optional_ref */ - YYSYMBOL_let_variable_name_with_pos_list = 358, /* let_variable_name_with_pos_list */ - YYSYMBOL_global_let_variable_name_with_pos_list = 359, /* global_let_variable_name_with_pos_list */ - YYSYMBOL_variable_declaration_list = 360, /* variable_declaration_list */ - YYSYMBOL_let_variable_declaration = 361, /* let_variable_declaration */ - YYSYMBOL_global_let_variable_declaration = 362, /* global_let_variable_declaration */ - YYSYMBOL_optional_shared = 363, /* optional_shared */ - YYSYMBOL_optional_public_or_private_variable = 364, /* optional_public_or_private_variable */ - YYSYMBOL_global_variable_declaration_list = 365, /* global_variable_declaration_list */ - YYSYMBOL_366_36 = 366, /* $@36 */ - YYSYMBOL_global_let = 367, /* global_let */ - YYSYMBOL_368_37 = 368, /* $@37 */ - YYSYMBOL_enum_expression = 369, /* enum_expression */ - YYSYMBOL_commas = 370, /* commas */ - YYSYMBOL_enum_list = 371, /* enum_list */ - YYSYMBOL_optional_public_or_private_alias = 372, /* optional_public_or_private_alias */ - YYSYMBOL_single_alias = 373, /* single_alias */ - YYSYMBOL_374_38 = 374, /* $@38 */ - YYSYMBOL_alias_declaration = 375, /* alias_declaration */ - YYSYMBOL_optional_public_or_private_enum = 376, /* optional_public_or_private_enum */ - YYSYMBOL_enum_name = 377, /* enum_name */ - YYSYMBOL_optional_enum_basic_type_declaration = 378, /* optional_enum_basic_type_declaration */ - YYSYMBOL_optional_commas = 379, /* optional_commas */ - YYSYMBOL_enum_declaration = 380, /* enum_declaration */ - YYSYMBOL_381_39 = 381, /* $@39 */ - YYSYMBOL_382_40 = 382, /* $@40 */ - YYSYMBOL_383_41 = 383, /* $@41 */ - YYSYMBOL_optional_structure_parent = 384, /* optional_structure_parent */ - YYSYMBOL_optional_sealed = 385, /* optional_sealed */ - YYSYMBOL_structure_name = 386, /* structure_name */ - YYSYMBOL_class_or_struct = 387, /* class_or_struct */ - YYSYMBOL_optional_public_or_private_structure = 388, /* optional_public_or_private_structure */ - YYSYMBOL_optional_struct_variable_declaration_list = 389, /* optional_struct_variable_declaration_list */ - YYSYMBOL_structure_declaration = 390, /* structure_declaration */ - YYSYMBOL_391_42 = 391, /* $@42 */ - YYSYMBOL_392_43 = 392, /* $@43 */ - YYSYMBOL_variable_name_with_pos_list = 393, /* variable_name_with_pos_list */ - YYSYMBOL_basic_type_declaration = 394, /* basic_type_declaration */ - YYSYMBOL_enum_basic_type_declaration = 395, /* enum_basic_type_declaration */ - YYSYMBOL_structure_type_declaration = 396, /* structure_type_declaration */ - YYSYMBOL_auto_type_declaration = 397, /* auto_type_declaration */ - YYSYMBOL_bitfield_bits = 398, /* bitfield_bits */ - YYSYMBOL_bitfield_alias_bits = 399, /* bitfield_alias_bits */ - YYSYMBOL_bitfield_type_declaration = 400, /* bitfield_type_declaration */ - YYSYMBOL_401_44 = 401, /* $@44 */ - YYSYMBOL_402_45 = 402, /* $@45 */ - YYSYMBOL_c_or_s = 403, /* c_or_s */ - YYSYMBOL_table_type_pair = 404, /* table_type_pair */ - YYSYMBOL_dim_list = 405, /* dim_list */ - YYSYMBOL_type_declaration_no_options = 406, /* type_declaration_no_options */ - YYSYMBOL_type_declaration_no_options_no_dim = 407, /* type_declaration_no_options_no_dim */ - YYSYMBOL_408_46 = 408, /* $@46 */ - YYSYMBOL_409_47 = 409, /* $@47 */ - YYSYMBOL_410_48 = 410, /* $@48 */ - YYSYMBOL_411_49 = 411, /* $@49 */ - YYSYMBOL_412_50 = 412, /* $@50 */ - YYSYMBOL_413_51 = 413, /* $@51 */ - YYSYMBOL_414_52 = 414, /* $@52 */ - YYSYMBOL_415_53 = 415, /* $@53 */ - YYSYMBOL_416_54 = 416, /* $@54 */ - YYSYMBOL_417_55 = 417, /* $@55 */ - YYSYMBOL_418_56 = 418, /* $@56 */ - YYSYMBOL_419_57 = 419, /* $@57 */ - YYSYMBOL_420_58 = 420, /* $@58 */ - YYSYMBOL_421_59 = 421, /* $@59 */ - YYSYMBOL_422_60 = 422, /* $@60 */ - YYSYMBOL_423_61 = 423, /* $@61 */ - YYSYMBOL_424_62 = 424, /* $@62 */ - YYSYMBOL_425_63 = 425, /* $@63 */ - YYSYMBOL_426_64 = 426, /* $@64 */ - YYSYMBOL_427_65 = 427, /* $@65 */ - YYSYMBOL_428_66 = 428, /* $@66 */ - YYSYMBOL_429_67 = 429, /* $@67 */ - YYSYMBOL_430_68 = 430, /* $@68 */ - YYSYMBOL_431_69 = 431, /* $@69 */ - YYSYMBOL_432_70 = 432, /* $@70 */ - YYSYMBOL_433_71 = 433, /* $@71 */ - YYSYMBOL_434_72 = 434, /* $@72 */ - YYSYMBOL_type_declaration = 435, /* type_declaration */ - YYSYMBOL_tuple_alias_declaration = 436, /* tuple_alias_declaration */ - YYSYMBOL_437_73 = 437, /* $@73 */ - YYSYMBOL_438_74 = 438, /* $@74 */ - YYSYMBOL_439_75 = 439, /* $@75 */ - YYSYMBOL_440_76 = 440, /* $@76 */ - YYSYMBOL_variant_alias_declaration = 441, /* variant_alias_declaration */ - YYSYMBOL_442_77 = 442, /* $@77 */ - YYSYMBOL_443_78 = 443, /* $@78 */ - YYSYMBOL_444_79 = 444, /* $@79 */ - YYSYMBOL_445_80 = 445, /* $@80 */ - YYSYMBOL_bitfield_alias_declaration = 446, /* bitfield_alias_declaration */ - YYSYMBOL_447_81 = 447, /* $@81 */ - YYSYMBOL_448_82 = 448, /* $@82 */ - YYSYMBOL_449_83 = 449, /* $@83 */ - YYSYMBOL_450_84 = 450, /* $@84 */ - YYSYMBOL_make_decl = 451, /* make_decl */ - YYSYMBOL_make_struct_fields = 452, /* make_struct_fields */ - YYSYMBOL_make_variant_dim = 453, /* make_variant_dim */ - YYSYMBOL_make_struct_single = 454, /* make_struct_single */ - YYSYMBOL_make_struct_dim_list = 455, /* make_struct_dim_list */ - YYSYMBOL_make_struct_dim_decl = 456, /* make_struct_dim_decl */ - YYSYMBOL_optional_make_struct_dim_decl = 457, /* optional_make_struct_dim_decl */ - YYSYMBOL_use_initializer = 458, /* use_initializer */ - YYSYMBOL_make_struct_decl = 459, /* make_struct_decl */ - YYSYMBOL_460_85 = 460, /* $@85 */ - YYSYMBOL_461_86 = 461, /* $@86 */ - YYSYMBOL_462_87 = 462, /* $@87 */ - YYSYMBOL_463_88 = 463, /* $@88 */ - YYSYMBOL_464_89 = 464, /* $@89 */ - YYSYMBOL_465_90 = 465, /* $@90 */ - YYSYMBOL_466_91 = 466, /* $@91 */ - YYSYMBOL_467_92 = 467, /* $@92 */ - YYSYMBOL_make_map_tuple = 468, /* make_map_tuple */ - YYSYMBOL_make_tuple_call = 469, /* make_tuple_call */ - YYSYMBOL_470_93 = 470, /* $@93 */ - YYSYMBOL_471_94 = 471, /* $@94 */ - YYSYMBOL_make_dim_decl = 472, /* make_dim_decl */ - YYSYMBOL_473_95 = 473, /* $@95 */ - YYSYMBOL_474_96 = 474, /* $@96 */ - YYSYMBOL_475_97 = 475, /* $@97 */ - YYSYMBOL_476_98 = 476, /* $@98 */ - YYSYMBOL_477_99 = 477, /* $@99 */ - YYSYMBOL_478_100 = 478, /* $@100 */ - YYSYMBOL_479_101 = 479, /* $@101 */ - YYSYMBOL_480_102 = 480, /* $@102 */ - YYSYMBOL_481_103 = 481, /* $@103 */ - YYSYMBOL_482_104 = 482, /* $@104 */ - YYSYMBOL_expr_map_tuple_list = 483, /* expr_map_tuple_list */ - YYSYMBOL_make_table_decl = 484, /* make_table_decl */ - YYSYMBOL_array_comprehension_where = 485, /* array_comprehension_where */ - YYSYMBOL_optional_comma = 486, /* optional_comma */ - YYSYMBOL_array_comprehension = 487 /* array_comprehension */ + YYSYMBOL_DAS_EMIT_COMMA = 163, /* "emitted ," */ + YYSYMBOL_DAS_EMIT_SEMICOLON = 164, /* "emitted ;" */ + YYSYMBOL_BEGIN_STRING = 165, /* "start of the string" */ + YYSYMBOL_STRING_CHARACTER = 166, /* STRING_CHARACTER */ + YYSYMBOL_STRING_CHARACTER_ESC = 167, /* STRING_CHARACTER_ESC */ + YYSYMBOL_END_STRING = 168, /* "end of the string" */ + YYSYMBOL_BEGIN_STRING_EXPR = 169, /* "{" */ + YYSYMBOL_END_STRING_EXPR = 170, /* "}" */ + YYSYMBOL_END_OF_READ = 171, /* "end of failed eader macro" */ + YYSYMBOL_172_ = 172, /* ',' */ + YYSYMBOL_173_ = 173, /* '=' */ + YYSYMBOL_174_ = 174, /* '?' */ + YYSYMBOL_175_ = 175, /* ':' */ + YYSYMBOL_176_ = 176, /* '|' */ + YYSYMBOL_177_ = 177, /* '^' */ + YYSYMBOL_178_ = 178, /* '&' */ + YYSYMBOL_179_ = 179, /* '<' */ + YYSYMBOL_180_ = 180, /* '>' */ + YYSYMBOL_181_ = 181, /* '-' */ + YYSYMBOL_182_ = 182, /* '+' */ + YYSYMBOL_183_ = 183, /* '*' */ + YYSYMBOL_184_ = 184, /* '/' */ + YYSYMBOL_185_ = 185, /* '%' */ + YYSYMBOL_UNARY_MINUS = 186, /* UNARY_MINUS */ + YYSYMBOL_UNARY_PLUS = 187, /* UNARY_PLUS */ + YYSYMBOL_188_ = 188, /* '~' */ + YYSYMBOL_189_ = 189, /* '!' */ + YYSYMBOL_PRE_INC = 190, /* PRE_INC */ + YYSYMBOL_PRE_DEC = 191, /* PRE_DEC */ + YYSYMBOL_LLPIPE = 192, /* LLPIPE */ + YYSYMBOL_POST_INC = 193, /* POST_INC */ + YYSYMBOL_POST_DEC = 194, /* POST_DEC */ + YYSYMBOL_DEREF = 195, /* DEREF */ + YYSYMBOL_196_ = 196, /* '.' */ + YYSYMBOL_197_ = 197, /* '[' */ + YYSYMBOL_198_ = 198, /* ']' */ + YYSYMBOL_199_ = 199, /* '(' */ + YYSYMBOL_200_ = 200, /* ')' */ + YYSYMBOL_201_ = 201, /* '$' */ + YYSYMBOL_202_ = 202, /* '@' */ + YYSYMBOL_203_ = 203, /* ';' */ + YYSYMBOL_204_ = 204, /* '{' */ + YYSYMBOL_205_ = 205, /* '}' */ + YYSYMBOL_206_ = 206, /* '#' */ + YYSYMBOL_YYACCEPT = 207, /* $accept */ + YYSYMBOL_program = 208, /* program */ + YYSYMBOL_COMMA = 209, /* COMMA */ + YYSYMBOL_SEMICOLON = 210, /* SEMICOLON */ + YYSYMBOL_top_level_reader_macro = 211, /* top_level_reader_macro */ + YYSYMBOL_optional_public_or_private_module = 212, /* optional_public_or_private_module */ + YYSYMBOL_module_name = 213, /* module_name */ + YYSYMBOL_module_declaration = 214, /* module_declaration */ + YYSYMBOL_character_sequence = 215, /* character_sequence */ + YYSYMBOL_string_constant = 216, /* string_constant */ + YYSYMBOL_string_builder_body = 217, /* string_builder_body */ + YYSYMBOL_string_builder = 218, /* string_builder */ + YYSYMBOL_reader_character_sequence = 219, /* reader_character_sequence */ + YYSYMBOL_expr_reader = 220, /* expr_reader */ + YYSYMBOL_221_1 = 221, /* $@1 */ + YYSYMBOL_options_declaration = 222, /* options_declaration */ + YYSYMBOL_require_declaration = 223, /* require_declaration */ + YYSYMBOL_require_module_name = 224, /* require_module_name */ + YYSYMBOL_require_module = 225, /* require_module */ + YYSYMBOL_is_public_module = 226, /* is_public_module */ + YYSYMBOL_expect_declaration = 227, /* expect_declaration */ + YYSYMBOL_expect_list = 228, /* expect_list */ + YYSYMBOL_expect_error = 229, /* expect_error */ + YYSYMBOL_expression_label = 230, /* expression_label */ + YYSYMBOL_expression_goto = 231, /* expression_goto */ + YYSYMBOL_elif_or_static_elif = 232, /* elif_or_static_elif */ + YYSYMBOL_emit_semis = 233, /* emit_semis */ + YYSYMBOL_optional_emit_semis = 234, /* optional_emit_semis */ + YYSYMBOL_expression_else = 235, /* expression_else */ + YYSYMBOL_if_or_static_if = 236, /* if_or_static_if */ + YYSYMBOL_expression_else_one_liner = 237, /* expression_else_one_liner */ + YYSYMBOL_expression_if_one_liner = 238, /* expression_if_one_liner */ + YYSYMBOL_semis = 239, /* semis */ + YYSYMBOL_optional_semis = 240, /* optional_semis */ + YYSYMBOL_expression_if_then_else = 241, /* expression_if_then_else */ + YYSYMBOL_242_2 = 242, /* $@2 */ + YYSYMBOL_expression_if_then_else_oneliner = 243, /* expression_if_then_else_oneliner */ + YYSYMBOL_expression_for_loop = 244, /* expression_for_loop */ + YYSYMBOL_245_3 = 245, /* $@3 */ + YYSYMBOL_expression_unsafe = 246, /* expression_unsafe */ + YYSYMBOL_expression_while_loop = 247, /* expression_while_loop */ + YYSYMBOL_248_4 = 248, /* $@4 */ + YYSYMBOL_expression_with = 249, /* expression_with */ + YYSYMBOL_250_5 = 250, /* $@5 */ + YYSYMBOL_expression_with_alias = 251, /* expression_with_alias */ + YYSYMBOL_annotation_argument_value = 252, /* annotation_argument_value */ + YYSYMBOL_annotation_argument_value_list = 253, /* annotation_argument_value_list */ + YYSYMBOL_annotation_argument_name = 254, /* annotation_argument_name */ + YYSYMBOL_annotation_argument = 255, /* annotation_argument */ + YYSYMBOL_annotation_argument_list = 256, /* annotation_argument_list */ + YYSYMBOL_metadata_argument_list = 257, /* metadata_argument_list */ + YYSYMBOL_annotation_declaration_name = 258, /* annotation_declaration_name */ + YYSYMBOL_annotation_declaration_basic = 259, /* annotation_declaration_basic */ + YYSYMBOL_annotation_declaration = 260, /* annotation_declaration */ + YYSYMBOL_annotation_list = 261, /* annotation_list */ + YYSYMBOL_optional_annotation_list = 262, /* optional_annotation_list */ + YYSYMBOL_optional_function_argument_list = 263, /* optional_function_argument_list */ + YYSYMBOL_optional_function_type = 264, /* optional_function_type */ + YYSYMBOL_function_name = 265, /* function_name */ + YYSYMBOL_global_function_declaration = 266, /* global_function_declaration */ + YYSYMBOL_optional_public_or_private_function = 267, /* optional_public_or_private_function */ + YYSYMBOL_function_declaration_header = 268, /* function_declaration_header */ + YYSYMBOL_function_declaration = 269, /* function_declaration */ + YYSYMBOL_270_6 = 270, /* $@6 */ + YYSYMBOL_expression_block_finally = 271, /* expression_block_finally */ + YYSYMBOL_272_7 = 272, /* $@7 */ + YYSYMBOL_273_8 = 273, /* $@8 */ + YYSYMBOL_expression_block = 274, /* expression_block */ + YYSYMBOL_275_9 = 275, /* $@9 */ + YYSYMBOL_276_10 = 276, /* $@10 */ + YYSYMBOL_expr_call_pipe = 277, /* expr_call_pipe */ + YYSYMBOL_expression_any = 278, /* expression_any */ + YYSYMBOL_expressions = 279, /* expressions */ + YYSYMBOL_optional_expr_list = 280, /* optional_expr_list */ + YYSYMBOL_optional_expr_map_tuple_list = 281, /* optional_expr_map_tuple_list */ + YYSYMBOL_type_declaration_no_options_list = 282, /* type_declaration_no_options_list */ + YYSYMBOL_name_in_namespace = 283, /* name_in_namespace */ + YYSYMBOL_expression_delete = 284, /* expression_delete */ + YYSYMBOL_new_type_declaration = 285, /* new_type_declaration */ + YYSYMBOL_286_11 = 286, /* $@11 */ + YYSYMBOL_287_12 = 287, /* $@12 */ + YYSYMBOL_expr_new = 288, /* expr_new */ + YYSYMBOL_expression_break = 289, /* expression_break */ + YYSYMBOL_expression_continue = 290, /* expression_continue */ + YYSYMBOL_expression_return = 291, /* expression_return */ + YYSYMBOL_expression_yield = 292, /* expression_yield */ + YYSYMBOL_expression_try_catch = 293, /* expression_try_catch */ + YYSYMBOL_kwd_let_var_or_nothing = 294, /* kwd_let_var_or_nothing */ + YYSYMBOL_kwd_let = 295, /* kwd_let */ + YYSYMBOL_optional_in_scope = 296, /* optional_in_scope */ + YYSYMBOL_tuple_expansion = 297, /* tuple_expansion */ + YYSYMBOL_tuple_expansion_variable_declaration = 298, /* tuple_expansion_variable_declaration */ + YYSYMBOL_expression_let = 299, /* expression_let */ + YYSYMBOL_expr_cast = 300, /* expr_cast */ + YYSYMBOL_301_13 = 301, /* $@13 */ + YYSYMBOL_302_14 = 302, /* $@14 */ + YYSYMBOL_303_15 = 303, /* $@15 */ + YYSYMBOL_304_16 = 304, /* $@16 */ + YYSYMBOL_305_17 = 305, /* $@17 */ + YYSYMBOL_306_18 = 306, /* $@18 */ + YYSYMBOL_expr_type_decl = 307, /* expr_type_decl */ + YYSYMBOL_308_19 = 308, /* $@19 */ + YYSYMBOL_309_20 = 309, /* $@20 */ + YYSYMBOL_expr_type_info = 310, /* expr_type_info */ + YYSYMBOL_expr_list = 311, /* expr_list */ + YYSYMBOL_block_or_simple_block = 312, /* block_or_simple_block */ + YYSYMBOL_block_or_lambda = 313, /* block_or_lambda */ + YYSYMBOL_capture_entry = 314, /* capture_entry */ + YYSYMBOL_capture_list = 315, /* capture_list */ + YYSYMBOL_optional_capture_list = 316, /* optional_capture_list */ + YYSYMBOL_expr_full_block = 317, /* expr_full_block */ + YYSYMBOL_expr_full_block_assumed_piped = 318, /* expr_full_block_assumed_piped */ + YYSYMBOL_expr_numeric_const = 319, /* expr_numeric_const */ + YYSYMBOL_expr_assign = 320, /* expr_assign */ + YYSYMBOL_expr_named_call = 321, /* expr_named_call */ + YYSYMBOL_expr_method_call = 322, /* expr_method_call */ + YYSYMBOL_func_addr_name = 323, /* func_addr_name */ + YYSYMBOL_func_addr_expr = 324, /* func_addr_expr */ + YYSYMBOL_325_21 = 325, /* $@21 */ + YYSYMBOL_326_22 = 326, /* $@22 */ + YYSYMBOL_327_23 = 327, /* $@23 */ + YYSYMBOL_328_24 = 328, /* $@24 */ + YYSYMBOL_expr_field = 329, /* expr_field */ + YYSYMBOL_330_25 = 330, /* $@25 */ + YYSYMBOL_331_26 = 331, /* $@26 */ + YYSYMBOL_expr_call = 332, /* expr_call */ + YYSYMBOL_expr = 333, /* expr */ + YYSYMBOL_334_27 = 334, /* $@27 */ + YYSYMBOL_335_28 = 335, /* $@28 */ + YYSYMBOL_336_29 = 336, /* $@29 */ + YYSYMBOL_337_30 = 337, /* $@30 */ + YYSYMBOL_338_31 = 338, /* $@31 */ + YYSYMBOL_339_32 = 339, /* $@32 */ + YYSYMBOL_expr_generator = 340, /* expr_generator */ + YYSYMBOL_expr_mtag = 341, /* expr_mtag */ + YYSYMBOL_optional_field_annotation = 342, /* optional_field_annotation */ + YYSYMBOL_optional_override = 343, /* optional_override */ + YYSYMBOL_optional_constant = 344, /* optional_constant */ + YYSYMBOL_optional_public_or_private_member_variable = 345, /* optional_public_or_private_member_variable */ + YYSYMBOL_optional_static_member_variable = 346, /* optional_static_member_variable */ + YYSYMBOL_structure_variable_declaration = 347, /* structure_variable_declaration */ + YYSYMBOL_struct_variable_declaration_list = 348, /* struct_variable_declaration_list */ + YYSYMBOL_349_33 = 349, /* $@33 */ + YYSYMBOL_350_34 = 350, /* $@34 */ + YYSYMBOL_351_35 = 351, /* $@35 */ + YYSYMBOL_function_argument_declaration = 352, /* function_argument_declaration */ + YYSYMBOL_function_argument_list = 353, /* function_argument_list */ + YYSYMBOL_tuple_type = 354, /* tuple_type */ + YYSYMBOL_tuple_type_list = 355, /* tuple_type_list */ + YYSYMBOL_tuple_alias_type_list = 356, /* tuple_alias_type_list */ + YYSYMBOL_variant_type = 357, /* variant_type */ + YYSYMBOL_variant_type_list = 358, /* variant_type_list */ + YYSYMBOL_variant_alias_type_list = 359, /* variant_alias_type_list */ + YYSYMBOL_copy_or_move = 360, /* copy_or_move */ + YYSYMBOL_variable_declaration = 361, /* variable_declaration */ + YYSYMBOL_copy_or_move_or_clone = 362, /* copy_or_move_or_clone */ + YYSYMBOL_optional_ref = 363, /* optional_ref */ + YYSYMBOL_let_variable_name_with_pos_list = 364, /* let_variable_name_with_pos_list */ + YYSYMBOL_global_let_variable_name_with_pos_list = 365, /* global_let_variable_name_with_pos_list */ + YYSYMBOL_variable_declaration_list = 366, /* variable_declaration_list */ + YYSYMBOL_let_variable_declaration = 367, /* let_variable_declaration */ + YYSYMBOL_global_let_variable_declaration = 368, /* global_let_variable_declaration */ + YYSYMBOL_optional_shared = 369, /* optional_shared */ + YYSYMBOL_optional_public_or_private_variable = 370, /* optional_public_or_private_variable */ + YYSYMBOL_global_variable_declaration_list = 371, /* global_variable_declaration_list */ + YYSYMBOL_372_36 = 372, /* $@36 */ + YYSYMBOL_global_let = 373, /* global_let */ + YYSYMBOL_374_37 = 374, /* $@37 */ + YYSYMBOL_enum_expression = 375, /* enum_expression */ + YYSYMBOL_commas = 376, /* commas */ + YYSYMBOL_enum_list = 377, /* enum_list */ + YYSYMBOL_optional_public_or_private_alias = 378, /* optional_public_or_private_alias */ + YYSYMBOL_single_alias = 379, /* single_alias */ + YYSYMBOL_380_38 = 380, /* $@38 */ + YYSYMBOL_alias_declaration = 381, /* alias_declaration */ + YYSYMBOL_optional_public_or_private_enum = 382, /* optional_public_or_private_enum */ + YYSYMBOL_enum_name = 383, /* enum_name */ + YYSYMBOL_optional_enum_basic_type_declaration = 384, /* optional_enum_basic_type_declaration */ + YYSYMBOL_optional_commas = 385, /* optional_commas */ + YYSYMBOL_emit_commas = 386, /* emit_commas */ + YYSYMBOL_optional_emit_commas = 387, /* optional_emit_commas */ + YYSYMBOL_enum_declaration = 388, /* enum_declaration */ + YYSYMBOL_389_39 = 389, /* $@39 */ + YYSYMBOL_390_40 = 390, /* $@40 */ + YYSYMBOL_391_41 = 391, /* $@41 */ + YYSYMBOL_optional_structure_parent = 392, /* optional_structure_parent */ + YYSYMBOL_optional_sealed = 393, /* optional_sealed */ + YYSYMBOL_structure_name = 394, /* structure_name */ + YYSYMBOL_class_or_struct = 395, /* class_or_struct */ + YYSYMBOL_optional_public_or_private_structure = 396, /* optional_public_or_private_structure */ + YYSYMBOL_optional_struct_variable_declaration_list = 397, /* optional_struct_variable_declaration_list */ + YYSYMBOL_structure_declaration = 398, /* structure_declaration */ + YYSYMBOL_399_42 = 399, /* $@42 */ + YYSYMBOL_400_43 = 400, /* $@43 */ + YYSYMBOL_variable_name_with_pos_list = 401, /* variable_name_with_pos_list */ + YYSYMBOL_basic_type_declaration = 402, /* basic_type_declaration */ + YYSYMBOL_enum_basic_type_declaration = 403, /* enum_basic_type_declaration */ + YYSYMBOL_structure_type_declaration = 404, /* structure_type_declaration */ + YYSYMBOL_auto_type_declaration = 405, /* auto_type_declaration */ + YYSYMBOL_bitfield_bits = 406, /* bitfield_bits */ + YYSYMBOL_bitfield_alias_bits = 407, /* bitfield_alias_bits */ + YYSYMBOL_bitfield_type_declaration = 408, /* bitfield_type_declaration */ + YYSYMBOL_409_44 = 409, /* $@44 */ + YYSYMBOL_410_45 = 410, /* $@45 */ + YYSYMBOL_c_or_s = 411, /* c_or_s */ + YYSYMBOL_table_type_pair = 412, /* table_type_pair */ + YYSYMBOL_dim_list = 413, /* dim_list */ + YYSYMBOL_type_declaration_no_options = 414, /* type_declaration_no_options */ + YYSYMBOL_type_declaration_no_options_no_dim = 415, /* type_declaration_no_options_no_dim */ + YYSYMBOL_416_46 = 416, /* $@46 */ + YYSYMBOL_417_47 = 417, /* $@47 */ + YYSYMBOL_418_48 = 418, /* $@48 */ + YYSYMBOL_419_49 = 419, /* $@49 */ + YYSYMBOL_420_50 = 420, /* $@50 */ + YYSYMBOL_421_51 = 421, /* $@51 */ + YYSYMBOL_422_52 = 422, /* $@52 */ + YYSYMBOL_423_53 = 423, /* $@53 */ + YYSYMBOL_424_54 = 424, /* $@54 */ + YYSYMBOL_425_55 = 425, /* $@55 */ + YYSYMBOL_426_56 = 426, /* $@56 */ + YYSYMBOL_427_57 = 427, /* $@57 */ + YYSYMBOL_428_58 = 428, /* $@58 */ + YYSYMBOL_429_59 = 429, /* $@59 */ + YYSYMBOL_430_60 = 430, /* $@60 */ + YYSYMBOL_431_61 = 431, /* $@61 */ + YYSYMBOL_432_62 = 432, /* $@62 */ + YYSYMBOL_433_63 = 433, /* $@63 */ + YYSYMBOL_434_64 = 434, /* $@64 */ + YYSYMBOL_435_65 = 435, /* $@65 */ + YYSYMBOL_436_66 = 436, /* $@66 */ + YYSYMBOL_437_67 = 437, /* $@67 */ + YYSYMBOL_438_68 = 438, /* $@68 */ + YYSYMBOL_439_69 = 439, /* $@69 */ + YYSYMBOL_440_70 = 440, /* $@70 */ + YYSYMBOL_441_71 = 441, /* $@71 */ + YYSYMBOL_442_72 = 442, /* $@72 */ + YYSYMBOL_type_declaration = 443, /* type_declaration */ + YYSYMBOL_tuple_alias_declaration = 444, /* tuple_alias_declaration */ + YYSYMBOL_445_73 = 445, /* $@73 */ + YYSYMBOL_446_74 = 446, /* $@74 */ + YYSYMBOL_447_75 = 447, /* $@75 */ + YYSYMBOL_448_76 = 448, /* $@76 */ + YYSYMBOL_variant_alias_declaration = 449, /* variant_alias_declaration */ + YYSYMBOL_450_77 = 450, /* $@77 */ + YYSYMBOL_451_78 = 451, /* $@78 */ + YYSYMBOL_452_79 = 452, /* $@79 */ + YYSYMBOL_453_80 = 453, /* $@80 */ + YYSYMBOL_bitfield_alias_declaration = 454, /* bitfield_alias_declaration */ + YYSYMBOL_455_81 = 455, /* $@81 */ + YYSYMBOL_456_82 = 456, /* $@82 */ + YYSYMBOL_457_83 = 457, /* $@83 */ + YYSYMBOL_458_84 = 458, /* $@84 */ + YYSYMBOL_make_decl = 459, /* make_decl */ + YYSYMBOL_make_struct_fields = 460, /* make_struct_fields */ + YYSYMBOL_make_variant_dim = 461, /* make_variant_dim */ + YYSYMBOL_make_struct_single = 462, /* make_struct_single */ + YYSYMBOL_make_struct_dim_list = 463, /* make_struct_dim_list */ + YYSYMBOL_make_struct_dim_decl = 464, /* make_struct_dim_decl */ + YYSYMBOL_optional_make_struct_dim_decl = 465, /* optional_make_struct_dim_decl */ + YYSYMBOL_use_initializer = 466, /* use_initializer */ + YYSYMBOL_make_struct_decl = 467, /* make_struct_decl */ + YYSYMBOL_468_85 = 468, /* $@85 */ + YYSYMBOL_469_86 = 469, /* $@86 */ + YYSYMBOL_470_87 = 470, /* $@87 */ + YYSYMBOL_471_88 = 471, /* $@88 */ + YYSYMBOL_472_89 = 472, /* $@89 */ + YYSYMBOL_473_90 = 473, /* $@90 */ + YYSYMBOL_474_91 = 474, /* $@91 */ + YYSYMBOL_475_92 = 475, /* $@92 */ + YYSYMBOL_make_map_tuple = 476, /* make_map_tuple */ + YYSYMBOL_make_tuple_call = 477, /* make_tuple_call */ + YYSYMBOL_478_93 = 478, /* $@93 */ + YYSYMBOL_479_94 = 479, /* $@94 */ + YYSYMBOL_make_dim_decl = 480, /* make_dim_decl */ + YYSYMBOL_481_95 = 481, /* $@95 */ + YYSYMBOL_482_96 = 482, /* $@96 */ + YYSYMBOL_483_97 = 483, /* $@97 */ + YYSYMBOL_484_98 = 484, /* $@98 */ + YYSYMBOL_485_99 = 485, /* $@99 */ + YYSYMBOL_486_100 = 486, /* $@100 */ + YYSYMBOL_487_101 = 487, /* $@101 */ + YYSYMBOL_488_102 = 488, /* $@102 */ + YYSYMBOL_489_103 = 489, /* $@103 */ + YYSYMBOL_490_104 = 490, /* $@104 */ + YYSYMBOL_expr_map_tuple_list = 491, /* expr_map_tuple_list */ + YYSYMBOL_make_table_decl = 492, /* make_table_decl */ + YYSYMBOL_array_comprehension_where = 493, /* array_comprehension_where */ + YYSYMBOL_optional_comma = 494, /* optional_comma */ + YYSYMBOL_array_comprehension = 495 /* array_comprehension */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -953,19 +961,19 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 11896 +#define YYLAST 11595 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 205 +#define YYNTOKENS 207 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 283 +#define YYNNTS 289 /* YYNRULES -- Number of rules. */ -#define YYNRULES 816 +#define YYNRULES 828 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1494 +#define YYNSTATES 1502 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 432 +#define YYMAXUTOK 434 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -982,16 +990,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, 187, 2, 204, 199, 183, 176, 2, - 197, 198, 181, 180, 170, 179, 194, 182, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 173, 201, - 177, 171, 178, 172, 200, 2, 2, 2, 2, 2, + 2, 2, 2, 189, 2, 206, 201, 185, 178, 2, + 199, 200, 183, 182, 172, 181, 196, 184, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 175, 203, + 179, 173, 180, 174, 202, 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, 195, 2, 196, 175, 2, 2, 2, 2, 2, + 2, 197, 2, 198, 177, 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, 202, 174, 203, 186, 2, 2, 2, + 2, 2, 2, 204, 176, 205, 188, 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, @@ -1021,96 +1029,97 @@ static const yytype_uint8 yytranslate[] = 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 184, 185, 188, 189, 190, - 191, 192, 193 + 165, 166, 167, 168, 169, 170, 171, 186, 187, 190, + 191, 192, 193, 194, 195 }; #if DAS2_YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 531, 531, 532, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 553, 559, 560, - 561, 565, 566, 570, 588, 589, 590, 591, 595, 596, - 600, 605, 614, 622, 638, 643, 651, 651, 690, 708, - 712, 715, 719, 725, 734, 737, 743, 744, 748, 752, - 753, 757, 760, 766, 772, 775, 781, 782, 786, 787, - 788, 797, 798, 802, 803, 809, 810, 811, 812, 813, - 817, 818, 822, 823, 827, 827, 839, 846, 846, 855, - 863, 863, 876, 876, 888, 895, 896, 897, 898, 899, - 900, 904, 909, 917, 918, 919, 923, 924, 925, 926, - 927, 928, 929, 930, 936, 939, 945, 948, 954, 955, - 956, 960, 973, 991, 994, 1002, 1013, 1024, 1035, 1038, - 1045, 1049, 1056, 1057, 1061, 1062, 1063, 1067, 1070, 1077, - 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, - 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, - 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, - 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, - 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, - 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, - 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, - 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, - 1161, 1162, 1163, 1164, 1169, 1187, 1188, 1189, 1193, 1199, - 1199, 1216, 1219, 1222, 1219, 1231, 1234, 1231, 1250, 1263, - 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, - 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1285, 1290, - 1296, 1302, 1303, 1307, 1308, 1312, 1316, 1323, 1324, 1335, - 1339, 1342, 1350, 1350, 1350, 1353, 1359, 1362, 1366, 1370, - 1377, 1384, 1390, 1394, 1398, 1401, 1404, 1412, 1415, 1423, - 1429, 1430, 1431, 1435, 1436, 1440, 1441, 1445, 1450, 1458, - 1464, 1476, 1479, 1482, 1488, 1488, 1488, 1491, 1491, 1491, - 1496, 1496, 1496, 1504, 1504, 1504, 1510, 1520, 1531, 1546, - 1549, 1555, 1556, 1563, 1574, 1575, 1576, 1580, 1581, 1582, - 1583, 1584, 1588, 1593, 1601, 1602, 1606, 1613, 1617, 1623, - 1624, 1625, 1626, 1627, 1628, 1629, 1633, 1634, 1635, 1636, - 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, - 1647, 1648, 1649, 1650, 1651, 1655, 1662, 1674, 1679, 1689, - 1693, 1700, 1703, 1703, 1703, 1708, 1708, 1708, 1721, 1725, - 1729, 1734, 1741, 1746, 1753, 1753, 1753, 1760, 1764, 1774, - 1783, 1792, 1796, 1799, 1805, 1806, 1807, 1808, 1809, 1810, - 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, - 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, - 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, - 1846, 1847, 1848, 1849, 1850, 1863, 1864, 1865, 1866, 1867, - 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1879, - 1879, 1879, 1882, 1887, 1891, 1895, 1895, 1895, 1900, 1903, - 1907, 1907, 1907, 1912, 1915, 1916, 1917, 1918, 1919, 1920, - 1921, 1922, 1923, 1925, 1929, 1930, 1938, 1941, 1944, 1953, - 1954, 1955, 1956, 1957, 1958, 1959, 1963, 1967, 1971, 1975, - 1979, 1983, 1987, 1991, 1995, 2002, 2003, 2007, 2008, 2009, - 2013, 2014, 2018, 2019, 2020, 2024, 2025, 2029, 2040, 2043, - 2043, 2062, 2061, 2075, 2074, 2090, 2099, 2109, 2110, 2114, - 2117, 2126, 2127, 2131, 2134, 2138, 2152, 2161, 2162, 2166, - 2169, 2173, 2187, 2188, 2192, 2198, 2204, 2207, 2211, 2220, - 2221, 2222, 2226, 2227, 2231, 2238, 2243, 2252, 2258, 2269, - 2276, 2285, 2288, 2291, 2298, 2301, 2306, 2317, 2320, 2325, - 2337, 2338, 2342, 2343, 2344, 2348, 2351, 2354, 2354, 2374, - 2377, 2377, 2395, 2400, 2408, 2409, 2413, 2416, 2429, 2446, - 2447, 2448, 2453, 2453, 2479, 2483, 2484, 2485, 2489, 2499, - 2502, 2508, 2509, 2513, 2516, 2521, 2513, 2538, 2539, 2543, - 2544, 2548, 2554, 2555, 2559, 2560, 2561, 2565, 2568, 2574, - 2579, 2574, 2593, 2600, 2605, 2614, 2620, 2631, 2632, 2633, - 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, - 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, - 2654, 2655, 2656, 2657, 2661, 2662, 2663, 2664, 2665, 2666, - 2667, 2668, 2672, 2683, 2687, 2694, 2706, 2713, 2722, 2727, - 2737, 2750, 2750, 2750, 2763, 2764, 2768, 2772, 2779, 2783, - 2787, 2791, 2798, 2801, 2819, 2820, 2821, 2822, 2823, 2823, - 2823, 2827, 2832, 2839, 2839, 2846, 2850, 2854, 2859, 2864, - 2869, 2874, 2878, 2882, 2887, 2891, 2895, 2900, 2900, 2900, - 2906, 2913, 2913, 2913, 2918, 2918, 2918, 2924, 2924, 2924, - 2929, 2933, 2933, 2933, 2938, 2938, 2938, 2947, 2951, 2951, - 2951, 2956, 2956, 2956, 2965, 2969, 2969, 2969, 2974, 2974, - 2974, 2983, 2983, 2983, 2989, 2989, 2989, 2998, 3001, 3012, - 3028, 3030, 3035, 3040, 3028, 3066, 3068, 3073, 3079, 3066, - 3105, 3108, 3113, 3118, 3105, 3150, 3151, 3152, 3153, 3154, - 3158, 3165, 3172, 3178, 3184, 3191, 3198, 3204, 3213, 3219, - 3227, 3232, 3239, 3244, 3250, 3251, 3255, 3256, 3260, 3260, - 3260, 3268, 3268, 3268, 3275, 3275, 3275, 3282, 3282, 3282, - 3293, 3299, 3305, 3311, 3311, 3311, 3321, 3330, 3330, 3330, - 3340, 3340, 3340, 3350, 3350, 3350, 3360, 3369, 3369, 3369, - 3389, 3396, 3396, 3396, 3406, 3409, 3415, 3423, 3431, 3451, - 3476, 3477, 3481, 3482, 3486, 3489, 3492 + 0, 534, 534, 535, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 556, 557, 561, + 562, 566, 572, 573, 574, 578, 579, 583, 601, 602, + 603, 604, 608, 609, 613, 618, 627, 635, 651, 656, + 664, 664, 703, 721, 725, 728, 732, 738, 747, 750, + 756, 757, 761, 765, 766, 770, 773, 779, 785, 788, + 794, 795, 799, 800, 804, 805, 809, 810, 811, 820, + 821, 825, 826, 832, 833, 834, 835, 836, 840, 841, + 845, 846, 850, 850, 862, 869, 869, 878, 886, 886, + 899, 899, 911, 918, 919, 920, 921, 922, 923, 927, + 932, 940, 941, 942, 946, 947, 948, 949, 950, 951, + 952, 953, 959, 962, 968, 971, 977, 978, 979, 983, + 996, 1014, 1017, 1025, 1036, 1047, 1058, 1061, 1068, 1072, + 1079, 1080, 1084, 1085, 1086, 1090, 1093, 1100, 1104, 1105, + 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, + 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, + 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, + 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, + 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, + 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, + 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, + 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, + 1186, 1187, 1192, 1210, 1211, 1212, 1216, 1222, 1222, 1239, + 1242, 1244, 1242, 1252, 1254, 1252, 1269, 1282, 1283, 1284, + 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, + 1295, 1296, 1297, 1298, 1299, 1300, 1304, 1309, 1315, 1321, + 1322, 1326, 1327, 1331, 1335, 1342, 1343, 1354, 1358, 1361, + 1369, 1369, 1369, 1372, 1378, 1381, 1385, 1389, 1396, 1403, + 1409, 1413, 1417, 1420, 1423, 1431, 1434, 1442, 1448, 1449, + 1450, 1454, 1455, 1459, 1460, 1464, 1469, 1477, 1483, 1495, + 1498, 1501, 1507, 1507, 1507, 1510, 1510, 1510, 1515, 1515, + 1515, 1523, 1523, 1523, 1529, 1539, 1550, 1565, 1568, 1574, + 1575, 1582, 1593, 1594, 1595, 1599, 1600, 1601, 1602, 1603, + 1607, 1612, 1620, 1621, 1625, 1632, 1636, 1642, 1643, 1644, + 1645, 1646, 1647, 1648, 1652, 1653, 1654, 1655, 1656, 1657, + 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, + 1668, 1669, 1670, 1674, 1681, 1693, 1698, 1708, 1712, 1719, + 1722, 1722, 1722, 1727, 1727, 1727, 1740, 1744, 1748, 1753, + 1760, 1765, 1772, 1772, 1772, 1779, 1783, 1793, 1802, 1811, + 1815, 1818, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, + 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, + 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, + 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1865, 1866, + 1867, 1868, 1869, 1882, 1883, 1884, 1885, 1886, 1887, 1888, + 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1898, 1898, 1898, + 1901, 1906, 1910, 1914, 1914, 1914, 1919, 1922, 1926, 1926, + 1926, 1931, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, + 1942, 1944, 1948, 1949, 1957, 1960, 1963, 1972, 1973, 1974, + 1975, 1976, 1977, 1978, 1982, 1986, 1990, 1994, 1998, 2002, + 2006, 2010, 2014, 2021, 2022, 2026, 2027, 2028, 2032, 2033, + 2037, 2038, 2039, 2043, 2044, 2048, 2059, 2062, 2062, 2081, + 2080, 2094, 2093, 2109, 2118, 2128, 2129, 2133, 2136, 2145, + 2146, 2150, 2153, 2157, 2171, 2180, 2181, 2185, 2188, 2192, + 2206, 2207, 2211, 2217, 2223, 2226, 2230, 2239, 2240, 2241, + 2245, 2246, 2250, 2257, 2262, 2271, 2277, 2288, 2295, 2304, + 2307, 2310, 2317, 2320, 2325, 2336, 2339, 2344, 2356, 2357, + 2361, 2362, 2363, 2367, 2370, 2373, 2373, 2393, 2396, 2396, + 2414, 2419, 2427, 2428, 2432, 2435, 2448, 2465, 2466, 2467, + 2472, 2472, 2498, 2502, 2503, 2504, 2508, 2518, 2521, 2527, + 2528, 2532, 2533, 2537, 2538, 2542, 2544, 2549, 2542, 2565, + 2566, 2570, 2571, 2575, 2581, 2582, 2586, 2587, 2588, 2592, + 2595, 2601, 2606, 2601, 2620, 2627, 2632, 2641, 2647, 2658, + 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, + 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676, 2677, 2678, + 2679, 2680, 2681, 2682, 2683, 2684, 2688, 2689, 2690, 2691, + 2692, 2693, 2694, 2695, 2699, 2710, 2714, 2721, 2733, 2740, + 2749, 2754, 2764, 2777, 2777, 2777, 2790, 2791, 2795, 2799, + 2806, 2810, 2814, 2818, 2825, 2828, 2846, 2847, 2848, 2849, + 2850, 2850, 2850, 2854, 2859, 2866, 2866, 2873, 2877, 2881, + 2886, 2891, 2896, 2901, 2905, 2909, 2914, 2918, 2922, 2927, + 2927, 2927, 2933, 2940, 2940, 2940, 2945, 2945, 2945, 2951, + 2951, 2951, 2956, 2960, 2960, 2960, 2965, 2965, 2965, 2974, + 2978, 2978, 2978, 2983, 2983, 2983, 2992, 2996, 2996, 2996, + 3001, 3001, 3001, 3010, 3010, 3010, 3016, 3016, 3016, 3025, + 3028, 3039, 3055, 3057, 3062, 3067, 3055, 3093, 3095, 3100, + 3106, 3093, 3132, 3134, 3139, 3144, 3132, 3175, 3176, 3177, + 3178, 3179, 3183, 3190, 3197, 3203, 3209, 3216, 3223, 3229, + 3238, 3244, 3252, 3257, 3264, 3269, 3275, 3276, 3280, 3281, + 3285, 3285, 3285, 3293, 3293, 3293, 3300, 3300, 3300, 3307, + 3307, 3307, 3318, 3324, 3330, 3336, 3336, 3336, 3346, 3355, + 3355, 3355, 3365, 3365, 3365, 3375, 3375, 3375, 3385, 3394, + 3394, 3394, 3414, 3421, 3421, 3421, 3431, 3434, 3440, 3448, + 3456, 3476, 3501, 3502, 3506, 3507, 3511, 3514, 3517 }; #endif @@ -1158,20 +1167,22 @@ static const char *const yytname[] = "\"integer constant\"", "\"long integer constant\"", "\"unsigned integer constant\"", "\"unsigned long integer constant\"", "\"unsigned int8 constant\"", "\"floating point constant\"", - "\"double constant\"", "\"name\"", "\"start of the string\"", - "STRING_CHARACTER", "STRING_CHARACTER_ESC", "\"end of the string\"", - "\"{\"", "\"}\"", "\"end of failed eader macro\"", "','", "'='", "'?'", - "':'", "'|'", "'^'", "'&'", "'<'", "'>'", "'-'", "'+'", "'*'", "'/'", - "'%'", "UNARY_MINUS", "UNARY_PLUS", "'~'", "'!'", "PRE_INC", "PRE_DEC", + "\"double constant\"", "\"name\"", "\"emitted ,\"", "\"emitted ;\"", + "\"start of the string\"", "STRING_CHARACTER", "STRING_CHARACTER_ESC", + "\"end of the string\"", "\"{\"", "\"}\"", + "\"end of failed eader macro\"", "','", "'='", "'?'", "':'", "'|'", + "'^'", "'&'", "'<'", "'>'", "'-'", "'+'", "'*'", "'/'", "'%'", + "UNARY_MINUS", "UNARY_PLUS", "'~'", "'!'", "PRE_INC", "PRE_DEC", "LLPIPE", "POST_INC", "POST_DEC", "DEREF", "'.'", "'['", "']'", "'('", "')'", "'$'", "'@'", "';'", "'{'", "'}'", "'#'", "$accept", "program", - "top_level_reader_macro", "optional_public_or_private_module", - "module_name", "module_declaration", "character_sequence", - "string_constant", "string_builder_body", "string_builder", - "reader_character_sequence", "expr_reader", "$@1", "options_declaration", - "require_declaration", "require_module_name", "require_module", - "is_public_module", "expect_declaration", "expect_list", "expect_error", - "expression_label", "expression_goto", "elif_or_static_elif", + "COMMA", "SEMICOLON", "top_level_reader_macro", + "optional_public_or_private_module", "module_name", "module_declaration", + "character_sequence", "string_constant", "string_builder_body", + "string_builder", "reader_character_sequence", "expr_reader", "$@1", + "options_declaration", "require_declaration", "require_module_name", + "require_module", "is_public_module", "expect_declaration", + "expect_list", "expect_error", "expression_label", "expression_goto", + "elif_or_static_elif", "emit_semis", "optional_emit_semis", "expression_else", "if_or_static_if", "expression_else_one_liner", "expression_if_one_liner", "semis", "optional_semis", "expression_if_then_else", "$@2", "expression_if_then_else_oneliner", @@ -1220,10 +1231,10 @@ static const char *const yytname[] = "enum_expression", "commas", "enum_list", "optional_public_or_private_alias", "single_alias", "$@38", "alias_declaration", "optional_public_or_private_enum", "enum_name", - "optional_enum_basic_type_declaration", "optional_commas", - "enum_declaration", "$@39", "$@40", "$@41", "optional_structure_parent", - "optional_sealed", "structure_name", "class_or_struct", - "optional_public_or_private_structure", + "optional_enum_basic_type_declaration", "optional_commas", "emit_commas", + "optional_emit_commas", "enum_declaration", "$@39", "$@40", "$@41", + "optional_structure_parent", "optional_sealed", "structure_name", + "class_or_struct", "optional_public_or_private_structure", "optional_struct_variable_declaration_list", "structure_declaration", "$@42", "$@43", "variable_name_with_pos_list", "basic_type_declaration", "enum_basic_type_declaration", "structure_type_declaration", @@ -1254,12 +1265,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-1324) +#define YYPACT_NINF (-1320) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-719) +#define YYTABLE_NINF (-731) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -1268,156 +1279,157 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -1324, 67, -1324, -1324, 23, 17, -10, 320, -1324, -77, - -1324, -1324, -1324, 96, 147, -1324, -1324, -1324, -34, 35, - 53, -1324, 365, -1324, 193, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, 208, -1324, 265, 94, 276, - -1324, -1324, -10, 15, -1324, -1324, -1324, 254, 278, -1324, - -1324, 193, 320, 320, 320, 345, 354, -1324, -1324, -1324, - 147, 147, 147, 342, -1324, 519, -39, -1324, -1324, -1324, - -1324, -1324, -1324, 418, -1324, 493, -1324, 511, 43, 23, - 303, 17, 353, 386, -1324, 409, 440, -1324, -1324, -1324, - 518, 445, 472, 477, -1324, 489, 416, -1324, -1324, -79, - 23, 147, 147, 147, 147, -1324, -1324, -1324, -1324, -1324, - 534, -1324, -1324, -1324, -1324, -1324, 454, -1324, -1324, -1324, - -1324, -1324, 499, 97, -1324, -1324, -1324, -1324, 566, -1324, - -1324, 462, -1324, -1324, -1324, 491, 474, 474, -1324, -1324, - 517, -1324, -40, -1324, 533, 544, 519, 11653, -1324, -1324, - 523, 580, -1324, 487, -1324, -1324, -1324, 502, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -33, -1324, 6723, -1324, 520, - -1324, -1324, 488, -1324, -1324, -1324, -1324, 10696, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, 653, 656, -1324, 495, -1324, -1324, 522, - -1324, 531, -1324, 417, 23, 498, 538, -1324, -1324, -1324, - 97, -1324, 524, 525, 526, 507, 530, 532, -1324, -1324, - -1324, 513, -1324, -1324, -1324, -1324, -1324, 539, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, 541, - -1324, -1324, -1324, 542, 543, -1324, -1324, -1324, -1324, 549, - 550, 516, 96, -1324, -1324, -1324, -1324, -1324, -1324, 501, - 555, -1324, 497, -1324, 506, 528, 571, 572, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, 574, 547, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, 717, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, 587, 554, -1324, -1324, -95, - 578, -1324, 551, 537, 491, 582, 556, -1324, -1324, 487, - -1324, 23, -1324, 390, -1324, -1324, -1324, -1324, -1324, 6272, - -1324, -1324, 594, -1324, 275, 305, 312, -1324, -1324, 6272, - 150, -1324, -1324, -1324, 12, -1324, -1324, -1324, 0, 3452, - -1324, 562, 1534, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - 597, 628, -1324, 564, -1324, 91, -1324, 394, 6723, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - 561, 96, -1324, -1324, -1324, -69, -1324, 604, 6723, -1324, - 103, 6723, 6723, 6723, 590, 591, -1324, -1324, 115, 96, - 592, 25, -1324, 161, 573, 595, 596, 579, 598, 581, - 163, 600, -1324, 263, 602, 603, 6272, 6272, 584, 585, - 586, 588, 589, 593, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, 6272, 6272, 6272, 6272, 6272, 3076, 6272, - -1324, 601, 3640, -1324, -1324, -1324, 599, -1324, -1324, -1324, - -1324, 576, -1324, -1324, -1324, -1324, -1324, -1324, -116, 7331, - -1324, -1324, 605, -1324, -1324, -1324, -1324, -1324, -1324, 6723, - 6723, 606, 622, 6723, 495, 6723, 495, 6723, 495, 6815, - 625, 7415, -1324, 6272, -1324, -1324, -1324, -1324, 607, -1324, - -1324, 10187, 3828, -1324, -1324, 626, 6815, 625, -1324, -1324, - 6272, -1324, -1324, 142, -1324, -82, 555, 1907, -1324, -1324, - 18, 608, 748, 397, -1324, -1324, -63, -1324, -1324, -1324, - 6272, 330, 344, 614, -26, -1324, -1324, -1324, 609, -1324, - -1324, 296, -1324, 616, 620, 621, -1324, 6272, 6723, 6272, - 6272, -1324, -1324, 6272, -1324, 6272, -1324, 6272, -1324, -1324, - 6272, -1324, 6723, 190, 190, 6272, 6272, 6272, 6272, 6272, - 6272, 359, 190, 190, 33, 190, 190, 610, 781, 630, - 11022, 630, 266, 611, 10777, -1324, 639, 2700, 807, 612, - -1324, 576, -1324, 11477, 11565, 6272, 6272, -1324, -1324, 6272, - 6272, 6272, 6272, 651, 6272, 62, 6272, 6272, 6272, 6272, - 6272, 6272, 6272, 6272, 6272, 4016, 6272, 6272, 6272, 6272, - 6272, 6272, 6272, 6272, 6272, 6272, 11701, 6272, -1324, 4204, - 362, 422, -1324, -1324, 78, 431, 578, 443, 578, 448, - 578, -28, -1324, 38, 555, 641, -1324, 102, -1324, 6723, - 624, 630, -1324, -1324, -1324, 10269, -1324, 491, -1324, 474, - -1324, 474, 7499, 627, 775, -1324, 100, -1324, -1324, 4392, - -1324, -1324, 4580, 657, -1324, 631, 668, 4768, 428, 4956, - -1324, 632, 636, 815, -1324, 145, -1324, -1324, 814, -1324, - -1324, 817, -1324, 786, 638, 637, -1324, 640, 642, 643, - 644, 652, -1324, 765, -1324, 654, 6558, 680, -1324, 846, - 487, 6272, 694, 695, 6723, 103, -1324, 6272, 1088, -1324, - -1324, -1324, -1324, -1324, 6723, 6723, 6723, 6723, 3264, 698, - 6272, 6723, -1324, -1324, -1324, 6723, 630, 135, 639, 7583, - 6723, 6723, 7667, 6723, 7751, 6723, 630, 6723, 6723, 630, - 6723, 683, 7835, 7919, 8003, 8087, 8171, 8255, -1324, 6272, - 55, 142, 665, 6272, 667, 666, 669, 670, 360, -1324, - -1324, 142, 6272, 6272, 662, -96, 671, 143, 2888, -1324, - 93, 701, 674, 676, 495, -1324, 2110, 807, 697, 678, - -1324, -1324, 699, 681, -1324, -1324, 932, 932, 334, 334, - 1660, 1660, 682, 170, 684, -1324, 10351, -52, -52, 605, - 932, 932, 11331, 11217, 11299, 11103, 11596, 10859, 11413, 813, - 1318, 334, 334, 370, 370, 170, 170, 170, 140, 6272, - 686, 687, 357, 6272, 876, 688, 10433, -1324, 124, -1324, - -1324, -1324, 718, -1324, 708, -1324, 710, -1324, 711, 6723, - -1324, 6815, 6723, -1324, 625, 175, 555, -1324, -1324, -1324, - 232, -1324, 1670, -1324, -97, -1324, -1324, 6272, 729, -1324, - 731, -1324, 6723, -1324, 6272, 6272, 11022, 880, 6272, 11022, - 725, -1324, 726, 745, 11022, -1324, 6272, 11022, -1324, -1324, - 704, -1324, -1324, 705, 706, 707, 709, -1324, 868, -1324, - -1324, -1324, -1324, -1324, -1324, -91, -1324, 6272, 6272, 6272, - 6272, 6272, 6272, 6272, 6272, 6272, 6272, 6272, 6272, 6272, - 6272, 6272, 6272, 6272, 6272, 736, -1324, 491, 536, 841, - 719, 8339, -1324, 866, -62, 6272, 6809, -1324, -1324, -1324, - -1324, 555, 732, 733, 466, 368, 141, 723, 724, 219, - 8423, 471, 6723, 6723, 6723, 746, 727, 730, 6723, 728, - -1324, 755, 756, -1324, 761, -1324, 767, 750, 774, 778, - 759, 780, 807, -1324, -1324, -1324, -1324, -1324, 762, 10940, - 16, 142, 11022, -1324, -1324, 6272, 6272, 6723, 495, 19, - 11022, -1324, -1324, 112, -1324, 763, 6272, 6272, 6272, 37, - 6460, -1324, 379, -1324, 246, 578, -1324, 495, -1324, 6272, - -1324, 6272, 5144, 6272, -1324, 783, 766, -1324, -1324, 6272, - 768, -1324, 10515, 6272, 5332, 769, -1324, 10597, -1324, 5520, - -1324, 6272, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, 555, -1324, -1324, 555, -1324, -1324, 770, - 6723, -1324, 771, -1324, 772, -1324, 773, 8507, -1324, 919, - -45, 11022, 11022, -1324, 11022, 6272, -1324, -1324, -1324, 11022, - 6272, 6272, 142, 6272, 6272, -1324, -1324, 802, -1324, -1324, - -1324, 11022, 11022, 11022, 11022, 11022, 11022, 11022, 11022, 11022, - 11022, 11022, 11022, 11022, 11022, 11022, 11022, 11022, 11022, 6272, - 261, -1324, -1324, -1324, 444, -1324, 8, -1324, -1324, 806, - -1324, 6272, 6908, -1324, -1324, -1324, -1324, 779, -1324, -1324, - -1324, 782, 808, -1324, -1324, 791, 793, 794, -1324, -1324, - 6272, 800, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, 451, 5708, -1324, 6272, 24, 8591, 8675, 804, - 578, 6272, -1324, 8759, 11022, 11022, 785, 2888, 788, 158, - 818, 824, 790, 835, 836, -1324, 156, 474, 578, 6723, - 8843, 6723, 8927, -1324, 192, 9011, -1324, 6272, 11185, 6272, - -1324, 9095, -1324, 198, 6272, -1324, -1324, -1324, 211, -1324, - -1324, -1324, 6272, 555, -1324, -1324, -1324, -1324, 837, 6272, - -1324, 11022, 9179, 9263, 30, 9347, 9431, 798, -1324, 212, - -67, 11022, -1324, 799, 970, 8, -1324, -1324, 536, -1324, - 6995, -1324, 809, 812, -1324, -1324, 6272, 826, -1324, -1324, - -1324, -1324, 816, 819, 639, 822, 6272, 6272, 6272, 825, - 935, 828, 830, 5896, -1324, -1324, 223, 249, 6272, -1324, - -1324, -1324, 832, 256, 180, -1324, 191, 6272, 6272, 6272, - -1324, -1324, 849, -1324, -1324, 246, -1324, 875, 474, 845, - -1324, 476, -1324, -1324, -1324, 6723, 9515, 9599, -1324, -1324, - 9683, -1324, 831, -1324, 11022, 1002, 474, 6272, 474, 474, - -1324, 853, 382, -1324, -1324, -1324, -1324, -1324, -1324, 970, - 142, -1324, 935, 935, 9767, 833, 834, 838, 847, 6272, - -1324, -1324, 6272, 334, 334, 334, 6272, -1324, -1324, 935, - 368, -1324, 9851, -1324, -1324, 827, 257, 358, -1324, 844, - 6272, 6272, 850, 9935, 11022, 11022, 854, -1324, 6084, -1324, - -1324, -1324, -1324, -1324, 479, -1324, -1324, -1324, -1324, 2512, - 852, -1324, 268, -1324, -1324, 2313, -1324, 6723, 103, 11653, - -1324, -1324, -29, -29, -1324, 6272, 935, 935, 368, 856, - 857, 630, -29, 701, 858, -1324, 6272, 863, -1324, 358, - 6272, 11022, 11022, -1324, 209, -1324, 6272, 11103, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, 11022, -1324, 421, - 474, -1324, -1324, 839, 103, 6272, 864, 11653, 368, 701, - 881, -1324, 860, 870, 10019, -29, -29, 871, -1324, -1324, - 878, 899, -1324, 7076, 6272, -1324, 873, 6272, 6272, 11185, - -1324, 474, -1324, -1324, 902, -1324, -1324, -1324, 6272, 7163, - -1324, -1324, 271, 903, -1324, -1324, -1324, -1324, 904, 905, - -1324, -1324, -1324, 980, 908, 7076, 898, 11022, 11022, -1324, - 6272, -1324, 7244, -1324, -1324, -1324, 368, -1324, -1324, 6272, - -1324, 909, -1324, -1324, 10103, -1324, 272, 11022, -1324, 474, - -1324, -1324, 421, -1324 + -1320, 37, -1320, -1320, 31, -92, 165, 7, -1320, -44, + -1320, -1320, -1320, 15, 234, -1320, -1320, -1320, -75, -47, + -39, -1320, 439, -1320, 156, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -78, -1320, 2, 48, 120, + -1320, -1320, 165, 40, -1320, -1320, -1320, 125, 103, -1320, + -1320, 156, 7, 7, 7, 157, 208, -1320, -1320, -1320, + 234, 234, 234, 187, -1320, 543, -29, -1320, -1320, -1320, + -1320, -1320, -1320, 291, -1320, 305, -1320, 393, 66, 31, + 209, -92, 198, 240, -1320, 256, 292, -1320, -1320, -1320, + 409, 299, 306, 365, -1320, 372, 432, -1320, -1320, -56, + 31, 234, 234, 234, 234, -1320, -1320, -1320, -1320, -1320, + 452, -1320, -1320, -1320, -1320, -1320, 424, -1320, -1320, -1320, + -1320, -1320, 529, 107, -1320, -1320, -1320, -1320, 575, -1320, + -1320, 494, -1320, -1320, -1320, 507, 471, 471, -1320, -1320, + 508, -1320, -127, -1320, 411, 546, 543, 1188, -1320, -1320, + 527, 584, -1320, 491, -1320, -1320, -1320, 536, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, 14, -1320, 6611, -1320, 542, + -1320, -1320, 535, -1320, -1320, -1320, -1320, 10485, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, 672, 674, -1320, 513, -1320, -1320, 544, + -1320, 556, -1320, 440, 31, 518, 559, -1320, -1320, -1320, + 107, -1320, 545, 550, 551, 523, 552, 558, -1320, -1320, + -1320, 539, -1320, -1320, -1320, -1320, -1320, 560, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, 561, + -1320, -1320, -1320, 566, 568, -1320, -1320, -1320, -1320, 571, + 573, 557, 15, -1320, -1320, -1320, -1320, -1320, -1320, 347, + 581, -1320, 555, -1320, 562, 563, 598, 599, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, 600, 565, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, 742, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, 603, 570, -1320, -1320, -76, + 594, -1320, 572, 522, 507, 602, 574, -1320, -1320, 491, + -1320, 31, -1320, 464, -1320, -1320, -1320, -1320, -1320, 6182, + -1320, -1320, 613, -1320, 390, 412, 413, -1320, -1320, 6182, + 272, -1320, -1320, -1320, 0, -1320, -1320, -1320, 23, 3332, + -1320, 585, 1526, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + 622, 653, -1320, 587, -1320, 130, -1320, 232, 6611, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + 583, 15, -1320, -1320, -1320, 8, -1320, 627, 6611, -1320, + 112, 6611, 6611, 6611, 611, 614, -1320, -1320, 73, 15, + 615, 33, -1320, 318, 593, 616, 617, 601, 618, 604, + 378, 619, -1320, 379, 620, 623, 6182, 6182, 605, 606, + 608, 612, 621, 624, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, 6182, 6182, 6182, 6182, 6182, 2952, 6182, + -1320, 610, 3522, -1320, -1320, -1320, 626, -1320, -1320, -1320, + -1320, 625, -1320, -1320, -1320, -1320, -1320, -1320, 490, 7042, + -1320, -1320, 628, -1320, -1320, -1320, -1320, -1320, -1320, 6611, + 6611, 630, 639, 6611, 513, 6611, 513, 6611, 513, 6703, + 648, 7128, -1320, 6182, -1320, -1320, -1320, -1320, 634, -1320, + -1320, 9966, 3712, -1320, -1320, 654, 6703, 648, -1320, -1320, + 6182, -1320, -1320, 63, -1320, -64, 581, 1771, -1320, -1320, + 22, 635, 774, 469, -1320, -1320, -71, -1320, -1320, -1320, + 6182, 437, 472, 638, 252, -1320, -1320, -1320, 636, -1320, + -1320, 382, -1320, 642, 647, 657, -1320, 6182, 6611, 6182, + 6182, -1320, -1320, 6182, -1320, 6182, -1320, 6182, -1320, -1320, + 6182, -1320, 6611, 371, 371, 6182, 6182, 6182, 6182, 6182, + 6182, 512, 371, 371, -63, 371, 371, 640, 820, 666, + 10820, 666, 170, 641, 10568, -1320, 669, 2572, 838, 644, + -1320, 625, -1320, 7113, 10639, 6182, 6182, -1320, -1320, 6182, + 6182, 6182, 6182, 681, 6182, 183, 6182, 6182, 6182, 6182, + 6182, 6182, 6182, 6182, 6182, 3902, 6182, 6182, 6182, 6182, + 6182, 6182, 6182, 6182, 6182, 6182, 11398, 6182, -1320, 4092, + 473, 474, -1320, -1320, 167, 475, 594, 480, 594, 481, + 594, 25, -1320, 250, 581, 676, -1320, 315, -1320, 6611, + 649, 666, -1320, -1320, -1320, 10050, -1320, 118, -1320, -35, + -1320, -35, 7214, 655, 804, -1320, -27, -1320, -1320, 4282, + -1320, -1320, 4472, 693, -1320, -35, 701, 4662, 79, 4852, + -1320, -1320, -1320, -35, -35, 848, -1320, 564, -1320, -1320, + 846, -1320, -1320, 851, -1320, 819, -35, 661, -1320, -35, + -35, -35, -35, -35, -1320, 801, -1320, -35, 1359, 706, + -1320, 862, 491, 6182, 709, 710, 6611, 112, -1320, 6182, + 6793, -1320, -1320, -1320, -1320, -1320, -1320, -1320, 6611, 6611, + 6611, 6611, 3142, 711, 6182, 6611, -1320, -1320, -1320, 6611, + 666, 359, 669, 7300, 6611, 6611, 7386, 6611, 7472, 6611, + 666, 6611, 6611, 666, 6611, 698, 7558, 7644, 7730, 7816, + 7902, 7988, -1320, 6182, 429, 63, 682, 6182, 685, 684, + 686, 687, 428, -1320, -1320, 63, 6182, 6182, 683, 102, + 688, 128, 2762, -1320, 91, 726, 699, 702, 513, -1320, + 1976, 838, 721, 708, -1320, -1320, 729, 714, -1320, -1320, + 309, 309, 996, 996, 787, 787, 720, 182, 725, -1320, + 10134, 54, 54, 628, 309, 309, 11131, 11017, 11048, 10903, + 11310, 10654, 11162, 11245, 1326, 996, 996, 957, 957, 182, + 182, 182, 394, 6182, 731, 733, 457, 6182, 909, 760, + 10218, -1320, 152, -1320, -1320, -1320, 763, -1320, 780, -1320, + 782, -1320, 783, 6611, -1320, 6703, 6611, -1320, 648, 366, + 581, -1320, -1320, -1320, -1320, 401, -1320, -1320, 6517, -1320, + 164, -1320, -1320, 6182, 802, -1320, 803, -1320, 6611, -1320, + 6182, 6182, 10820, 959, 6182, 10820, 807, -1320, 799, 822, + 10820, -1320, 6182, 10820, -1320, -1320, 776, -1320, -1320, 786, + 788, 789, 790, -1320, 944, -1320, -1320, -1320, -1320, -1320, + -1320, -94, -1320, 6182, 6182, 6182, 6182, 6182, 6182, 6182, + 6182, 6182, 6182, 6182, 6182, 6182, 6182, 6182, 6182, 6182, + 6182, 809, -1320, 118, 503, 919, 791, 8074, -1320, 948, + -72, 6182, 6876, -1320, -1320, -1320, -1320, 581, 812, 813, + 482, 476, 153, 798, 800, 369, 8160, 483, 6611, 6611, + 6611, 821, 805, 808, 6611, 810, -1320, 828, 829, -1320, + 831, -1320, 832, 814, 833, 835, 816, 839, 838, -1320, + -1320, -1320, -1320, -1320, 823, 10737, 12, 63, 10820, -1320, + -1320, 6182, 6182, 6611, 513, 16, 10820, -1320, -1320, 113, + -1320, 824, 6182, 6182, 6182, 123, 6372, -1320, 478, -1320, + -12, 594, -1320, 513, -1320, 6182, -1320, 6182, 5042, 6182, + -1320, 841, 826, -1320, -1320, 6182, 830, -1320, 10302, 6182, + 5232, 834, -1320, 10386, -1320, 5422, -1320, 6182, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, 581, + -1320, -1320, 581, -1320, -1320, 836, 6611, -1320, -1320, 797, + -1320, -1320, 818, -1320, 825, 8246, -1320, 978, -46, 10820, + 10820, -1320, 10820, 6182, -1320, -1320, -1320, 10820, 6182, 6182, + 63, 6182, 6182, -1320, -1320, 865, -1320, -1320, -1320, 10820, + 10820, 10820, 10820, 10820, 10820, 10820, 10820, 10820, 10820, 10820, + 10820, 10820, 10820, 10820, 10820, 10820, 10820, 6182, 462, -1320, + -1320, -1320, 296, -1320, -3, -1320, -1320, 866, -1320, 6182, + 6704, -1320, -1320, -1320, -1320, 837, -1320, -1320, -1320, 840, + 869, -1320, -1320, 856, 858, 861, -1320, -1320, 6182, 863, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + 95, 5612, -1320, 6182, 19, 8332, 8418, 867, 594, 6182, + -1320, 8504, 10820, 10820, 842, 2762, 849, 115, 883, 887, + 853, 888, 892, -1320, 169, 471, 594, 6611, 8590, 6611, + 8676, -1320, 212, 8762, -1320, 6182, 10934, 6182, -1320, 8848, + -1320, 225, 6182, -1320, -1320, -1320, 269, -1320, -1320, -1320, + 6182, 581, -1320, -1320, -1320, -1320, 893, 6182, -1320, 10820, + 8934, 9020, 20, 9106, 9192, 852, -1320, 311, -90, 10820, + -1320, 854, 1024, -3, -1320, -1320, 503, -1320, 6704, -1320, + 859, 864, -1320, -1320, 6182, 880, -1320, -1320, -1320, -1320, + 868, 870, 669, 872, 6182, 6182, 6182, 873, 992, 874, + 877, 5802, -1320, -1320, 313, 326, 6182, -1320, -1320, -1320, + 884, 335, 147, -1320, 179, 6182, 6182, 6182, -1320, -1320, + 903, -1320, -1320, -12, -1320, 929, 471, 889, -1320, 488, + -1320, -1320, -1320, 6611, 9278, 9364, -1320, -1320, 9450, -1320, + 879, -1320, 10820, 1056, 471, 6182, 471, 471, -1320, 915, + 341, -1320, -1320, -1320, -1320, -1320, -1320, 1024, 63, -1320, + 992, 992, 9536, 881, 890, 894, 896, 6182, -1320, -1320, + 6182, 996, 996, 996, 6182, -1320, -1320, 992, 476, -1320, + 9622, -1320, -1320, 895, 336, 136, -1320, 898, 6182, 6182, + 891, 9708, 10820, 10820, 897, -1320, 5992, -1320, -1320, -1320, + -1320, -1320, 489, -1320, -1320, -1320, -1320, 2382, -35, -1320, + 340, -1320, -1320, 2181, -1320, 6611, 112, 1188, -1320, -1320, + -41, -41, -1320, 6182, 992, 992, 476, 899, 902, 666, + -41, 726, 905, -1320, 6182, 904, -1320, 136, 6182, 10820, + 10820, -1320, 150, -1320, 6182, 10903, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, 10820, -1320, 397, 471, -1320, + -1320, 878, 112, 6182, 906, 1188, 476, 726, 920, -1320, + 908, 910, 9794, -41, -41, 916, -1320, -1320, 918, 922, + -1320, 6959, 6182, -1320, 912, 6182, 6182, 10934, -1320, 471, + -1320, -1320, 907, -1320, -1320, -1320, 6182, 6704, -1320, -1320, + 342, 921, -1320, -1320, -1320, -1320, 928, 931, -1320, -1320, + -1320, 1043, 934, 6959, 914, 10820, 10820, -1320, 6182, -1320, + 6704, -1320, -1320, -1320, 476, -1320, -1320, 6182, -1320, 935, + -1320, -1320, 9880, -1320, 348, 10820, -1320, 471, -1320, -1320, + 397, -1320 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1425,224 +1437,225 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 2, 122, 1, 283, 0, 0, 0, 569, 284, 0, - 740, 730, 735, 0, 0, 16, 15, 3, 0, 0, - 0, 8, 0, 7, 550, 6, 11, 5, 4, 13, - 12, 14, 94, 95, 93, 102, 104, 38, 51, 48, - 49, 40, 0, 46, 39, 571, 570, 0, 0, 22, - 21, 550, 569, 569, 569, 0, 257, 36, 109, 110, - 0, 0, 0, 111, 113, 120, 0, 108, 17, 10, - 9, 593, 592, 215, 583, 594, 551, 552, 0, 0, - 0, 0, 41, 0, 47, 0, 0, 44, 572, 574, - 18, 0, 0, 0, 259, 0, 0, 119, 114, 0, - 0, 0, 0, 0, 0, 123, 217, 216, 219, 214, - 575, 596, 595, 599, 554, 553, 560, 100, 101, 98, - 99, 97, 0, 0, 96, 105, 52, 50, 46, 43, - 42, 0, 19, 20, 23, 581, 72, 72, 258, 34, - 37, 118, 0, 115, 116, 117, 121, 0, 577, 576, - 0, 589, 555, 485, 24, 25, 29, 0, 89, 90, - 87, 88, 86, 85, 91, 0, 45, 0, 564, 582, - 741, 70, 73, 731, 736, 35, 112, 0, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 0, 0, 129, 124, 225, 578, 579, - 590, 0, 600, 557, 0, 486, 0, 26, 27, 28, - 0, 103, 0, 0, 0, 0, 0, 0, 607, 627, - 608, 643, 609, 613, 614, 615, 616, 633, 620, 621, - 622, 623, 624, 625, 626, 628, 629, 630, 631, 700, - 612, 619, 632, 707, 714, 610, 617, 611, 618, 0, - 0, 0, 0, 642, 664, 667, 665, 666, 727, 662, - 573, 565, 0, 71, 0, 0, 183, 184, 181, 132, - 133, 135, 134, 136, 137, 138, 139, 165, 166, 163, - 164, 156, 167, 168, 157, 154, 155, 182, 176, 0, - 180, 169, 170, 171, 172, 143, 144, 145, 140, 141, - 142, 153, 0, 159, 160, 158, 151, 152, 147, 146, - 148, 149, 150, 131, 130, 175, 0, 161, 162, 485, - 127, 220, 0, 0, 581, 587, 597, 556, 559, 485, - 106, 0, 539, 532, 561, 92, 668, 691, 694, 0, - 697, 687, 0, 651, 701, 708, 715, 721, 724, 0, - 0, 677, 682, 676, 0, 690, 686, 679, 0, 0, - 681, 663, 0, 742, 732, 737, 185, 186, 179, 174, - 187, 177, 173, 0, 125, 282, 507, 0, 0, 218, - 248, 634, 637, 640, 641, 635, 638, 636, 639, 580, - 0, 0, 591, 498, 601, 0, 107, 0, 0, 533, - 0, 0, 0, 0, 0, 0, 390, 391, 0, 0, - 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 633, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 474, 329, 331, 330, 332, 333, - 334, 335, 30, 0, 0, 0, 0, 0, 0, 0, - 314, 315, 0, 388, 387, 464, 385, 457, 456, 455, - 454, 122, 460, 386, 459, 458, 431, 392, 432, 0, - 436, 393, 0, 389, 745, 749, 746, 747, 748, 0, - 0, 0, 0, 0, 124, 0, 124, 0, 124, 0, - 0, 0, 673, 251, 684, 685, 678, 680, 0, 683, - 659, 0, 0, 729, 728, 648, 513, 519, 188, 178, - 0, 280, 281, 0, 126, 485, 128, 0, 584, 588, - 499, 0, 534, 532, 558, 540, 0, 530, 531, 529, - 0, 0, 0, 0, 656, 768, 771, 262, 266, 265, - 271, 0, 303, 0, 0, 0, 797, 0, 0, 0, - 0, 294, 297, 0, 300, 0, 801, 0, 777, 783, - 0, 774, 0, 420, 421, 0, 0, 0, 0, 0, - 0, 0, 397, 396, 433, 395, 394, 0, 0, 812, - 309, 812, 316, 0, 781, 804, 812, 0, 324, 315, - 248, 122, 228, 0, 0, 0, 0, 422, 423, 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, 374, 0, 671, 0, - 0, 0, 644, 646, 0, 0, 127, 0, 127, 0, - 127, 257, 511, 0, 509, 0, 517, 0, 645, 0, - 0, 812, 675, 658, 661, 0, 649, 581, 514, 72, - 520, 72, 0, 0, 602, 505, 524, 508, 250, 274, - 272, 225, 0, 0, 273, 0, 0, 0, 72, 0, - 229, 0, 0, 0, 242, 0, 243, 237, 0, 234, - 233, 0, 235, 0, 0, 0, 249, 0, 68, 69, - 66, 67, 244, 286, 232, 0, 65, 566, 598, 0, - 485, 0, 0, 0, 0, 0, 547, 0, 0, 669, - 692, 695, 654, 655, 0, 0, 0, 0, 766, 0, - 0, 0, 787, 790, 793, 0, 812, 0, 812, 0, - 0, 0, 0, 0, 0, 0, 812, 0, 0, 812, - 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, - 31, 0, 0, 813, 0, 0, 0, 0, 362, 359, - 361, 0, 0, 813, 0, 0, 0, 257, 0, 377, - 0, 759, 0, 0, 124, 316, 0, 324, 0, 0, - 443, 442, 0, 0, 444, 448, 398, 399, 411, 412, - 409, 410, 0, 437, 0, 429, 0, 461, 462, 463, - 400, 401, 416, 417, 418, 419, 0, 0, 414, 415, - 413, 407, 408, 403, 402, 404, 405, 406, 0, 0, - 0, 368, 0, 0, 0, 0, 0, 382, 0, 698, - 688, 652, 0, 702, 0, 709, 0, 716, 0, 0, - 722, 0, 0, 725, 0, 0, 255, 672, 252, 660, - 582, 743, 73, 733, 73, 738, 506, 0, 0, 523, - 0, 522, 0, 525, 0, 0, 275, 0, 0, 260, - 0, 247, 0, 0, 55, 225, 0, 277, 245, 246, - 0, 61, 62, 0, 0, 0, 0, 236, 221, 231, - 238, 239, 240, 241, 285, 0, 230, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 562, 567, 581, 492, 495, - 0, 0, 536, 537, 0, 0, 0, 549, 670, 693, - 696, 657, 0, 0, 0, 767, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 434, 0, 0, 435, 0, 465, 0, 0, 0, 0, - 0, 0, 324, 469, 470, 471, 472, 473, 0, 0, - 0, 0, 310, 786, 424, 0, 0, 0, 124, 0, - 780, 805, 806, 0, 378, 0, 0, 0, 0, 0, - 0, 381, 0, 379, 0, 127, 328, 124, 439, 0, - 445, 0, 0, 0, 427, 0, 0, 449, 453, 0, - 0, 430, 0, 0, 0, 0, 369, 0, 375, 0, - 425, 0, 383, 699, 689, 653, 647, 703, 705, 710, - 712, 717, 719, 510, 723, 512, 516, 726, 518, 0, - 0, 650, 0, 515, 0, 521, 0, 0, 604, 605, - 526, 528, 276, 225, 261, 0, 53, 54, 79, 278, - 0, 0, 0, 0, 0, 222, 227, 0, 541, 292, - 291, 346, 347, 349, 348, 350, 340, 341, 342, 351, - 352, 338, 339, 353, 354, 343, 344, 345, 337, 0, - 582, 585, 493, 494, 495, 496, 487, 500, 535, 0, - 544, 0, 0, 548, 769, 772, 263, 0, 268, 269, - 267, 0, 0, 306, 304, 0, 0, 0, 798, 796, - 253, 0, 807, 295, 298, 301, 802, 800, 778, 784, - 782, 775, 72, 0, 32, 0, 0, 0, 0, 0, - 127, 0, 380, 0, 751, 750, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 322, 0, 72, 127, 0, - 0, 0, 0, 357, 0, 0, 450, 0, 438, 0, - 428, 0, 370, 0, 0, 426, 376, 372, 0, 706, - 713, 720, 251, 256, 744, 734, 739, 603, 0, 0, - 279, 84, 0, 0, 0, 0, 0, 0, 287, 0, - 0, 563, 568, 0, 490, 487, 488, 489, 492, 538, - 0, 546, 0, 0, 264, 270, 0, 0, 305, 788, - 791, 794, 0, 0, 812, 0, 0, 0, 0, 0, - 766, 0, 0, 0, 225, 475, 0, 0, 0, 360, - 484, 363, 0, 0, 0, 355, 0, 0, 0, 0, - 319, 320, 0, 318, 317, 0, 325, 225, 72, 0, - 483, 0, 481, 358, 478, 0, 0, 0, 477, 371, - 0, 373, 0, 606, 527, 63, 72, 0, 72, 72, - 248, 0, 532, 542, 293, 543, 586, 491, 501, 490, - 0, 545, 766, 766, 0, 0, 0, 0, 0, 251, - 808, 254, 253, 296, 299, 302, 0, 767, 779, 766, - 0, 466, 0, 468, 476, 0, 0, 0, 366, 0, - 0, 0, 0, 0, 753, 752, 0, 323, 0, 311, - 326, 225, 440, 446, 0, 482, 480, 479, 674, 0, - 0, 225, 0, 225, 225, 0, 288, 0, 0, 0, - 503, 497, 765, 765, 307, 0, 766, 766, 0, 0, - 0, 812, 765, 758, 0, 467, 0, 0, 364, 0, - 0, 755, 754, 356, 0, 321, 0, 312, 327, 441, - 447, 451, 64, 68, 69, 66, 67, 65, 76, 58, - 72, 81, 83, 0, 0, 0, 0, 0, 0, 762, - 812, 764, 0, 0, 0, 765, 765, 0, 799, 809, - 0, 0, 776, 810, 0, 367, 810, 0, 0, 313, - 452, 72, 56, 57, 0, 75, 225, 224, 0, 0, - 502, 225, 0, 813, 763, 770, 773, 308, 0, 0, - 795, 803, 785, 0, 0, 810, 0, 757, 756, 225, - 0, 78, 0, 290, 504, 760, 0, 789, 792, 0, - 814, 0, 816, 59, 0, 289, 0, 811, 815, 72, - 761, 225, 58, 60 + 2, 130, 1, 291, 0, 0, 0, 577, 292, 0, + 752, 742, 747, 0, 0, 16, 15, 3, 0, 0, + 0, 8, 0, 7, 558, 6, 11, 5, 4, 13, + 12, 14, 102, 103, 101, 110, 112, 42, 55, 52, + 53, 44, 0, 50, 43, 579, 578, 0, 0, 26, + 25, 558, 577, 577, 577, 0, 265, 40, 117, 118, + 0, 0, 0, 119, 121, 128, 0, 116, 21, 10, + 9, 605, 604, 223, 595, 606, 559, 560, 0, 0, + 0, 0, 45, 0, 51, 0, 0, 48, 580, 582, + 22, 0, 0, 0, 267, 0, 0, 127, 122, 0, + 0, 0, 0, 0, 0, 131, 225, 224, 227, 222, + 583, 608, 607, 611, 562, 561, 568, 108, 109, 106, + 107, 105, 0, 0, 104, 113, 56, 54, 50, 47, + 46, 0, 23, 24, 27, 593, 64, 64, 266, 38, + 41, 126, 0, 123, 124, 125, 129, 0, 585, 584, + 0, 601, 563, 493, 28, 29, 33, 0, 97, 98, + 95, 96, 94, 93, 99, 0, 49, 0, 591, 594, + 753, 62, 65, 743, 748, 39, 120, 0, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 0, 0, 137, 132, 233, 586, 587, + 602, 0, 612, 565, 0, 494, 0, 30, 31, 32, + 0, 111, 0, 0, 0, 0, 0, 0, 619, 639, + 620, 655, 621, 625, 626, 627, 628, 645, 632, 633, + 634, 635, 636, 637, 638, 640, 641, 642, 643, 712, + 624, 631, 644, 719, 726, 622, 629, 623, 630, 0, + 0, 0, 0, 654, 676, 679, 677, 678, 739, 674, + 581, 592, 0, 63, 0, 0, 191, 192, 189, 140, + 141, 143, 142, 144, 145, 146, 147, 173, 174, 171, + 172, 164, 175, 176, 165, 162, 163, 190, 184, 0, + 188, 177, 178, 179, 180, 151, 152, 153, 148, 149, + 150, 161, 0, 167, 168, 166, 159, 160, 155, 154, + 156, 157, 158, 139, 138, 183, 0, 169, 170, 493, + 135, 228, 0, 0, 593, 599, 609, 564, 567, 493, + 114, 0, 547, 540, 569, 100, 680, 703, 706, 0, + 709, 699, 0, 663, 713, 720, 727, 733, 736, 0, + 0, 689, 694, 688, 0, 702, 698, 691, 0, 0, + 693, 675, 0, 754, 744, 749, 193, 194, 187, 182, + 195, 185, 181, 0, 133, 290, 515, 0, 0, 226, + 256, 646, 649, 652, 653, 647, 650, 648, 651, 588, + 0, 0, 603, 506, 613, 0, 115, 0, 0, 541, + 0, 0, 0, 0, 0, 0, 398, 399, 0, 0, + 0, 0, 392, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 645, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 482, 337, 339, 338, 340, 341, + 342, 343, 34, 0, 0, 0, 0, 0, 0, 0, + 322, 323, 0, 396, 395, 472, 393, 465, 464, 463, + 462, 130, 468, 394, 467, 466, 439, 400, 440, 0, + 444, 401, 0, 397, 757, 761, 758, 759, 760, 0, + 0, 0, 0, 0, 132, 0, 132, 0, 132, 0, + 0, 0, 685, 259, 696, 697, 690, 692, 0, 695, + 671, 0, 0, 741, 740, 660, 521, 527, 196, 186, + 0, 288, 289, 0, 134, 493, 136, 0, 596, 600, + 507, 0, 542, 540, 566, 548, 0, 538, 539, 537, + 0, 0, 0, 0, 668, 780, 783, 270, 274, 273, + 279, 0, 311, 0, 0, 0, 809, 0, 0, 0, + 0, 302, 305, 0, 308, 0, 813, 0, 789, 795, + 0, 786, 0, 428, 429, 0, 0, 0, 0, 0, + 0, 0, 405, 404, 441, 403, 402, 0, 0, 824, + 317, 824, 324, 0, 793, 816, 824, 0, 332, 323, + 256, 130, 236, 0, 0, 0, 0, 430, 431, 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, 382, 0, 683, 0, + 0, 0, 656, 658, 0, 0, 135, 0, 135, 0, + 135, 265, 519, 0, 517, 0, 525, 0, 657, 0, + 0, 824, 687, 670, 673, 0, 661, 589, 522, 80, + 528, 80, 0, 0, 614, 513, 532, 516, 258, 282, + 280, 233, 0, 0, 281, 0, 0, 0, 64, 0, + 20, 19, 237, 0, 0, 0, 250, 0, 251, 245, + 0, 242, 241, 0, 243, 0, 0, 0, 257, 0, + 76, 77, 74, 75, 252, 294, 240, 0, 344, 574, + 610, 0, 493, 0, 0, 0, 0, 0, 555, 0, + 0, 681, 704, 707, 18, 17, 666, 667, 0, 0, + 0, 0, 778, 0, 0, 0, 799, 802, 805, 0, + 824, 0, 824, 0, 0, 0, 0, 0, 0, 0, + 824, 0, 0, 824, 0, 0, 0, 0, 0, 0, + 0, 0, 37, 0, 35, 0, 0, 825, 0, 0, + 0, 0, 370, 367, 369, 0, 0, 825, 0, 0, + 0, 265, 0, 385, 0, 771, 0, 0, 132, 324, + 0, 332, 0, 0, 451, 450, 0, 0, 452, 456, + 406, 407, 419, 420, 417, 418, 0, 445, 0, 437, + 0, 469, 470, 471, 408, 409, 424, 425, 426, 427, + 0, 0, 422, 423, 421, 415, 416, 411, 410, 412, + 413, 414, 0, 0, 0, 376, 0, 0, 0, 0, + 0, 390, 0, 710, 700, 664, 0, 714, 0, 721, + 0, 728, 0, 0, 734, 0, 0, 737, 0, 0, + 263, 684, 260, 672, 572, 590, 755, 78, 81, 745, + 81, 750, 514, 0, 0, 531, 0, 530, 0, 533, + 0, 0, 283, 0, 0, 268, 0, 255, 0, 0, + 59, 233, 0, 285, 253, 254, 0, 69, 70, 0, + 0, 0, 0, 244, 229, 239, 246, 247, 248, 249, + 293, 0, 238, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 570, 575, 589, 500, 503, 0, 0, 544, 545, + 0, 0, 0, 557, 682, 705, 708, 669, 0, 0, + 0, 779, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 442, 0, 0, 443, + 0, 473, 0, 0, 0, 0, 0, 0, 332, 477, + 478, 479, 480, 481, 0, 0, 0, 0, 318, 798, + 432, 0, 0, 0, 132, 0, 792, 817, 818, 0, + 386, 0, 0, 0, 0, 0, 0, 389, 0, 387, + 0, 135, 336, 132, 447, 0, 453, 0, 0, 0, + 435, 0, 0, 457, 461, 0, 0, 438, 0, 0, + 0, 0, 377, 0, 383, 0, 433, 0, 391, 711, + 701, 665, 659, 715, 717, 722, 724, 729, 731, 518, + 735, 520, 524, 738, 526, 0, 0, 662, 573, 0, + 79, 523, 0, 529, 0, 0, 616, 617, 534, 536, + 284, 233, 269, 0, 57, 58, 87, 286, 0, 0, + 0, 0, 0, 230, 235, 0, 549, 300, 299, 354, + 355, 357, 356, 358, 348, 349, 350, 359, 360, 346, + 347, 361, 362, 351, 352, 353, 345, 0, 590, 597, + 501, 502, 503, 504, 495, 508, 543, 0, 552, 0, + 0, 556, 781, 784, 271, 0, 276, 277, 275, 0, + 0, 314, 312, 0, 0, 0, 810, 808, 261, 0, + 819, 303, 306, 309, 814, 812, 790, 796, 794, 787, + 64, 0, 36, 0, 0, 0, 0, 0, 135, 0, + 388, 0, 763, 762, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 330, 0, 64, 135, 0, 0, 0, + 0, 365, 0, 0, 458, 0, 446, 0, 436, 0, + 378, 0, 0, 434, 384, 380, 0, 718, 725, 732, + 259, 264, 756, 746, 751, 615, 0, 0, 287, 92, + 0, 0, 0, 0, 0, 0, 295, 0, 0, 571, + 576, 0, 498, 495, 496, 497, 500, 546, 0, 554, + 0, 0, 272, 278, 0, 0, 313, 800, 803, 806, + 0, 0, 824, 0, 0, 0, 0, 0, 778, 0, + 0, 0, 233, 483, 0, 0, 0, 368, 492, 371, + 0, 0, 0, 363, 0, 0, 0, 0, 327, 328, + 0, 326, 325, 0, 333, 233, 64, 0, 491, 0, + 489, 366, 486, 0, 0, 0, 485, 379, 0, 381, + 0, 618, 535, 71, 64, 0, 64, 64, 256, 0, + 540, 550, 301, 551, 598, 499, 509, 498, 0, 553, + 778, 778, 0, 0, 0, 0, 0, 259, 820, 262, + 261, 304, 307, 310, 0, 779, 791, 778, 0, 474, + 0, 476, 484, 0, 0, 0, 374, 0, 0, 0, + 0, 0, 765, 764, 0, 331, 0, 319, 334, 233, + 448, 454, 0, 490, 488, 487, 686, 0, 0, 233, + 0, 233, 233, 0, 296, 0, 0, 0, 511, 505, + 777, 777, 315, 0, 778, 778, 0, 0, 0, 824, + 777, 770, 0, 475, 0, 0, 372, 0, 0, 767, + 766, 364, 0, 329, 0, 320, 335, 449, 455, 459, + 72, 76, 77, 74, 75, 73, 84, 66, 64, 89, + 91, 0, 0, 0, 0, 0, 0, 774, 824, 776, + 0, 0, 0, 777, 777, 0, 811, 821, 0, 0, + 788, 822, 0, 375, 822, 0, 0, 321, 460, 64, + 60, 61, 0, 83, 233, 232, 0, 0, 510, 233, + 0, 825, 775, 782, 785, 316, 0, 0, 807, 815, + 797, 0, 0, 822, 0, 769, 768, 233, 0, 86, + 0, 298, 512, 772, 0, 801, 804, 0, 826, 0, + 828, 67, 0, 297, 0, 823, 827, 64, 773, 233, + 66, 68 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1324, -1324, -1324, -1324, -1324, -1324, 527, 1028, -1324, -1324, - -1324, 1106, -1324, -1324, -1324, 1074, -1324, 989, -1324, -1324, - 1037, -1324, -1324, -1324, -373, -1324, -1324, -238, 13, -134, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, 910, -1324, -1324, -55, 1022, -1324, -1324, -1324, 482, - -1324, -430, -471, -629, -1324, -1324, -1324, -1323, -1324, -1324, - -1324, -1324, -1324, -599, -1324, -1324, -1324, -1324, -594, -1168, - -199, -1324, -13, -1324, -1324, -1324, -1324, -1324, -235, -234, - -231, -230, -1324, -1324, 1130, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -407, -1324, 655, -143, -1324, -768, -1324, -1324, -1324, -1324, - -1324, -1324, -1297, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, 461, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -138, -90, -175, -92, 27, -1324, -1324, -1324, -1324, - -1324, 629, -1324, -498, -1324, -1324, -507, -1324, -1324, -663, - -173, -532, -528, -1324, -1324, -1324, -904, -1324, 1091, -1324, - -1324, -1324, -1324, -1324, 29, -655, -1324, 617, -1324, -1324, - -1324, -1324, -1324, -1324, -318, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -749, -147, - -1324, 734, -1324, -1324, -1324, -1324, -1324, -1324, -622, -1324, - -1324, -321, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -165, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, 735, -589, -233, -710, - -1324, -1324, -1195, -1197, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, -776, -1324, -1324, -1324, -1324, -1324, -1324, - -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -424, -1324, - -1283, -582, -1324 + -1320, -1320, -659, -504, -1320, -1320, -1320, -1320, 553, 1057, + -1320, -1320, -1320, 1135, -1320, -1320, -1320, 1095, -1320, 1015, + -1320, -1320, 1063, -1320, -1320, -1320, -1320, -134, -355, -1320, + -1320, -221, 477, 479, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, 927, -1320, -1320, -52, 1049, + -1320, -1320, -1320, 254, -1320, -430, -480, -631, -1320, -1320, + -1320, -1319, -1320, -1320, -1320, -1320, -1320, -671, -1320, -1320, + -1320, -1320, -594, -1175, -179, -1320, -13, -1320, -1320, -1320, + -1320, -1320, -212, -211, -210, -209, -1320, -1320, 1158, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -166, -1320, 689, -121, -1320, -773, + -1320, -1320, -1320, -1320, -1320, -1320, -1303, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, 317, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -140, -70, -152, -67, 44, + -1320, -1320, -1320, -1320, -1320, 646, -1320, -505, -1320, -1320, + -497, -1320, -1320, -667, -143, -531, -529, -1320, -1320, -1320, + -899, -1320, 1131, -1320, -1320, -1320, -1320, -1320, 65, 241, + -1320, 663, -1320, -1320, -1320, -1320, -1320, -1320, 243, -1320, + 855, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -751, -155, -1320, 769, -1320, -1320, + -1320, -1320, -1320, -1320, -632, -1320, -1320, -297, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, -108, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, 770, -595, -196, -713, -1320, -1320, -1274, -1212, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -780, + -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, -1320, + -1320, -1320, -1320, -1320, -410, -1320, -1202, -565, -1320 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 1, 16, 134, 51, 17, 157, 163, 581, 463, - 140, 464, 96, 19, 20, 43, 44, 87, 21, 39, - 40, 691, 692, 1444, 1445, 903, 1360, 693, 172, 173, - 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, - 704, 164, 165, 35, 36, 37, 215, 63, 64, 65, - 66, 22, 330, 389, 206, 23, 108, 207, 109, 147, - 1086, 1217, 1413, 331, 332, 705, 465, 706, 527, 660, - 1243, 865, 466, 707, 548, 737, 1234, 467, 708, 709, - 710, 711, 712, 523, 713, 915, 1219, 1089, 714, 468, - 750, 1246, 751, 1247, 753, 1248, 469, 741, 1238, 470, - 589, 1350, 471, 1175, 1176, 794, 472, 602, 473, 715, - 474, 475, 780, 476, 997, 1337, 998, 1389, 477, 844, - 1196, 478, 590, 1179, 1399, 1181, 1400, 1285, 1440, 480, - 481, 385, 1228, 1308, 1114, 1116, 940, 530, 720, 1369, - 1417, 386, 387, 652, 653, 669, 656, 657, 671, 1008, - 675, 540, 410, 533, 343, 1220, 534, 344, 77, 116, - 213, 339, 25, 153, 936, 169, 937, 47, 48, 131, - 26, 150, 209, 334, 170, 27, 110, 717, 1223, 402, - 211, 212, 75, 113, 404, 28, 151, 336, 676, 482, - 399, 265, 266, 644, 667, 267, 492, 1045, 734, 543, - 371, 268, 269, 411, 948, 659, 490, 1044, 412, 949, - 413, 950, 489, 1043, 493, 1047, 494, 1199, 495, 1049, - 496, 1200, 497, 1051, 498, 1201, 499, 1054, 500, 1057, - 654, 29, 53, 274, 516, 1064, 30, 54, 275, 517, - 1066, 31, 52, 272, 515, 1062, 483, 1419, 1384, 792, - 1420, 1421, 1422, 958, 484, 735, 1232, 736, 1233, 760, - 1252, 757, 1250, 595, 485, 758, 1251, 486, 962, 1316, - 963, 1317, 964, 1318, 745, 1242, 755, 1249, 1244, 487, - 1464, 774, 488 + 0, 1, 736, 737, 16, 134, 51, 17, 157, 163, + 581, 463, 140, 464, 96, 19, 20, 43, 44, 87, + 21, 39, 40, 693, 694, 1452, 172, 173, 1453, 909, + 1368, 695, 878, 879, 696, 697, 698, 699, 700, 701, + 702, 703, 704, 705, 706, 164, 165, 35, 36, 37, + 215, 63, 64, 65, 66, 22, 330, 389, 206, 23, + 108, 207, 109, 147, 1094, 1225, 1421, 331, 332, 707, + 465, 708, 527, 660, 1251, 869, 466, 709, 548, 741, + 1242, 467, 710, 711, 712, 713, 714, 523, 715, 921, + 1227, 1097, 716, 468, 754, 1254, 755, 1255, 757, 1256, + 469, 745, 1246, 470, 589, 1358, 471, 1183, 1184, 798, + 472, 602, 473, 717, 474, 475, 784, 476, 1003, 1345, + 1004, 1397, 477, 848, 1204, 478, 590, 1187, 1407, 1189, + 1408, 1293, 1448, 480, 481, 385, 1236, 1316, 1122, 1124, + 946, 530, 722, 1377, 1425, 386, 387, 652, 653, 669, + 656, 657, 671, 1014, 675, 540, 410, 533, 343, 1228, + 534, 344, 77, 116, 213, 339, 25, 153, 942, 875, + 943, 47, 48, 131, 26, 150, 209, 334, 876, 169, + 170, 27, 110, 719, 1231, 402, 211, 212, 75, 113, + 404, 28, 151, 336, 676, 482, 399, 265, 266, 644, + 667, 267, 492, 1051, 738, 543, 371, 268, 269, 411, + 954, 659, 490, 1050, 412, 955, 413, 956, 489, 1049, + 493, 1053, 494, 1207, 495, 1055, 496, 1208, 497, 1057, + 498, 1209, 499, 1060, 500, 1063, 654, 29, 53, 274, + 516, 1072, 30, 54, 275, 517, 1074, 31, 52, 272, + 515, 1069, 483, 1427, 1392, 796, 1428, 1429, 1430, 964, + 484, 739, 1240, 740, 1241, 764, 1260, 761, 1258, 595, + 485, 762, 1259, 486, 968, 1324, 969, 1325, 970, 1326, + 749, 1250, 759, 1257, 1252, 487, 1472, 778, 488 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1650,258 +1663,245 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 57, 67, 270, 174, 727, 725, 796, 1001, 791, 775, - 670, 1090, 870, 884, 784, 216, 400, 854, 668, 856, - 264, 858, 990, 646, 125, 648, -122, 650, 957, 1017, - 553, 861, 999, 506, 1292, 864, 1155, 83, 596, 1161, - 1388, 598, 32, 33, 1258, 504, 1416, 67, 67, 67, - 1297, 514, 591, 1328, 1226, 383, 531, 786, 117, 118, - 101, 102, 103, 537, 537, 655, 1003, 2, 383, 538, - 538, 532, 84, 613, 3, 1005, 615, 616, 531, 868, - 531, 879, 887, 460, 599, 49, 600, 536, 67, 67, - 67, 67, 1435, 532, 1451, 532, 661, 4, 521, 5, - 719, 6, 1004, 384, 273, 214, 1087, 7, 539, 539, - 95, 1088, 158, 159, 1227, 1372, 1373, 8, 214, 141, - 414, 415, 50, 9, 786, 968, 881, 554, 555, 372, - 79, 104, 1382, 1003, 1303, 748, 1304, 220, 726, 1120, - 421, 522, 636, 637, 732, 859, 423, 10, 372, 791, - 746, 1379, 41, 1466, 263, 901, 902, 105, 176, 340, - 756, 615, 616, 759, 966, 221, 969, 68, 1418, 11, - 12, 797, 38, 42, 977, 733, 507, 980, 1423, 1425, - 1426, 58, 1481, 430, 431, 34, 880, 1431, 505, 880, - 790, 603, 604, 945, 880, 508, 791, 85, 119, 1009, - 880, 405, 556, 120, 509, 121, 122, 1012, 732, 86, - 59, 603, 604, 14, 1152, 814, 860, 433, 434, 217, - 218, 718, 557, 526, 815, 264, 879, 636, 637, 537, - 1458, 1459, 848, 1166, 55, 538, 69, 747, 879, 733, - 123, 264, 1156, 1060, 1007, 1127, 541, 542, 544, 360, - 13, 761, 160, 55, 70, 76, 851, 161, 56, 162, - 122, 264, 14, 1010, 264, 264, 264, 80, 15, 879, - 880, 881, 732, 882, 539, 1007, 883, 56, 60, 852, - 863, 95, 1110, 881, 879, 55, 406, 607, 608, 673, - 1268, 1011, 547, 1030, 1041, 613, 1078, 614, 615, 616, - 617, 618, 1031, 733, 674, 732, 879, 607, 608, 56, - 458, 1041, 1340, 967, 881, 613, 1305, 462, 615, 616, - 617, 618, 1042, 1015, 640, 641, 1275, 502, 645, 881, - 647, 956, 649, 1214, 61, 879, 733, 1132, 558, 1128, - 566, 1437, 264, 264, 62, 732, 264, 503, 264, 871, - 264, 881, 264, 1059, 1276, 603, 604, 1058, 559, 263, - 567, 1012, 1041, 1055, 636, 637, 791, 1065, 1041, 264, - 71, 72, 1170, 73, 1063, 263, 733, 45, 1171, 78, - 881, 1041, 1301, 46, 636, 637, 1177, 1342, 529, 732, - 1283, 603, 604, 1041, 1061, 263, 1289, 1131, 263, 263, - 263, 74, 271, 944, 55, 263, 551, 1209, 1172, 1291, - 1302, 264, 1121, 776, 952, 953, 88, 1173, 777, 1041, - 733, 1334, 1174, 935, 965, 264, 1041, 1041, 56, 971, - 972, 271, 974, 1441, 976, 79, 978, 979, 1041, 981, - 569, 1012, 1012, 778, 1442, 1443, 81, 1335, -704, 605, - 606, 607, 608, -704, 1339, 1387, 801, 805, 126, 613, - 570, 614, 615, 616, 617, 618, 1410, 619, 620, 1475, - 1490, 819, -704, 739, 1210, 106, 263, 263, -711, 89, - 263, 107, 263, -711, 263, -718, 263, 607, 608, 845, - -718, 1224, 95, 740, 866, 613, 55, 614, 615, 616, - 617, 618, -711, 263, 372, 776, 1269, 94, 729, -718, - 1035, 1115, 264, 631, 632, 633, 634, 635, 372, 1036, - 56, 786, 730, 154, 155, 768, 769, 1160, 636, 637, - 1003, 1262, 1168, -365, 361, 873, 372, 875, -365, 100, - 849, 1169, 97, 98, 99, 263, 1178, 86, 128, 1278, - 111, 633, 634, 635, 895, 1367, 112, -365, 409, 263, - 407, 362, 363, 408, 636, 637, 409, 723, 114, 951, - 724, 129, 954, 409, 115, 132, 961, 264, 1266, 779, - 139, 133, 939, 143, 144, 145, 146, 264, 264, 264, - 264, 148, 524, 1112, 264, 525, 372, 149, 264, 1113, - 850, 1341, 130, 264, 264, 372, 264, 135, 264, 853, - 264, 264, 391, 264, 1436, 1184, 392, 372, 337, 1111, - 338, 855, 372, 84, 364, 565, 857, 1193, 365, 171, - 393, 394, 1198, 167, 136, 395, 396, 397, 398, 137, - 372, 1135, 1136, 1137, 1126, 372, 263, 1141, 1253, 1134, - 372, 138, 171, 372, 1353, 1333, 152, 1401, 101, 102, - 103, 168, 1321, 154, 155, 156, 217, 218, 219, 91, - 92, 93, 101, 366, 103, 171, 1159, 367, 1349, 1028, - 368, 175, 872, 101, 874, 208, 210, 214, 327, 273, - 271, 328, 329, 335, 1053, 333, 369, 1056, 341, 373, - 342, 346, 347, 348, 349, 370, 1365, 350, 374, 351, - 352, 263, 264, 359, 264, 264, 353, 1070, 354, 355, - 356, 263, 263, 263, 263, 264, 357, 358, 263, 372, - 375, 1438, 263, 376, 377, 264, 378, 263, 263, 380, - 263, 1383, 263, 379, 263, 263, 1256, 263, 1257, 381, - 382, 388, 1398, 390, 1263, 401, 491, 512, 403, 518, - 519, 520, 1409, 528, 1411, 1412, 535, 545, 546, 552, - 560, 14, 561, 562, 1368, 564, 563, 568, 565, 571, - 572, 575, 576, 577, 643, 578, 579, 655, 666, 1383, - 580, 722, 731, 742, 772, 661, 597, 743, 744, 1430, - 773, 592, 639, 662, 642, 721, 738, 771, 781, 783, - 479, 793, 795, 812, 862, 264, 264, 264, 878, 890, - 501, 264, 867, 892, 877, 900, 905, 904, 906, 1452, - 511, 914, 891, 898, 603, 604, 1415, 899, 1454, 907, - 908, 909, 935, 910, 911, 912, 263, 1471, 263, 263, - 264, 1336, 1474, 913, 938, 916, 942, 943, 1279, 263, - 959, 982, 991, 993, 994, 1002, 995, 996, 1006, 263, - 1483, 1012, 1013, 1014, 1018, 1019, 1020, 1038, 1021, 1022, - 1046, 1023, 1448, 1033, 1034, 1039, 1048, 1486, 1050, 1052, - 1362, 1068, 1492, 1069, 1073, 1203, 1075, 573, 574, 1076, - 1077, 1080, 1081, 1082, 1083, 1085, 1084, 1109, 1115, 1119, - 1124, 1125, 661, 264, 582, 583, 584, 585, 586, 1381, - 1117, 1129, 1130, 594, 1138, 1139, 1142, 1140, 605, 606, - 607, 608, 609, 1143, 1144, 610, 611, 612, 613, 1145, - 614, 615, 616, 617, 618, 1146, 619, 620, 1147, 263, - 263, 263, 1148, 603, 604, 263, 1149, 1150, 1151, 1153, - 1186, 1162, 1208, 1187, 1218, 1189, 1194, 1202, 1229, 1239, - 1237, 1240, 1241, 665, 1204, 1205, 1206, 1235, 1245, 1236, - 1270, 672, 1261, 1265, 263, 1267, 1271, 1272, 716, 628, - 629, 630, 631, 632, 633, 634, 635, 1273, 1274, 1293, - 1300, 728, 1306, 1307, 1315, 1327, 1312, 636, 637, 1313, - 1338, 1346, 1348, 1319, 1359, 1366, 1281, 1320, 1254, 1322, - 594, 749, 1326, 1352, 752, 1329, 754, 1330, 1386, 1358, - 1375, 1376, 264, 1479, 264, 1377, 762, 763, 764, 765, - 766, 767, 1447, 1277, 1378, 1390, 1414, 263, 1393, 607, - 608, 1453, 1395, 1408, 1428, 1429, 1432, 613, 1455, 614, - 615, 616, 617, 618, 1434, 1450, 806, 807, 1456, 1460, - 808, 809, 810, 811, 1463, 813, 1461, 816, 817, 818, - 820, 821, 822, 823, 824, 825, 827, 828, 829, 830, - 831, 832, 833, 834, 835, 836, 837, 1462, 846, 1470, - 1476, 1482, 1477, 1478, 1480, 1488, 124, 18, 770, 603, - 604, 631, 632, 633, 634, 635, 82, 166, 127, 1493, - 1354, 1402, 142, 1380, 1403, 1404, 636, 637, 1405, 1406, - 345, 24, 1347, 601, 1370, 1309, 1310, 1371, 264, 1222, - 886, 1225, 90, 889, 1351, 1427, 0, 0, 894, 0, - 897, 0, 549, 550, 677, 0, 0, 0, 0, 0, - 0, 0, 1361, 0, 1363, 1364, 263, 0, 263, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 941, 0, 0, 0, 0, 0, 946, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 960, 0, 605, 606, 607, 608, 609, 0, 0, - 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, - 264, 619, 620, 0, 0, 0, 0, 621, 622, 623, - 989, 0, 0, 624, 992, 0, 0, 0, 0, 0, - 0, 0, 0, 1000, 594, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 716, 0, 0, - 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, - 634, 635, 263, 0, 0, 0, 1446, 0, 0, 0, - 0, 0, 636, 637, 0, 0, 0, 0, 0, 947, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1032, 0, 0, 0, 1037, 0, 0, 1469, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 779, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1067, 603, - 604, 0, 0, 0, 0, 1071, 1072, 0, 0, 1074, - 0, 0, 0, 0, 263, 1491, 0, 1079, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 779, 0, 1091, 1092, - 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, - 1103, 1104, 1105, 1106, 1107, 1108, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1122, 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, 605, 606, 607, 608, 609, 0, 0, - 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, - 0, 619, 620, 0, 0, 0, 1157, 1158, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1163, 1164, 1165, - 0, 992, 0, 0, 0, 0, 0, 0, 0, 0, - 1180, 0, 1182, 0, 1185, 0, 0, 0, 0, 0, - 1188, 0, 0, 0, 1191, 629, 630, 631, 632, 633, - 634, 635, 992, 0, 0, 0, 0, 0, 0, 0, + 57, 67, 795, 174, 727, 729, 800, 1007, 874, 890, + 893, 668, 264, 216, 646, 858, 648, 860, 650, 862, + 670, 865, 1098, 692, 996, 868, 779, 125, 1023, 963, + -130, 788, 1163, 504, 1005, 1300, 1169, 2, 553, 1266, + 1305, 598, 1396, 1234, 3, 79, 1336, 67, 67, 67, + 32, 33, 596, 531, 537, 537, 506, 531, 1424, 270, + 538, 538, 83, 38, 45, 615, 616, 4, 532, 5, + 46, 6, 532, 176, 383, 514, 1011, 7, 414, 415, + 885, 117, 118, 101, 102, 103, 383, 8, 67, 67, + 67, 67, 690, 9, 1443, 78, 872, 84, 421, 885, + 721, 539, 539, 1235, 423, 1095, 1459, 1431, 1380, 1381, + 1096, 536, 790, 1311, 1178, 1312, 1439, 10, 49, 974, + 1179, 1009, 158, 159, 384, 1390, 214, 887, 68, 690, + 372, 691, 728, 636, 637, 554, 555, 521, 214, 11, + 12, 430, 431, 104, 141, 886, 887, 795, 888, 752, + 1180, 889, 1387, 55, 263, 531, 69, 50, 1426, 1466, + 1467, 1181, 340, 95, 70, 877, 1182, 877, 691, 105, + 532, 801, 1433, 1434, 79, 433, 434, 56, 505, 613, + 522, 897, 615, 616, 886, 972, 220, 975, 886, 904, + 905, 886, 886, 34, 795, 983, 951, 1015, 986, 405, + 863, 507, 913, 603, 604, 915, 916, 917, 918, 919, + 673, 55, 556, 922, 221, 1160, 1068, 264, 76, 14, + 508, 119, 13, 80, 85, 674, 120, 720, 121, 509, + 1086, 122, 557, 264, 14, 56, 86, 1066, 537, 885, + 15, 885, 1474, 171, 538, 1013, 1164, 1276, 1135, 360, + 636, 637, 547, 264, 885, 790, 264, 264, 264, 171, + 1013, 751, 160, 1016, 1009, 123, 95, 161, 58, 162, + 458, 1489, 122, 885, 55, 765, 885, 462, 565, 1348, + 526, 734, 1445, 780, 874, 539, 887, 88, 887, 406, + 735, 1017, 81, 591, 1261, 1018, 692, 59, 56, 607, + 608, 887, 1010, 541, 542, 544, 89, 613, 55, 614, + 615, 616, 617, 618, 97, 98, 99, 780, 1021, 94, + 887, 1174, 781, 887, 1047, 1047, 655, 41, 690, 1313, + 603, 604, 56, 1140, 264, 264, 818, 661, 264, 1222, + 264, 1283, 264, 1232, 264, 819, 95, 855, 106, 782, + 42, 1018, 1048, 1136, 107, 143, 144, 145, 146, 263, + 1061, 264, 111, 1123, 126, 60, 795, 691, 112, 1284, + 856, 1064, 55, 1071, 1070, 263, 1070, 1350, 636, 637, + 361, 640, 641, 1073, 1047, 645, 100, 647, 529, 649, + 1185, 750, 603, 604, 86, 263, 56, 1047, 263, 263, + 263, 760, 128, 264, 763, 263, 551, 362, 363, 1449, + 1218, 1217, 1291, 734, 690, 734, 690, 264, 129, 1129, + 1450, 1451, 735, 61, 735, 1297, 607, 608, 372, 950, + 864, 794, 524, 62, 613, 525, 614, 615, 616, 617, + 618, 1047, 958, 959, 71, 72, 1128, 73, 805, 809, + 114, 502, 971, 691, 130, 691, 115, 977, 978, 1068, + 980, 135, 982, 823, 984, 985, 132, 987, 136, 1299, + 364, 503, 133, 852, 365, 74, 263, 263, 734, 690, + 263, 849, 263, 1309, 263, 1047, 263, 735, 607, 608, + 631, 632, 633, 634, 635, 867, 613, 558, 1047, 615, + 616, 617, 618, 263, 264, 636, 637, 1047, 1047, 148, + 1277, 1310, 1047, 1342, 1018, 149, 1375, 559, 691, 409, + 1018, 366, 734, 690, 1168, 367, 1343, 137, 368, 734, + 690, 735, 734, 690, 138, 1347, 1395, 1270, 735, 973, + 1418, 735, 1483, 1186, 369, 263, 1065, 1036, 1498, 1139, + 101, 870, 103, 370, 901, 1286, 1037, 566, 569, 263, + 1120, 743, 691, 1067, 734, -716, 1121, 636, 637, 691, + -716, 264, 691, 735, 907, 908, 962, 567, 570, 783, + 1274, 744, 945, 264, 264, 264, 264, -723, -730, -716, + 264, 1341, -723, -730, 264, 217, 218, 391, 139, 264, + 264, 392, 264, -373, 264, 1349, 264, 264, -373, 264, + 1041, -723, -730, 372, 1357, 393, 394, 731, 1444, 1042, + 395, 396, 397, 398, 941, 734, 1239, -373, 152, 790, + 957, 1176, 84, 960, 735, 171, 407, 967, 1009, 408, + 1177, 725, 409, 337, 726, 338, 263, 409, 372, 372, + 372, 372, 732, 853, 854, 857, 372, 372, 372, 372, + 859, 861, 1134, 1142, 372, 372, 479, 167, 1361, 1409, + 168, 1143, 1144, 1145, 175, 1034, 501, 1149, 154, 155, + 772, 773, 101, 102, 103, 101, 511, 1329, 1406, 208, + 210, 460, 599, 214, 600, 154, 155, 156, 1417, 273, + 1419, 1420, 217, 218, 219, 271, 1167, 327, 264, 328, + 264, 264, 329, 263, 1373, 91, 92, 93, 335, 333, + 341, 342, 349, 264, 346, 263, 263, 263, 263, 347, + 348, 350, 263, 264, 1319, 1446, 263, 351, 352, 353, + 354, 263, 263, 1391, 263, 355, 263, 356, 263, 263, + 357, 263, 358, 573, 574, 1059, 359, 372, 1062, 373, + 376, 377, 378, 379, 380, 381, 374, 375, 382, 388, + 582, 583, 584, 585, 586, 491, 390, 401, 403, 594, + 1078, 1376, 512, 1479, 518, 519, 520, 528, 1482, 535, + 545, 1391, 560, 546, 552, 561, 562, 564, 568, 571, + 563, 643, 572, 565, 575, 576, 1491, 577, 603, 604, + 655, 578, 592, 264, 264, 264, 666, 724, 733, 264, + 579, 746, 14, 580, 1438, 597, 747, 639, 1500, 665, + 642, 1460, 662, 776, 723, 742, 748, 672, 777, 775, + 785, 787, 797, 816, 718, 1423, 799, 884, 264, 871, + 263, 866, 263, 263, 883, 896, 898, 730, 906, 910, + 911, 912, 1192, 1462, 1416, 263, 914, 920, 941, 692, + 944, 948, 949, 965, 1201, 263, 594, 753, 988, 1206, + 756, 997, 758, 999, 1000, 1001, 1002, 1012, 1008, 1494, + 1287, 1456, 766, 767, 768, 769, 770, 771, 1018, 1019, + 1024, 1020, 605, 606, 607, 608, 609, 1025, 1026, 610, + 1044, 264, 613, 1027, 614, 615, 616, 617, 618, 1028, + 619, 620, 810, 811, 1029, 1052, 812, 813, 814, 815, + 1039, 817, 1040, 820, 821, 822, 824, 825, 826, 827, + 828, 829, 831, 832, 833, 834, 835, 836, 837, 838, + 839, 840, 841, 1481, 850, 263, 263, 263, 1211, 1045, + 1054, 263, 1056, 1058, 1076, 1077, 629, 630, 631, 632, + 633, 634, 635, 1081, 1084, 1088, 1493, 1085, 603, 604, + 1083, 1093, 1117, 636, 637, 1089, 1123, 1090, 1091, 1092, + 263, 1127, 1132, 1133, 1125, 1264, 892, 1265, 1137, 895, + 1138, 1146, 1212, 1271, 900, 1147, 903, 1148, 1151, 1152, + 1150, 1153, 1154, 1156, 1155, 1157, 1158, 603, 604, 1159, + 1194, 1216, 1161, 1213, 1170, 1195, 1262, 1226, 1237, 1197, + 1214, 1245, 264, 1202, 264, 1210, 1247, 1243, 1248, 1244, + 947, 1249, 1273, 1253, 661, 1278, 952, 1269, 1275, 1279, + 1281, 1285, 1280, 263, 1282, 1301, 1308, 1315, 1320, 1314, + 1323, 966, 1335, 1321, 1346, 1354, 1356, 1327, 1367, 1360, + 1328, 1330, 1334, 1337, 607, 608, 1338, 1374, 1422, 1366, + 1383, 1289, 613, 1455, 614, 615, 616, 617, 618, 1384, + 995, 1401, 1461, 1385, 998, 1386, 1487, 1403, 1394, 1436, + 1344, 1398, 1437, 1006, 594, 1440, 1478, 1442, 1463, 1458, + 1464, 605, 606, 607, 608, 1471, 1468, 718, 1469, 1490, + 1484, 613, 1470, 614, 615, 616, 617, 618, 1485, 619, + 620, 1486, 1488, 1496, 774, 124, 18, 82, 264, 1370, + 633, 634, 635, 166, 127, 1501, 1410, 345, 880, 142, + 881, 1388, 1359, 636, 637, 1411, 1412, 1413, 1414, 24, + 1038, 661, 1355, 1317, 1043, 1378, 1233, 601, 1389, 1318, + 1369, 677, 1371, 1372, 263, 1379, 263, 631, 632, 633, + 634, 635, 90, 1230, 1118, 1362, 1119, 549, 550, 400, + 1435, 0, 636, 637, 0, 0, 0, 0, 0, 0, + 1075, 0, 0, 0, 0, 0, 0, 1079, 1080, 0, + 0, 1082, 0, 0, 0, 0, 0, 0, 0, 1087, + 264, 0, 0, 177, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, + 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 0, 178, + 0, 179, 0, 180, 181, 182, 183, 184, 1130, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 263, 196, 197, 198, 1454, 0, 199, 200, 201, 202, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 203, 204, 0, 0, 0, + 0, 0, 0, 0, 0, 1477, 0, 0, 1165, 1166, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171, + 1172, 1173, 783, 998, 0, 0, 0, 0, 0, 0, + 0, 0, 1188, 0, 1190, 0, 1193, 603, 604, 0, + 205, 0, 1196, 0, 0, 0, 1199, 0, 0, 0, + 0, 0, 263, 1499, 998, 0, 0, 0, 0, -73, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 603, 604, 0, 0, 783, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1219, 0, 0, 0, 0, 1220, 1221, 0, 1223, 1224, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1229, 0, 0, 0, 0, 0, + 0, 605, 606, 607, 608, 609, 1238, 0, 610, 611, + 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, + 620, 0, 0, 0, 0, 594, 923, 924, 925, 926, + 927, 928, 929, 930, 605, 606, 607, 608, 609, 931, + 932, 610, 611, 612, 613, 933, 614, 615, 616, 617, + 618, 934, 619, 620, 935, 936, 0, 0, 621, 622, + 623, 937, 938, 939, 624, 629, 630, 631, 632, 633, + 634, 635, 1294, 0, 1295, 0, 0, 0, 0, 1298, 0, 0, 636, 637, 0, 0, 0, 0, 0, 0, + 0, 0, 940, 625, 1302, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 222, 0, 0, 0, 0, + 0, 223, 0, 0, 0, 636, 637, 224, 0, 0, + 0, 1322, 0, 0, 0, 0, 0, 225, 0, 0, + 0, 1331, 1332, 1333, 0, 226, 0, 0, 1340, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 227, 0, 1351, 1352, 1353, 0, 0, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 594, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 1399, 1400, 0, 0, 0, + 0, 0, 0, 1405, 0, 0, 0, 261, 0, 0, + 0, 0, 0, 0, 1415, 0, 0, 0, 56, 0, + 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1432, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1441, 0, 0, 0, 594, 0, 0, 0, 0, + 0, 1447, 0, 0, 0, 0, 0, 262, 0, 0, + 0, 0, 513, 0, 0, 0, 0, 0, 0, 0, + 1457, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, + 0, 0, 1475, 1476, 0, 0, 0, 0, 0, 0, + 0, 0, 678, 1480, 0, 0, 414, 415, 3, 0, + -88, -82, -82, 0, -85, 0, 416, 417, 418, 419, + 420, 0, 0, 0, 0, 1492, 421, 679, 422, 680, + 681, 0, 423, 0, 1495, 0, 0, 0, 0, 682, + 424, 0, 0, -90, 0, 683, 425, 0, 0, 426, + 0, 8, 427, 684, 0, 685, 428, 0, 0, 686, + 687, 0, 0, 0, 0, 0, 688, 0, 0, 430, + 431, 0, 228, 229, 230, 0, 232, 233, 234, 235, + 236, 432, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 0, 250, 251, 252, 0, 0, 255, + 256, 257, 258, 433, 434, 435, 689, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 436, 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1211, 0, 0, 0, - 0, 1212, 1213, 0, 1215, 1216, 0, 0, 0, 0, - 0, 0, 0, 222, 0, 0, 0, 0, 0, 223, - 0, 0, 0, 0, 0, 224, 0, 0, 0, 0, - 1221, 0, 0, 0, 0, 225, 0, 0, 0, 0, - 0, 0, 1230, 226, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, - 0, 594, 0, 0, 0, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1286, 0, - 1287, 0, 0, 0, 0, 1290, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1294, 0, 55, 0, 0, 0, 0, 0, 0, 0, - 0, 603, 604, 0, 0, 261, 0, 0, 0, 222, - 0, 0, 0, 0, 0, 223, 56, 1314, 0, 0, - 0, 224, 0, 0, 0, 0, 0, 1323, 1324, 1325, - 0, 225, 0, 0, 1332, 0, 0, 0, 0, 226, - 0, 0, 0, 0, 0, 0, 0, 0, 1343, 1344, - 1345, 0, 0, 262, 227, 0, 0, 0, 513, 0, - 0, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 0, 605, 606, 607, 608, 609, - 0, 0, 610, 594, 0, 613, 0, 614, 615, 616, - 617, 618, 0, 619, 620, 0, 0, 0, 0, 0, - 0, 1391, 1392, 0, 0, 0, 0, 0, 55, 1397, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1407, 261, 0, 0, 0, 0, 716, 0, 0, 0, - 0, 0, 651, 0, 0, 0, 1424, 629, 630, 631, - 632, 633, 634, 635, 0, 0, 0, 1433, 0, 0, - 0, 594, 0, 0, 636, 637, 0, 1439, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, - 0, 273, 0, 0, 0, 0, 1449, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1465, 0, 0, 1467, 1468, - 0, 0, 0, 0, 0, 0, 0, 0, 678, 1472, - 0, 0, 414, 415, 3, 0, -80, -74, -74, 0, - -77, 0, 416, 417, 418, 419, 420, 0, 0, 0, - 0, 1484, 421, 679, 422, 680, 681, 0, 423, 0, - 1487, 0, 0, 0, 0, 682, 424, 0, 0, -82, - 0, 683, 425, 0, 0, 426, 0, 8, 427, 684, - 0, 685, 428, 0, 0, 686, 687, 0, 0, 0, - 0, 0, 688, 0, 0, 430, 431, 0, 228, 229, - 230, 0, 232, 233, 234, 235, 236, 432, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, - 250, 251, 252, 0, 0, 255, 256, 257, 258, 433, - 434, 435, 689, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 436, 437, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, - 0, 0, 0, 438, 439, 440, 441, 442, 0, 443, - 0, 444, 445, 446, 447, 448, 449, 450, 451, 56, - 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 453, 454, 455, 0, - 13, 0, 0, 456, 457, 0, 0, 0, 0, 0, - 0, 0, 458, 0, 459, 0, 460, 461, 690, 462, - -226, 678, 0, 0, 0, 414, 415, 3, 0, -80, - -74, -74, 0, -77, 0, 416, 417, 418, 419, 420, - 0, 0, 0, 0, 0, 421, 679, 422, 680, 681, - 0, 423, 0, 0, 0, 0, 0, 0, 682, 424, - 0, 0, -82, 0, 683, 425, 0, 0, 426, 0, - 8, 427, 684, 0, 685, 428, 0, 0, 686, 687, - 0, 0, 0, 0, 0, 688, 0, 0, 430, 431, - 0, 228, 229, 230, 0, 232, 233, 234, 235, 236, - 432, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 0, 250, 251, 252, 0, 0, 255, 256, - 257, 258, 433, 434, 435, 689, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 436, 437, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, - 0, 0, 0, 0, 0, 0, 438, 439, 440, 441, - 442, 0, 443, 0, 444, 445, 446, 447, 448, 449, - 450, 451, 56, 452, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, - 454, 455, 0, 13, 0, 0, 456, 457, 0, 0, - 0, 0, 0, 0, 0, 458, 0, 459, 0, 460, - 461, 690, 462, 1016, 678, 0, 0, 0, 414, 415, - 3, 0, -80, -74, -74, 0, -77, 0, 416, 417, - 418, 419, 420, 0, 0, 0, 0, 0, 421, 679, - 422, 680, 681, 0, 423, 0, 0, 0, 0, 0, - 0, 682, 424, 0, 0, -82, 0, 683, 425, 0, - 0, 426, 0, 8, 427, 684, 0, 685, 428, 0, - 0, 686, 687, 0, 0, 0, 0, 0, 688, 0, - 0, 430, 431, 0, 228, 229, 230, 0, 232, 233, - 234, 235, 236, 432, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 0, 250, 251, 252, 0, - 0, 255, 256, 257, 258, 433, 434, 435, 689, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, + 0, 0, 0, 0, 0, 0, 0, 438, 439, 440, + 441, 442, 0, 443, 0, 444, 445, 446, 447, 448, + 449, 450, 451, 56, 0, 690, 452, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 453, 454, 455, 0, 13, 0, 0, 456, + 457, 0, 0, 0, 0, 0, 0, 0, 458, 0, + 459, 0, 460, 461, 691, 462, -234, 678, 0, 0, + 0, 414, 415, 3, 0, -88, -82, -82, 0, -85, + 0, 416, 417, 418, 419, 420, 0, 0, 0, 0, + 0, 421, 679, 422, 680, 681, 0, 423, 0, 0, + 0, 0, 0, 0, 682, 424, 0, 0, -90, 0, + 683, 425, 0, 0, 426, 0, 8, 427, 684, 0, + 685, 428, 0, 0, 686, 687, 0, 0, 0, 0, + 0, 688, 0, 0, 430, 431, 0, 228, 229, 230, + 0, 232, 233, 234, 235, 236, 432, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 0, 250, + 251, 252, 0, 0, 255, 256, 257, 258, 433, 434, + 435, 689, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 436, 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 436, 437, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, + 0, 0, 438, 439, 440, 441, 442, 0, 443, 0, + 444, 445, 446, 447, 448, 449, 450, 451, 56, 0, + 690, 452, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 453, 454, 455, + 0, 13, 0, 0, 456, 457, 0, 0, 0, 0, + 0, 0, 0, 458, 0, 459, 0, 460, 461, 691, + 462, 1022, 678, 0, 0, 0, 414, 415, 3, 0, + -88, -82, -82, 0, -85, 0, 416, 417, 418, 419, + 420, 0, 0, 0, 0, 0, 421, 679, 422, 680, + 681, 0, 423, 0, 0, 0, 0, 0, 0, 682, + 424, 0, 0, -90, 0, 683, 425, 0, 0, 426, + 0, 8, 427, 684, 0, 685, 428, 0, 0, 686, + 687, 0, 0, 0, 0, 0, 688, 0, 0, 430, + 431, 0, 228, 229, 230, 0, 232, 233, 234, 235, + 236, 432, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 0, 250, 251, 252, 0, 0, 255, + 256, 257, 258, 433, 434, 435, 689, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 436, 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 55, 0, 0, 0, 0, 0, 0, 0, 438, - 439, 440, 441, 442, 0, 443, 0, 444, 445, 446, - 447, 448, 449, 450, 451, 56, 452, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, + 0, 0, 0, 0, 0, 0, 0, 438, 439, 440, + 441, 442, 0, 443, 0, 444, 445, 446, 447, 448, + 449, 450, 451, 56, 0, 690, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, 456, 457, 0, 0, 0, 0, 0, 0, 0, 458, 0, - 459, 0, 460, 461, 690, 462, -223, 414, 415, 0, + 459, 0, 460, 461, 691, 462, -231, 414, 415, 0, 0, 0, 0, 0, 0, 0, 0, 416, 417, 418, 419, 420, 0, 0, 0, 0, 0, 421, 679, 422, 680, 0, 0, 423, 0, 0, 0, 0, 0, 0, @@ -1917,82 +1917,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, - 448, 449, 450, 451, 56, 452, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 453, 454, 455, 0, 13, 0, 0, 456, 457, - 0, 0, 0, 0, 0, 414, 415, 458, 0, 459, - 0, 460, 461, 0, 462, 416, 417, 418, 419, 420, - 0, 0, 0, 0, 0, 421, 0, 422, 0, 0, - 0, 423, 0, 0, 0, 0, 0, 0, 0, 424, - 0, 0, 0, 0, 0, 425, 0, 0, 426, 0, - 0, 427, 0, 0, 0, 428, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 429, 0, 0, 430, 431, - 785, 228, 229, 230, 0, 232, 233, 234, 235, 236, - 432, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 0, 250, 251, 252, 0, 0, 255, 256, - 257, 258, 433, 434, 435, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 436, 437, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, - 0, 0, 0, 0, 0, 0, 438, 439, 440, 441, - 442, 0, 443, 786, 444, 445, 446, 447, 448, 449, - 450, 451, 787, 452, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, - 454, 455, 0, 13, 0, 0, 456, 457, 0, 0, - 0, 0, 0, 414, 415, 788, 0, 459, 789, 460, - 461, 587, 462, 416, 417, 418, 419, 420, 0, 0, - 0, 0, 0, 421, 0, 422, 0, 0, 0, 423, - 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, - 0, 0, 0, 425, 0, 0, 426, 588, 0, 427, - 0, 0, 0, 428, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 429, 0, 0, 430, 431, 0, 228, - 229, 230, 0, 232, 233, 234, 235, 236, 432, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 0, 250, 251, 252, 0, 0, 255, 256, 257, 258, - 433, 434, 435, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 436, 437, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, - 0, 0, 0, 0, 438, 439, 440, 441, 442, 0, - 443, 786, 444, 445, 446, 447, 448, 449, 450, 451, - 787, 452, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 453, 454, 455, - 0, 13, 0, 0, 456, 457, 0, 0, 0, 0, - 0, 414, 415, 458, 0, 459, 0, 460, 461, 587, - 462, 416, 417, 418, 419, 420, 0, 0, 0, 0, - 0, 421, 0, 422, 0, 0, 0, 423, 0, 0, - 0, 0, 0, 0, 0, 424, 0, 0, 0, 0, - 0, 425, 0, 0, 426, 588, 0, 427, 0, 0, - 0, 428, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 429, 0, 0, 430, 431, 0, 228, 229, 230, - 0, 232, 233, 234, 235, 236, 432, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 0, 250, - 251, 252, 0, 0, 255, 256, 257, 258, 433, 434, - 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 436, 437, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, - 0, 0, 438, 439, 440, 441, 442, 0, 443, 0, - 444, 445, 446, 447, 448, 449, 450, 451, 56, 452, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 453, 454, 455, 0, 13, - 0, 0, 456, 457, 0, 0, 0, 0, 0, 414, - 415, 458, 0, 459, 0, 460, 461, 0, 462, 416, - 417, 418, 419, 420, 0, 0, 0, 0, 0, 421, - 0, 422, 0, 0, 0, 423, 0, 0, 0, 0, - 0, 0, 0, 424, 0, 0, 0, 0, 0, 425, - 0, 0, 426, 0, 0, 427, 0, 0, 0, 428, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, - 0, 0, 430, 431, 955, 228, 229, 230, 0, 232, - 233, 234, 235, 236, 432, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 0, 250, 251, 252, - 0, 0, 255, 256, 257, 258, 433, 434, 435, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 436, 437, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, - 438, 439, 440, 441, 442, 0, 443, 786, 444, 445, - 446, 447, 448, 449, 450, 451, 787, 452, 0, 0, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, @@ -2002,6 +1927,44 @@ static const yytype_int16 yytable[] = 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 789, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 790, 444, 445, 446, 447, + 448, 449, 450, 451, 791, 0, 0, 452, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 792, + 0, 459, 793, 460, 461, 587, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 588, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 790, 444, 445, 446, 447, + 448, 449, 450, 451, 791, 0, 0, 452, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 0, 460, 461, 587, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 588, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, @@ -2011,86 +1974,30 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, - 448, 449, 450, 451, 56, 452, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 453, 454, 455, 0, 13, 0, 0, 456, 457, - 0, 0, 0, 0, 0, 414, 415, 458, 510, 459, - 0, 460, 461, 593, 462, 416, 417, 418, 419, 420, - 0, 0, 0, 0, 0, 421, 0, 422, 0, 0, - 0, 423, 0, 0, 0, 0, 0, 0, 0, 424, - 0, 0, 0, 0, 0, 425, 0, 0, 426, 0, - 0, 427, 0, 0, 0, 428, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 429, 0, 0, 430, 431, - 0, 228, 229, 230, 0, 232, 233, 234, 235, 236, - 432, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 0, 250, 251, 252, 0, 0, 255, 256, - 257, 258, 433, 434, 435, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 436, 437, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, - 0, 0, 0, 0, 0, 0, 438, 439, 440, 441, - 442, 0, 443, 0, 444, 445, 446, 447, 448, 449, - 450, 451, 56, 452, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, - 454, 455, 0, 13, 0, 0, 456, 457, 0, 0, - 0, 0, 0, 414, 415, 458, 0, 459, 0, 460, - 461, 0, 462, 416, 417, 418, 419, 420, 0, 0, - 0, 0, 0, 421, 0, 422, 0, 0, 0, 423, - 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, - 0, 0, 0, 425, 0, 0, 426, 0, 0, 427, - 0, 0, 0, 428, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 429, 0, 0, 430, 431, 0, 228, - 229, 230, 0, 232, 233, 234, 235, 236, 432, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 0, 250, 251, 252, 0, 0, 255, 256, 257, 258, - 433, 434, 435, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 436, 437, 0, 0, 0, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, - 0, 0, 0, 0, 438, 439, 440, 441, 442, 0, - 443, 0, 444, 445, 446, 447, 448, 449, 450, 451, - 56, 452, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 453, 454, 455, - 0, 13, 0, 0, 456, 457, 0, 0, 0, 0, - 0, 414, 415, 458, 664, 459, 0, 460, 461, 0, - 462, 416, 417, 418, 419, 420, 0, 0, 826, 0, - 0, 421, 0, 422, 0, 0, 0, 423, 0, 0, - 0, 0, 0, 0, 0, 424, 0, 0, 0, 0, - 0, 425, 0, 0, 426, 0, 0, 427, 0, 0, - 0, 428, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 429, 0, 0, 430, 431, 0, 228, 229, 230, - 0, 232, 233, 234, 235, 236, 432, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 0, 250, - 251, 252, 0, 0, 255, 256, 257, 258, 433, 434, - 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 436, 437, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 0, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 961, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, - 0, 0, 438, 439, 440, 441, 442, 0, 443, 0, - 444, 445, 446, 447, 448, 449, 450, 451, 56, 452, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 453, 454, 455, 0, 13, - 0, 0, 456, 457, 0, 0, 0, 0, 0, 414, - 415, 458, 0, 459, 0, 460, 461, 0, 462, 416, - 417, 418, 419, 420, 0, 0, 0, 0, 0, 421, - 0, 422, 0, 0, 0, 423, 0, 0, 0, 0, - 0, 0, 0, 424, 0, 0, 0, 0, 0, 425, - 0, 0, 426, 0, 0, 427, 0, 0, 0, 428, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, - 0, 0, 430, 431, 0, 228, 229, 230, 0, 232, - 233, 234, 235, 236, 432, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 0, 250, 251, 252, - 0, 0, 255, 256, 257, 258, 433, 434, 435, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 436, 437, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, - 438, 439, 440, 441, 442, 0, 443, 0, 444, 445, - 446, 447, 448, 449, 450, 451, 56, 452, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 790, 444, 445, 446, 447, + 448, 449, 450, 451, 791, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, - 0, 459, 847, 460, 461, 0, 462, 416, 417, 418, + 0, 459, 0, 460, 461, 0, 462, 416, 417, 418, 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, @@ -2101,90 +2008,34 @@ static const yytype_int16 yytable[] = 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, - 437, 0, 0, 0, 0, 0, 0, 0, 885, 0, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, - 448, 449, 450, 451, 56, 452, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 453, 454, 455, 0, 13, 0, 0, 456, 457, - 0, 0, 0, 0, 0, 414, 415, 458, 0, 459, - 0, 460, 461, 0, 462, 416, 417, 418, 419, 420, - 0, 0, 0, 0, 0, 421, 0, 422, 0, 0, - 0, 423, 0, 0, 0, 0, 0, 0, 0, 424, - 0, 0, 0, 0, 0, 425, 0, 0, 426, 0, - 0, 427, 0, 0, 0, 428, 0, 0, 0, 0, - 0, 888, 0, 0, 0, 429, 0, 0, 430, 431, - 0, 228, 229, 230, 0, 232, 233, 234, 235, 236, - 432, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 0, 250, 251, 252, 0, 0, 255, 256, - 257, 258, 433, 434, 435, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 436, 437, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, - 0, 0, 0, 0, 0, 0, 438, 439, 440, 441, - 442, 0, 443, 0, 444, 445, 446, 447, 448, 449, - 450, 451, 56, 452, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, - 454, 455, 0, 13, 0, 0, 456, 457, 0, 0, - 0, 0, 0, 414, 415, 458, 0, 459, 0, 460, - 461, 0, 462, 416, 417, 418, 419, 420, 0, 0, - 0, 0, 0, 421, 0, 422, 0, 0, 0, 423, - 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, - 0, 0, 0, 425, 0, 0, 426, 0, 0, 427, - 0, 0, 0, 428, 0, 0, 893, 0, 0, 0, - 0, 0, 0, 429, 0, 0, 430, 431, 0, 228, - 229, 230, 0, 232, 233, 234, 235, 236, 432, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 0, 250, 251, 252, 0, 0, 255, 256, 257, 258, - 433, 434, 435, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 436, 437, 0, 0, 0, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, - 0, 0, 0, 0, 438, 439, 440, 441, 442, 0, - 443, 0, 444, 445, 446, 447, 448, 449, 450, 451, - 56, 452, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 453, 454, 455, - 0, 13, 0, 0, 456, 457, 0, 0, 0, 0, - 0, 414, 415, 458, 0, 459, 0, 460, 461, 0, - 462, 416, 417, 418, 419, 420, 0, 0, 0, 0, - 0, 421, 0, 422, 0, 0, 0, 423, 0, 0, - 0, 0, 0, 0, 0, 424, 0, 0, 0, 0, - 0, 425, 0, 0, 426, 0, 0, 427, 0, 0, - 0, 428, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 429, 0, 0, 430, 431, 0, 228, 229, 230, - 0, 232, 233, 234, 235, 236, 432, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 0, 250, - 251, 252, 0, 0, 255, 256, 257, 258, 433, 434, - 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 436, 437, 0, 0, 0, 0, 0, - 0, 0, 896, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, - 0, 0, 438, 439, 440, 441, 442, 0, 443, 0, - 444, 445, 446, 447, 448, 449, 450, 451, 56, 452, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 453, 454, 455, 0, 13, - 0, 0, 456, 457, 0, 0, 0, 0, 0, 414, - 415, 458, 0, 459, 0, 460, 461, 0, 462, 416, - 417, 418, 419, 420, 0, 0, 0, 0, 0, 421, - 0, 422, 0, 0, 0, 423, 0, 0, 0, 0, - 0, 0, 0, 424, 0, 0, 0, 0, 0, 425, - 0, 0, 426, 0, 0, 427, 0, 0, 0, 428, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, - 0, 0, 430, 431, 0, 228, 229, 230, 0, 232, - 233, 234, 235, 236, 432, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 0, 250, 251, 252, - 0, 0, 255, 256, 257, 258, 433, 434, 435, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 436, 437, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, - 438, 439, 440, 441, 442, 0, 443, 0, 444, 445, - 446, 447, 448, 449, 450, 451, 56, 452, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 510, 459, 0, 460, 461, 593, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, - 0, 459, 1183, 460, 461, 0, 462, 416, 417, 418, + 0, 459, 0, 460, 461, 0, 462, 416, 417, 418, 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, @@ -2199,82 +2050,26 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, - 448, 449, 450, 451, 56, 452, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 453, 454, 455, 0, 13, 0, 0, 456, 457, - 0, 0, 0, 0, 0, 414, 415, 458, 0, 459, - 1192, 460, 461, 0, 462, 416, 417, 418, 419, 420, - 0, 0, 0, 0, 0, 421, 0, 422, 0, 0, - 0, 423, 0, 0, 0, 0, 0, 0, 0, 424, - 0, 0, 0, 0, 0, 425, 0, 0, 426, 0, - 0, 427, 0, 0, 0, 428, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 429, 0, 0, 430, 431, - 0, 228, 229, 230, 0, 232, 233, 234, 235, 236, - 432, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 0, 250, 251, 252, 0, 0, 255, 256, - 257, 258, 433, 434, 435, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 436, 437, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, - 0, 0, 0, 0, 0, 0, 438, 439, 440, 441, - 442, 0, 443, 0, 444, 445, 446, 447, 448, 449, - 450, 451, 56, 452, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, - 454, 455, 0, 13, 0, 0, 456, 457, 0, 0, - 0, 0, 0, 414, 415, 458, 0, 459, 1197, 460, - 461, 0, 462, 416, 417, 418, 419, 420, 0, 0, - 0, 0, 0, 421, 0, 422, 0, 0, 0, 423, - 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, - 0, 0, 0, 425, 0, 0, 426, 0, 0, 427, - 0, 0, 0, 428, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 429, 0, 0, 430, 431, 0, 228, - 229, 230, 0, 232, 233, 234, 235, 236, 432, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 0, 250, 251, 252, 0, 0, 255, 256, 257, 258, - 433, 434, 435, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 436, 437, 0, 0, 0, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, - 0, 0, 0, 0, 438, 439, 440, 441, 442, 0, - 443, 0, 444, 445, 446, 447, 448, 449, 450, 451, - 56, 452, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 453, 454, 455, - 0, 13, 0, 0, 456, 457, 0, 0, 0, 0, - 0, 414, 415, 458, 0, 459, 1255, 460, 461, 0, - 462, 416, 417, 418, 419, 420, 0, 0, 0, 0, - 0, 421, 0, 422, 0, 0, 0, 423, 0, 0, - 0, 0, 0, 0, 0, 424, 0, 0, 0, 0, - 0, 425, 0, 0, 426, 0, 0, 427, 0, 0, - 0, 428, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 429, 0, 0, 430, 431, 0, 228, 229, 230, - 0, 232, 233, 234, 235, 236, 432, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 0, 250, - 251, 252, 0, 0, 255, 256, 257, 258, 433, 434, - 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 436, 437, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 664, 459, 0, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 830, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, - 0, 0, 438, 439, 440, 441, 442, 0, 443, 0, - 444, 445, 446, 447, 448, 449, 450, 451, 56, 452, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 453, 454, 455, 0, 13, - 0, 0, 456, 457, 0, 0, 0, 0, 0, 414, - 415, 458, 0, 459, 1331, 460, 461, 0, 462, 416, - 417, 418, 419, 420, 0, 0, 0, 0, 0, 421, - 0, 422, 0, 0, 0, 423, 0, 0, 0, 0, - 0, 0, 0, 424, 0, 0, 0, 0, 0, 425, - 0, 0, 426, 0, 0, 427, 0, 0, 0, 428, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, - 0, 0, 430, 431, 0, 228, 229, 230, 0, 232, - 233, 234, 235, 236, 432, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 0, 250, 251, 252, - 0, 0, 255, 256, 257, 258, 433, 434, 435, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 436, 437, 0, 0, 0, 0, 0, 0, 0, - 1396, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, - 438, 439, 440, 441, 442, 0, 443, 0, 444, 445, - 446, 447, 448, 449, 450, 451, 56, 452, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, @@ -2293,904 +2088,1289 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, - 448, 449, 450, 451, 56, 452, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 453, 454, 455, 0, 13, 0, 0, 456, 457, - 0, 0, 0, 0, 0, 414, 415, 458, 0, 459, - 0, 460, 461, 0, 462, 416, 417, 418, 419, 420, - 0, 0, 0, 0, 0, 421, 0, 422, 0, 0, - 0, 423, 0, 0, 0, 0, 0, 0, 0, 424, - 0, 0, 0, 0, 0, 425, 0, 0, 426, 0, - 0, 427, 0, 0, 0, 428, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 429, 0, 0, 430, 431, - 0, 228, 229, 230, 0, 232, 233, 234, 235, 236, - 432, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 0, 250, 251, 252, 0, 0, 255, 256, - 257, 258, 433, 434, 435, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 436, 437, 603, - 604, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, - 0, 0, 0, 0, 0, 0, 438, 439, 440, 441, - 442, 0, 443, 0, 444, 445, 446, 447, 448, 449, - 450, 451, 56, 452, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, - 454, 455, 0, 13, 0, 0, 456, 457, 0, 0, - 0, 0, 0, 0, 0, 1167, 0, 459, 0, 460, - 461, 0, 462, 0, 0, 917, 918, 919, 920, 921, - 922, 923, 924, 605, 606, 607, 608, 609, 925, 926, - 610, 611, 612, 613, 927, 614, 615, 616, 617, 618, - 928, 619, 620, 929, 930, 0, 0, 621, 622, 623, - 931, 932, 933, 624, 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, 934, - 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, - 634, 635, 222, 0, 0, 0, 0, 0, 223, 0, - 0, 0, 636, 637, 224, 0, 0, 0, 0, -336, - 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, - 0, 0, 226, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, - 0, 0, 0, 0, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 0, 0, 0, - 603, 604, 0, 0, 222, 0, 0, 0, 0, 0, - 223, 0, 0, 0, 0, 0, 224, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 225, 0, 0, 0, - 0, 55, 0, 0, 226, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 261, 0, 0, 0, 0, 227, - 0, 0, 0, 0, 0, 56, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 0, - 0, 0, 262, 0, 605, 606, 607, 608, 609, 603, - 604, 610, 611, 612, 613, 0, 614, 615, 616, 617, - 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, - 623, 0, 0, 55, 624, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 261, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 651, 0, 0, - 0, 625, 0, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 636, 637, 0, 0, 0, 0, 0, - 1123, 0, 0, 0, 262, 0, 603, 604, 0, 0, - 0, 0, 0, 605, 606, 607, 608, 609, 0, 0, - 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, - 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, - 0, 0, 0, 624, 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, - 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, - 634, 635, 0, 0, 0, 0, 0, 603, 604, 0, - 0, 0, 636, 637, 0, 0, 0, 0, 0, 1231, - 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, - 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, - 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, - 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 625, 0, 626, - 627, 628, 629, 630, 631, 632, 633, 634, 635, 0, - 0, 0, 0, 0, 603, 604, 0, 0, 0, 636, - 637, 605, 606, 607, 608, 609, 1311, 0, 610, 611, - 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, - 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, - 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 851, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 625, 0, - 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, - 0, 0, 0, 0, 0, 603, 604, 0, 0, 0, - 636, 637, 0, 0, 0, 0, 0, 1463, 605, 606, - 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, - 614, 615, 616, 617, 618, 0, 619, 620, 0, 0, - 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 0, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 894, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 625, 0, 626, 627, 628, - 629, 630, 631, 632, 633, 634, 635, 0, 0, 0, - 0, 0, 603, 604, 0, 0, 0, 636, 637, 605, - 606, 607, 608, 609, 1473, 0, 610, 611, 612, 613, - 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, - 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 0, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 899, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 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, 625, 0, 626, 627, - 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, - 0, 0, 0, 0, 0, 0, 603, 604, 636, 637, - 0, 0, 0, 0, 0, 1485, 605, 606, 607, 608, - 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, - 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, - 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 0, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 625, 0, 626, 627, 628, 629, 630, - 631, 632, 633, 634, 635, 0, 0, 0, 0, 0, - 603, 604, 0, 0, 0, 636, 637, 0, 0, 638, - 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, - 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, - 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, - 624, 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, 625, 0, 626, - 627, 628, 629, 630, 631, 632, 633, 634, 635, 0, - 0, 0, 0, 0, 603, 604, 0, 0, 0, 636, - 637, 0, 0, 658, 605, 606, 607, 608, 609, 0, - 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, - 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, - 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 0, 0, 0, 0, 0, 603, 604, - 0, 0, 0, 636, 637, 0, 0, 876, 605, 606, - 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, - 614, 615, 616, 617, 618, 0, 619, 620, 0, 0, - 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 0, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 625, 0, 626, 627, 628, - 629, 630, 631, 632, 633, 634, 635, 0, 0, 0, - 0, 0, 603, 604, 0, 0, 0, 636, 637, 0, - 0, 970, 605, 606, 607, 608, 609, 0, 0, 610, - 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, - 619, 620, 0, 0, 0, 0, 621, 622, 623, 0, - 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 625, - 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, - 635, 0, 0, 0, 0, 0, 603, 604, 0, 0, - 0, 636, 637, 0, 0, 973, 605, 606, 607, 608, - 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, - 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, - 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 1191, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 625, 0, 626, 627, 628, 629, 630, - 631, 632, 633, 634, 635, 0, 0, 0, 0, 0, - 603, 604, 0, 0, 0, 636, 637, 0, 0, 975, - 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, - 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, - 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, - 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 1200, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 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, 625, 0, 626, - 627, 628, 629, 630, 631, 632, 633, 634, 635, 0, - 0, 0, 0, 0, 603, 604, 0, 0, 0, 636, - 637, 0, 0, 983, 605, 606, 607, 608, 609, 0, - 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, - 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, - 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 1205, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 625, 0, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 0, 0, 0, 0, 0, 603, 604, - 0, 0, 0, 636, 637, 0, 0, 984, 605, 606, - 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, - 614, 615, 616, 617, 618, 0, 619, 620, 0, 0, - 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 1263, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 625, 0, 626, 627, 628, - 629, 630, 631, 632, 633, 634, 635, 0, 0, 0, - 0, 0, 603, 604, 0, 0, 0, 636, 637, 0, - 0, 985, 605, 606, 607, 608, 609, 0, 0, 610, - 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, - 619, 620, 0, 0, 0, 0, 621, 622, 623, 0, - 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 625, - 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, - 635, 0, 0, 0, 0, 0, 603, 604, 0, 0, - 0, 636, 637, 0, 0, 986, 605, 606, 607, 608, - 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, - 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, - 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 1339, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 1404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 625, 0, 626, 627, 628, 629, 630, - 631, 632, 633, 634, 635, 0, 0, 0, 0, 0, - 603, 604, 0, 0, 0, 636, 637, 0, 0, 987, - 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, - 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, - 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, - 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 0, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 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, 625, 0, 626, - 627, 628, 629, 630, 631, 632, 633, 634, 635, 0, - 0, 0, 0, 0, 603, 604, 0, 0, 0, 636, - 637, 0, 0, 988, 605, 606, 607, 608, 609, 0, - 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, - 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, - 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 0, 0, + 456, 457, 0, 0, 0, 0, 0, 414, 415, 458, + 0, 459, 0, 460, 461, 0, 462, 416, 417, 418, + 419, 420, 0, 0, 0, 0, 0, 421, 0, 422, + 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, + 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, + 426, 0, 0, 427, 0, 0, 0, 428, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, + 430, 431, 0, 228, 229, 230, 0, 232, 233, 234, + 235, 236, 432, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 250, 251, 252, 0, 0, + 255, 256, 257, 258, 433, 434, 435, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 625, 0, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 0, 0, 0, 0, 0, 603, 604, - 0, 0, 0, 636, 637, 0, 0, 1118, 605, 606, + 55, 0, 0, 0, 0, 0, 0, 0, 438, 439, + 440, 441, 442, 0, 443, 0, 444, 445, 446, 447, + 448, 449, 450, 451, 56, 0, 222, 452, 0, 0, + 0, 0, 223, 0, 0, 0, 0, 0, 224, 0, + 0, 0, 0, 453, 454, 455, 0, 13, 225, 0, + 456, 457, 0, 0, 0, 0, 226, 0, 0, 1175, + 0, 459, 0, 460, 461, 0, 462, 0, 0, 0, + 0, 227, 0, 0, 0, 0, 0, 0, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 222, 0, 0, 0, 0, 0, 223, 0, 0, 0, + 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 0, 55, 0, 0, 0, 0, + 226, 0, 0, 0, 0, 0, 0, 0, 261, 0, + 0, 0, 0, 0, 0, 227, 0, 0, 0, 651, + 0, 690, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 0, 0, 0, 262, 0, + 691, 0, 222, 0, 0, 603, 604, 0, 223, 0, + 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 0, 0, 0, 55, + 0, 0, 226, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 261, 0, 0, 0, 0, 227, 0, 0, + 0, 0, 0, 56, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 0, 0, 0, + 0, 0, 262, 0, 603, 604, 0, 0, 0, 605, + 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, + 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, + 0, 55, 0, 621, 622, 623, 0, 0, 0, 624, + 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 651, 0, 0, 690, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 625, 0, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 603, 604, 0, + 636, 637, 0, 0, 262, 0, 0, 691, 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, - 629, 630, 631, 632, 633, 634, 635, 0, 0, 0, - 0, 0, 603, 604, 0, 0, 0, 636, 637, 0, - 0, 1133, 605, 606, 607, 608, 609, 0, 0, 610, - 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, - 619, 620, 0, 0, 0, 0, 621, 622, 623, 0, - 0, 0, 624, 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, 625, - 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, - 635, 0, 0, 0, 0, 0, 603, 604, 0, 0, - 0, 636, 637, 0, 0, 1207, 605, 606, 607, 608, - 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, - 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, - 621, 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, 629, 630, - 631, 632, 633, 634, 635, 0, 0, 0, 0, 0, - 603, 604, 0, 0, 0, 636, 637, 0, 0, 1259, - 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, - 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, - 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, - 624, 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, 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 0, - 0, 0, 0, 0, 603, 604, 0, 0, 0, 636, - 637, 0, 0, 1260, 605, 606, 607, 608, 609, 0, + 603, 604, 0, 0, 0, 0, 0, 0, 0, 636, + 637, 605, 606, 607, 608, 609, 953, 0, 610, 611, + 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, + 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, + 0, 624, 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, + 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 0, 603, 604, 0, 0, 0, 0, 0, + 0, 0, 636, 637, 605, 606, 607, 608, 609, 1131, 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 0, 0, 0, 0, 0, 603, 604, - 0, 0, 0, 636, 637, 0, 0, 1264, 605, 606, - 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, - 614, 615, 616, 617, 618, 0, 619, 620, 0, 0, - 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, + 0, 0, 802, 625, 0, 626, 627, 628, 629, 630, + 631, 632, 633, 634, 635, 0, 0, 0, 0, 603, + 604, 0, 0, 0, 0, 636, 637, 605, 606, 607, + 608, 609, 1471, 0, 610, 611, 612, 613, 0, 614, + 615, 616, 617, 618, 0, 619, 620, 0, 0, 0, + 0, 621, 622, 623, 228, 229, 230, 624, 232, 233, + 234, 235, 236, 432, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 0, 250, 251, 252, 0, + 0, 255, 256, 257, 258, 0, 625, 0, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, + 0, 0, 0, 0, 0, 603, 604, 0, 636, 637, + 0, 0, 638, 605, 606, 607, 608, 609, 0, 0, + 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, + 0, 619, 620, 0, 0, 0, 803, 621, 622, 623, + 0, 0, 0, 624, 0, 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 625, 0, 626, 627, 628, - 629, 630, 631, 632, 633, 634, 635, 0, 0, 0, - 0, 0, 603, 604, 0, 0, 0, 636, 637, 0, - 0, 1280, 605, 606, 607, 608, 609, 0, 0, 610, - 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, - 619, 620, 0, 0, 0, 0, 621, 622, 623, 0, - 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 625, 0, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 0, 0, 0, 0, 0, 0, + 0, 603, 604, 0, 636, 637, 0, 0, 658, 605, + 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, + 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, + 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 625, - 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, - 635, 0, 0, 0, 0, 0, 603, 604, 0, 0, - 0, 636, 637, 0, 0, 1282, 605, 606, 607, 608, - 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, - 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, - 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 625, 0, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 603, 604, 0, + 636, 637, 0, 0, 882, 605, 606, 607, 608, 609, + 0, 0, 610, 611, 612, 613, 0, 614, 615, 616, + 617, 618, 0, 619, 620, 0, 0, 0, 0, 621, + 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 625, 0, 626, 627, 628, 629, 630, - 631, 632, 633, 634, 635, 0, 0, 0, 0, 0, - 603, 604, 0, 0, 0, 636, 637, 0, 0, 1284, - 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, - 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, - 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, - 624, 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, 625, 0, 626, - 627, 628, 629, 630, 631, 632, 633, 634, 635, 0, - 0, 0, 0, 0, 603, 604, 0, 0, 0, 636, - 637, 0, 0, 1288, 605, 606, 607, 608, 609, 0, - 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, - 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, - 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 625, 0, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 0, 0, 0, 0, + 0, 0, 0, 603, 604, 0, 636, 637, 0, 0, + 976, 605, 606, 607, 608, 609, 0, 0, 610, 611, + 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, + 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 625, 0, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 0, 0, 0, 0, 0, 603, 604, - 0, 0, 0, 636, 637, 0, 0, 1295, 605, 606, - 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, - 614, 615, 616, 617, 618, 0, 619, 620, 0, 0, - 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, + 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 0, 0, 0, 0, 0, 0, 0, 603, + 604, 0, 636, 637, 0, 0, 979, 605, 606, 607, + 608, 609, 0, 0, 610, 611, 612, 613, 0, 614, + 615, 616, 617, 618, 0, 619, 620, 0, 0, 0, + 0, 621, 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, - 629, 630, 631, 632, 633, 634, 635, 0, 0, 0, - 0, 0, 603, 604, 0, 0, 0, 636, 637, 0, - 0, 1296, 605, 606, 607, 608, 609, 0, 0, 610, - 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, - 619, 620, 0, 0, 0, 0, 621, 622, 623, 0, - 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 625, 0, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, + 0, 0, 0, 0, 0, 603, 604, 0, 636, 637, + 0, 0, 981, 605, 606, 607, 608, 609, 0, 0, + 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, + 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, + 0, 0, 0, 624, 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, 625, - 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, - 635, 0, 0, 0, 0, 0, 603, 604, 0, 0, - 0, 636, 637, 0, 0, 1298, 605, 606, 607, 608, - 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, - 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, - 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 625, 0, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 0, 0, 0, 0, 0, 0, + 0, 603, 604, 0, 636, 637, 0, 0, 989, 605, + 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, + 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, + 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 625, 0, 626, 627, 628, 629, 630, - 631, 632, 633, 634, 635, 0, 0, 0, 0, 0, - 603, 604, 0, 0, 0, 636, 637, 0, 0, 1299, - 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, - 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, - 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, - 624, 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, 625, 0, 626, - 627, 628, 629, 630, 631, 632, 633, 634, 635, 0, - 0, 0, 0, 0, 603, 604, 0, 0, 0, 636, - 637, 0, 0, 1355, 605, 606, 607, 608, 609, 0, - 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, - 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, - 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 625, 0, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 603, 604, 0, + 636, 637, 0, 0, 990, 605, 606, 607, 608, 609, + 0, 0, 610, 611, 612, 613, 0, 614, 615, 616, + 617, 618, 0, 619, 620, 0, 0, 0, 0, 621, + 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 0, 0, 0, 0, 0, 603, 604, - 0, 0, 0, 636, 637, 0, 0, 1356, 605, 606, - 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, - 614, 615, 616, 617, 618, 0, 619, 620, 0, 0, - 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, + 0, 0, 0, 0, 625, 0, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 0, 0, 0, 0, + 0, 0, 0, 603, 604, 0, 636, 637, 0, 0, + 991, 605, 606, 607, 608, 609, 0, 0, 610, 611, + 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, + 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 625, 0, 626, 627, 628, - 629, 630, 631, 632, 633, 634, 635, 0, 0, 0, - 0, 0, 603, 604, 0, 0, 0, 636, 637, 0, - 0, 1357, 605, 606, 607, 608, 609, 0, 0, 610, - 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, - 619, 620, 0, 0, 0, 0, 621, 622, 623, 0, - 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, + 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 0, 0, 0, 0, 0, 0, 0, 603, + 604, 0, 636, 637, 0, 0, 992, 605, 606, 607, + 608, 609, 0, 0, 610, 611, 612, 613, 0, 614, + 615, 616, 617, 618, 0, 619, 620, 0, 0, 0, + 0, 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 625, - 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, - 635, 0, 0, 0, 0, 0, 603, 604, 0, 0, - 0, 636, 637, 0, 0, 1374, 605, 606, 607, 608, - 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, - 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, - 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 625, 0, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, + 0, 0, 0, 0, 0, 603, 604, 0, 636, 637, + 0, 0, 993, 605, 606, 607, 608, 609, 0, 0, + 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, + 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, + 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 625, 0, 626, 627, 628, 629, 630, - 631, 632, 633, 634, 635, 0, 0, 0, 0, 0, - 603, 604, 0, 0, 0, 636, 637, 0, 0, 1385, - 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, - 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, - 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, - 624, 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, 625, 0, 626, - 627, 628, 629, 630, 631, 632, 633, 634, 635, 0, - 0, 0, 0, 0, 603, 604, 0, 0, 0, 636, - 637, 0, 0, 1394, 605, 606, 607, 608, 609, 0, - 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, - 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, - 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, + 0, 0, 625, 0, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 0, 0, 0, 0, 0, 0, + 0, 603, 604, 0, 636, 637, 0, 0, 994, 605, + 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, + 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, + 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 625, 0, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 0, 0, 0, 0, 0, 603, 604, - 0, 0, 0, 636, 637, 0, 0, 1457, 605, 606, - 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, - 614, 615, 616, 617, 618, 0, 619, 620, 0, 0, - 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 625, 0, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 603, 604, 0, + 636, 637, 0, 0, 1126, 605, 606, 607, 608, 609, + 0, 0, 610, 611, 612, 613, 0, 614, 615, 616, + 617, 618, 0, 619, 620, 0, 0, 0, 0, 621, + 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 625, 0, 626, 627, 628, - 629, 630, 631, 632, 633, 634, 635, 0, 0, 0, - 603, 604, 0, 0, 0, 0, 0, 636, 637, 0, - 0, 1489, 605, 606, 607, 608, 609, 0, 0, 610, - 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, - 619, 620, 0, 0, 0, 0, 621, 622, 623, 0, - 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 625, 0, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 0, 0, 0, 0, + 0, 0, 0, 603, 604, 0, 636, 637, 0, 0, + 1141, 605, 606, 607, 608, 609, 0, 0, 610, 611, + 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, + 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, + 0, 624, 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, 625, - 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, - 635, 0, 603, 604, 0, 0, 0, 0, 0, 0, - 0, 636, 637, 663, 605, 606, 607, 608, 609, 0, - 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, - 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, - 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 0, 0, 0, 0, 0, 0, 0, 603, + 604, 0, 636, 637, 0, 0, 1215, 605, 606, 607, + 608, 609, 0, 0, 610, 611, 612, 613, 0, 614, + 615, 616, 617, 618, 0, 619, 620, 0, 0, 0, + 0, 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 625, 0, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 0, 603, 604, 0, 0, 0, 0, - 0, 0, 0, 636, 637, 869, 605, 606, 607, 608, - 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, - 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, - 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 625, 0, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, + 0, 0, 0, 0, 0, 603, 604, 0, 636, 637, + 0, 0, 1267, 605, 606, 607, 608, 609, 0, 0, + 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, + 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, + 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 625, 0, 626, 627, 628, 629, 630, - 631, 632, 633, 634, 635, 0, 603, 604, 0, 0, - 0, 0, 0, 0, 0, 636, 637, 1024, 605, 606, - 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, - 614, 615, 616, 617, 618, 0, 619, 620, 0, 0, - 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 625, 0, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 0, 0, 0, 0, 0, 0, + 0, 603, 604, 0, 636, 637, 0, 0, 1268, 605, + 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, + 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, + 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 625, 0, 626, 627, 628, - 629, 630, 631, 632, 633, 634, 635, 0, 603, 604, - 0, 0, 0, 0, 0, 0, 0, 636, 637, 1040, - 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, - 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, - 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, - 624, 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, 625, 0, 626, - 627, 628, 629, 630, 631, 632, 633, 634, 635, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, - 637, 1190, 605, 606, 607, 608, 609, 276, 277, 610, - 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, - 619, 620, 0, 0, 278, 0, 621, 622, 623, 0, - 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 625, 0, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 603, 604, 0, + 636, 637, 0, 0, 1272, 605, 606, 607, 608, 609, + 0, 0, 610, 611, 612, 613, 0, 614, 615, 616, + 617, 618, 0, 619, 620, 0, 0, 0, 0, 621, + 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 625, - 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, - 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 636, 637, 1195, 0, 0, 0, 0, 603, 604, - 0, 0, 0, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 0, 0, 297, 298, 299, 0, 0, 300, 301, - 302, 303, 304, 0, 0, 305, 306, 307, 308, 309, - 310, 311, 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, 312, 0, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, - 603, 604, 323, 324, 0, 0, 0, 0, 0, 0, - 325, 326, 605, 606, 607, 608, 609, 0, 0, 610, - 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, - 619, 620, 0, 0, 782, 0, 621, 622, 623, 0, - 0, 0, 624, 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, 625, - 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, - 635, 603, 604, 0, 0, 0, 0, 0, 0, 0, - 0, 636, 637, 0, 605, 606, 607, 608, 609, 0, - 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, - 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, - 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 625, 0, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 0, 0, 0, 0, + 0, 0, 0, 603, 604, 0, 636, 637, 0, 0, + 1288, 605, 606, 607, 608, 609, 0, 0, 610, 611, + 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, + 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 625, 1029, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 603, 604, 0, 0, 0, 0, 0, - 0, 0, 0, 636, 637, 605, 606, 607, 608, 609, + 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 0, 0, 0, 0, 0, 0, 0, 603, + 604, 0, 636, 637, 0, 0, 1290, 605, 606, 607, + 608, 609, 0, 0, 610, 611, 612, 613, 0, 614, + 615, 616, 617, 618, 0, 619, 620, 0, 0, 0, + 0, 621, 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, + 0, 0, 0, 0, 0, 603, 604, 0, 636, 637, + 0, 0, 1292, 605, 606, 607, 608, 609, 0, 0, + 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, + 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, + 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 0, 0, 0, 0, 0, 0, + 0, 603, 604, 0, 636, 637, 0, 0, 1296, 605, + 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, + 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, + 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, + 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, 625, 0, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 603, 604, 0, + 636, 637, 0, 0, 1303, 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1154, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 625, 0, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 0, 0, 0, 0, + 0, 0, 0, 603, 604, 0, 636, 637, 0, 0, + 1304, 605, 606, 607, 608, 609, 0, 0, 610, 611, + 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, + 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, + 0, 624, 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, + 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 0, 0, 0, 0, 0, 0, 0, 603, + 604, 0, 636, 637, 0, 0, 1306, 605, 606, 607, + 608, 609, 0, 0, 610, 611, 612, 613, 0, 614, + 615, 616, 617, 618, 0, 619, 620, 0, 0, 0, + 0, 621, 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, + 0, 0, 0, 0, 0, 603, 604, 0, 636, 637, + 0, 0, 1307, 605, 606, 607, 608, 609, 0, 0, + 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, + 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, + 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, 629, 630, 631, - 632, 633, 634, 635, 603, 604, 0, 0, 0, 0, - 0, 0, 0, 0, 636, 637, 0, 605, 606, 607, + 632, 633, 634, 635, 0, 0, 0, 0, 0, 0, + 0, 603, 604, 0, 636, 637, 0, 0, 1363, 605, + 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, + 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, + 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, + 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, 625, 0, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 603, 604, 0, + 636, 637, 0, 0, 1364, 605, 606, 607, 608, 609, + 0, 0, 610, 611, 612, 613, 0, 614, 615, 616, + 617, 618, 0, 619, 620, 0, 0, 0, 0, 621, + 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 0, 0, 0, 0, + 0, 0, 0, 603, 604, 0, 636, 637, 0, 0, + 1365, 605, 606, 607, 608, 609, 0, 0, 610, 611, + 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, + 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, + 0, 624, 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, + 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 0, 0, 0, 0, 0, 0, 0, 603, + 604, 0, 636, 637, 0, 0, 1382, 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, + 0, 0, 0, 0, 0, 603, 604, 0, 636, 637, + 0, 0, 1393, 605, 606, 607, 608, 609, 0, 0, + 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, + 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, + 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 0, 0, 0, 0, 0, 0, + 0, 603, 604, 0, 636, 637, 0, 0, 1402, 605, + 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, + 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, + 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, + 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, 625, 0, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 603, 604, 0, + 636, 637, 0, 0, 1465, 605, 606, 607, 608, 609, + 0, 0, 610, 611, 612, 613, 0, 614, 615, 616, + 617, 618, 0, 619, 620, 0, 0, 0, 0, 621, + 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, 629, - 630, 631, 632, 633, 634, 635, 603, 604, 0, 0, - 0, 0, 0, 0, 0, 0, 636, 637, 605, 606, - 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, - 614, 615, 616, 617, 618, 0, 619, 620, 603, 604, - 0, 0, 621, 622, 623, 0, 0, 0, -719, 0, + 630, 631, 632, 633, 634, 635, 0, 0, 0, 0, + 0, 603, 604, 0, 0, 0, 636, 637, 0, 0, + 1497, 605, 606, 607, 608, 609, 0, 0, 610, 611, + 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, + 620, 0, 0, 0, 0, 621, 622, 623, 0, 0, + 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 625, 0, 626, 627, 628, - 629, 630, 631, 632, 633, 634, 635, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 636, 637, 0, - 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, - 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, - 603, 604, 0, 0, 621, 622, 623, 0, 0, 0, - 0, 0, 605, 606, 607, 608, 609, 0, 0, 610, + 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 0, 0, 0, 603, 604, 0, 0, 0, + 0, 0, 636, 637, 663, 605, 606, 607, 608, 609, + 0, 0, 610, 611, 612, 613, 0, 614, 615, 616, + 617, 618, 0, 619, 620, 0, 0, 0, 0, 621, + 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 0, 0, 0, 603, + 604, 0, 0, 0, 0, 0, 636, 637, 873, 605, + 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, + 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, + 0, 0, 0, 621, 622, 623, 0, 0, 0, 624, + 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, 625, 0, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 0, 0, 0, 603, 604, 0, 0, 0, 0, 0, + 636, 637, 1030, 605, 606, 607, 608, 609, 0, 0, + 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, + 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, + 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 0, 0, 0, 603, 604, 0, + 0, 0, 0, 0, 636, 637, 1046, 605, 606, 607, + 608, 609, 0, 0, 610, 611, 612, 613, 0, 614, + 615, 616, 617, 618, 0, 619, 620, 0, 0, 0, + 0, 621, 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 636, 637, + 1198, 605, 606, 607, 608, 609, 276, 277, 610, 611, + 612, 613, 0, 614, 615, 616, 617, 618, 0, 619, + 620, 0, 0, 278, 0, 621, 622, 623, 0, 0, + 0, 624, 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, + 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, + 634, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 636, 637, 1203, 0, 0, 0, 0, 603, + 604, 0, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 0, 0, 297, 298, 299, 0, 0, 300, 301, 302, + 303, 304, 0, 0, 305, 306, 307, 308, 309, 310, + 311, 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, 806, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 0, 0, 323, 324, 603, 604, 0, 0, 0, + 0, 325, 326, 605, 606, 607, 608, 609, 0, 0, + 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, + 0, 619, 620, 0, 0, 786, 0, 621, 622, 623, + 228, 229, 230, 624, 232, 233, 234, 235, 236, 432, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + 248, 0, 250, 251, 252, 0, 0, 255, 256, 257, + 258, 0, 625, 0, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 0, 0, 0, 0, 603, 604, + 0, 0, 0, 0, 636, 637, 0, 0, 0, 605, + 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, + 0, 614, 615, 616, 617, 618, 0, 619, 620, 0, + 0, 0, 807, 621, 622, 623, 0, 0, 0, 624, + 0, 808, 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, 625, 1035, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 0, 603, 604, 0, 0, 0, 0, 0, 0, 0, + 636, 637, 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, - 619, 620, 603, 604, 0, 0, 621, 625, 623, 626, + 619, 620, 0, 0, 0, 0, 621, 622, 623, 0, + 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1162, 0, 0, + 0, 625, 0, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 0, 603, 604, 0, 0, 0, 0, + 0, 0, 0, 636, 637, 605, 606, 607, 608, 609, + 0, 0, 610, 611, 612, 613, 0, 614, 615, 616, + 617, 618, 0, 619, 620, 603, 604, 0, 0, 621, + 622, 623, 0, 0, 0, 624, 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, 625, 0, 626, 627, 628, 629, + 630, 631, 632, 633, 634, 635, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 636, 637, 605, 606, + 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, + 614, 615, 616, 617, 618, 0, 619, 620, 603, 604, + 0, 0, 621, 622, 623, 0, 0, 0, -731, 605, + 606, 607, 608, 609, 0, 0, 610, 611, 612, 613, + 0, 614, 615, 616, 617, 618, 0, 619, 620, 603, + 604, 0, 0, 621, 622, 623, 0, 625, 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, - 637, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, - 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 636, 637, 0, 605, 606, 607, 608, 609, 0, - 0, 610, 611, 612, 613, 0, 614, 615, 616, 617, - 618, 0, 619, 620, 603, 604, 0, 0, 621, 0, - 0, 0, 0, 0, 0, 0, 605, 606, 607, 608, - 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, - 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, + 637, 0, 0, 0, 0, 0, 0, 0, 625, 0, + 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 636, 637, 605, 606, 607, 608, 609, 0, 0, 610, + 611, 612, 613, 0, 614, 615, 616, 617, 618, 0, + 619, 620, 603, 604, 0, 0, 621, 0, 623, 0, + 0, 0, 0, 605, 606, 607, 608, 609, 0, 0, + 610, 611, 612, 613, 0, 614, 615, 616, 617, 618, + 0, 619, 620, 603, 604, 0, 0, 621, 0, 0, 0, 0, 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 636, 637, 0, 798, 0, 0, 0, - 0, 0, 0, 0, 0, 626, 627, 628, 629, 630, - 631, 632, 633, 634, 635, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 636, 637, 0, 605, 606, - 607, 608, 609, 0, 0, 610, 611, 612, 613, 0, - 614, 615, 616, 617, 618, 0, 619, 620, 228, 229, - 230, 0, 232, 233, 234, 235, 236, 432, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 0, - 250, 251, 252, 0, 0, 255, 256, 257, 258, 0, - 0, 0, 0, 0, 802, 0, 0, 0, 627, 628, + 0, 0, 0, 636, 637, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 626, 627, 628, 629, 630, 631, + 632, 633, 634, 635, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 636, 637, 605, 606, 607, 608, + 609, 0, 0, 610, 611, 612, 613, 0, 614, 615, + 616, 617, 618, 0, 619, 620, 603, 604, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 605, 606, 607, + 608, 609, 0, 0, 610, 611, 612, 613, 0, 614, + 615, 616, 617, 618, 0, 619, 620, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 636, 637, 0, - 0, 0, 0, 0, 0, 1025, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 636, 637, 1031, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 627, + 628, 629, 630, 631, 632, 633, 634, 635, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 636, 637, + 605, 606, 607, 608, 609, 0, 0, 610, 611, 612, + 613, 0, 614, 615, 616, 617, 618, 0, 619, 620, + 0, 228, 229, 230, 0, 232, 233, 234, 235, 236, + 432, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 0, 250, 251, 252, 0, 0, 255, 256, + 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 636, 637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 799, 0, 0, 0, 0, 0, 228, 229, 230, 800, - 232, 233, 234, 235, 236, 432, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 0, 250, 251, - 252, 0, 0, 255, 256, 257, 258, 228, 229, 230, - 0, 232, 233, 234, 235, 236, 432, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 177, 250, - 251, 252, 0, 0, 255, 256, 257, 258, 0, 0, + 0, 0, 0, 1032, 0, 0, 0, 0, 0, 228, + 229, 230, 1033, 232, 233, 234, 235, 236, 432, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 0, 250, 251, 252, 0, 0, 255, 256, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 803, 0, - 0, 0, 0, 0, 178, 0, 179, 804, 180, 181, - 182, 183, 184, 0, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 0, 196, 197, 198, 1026, - 0, 199, 200, 201, 202, 0, 0, 0, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 228, 229, 230, 0, 232, 233, 234, 235, - 236, 432, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 0, 250, 251, 252, 0, 0, 255, - 256, 257, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 838, - 839, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 842, 843, 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, 840, 0, 0, 0, 0, 0, - 0, 0, 0, 841, 0, 0, 0, 0, 0, 0, + 0, 844, 0, 0, 0, 0, 0, 0, 0, 0, + 845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 842, 843 + 0, 0, 0, 0, 846, 847 }; static const yytype_int16 yycheck[] = { - 13, 14, 167, 137, 536, 533, 600, 783, 597, 591, - 517, 915, 667, 676, 596, 153, 334, 646, 516, 648, - 167, 650, 771, 494, 79, 496, 8, 498, 738, 797, - 5, 653, 781, 33, 1202, 657, 20, 22, 462, 20, - 1337, 471, 19, 20, 20, 33, 1369, 60, 61, 62, - 20, 372, 459, 1250, 46, 150, 147, 153, 15, 16, - 139, 140, 141, 126, 126, 162, 162, 0, 150, 132, - 132, 162, 57, 125, 7, 785, 128, 129, 147, 661, - 147, 126, 681, 199, 200, 162, 202, 408, 101, 102, - 103, 104, 1389, 162, 1417, 162, 503, 30, 7, 32, - 530, 34, 198, 198, 201, 200, 197, 40, 171, 171, - 138, 202, 15, 16, 106, 1312, 1313, 50, 200, 198, - 5, 6, 199, 56, 153, 747, 171, 102, 103, 174, - 170, 170, 1329, 162, 201, 559, 203, 170, 201, 201, - 25, 50, 194, 195, 170, 173, 31, 80, 174, 738, - 557, 1319, 162, 1436, 167, 10, 11, 196, 198, 214, - 567, 128, 129, 570, 746, 198, 748, 201, 197, 102, - 103, 601, 155, 183, 756, 201, 176, 759, 1373, 1376, - 1377, 34, 1465, 68, 69, 162, 170, 1382, 176, 170, - 597, 21, 22, 725, 170, 195, 785, 182, 155, 788, - 170, 339, 177, 160, 204, 162, 163, 170, 170, 194, - 63, 21, 22, 195, 982, 153, 178, 102, 103, 164, - 165, 203, 197, 388, 162, 372, 126, 194, 195, 126, - 1425, 1426, 639, 196, 138, 132, 201, 558, 126, 201, - 197, 388, 991, 865, 132, 955, 411, 412, 413, 262, - 183, 572, 155, 138, 201, 62, 178, 160, 162, 162, - 163, 408, 195, 170, 411, 412, 413, 173, 201, 126, - 170, 171, 170, 173, 171, 132, 176, 162, 131, 201, - 178, 138, 937, 171, 126, 138, 341, 117, 118, 147, - 132, 198, 177, 153, 170, 125, 895, 127, 128, 129, - 130, 131, 162, 201, 162, 170, 126, 117, 118, 162, - 195, 170, 132, 178, 171, 125, 1220, 202, 128, 129, - 130, 131, 198, 794, 489, 490, 170, 177, 493, 171, - 495, 738, 497, 1082, 187, 126, 201, 959, 177, 198, - 177, 132, 489, 490, 197, 170, 493, 197, 495, 667, - 497, 171, 499, 178, 198, 21, 22, 864, 197, 372, - 197, 170, 170, 861, 194, 195, 955, 874, 170, 516, - 5, 6, 126, 8, 872, 388, 201, 57, 132, 171, - 171, 170, 170, 63, 194, 195, 1015, 196, 401, 170, - 198, 21, 22, 170, 162, 408, 198, 178, 411, 412, - 413, 36, 170, 724, 138, 418, 419, 1070, 162, 198, - 198, 558, 944, 147, 735, 736, 162, 171, 152, 170, - 201, 198, 176, 162, 745, 572, 170, 170, 162, 750, - 751, 170, 753, 12, 755, 170, 757, 758, 170, 760, - 177, 170, 170, 177, 23, 24, 170, 198, 173, 115, - 116, 117, 118, 178, 198, 198, 603, 604, 155, 125, - 197, 127, 128, 129, 130, 131, 198, 133, 134, 198, - 198, 618, 197, 177, 1073, 57, 489, 490, 173, 201, - 493, 63, 495, 178, 497, 173, 499, 117, 118, 636, - 178, 47, 138, 197, 659, 125, 138, 127, 128, 129, - 130, 131, 197, 516, 174, 147, 1169, 162, 178, 197, - 153, 67, 659, 179, 180, 181, 182, 183, 174, 162, - 162, 153, 178, 164, 165, 166, 167, 998, 194, 195, - 162, 1160, 153, 173, 33, 669, 174, 671, 178, 197, - 178, 162, 60, 61, 62, 558, 1017, 194, 162, 1178, - 57, 181, 182, 183, 688, 173, 63, 197, 176, 572, - 170, 60, 61, 173, 194, 195, 176, 170, 57, 734, - 173, 162, 737, 176, 63, 57, 741, 724, 1167, 592, - 164, 63, 720, 101, 102, 103, 104, 734, 735, 736, - 737, 57, 198, 57, 741, 201, 174, 63, 745, 63, - 178, 1264, 162, 750, 751, 174, 753, 162, 755, 178, - 757, 758, 75, 760, 1390, 1022, 79, 174, 201, 937, - 203, 178, 174, 57, 123, 197, 178, 1034, 127, 201, - 93, 94, 1039, 171, 162, 98, 99, 100, 101, 162, - 174, 962, 963, 964, 178, 174, 659, 968, 197, 178, - 174, 162, 201, 174, 178, 1254, 202, 178, 139, 140, - 141, 170, 1244, 164, 165, 166, 164, 165, 166, 52, - 53, 54, 139, 172, 141, 201, 997, 176, 1277, 826, - 179, 164, 669, 139, 671, 162, 106, 200, 35, 201, - 170, 35, 197, 162, 859, 173, 195, 862, 200, 202, - 162, 177, 177, 177, 197, 204, 1300, 177, 202, 177, - 197, 724, 859, 197, 861, 862, 177, 882, 177, 177, - 177, 734, 735, 736, 737, 872, 177, 177, 741, 174, - 202, 1394, 745, 162, 162, 882, 162, 750, 751, 22, - 753, 1330, 755, 196, 757, 758, 1153, 760, 1155, 162, - 196, 173, 1351, 202, 1161, 173, 162, 195, 202, 162, - 132, 197, 1361, 202, 1363, 1364, 162, 177, 177, 177, - 197, 195, 177, 177, 1302, 177, 197, 177, 197, 177, - 177, 197, 197, 197, 162, 197, 197, 162, 162, 1378, - 197, 43, 178, 177, 13, 1202, 197, 177, 177, 1381, - 170, 200, 197, 196, 198, 197, 197, 197, 197, 170, - 349, 4, 200, 162, 173, 962, 963, 964, 43, 162, - 359, 968, 198, 155, 197, 10, 9, 13, 42, 1418, - 369, 66, 201, 201, 21, 22, 1368, 201, 1420, 201, - 203, 201, 162, 201, 201, 201, 859, 1446, 861, 862, - 997, 1258, 1451, 201, 8, 201, 162, 162, 1179, 872, - 162, 178, 197, 196, 198, 203, 197, 197, 197, 882, - 1469, 170, 198, 197, 177, 197, 177, 1, 197, 197, - 162, 197, 1414, 197, 197, 197, 178, 1476, 178, 178, - 1297, 162, 1491, 162, 14, 1060, 171, 436, 437, 173, - 155, 197, 197, 197, 197, 37, 197, 171, 67, 43, - 178, 178, 1319, 1060, 453, 454, 455, 456, 457, 1326, - 201, 198, 198, 462, 178, 198, 198, 197, 115, 116, - 117, 118, 119, 178, 178, 122, 123, 124, 125, 178, - 127, 128, 129, 130, 131, 178, 133, 134, 198, 962, - 963, 964, 178, 21, 22, 968, 178, 198, 178, 197, - 177, 198, 43, 197, 162, 197, 197, 197, 162, 178, - 162, 178, 178, 512, 203, 203, 203, 198, 178, 197, - 162, 520, 178, 198, 997, 197, 162, 197, 527, 176, - 177, 178, 179, 180, 181, 182, 183, 162, 162, 162, - 202, 540, 203, 33, 178, 70, 197, 194, 195, 197, - 178, 162, 137, 197, 12, 162, 1181, 198, 1152, 197, - 559, 560, 197, 178, 563, 197, 565, 197, 201, 198, - 197, 197, 1179, 53, 1181, 197, 575, 576, 577, 578, - 579, 580, 203, 1177, 197, 201, 1367, 1060, 198, 117, - 118, 170, 198, 201, 198, 198, 198, 125, 198, 127, - 128, 129, 130, 131, 201, 201, 605, 606, 198, 198, - 609, 610, 611, 612, 201, 614, 198, 616, 617, 618, - 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, - 629, 630, 631, 632, 633, 634, 635, 198, 637, 197, - 197, 203, 198, 198, 196, 196, 78, 1, 581, 21, - 22, 179, 180, 181, 182, 183, 42, 128, 81, 1492, - 1285, 1359, 100, 1322, 1359, 1359, 194, 195, 1359, 1359, - 220, 1, 1275, 478, 1309, 1225, 1228, 1310, 1285, 1110, - 679, 1114, 51, 682, 1278, 1378, -1, -1, 687, -1, - 689, -1, 418, 418, 525, -1, -1, -1, -1, -1, - -1, -1, 1296, -1, 1298, 1299, 1179, -1, 1181, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 721, -1, -1, -1, -1, -1, 727, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 740, -1, 115, 116, 117, 118, 119, -1, -1, - 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, - 1367, 133, 134, -1, -1, -1, -1, 139, 140, 141, - 769, -1, -1, 145, 773, -1, -1, -1, -1, -1, - -1, -1, -1, 782, 783, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 796, -1, -1, - 172, -1, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 1285, -1, -1, -1, 1410, -1, -1, -1, - -1, -1, 194, 195, -1, -1, -1, -1, -1, 201, + 13, 14, 597, 137, 533, 536, 600, 787, 667, 676, + 681, 516, 167, 153, 494, 646, 496, 648, 498, 650, + 517, 653, 921, 527, 775, 657, 591, 79, 801, 742, + 8, 596, 20, 33, 785, 1210, 20, 0, 5, 20, + 20, 471, 1345, 46, 7, 172, 1258, 60, 61, 62, + 19, 20, 462, 147, 126, 126, 33, 147, 1377, 167, + 132, 132, 22, 155, 57, 128, 129, 30, 162, 32, + 63, 34, 162, 200, 150, 372, 789, 40, 5, 6, + 126, 15, 16, 139, 140, 141, 150, 50, 101, 102, + 103, 104, 164, 56, 1397, 173, 661, 57, 25, 126, + 530, 173, 173, 106, 31, 199, 1425, 1381, 1320, 1321, + 204, 408, 153, 203, 126, 205, 1390, 80, 162, 751, + 132, 162, 15, 16, 200, 1337, 202, 173, 203, 164, + 176, 203, 203, 196, 197, 102, 103, 7, 202, 102, + 103, 68, 69, 172, 200, 172, 173, 742, 175, 559, + 162, 178, 1327, 138, 167, 147, 203, 201, 199, 1433, + 1434, 173, 214, 138, 203, 669, 178, 671, 203, 198, + 162, 601, 1384, 1385, 172, 102, 103, 162, 178, 125, + 50, 685, 128, 129, 172, 750, 172, 752, 172, 693, + 694, 172, 172, 162, 789, 760, 727, 792, 763, 339, + 175, 178, 706, 21, 22, 709, 710, 711, 712, 713, + 147, 138, 179, 717, 200, 988, 875, 372, 62, 197, + 197, 155, 185, 175, 184, 162, 160, 205, 162, 206, + 901, 165, 199, 388, 197, 162, 196, 869, 126, 126, + 203, 126, 1444, 164, 132, 132, 997, 132, 961, 262, + 196, 197, 179, 408, 126, 153, 411, 412, 413, 164, + 132, 558, 155, 172, 162, 199, 138, 160, 34, 162, + 197, 1473, 165, 126, 138, 572, 126, 204, 199, 132, + 388, 163, 132, 147, 943, 173, 173, 162, 173, 341, + 172, 200, 172, 459, 199, 172, 800, 63, 162, 117, + 118, 173, 200, 411, 412, 413, 203, 125, 138, 127, + 128, 129, 130, 131, 60, 61, 62, 147, 798, 162, + 173, 198, 152, 173, 172, 172, 162, 162, 164, 1228, + 21, 22, 162, 965, 489, 490, 153, 503, 493, 1090, + 495, 172, 497, 47, 499, 162, 138, 180, 57, 179, + 185, 172, 200, 200, 63, 101, 102, 103, 104, 372, + 865, 516, 57, 67, 155, 131, 961, 203, 63, 200, + 203, 868, 138, 878, 878, 388, 880, 198, 196, 197, + 33, 489, 490, 880, 172, 493, 199, 495, 401, 497, + 1021, 557, 21, 22, 196, 408, 162, 172, 411, 412, + 413, 567, 162, 558, 570, 418, 419, 60, 61, 12, + 1081, 1078, 200, 163, 164, 163, 164, 572, 162, 950, + 23, 24, 172, 189, 172, 200, 117, 118, 176, 726, + 180, 597, 200, 199, 125, 203, 127, 128, 129, 130, + 131, 172, 739, 740, 5, 6, 950, 8, 603, 604, + 57, 179, 749, 203, 162, 203, 63, 754, 755, 1118, + 757, 162, 759, 618, 761, 762, 57, 764, 162, 200, + 123, 199, 63, 639, 127, 36, 489, 490, 163, 164, + 493, 636, 495, 172, 497, 172, 499, 172, 117, 118, + 181, 182, 183, 184, 185, 180, 125, 179, 172, 128, + 129, 130, 131, 516, 659, 196, 197, 172, 172, 57, + 1177, 200, 172, 200, 172, 63, 175, 199, 203, 178, + 172, 174, 163, 164, 1004, 178, 200, 162, 181, 163, + 164, 172, 163, 164, 162, 200, 200, 1168, 172, 180, + 200, 172, 200, 1023, 197, 558, 180, 153, 200, 180, + 139, 659, 141, 206, 688, 1186, 162, 179, 179, 572, + 57, 179, 203, 162, 163, 175, 63, 196, 197, 203, + 180, 726, 203, 172, 10, 11, 742, 199, 199, 592, + 1175, 199, 722, 738, 739, 740, 741, 175, 175, 199, + 745, 1262, 180, 180, 749, 166, 167, 75, 166, 754, + 755, 79, 757, 175, 759, 1272, 761, 762, 180, 764, + 153, 199, 199, 176, 1285, 93, 94, 180, 1398, 162, + 98, 99, 100, 101, 162, 163, 1130, 199, 204, 153, + 738, 153, 57, 741, 172, 164, 172, 745, 162, 175, + 162, 172, 178, 203, 175, 205, 659, 178, 176, 176, + 176, 176, 180, 180, 180, 180, 176, 176, 176, 176, + 180, 180, 180, 180, 176, 176, 349, 173, 180, 180, + 163, 968, 969, 970, 166, 830, 359, 974, 166, 167, + 168, 169, 139, 140, 141, 139, 369, 1252, 1359, 162, + 106, 201, 202, 202, 204, 166, 167, 168, 1369, 164, + 1371, 1372, 166, 167, 168, 163, 1003, 35, 863, 35, + 865, 866, 199, 726, 1308, 52, 53, 54, 162, 175, + 202, 162, 199, 878, 179, 738, 739, 740, 741, 179, + 179, 179, 745, 888, 1238, 1402, 749, 179, 199, 179, + 179, 754, 755, 1338, 757, 179, 759, 179, 761, 762, + 179, 764, 179, 436, 437, 863, 199, 176, 866, 204, + 162, 162, 162, 198, 22, 162, 204, 204, 198, 175, + 453, 454, 455, 456, 457, 162, 204, 175, 204, 462, + 888, 1310, 197, 1454, 162, 132, 199, 204, 1459, 162, + 179, 1386, 199, 179, 179, 179, 179, 179, 179, 179, + 199, 162, 179, 199, 199, 199, 1477, 199, 21, 22, + 162, 199, 202, 968, 969, 970, 162, 43, 180, 974, + 199, 179, 197, 199, 1389, 199, 179, 199, 1499, 512, + 200, 1426, 198, 13, 199, 199, 179, 520, 172, 199, + 199, 172, 4, 162, 527, 1376, 202, 43, 1003, 200, + 863, 175, 865, 866, 199, 162, 155, 540, 10, 13, + 9, 42, 1028, 1428, 1368, 878, 205, 66, 162, 1373, + 8, 162, 162, 162, 1040, 888, 559, 560, 180, 1045, + 563, 199, 565, 198, 200, 199, 199, 199, 205, 1484, + 1187, 1422, 575, 576, 577, 578, 579, 580, 172, 200, + 179, 199, 115, 116, 117, 118, 119, 199, 179, 122, + 1, 1066, 125, 199, 127, 128, 129, 130, 131, 199, + 133, 134, 605, 606, 199, 162, 609, 610, 611, 612, + 199, 614, 199, 616, 617, 618, 619, 620, 621, 622, + 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, + 633, 634, 635, 1457, 637, 968, 969, 970, 1066, 199, + 180, 974, 180, 180, 162, 162, 179, 180, 181, 182, + 183, 184, 185, 14, 175, 199, 1480, 155, 21, 22, + 173, 37, 173, 196, 197, 199, 67, 199, 199, 199, + 1003, 43, 180, 180, 203, 1161, 679, 1163, 200, 682, + 200, 180, 205, 1169, 687, 200, 689, 199, 180, 180, + 200, 180, 180, 180, 200, 180, 200, 21, 22, 180, + 179, 43, 199, 205, 200, 199, 1160, 162, 162, 199, + 205, 162, 1187, 199, 1189, 199, 180, 200, 180, 199, + 723, 180, 200, 180, 1210, 162, 729, 180, 199, 162, + 162, 1185, 199, 1066, 162, 162, 204, 33, 199, 205, + 180, 744, 70, 199, 180, 162, 137, 199, 12, 180, + 200, 199, 199, 199, 117, 118, 199, 162, 1375, 200, + 199, 1189, 125, 205, 127, 128, 129, 130, 131, 199, + 773, 200, 172, 199, 777, 199, 53, 200, 203, 200, + 1266, 203, 200, 786, 787, 200, 199, 203, 200, 203, + 200, 115, 116, 117, 118, 203, 200, 800, 200, 205, + 199, 125, 200, 127, 128, 129, 130, 131, 200, 133, + 134, 200, 198, 198, 581, 78, 1, 42, 1293, 1305, + 183, 184, 185, 128, 81, 1500, 1367, 220, 671, 100, + 671, 1330, 1286, 196, 197, 1367, 1367, 1367, 1367, 1, + 843, 1327, 1283, 1233, 847, 1317, 1122, 478, 1334, 1236, + 1304, 525, 1306, 1307, 1187, 1318, 1189, 181, 182, 183, + 184, 185, 51, 1118, 943, 1293, 943, 418, 418, 334, + 1386, -1, 196, 197, -1, -1, -1, -1, -1, -1, + 883, -1, -1, -1, -1, -1, -1, 890, 891, -1, + -1, 894, -1, -1, -1, -1, -1, -1, -1, 902, + 1375, -1, -1, 35, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, + 933, 934, 935, 936, 937, 938, 939, 940, -1, 71, + -1, 73, -1, 75, 76, 77, 78, 79, 951, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 1293, 93, 94, 95, 1418, -1, 98, 99, 100, 101, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 117, 118, -1, -1, -1, + -1, -1, -1, -1, -1, 1449, -1, -1, 1001, 1002, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1012, + 1013, 1014, 1345, 1016, -1, -1, -1, -1, -1, -1, + -1, -1, 1025, -1, 1027, -1, 1029, 21, 22, -1, + 162, -1, 1035, -1, -1, -1, 1039, -1, -1, -1, + -1, -1, 1375, 1497, 1047, -1, -1, -1, -1, 10, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 21, 22, -1, -1, 1397, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1083, -1, -1, -1, -1, 1088, 1089, -1, 1091, 1092, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1117, -1, -1, -1, -1, -1, + -1, 115, 116, 117, 118, 119, 1129, -1, 122, 123, + 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, + 134, -1, -1, -1, -1, 1148, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, 144, 145, 179, 180, 181, 182, 183, + 184, 185, 1195, -1, 1197, -1, -1, -1, -1, 1202, + -1, -1, 196, 197, -1, -1, -1, -1, -1, -1, + -1, -1, 173, 174, 1217, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 19, -1, -1, -1, -1, + -1, 25, -1, -1, -1, 196, 197, 31, -1, -1, + -1, 1244, -1, -1, -1, -1, -1, 41, -1, -1, + -1, 1254, 1255, 1256, -1, 49, -1, -1, 1261, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 64, -1, 1275, 1276, 1277, -1, -1, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1330, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 138, 1348, 1349, -1, -1, -1, + -1, -1, -1, 1356, -1, -1, -1, 151, -1, -1, + -1, -1, -1, -1, 1367, -1, -1, -1, 162, -1, + 1373, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1383, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1394, -1, -1, -1, 1398, -1, -1, -1, -1, + -1, 1404, -1, -1, -1, -1, -1, 201, -1, -1, + -1, -1, 206, -1, -1, -1, -1, -1, -1, -1, + 1423, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1442, + -1, -1, 1445, 1446, -1, -1, -1, -1, -1, -1, + -1, -1, 1, 1456, -1, -1, 5, 6, 7, -1, + 9, 10, 11, -1, 13, -1, 15, 16, 17, 18, + 19, -1, -1, -1, -1, 1478, 25, 26, 27, 28, + 29, -1, 31, -1, 1487, -1, -1, -1, -1, 38, + 39, -1, -1, 42, -1, 44, 45, -1, -1, 48, + -1, 50, 51, 52, -1, 54, 55, -1, -1, 58, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 68, + 69, -1, 71, 72, 73, -1, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, -1, 93, 94, 95, -1, -1, 98, + 99, 100, 101, 102, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 117, 118, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, -1, 146, 147, 148, + 149, 150, -1, 152, -1, 154, 155, 156, 157, 158, + 159, 160, 161, 162, -1, 164, 165, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 181, 182, 183, -1, 185, -1, -1, 188, + 189, -1, -1, -1, -1, -1, -1, -1, 197, -1, + 199, -1, 201, 202, 203, 204, 205, 1, -1, -1, + -1, 5, 6, 7, -1, 9, 10, 11, -1, 13, + -1, 15, 16, 17, 18, 19, -1, -1, -1, -1, + -1, 25, 26, 27, 28, 29, -1, 31, -1, -1, + -1, -1, -1, -1, 38, 39, -1, -1, 42, -1, + 44, 45, -1, -1, 48, -1, 50, 51, 52, -1, + 54, 55, -1, -1, 58, 59, -1, -1, -1, -1, + -1, 65, -1, -1, 68, 69, -1, 71, 72, 73, + -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, -1, 93, + 94, 95, -1, -1, 98, 99, 100, 101, 102, 103, + 104, 105, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 117, 118, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, + -1, -1, 146, 147, 148, 149, 150, -1, 152, -1, + 154, 155, 156, 157, 158, 159, 160, 161, 162, -1, + 164, 165, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 181, 182, 183, + -1, 185, -1, -1, 188, 189, -1, -1, -1, -1, + -1, -1, -1, 197, -1, 199, -1, 201, 202, 203, + 204, 205, 1, -1, -1, -1, 5, 6, 7, -1, + 9, 10, 11, -1, 13, -1, 15, 16, 17, 18, + 19, -1, -1, -1, -1, -1, 25, 26, 27, 28, + 29, -1, 31, -1, -1, -1, -1, -1, -1, 38, + 39, -1, -1, 42, -1, 44, 45, -1, -1, 48, + -1, 50, 51, 52, -1, 54, 55, -1, -1, 58, + 59, -1, -1, -1, -1, -1, 65, -1, -1, 68, + 69, -1, 71, 72, 73, -1, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, -1, 93, 94, 95, -1, -1, 98, + 99, 100, 101, 102, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 117, 118, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, + -1, -1, -1, -1, -1, -1, -1, 146, 147, 148, + 149, 150, -1, 152, -1, 154, 155, 156, 157, 158, + 159, 160, 161, 162, -1, 164, 165, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 181, 182, 183, -1, 185, -1, -1, 188, + 189, -1, -1, -1, -1, -1, -1, -1, 197, -1, + 199, -1, 201, 202, 203, 204, 205, 5, 6, -1, + -1, -1, -1, -1, -1, -1, -1, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, 26, 27, + 28, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, 52, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, 105, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, -1, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, 200, 201, 202, 13, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, 49, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, -1, 201, 202, 13, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, 49, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, -1, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, -1, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + 198, 199, -1, 201, 202, 13, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, -1, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + 198, 199, -1, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, 22, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, -1, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 839, -1, -1, -1, 843, -1, -1, 1441, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1337, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 877, 21, - 22, -1, -1, -1, -1, 884, 885, -1, -1, 888, - -1, -1, -1, -1, 1367, 1489, -1, 896, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, 200, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1389, -1, 917, 918, - 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, - 929, 930, 931, 932, 933, 934, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 945, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, -1, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, 61, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 115, 116, 117, 118, 119, -1, -1, - 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, - -1, 133, 134, -1, -1, -1, 995, 996, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1006, 1007, 1008, - -1, 1010, -1, -1, -1, -1, -1, -1, -1, -1, - 1019, -1, 1021, -1, 1023, -1, -1, -1, -1, -1, - 1029, -1, -1, -1, 1033, 177, 178, 179, 180, 181, - 182, 183, 1041, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 194, 195, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1075, -1, -1, -1, - -1, 1080, 1081, -1, 1083, 1084, -1, -1, -1, -1, - -1, -1, -1, 19, -1, -1, -1, -1, -1, 25, - -1, -1, -1, -1, -1, 31, -1, -1, -1, -1, - 1109, -1, -1, -1, -1, 41, -1, -1, -1, -1, - -1, -1, 1121, 49, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 64, -1, - -1, 1140, -1, -1, -1, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1187, -1, - 1189, -1, -1, -1, -1, 1194, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1209, -1, 138, -1, -1, -1, -1, -1, -1, -1, - -1, 21, 22, -1, -1, 151, -1, -1, -1, 19, - -1, -1, -1, -1, -1, 25, 162, 1236, -1, -1, - -1, 31, -1, -1, -1, -1, -1, 1246, 1247, 1248, - -1, 41, -1, -1, 1253, -1, -1, -1, -1, 49, - -1, -1, -1, -1, -1, -1, -1, -1, 1267, 1268, - 1269, -1, -1, 199, 64, -1, -1, -1, 204, -1, - -1, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, -1, 115, 116, 117, 118, 119, - -1, -1, 122, 1322, -1, 125, -1, 127, 128, 129, - 130, 131, -1, 133, 134, -1, -1, -1, -1, -1, - -1, 1340, 1341, -1, -1, -1, -1, -1, 138, 1348, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1359, 151, -1, -1, -1, -1, 1365, -1, -1, -1, - -1, -1, 162, -1, -1, -1, 1375, 177, 178, 179, - 180, 181, 182, 183, -1, -1, -1, 1386, -1, -1, - -1, 1390, -1, -1, 194, 195, -1, 1396, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 199, - -1, 201, -1, -1, -1, -1, 1415, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1434, -1, -1, 1437, 1438, - -1, -1, -1, -1, -1, -1, -1, -1, 1, 1448, - -1, -1, 5, 6, 7, -1, 9, 10, 11, -1, - 13, -1, 15, 16, 17, 18, 19, -1, -1, -1, - -1, 1470, 25, 26, 27, 28, 29, -1, 31, -1, - 1479, -1, -1, -1, -1, 38, 39, -1, -1, 42, - -1, 44, 45, -1, -1, 48, -1, 50, 51, 52, - -1, 54, 55, -1, -1, 58, 59, -1, -1, -1, - -1, -1, 65, -1, -1, 68, 69, -1, 71, 72, - 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, -1, - 93, 94, 95, -1, -1, 98, 99, 100, 101, 102, - 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 117, 118, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, - -1, -1, -1, 146, 147, 148, 149, 150, -1, 152, - -1, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 179, 180, 181, -1, - 183, -1, -1, 186, 187, -1, -1, -1, -1, -1, - -1, -1, 195, -1, 197, -1, 199, 200, 201, 202, - 203, 1, -1, -1, -1, 5, 6, 7, -1, 9, - 10, 11, -1, 13, -1, 15, 16, 17, 18, 19, - -1, -1, -1, -1, -1, 25, 26, 27, 28, 29, - -1, 31, -1, -1, -1, -1, -1, -1, 38, 39, - -1, -1, 42, -1, 44, 45, -1, -1, 48, -1, - 50, 51, 52, -1, 54, 55, -1, -1, 58, 59, - -1, -1, -1, -1, -1, 65, -1, -1, 68, 69, - -1, 71, 72, 73, -1, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, -1, -1, 98, 99, - 100, 101, 102, 103, 104, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 117, 118, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, - -1, -1, -1, -1, -1, -1, 146, 147, 148, 149, - 150, -1, 152, -1, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 179, - 180, 181, -1, 183, -1, -1, 186, 187, -1, -1, - -1, -1, -1, -1, -1, 195, -1, 197, -1, 199, - 200, 201, 202, 203, 1, -1, -1, -1, 5, 6, - 7, -1, 9, 10, 11, -1, 13, -1, 15, 16, - 17, 18, 19, -1, -1, -1, -1, -1, 25, 26, - 27, 28, 29, -1, 31, -1, -1, -1, -1, -1, - -1, 38, 39, -1, -1, 42, -1, 44, 45, -1, - -1, 48, -1, 50, 51, 52, -1, 54, 55, -1, - -1, 58, 59, -1, -1, -1, -1, -1, 65, -1, - -1, 68, 69, -1, 71, 72, 73, -1, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, -1, - -1, 98, 99, 100, 101, 102, 103, 104, 105, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, -1, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + 58, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, - 147, 148, 149, 150, -1, 152, -1, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 179, 180, 181, -1, 183, -1, -1, 186, - 187, -1, -1, -1, -1, -1, -1, -1, 195, -1, - 197, -1, 199, 200, 201, 202, 203, 5, 6, -1, - -1, -1, -1, -1, -1, -1, -1, 15, 16, 17, - 18, 19, -1, -1, -1, -1, -1, 25, 26, 27, - 28, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, -1, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, - 48, -1, -1, 51, 52, -1, -1, 55, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, - 98, 99, 100, 101, 102, 103, 104, 105, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, 126, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, -1, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 179, 180, 181, -1, 183, -1, -1, 186, 187, - -1, -1, -1, -1, -1, 5, 6, 195, -1, 197, - -1, 199, 200, -1, 202, 15, 16, 17, 18, 19, - -1, -1, -1, -1, -1, 25, -1, 27, -1, -1, - -1, 31, -1, -1, -1, -1, -1, -1, -1, 39, - -1, -1, -1, -1, -1, 45, -1, -1, 48, -1, - -1, 51, -1, -1, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 65, -1, -1, 68, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, -1, -1, 98, 99, - 100, 101, 102, 103, 104, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 117, 118, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, - -1, -1, -1, -1, -1, -1, 146, 147, 148, 149, - 150, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 179, - 180, 181, -1, 183, -1, -1, 186, 187, -1, -1, - -1, -1, -1, 5, 6, 195, -1, 197, 198, 199, - 200, 13, 202, 15, 16, 17, 18, 19, -1, -1, - -1, -1, -1, 25, -1, 27, -1, -1, -1, 31, - -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, - -1, -1, -1, 45, -1, -1, 48, 49, -1, 51, - -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 65, -1, -1, 68, 69, -1, 71, - 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, -1, -1, 98, 99, 100, 101, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 117, 118, -1, -1, -1, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, - -1, -1, -1, -1, 146, 147, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, - -1, 183, -1, -1, 186, 187, -1, -1, -1, -1, - -1, 5, 6, 195, -1, 197, -1, 199, 200, 13, - 202, 15, 16, 17, 18, 19, -1, -1, -1, -1, - -1, 25, -1, 27, -1, -1, -1, 31, -1, -1, - -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, - -1, 45, -1, -1, 48, 49, -1, 51, -1, -1, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, 68, 69, -1, 71, 72, 73, - -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, -1, 93, - 94, 95, -1, -1, 98, 99, 100, 101, 102, 103, - 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 117, 118, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, 200, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, - -1, -1, 146, 147, 148, 149, 150, -1, 152, -1, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 179, 180, 181, -1, 183, - -1, -1, 186, 187, -1, -1, -1, -1, -1, 5, - 6, 195, -1, 197, -1, 199, 200, -1, 202, 15, - 16, 17, 18, 19, -1, -1, -1, -1, -1, 25, - -1, 27, -1, -1, -1, 31, -1, -1, -1, -1, - -1, -1, -1, 39, -1, -1, -1, -1, -1, 45, - -1, -1, 48, -1, -1, 51, -1, -1, -1, 55, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - -1, -1, 98, 99, 100, 101, 102, 103, 104, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, - 146, 147, 148, 149, 150, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 179, 180, 181, -1, 183, -1, -1, - 186, 187, -1, -1, -1, -1, -1, 5, 6, 195, - -1, 197, -1, 199, 200, -1, 202, 15, 16, 17, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, 200, 201, 202, -1, 204, 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, @@ -3205,86 +3385,49 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 179, 180, 181, -1, 183, -1, -1, 186, 187, - -1, -1, -1, -1, -1, 5, 6, 195, 196, 197, - -1, 199, 200, 13, 202, 15, 16, 17, 18, 19, - -1, -1, -1, -1, -1, 25, -1, 27, -1, -1, - -1, 31, -1, -1, -1, -1, -1, -1, -1, 39, - -1, -1, -1, -1, -1, 45, -1, -1, 48, -1, - -1, 51, -1, -1, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 65, -1, -1, 68, 69, - -1, 71, 72, 73, -1, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, -1, -1, 98, 99, - 100, 101, 102, 103, 104, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 117, 118, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, - -1, -1, -1, -1, -1, -1, 146, 147, 148, 149, - 150, -1, 152, -1, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 179, - 180, 181, -1, 183, -1, -1, 186, 187, -1, -1, - -1, -1, -1, 5, 6, 195, -1, 197, -1, 199, - 200, -1, 202, 15, 16, 17, 18, 19, -1, -1, - -1, -1, -1, 25, -1, 27, -1, -1, -1, 31, - -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, - -1, -1, -1, 45, -1, -1, 48, -1, -1, 51, - -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 65, -1, -1, 68, 69, -1, 71, - 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, -1, -1, 98, 99, 100, 101, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 117, 118, -1, -1, -1, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, - -1, -1, -1, -1, 146, 147, 148, 149, 150, -1, - 152, -1, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, - -1, 183, -1, -1, 186, 187, -1, -1, -1, -1, - -1, 5, 6, 195, 196, 197, -1, 199, 200, -1, - 202, 15, 16, 17, 18, 19, -1, -1, 22, -1, - -1, 25, -1, 27, -1, -1, -1, 31, -1, -1, - -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, - -1, 45, -1, -1, 48, -1, -1, 51, -1, -1, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, 68, 69, -1, 71, 72, 73, - -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, -1, 93, - 94, 95, -1, -1, 98, 99, 100, 101, 102, 103, - 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 117, 118, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, 200, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, - -1, -1, 146, 147, 148, 149, 150, -1, 152, -1, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 179, 180, 181, -1, 183, - -1, -1, 186, 187, -1, -1, -1, -1, -1, 5, - 6, 195, -1, 197, -1, 199, 200, -1, 202, 15, - 16, 17, 18, 19, -1, -1, -1, -1, -1, 25, - -1, 27, -1, -1, -1, 31, -1, -1, -1, -1, - -1, -1, -1, 39, -1, -1, -1, -1, -1, 45, - -1, -1, 48, -1, -1, 51, -1, -1, -1, 55, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, -1, 71, 72, 73, -1, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - -1, -1, 98, 99, 100, 101, 102, 103, 104, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, - 146, 147, 148, 149, 150, -1, 152, -1, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 179, 180, 181, -1, 183, -1, -1, - 186, 187, -1, -1, -1, -1, -1, 5, 6, 195, - -1, 197, 198, 199, 200, -1, 202, 15, 16, 17, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, 200, 201, 202, -1, 204, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, + 48, -1, -1, 51, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, + 68, 69, -1, 71, 72, 73, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, -1, 93, 94, 95, -1, -1, + 98, 99, 100, 101, 102, 103, 104, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, 200, 201, 202, -1, 204, 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, @@ -3299,86 +3442,11 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 179, 180, 181, -1, 183, -1, -1, 186, 187, - -1, -1, -1, -1, -1, 5, 6, 195, -1, 197, - -1, 199, 200, -1, 202, 15, 16, 17, 18, 19, - -1, -1, -1, -1, -1, 25, -1, 27, -1, -1, - -1, 31, -1, -1, -1, -1, -1, -1, -1, 39, - -1, -1, -1, -1, -1, 45, -1, -1, 48, -1, - -1, 51, -1, -1, -1, 55, -1, -1, -1, -1, - -1, 61, -1, -1, -1, 65, -1, -1, 68, 69, - -1, 71, 72, 73, -1, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, -1, -1, 98, 99, - 100, 101, 102, 103, 104, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 117, 118, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, - -1, -1, -1, -1, -1, -1, 146, 147, 148, 149, - 150, -1, 152, -1, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 179, - 180, 181, -1, 183, -1, -1, 186, 187, -1, -1, - -1, -1, -1, 5, 6, 195, -1, 197, -1, 199, - 200, -1, 202, 15, 16, 17, 18, 19, -1, -1, - -1, -1, -1, 25, -1, 27, -1, -1, -1, 31, - -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, - -1, -1, -1, 45, -1, -1, 48, -1, -1, 51, - -1, -1, -1, 55, -1, -1, 58, -1, -1, -1, - -1, -1, -1, 65, -1, -1, 68, 69, -1, 71, - 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, -1, -1, 98, 99, 100, 101, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 117, 118, -1, -1, -1, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, - -1, -1, -1, -1, 146, 147, 148, 149, 150, -1, - 152, -1, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, - -1, 183, -1, -1, 186, 187, -1, -1, -1, -1, - -1, 5, 6, 195, -1, 197, -1, 199, 200, -1, - 202, 15, 16, 17, 18, 19, -1, -1, -1, -1, - -1, 25, -1, 27, -1, -1, -1, 31, -1, -1, - -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, - -1, 45, -1, -1, 48, -1, -1, 51, -1, -1, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, 68, 69, -1, 71, 72, 73, - -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, -1, 93, - 94, 95, -1, -1, 98, 99, 100, 101, 102, 103, - 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 117, 118, -1, -1, -1, -1, -1, - -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, - -1, -1, 146, 147, 148, 149, 150, -1, 152, -1, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 179, 180, 181, -1, 183, - -1, -1, 186, 187, -1, -1, -1, -1, -1, 5, - 6, 195, -1, 197, -1, 199, 200, -1, 202, 15, - 16, 17, 18, 19, -1, -1, -1, -1, -1, 25, - -1, 27, -1, -1, -1, 31, -1, -1, -1, -1, - -1, -1, -1, 39, -1, -1, -1, -1, -1, 45, - -1, -1, 48, -1, -1, 51, -1, -1, -1, 55, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, -1, 71, 72, 73, -1, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - -1, -1, 98, 99, 100, 101, 102, 103, 104, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, - 146, 147, 148, 149, 150, -1, 152, -1, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 179, 180, 181, -1, 183, -1, -1, - 186, 187, -1, -1, -1, -1, -1, 5, 6, 195, - -1, 197, 198, 199, 200, -1, 202, 15, 16, 17, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, -1, 201, 202, -1, 204, 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, @@ -3393,86 +3461,11 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 179, 180, 181, -1, 183, -1, -1, 186, 187, - -1, -1, -1, -1, -1, 5, 6, 195, -1, 197, - 198, 199, 200, -1, 202, 15, 16, 17, 18, 19, - -1, -1, -1, -1, -1, 25, -1, 27, -1, -1, - -1, 31, -1, -1, -1, -1, -1, -1, -1, 39, - -1, -1, -1, -1, -1, 45, -1, -1, 48, -1, - -1, 51, -1, -1, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 65, -1, -1, 68, 69, - -1, 71, 72, 73, -1, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, -1, -1, 98, 99, - 100, 101, 102, 103, 104, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 117, 118, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, - -1, -1, -1, -1, -1, -1, 146, 147, 148, 149, - 150, -1, 152, -1, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 179, - 180, 181, -1, 183, -1, -1, 186, 187, -1, -1, - -1, -1, -1, 5, 6, 195, -1, 197, 198, 199, - 200, -1, 202, 15, 16, 17, 18, 19, -1, -1, - -1, -1, -1, 25, -1, 27, -1, -1, -1, 31, - -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, - -1, -1, -1, 45, -1, -1, 48, -1, -1, 51, - -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 65, -1, -1, 68, 69, -1, 71, - 72, 73, -1, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, -1, -1, 98, 99, 100, 101, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 117, 118, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, - -1, -1, -1, -1, 146, 147, 148, 149, 150, -1, - 152, -1, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 179, 180, 181, - -1, 183, -1, -1, 186, 187, -1, -1, -1, -1, - -1, 5, 6, 195, -1, 197, 198, 199, 200, -1, - 202, 15, 16, 17, 18, 19, -1, -1, -1, -1, - -1, 25, -1, 27, -1, -1, -1, 31, -1, -1, - -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, - -1, 45, -1, -1, 48, -1, -1, 51, -1, -1, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, 68, 69, -1, 71, 72, 73, - -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, -1, 93, - 94, 95, -1, -1, 98, 99, 100, 101, 102, 103, - 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 117, 118, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, -1, -1, 165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, - -1, -1, 146, 147, 148, 149, 150, -1, 152, -1, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 179, 180, 181, -1, 183, - -1, -1, 186, 187, -1, -1, -1, -1, -1, 5, - 6, 195, -1, 197, 198, 199, 200, -1, 202, 15, - 16, 17, 18, 19, -1, -1, -1, -1, -1, 25, - -1, 27, -1, -1, -1, 31, -1, -1, -1, -1, - -1, -1, -1, 39, -1, -1, -1, -1, -1, 45, - -1, -1, 48, -1, -1, 51, -1, -1, -1, 55, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - -1, -1, 68, 69, -1, 71, 72, 73, -1, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - -1, -1, 98, 99, 100, 101, 102, 103, 104, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, - 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, - 146, 147, 148, 149, 150, -1, 152, -1, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 179, 180, 181, -1, 183, -1, -1, - 186, 187, -1, -1, -1, -1, -1, 5, 6, 195, - -1, 197, -1, 199, 200, -1, 202, 15, 16, 17, + -1, -1, -1, 181, 182, 183, -1, 185, -1, -1, + 188, 189, -1, -1, -1, -1, -1, 5, 6, 197, + -1, 199, -1, 201, 202, -1, 204, 15, 16, 17, 18, 19, -1, -1, -1, -1, -1, 25, -1, 27, -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, -1, @@ -3487,883 +3480,846 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, 146, 147, 148, 149, 150, -1, 152, -1, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 179, 180, 181, -1, 183, -1, -1, 186, 187, - -1, -1, -1, -1, -1, 5, 6, 195, -1, 197, - -1, 199, 200, -1, 202, 15, 16, 17, 18, 19, - -1, -1, -1, -1, -1, 25, -1, 27, -1, -1, - -1, 31, -1, -1, -1, -1, -1, -1, -1, 39, - -1, -1, -1, -1, -1, 45, -1, -1, 48, -1, - -1, 51, -1, -1, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 65, -1, -1, 68, 69, - -1, 71, 72, 73, -1, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, -1, -1, 98, 99, - 100, 101, 102, 103, 104, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 117, 118, 21, - 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, - -1, -1, -1, -1, -1, -1, 146, 147, 148, 149, - 150, -1, 152, -1, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 179, - 180, 181, -1, 183, -1, -1, 186, 187, -1, -1, - -1, -1, -1, -1, -1, 195, -1, 197, -1, 199, - 200, -1, 202, -1, -1, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, -1, -1, 139, 140, 141, - 142, 143, 144, 145, -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, 171, - 172, -1, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 19, -1, -1, -1, -1, -1, 25, -1, - -1, -1, 194, 195, 31, -1, -1, -1, -1, 201, - -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, + 158, 159, 160, 161, 162, -1, 19, 165, -1, -1, + -1, -1, 25, -1, -1, -1, -1, -1, 31, -1, + -1, -1, -1, 181, 182, 183, -1, 185, 41, -1, + 188, 189, -1, -1, -1, -1, 49, -1, -1, 197, + -1, 199, -1, 201, 202, -1, 204, -1, -1, -1, + -1, 64, -1, -1, -1, -1, -1, -1, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 19, -1, -1, -1, -1, -1, 25, -1, -1, -1, + -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 41, -1, -1, 138, -1, -1, -1, -1, + 49, -1, -1, -1, -1, -1, -1, -1, 151, -1, + -1, -1, -1, -1, -1, 64, -1, -1, -1, 162, + -1, 164, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, -1, -1, -1, 201, -1, + 203, -1, 19, -1, -1, 21, 22, -1, 25, -1, + -1, -1, -1, -1, 31, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 41, -1, -1, -1, -1, 138, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, - -1, -1, -1, -1, 71, 72, 73, 74, 75, 76, + -1, -1, 151, -1, -1, -1, -1, 64, -1, -1, + -1, -1, -1, 162, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, -1, -1, -1, - 21, 22, -1, -1, 19, -1, -1, -1, -1, -1, - 25, -1, -1, -1, -1, -1, 31, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, - -1, 138, -1, -1, 49, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 151, -1, -1, -1, -1, 64, - -1, -1, -1, -1, -1, 162, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, -1, - -1, -1, 199, -1, 115, 116, 117, 118, 119, 21, - 22, 122, 123, 124, 125, -1, 127, 128, 129, 130, + -1, -1, 201, -1, 21, 22, -1, -1, -1, 115, + 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, + -1, 127, 128, 129, 130, 131, -1, 133, 134, -1, + -1, 138, -1, 139, 140, 141, -1, -1, -1, 145, + -1, -1, -1, -1, 151, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 162, -1, -1, 164, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 174, -1, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, + 196, 197, -1, -1, 201, -1, -1, 203, 115, 116, + 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, + 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, + -1, -1, 139, 140, 141, -1, -1, -1, 145, -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, 174, -1, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, -1, + 21, 22, -1, -1, -1, -1, -1, -1, -1, 196, + 197, 115, 116, 117, 118, 119, 203, -1, 122, 123, + 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, + 134, -1, -1, -1, -1, 139, 140, 141, -1, -1, + -1, 145, -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, + 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, -1, 21, 22, -1, -1, -1, -1, -1, + -1, -1, 196, 197, 115, 116, 117, 118, 119, 203, + -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, 139, 140, - 141, -1, -1, 138, 145, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 151, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 162, -1, -1, - -1, 172, -1, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 194, 195, -1, -1, -1, -1, -1, - 201, -1, -1, -1, 199, -1, 21, 22, -1, -1, - -1, -1, -1, 115, 116, 117, 118, 119, -1, -1, + 141, -1, -1, -1, 145, -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, 19, 174, -1, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, -1, -1, -1, -1, 21, + 22, -1, -1, -1, -1, 196, 197, 115, 116, 117, + 118, 119, 203, -1, 122, 123, 124, 125, -1, 127, + 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, + -1, 139, 140, 141, 71, 72, 73, 145, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, -1, 93, 94, 95, -1, + -1, 98, 99, 100, 101, -1, 174, -1, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, -1, -1, + -1, -1, -1, -1, -1, 21, 22, -1, 196, 197, + -1, -1, 200, 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, - -1, 133, 134, -1, -1, -1, -1, 139, 140, 141, - -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, + -1, 133, 134, -1, -1, -1, 153, 139, 140, 141, + -1, -1, -1, 145, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 172, -1, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, -1, -1, -1, -1, -1, 21, 22, -1, - -1, -1, 194, 195, -1, -1, -1, -1, -1, 201, - 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, - 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, - -1, -1, -1, -1, 139, 140, 141, -1, -1, -1, - 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 174, -1, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, -1, -1, -1, -1, -1, -1, + -1, 21, 22, -1, 196, 197, -1, -1, 200, 115, + 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, + -1, 127, 128, 129, 130, 131, -1, 133, 134, -1, + -1, -1, -1, 139, 140, 141, -1, -1, -1, 145, + -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, 174, -1, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, + 196, 197, -1, -1, 200, 115, 116, 117, 118, 119, + -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, + 130, 131, -1, 133, 134, -1, -1, -1, -1, 139, + 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 172, -1, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, - -1, -1, -1, -1, 21, 22, -1, -1, -1, 194, - 195, 115, 116, 117, 118, 119, 201, -1, 122, 123, + -1, -1, -1, -1, 174, -1, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, -1, -1, -1, -1, + -1, -1, -1, 21, 22, -1, 196, 197, -1, -1, + 200, 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, 139, 140, 141, -1, -1, -1, 145, -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, 172, -1, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, - 194, 195, -1, -1, -1, -1, -1, 201, 115, 116, - 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, - 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, - -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, -1, -1, -1, -1, -1, -1, -1, 21, + 22, -1, 196, 197, -1, -1, 200, 115, 116, 117, + 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, + 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, + -1, 139, 140, 141, -1, -1, -1, 145, -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, 174, -1, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, -1, -1, + -1, -1, -1, -1, -1, 21, 22, -1, 196, 197, + -1, -1, 200, 115, 116, 117, 118, 119, -1, -1, + 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, + -1, 133, 134, -1, -1, -1, -1, 139, 140, 141, + -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 172, -1, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, -1, -1, -1, - -1, -1, 21, 22, -1, -1, -1, 194, 195, 115, - 116, 117, 118, 119, 201, -1, 122, 123, 124, 125, + -1, -1, 174, -1, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, -1, -1, -1, -1, -1, -1, + -1, 21, 22, -1, 196, 197, -1, -1, 200, 115, + 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, 139, 140, 141, -1, -1, -1, 145, -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, 172, -1, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, -1, -1, - -1, -1, -1, -1, -1, -1, 21, 22, 194, 195, - -1, -1, -1, -1, -1, 201, 115, 116, 117, 118, - 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, - 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, - 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 174, -1, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, + 196, 197, -1, -1, 200, 115, 116, 117, 118, 119, + -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, + 130, 131, -1, 133, 134, -1, -1, -1, -1, 139, + 140, 141, -1, -1, -1, 145, -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, 172, -1, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, -1, -1, -1, -1, -1, - 21, 22, -1, -1, -1, 194, 195, -1, -1, 198, - 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, - 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, - -1, -1, -1, -1, 139, 140, 141, -1, -1, -1, - 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 174, -1, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, -1, -1, -1, -1, + -1, -1, -1, 21, 22, -1, 196, 197, -1, -1, + 200, 115, 116, 117, 118, 119, -1, -1, 122, 123, + 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, + 134, -1, -1, -1, -1, 139, 140, 141, -1, -1, + -1, 145, -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, 172, -1, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, - -1, -1, -1, -1, 21, 22, -1, -1, -1, 194, - 195, -1, -1, 198, 115, 116, 117, 118, 119, -1, - -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, - 131, -1, 133, 134, -1, -1, -1, -1, 139, 140, - 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, -1, -1, -1, -1, -1, -1, -1, 21, + 22, -1, 196, 197, -1, -1, 200, 115, 116, 117, + 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, + 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, + -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 172, -1, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, -1, -1, -1, -1, -1, 21, 22, - -1, -1, -1, 194, 195, -1, -1, 198, 115, 116, - 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, - 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, - -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 174, -1, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, -1, -1, + -1, -1, -1, -1, -1, 21, 22, -1, 196, 197, + -1, -1, 200, 115, 116, 117, 118, 119, -1, -1, + 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, + -1, 133, 134, -1, -1, -1, -1, 139, 140, 141, + -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 172, -1, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, -1, -1, -1, - -1, -1, 21, 22, -1, -1, -1, 194, 195, -1, - -1, 198, 115, 116, 117, 118, 119, -1, -1, 122, - 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, - 133, 134, -1, -1, -1, -1, 139, 140, 141, -1, - -1, -1, 145, -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, 172, - -1, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, -1, -1, -1, -1, -1, 21, 22, -1, -1, - -1, 194, 195, -1, -1, 198, 115, 116, 117, 118, - 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, - 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, - 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, + -1, -1, 174, -1, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, -1, -1, -1, -1, -1, -1, + -1, 21, 22, -1, 196, 197, -1, -1, 200, 115, + 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, + -1, 127, 128, 129, 130, 131, -1, 133, 134, -1, + -1, -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 172, -1, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, -1, -1, -1, -1, -1, - 21, 22, -1, -1, -1, 194, 195, -1, -1, 198, - 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, - 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, - -1, -1, -1, -1, 139, 140, 141, -1, -1, -1, - 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 174, -1, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, + 196, 197, -1, -1, 200, 115, 116, 117, 118, 119, + -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, + 130, 131, -1, 133, 134, -1, -1, -1, -1, 139, + 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 172, -1, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, - -1, -1, -1, -1, 21, 22, -1, -1, -1, 194, - 195, -1, -1, 198, 115, 116, 117, 118, 119, -1, - -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, - 131, -1, 133, 134, -1, -1, -1, -1, 139, 140, - 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 174, -1, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, -1, -1, -1, -1, + -1, -1, -1, 21, 22, -1, 196, 197, -1, -1, + 200, 115, 116, 117, 118, 119, -1, -1, 122, 123, + 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, + 134, -1, -1, -1, -1, 139, 140, 141, -1, -1, + -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 172, -1, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, -1, -1, -1, -1, -1, 21, 22, - -1, -1, -1, 194, 195, -1, -1, 198, 115, 116, - 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, - 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, - -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, -1, -1, -1, -1, -1, -1, -1, 21, + 22, -1, 196, 197, -1, -1, 200, 115, 116, 117, + 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, + 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, + -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 172, -1, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, -1, -1, -1, - -1, -1, 21, 22, -1, -1, -1, 194, 195, -1, - -1, 198, 115, 116, 117, 118, 119, -1, -1, 122, - 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, - 133, 134, -1, -1, -1, -1, 139, 140, 141, -1, - -1, -1, 145, -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, 172, - -1, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, -1, -1, -1, -1, -1, 21, 22, -1, -1, - -1, 194, 195, -1, -1, 198, 115, 116, 117, 118, - 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, - 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, - 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 174, -1, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, -1, -1, + -1, -1, -1, -1, -1, 21, 22, -1, 196, 197, + -1, -1, 200, 115, 116, 117, 118, 119, -1, -1, + 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, + -1, 133, 134, -1, -1, -1, -1, 139, 140, 141, + -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 172, -1, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, -1, -1, -1, -1, -1, - 21, 22, -1, -1, -1, 194, 195, -1, -1, 198, - 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, - 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, - -1, -1, -1, -1, 139, 140, 141, -1, -1, -1, - 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 174, -1, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, -1, -1, -1, -1, -1, -1, + -1, 21, 22, -1, 196, 197, -1, -1, 200, 115, + 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, + -1, 127, 128, 129, 130, 131, -1, 133, 134, -1, + -1, -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 172, -1, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, - -1, -1, -1, -1, 21, 22, -1, -1, -1, 194, - 195, -1, -1, 198, 115, 116, 117, 118, 119, -1, - -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, - 131, -1, 133, 134, -1, -1, -1, -1, 139, 140, - 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 174, -1, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, + 196, 197, -1, -1, 200, 115, 116, 117, 118, 119, + -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, + 130, 131, -1, 133, 134, -1, -1, -1, -1, 139, + 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 172, -1, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, -1, -1, -1, -1, -1, 21, 22, - -1, -1, -1, 194, 195, -1, -1, 198, 115, 116, - 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, - 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, - -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 174, -1, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, -1, -1, -1, -1, + -1, -1, -1, 21, 22, -1, 196, 197, -1, -1, + 200, 115, 116, 117, 118, 119, -1, -1, 122, 123, + 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, + 134, -1, -1, -1, -1, 139, 140, 141, -1, -1, + -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 172, -1, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, -1, -1, -1, - -1, -1, 21, 22, -1, -1, -1, 194, 195, -1, - -1, 198, 115, 116, 117, 118, 119, -1, -1, 122, - 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, - 133, 134, -1, -1, -1, -1, 139, 140, 141, -1, - -1, -1, 145, -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, 172, - -1, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, -1, -1, -1, -1, -1, 21, 22, -1, -1, - -1, 194, 195, -1, -1, 198, 115, 116, 117, 118, - 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, - 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, - 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, + 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, -1, -1, -1, -1, -1, -1, -1, 21, + 22, -1, 196, 197, -1, -1, 200, 115, 116, 117, + 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, + 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, + -1, 139, 140, 141, -1, -1, -1, 145, -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, 172, -1, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, -1, -1, -1, -1, -1, - 21, 22, -1, -1, -1, 194, 195, -1, -1, 198, - 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, - 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, - -1, -1, -1, -1, 139, 140, 141, -1, -1, -1, - 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 174, -1, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, -1, -1, + -1, -1, -1, -1, -1, 21, 22, -1, 196, 197, + -1, -1, 200, 115, 116, 117, 118, 119, -1, -1, + 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, + -1, 133, 134, -1, -1, -1, -1, 139, 140, 141, + -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 172, -1, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, - -1, -1, -1, -1, 21, 22, -1, -1, -1, 194, - 195, -1, -1, 198, 115, 116, 117, 118, 119, -1, - -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, - 131, -1, 133, 134, -1, -1, -1, -1, 139, 140, - 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 174, -1, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, -1, -1, -1, -1, -1, -1, + -1, 21, 22, -1, 196, 197, -1, -1, 200, 115, + 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, + -1, 127, 128, 129, 130, 131, -1, 133, 134, -1, + -1, -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 172, -1, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, -1, -1, -1, -1, -1, 21, 22, - -1, -1, -1, 194, 195, -1, -1, 198, 115, 116, - 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, - 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, - -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 174, -1, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, + 196, 197, -1, -1, 200, 115, 116, 117, 118, 119, + -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, + 130, 131, -1, 133, 134, -1, -1, -1, -1, 139, + 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 172, -1, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, -1, -1, -1, - -1, -1, 21, 22, -1, -1, -1, 194, 195, -1, - -1, 198, 115, 116, 117, 118, 119, -1, -1, 122, - 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, - 133, 134, -1, -1, -1, -1, 139, 140, 141, -1, - -1, -1, 145, -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, 172, - -1, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, -1, -1, -1, -1, -1, 21, 22, -1, -1, - -1, 194, 195, -1, -1, 198, 115, 116, 117, 118, - 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, - 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, - 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, + -1, -1, -1, -1, 174, -1, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, -1, -1, -1, -1, + -1, -1, -1, 21, 22, -1, 196, 197, -1, -1, + 200, 115, 116, 117, 118, 119, -1, -1, 122, 123, + 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, + 134, -1, -1, -1, -1, 139, 140, 141, -1, -1, + -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 172, -1, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, -1, -1, -1, -1, -1, - 21, 22, -1, -1, -1, 194, 195, -1, -1, 198, - 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, - 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, - -1, -1, -1, -1, 139, 140, 141, -1, -1, -1, - 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, -1, -1, -1, -1, -1, -1, -1, 21, + 22, -1, 196, 197, -1, -1, 200, 115, 116, 117, + 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, + 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, + -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 172, -1, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, - -1, -1, -1, -1, 21, 22, -1, -1, -1, 194, - 195, -1, -1, 198, 115, 116, 117, 118, 119, -1, - -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, - 131, -1, 133, 134, -1, -1, -1, -1, 139, 140, - 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 174, -1, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, -1, -1, + -1, -1, -1, -1, -1, 21, 22, -1, 196, 197, + -1, -1, 200, 115, 116, 117, 118, 119, -1, -1, + 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, + -1, 133, 134, -1, -1, -1, -1, 139, 140, 141, + -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 172, -1, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, -1, -1, -1, -1, -1, 21, 22, - -1, -1, -1, 194, 195, -1, -1, 198, 115, 116, - 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, - 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, - -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 174, -1, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, -1, -1, -1, -1, -1, -1, + -1, 21, 22, -1, 196, 197, -1, -1, 200, 115, + 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, + -1, 127, 128, 129, 130, 131, -1, 133, 134, -1, + -1, -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 172, -1, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, -1, -1, -1, - -1, -1, 21, 22, -1, -1, -1, 194, 195, -1, - -1, 198, 115, 116, 117, 118, 119, -1, -1, 122, - 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, - 133, 134, -1, -1, -1, -1, 139, 140, 141, -1, - -1, -1, 145, -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, 172, - -1, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, -1, -1, -1, -1, -1, 21, 22, -1, -1, - -1, 194, 195, -1, -1, 198, 115, 116, 117, 118, - 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, - 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, - 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 174, -1, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, + 196, 197, -1, -1, 200, 115, 116, 117, 118, 119, + -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, + 130, 131, -1, 133, 134, -1, -1, -1, -1, 139, + 140, 141, -1, -1, -1, 145, -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, 172, -1, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, -1, -1, -1, -1, -1, - 21, 22, -1, -1, -1, 194, 195, -1, -1, 198, - 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, - 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, - -1, -1, -1, -1, 139, 140, 141, -1, -1, -1, - 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 174, -1, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, -1, -1, -1, -1, + -1, -1, -1, 21, 22, -1, 196, 197, -1, -1, + 200, 115, 116, 117, 118, 119, -1, -1, 122, 123, + 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, + 134, -1, -1, -1, -1, 139, 140, 141, -1, -1, + -1, 145, -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, 172, -1, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, - -1, -1, -1, -1, 21, 22, -1, -1, -1, 194, - 195, -1, -1, 198, 115, 116, 117, 118, 119, -1, - -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, - 131, -1, 133, 134, -1, -1, -1, -1, 139, 140, - 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, -1, -1, -1, -1, -1, -1, -1, 21, + 22, -1, 196, 197, -1, -1, 200, 115, 116, 117, + 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, + 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, + -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 172, -1, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, -1, -1, -1, -1, -1, 21, 22, - -1, -1, -1, 194, 195, -1, -1, 198, 115, 116, - 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, - 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, - -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 174, -1, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, -1, -1, + -1, -1, -1, -1, -1, 21, 22, -1, 196, 197, + -1, -1, 200, 115, 116, 117, 118, 119, -1, -1, + 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, + -1, 133, 134, -1, -1, -1, -1, 139, 140, 141, + -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 172, -1, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, -1, -1, -1, - -1, -1, 21, 22, -1, -1, -1, 194, 195, -1, - -1, 198, 115, 116, 117, 118, 119, -1, -1, 122, - 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, - 133, 134, -1, -1, -1, -1, 139, 140, 141, -1, - -1, -1, 145, -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, 172, - -1, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, -1, -1, -1, -1, -1, 21, 22, -1, -1, - -1, 194, 195, -1, -1, 198, 115, 116, 117, 118, - 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, - 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, - 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, + -1, -1, 174, -1, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, -1, -1, -1, -1, -1, -1, + -1, 21, 22, -1, 196, 197, -1, -1, 200, 115, + 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, + -1, 127, 128, 129, 130, 131, -1, 133, 134, -1, + -1, -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 172, -1, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, -1, -1, -1, -1, -1, - 21, 22, -1, -1, -1, 194, 195, -1, -1, 198, - 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, - 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, - -1, -1, -1, -1, 139, 140, 141, -1, -1, -1, - 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 174, -1, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, + 196, 197, -1, -1, 200, 115, 116, 117, 118, 119, + -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, + 130, 131, -1, 133, 134, -1, -1, -1, -1, 139, + 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 172, -1, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, - -1, -1, -1, -1, 21, 22, -1, -1, -1, 194, - 195, -1, -1, 198, 115, 116, 117, 118, 119, -1, - -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, - 131, -1, 133, 134, -1, -1, -1, -1, 139, 140, - 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 174, -1, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, -1, -1, -1, -1, + -1, 21, 22, -1, -1, -1, 196, 197, -1, -1, + 200, 115, 116, 117, 118, 119, -1, -1, 122, 123, + 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, + 134, -1, -1, -1, -1, 139, 140, 141, -1, -1, + -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 172, -1, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, -1, -1, -1, -1, -1, 21, 22, - -1, -1, -1, 194, 195, -1, -1, 198, 115, 116, - 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, - 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, - -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, -1, -1, -1, 21, 22, -1, -1, -1, + -1, -1, 196, 197, 198, 115, 116, 117, 118, 119, + -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, + 130, 131, -1, 133, 134, -1, -1, -1, -1, 139, + 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 172, -1, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, -1, -1, -1, - 21, 22, -1, -1, -1, -1, -1, 194, 195, -1, - -1, 198, 115, 116, 117, 118, 119, -1, -1, 122, - 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, - 133, 134, -1, -1, -1, -1, 139, 140, 141, -1, - -1, -1, 145, -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, 172, - -1, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, -1, 21, 22, -1, -1, -1, -1, -1, -1, - -1, 194, 195, 196, 115, 116, 117, 118, 119, -1, - -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, - 131, -1, 133, 134, -1, -1, -1, -1, 139, 140, - 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 174, -1, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, -1, -1, -1, 21, + 22, -1, -1, -1, -1, -1, 196, 197, 198, 115, + 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, + -1, 127, 128, 129, 130, 131, -1, 133, 134, -1, + -1, -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 172, -1, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, -1, 21, 22, -1, -1, -1, -1, - -1, -1, -1, 194, 195, 196, 115, 116, 117, 118, - 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, - 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, - 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 174, -1, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + -1, -1, -1, 21, 22, -1, -1, -1, -1, -1, + 196, 197, 198, 115, 116, 117, 118, 119, -1, -1, + 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, + -1, 133, 134, -1, -1, -1, -1, 139, 140, 141, + -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 172, -1, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, -1, 21, 22, -1, -1, - -1, -1, -1, -1, -1, 194, 195, 196, 115, 116, - 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, - 127, 128, 129, 130, 131, -1, 133, 134, -1, -1, - -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, + -1, -1, 174, -1, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, -1, -1, -1, 21, 22, -1, + -1, -1, -1, -1, 196, 197, 198, 115, 116, 117, + 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, + 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, + -1, 139, 140, 141, -1, -1, -1, 145, -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, 172, -1, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, -1, 21, 22, - -1, -1, -1, -1, -1, -1, -1, 194, 195, 196, - 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, - 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, - -1, -1, -1, -1, 139, 140, 141, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 174, -1, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 196, 197, + 198, 115, 116, 117, 118, 119, 21, 22, 122, 123, + 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, + 134, -1, -1, 38, -1, 139, 140, 141, -1, -1, + -1, 145, -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, + 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 196, 197, 198, -1, -1, -1, -1, 21, + 22, -1, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + -1, -1, 127, 128, 129, -1, -1, 132, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, 144, 145, -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, 172, -1, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 194, - 195, 196, 115, 116, 117, 118, 119, 21, 22, 122, - 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, - 133, 134, -1, -1, 38, -1, 139, 140, 141, -1, - -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 19, 174, + -1, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, -1, -1, 188, 189, 21, 22, -1, -1, -1, + -1, 196, 197, 115, 116, 117, 118, 119, -1, -1, + 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, + -1, 133, 134, -1, -1, 137, -1, 139, 140, 141, + 71, 72, 73, 145, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, -1, 93, 94, 95, -1, -1, 98, 99, 100, + 101, -1, 174, -1, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, -1, -1, -1, -1, 21, 22, + -1, -1, -1, -1, 196, 197, -1, -1, -1, 115, + 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, + -1, 127, 128, 129, 130, 131, -1, 133, 134, -1, + -1, -1, 153, 139, 140, 141, -1, -1, -1, 145, + -1, 162, -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, 172, - -1, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 194, 195, 196, -1, -1, -1, -1, 21, 22, - -1, -1, -1, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, -1, -1, 127, 128, 129, -1, -1, 132, 133, - 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, - 144, 145, -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, 172, -1, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 21, 22, 186, 187, -1, -1, -1, -1, -1, -1, - 194, 195, 115, 116, 117, 118, 119, -1, -1, 122, + -1, -1, -1, -1, -1, -1, -1, -1, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + -1, 21, 22, -1, -1, -1, -1, -1, -1, -1, + 196, 197, 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, - 133, 134, -1, -1, 137, -1, 139, 140, 141, -1, + 133, 134, -1, -1, -1, -1, 139, 140, 141, -1, -1, -1, 145, -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, 172, - -1, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 21, 22, -1, -1, -1, -1, -1, -1, -1, - -1, 194, 195, -1, 115, 116, 117, 118, 119, -1, - -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, - 131, -1, 133, 134, -1, -1, -1, -1, 139, 140, - 141, -1, -1, -1, 145, -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, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 21, 22, -1, -1, -1, -1, -1, - -1, -1, -1, 194, 195, 115, 116, 117, 118, 119, + -1, -1, -1, -1, -1, -1, -1, 170, -1, -1, + -1, 174, -1, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, -1, 21, 22, -1, -1, -1, -1, + -1, -1, -1, 196, 197, 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, - 130, 131, -1, 133, 134, -1, -1, -1, -1, 139, + 130, 131, -1, 133, 134, 21, 22, -1, -1, 139, 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 168, -1, - -1, -1, 172, -1, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 21, 22, -1, -1, -1, -1, - -1, -1, -1, -1, 194, 195, -1, 115, 116, 117, - 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, - 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, - -1, 139, 140, 141, -1, -1, -1, 145, -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, 172, -1, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 21, 22, -1, -1, - -1, -1, -1, -1, -1, -1, 194, 195, 115, 116, + -1, -1, -1, -1, 174, -1, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 196, 197, 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, 21, 22, - -1, -1, 139, 140, 141, -1, -1, -1, 145, -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, 172, -1, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 194, 195, -1, - 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, - 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, - 21, 22, -1, -1, 139, 140, 141, -1, -1, -1, - -1, -1, 115, 116, 117, 118, 119, -1, -1, 122, + -1, -1, 139, 140, 141, -1, -1, -1, 145, 115, + 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, + -1, 127, 128, 129, 130, 131, -1, 133, 134, 21, + 22, -1, -1, 139, 140, 141, -1, 174, -1, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 196, + 197, -1, -1, -1, -1, -1, -1, -1, 174, -1, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 196, 197, 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, -1, - 133, 134, 21, 22, -1, -1, 139, 172, 141, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 194, - 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 194, 195, -1, 115, 116, 117, 118, 119, -1, - -1, 122, 123, 124, 125, -1, 127, 128, 129, 130, - 131, -1, 133, 134, 21, 22, -1, -1, 139, -1, - -1, -1, -1, -1, -1, -1, 115, 116, 117, 118, + 133, 134, 21, 22, -1, -1, 139, -1, 141, -1, + -1, -1, -1, 115, 116, 117, 118, 119, -1, -1, + 122, 123, 124, 125, -1, 127, 128, 129, 130, 131, + -1, 133, 134, 21, 22, -1, -1, 139, -1, -1, + -1, -1, -1, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 196, 197, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 196, 197, 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, 128, - 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, - -1, -1, -1, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 194, 195, -1, 19, -1, -1, -1, - -1, -1, -1, -1, -1, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 194, 195, -1, 115, 116, - 117, 118, 119, -1, -1, 122, 123, 124, 125, -1, - 127, 128, 129, 130, 131, -1, 133, 134, 71, 72, - 73, -1, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, -1, - 93, 94, 95, -1, -1, 98, 99, 100, 101, -1, - -1, -1, -1, -1, 19, -1, -1, -1, 175, 176, - 177, 178, 179, 180, 181, 182, 183, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 194, 195, -1, - -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 153, -1, -1, -1, -1, -1, 71, 72, 73, 162, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, -1, 93, 94, - 95, -1, -1, 98, 99, 100, 101, 71, 72, 73, - -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 35, 93, - 94, 95, -1, -1, 98, 99, 100, 101, -1, -1, + 129, 130, 131, -1, 133, 134, 21, 22, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, + 118, 119, -1, -1, 122, 123, 124, 125, -1, 127, + 128, 129, 130, 131, -1, 133, 134, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 196, 197, 19, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, + 178, 179, 180, 181, 182, 183, 184, 185, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 196, 197, + 115, 116, 117, 118, 119, -1, -1, 122, 123, 124, + 125, -1, 127, 128, 129, 130, 131, -1, 133, 134, + -1, 71, 72, 73, -1, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, -1, 93, 94, 95, -1, -1, 98, 99, + 100, 101, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 178, 179, 180, 181, 182, 183, 184, + 185, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 196, 197, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 153, -1, -1, -1, -1, -1, 71, + 72, 73, 162, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + -1, 93, 94, 95, -1, -1, 98, 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, - -1, -1, -1, -1, 71, -1, 73, 162, 75, 76, - 77, 78, 79, -1, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 153, - -1, 98, 99, 100, 101, -1, -1, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 117, 118, 71, 72, 73, -1, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, -1, 93, 94, 95, -1, -1, 98, - 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 162, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 128, - 129, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 128, 129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, - -1, -1, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 153, -1, -1, -1, -1, -1, -1, -1, -1, + 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 194, 195 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 196, 197 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 206, 0, 7, 30, 32, 34, 40, 50, 56, - 80, 102, 103, 183, 195, 201, 207, 210, 216, 218, - 219, 223, 256, 260, 289, 367, 375, 380, 390, 436, - 441, 446, 19, 20, 162, 248, 249, 250, 155, 224, - 225, 162, 183, 220, 221, 57, 63, 372, 373, 162, - 199, 209, 447, 437, 442, 138, 162, 277, 34, 63, - 131, 187, 197, 252, 253, 254, 255, 277, 201, 201, - 201, 5, 6, 8, 36, 387, 62, 363, 171, 170, - 173, 170, 220, 22, 57, 182, 194, 222, 162, 201, - 363, 372, 372, 372, 162, 138, 217, 254, 254, 254, - 197, 139, 140, 141, 170, 196, 57, 63, 261, 263, - 381, 57, 63, 388, 57, 63, 364, 15, 16, 155, - 160, 162, 163, 197, 212, 249, 155, 225, 162, 162, - 162, 374, 57, 63, 208, 162, 162, 162, 162, 164, - 215, 198, 250, 254, 254, 254, 254, 264, 57, 63, - 376, 391, 202, 368, 164, 165, 166, 211, 15, 16, - 155, 160, 162, 212, 246, 247, 222, 171, 170, 370, - 379, 201, 233, 234, 234, 164, 198, 35, 71, 73, + 0, 208, 0, 7, 30, 32, 34, 40, 50, 56, + 80, 102, 103, 185, 197, 203, 211, 214, 220, 222, + 223, 227, 262, 266, 295, 373, 381, 388, 398, 444, + 449, 454, 19, 20, 162, 254, 255, 256, 155, 228, + 229, 162, 185, 224, 225, 57, 63, 378, 379, 162, + 201, 213, 455, 445, 450, 138, 162, 283, 34, 63, + 131, 189, 199, 258, 259, 260, 261, 283, 203, 203, + 203, 5, 6, 8, 36, 395, 62, 369, 173, 172, + 175, 172, 224, 22, 57, 184, 196, 226, 162, 203, + 369, 378, 378, 378, 162, 138, 221, 260, 260, 260, + 199, 139, 140, 141, 172, 198, 57, 63, 267, 269, + 389, 57, 63, 396, 57, 63, 370, 15, 16, 155, + 160, 162, 165, 199, 216, 255, 155, 229, 162, 162, + 162, 380, 57, 63, 212, 162, 162, 162, 162, 166, + 219, 200, 256, 260, 260, 260, 260, 270, 57, 63, + 382, 399, 204, 374, 166, 167, 168, 215, 15, 16, + 155, 160, 162, 216, 252, 253, 226, 173, 163, 386, + 387, 164, 233, 234, 234, 166, 200, 35, 71, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 95, 98, - 99, 100, 101, 117, 118, 162, 259, 262, 162, 377, - 106, 385, 386, 365, 200, 251, 336, 164, 165, 166, - 170, 198, 19, 25, 31, 41, 49, 64, 71, 72, + 99, 100, 101, 117, 118, 162, 265, 268, 162, 383, + 106, 393, 394, 371, 202, 257, 342, 166, 167, 168, + 172, 200, 19, 25, 31, 41, 49, 64, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 151, 199, 277, 394, 396, 397, 400, 406, 407, - 435, 170, 448, 201, 438, 443, 21, 22, 38, 107, + 103, 151, 201, 283, 402, 404, 405, 408, 414, 415, + 443, 163, 456, 164, 446, 451, 21, 22, 38, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 127, 128, 129, 132, 133, 134, 135, 136, 139, 140, 141, 142, 143, - 144, 145, 172, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 186, 187, 194, 195, 35, 35, 197, - 257, 268, 269, 173, 378, 162, 392, 201, 203, 366, - 249, 200, 162, 359, 362, 246, 177, 177, 177, 197, - 177, 177, 197, 177, 177, 177, 177, 177, 177, 197, - 277, 33, 60, 61, 123, 127, 172, 176, 179, 195, - 204, 405, 174, 202, 202, 202, 162, 162, 162, 196, - 22, 162, 196, 150, 198, 336, 346, 347, 173, 258, - 202, 75, 79, 93, 94, 98, 99, 100, 101, 395, - 379, 173, 384, 202, 389, 336, 249, 170, 173, 176, - 357, 408, 413, 415, 5, 6, 15, 16, 17, 18, + 144, 145, 174, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 188, 189, 196, 197, 35, 35, 199, + 263, 274, 275, 175, 384, 162, 400, 203, 205, 372, + 255, 202, 162, 365, 368, 252, 179, 179, 179, 199, + 179, 179, 199, 179, 179, 179, 179, 179, 179, 199, + 283, 33, 60, 61, 123, 127, 174, 178, 181, 197, + 206, 413, 176, 204, 204, 204, 162, 162, 162, 198, + 22, 162, 198, 150, 200, 342, 352, 353, 175, 264, + 204, 75, 79, 93, 94, 98, 99, 100, 101, 403, + 387, 175, 392, 204, 397, 342, 255, 172, 175, 178, + 363, 416, 421, 423, 5, 6, 15, 16, 17, 18, 19, 25, 27, 31, 39, 45, 48, 51, 55, 65, 68, 69, 80, 102, 103, 104, 117, 118, 146, 147, 148, 149, 150, 152, 154, 155, 156, 157, 158, 159, - 160, 161, 163, 179, 180, 181, 186, 187, 195, 197, - 199, 200, 202, 214, 216, 271, 277, 282, 294, 301, - 304, 307, 311, 313, 315, 316, 318, 323, 326, 327, - 334, 335, 394, 451, 459, 469, 472, 484, 487, 417, - 411, 162, 401, 419, 421, 423, 425, 427, 429, 431, - 433, 327, 177, 197, 33, 176, 33, 176, 195, 204, - 196, 327, 195, 204, 406, 449, 439, 444, 162, 132, - 197, 7, 50, 288, 198, 201, 435, 273, 202, 277, - 342, 147, 162, 358, 361, 162, 406, 126, 132, 171, - 356, 435, 435, 404, 435, 177, 177, 177, 279, 396, - 451, 277, 177, 5, 102, 103, 177, 197, 177, 197, - 197, 177, 177, 197, 177, 197, 177, 197, 177, 177, - 197, 177, 177, 327, 327, 197, 197, 197, 197, 197, - 197, 213, 327, 327, 327, 327, 327, 13, 49, 305, - 327, 305, 200, 13, 327, 468, 483, 197, 256, 200, - 202, 307, 312, 21, 22, 115, 116, 117, 118, 119, + 160, 161, 165, 181, 182, 183, 188, 189, 197, 199, + 201, 202, 204, 218, 220, 277, 283, 288, 300, 307, + 310, 313, 317, 319, 321, 322, 324, 329, 332, 333, + 340, 341, 402, 459, 467, 477, 480, 492, 495, 425, + 419, 162, 409, 427, 429, 431, 433, 435, 437, 439, + 441, 333, 179, 199, 33, 178, 33, 178, 197, 206, + 198, 333, 197, 206, 414, 457, 447, 452, 162, 132, + 199, 7, 50, 294, 200, 203, 443, 279, 204, 283, + 348, 147, 162, 364, 367, 162, 414, 126, 132, 173, + 362, 443, 443, 412, 443, 179, 179, 179, 285, 404, + 459, 283, 179, 5, 102, 103, 179, 199, 179, 199, + 199, 179, 179, 199, 179, 199, 179, 199, 179, 179, + 199, 179, 179, 333, 333, 199, 199, 199, 199, 199, + 199, 217, 333, 333, 333, 333, 333, 13, 49, 311, + 333, 311, 202, 13, 333, 476, 491, 199, 262, 202, + 204, 313, 318, 21, 22, 115, 116, 117, 118, 119, 122, 123, 124, 125, 127, 128, 129, 130, 131, 133, - 134, 139, 140, 141, 145, 172, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 194, 195, 198, 197, - 435, 435, 198, 162, 398, 435, 257, 435, 257, 435, - 257, 162, 348, 349, 435, 162, 351, 352, 198, 410, - 274, 305, 196, 196, 196, 327, 162, 399, 348, 350, - 351, 353, 327, 147, 162, 355, 393, 346, 1, 26, + 134, 139, 140, 141, 145, 174, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 196, 197, 200, 199, + 443, 443, 200, 162, 406, 443, 263, 443, 263, 443, + 263, 162, 354, 355, 443, 162, 357, 358, 200, 418, + 280, 311, 198, 198, 198, 333, 162, 407, 354, 356, + 357, 359, 333, 147, 162, 361, 401, 352, 1, 26, 28, 29, 38, 44, 52, 54, 58, 59, 65, 105, - 201, 226, 227, 232, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 270, 272, 278, 283, 284, - 285, 286, 287, 289, 293, 314, 327, 382, 203, 256, - 343, 197, 43, 170, 173, 357, 201, 356, 327, 178, - 178, 178, 170, 201, 403, 460, 462, 280, 197, 177, - 197, 302, 177, 177, 177, 479, 305, 406, 483, 327, - 295, 297, 327, 299, 327, 481, 305, 466, 470, 305, - 464, 406, 327, 327, 327, 327, 327, 327, 166, 167, - 211, 197, 13, 170, 486, 486, 147, 152, 177, 277, - 317, 197, 137, 170, 486, 70, 153, 162, 195, 198, - 305, 452, 454, 4, 310, 200, 273, 256, 19, 153, - 162, 394, 19, 153, 162, 394, 327, 327, 327, 327, - 327, 327, 162, 327, 153, 162, 327, 327, 327, 394, - 327, 327, 327, 327, 327, 327, 22, 327, 327, 327, - 327, 327, 327, 327, 327, 327, 327, 327, 128, 129, - 153, 162, 194, 195, 324, 394, 327, 198, 305, 178, - 178, 178, 201, 178, 258, 178, 258, 178, 258, 173, - 178, 403, 173, 178, 403, 276, 435, 198, 486, 196, - 370, 379, 233, 234, 233, 234, 198, 197, 43, 126, - 170, 171, 173, 176, 354, 126, 327, 268, 61, 327, - 162, 201, 155, 58, 327, 234, 126, 327, 201, 201, - 10, 10, 11, 230, 13, 9, 42, 201, 203, 201, - 201, 201, 201, 201, 66, 290, 201, 107, 108, 109, - 110, 111, 112, 113, 114, 120, 121, 126, 132, 135, - 136, 142, 143, 144, 171, 162, 369, 371, 8, 336, - 341, 327, 162, 162, 406, 356, 327, 201, 409, 414, - 416, 435, 406, 406, 435, 70, 305, 454, 458, 162, - 327, 435, 473, 475, 477, 406, 486, 178, 403, 486, - 198, 406, 406, 198, 406, 198, 406, 486, 406, 406, - 486, 406, 178, 198, 198, 198, 198, 198, 198, 327, - 393, 197, 327, 196, 198, 197, 197, 319, 321, 393, - 327, 468, 203, 162, 198, 454, 197, 132, 354, 452, - 170, 198, 170, 198, 197, 257, 203, 310, 177, 197, - 177, 197, 197, 197, 196, 19, 153, 162, 394, 173, - 153, 162, 327, 197, 197, 153, 162, 327, 1, 197, - 196, 170, 198, 418, 412, 402, 162, 420, 178, 424, - 178, 428, 178, 435, 432, 348, 435, 434, 351, 178, - 403, 162, 450, 348, 440, 351, 445, 327, 162, 162, - 435, 327, 327, 14, 327, 171, 173, 155, 268, 327, - 197, 197, 197, 197, 197, 37, 265, 197, 202, 292, - 361, 327, 327, 327, 327, 327, 327, 327, 327, 327, - 327, 327, 327, 327, 327, 327, 327, 327, 327, 171, - 370, 379, 57, 63, 339, 67, 340, 201, 198, 43, - 201, 356, 327, 201, 178, 178, 178, 454, 198, 198, - 198, 178, 403, 198, 178, 406, 406, 406, 178, 198, - 197, 406, 198, 178, 178, 178, 178, 198, 178, 178, - 198, 178, 310, 197, 168, 20, 393, 327, 327, 406, - 257, 20, 198, 327, 327, 327, 196, 195, 153, 162, - 126, 132, 162, 171, 176, 308, 309, 258, 257, 328, - 327, 330, 327, 198, 305, 327, 177, 197, 327, 197, - 196, 327, 198, 305, 197, 196, 325, 198, 305, 422, - 426, 430, 197, 435, 203, 203, 203, 198, 43, 354, - 268, 327, 327, 327, 393, 327, 327, 266, 162, 291, - 360, 327, 369, 383, 47, 340, 46, 106, 337, 162, - 327, 201, 461, 463, 281, 198, 197, 162, 303, 178, - 178, 178, 480, 275, 483, 178, 296, 298, 300, 482, - 467, 471, 465, 197, 234, 198, 305, 305, 20, 198, - 198, 178, 258, 305, 198, 198, 452, 197, 132, 354, - 162, 162, 197, 162, 162, 170, 198, 234, 258, 406, - 198, 435, 198, 198, 198, 332, 327, 327, 198, 198, - 327, 198, 274, 162, 327, 198, 198, 20, 198, 198, - 202, 170, 198, 201, 203, 361, 203, 33, 338, 337, - 339, 201, 197, 197, 327, 178, 474, 476, 478, 197, - 198, 486, 197, 327, 327, 327, 197, 70, 458, 197, - 197, 198, 327, 268, 198, 198, 305, 320, 178, 198, - 132, 354, 196, 327, 327, 327, 162, 308, 137, 268, - 306, 234, 178, 178, 435, 198, 198, 198, 198, 12, - 231, 234, 305, 234, 234, 273, 162, 173, 357, 344, - 338, 355, 458, 458, 198, 197, 197, 197, 197, 274, - 275, 305, 458, 452, 453, 198, 201, 198, 317, 322, - 201, 327, 327, 198, 198, 198, 126, 327, 268, 329, - 331, 178, 232, 283, 284, 285, 286, 327, 201, 268, - 198, 268, 268, 267, 406, 356, 262, 345, 197, 452, - 455, 456, 457, 457, 327, 458, 458, 453, 198, 198, - 486, 457, 198, 327, 201, 317, 468, 132, 354, 327, - 333, 12, 23, 24, 228, 229, 234, 203, 356, 327, - 201, 262, 452, 170, 486, 198, 198, 198, 457, 457, - 198, 198, 198, 201, 485, 327, 485, 327, 327, 234, - 197, 268, 327, 201, 268, 198, 197, 198, 198, 53, - 196, 485, 203, 268, 327, 201, 452, 327, 196, 198, - 198, 234, 268, 229 + 164, 203, 210, 230, 231, 238, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 276, 278, 284, + 289, 290, 291, 292, 293, 295, 299, 320, 333, 390, + 205, 262, 349, 199, 43, 172, 175, 363, 203, 362, + 333, 180, 180, 180, 163, 172, 209, 210, 411, 468, + 470, 286, 199, 179, 199, 308, 179, 179, 179, 487, + 311, 414, 491, 333, 301, 303, 333, 305, 333, 489, + 311, 474, 478, 311, 472, 414, 333, 333, 333, 333, + 333, 333, 168, 169, 215, 199, 13, 172, 494, 494, + 147, 152, 179, 283, 323, 199, 137, 172, 494, 70, + 153, 162, 197, 200, 311, 460, 462, 4, 316, 202, + 279, 262, 19, 153, 162, 402, 19, 153, 162, 402, + 333, 333, 333, 333, 333, 333, 162, 333, 153, 162, + 333, 333, 333, 402, 333, 333, 333, 333, 333, 333, + 22, 333, 333, 333, 333, 333, 333, 333, 333, 333, + 333, 333, 128, 129, 153, 162, 196, 197, 330, 402, + 333, 200, 311, 180, 180, 180, 203, 180, 264, 180, + 264, 180, 264, 175, 180, 411, 175, 180, 411, 282, + 443, 200, 494, 198, 209, 376, 385, 210, 239, 240, + 239, 240, 200, 199, 43, 126, 172, 173, 175, 178, + 360, 126, 333, 274, 61, 333, 162, 210, 155, 58, + 333, 234, 126, 333, 210, 210, 10, 10, 11, 236, + 13, 9, 42, 210, 205, 210, 210, 210, 210, 210, + 66, 296, 210, 107, 108, 109, 110, 111, 112, 113, + 114, 120, 121, 126, 132, 135, 136, 142, 143, 144, + 173, 162, 375, 377, 8, 342, 347, 333, 162, 162, + 414, 362, 333, 203, 417, 422, 424, 443, 414, 414, + 443, 70, 311, 462, 466, 162, 333, 443, 481, 483, + 485, 414, 494, 180, 411, 494, 200, 414, 414, 200, + 414, 200, 414, 494, 414, 414, 494, 414, 180, 200, + 200, 200, 200, 200, 200, 333, 401, 199, 333, 198, + 200, 199, 199, 325, 327, 401, 333, 476, 205, 162, + 200, 462, 199, 132, 360, 460, 172, 200, 172, 200, + 199, 263, 205, 316, 179, 199, 179, 199, 199, 199, + 198, 19, 153, 162, 402, 175, 153, 162, 333, 199, + 199, 153, 162, 333, 1, 199, 198, 172, 200, 426, + 420, 410, 162, 428, 180, 432, 180, 436, 180, 443, + 440, 354, 443, 442, 357, 180, 411, 162, 209, 458, + 210, 354, 448, 357, 453, 333, 162, 162, 443, 333, + 333, 14, 333, 173, 175, 155, 274, 333, 199, 199, + 199, 199, 199, 37, 271, 199, 204, 298, 367, 333, + 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, + 333, 333, 333, 333, 333, 333, 333, 173, 376, 385, + 57, 63, 345, 67, 346, 203, 200, 43, 210, 362, + 333, 203, 180, 180, 180, 462, 200, 200, 200, 180, + 411, 200, 180, 414, 414, 414, 180, 200, 199, 414, + 200, 180, 180, 180, 180, 200, 180, 180, 200, 180, + 316, 199, 170, 20, 401, 333, 333, 414, 263, 20, + 200, 333, 333, 333, 198, 197, 153, 162, 126, 132, + 162, 173, 178, 314, 315, 264, 263, 334, 333, 336, + 333, 200, 311, 333, 179, 199, 333, 199, 198, 333, + 200, 311, 199, 198, 331, 200, 311, 430, 434, 438, + 199, 443, 205, 205, 205, 200, 43, 360, 274, 333, + 333, 333, 401, 333, 333, 272, 162, 297, 366, 333, + 375, 391, 47, 346, 46, 106, 343, 162, 333, 210, + 469, 471, 287, 200, 199, 162, 309, 180, 180, 180, + 488, 281, 491, 180, 302, 304, 306, 490, 475, 479, + 473, 199, 234, 200, 311, 311, 20, 200, 200, 180, + 264, 311, 200, 200, 460, 199, 132, 360, 162, 162, + 199, 162, 162, 172, 200, 234, 264, 414, 200, 443, + 200, 200, 200, 338, 333, 333, 200, 200, 333, 200, + 280, 162, 333, 200, 200, 20, 200, 200, 204, 172, + 200, 203, 205, 367, 205, 33, 344, 343, 345, 210, + 199, 199, 333, 180, 482, 484, 486, 199, 200, 494, + 199, 333, 333, 333, 199, 70, 466, 199, 199, 200, + 333, 274, 200, 200, 311, 326, 180, 200, 132, 360, + 198, 333, 333, 333, 162, 314, 137, 274, 312, 234, + 180, 180, 443, 200, 200, 200, 200, 12, 237, 234, + 311, 234, 234, 279, 162, 175, 363, 350, 344, 361, + 466, 466, 200, 199, 199, 199, 199, 280, 281, 311, + 466, 460, 461, 200, 203, 200, 323, 328, 203, 333, + 333, 200, 200, 200, 126, 333, 274, 335, 337, 180, + 238, 289, 290, 291, 292, 333, 210, 274, 200, 274, + 274, 273, 414, 362, 268, 351, 199, 460, 463, 464, + 465, 465, 333, 466, 466, 461, 200, 200, 494, 465, + 200, 333, 203, 323, 476, 132, 360, 333, 339, 12, + 23, 24, 232, 235, 234, 205, 362, 333, 203, 268, + 460, 172, 494, 200, 200, 200, 465, 465, 200, 200, + 200, 203, 493, 333, 493, 333, 333, 234, 199, 274, + 333, 210, 274, 200, 199, 200, 200, 53, 198, 493, + 205, 274, 333, 210, 460, 333, 198, 200, 200, 234, + 274, 235 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int16 yyr1[] = { - 0, 205, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 207, 208, 208, - 208, 209, 209, 210, 211, 211, 211, 211, 212, 212, - 213, 213, 213, 214, 215, 215, 217, 216, 218, 219, - 220, 220, 220, 220, 221, 221, 222, 222, 223, 224, - 224, 225, 225, 226, 227, 227, 228, 228, 229, 229, - 229, 230, 230, 231, 231, 232, 232, 232, 232, 232, - 233, 233, 234, 234, 236, 235, 237, 239, 238, 240, - 242, 241, 244, 243, 245, 246, 246, 246, 246, 246, - 246, 247, 247, 248, 248, 248, 249, 249, 249, 249, - 249, 249, 249, 249, 250, 250, 251, 251, 252, 252, - 252, 253, 253, 254, 254, 254, 254, 254, 254, 254, - 255, 255, 256, 256, 257, 257, 257, 258, 258, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 260, 261, 261, 261, 262, 264, - 263, 265, 266, 267, 265, 269, 270, 268, 271, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 273, 273, - 273, 274, 274, 275, 275, 276, 276, 277, 277, 277, - 278, 278, 280, 281, 279, 279, 282, 282, 282, 282, - 282, 282, 283, 284, 285, 285, 285, 286, 286, 287, - 288, 288, 288, 289, 289, 290, 290, 291, 291, 292, - 292, 293, 293, 293, 295, 296, 294, 297, 298, 294, - 299, 300, 294, 302, 303, 301, 304, 304, 304, 305, - 305, 306, 306, 306, 307, 307, 307, 308, 308, 308, - 308, 308, 309, 309, 310, 310, 311, 312, 312, 313, - 313, 313, 313, 313, 313, 313, 314, 314, 314, 314, - 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, - 314, 314, 314, 314, 314, 315, 315, 316, 316, 317, - 317, 318, 319, 320, 318, 321, 322, 318, 323, 323, - 323, 323, 323, 323, 324, 325, 323, 326, 326, 326, - 326, 326, 326, 326, 327, 327, 327, 327, 327, 327, - 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, - 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, - 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, - 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, - 327, 327, 327, 327, 327, 327, 327, 327, 327, 328, - 329, 327, 327, 327, 327, 330, 331, 327, 327, 327, - 332, 333, 327, 327, 327, 327, 327, 327, 327, 327, - 327, 327, 327, 327, 327, 327, 334, 334, 334, 335, - 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, - 335, 335, 335, 335, 335, 336, 336, 337, 337, 337, - 338, 338, 339, 339, 339, 340, 340, 341, 342, 343, - 342, 344, 342, 345, 342, 346, 346, 347, 347, 348, - 348, 349, 349, 350, 350, 350, 351, 352, 352, 353, - 353, 353, 354, 354, 355, 355, 355, 355, 355, 356, - 356, 356, 357, 357, 358, 358, 358, 358, 358, 359, - 359, 360, 360, 360, 361, 361, 361, 362, 362, 362, - 363, 363, 364, 364, 364, 365, 365, 366, 365, 367, - 368, 367, 369, 369, 370, 370, 371, 371, 371, 372, - 372, 372, 374, 373, 375, 376, 376, 376, 377, 378, - 378, 379, 379, 381, 382, 383, 380, 384, 384, 385, - 385, 386, 387, 387, 388, 388, 388, 389, 389, 391, - 392, 390, 393, 393, 393, 393, 393, 394, 394, 394, - 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, - 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, - 394, 394, 394, 394, 395, 395, 395, 395, 395, 395, - 395, 395, 396, 397, 397, 397, 398, 398, 399, 399, - 399, 401, 402, 400, 403, 403, 404, 404, 405, 405, - 405, 405, 406, 406, 407, 407, 407, 407, 408, 409, - 407, 407, 407, 410, 407, 407, 407, 407, 407, 407, - 407, 407, 407, 407, 407, 407, 407, 411, 412, 407, - 407, 413, 414, 407, 415, 416, 407, 417, 418, 407, - 407, 419, 420, 407, 421, 422, 407, 407, 423, 424, - 407, 425, 426, 407, 407, 427, 428, 407, 429, 430, - 407, 431, 432, 407, 433, 434, 407, 435, 435, 435, - 437, 438, 439, 440, 436, 442, 443, 444, 445, 441, - 447, 448, 449, 450, 446, 451, 451, 451, 451, 451, - 452, 452, 452, 452, 452, 452, 452, 452, 453, 454, - 455, 455, 456, 456, 457, 457, 458, 458, 460, 461, - 459, 462, 463, 459, 464, 465, 459, 466, 467, 459, - 468, 468, 469, 470, 471, 469, 472, 473, 474, 472, - 475, 476, 472, 477, 478, 472, 472, 479, 480, 472, - 472, 481, 482, 472, 483, 483, 484, 484, 484, 484, - 485, 485, 486, 486, 487, 487, 487 + 0, 207, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 209, 209, 210, + 210, 211, 212, 212, 212, 213, 213, 214, 215, 215, + 215, 215, 216, 216, 217, 217, 217, 218, 219, 219, + 221, 220, 222, 223, 224, 224, 224, 224, 225, 225, + 226, 226, 227, 228, 228, 229, 229, 230, 231, 231, + 232, 232, 233, 233, 234, 234, 235, 235, 235, 236, + 236, 237, 237, 238, 238, 238, 238, 238, 239, 239, + 240, 240, 242, 241, 243, 245, 244, 246, 248, 247, + 250, 249, 251, 252, 252, 252, 252, 252, 252, 253, + 253, 254, 254, 254, 255, 255, 255, 255, 255, 255, + 255, 255, 256, 256, 257, 257, 258, 258, 258, 259, + 259, 260, 260, 260, 260, 260, 260, 260, 261, 261, + 262, 262, 263, 263, 263, 264, 264, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 266, 267, 267, 267, 268, 270, 269, 271, + 272, 273, 271, 275, 276, 274, 277, 278, 278, 278, + 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, + 278, 278, 278, 278, 278, 278, 279, 279, 279, 280, + 280, 281, 281, 282, 282, 283, 283, 283, 284, 284, + 286, 287, 285, 285, 288, 288, 288, 288, 288, 288, + 289, 290, 291, 291, 291, 292, 292, 293, 294, 294, + 294, 295, 295, 296, 296, 297, 297, 298, 298, 299, + 299, 299, 301, 302, 300, 303, 304, 300, 305, 306, + 300, 308, 309, 307, 310, 310, 310, 311, 311, 312, + 312, 312, 313, 313, 313, 314, 314, 314, 314, 314, + 315, 315, 316, 316, 317, 318, 318, 319, 319, 319, + 319, 319, 319, 319, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 321, 321, 322, 322, 323, 323, 324, + 325, 326, 324, 327, 328, 324, 329, 329, 329, 329, + 329, 329, 330, 331, 329, 332, 332, 332, 332, 332, + 332, 332, 333, 333, 333, 333, 333, 333, 333, 333, + 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, + 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, + 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, + 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, + 333, 333, 333, 333, 333, 333, 333, 334, 335, 333, + 333, 333, 333, 336, 337, 333, 333, 333, 338, 339, + 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, + 333, 333, 333, 333, 340, 340, 340, 341, 341, 341, + 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, + 341, 341, 341, 342, 342, 343, 343, 343, 344, 344, + 345, 345, 345, 346, 346, 347, 348, 349, 348, 350, + 348, 351, 348, 352, 352, 353, 353, 354, 354, 355, + 355, 356, 356, 356, 357, 358, 358, 359, 359, 359, + 360, 360, 361, 361, 361, 361, 361, 362, 362, 362, + 363, 363, 364, 364, 364, 364, 364, 365, 365, 366, + 366, 366, 367, 367, 367, 368, 368, 368, 369, 369, + 370, 370, 370, 371, 371, 372, 371, 373, 374, 373, + 375, 375, 376, 376, 377, 377, 377, 378, 378, 378, + 380, 379, 381, 382, 382, 382, 383, 384, 384, 385, + 385, 386, 386, 387, 387, 389, 390, 391, 388, 392, + 392, 393, 393, 394, 395, 395, 396, 396, 396, 397, + 397, 399, 400, 398, 401, 401, 401, 401, 401, 402, + 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, + 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, + 402, 402, 402, 402, 402, 402, 403, 403, 403, 403, + 403, 403, 403, 403, 404, 405, 405, 405, 406, 406, + 407, 407, 407, 409, 410, 408, 411, 411, 412, 412, + 413, 413, 413, 413, 414, 414, 415, 415, 415, 415, + 416, 417, 415, 415, 415, 418, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 419, + 420, 415, 415, 421, 422, 415, 423, 424, 415, 425, + 426, 415, 415, 427, 428, 415, 429, 430, 415, 415, + 431, 432, 415, 433, 434, 415, 415, 435, 436, 415, + 437, 438, 415, 439, 440, 415, 441, 442, 415, 443, + 443, 443, 445, 446, 447, 448, 444, 450, 451, 452, + 453, 449, 455, 456, 457, 458, 454, 459, 459, 459, + 459, 459, 460, 460, 460, 460, 460, 460, 460, 460, + 461, 462, 463, 463, 464, 464, 465, 465, 466, 466, + 468, 469, 467, 470, 471, 467, 472, 473, 467, 474, + 475, 467, 476, 476, 477, 478, 479, 477, 480, 481, + 482, 480, 483, 484, 480, 485, 486, 480, 480, 487, + 488, 480, 480, 489, 490, 480, 491, 491, 492, 492, + 492, 492, 493, 493, 494, 494, 495, 495, 495 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ static const yytype_int8 yyr2[] = { 0, 2, 0, 2, 2, 2, 2, 2, 2, 3, - 3, 2, 2, 2, 2, 2, 2, 2, 0, 1, - 1, 1, 1, 4, 1, 1, 2, 2, 3, 2, - 0, 2, 4, 3, 1, 2, 0, 4, 2, 2, - 1, 2, 3, 3, 2, 4, 0, 1, 2, 1, - 3, 1, 3, 3, 3, 2, 1, 1, 0, 3, - 7, 1, 1, 0, 2, 1, 1, 1, 1, 1, - 1, 2, 0, 1, 0, 8, 7, 0, 9, 3, - 0, 7, 0, 7, 4, 1, 1, 1, 1, 1, - 1, 1, 3, 1, 1, 1, 3, 3, 3, 3, - 3, 3, 1, 5, 1, 3, 2, 3, 1, 1, - 1, 1, 4, 1, 2, 3, 3, 3, 3, 2, - 1, 3, 0, 3, 0, 2, 3, 0, 2, 1, + 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, + 1, 2, 0, 1, 1, 1, 1, 4, 1, 1, + 2, 2, 3, 2, 0, 2, 4, 3, 1, 2, + 0, 4, 2, 2, 1, 2, 3, 3, 2, 4, + 0, 1, 2, 1, 3, 1, 3, 3, 3, 2, + 1, 1, 1, 2, 0, 1, 0, 3, 7, 1, + 1, 0, 2, 1, 1, 1, 1, 1, 1, 2, + 0, 1, 0, 8, 7, 0, 9, 3, 0, 7, + 0, 7, 4, 1, 1, 1, 1, 1, 1, 1, + 3, 1, 1, 1, 3, 3, 3, 3, 3, 3, + 1, 5, 1, 3, 2, 3, 1, 1, 1, 1, + 4, 1, 2, 3, 3, 3, 3, 2, 1, 3, + 0, 3, 0, 2, 3, 0, 2, 1, 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 3, 3, 2, 2, 3, 4, 3, - 2, 2, 2, 2, 2, 3, 3, 3, 4, 1, + 2, 3, 3, 2, 2, 3, 4, 3, 2, 2, + 2, 2, 2, 3, 3, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 0, 1, 1, 3, 0, - 4, 0, 0, 0, 6, 0, 0, 6, 2, 1, - 2, 2, 1, 1, 1, 1, 2, 1, 2, 2, - 2, 2, 1, 1, 1, 2, 2, 2, 0, 2, - 2, 0, 2, 0, 2, 1, 3, 1, 3, 2, - 2, 3, 0, 0, 5, 1, 2, 5, 5, 5, - 6, 2, 1, 1, 1, 2, 3, 2, 3, 4, - 1, 1, 0, 1, 1, 1, 0, 1, 3, 8, - 7, 3, 3, 5, 0, 0, 7, 0, 0, 7, - 0, 0, 7, 0, 0, 6, 5, 8, 10, 1, - 3, 1, 2, 3, 1, 1, 2, 2, 2, 2, - 2, 4, 1, 3, 0, 4, 7, 7, 3, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 6, 8, 5, 6, 1, - 4, 3, 0, 0, 8, 0, 0, 9, 3, 4, - 5, 6, 5, 6, 0, 0, 5, 3, 4, 4, - 5, 4, 3, 4, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, + 1, 1, 3, 0, 1, 1, 3, 0, 4, 0, + 0, 0, 6, 0, 0, 6, 2, 1, 2, 2, + 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, + 1, 1, 1, 2, 2, 2, 0, 2, 2, 0, + 2, 0, 2, 1, 3, 1, 3, 2, 2, 3, + 0, 0, 5, 1, 2, 5, 5, 5, 6, 2, + 1, 1, 1, 2, 3, 2, 3, 4, 1, 1, + 0, 1, 1, 1, 0, 1, 3, 8, 7, 3, + 3, 5, 0, 0, 7, 0, 0, 7, 0, 0, + 7, 0, 0, 6, 5, 8, 10, 1, 3, 1, + 2, 3, 1, 1, 2, 2, 2, 2, 2, 4, + 1, 3, 0, 4, 7, 7, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 6, 8, 5, 6, 1, 4, 3, + 0, 0, 8, 0, 0, 9, 3, 4, 5, 6, + 5, 6, 0, 0, 5, 3, 4, 4, 5, 4, + 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 4, 4, 5, 4, 5, 3, - 4, 1, 1, 2, 4, 4, 1, 3, 5, 0, - 0, 8, 3, 3, 3, 0, 0, 8, 3, 4, - 0, 0, 9, 4, 1, 1, 1, 1, 1, 1, - 1, 3, 3, 3, 1, 4, 7, 8, 7, 4, - 4, 4, 4, 4, 1, 6, 7, 6, 6, 7, - 7, 6, 7, 6, 6, 0, 1, 0, 1, 1, - 0, 1, 0, 1, 1, 0, 1, 5, 0, 0, - 4, 0, 9, 0, 10, 3, 4, 1, 3, 1, - 3, 1, 3, 0, 1, 3, 3, 1, 3, 0, - 1, 3, 1, 1, 1, 2, 3, 5, 3, 1, - 1, 1, 0, 1, 1, 4, 3, 3, 5, 1, - 3, 0, 2, 2, 4, 6, 5, 4, 6, 5, - 0, 1, 0, 1, 1, 0, 2, 0, 4, 6, - 0, 6, 1, 3, 1, 2, 0, 1, 3, 0, - 1, 1, 0, 5, 3, 0, 1, 1, 1, 0, - 2, 0, 1, 0, 0, 0, 13, 0, 2, 0, - 1, 3, 1, 1, 0, 1, 1, 0, 3, 0, - 0, 7, 1, 4, 3, 3, 5, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, + 2, 2, 4, 4, 5, 4, 5, 3, 4, 1, + 1, 2, 4, 4, 1, 3, 5, 0, 0, 8, + 3, 3, 3, 0, 0, 8, 3, 4, 0, 0, + 9, 4, 1, 1, 1, 1, 1, 1, 1, 3, + 3, 3, 1, 4, 7, 8, 7, 4, 4, 4, + 4, 4, 1, 6, 7, 6, 6, 7, 7, 6, + 7, 6, 6, 0, 1, 0, 1, 1, 0, 1, + 0, 1, 1, 0, 1, 5, 0, 0, 4, 0, + 9, 0, 10, 3, 4, 1, 3, 1, 3, 1, + 3, 0, 1, 3, 3, 1, 3, 0, 1, 3, + 1, 1, 1, 2, 3, 5, 3, 1, 1, 1, + 0, 1, 1, 4, 3, 3, 5, 1, 3, 0, + 2, 2, 4, 6, 5, 4, 6, 5, 0, 1, + 0, 1, 1, 0, 2, 0, 4, 6, 0, 6, + 1, 3, 1, 2, 0, 1, 3, 0, 1, 1, + 0, 5, 3, 0, 1, 1, 1, 0, 2, 0, + 1, 1, 2, 0, 1, 0, 0, 0, 13, 0, + 2, 0, 1, 3, 1, 1, 0, 1, 1, 0, + 3, 0, 0, 7, 1, 4, 3, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 4, 4, 1, 3, 0, 1, - 3, 0, 0, 6, 1, 1, 1, 3, 3, 2, - 4, 3, 1, 2, 1, 1, 1, 1, 0, 0, - 6, 4, 5, 0, 9, 4, 2, 2, 3, 2, - 3, 2, 2, 3, 3, 3, 2, 0, 0, 6, - 2, 0, 0, 6, 0, 0, 6, 0, 0, 6, - 1, 0, 0, 6, 0, 0, 7, 1, 0, 0, - 6, 0, 0, 7, 1, 0, 0, 6, 0, 0, - 7, 0, 0, 6, 0, 0, 6, 1, 3, 3, - 0, 0, 0, 0, 12, 0, 0, 0, 0, 12, - 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, - 3, 3, 5, 5, 6, 6, 8, 8, 1, 1, - 3, 5, 1, 2, 1, 0, 0, 1, 0, 0, - 10, 0, 0, 10, 0, 0, 9, 0, 0, 7, - 3, 1, 5, 0, 0, 10, 4, 0, 0, 11, - 0, 0, 11, 0, 0, 10, 5, 0, 0, 9, - 5, 0, 0, 10, 1, 3, 4, 5, 7, 9, - 0, 3, 0, 1, 11, 12, 11 + 1, 1, 1, 1, 1, 1, 4, 4, 1, 3, + 0, 1, 3, 0, 0, 6, 1, 1, 1, 3, + 3, 2, 4, 3, 1, 2, 1, 1, 1, 1, + 0, 0, 6, 4, 5, 0, 9, 4, 2, 2, + 3, 2, 3, 2, 2, 3, 3, 3, 2, 0, + 0, 6, 2, 0, 0, 6, 0, 0, 6, 0, + 0, 6, 1, 0, 0, 6, 0, 0, 7, 1, + 0, 0, 6, 0, 0, 7, 1, 0, 0, 6, + 0, 0, 7, 0, 0, 6, 0, 0, 6, 1, + 3, 3, 0, 0, 0, 0, 12, 0, 0, 0, + 0, 12, 0, 0, 0, 0, 12, 1, 1, 1, + 1, 1, 3, 3, 5, 5, 6, 6, 8, 8, + 1, 1, 3, 5, 1, 2, 1, 0, 0, 1, + 0, 0, 10, 0, 0, 10, 0, 0, 9, 0, + 0, 7, 3, 1, 5, 0, 0, 10, 4, 0, + 0, 11, 0, 0, 11, 0, 0, 10, 5, 0, + 0, 9, 5, 0, 0, 10, 1, 3, 4, 5, + 7, 9, 0, 3, 0, 1, 11, 12, 11 }; @@ -5768,33 +5724,33 @@ YYLTYPE yylloc = yyloc_default; { yyextra->das_has_type_declarations = true; } break; - case 17: /* top_level_reader_macro: expr_reader ';' */ + case 21: /* top_level_reader_macro: expr_reader ';' */ { delete (yyvsp[-1].pExpression); // we do nothing, we don't even attemp to 'visit' } break; - case 18: /* optional_public_or_private_module: %empty */ + case 22: /* optional_public_or_private_module: %empty */ { (yyval.b) = yyextra->g_Program->policies.default_module_public; } break; - case 19: /* optional_public_or_private_module: "public" */ + case 23: /* optional_public_or_private_module: "public" */ { (yyval.b) = true; } break; - case 20: /* optional_public_or_private_module: "private" */ + case 24: /* optional_public_or_private_module: "private" */ { (yyval.b) = false; } break; - case 21: /* module_name: '$' */ + case 25: /* module_name: '$' */ { (yyval.s) = new string("$"); } break; - case 22: /* module_name: "name" */ + case 26: /* module_name: "name" */ { (yyval.s) = (yyvsp[0].s); } break; - case 23: /* module_declaration: "module" module_name optional_shared optional_public_or_private_module */ + case 27: /* module_declaration: "module" module_name optional_shared optional_public_or_private_module */ { yyextra->g_Program->thisModuleName = *(yyvsp[-2].s); yyextra->g_Program->thisModule->isPublic = (yyvsp[0].b); @@ -5812,31 +5768,31 @@ YYLTYPE yylloc = yyloc_default; } break; - case 24: /* character_sequence: STRING_CHARACTER */ + case 28: /* character_sequence: STRING_CHARACTER */ { (yyval.s) = new string(); *(yyval.s) += (yyvsp[0].ch); } break; - case 25: /* character_sequence: STRING_CHARACTER_ESC */ + case 29: /* character_sequence: STRING_CHARACTER_ESC */ { (yyval.s) = new string(); *(yyval.s) += "\\\\"; } break; - case 26: /* character_sequence: character_sequence STRING_CHARACTER */ + case 30: /* character_sequence: character_sequence STRING_CHARACTER */ { (yyval.s) = (yyvsp[-1].s); *(yyvsp[-1].s) += (yyvsp[0].ch); } break; - case 27: /* character_sequence: character_sequence STRING_CHARACTER_ESC */ + case 31: /* character_sequence: character_sequence STRING_CHARACTER_ESC */ { (yyval.s) = (yyvsp[-1].s); *(yyvsp[-1].s) += "\\\\"; } break; - case 28: /* string_constant: "start of the string" character_sequence "end of the string" */ + case 32: /* string_constant: "start of the string" character_sequence "end of the string" */ { (yyval.s) = (yyvsp[-1].s); } break; - case 29: /* string_constant: "start of the string" "end of the string" */ + case 33: /* string_constant: "start of the string" "end of the string" */ { (yyval.s) = new string(); } break; - case 30: /* string_builder_body: %empty */ + case 34: /* string_builder_body: %empty */ { (yyval.pExpression) = new ExprStringBuilder(); (yyval.pExpression)->at = LineInfo(yyextra->g_FileAccessStack.back(), @@ -5844,7 +5800,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 31: /* string_builder_body: string_builder_body character_sequence */ + case 35: /* string_builder_body: string_builder_body character_sequence */ { bool err; auto esconst = unescapeString(*(yyvsp[0].s),&err); @@ -5856,7 +5812,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 32: /* string_builder_body: string_builder_body "{" expr "}" */ + case 36: /* string_builder_body: string_builder_body "{" expr "}" */ { auto se = ExpressionPtr((yyvsp[-1].pExpression)); static_cast((yyvsp[-3].pExpression))->elements.push_back(se); @@ -5864,7 +5820,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 33: /* string_builder: "start of the string" string_builder_body "end of the string" */ + case 37: /* string_builder: "start of the string" string_builder_body "end of the string" */ { auto strb = static_cast((yyvsp[-1].pExpression)); if ( strb->elements.size()==0 ) { @@ -5880,7 +5836,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 34: /* reader_character_sequence: STRING_CHARACTER */ + case 38: /* reader_character_sequence: STRING_CHARACTER */ { if ( !yyextra->g_ReaderMacro->accept(yyextra->g_Program.get(), yyextra->g_Program->thisModule.get(), yyextra->g_ReaderExpr, (yyvsp[0].ch), tokAt(scanner,(yylsp[0]))) ) { das2_yyend_reader(scanner); @@ -5888,7 +5844,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 35: /* reader_character_sequence: reader_character_sequence STRING_CHARACTER */ + case 39: /* reader_character_sequence: reader_character_sequence STRING_CHARACTER */ { if ( !yyextra->g_ReaderMacro->accept(yyextra->g_Program.get(), yyextra->g_Program->thisModule.get(), yyextra->g_ReaderExpr, (yyvsp[0].ch), tokAt(scanner,(yylsp[0]))) ) { das2_yyend_reader(scanner); @@ -5896,7 +5852,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 36: /* $@1: %empty */ + case 40: /* $@1: %empty */ { auto macros = yyextra->g_Program->getReaderMacro(*(yyvsp[0].s)); if ( macros.size()==0 ) { @@ -5921,7 +5877,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 37: /* expr_reader: '%' name_in_namespace $@1 reader_character_sequence */ + case 41: /* expr_reader: '%' name_in_namespace $@1 reader_character_sequence */ { yyextra->g_ReaderExpr->at = tokRangeAt(scanner,(yylsp[-3]),(yylsp[0])); (yyval.pExpression) = yyextra->g_ReaderExpr; @@ -5940,7 +5896,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 38: /* options_declaration: "options" annotation_argument_list */ + case 42: /* options_declaration: "options" annotation_argument_list */ { if ( yyextra->g_Program->options.size() ) { for ( auto & opt : *(yyvsp[0].aaList) ) { @@ -5958,20 +5914,20 @@ YYLTYPE yylloc = yyloc_default; } break; - case 40: /* require_module_name: "name" */ + case 44: /* require_module_name: "name" */ { (yyval.s) = (yyvsp[0].s); } break; - case 41: /* require_module_name: '%' require_module_name */ + case 45: /* require_module_name: '%' require_module_name */ { *(yyvsp[0].s) = "%" + *(yyvsp[0].s); (yyval.s) = (yyvsp[0].s); } break; - case 42: /* require_module_name: require_module_name '.' "name" */ + case 46: /* require_module_name: require_module_name '.' "name" */ { *(yyvsp[-2].s) += "."; *(yyvsp[-2].s) += *(yyvsp[0].s); @@ -5980,7 +5936,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 43: /* require_module_name: require_module_name '/' "name" */ + case 47: /* require_module_name: require_module_name '/' "name" */ { *(yyvsp[-2].s) += "/"; *(yyvsp[-2].s) += *(yyvsp[0].s); @@ -5989,74 +5945,74 @@ YYLTYPE yylloc = yyloc_default; } break; - case 44: /* require_module: require_module_name is_public_module */ + case 48: /* require_module: require_module_name is_public_module */ { ast_requireModule(scanner,(yyvsp[-1].s),nullptr,(yyvsp[0].b),tokAt(scanner,(yylsp[-1]))); } break; - case 45: /* require_module: require_module_name "as" "name" is_public_module */ + case 49: /* require_module: require_module_name "as" "name" is_public_module */ { ast_requireModule(scanner,(yyvsp[-3].s),(yyvsp[-1].s),(yyvsp[0].b),tokAt(scanner,(yylsp[-3]))); } break; - case 46: /* is_public_module: %empty */ + case 50: /* is_public_module: %empty */ { (yyval.b) = false; } break; - case 47: /* is_public_module: "public" */ + case 51: /* is_public_module: "public" */ { (yyval.b) = true; } break; - case 51: /* expect_error: "integer constant" */ + case 55: /* expect_error: "integer constant" */ { yyextra->g_Program->expectErrors[CompilationError((yyvsp[0].i))] ++; } break; - case 52: /* expect_error: "integer constant" ':' "integer constant" */ + case 56: /* expect_error: "integer constant" ':' "integer constant" */ { yyextra->g_Program->expectErrors[CompilationError((yyvsp[-2].i))] += (yyvsp[0].i); } break; - case 53: /* expression_label: "label" "integer constant" ':' */ + case 57: /* expression_label: "label" "integer constant" ':' */ { (yyval.pExpression) = new ExprLabel(tokAt(scanner,(yylsp[-2])),(yyvsp[-1].i)); } break; - case 54: /* expression_goto: "goto" "label" "integer constant" */ + case 58: /* expression_goto: "goto" "label" "integer constant" */ { (yyval.pExpression) = new ExprGoto(tokAt(scanner,(yylsp[-2])),(yyvsp[0].i)); } break; - case 55: /* expression_goto: "goto" expr */ + case 59: /* expression_goto: "goto" expr */ { (yyval.pExpression) = new ExprGoto(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 56: /* elif_or_static_elif: "elif" */ + case 60: /* elif_or_static_elif: "elif" */ { (yyval.b) = false; } break; - case 57: /* elif_or_static_elif: "static_elif" */ + case 61: /* elif_or_static_elif: "static_elif" */ { (yyval.b) = true; } break; - case 58: /* expression_else: %empty */ + case 66: /* expression_else: %empty */ { (yyval.pExpression) = nullptr; } break; - case 59: /* expression_else: "else" optional_semis expression_block */ - { (yyval.pExpression) = (yyvsp[0].pExpression); } + case 67: /* expression_else: "else" optional_emit_semis expression_block */ + { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 60: /* expression_else: elif_or_static_elif '(' expr ')' optional_semis expression_block expression_else */ - { + case 68: /* expression_else: elif_or_static_elif '(' expr ')' optional_emit_semis expression_block expression_else */ + { auto eite = new ExprIfThenElse(tokAt(scanner,(yylsp[-6])),ExpressionPtr((yyvsp[-4].pExpression)), ExpressionPtr((yyvsp[-1].pExpression)),ExpressionPtr((yyvsp[0].pExpression))); eite->isStatic = (yyvsp[-6].b); @@ -6064,52 +6020,52 @@ YYLTYPE yylloc = yyloc_default; } break; - case 61: /* if_or_static_if: "if" */ + case 69: /* if_or_static_if: "if" */ { (yyval.b) = false; } break; - case 62: /* if_or_static_if: "static_if" */ + case 70: /* if_or_static_if: "static_if" */ { (yyval.b) = true; } break; - case 63: /* expression_else_one_liner: %empty */ + case 71: /* expression_else_one_liner: %empty */ { (yyval.pExpression) = nullptr; } break; - case 64: /* expression_else_one_liner: "else" expression_if_one_liner */ + case 72: /* expression_else_one_liner: "else" expression_if_one_liner */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 65: /* expression_if_one_liner: expr */ + case 73: /* expression_if_one_liner: expr */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 66: /* expression_if_one_liner: expression_return */ + case 74: /* expression_if_one_liner: expression_return */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 67: /* expression_if_one_liner: expression_yield */ + case 75: /* expression_if_one_liner: expression_yield */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 68: /* expression_if_one_liner: expression_break */ + case 76: /* expression_if_one_liner: expression_break */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 69: /* expression_if_one_liner: expression_continue */ + case 77: /* expression_if_one_liner: expression_continue */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 74: /* $@2: %empty */ + case 82: /* $@2: %empty */ { yyextra->das_keyword = true; } break; - case 75: /* expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_semis expression_block expression_else */ - { + case 83: /* expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_emit_semis expression_block expression_else */ + { yyextra->das_keyword = false; auto eite = new ExprIfThenElse(tokAt(scanner,(yylsp[-6])),ExpressionPtr((yyvsp[-4].pExpression)), ExpressionPtr((yyvsp[-1].pExpression)),ExpressionPtr((yyvsp[0].pExpression))); @@ -6118,41 +6074,41 @@ YYLTYPE yylloc = yyloc_default; } break; - case 76: /* expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' expression_else_one_liner ';' */ - { + case 84: /* expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' expression_else_one_liner SEMICOLON */ + { (yyval.pExpression) = new ExprIfThenElse(tokAt(scanner,(yylsp[-5])),ExpressionPtr((yyvsp[-3].pExpression)),ExpressionPtr(ast_wrapInBlock((yyvsp[-6].pExpression))),(yyvsp[-1].pExpression) ? ExpressionPtr(ast_wrapInBlock((yyvsp[-1].pExpression))) : nullptr); } break; - case 77: /* $@3: %empty */ + case 85: /* $@3: %empty */ { yyextra->das_keyword = true; } break; - case 78: /* expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list ')' optional_semis expression_block */ - { + case 86: /* expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list ')' optional_emit_semis expression_block */ + { yyextra->das_keyword = false; (yyval.pExpression) = ast_forLoop(scanner,(yyvsp[-5].pNameWithPosList),(yyvsp[-3].pExpression),(yyvsp[0].pExpression),tokAt(scanner,(yylsp[-7])),tokAt(scanner,(yylsp[0]))); } break; - case 79: /* expression_unsafe: "unsafe" optional_semis expression_block */ - { + case 87: /* expression_unsafe: "unsafe" optional_emit_semis expression_block */ + { auto pUnsafe = new ExprUnsafe(tokAt(scanner,(yylsp[-2]))); pUnsafe->body = ExpressionPtr((yyvsp[0].pExpression)); (yyval.pExpression) = pUnsafe; } break; - case 80: /* $@4: %empty */ + case 88: /* $@4: %empty */ { yyextra->das_keyword = true; } break; - case 81: /* expression_while_loop: $@4 "while" '(' expr ')' optional_semis expression_block */ - { + case 89: /* expression_while_loop: $@4 "while" '(' expr ')' optional_emit_semis expression_block */ + { yyextra->das_keyword = false; auto pWhile = new ExprWhile(tokAt(scanner,(yylsp[-5]))); pWhile->cond = ExpressionPtr((yyvsp[-3].pExpression)); @@ -6162,14 +6118,14 @@ YYLTYPE yylloc = yyloc_default; } break; - case 82: /* $@5: %empty */ + case 90: /* $@5: %empty */ { yyextra->das_keyword = true; } break; - case 83: /* expression_with: $@5 "with" '(' expr ')' optional_semis expression_block */ - { + case 91: /* expression_with: $@5 "with" '(' expr ')' optional_emit_semis expression_block */ + { yyextra->das_keyword = false; auto pWith = new ExprWith(tokAt(scanner,(yylsp[-5]))); pWith->with = ExpressionPtr((yyvsp[-3].pExpression)); @@ -6178,38 +6134,38 @@ YYLTYPE yylloc = yyloc_default; } break; - case 84: /* expression_with_alias: "assume" "name" '=' expr */ + case 92: /* expression_with_alias: "assume" "name" '=' expr */ { (yyval.pExpression) = new ExprAssume(tokAt(scanner,(yylsp[-3])), *(yyvsp[-2].s), (yyvsp[0].pExpression) ); delete (yyvsp[-2].s); } break; - case 85: /* annotation_argument_value: string_constant */ + case 93: /* annotation_argument_value: string_constant */ { (yyval.aa) = new AnnotationArgument("",*(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 86: /* annotation_argument_value: "name" */ + case 94: /* annotation_argument_value: "name" */ { (yyval.aa) = new AnnotationArgument("",*(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 87: /* annotation_argument_value: "integer constant" */ + case 95: /* annotation_argument_value: "integer constant" */ { (yyval.aa) = new AnnotationArgument("",(yyvsp[0].i)); } break; - case 88: /* annotation_argument_value: "floating point constant" */ + case 96: /* annotation_argument_value: "floating point constant" */ { (yyval.aa) = new AnnotationArgument("",float((yyvsp[0].fd))); } break; - case 89: /* annotation_argument_value: "true" */ + case 97: /* annotation_argument_value: "true" */ { (yyval.aa) = new AnnotationArgument("",true); } break; - case 90: /* annotation_argument_value: "false" */ + case 98: /* annotation_argument_value: "false" */ { (yyval.aa) = new AnnotationArgument("",false); } break; - case 91: /* annotation_argument_value_list: annotation_argument_value */ + case 99: /* annotation_argument_value_list: annotation_argument_value */ { (yyval.aaList) = new AnnotationArgumentList(); (yyval.aaList)->push_back(*(yyvsp[0].aa)); @@ -6217,7 +6173,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 92: /* annotation_argument_value_list: annotation_argument_value_list ',' annotation_argument_value */ + case 100: /* annotation_argument_value_list: annotation_argument_value_list ',' annotation_argument_value */ { (yyval.aaList) = (yyvsp[-2].aaList); (yyval.aaList)->push_back(*(yyvsp[0].aa)); @@ -6225,89 +6181,89 @@ YYLTYPE yylloc = yyloc_default; } break; - case 93: /* annotation_argument_name: "name" */ + case 101: /* annotation_argument_name: "name" */ { (yyval.s) = (yyvsp[0].s); } break; - case 94: /* annotation_argument_name: "type" */ + case 102: /* annotation_argument_name: "type" */ { (yyval.s) = new string("type"); } break; - case 95: /* annotation_argument_name: "in" */ + case 103: /* annotation_argument_name: "in" */ { (yyval.s) = new string("in"); } break; - case 96: /* annotation_argument: annotation_argument_name '=' string_constant */ + case 104: /* annotation_argument: annotation_argument_name '=' string_constant */ { (yyval.aa) = new AnnotationArgument(*(yyvsp[-2].s),*(yyvsp[0].s),tokAt(scanner,(yylsp[-2]))); delete (yyvsp[0].s); delete (yyvsp[-2].s); } break; - case 97: /* annotation_argument: annotation_argument_name '=' "name" */ + case 105: /* annotation_argument: annotation_argument_name '=' "name" */ { (yyval.aa) = new AnnotationArgument(*(yyvsp[-2].s),*(yyvsp[0].s),tokAt(scanner,(yylsp[-2]))); delete (yyvsp[0].s); delete (yyvsp[-2].s); } break; - case 98: /* annotation_argument: annotation_argument_name '=' "integer constant" */ + case 106: /* annotation_argument: annotation_argument_name '=' "integer constant" */ { (yyval.aa) = new AnnotationArgument(*(yyvsp[-2].s),(yyvsp[0].i),tokAt(scanner,(yylsp[-2]))); delete (yyvsp[-2].s); } break; - case 99: /* annotation_argument: annotation_argument_name '=' "floating point constant" */ + case 107: /* annotation_argument: annotation_argument_name '=' "floating point constant" */ { (yyval.aa) = new AnnotationArgument(*(yyvsp[-2].s),float((yyvsp[0].fd)),tokAt(scanner,(yylsp[-2]))); delete (yyvsp[-2].s); } break; - case 100: /* annotation_argument: annotation_argument_name '=' "true" */ + case 108: /* annotation_argument: annotation_argument_name '=' "true" */ { (yyval.aa) = new AnnotationArgument(*(yyvsp[-2].s),true,tokAt(scanner,(yylsp[-2]))); delete (yyvsp[-2].s); } break; - case 101: /* annotation_argument: annotation_argument_name '=' "false" */ + case 109: /* annotation_argument: annotation_argument_name '=' "false" */ { (yyval.aa) = new AnnotationArgument(*(yyvsp[-2].s),false,tokAt(scanner,(yylsp[-2]))); delete (yyvsp[-2].s); } break; - case 102: /* annotation_argument: annotation_argument_name */ + case 110: /* annotation_argument: annotation_argument_name */ { (yyval.aa) = new AnnotationArgument(*(yyvsp[0].s),true,tokAt(scanner,(yylsp[0]))); delete (yyvsp[0].s); } break; - case 103: /* annotation_argument: annotation_argument_name '=' '(' annotation_argument_value_list ')' */ + case 111: /* annotation_argument: annotation_argument_name '=' '(' annotation_argument_value_list ')' */ { { (yyval.aa) = new AnnotationArgument(*(yyvsp[-4].s),(yyvsp[-1].aaList),tokAt(scanner,(yylsp[-4]))); delete (yyvsp[-4].s); } } break; - case 104: /* annotation_argument_list: annotation_argument */ + case 112: /* annotation_argument_list: annotation_argument */ { (yyval.aaList) = ast_annotationArgumentListEntry(scanner,new AnnotationArgumentList(),(yyvsp[0].aa)); } break; - case 105: /* annotation_argument_list: annotation_argument_list ',' annotation_argument */ + case 113: /* annotation_argument_list: annotation_argument_list ',' annotation_argument */ { (yyval.aaList) = ast_annotationArgumentListEntry(scanner,(yyvsp[-2].aaList),(yyvsp[0].aa)); } break; - case 106: /* metadata_argument_list: '@' annotation_argument */ + case 114: /* metadata_argument_list: '@' annotation_argument */ { (yyval.aaList) = ast_annotationArgumentListEntry(scanner,new AnnotationArgumentList(),(yyvsp[0].aa)); } break; - case 107: /* metadata_argument_list: metadata_argument_list '@' annotation_argument */ + case 115: /* metadata_argument_list: metadata_argument_list '@' annotation_argument */ { (yyval.aaList) = ast_annotationArgumentListEntry(scanner,(yyvsp[-2].aaList),(yyvsp[0].aa)); } break; - case 108: /* annotation_declaration_name: name_in_namespace */ + case 116: /* annotation_declaration_name: name_in_namespace */ { (yyval.s) = (yyvsp[0].s); } break; - case 109: /* annotation_declaration_name: "require" */ + case 117: /* annotation_declaration_name: "require" */ { (yyval.s) = new string("require"); } break; - case 110: /* annotation_declaration_name: "private" */ + case 118: /* annotation_declaration_name: "private" */ { (yyval.s) = new string("private"); } break; - case 111: /* annotation_declaration_basic: annotation_declaration_name */ + case 119: /* annotation_declaration_basic: annotation_declaration_name */ { (yyval.fa) = new AnnotationDeclaration(); (yyval.fa)->at = tokAt(scanner,(yylsp[0])); @@ -6323,7 +6279,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 112: /* annotation_declaration_basic: annotation_declaration_name '(' annotation_argument_list ')' */ + case 120: /* annotation_declaration_basic: annotation_declaration_name '(' annotation_argument_list ')' */ { (yyval.fa) = new AnnotationDeclaration(); (yyval.fa)->at = tokAt(scanner,(yylsp[-3])); @@ -6341,13 +6297,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 113: /* annotation_declaration: annotation_declaration_basic */ + case 121: /* annotation_declaration: annotation_declaration_basic */ { (yyval.fa) = (yyvsp[0].fa); } break; - case 114: /* annotation_declaration: '!' annotation_declaration */ + case 122: /* annotation_declaration: '!' annotation_declaration */ { if ( !(yyvsp[0].fa)->annotation->rtti_isFunctionAnnotation() || !((FunctionAnnotation *)((yyvsp[0].fa)->annotation.get()))->isSpecialized() ) { das2_yyerror(scanner,"can only run logical operations on contracts", tokAt(scanner, (yylsp[0])), @@ -6358,7 +6314,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 115: /* annotation_declaration: annotation_declaration "&&" annotation_declaration */ + case 123: /* annotation_declaration: annotation_declaration "&&" annotation_declaration */ { if ( !(yyvsp[-2].fa)->annotation->rtti_isFunctionAnnotation() || !((FunctionAnnotation *)((yyvsp[-2].fa)->annotation.get()))->isSpecialized() ) { das2_yyerror(scanner,"can only run logical operations on contracts", tokAt(scanner, (yylsp[-2])), @@ -6372,7 +6328,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 116: /* annotation_declaration: annotation_declaration "||" annotation_declaration */ + case 124: /* annotation_declaration: annotation_declaration "||" annotation_declaration */ { if ( !(yyvsp[-2].fa)->annotation || !(yyvsp[-2].fa)->annotation->rtti_isFunctionAnnotation() || !((FunctionAnnotation *)((yyvsp[-2].fa)->annotation.get()))->isSpecialized() ) { das2_yyerror(scanner,"can only run logical operations on contracts", tokAt(scanner, (yylsp[-2])), @@ -6386,7 +6342,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 117: /* annotation_declaration: annotation_declaration "^^" annotation_declaration */ + case 125: /* annotation_declaration: annotation_declaration "^^" annotation_declaration */ { if ( !(yyvsp[-2].fa)->annotation->rtti_isFunctionAnnotation() || !((FunctionAnnotation *)((yyvsp[-2].fa)->annotation.get()))->isSpecialized() ) { das2_yyerror(scanner,"can only run logical operations on contracts", tokAt(scanner, (yylsp[-2])), @@ -6400,410 +6356,410 @@ YYLTYPE yylloc = yyloc_default; } break; - case 118: /* annotation_declaration: '(' annotation_declaration ')' */ + case 126: /* annotation_declaration: '(' annotation_declaration ')' */ { (yyval.fa) = (yyvsp[-1].fa); } break; - case 119: /* annotation_declaration: "|>" annotation_declaration */ + case 127: /* annotation_declaration: "|>" annotation_declaration */ { (yyval.fa) = (yyvsp[0].fa); (yyvsp[0].fa)->inherited = true; } break; - case 120: /* annotation_list: annotation_declaration */ + case 128: /* annotation_list: annotation_declaration */ { (yyval.faList) = new AnnotationList(); (yyval.faList)->push_back(AnnotationDeclarationPtr((yyvsp[0].fa))); } break; - case 121: /* annotation_list: annotation_list ',' annotation_declaration */ + case 129: /* annotation_list: annotation_list ',' annotation_declaration */ { (yyval.faList) = (yyvsp[-2].faList); (yyval.faList)->push_back(AnnotationDeclarationPtr((yyvsp[0].fa))); } break; - case 122: /* optional_annotation_list: %empty */ + case 130: /* optional_annotation_list: %empty */ { (yyval.faList) = nullptr; } break; - case 123: /* optional_annotation_list: '[' annotation_list ']' */ + case 131: /* optional_annotation_list: '[' annotation_list ']' */ { (yyval.faList) = (yyvsp[-1].faList); } break; - case 124: /* optional_function_argument_list: %empty */ + case 132: /* optional_function_argument_list: %empty */ { (yyval.pVarDeclList) = nullptr; } break; - case 125: /* optional_function_argument_list: '(' ')' */ + case 133: /* optional_function_argument_list: '(' ')' */ { (yyval.pVarDeclList) = nullptr; } break; - case 126: /* optional_function_argument_list: '(' function_argument_list ')' */ + case 134: /* optional_function_argument_list: '(' function_argument_list ')' */ { (yyval.pVarDeclList) = (yyvsp[-1].pVarDeclList); } break; - case 127: /* optional_function_type: %empty */ + case 135: /* optional_function_type: %empty */ { (yyval.pTypeDecl) = new TypeDecl(Type::autoinfer); } break; - case 128: /* optional_function_type: ':' type_declaration */ + case 136: /* optional_function_type: ':' type_declaration */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[0])); } break; - case 129: /* function_name: "name" */ + case 137: /* function_name: "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); (yyval.s) = (yyvsp[0].s); } break; - case 130: /* function_name: "operator" '!' */ + case 138: /* function_name: "operator" '!' */ { (yyval.s) = new string("!"); } break; - case 131: /* function_name: "operator" '~' */ + case 139: /* function_name: "operator" '~' */ { (yyval.s) = new string("~"); } break; - case 132: /* function_name: "operator" "+=" */ + case 140: /* function_name: "operator" "+=" */ { (yyval.s) = new string("+="); } break; - case 133: /* function_name: "operator" "-=" */ + case 141: /* function_name: "operator" "-=" */ { (yyval.s) = new string("-="); } break; - case 134: /* function_name: "operator" "*=" */ + case 142: /* function_name: "operator" "*=" */ { (yyval.s) = new string("*="); } break; - case 135: /* function_name: "operator" "/=" */ + case 143: /* function_name: "operator" "/=" */ { (yyval.s) = new string("/="); } break; - case 136: /* function_name: "operator" "%=" */ + case 144: /* function_name: "operator" "%=" */ { (yyval.s) = new string("%="); } break; - case 137: /* function_name: "operator" "&=" */ + case 145: /* function_name: "operator" "&=" */ { (yyval.s) = new string("&="); } break; - case 138: /* function_name: "operator" "|=" */ + case 146: /* function_name: "operator" "|=" */ { (yyval.s) = new string("|="); } break; - case 139: /* function_name: "operator" "^=" */ + case 147: /* function_name: "operator" "^=" */ { (yyval.s) = new string("^="); } break; - case 140: /* function_name: "operator" "&&=" */ + case 148: /* function_name: "operator" "&&=" */ { (yyval.s) = new string("&&="); } break; - case 141: /* function_name: "operator" "||=" */ + case 149: /* function_name: "operator" "||=" */ { (yyval.s) = new string("||="); } break; - case 142: /* function_name: "operator" "^^=" */ + case 150: /* function_name: "operator" "^^=" */ { (yyval.s) = new string("^^="); } break; - case 143: /* function_name: "operator" "&&" */ + case 151: /* function_name: "operator" "&&" */ { (yyval.s) = new string("&&"); } break; - case 144: /* function_name: "operator" "||" */ + case 152: /* function_name: "operator" "||" */ { (yyval.s) = new string("||"); } break; - case 145: /* function_name: "operator" "^^" */ + case 153: /* function_name: "operator" "^^" */ { (yyval.s) = new string("^^"); } break; - case 146: /* function_name: "operator" '+' */ + case 154: /* function_name: "operator" '+' */ { (yyval.s) = new string("+"); } break; - case 147: /* function_name: "operator" '-' */ + case 155: /* function_name: "operator" '-' */ { (yyval.s) = new string("-"); } break; - case 148: /* function_name: "operator" '*' */ + case 156: /* function_name: "operator" '*' */ { (yyval.s) = new string("*"); } break; - case 149: /* function_name: "operator" '/' */ + case 157: /* function_name: "operator" '/' */ { (yyval.s) = new string("/"); } break; - case 150: /* function_name: "operator" '%' */ + case 158: /* function_name: "operator" '%' */ { (yyval.s) = new string("%"); } break; - case 151: /* function_name: "operator" '<' */ + case 159: /* function_name: "operator" '<' */ { (yyval.s) = new string("<"); } break; - case 152: /* function_name: "operator" '>' */ + case 160: /* function_name: "operator" '>' */ { (yyval.s) = new string(">"); } break; - case 153: /* function_name: "operator" ".." */ + case 161: /* function_name: "operator" ".." */ { (yyval.s) = new string("interval"); } break; - case 154: /* function_name: "operator" "==" */ + case 162: /* function_name: "operator" "==" */ { (yyval.s) = new string("=="); } break; - case 155: /* function_name: "operator" "!=" */ + case 163: /* function_name: "operator" "!=" */ { (yyval.s) = new string("!="); } break; - case 156: /* function_name: "operator" "<=" */ + case 164: /* function_name: "operator" "<=" */ { (yyval.s) = new string("<="); } break; - case 157: /* function_name: "operator" ">=" */ + case 165: /* function_name: "operator" ">=" */ { (yyval.s) = new string(">="); } break; - case 158: /* function_name: "operator" '&' */ + case 166: /* function_name: "operator" '&' */ { (yyval.s) = new string("&"); } break; - case 159: /* function_name: "operator" '|' */ + case 167: /* function_name: "operator" '|' */ { (yyval.s) = new string("|"); } break; - case 160: /* function_name: "operator" '^' */ + case 168: /* function_name: "operator" '^' */ { (yyval.s) = new string("^"); } break; - case 161: /* function_name: "++" "operator" */ + case 169: /* function_name: "++" "operator" */ { (yyval.s) = new string("++"); } break; - case 162: /* function_name: "--" "operator" */ + case 170: /* function_name: "--" "operator" */ { (yyval.s) = new string("--"); } break; - case 163: /* function_name: "operator" "++" */ + case 171: /* function_name: "operator" "++" */ { (yyval.s) = new string("+++"); } break; - case 164: /* function_name: "operator" "--" */ + case 172: /* function_name: "operator" "--" */ { (yyval.s) = new string("---"); } break; - case 165: /* function_name: "operator" "<<" */ + case 173: /* function_name: "operator" "<<" */ { (yyval.s) = new string("<<"); } break; - case 166: /* function_name: "operator" ">>" */ + case 174: /* function_name: "operator" ">>" */ { (yyval.s) = new string(">>"); } break; - case 167: /* function_name: "operator" "<<=" */ + case 175: /* function_name: "operator" "<<=" */ { (yyval.s) = new string("<<="); } break; - case 168: /* function_name: "operator" ">>=" */ + case 176: /* function_name: "operator" ">>=" */ { (yyval.s) = new string(">>="); } break; - case 169: /* function_name: "operator" "<<<" */ + case 177: /* function_name: "operator" "<<<" */ { (yyval.s) = new string("<<<"); } break; - case 170: /* function_name: "operator" ">>>" */ + case 178: /* function_name: "operator" ">>>" */ { (yyval.s) = new string(">>>"); } break; - case 171: /* function_name: "operator" "<<<=" */ + case 179: /* function_name: "operator" "<<<=" */ { (yyval.s) = new string("<<<="); } break; - case 172: /* function_name: "operator" ">>>=" */ + case 180: /* function_name: "operator" ">>>=" */ { (yyval.s) = new string(">>>="); } break; - case 173: /* function_name: "operator" '[' ']' */ + case 181: /* function_name: "operator" '[' ']' */ { (yyval.s) = new string("[]"); } break; - case 174: /* function_name: "operator" "?[" ']' */ + case 182: /* function_name: "operator" "?[" ']' */ { (yyval.s) = new string("?[]"); } break; - case 175: /* function_name: "operator" '.' */ + case 183: /* function_name: "operator" '.' */ { (yyval.s) = new string("."); } break; - case 176: /* function_name: "operator" "?." */ + case 184: /* function_name: "operator" "?." */ { (yyval.s) = new string("?."); } break; - case 177: /* function_name: "operator" '.' "name" */ + case 185: /* function_name: "operator" '.' "name" */ { (yyval.s) = new string(".`"+*(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 178: /* function_name: "operator" '.' "name" ":=" */ + case 186: /* function_name: "operator" '.' "name" ":=" */ { (yyval.s) = new string(".`"+*(yyvsp[-1].s)+"`clone"); delete (yyvsp[-1].s); } break; - case 179: /* function_name: "operator" "?." "name" */ + case 187: /* function_name: "operator" "?." "name" */ { (yyval.s) = new string("?.`"+*(yyvsp[0].s)); delete (yyvsp[0].s);} break; - case 180: /* function_name: "operator" ":=" */ + case 188: /* function_name: "operator" ":=" */ { (yyval.s) = new string("clone"); } break; - case 181: /* function_name: "operator" "delete" */ + case 189: /* function_name: "operator" "delete" */ { (yyval.s) = new string("finalize"); } break; - case 182: /* function_name: "operator" "??" */ + case 190: /* function_name: "operator" "??" */ { (yyval.s) = new string("??"); } break; - case 183: /* function_name: "operator" "is" */ + case 191: /* function_name: "operator" "is" */ { (yyval.s) = new string("`is"); } break; - case 184: /* function_name: "operator" "as" */ + case 192: /* function_name: "operator" "as" */ { (yyval.s) = new string("`as"); } break; - case 185: /* function_name: "operator" "is" "name" */ + case 193: /* function_name: "operator" "is" "name" */ { (yyval.s) = (yyvsp[0].s); *(yyvsp[0].s) = "`is`" + *(yyvsp[0].s); } break; - case 186: /* function_name: "operator" "as" "name" */ + case 194: /* function_name: "operator" "as" "name" */ { (yyval.s) = (yyvsp[0].s); *(yyvsp[0].s) = "`as`" + *(yyvsp[0].s); } break; - case 187: /* function_name: "operator" '?' "as" */ + case 195: /* function_name: "operator" '?' "as" */ { (yyval.s) = new string("?as"); } break; - case 188: /* function_name: "operator" '?' "as" "name" */ + case 196: /* function_name: "operator" '?' "as" "name" */ { (yyval.s) = (yyvsp[0].s); *(yyvsp[0].s) = "?as`" + *(yyvsp[0].s); } break; - case 189: /* function_name: "bool" */ + case 197: /* function_name: "bool" */ { (yyval.s) = new string("bool"); } break; - case 190: /* function_name: "string" */ + case 198: /* function_name: "string" */ { (yyval.s) = new string("string"); } break; - case 191: /* function_name: "int" */ + case 199: /* function_name: "int" */ { (yyval.s) = new string("int"); } break; - case 192: /* function_name: "int2" */ + case 200: /* function_name: "int2" */ { (yyval.s) = new string("int2"); } break; - case 193: /* function_name: "int3" */ + case 201: /* function_name: "int3" */ { (yyval.s) = new string("int3"); } break; - case 194: /* function_name: "int4" */ + case 202: /* function_name: "int4" */ { (yyval.s) = new string("int4"); } break; - case 195: /* function_name: "uint" */ + case 203: /* function_name: "uint" */ { (yyval.s) = new string("uint"); } break; - case 196: /* function_name: "uint2" */ + case 204: /* function_name: "uint2" */ { (yyval.s) = new string("uint2"); } break; - case 197: /* function_name: "uint3" */ + case 205: /* function_name: "uint3" */ { (yyval.s) = new string("uint3"); } break; - case 198: /* function_name: "uint4" */ + case 206: /* function_name: "uint4" */ { (yyval.s) = new string("uint4"); } break; - case 199: /* function_name: "float" */ + case 207: /* function_name: "float" */ { (yyval.s) = new string("float"); } break; - case 200: /* function_name: "float2" */ + case 208: /* function_name: "float2" */ { (yyval.s) = new string("float2"); } break; - case 201: /* function_name: "float3" */ + case 209: /* function_name: "float3" */ { (yyval.s) = new string("float3"); } break; - case 202: /* function_name: "float4" */ + case 210: /* function_name: "float4" */ { (yyval.s) = new string("float4"); } break; - case 203: /* function_name: "range" */ + case 211: /* function_name: "range" */ { (yyval.s) = new string("range"); } break; - case 204: /* function_name: "urange" */ + case 212: /* function_name: "urange" */ { (yyval.s) = new string("urange"); } break; - case 205: /* function_name: "range64" */ + case 213: /* function_name: "range64" */ { (yyval.s) = new string("range64"); } break; - case 206: /* function_name: "urange64" */ + case 214: /* function_name: "urange64" */ { (yyval.s) = new string("urange64"); } break; - case 207: /* function_name: "int64" */ + case 215: /* function_name: "int64" */ { (yyval.s) = new string("int64"); } break; - case 208: /* function_name: "uint64" */ + case 216: /* function_name: "uint64" */ { (yyval.s) = new string("uint64"); } break; - case 209: /* function_name: "double" */ + case 217: /* function_name: "double" */ { (yyval.s) = new string("double"); } break; - case 210: /* function_name: "int8" */ + case 218: /* function_name: "int8" */ { (yyval.s) = new string("int8"); } break; - case 211: /* function_name: "uint8" */ + case 219: /* function_name: "uint8" */ { (yyval.s) = new string("uint8"); } break; - case 212: /* function_name: "int16" */ + case 220: /* function_name: "int16" */ { (yyval.s) = new string("int16"); } break; - case 213: /* function_name: "uint16" */ + case 221: /* function_name: "uint16" */ { (yyval.s) = new string("uint16"); } break; - case 214: /* global_function_declaration: optional_annotation_list "def" function_declaration */ + case 222: /* global_function_declaration: optional_annotation_list "def" function_declaration */ { (yyvsp[0].pFuncDecl)->atDecl = tokRangeAt(scanner,(yylsp[-1]),(yylsp[0])); assignDefaultArguments((yyvsp[0].pFuncDecl)); @@ -6821,25 +6777,25 @@ YYLTYPE yylloc = yyloc_default; } break; - case 215: /* optional_public_or_private_function: %empty */ + case 223: /* optional_public_or_private_function: %empty */ { (yyval.b) = yyextra->g_thisStructure ? !yyextra->g_thisStructure->privateStructure : yyextra->g_Program->thisModule->isPublic; } break; - case 216: /* optional_public_or_private_function: "private" */ + case 224: /* optional_public_or_private_function: "private" */ { (yyval.b) = false; } break; - case 217: /* optional_public_or_private_function: "public" */ + case 225: /* optional_public_or_private_function: "public" */ { (yyval.b) = true; } break; - case 218: /* function_declaration_header: function_name optional_function_argument_list optional_function_type */ + case 226: /* function_declaration_header: function_name optional_function_argument_list optional_function_type */ { (yyval.pFuncDecl) = ast_functionDeclarationHeader(scanner,(yyvsp[-2].s),(yyvsp[-1].pVarDeclList),(yyvsp[0].pTypeDecl),tokAt(scanner,(yylsp[-2]))); } break; - case 219: /* $@6: %empty */ + case 227: /* $@6: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -6848,7 +6804,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 220: /* function_declaration: optional_public_or_private_function $@6 function_declaration_header expression_block */ + case 228: /* function_declaration: optional_public_or_private_function $@6 function_declaration_header expression_block */ { (yyvsp[-1].pFuncDecl)->body = ExpressionPtr((yyvsp[0].pExpression)); (yyvsp[-1].pFuncDecl)->privateFunction = !(yyvsp[-3].b); @@ -6860,47 +6816,43 @@ YYLTYPE yylloc = yyloc_default; } break; - case 221: /* expression_block_finally: %empty */ + case 229: /* expression_block_finally: %empty */ { (yyval.pExpression) = nullptr; } break; - case 222: /* $@7: %empty */ + case 230: /* $@7: %empty */ { - yyextra->das_indent_level++; - yyextra->push_nesteds(); + yyextra->push_nesteds(DAS_EMIT_SEMICOLON); } break; - case 223: /* $@8: %empty */ + case 231: /* $@8: %empty */ { - yyextra->das_indent_level--; yyextra->pop_nesteds(); } break; - case 224: /* expression_block_finally: "finally" $@7 '{' expressions $@8 '}' */ + case 232: /* expression_block_finally: "finally" $@7 '{' expressions $@8 '}' */ { (yyval.pExpression) = (yyvsp[-2].pExpression); } break; - case 225: /* $@9: %empty */ + case 233: /* $@9: %empty */ { - yyextra->das_indent_level++; - yyextra->push_nesteds(); + yyextra->push_nesteds(DAS_EMIT_SEMICOLON); } break; - case 226: /* $@10: %empty */ + case 234: /* $@10: %empty */ { - yyextra->das_indent_level--; yyextra->pop_nesteds(); } break; - case 227: /* expression_block: $@9 '{' expressions $@10 '}' expression_block_finally */ + case 235: /* expression_block: $@9 '{' expressions $@10 '}' expression_block_finally */ { (yyval.pExpression) = (yyvsp[-3].pExpression); (yyval.pExpression)->at = tokRangeAt(scanner,(yylsp[-4]),(yylsp[0])); @@ -6913,7 +6865,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 228: /* expr_call_pipe: expr_call expr_full_block_assumed_piped */ + case 236: /* expr_call_pipe: expr_call expr_full_block_assumed_piped */ { if ( (yyvsp[-1].pExpression)->rtti_isCallLikeExpr() ) { ((ExprLooksLikeCall *)(yyvsp[-1].pExpression))->arguments.push_back(ExpressionPtr((yyvsp[0].pExpression))); @@ -6925,83 +6877,83 @@ YYLTYPE yylloc = yyloc_default; } break; - case 229: /* expression_any: ';' */ - { (yyval.pExpression) = nullptr; } + case 237: /* expression_any: SEMICOLON */ + { (yyval.pExpression) = nullptr; } break; - case 230: /* expression_any: expr_assign ';' */ - { (yyval.pExpression) = (yyvsp[-1].pExpression); } + case 238: /* expression_any: expr_assign SEMICOLON */ + { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 231: /* expression_any: expression_delete ';' */ - { (yyval.pExpression) = (yyvsp[-1].pExpression); } + case 239: /* expression_any: expression_delete SEMICOLON */ + { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 232: /* expression_any: expression_let */ - { (yyval.pExpression) = (yyvsp[0].pExpression); } + case 240: /* expression_any: expression_let */ + { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 233: /* expression_any: expression_while_loop */ - { (yyval.pExpression) = (yyvsp[0].pExpression); } + case 241: /* expression_any: expression_while_loop */ + { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 234: /* expression_any: expression_unsafe */ - { (yyval.pExpression) = (yyvsp[0].pExpression); } + case 242: /* expression_any: expression_unsafe */ + { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 235: /* expression_any: expression_with */ - { (yyval.pExpression) = (yyvsp[0].pExpression); } + case 243: /* expression_any: expression_with */ + { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 236: /* expression_any: expression_with_alias ';' */ - { (yyval.pExpression) = (yyvsp[-1].pExpression); } + case 244: /* expression_any: expression_with_alias SEMICOLON */ + { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 237: /* expression_any: expression_for_loop */ - { (yyval.pExpression) = (yyvsp[0].pExpression); } + case 245: /* expression_any: expression_for_loop */ + { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 238: /* expression_any: expression_break ';' */ - { (yyval.pExpression) = (yyvsp[-1].pExpression); } + case 246: /* expression_any: expression_break SEMICOLON */ + { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 239: /* expression_any: expression_continue ';' */ - { (yyval.pExpression) = (yyvsp[-1].pExpression); } + case 247: /* expression_any: expression_continue SEMICOLON */ + { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 240: /* expression_any: expression_return ';' */ - { (yyval.pExpression) = (yyvsp[-1].pExpression); } + case 248: /* expression_any: expression_return SEMICOLON */ + { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 241: /* expression_any: expression_yield ';' */ - { (yyval.pExpression) = (yyvsp[-1].pExpression); } + case 249: /* expression_any: expression_yield SEMICOLON */ + { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 242: /* expression_any: expression_if_then_else */ - { (yyval.pExpression) = (yyvsp[0].pExpression); } + case 250: /* expression_any: expression_if_then_else */ + { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 243: /* expression_any: expression_if_then_else_oneliner */ + case 251: /* expression_any: expression_if_then_else_oneliner */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 244: /* expression_any: expression_try_catch */ - { (yyval.pExpression) = (yyvsp[0].pExpression); } + case 252: /* expression_any: expression_try_catch */ + { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 245: /* expression_any: expression_label ';' */ - { (yyval.pExpression) = (yyvsp[-1].pExpression); } + case 253: /* expression_any: expression_label SEMICOLON */ + { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 246: /* expression_any: expression_goto ';' */ - { (yyval.pExpression) = (yyvsp[-1].pExpression); } + case 254: /* expression_any: expression_goto SEMICOLON */ + { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 247: /* expression_any: "pass" ';' */ - { (yyval.pExpression) = nullptr; } + case 255: /* expression_any: "pass" SEMICOLON */ + { (yyval.pExpression) = nullptr; } break; - case 248: /* expressions: %empty */ + case 256: /* expressions: %empty */ { (yyval.pExpression) = new ExprBlock(); (yyval.pExpression)->at = LineInfo(yyextra->g_FileAccessStack.back(), @@ -7009,7 +6961,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 249: /* expressions: expressions expression_any */ + case 257: /* expressions: expressions expression_any */ { (yyval.pExpression) = (yyvsp[-1].pExpression); if ( (yyvsp[0].pExpression) ) { @@ -7018,47 +6970,47 @@ YYLTYPE yylloc = yyloc_default; } break; - case 250: /* expressions: expressions error */ + case 258: /* expressions: expressions error */ { delete (yyvsp[-1].pExpression); (yyval.pExpression) = nullptr; YYABORT; } break; - case 251: /* optional_expr_list: %empty */ + case 259: /* optional_expr_list: %empty */ { (yyval.pExpression) = nullptr; } break; - case 252: /* optional_expr_list: expr_list optional_comma */ + case 260: /* optional_expr_list: expr_list optional_comma */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 253: /* optional_expr_map_tuple_list: %empty */ + case 261: /* optional_expr_map_tuple_list: %empty */ { (yyval.pExpression) = nullptr; } break; - case 254: /* optional_expr_map_tuple_list: expr_map_tuple_list optional_comma */ + case 262: /* optional_expr_map_tuple_list: expr_map_tuple_list optional_comma */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 255: /* type_declaration_no_options_list: type_declaration */ + case 263: /* type_declaration_no_options_list: type_declaration */ { (yyval.pTypeDeclList) = new vector(); (yyval.pTypeDeclList)->push_back(new ExprTypeDecl(tokAt(scanner,(yylsp[0])),(yyvsp[0].pTypeDecl))); } break; - case 256: /* type_declaration_no_options_list: type_declaration_no_options_list c_or_s type_declaration */ + case 264: /* type_declaration_no_options_list: type_declaration_no_options_list c_or_s type_declaration */ { (yyval.pTypeDeclList) = (yyvsp[-2].pTypeDeclList); (yyval.pTypeDeclList)->push_back(new ExprTypeDecl(tokAt(scanner,(yylsp[0])),(yyvsp[0].pTypeDecl))); } break; - case 257: /* name_in_namespace: "name" */ + case 265: /* name_in_namespace: "name" */ { (yyval.s) = (yyvsp[0].s); } break; - case 258: /* name_in_namespace: "name" "::" "name" */ + case 266: /* name_in_namespace: "name" "::" "name" */ { auto ita = yyextra->das_module_alias.find(*(yyvsp[-2].s)); if ( ita == yyextra->das_module_alias.end() ) { @@ -7072,17 +7024,17 @@ YYLTYPE yylloc = yyloc_default; } break; - case 259: /* name_in_namespace: "::" "name" */ + case 267: /* name_in_namespace: "::" "name" */ { *(yyvsp[0].s) = "::" + *(yyvsp[0].s); (yyval.s) = (yyvsp[0].s); } break; - case 260: /* expression_delete: "delete" expr */ + case 268: /* expression_delete: "delete" expr */ { (yyval.pExpression) = new ExprDelete(tokAt(scanner,(yylsp[-1])), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 261: /* expression_delete: "delete" "explicit" expr */ + case 269: /* expression_delete: "delete" "explicit" expr */ { auto delExpr = new ExprDelete(tokAt(scanner,(yylsp[-2])), ExpressionPtr((yyvsp[0].pExpression))); delExpr->native = true; @@ -7090,47 +7042,47 @@ YYLTYPE yylloc = yyloc_default; } break; - case 262: /* $@11: %empty */ + case 270: /* $@11: %empty */ { yyextra->das_arrow_depth ++; } break; - case 263: /* $@12: %empty */ + case 271: /* $@12: %empty */ { yyextra->das_arrow_depth --; } break; - case 264: /* new_type_declaration: '<' $@11 type_declaration '>' $@12 */ + case 272: /* new_type_declaration: '<' $@11 type_declaration '>' $@12 */ { (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); } break; - case 265: /* new_type_declaration: structure_type_declaration */ + case 273: /* new_type_declaration: structure_type_declaration */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); } break; - case 266: /* expr_new: "new" new_type_declaration */ + case 274: /* expr_new: "new" new_type_declaration */ { (yyval.pExpression) = new ExprNew(tokAt(scanner,(yylsp[-1])),TypeDeclPtr((yyvsp[0].pTypeDecl)),false); } break; - case 267: /* expr_new: "new" new_type_declaration '(' use_initializer ')' */ + case 275: /* expr_new: "new" new_type_declaration '(' use_initializer ')' */ { (yyval.pExpression) = new ExprNew(tokAt(scanner,(yylsp[-4])),TypeDeclPtr((yyvsp[-3].pTypeDecl)),true); ((ExprNew *)(yyval.pExpression))->initializer = (yyvsp[-1].b); } break; - case 268: /* expr_new: "new" new_type_declaration '(' expr_list ')' */ + case 276: /* expr_new: "new" new_type_declaration '(' expr_list ')' */ { auto pNew = new ExprNew(tokAt(scanner,(yylsp[-4])),TypeDeclPtr((yyvsp[-3].pTypeDecl)),true); (yyval.pExpression) = parseFunctionArguments(pNew,(yyvsp[-1].pExpression)); } break; - case 269: /* expr_new: "new" new_type_declaration '(' make_struct_single ')' */ + case 277: /* expr_new: "new" new_type_declaration '(' make_struct_single ')' */ { ((ExprMakeStruct *)(yyvsp[-1].pExpression))->at = tokAt(scanner,(yylsp[-3])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = (yyvsp[-3].pTypeDecl); @@ -7140,7 +7092,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 270: /* expr_new: "new" new_type_declaration '(' "uninitialized" make_struct_single ')' */ + case 278: /* expr_new: "new" new_type_declaration '(' "uninitialized" make_struct_single ')' */ { ((ExprMakeStruct *)(yyvsp[-1].pExpression))->at = tokAt(scanner,(yylsp[-4])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = (yyvsp[-4].pTypeDecl); @@ -7150,33 +7102,33 @@ YYLTYPE yylloc = yyloc_default; } break; - case 271: /* expr_new: "new" make_decl */ + case 279: /* expr_new: "new" make_decl */ { (yyval.pExpression) = new ExprAscend(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 272: /* expression_break: "break" */ + case 280: /* expression_break: "break" */ { (yyval.pExpression) = new ExprBreak(tokAt(scanner,(yylsp[0]))); } break; - case 273: /* expression_continue: "continue" */ + case 281: /* expression_continue: "continue" */ { (yyval.pExpression) = new ExprContinue(tokAt(scanner,(yylsp[0]))); } break; - case 274: /* expression_return: "return" */ + case 282: /* expression_return: "return" */ { (yyval.pExpression) = new ExprReturn(tokAt(scanner,(yylsp[0])),nullptr); } break; - case 275: /* expression_return: "return" expr */ + case 283: /* expression_return: "return" expr */ { (yyval.pExpression) = new ExprReturn(tokAt(scanner,(yylsp[-1])),(yyvsp[0].pExpression)); } break; - case 276: /* expression_return: "return" "<-" expr */ + case 284: /* expression_return: "return" "<-" expr */ { auto pRet = new ExprReturn(tokAt(scanner,(yylsp[-2])),(yyvsp[0].pExpression)); pRet->moveSemantics = true; @@ -7184,13 +7136,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 277: /* expression_yield: "yield" expr */ + case 285: /* expression_yield: "yield" expr */ { (yyval.pExpression) = new ExprYield(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 278: /* expression_yield: "yield" "<-" expr */ + case 286: /* expression_yield: "yield" "<-" expr */ { auto pRet = new ExprYield(tokAt(scanner,(yylsp[-2])),ExpressionPtr((yyvsp[0].pExpression))); pRet->moveSemantics = true; @@ -7198,41 +7150,41 @@ YYLTYPE yylloc = yyloc_default; } break; - case 279: /* expression_try_catch: "try" expression_block "recover" expression_block */ + case 287: /* expression_try_catch: "try" expression_block "recover" expression_block */ { (yyval.pExpression) = new ExprTryCatch(tokAt(scanner,(yylsp[-3])),ExpressionPtr((yyvsp[-2].pExpression)),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 280: /* kwd_let_var_or_nothing: "let" */ + case 288: /* kwd_let_var_or_nothing: "let" */ { (yyval.b) = true; } break; - case 281: /* kwd_let_var_or_nothing: "var" */ + case 289: /* kwd_let_var_or_nothing: "var" */ { (yyval.b) = false; } break; - case 282: /* kwd_let_var_or_nothing: %empty */ + case 290: /* kwd_let_var_or_nothing: %empty */ { (yyval.b) = true; } break; - case 283: /* kwd_let: "let" */ + case 291: /* kwd_let: "let" */ { (yyval.b) = true; } break; - case 284: /* kwd_let: "var" */ + case 292: /* kwd_let: "var" */ { (yyval.b) = false; } break; - case 285: /* optional_in_scope: "inscope" */ + case 293: /* optional_in_scope: "inscope" */ { (yyval.b) = true; } break; - case 286: /* optional_in_scope: %empty */ + case 294: /* optional_in_scope: %empty */ { (yyval.b) = false; } break; - case 287: /* tuple_expansion: "name" */ + case 295: /* tuple_expansion: "name" */ { (yyval.pNameList) = new vector(); (yyval.pNameList)->push_back(*(yyvsp[0].s)); @@ -7240,7 +7192,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 288: /* tuple_expansion: tuple_expansion ',' "name" */ + case 296: /* tuple_expansion: tuple_expansion ',' "name" */ { (yyvsp[-2].pNameList)->push_back(*(yyvsp[0].s)); delete (yyvsp[0].s); @@ -7248,8 +7200,8 @@ YYLTYPE yylloc = yyloc_default; } break; - case 289: /* tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr ';' */ - { + case 297: /* tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON */ + { (yyval.pVarDecl) = new VariableDeclaration((yyvsp[-6].pNameList),tokAt(scanner,(yylsp[-6])),(yyvsp[-3].pTypeDecl),(yyvsp[-1].pExpression)); (yyval.pVarDecl)->init_via_move = ((yyvsp[-2].i) & CorM_MOVE) !=0; (yyval.pVarDecl)->init_via_clone = ((yyvsp[-2].i) & CorM_CLONE) !=0; @@ -7257,8 +7209,8 @@ YYLTYPE yylloc = yyloc_default; } break; - case 290: /* tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr ';' */ - { + case 298: /* tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr SEMICOLON */ + { auto typeDecl = new TypeDecl(Type::autoinfer); typeDecl->at = tokAt(scanner,(yylsp[-5])); typeDecl->ref = (yyvsp[-3].b); @@ -7269,47 +7221,47 @@ YYLTYPE yylloc = yyloc_default; } break; - case 291: /* expression_let: kwd_let optional_in_scope let_variable_declaration */ + case 299: /* expression_let: kwd_let optional_in_scope let_variable_declaration */ { (yyval.pExpression) = ast_Let(scanner,(yyvsp[-2].b),(yyvsp[-1].b),(yyvsp[0].pVarDecl),tokAt(scanner,(yylsp[-2])),tokAt(scanner,(yylsp[0]))); } break; - case 292: /* expression_let: kwd_let optional_in_scope tuple_expansion_variable_declaration */ + case 300: /* expression_let: kwd_let optional_in_scope tuple_expansion_variable_declaration */ { (yyval.pExpression) = ast_Let(scanner,(yyvsp[-2].b),(yyvsp[-1].b),(yyvsp[0].pVarDecl),tokAt(scanner,(yylsp[-2])),tokAt(scanner,(yylsp[0]))); } break; - case 293: /* expression_let: kwd_let optional_in_scope '{' variable_declaration_list '}' */ + case 301: /* expression_let: kwd_let optional_in_scope '{' variable_declaration_list '}' */ { (yyval.pExpression) = ast_LetList(scanner,(yyvsp[-4].b),(yyvsp[-3].b),*(yyvsp[-1].pVarDeclList),tokAt(scanner,(yylsp[-4])),tokAt(scanner,(yylsp[-1]))); } break; - case 294: /* $@13: %empty */ + case 302: /* $@13: %empty */ { yyextra->das_arrow_depth ++; } break; - case 295: /* $@14: %empty */ + case 303: /* $@14: %empty */ { yyextra->das_arrow_depth --; } break; - case 296: /* expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 expr */ + case 304: /* expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 expr */ { (yyval.pExpression) = new ExprCast(tokAt(scanner,(yylsp[-6])),ExpressionPtr((yyvsp[0].pExpression)),TypeDeclPtr((yyvsp[-3].pTypeDecl))); } break; - case 297: /* $@15: %empty */ + case 305: /* $@15: %empty */ { yyextra->das_arrow_depth ++; } break; - case 298: /* $@16: %empty */ + case 306: /* $@16: %empty */ { yyextra->das_arrow_depth --; } break; - case 299: /* expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 expr */ + case 307: /* expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 expr */ { auto pCast = new ExprCast(tokAt(scanner,(yylsp[-6])),ExpressionPtr((yyvsp[0].pExpression)),TypeDeclPtr((yyvsp[-3].pTypeDecl))); pCast->upcast = true; @@ -7317,15 +7269,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 300: /* $@17: %empty */ + case 308: /* $@17: %empty */ { yyextra->das_arrow_depth ++; } break; - case 301: /* $@18: %empty */ + case 309: /* $@18: %empty */ { yyextra->das_arrow_depth --; } break; - case 302: /* expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 expr */ + case 310: /* expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 expr */ { auto pCast = new ExprCast(tokAt(scanner,(yylsp[-6])),ExpressionPtr((yyvsp[0].pExpression)),TypeDeclPtr((yyvsp[-3].pTypeDecl))); pCast->reinterpret = true; @@ -7333,21 +7285,21 @@ YYLTYPE yylloc = yyloc_default; } break; - case 303: /* $@19: %empty */ + case 311: /* $@19: %empty */ { yyextra->das_arrow_depth ++; } break; - case 304: /* $@20: %empty */ + case 312: /* $@20: %empty */ { yyextra->das_arrow_depth --; } break; - case 305: /* expr_type_decl: "type" '<' $@19 type_declaration '>' $@20 */ + case 313: /* expr_type_decl: "type" '<' $@19 type_declaration '>' $@20 */ { (yyval.pExpression) = new ExprTypeDecl(tokAt(scanner,(yylsp[-5])),TypeDeclPtr((yyvsp[-2].pTypeDecl))); } break; - case 306: /* expr_type_info: "typeinfo" name_in_namespace '(' expr ')' */ + case 314: /* expr_type_info: "typeinfo" name_in_namespace '(' expr ')' */ { if ( (yyvsp[-1].pExpression)->rtti_isTypeDecl() ) { auto ptd = (ExprTypeDecl *)(yyvsp[-1].pExpression); @@ -7360,7 +7312,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 307: /* expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' expr ')' */ + case 315: /* expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' expr ')' */ { if ( (yyvsp[-1].pExpression)->rtti_isTypeDecl() ) { auto ptd = (ExprTypeDecl *)(yyvsp[-1].pExpression); @@ -7374,7 +7326,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 308: /* expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' */ + case 316: /* expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' */ { if ( (yyvsp[-1].pExpression)->rtti_isTypeDecl() ) { auto ptd = (ExprTypeDecl *)(yyvsp[-1].pExpression); @@ -7389,23 +7341,23 @@ YYLTYPE yylloc = yyloc_default; } break; - case 309: /* expr_list: expr */ + case 317: /* expr_list: expr */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 310: /* expr_list: expr_list ',' expr */ + case 318: /* expr_list: expr_list ',' expr */ { (yyval.pExpression) = new ExprSequence(tokAt(scanner,(yylsp[-2])),ExpressionPtr((yyvsp[-2].pExpression)),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 311: /* block_or_simple_block: expression_block */ + case 319: /* block_or_simple_block: expression_block */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 312: /* block_or_simple_block: "=>" expr */ + case 320: /* block_or_simple_block: "=>" expr */ { auto retE = make_smart(tokAt(scanner,(yylsp[-1])), ExpressionPtr((yyvsp[0].pExpression))); auto blkE = new ExprBlock(); @@ -7415,7 +7367,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 313: /* block_or_simple_block: "=>" "<-" expr */ + case 321: /* block_or_simple_block: "=>" "<-" expr */ { auto retE = make_smart(tokAt(scanner,(yylsp[-2])), ExpressionPtr((yyvsp[0].pExpression))); retE->moveSemantics = true; @@ -7426,39 +7378,39 @@ YYLTYPE yylloc = yyloc_default; } break; - case 314: /* block_or_lambda: '$' */ + case 322: /* block_or_lambda: '$' */ { (yyval.i) = 0; /* block */ } break; - case 315: /* block_or_lambda: '@' */ + case 323: /* block_or_lambda: '@' */ { (yyval.i) = 1; /* lambda */ } break; - case 316: /* block_or_lambda: '@' '@' */ + case 324: /* block_or_lambda: '@' '@' */ { (yyval.i) = 2; /* local function */ } break; - case 317: /* capture_entry: '&' "name" */ + case 325: /* capture_entry: '&' "name" */ { (yyval.pCapt) = new CaptureEntry(*(yyvsp[0].s),CaptureMode::capture_by_reference); delete (yyvsp[0].s); } break; - case 318: /* capture_entry: '=' "name" */ + case 326: /* capture_entry: '=' "name" */ { (yyval.pCapt) = new CaptureEntry(*(yyvsp[0].s),CaptureMode::capture_by_copy); delete (yyvsp[0].s); } break; - case 319: /* capture_entry: "<-" "name" */ + case 327: /* capture_entry: "<-" "name" */ { (yyval.pCapt) = new CaptureEntry(*(yyvsp[0].s),CaptureMode::capture_by_move); delete (yyvsp[0].s); } break; - case 320: /* capture_entry: ":=" "name" */ + case 328: /* capture_entry: ":=" "name" */ { (yyval.pCapt) = new CaptureEntry(*(yyvsp[0].s),CaptureMode::capture_by_clone); delete (yyvsp[0].s); } break; - case 321: /* capture_entry: "name" '(' "name" ')' */ + case 329: /* capture_entry: "name" '(' "name" ')' */ { (yyval.pCapt) = ast_makeCaptureEntry(scanner,tokAt(scanner,(yylsp[-3])),*(yyvsp[-3].s),*(yyvsp[-1].s)); delete (yyvsp[-3].s); delete (yyvsp[-1].s); } break; - case 322: /* capture_list: capture_entry */ + case 330: /* capture_list: capture_entry */ { (yyval.pCaptList) = new vector(); (yyval.pCaptList)->push_back(*(yyvsp[0].pCapt)); @@ -7466,7 +7418,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 323: /* capture_list: capture_list ',' capture_entry */ + case 331: /* capture_list: capture_list ',' capture_entry */ { (yyvsp[-2].pCaptList)->push_back(*(yyvsp[0].pCapt)); delete (yyvsp[0].pCapt); @@ -7474,137 +7426,137 @@ YYLTYPE yylloc = yyloc_default; } break; - case 324: /* optional_capture_list: %empty */ + case 332: /* optional_capture_list: %empty */ { (yyval.pCaptList) = nullptr; } break; - case 325: /* optional_capture_list: "capture" '(' capture_list ')' */ + case 333: /* optional_capture_list: "capture" '(' capture_list ')' */ { (yyval.pCaptList) = (yyvsp[-1].pCaptList); } break; - case 326: /* expr_full_block: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_semis block_or_simple_block */ - { + case 334: /* expr_full_block: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_emit_semis block_or_simple_block */ + { (yyval.pExpression) = ast_makeBlock(scanner,(yyvsp[-6].i),(yyvsp[-5].faList),(yyvsp[-4].pCaptList),(yyvsp[-3].pVarDeclList),(yyvsp[-2].pTypeDecl),(yyvsp[0].pExpression),tokAt(scanner,(yylsp[0])),tokAt(scanner,(yylsp[-5]))); } break; - case 327: /* expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_semis expression_block */ - { + case 335: /* expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_emit_semis expression_block */ + { (yyval.pExpression) = ast_makeBlock(scanner,(yyvsp[-6].i),(yyvsp[-5].faList),(yyvsp[-4].pCaptList),(yyvsp[-3].pVarDeclList),(yyvsp[-2].pTypeDecl),(yyvsp[0].pExpression),tokAt(scanner,(yylsp[0])),tokAt(scanner,(yylsp[-5]))); } break; - case 328: /* expr_full_block_assumed_piped: '{' expressions '}' */ + case 336: /* expr_full_block_assumed_piped: '{' expressions '}' */ { (yyval.pExpression) = ast_makeBlock(scanner,0,nullptr,nullptr,nullptr,new TypeDecl(Type::autoinfer),(yyvsp[-1].pExpression),tokAt(scanner,(yylsp[-1])),tokAt(scanner,(yylsp[-1]))); } break; - case 329: /* expr_numeric_const: "integer constant" */ + case 337: /* expr_numeric_const: "integer constant" */ { (yyval.pExpression) = new ExprConstInt(tokAt(scanner,(yylsp[0])),(int32_t)(yyvsp[0].i)); } break; - case 330: /* expr_numeric_const: "unsigned integer constant" */ + case 338: /* expr_numeric_const: "unsigned integer constant" */ { (yyval.pExpression) = new ExprConstUInt(tokAt(scanner,(yylsp[0])),(uint32_t)(yyvsp[0].ui)); } break; - case 331: /* expr_numeric_const: "long integer constant" */ + case 339: /* expr_numeric_const: "long integer constant" */ { (yyval.pExpression) = new ExprConstInt64(tokAt(scanner,(yylsp[0])),(int64_t)(yyvsp[0].i64)); } break; - case 332: /* expr_numeric_const: "unsigned long integer constant" */ + case 340: /* expr_numeric_const: "unsigned long integer constant" */ { (yyval.pExpression) = new ExprConstUInt64(tokAt(scanner,(yylsp[0])),(uint64_t)(yyvsp[0].ui64)); } break; - case 333: /* expr_numeric_const: "unsigned int8 constant" */ + case 341: /* expr_numeric_const: "unsigned int8 constant" */ { (yyval.pExpression) = new ExprConstUInt8(tokAt(scanner,(yylsp[0])),(uint8_t)(yyvsp[0].ui)); } break; - case 334: /* expr_numeric_const: "floating point constant" */ + case 342: /* expr_numeric_const: "floating point constant" */ { (yyval.pExpression) = new ExprConstFloat(tokAt(scanner,(yylsp[0])),(float)(yyvsp[0].fd)); } break; - case 335: /* expr_numeric_const: "double constant" */ + case 343: /* expr_numeric_const: "double constant" */ { (yyval.pExpression) = new ExprConstDouble(tokAt(scanner,(yylsp[0])),(double)(yyvsp[0].d)); } break; - case 336: /* expr_assign: expr */ + case 344: /* expr_assign: expr */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 337: /* expr_assign: expr '=' expr */ + case 345: /* expr_assign: expr '=' expr */ { (yyval.pExpression) = new ExprCopy(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-2].pExpression)),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 338: /* expr_assign: expr "<-" expr */ + case 346: /* expr_assign: expr "<-" expr */ { (yyval.pExpression) = new ExprMove(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 339: /* expr_assign: expr ":=" expr */ + case 347: /* expr_assign: expr ":=" expr */ { (yyval.pExpression) = new ExprClone(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 340: /* expr_assign: expr "&=" expr */ + case 348: /* expr_assign: expr "&=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"&=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 341: /* expr_assign: expr "|=" expr */ + case 349: /* expr_assign: expr "|=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"|=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 342: /* expr_assign: expr "^=" expr */ + case 350: /* expr_assign: expr "^=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"^=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 343: /* expr_assign: expr "&&=" expr */ + case 351: /* expr_assign: expr "&&=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"&&=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 344: /* expr_assign: expr "||=" expr */ + case 352: /* expr_assign: expr "||=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"||=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 345: /* expr_assign: expr "^^=" expr */ + case 353: /* expr_assign: expr "^^=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"^^=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 346: /* expr_assign: expr "+=" expr */ + case 354: /* expr_assign: expr "+=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"+=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 347: /* expr_assign: expr "-=" expr */ + case 355: /* expr_assign: expr "-=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"-=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 348: /* expr_assign: expr "*=" expr */ + case 356: /* expr_assign: expr "*=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"*=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 349: /* expr_assign: expr "/=" expr */ + case 357: /* expr_assign: expr "/=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"/=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 350: /* expr_assign: expr "%=" expr */ + case 358: /* expr_assign: expr "%=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"%=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 351: /* expr_assign: expr "<<=" expr */ + case 359: /* expr_assign: expr "<<=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"<<=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 352: /* expr_assign: expr ">>=" expr */ + case 360: /* expr_assign: expr ">>=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),">>=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 353: /* expr_assign: expr "<<<=" expr */ + case 361: /* expr_assign: expr "<<<=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"<<<=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 354: /* expr_assign: expr ">>>=" expr */ + case 362: /* expr_assign: expr ">>>=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),">>>=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 355: /* expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' ')' */ + case 363: /* expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' ')' */ { auto nc = new ExprNamedCall(tokAt(scanner,(yylsp[-5])),*(yyvsp[-5].s)); nc->arguments = *(yyvsp[-2].pMakeStruct); @@ -7614,7 +7566,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 356: /* expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' ')' */ + case 364: /* expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' ')' */ { auto nc = new ExprNamedCall(tokAt(scanner,(yylsp[-7])),*(yyvsp[-7].s)); nc->nonNamedArguments = sequenceToList((yyvsp[-5].pExpression)); @@ -7625,7 +7577,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 357: /* expr_method_call: expr "->" "name" '(' ')' */ + case 365: /* expr_method_call: expr "->" "name" '(' ')' */ { auto pInvoke = makeInvokeMethod(tokAt(scanner,(yylsp[-3])), (yyvsp[-4].pExpression), *(yyvsp[-2].s)); delete (yyvsp[-2].s); @@ -7633,7 +7585,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 358: /* expr_method_call: expr "->" "name" '(' expr_list ')' */ + case 366: /* expr_method_call: expr "->" "name" '(' expr_list ')' */ { auto pInvoke = makeInvokeMethod(tokAt(scanner,(yylsp[-4])), (yyvsp[-5].pExpression), *(yyvsp[-3].s)); auto callArgs = sequenceToList((yyvsp[-1].pExpression)); @@ -7643,35 +7595,35 @@ YYLTYPE yylloc = yyloc_default; } break; - case 359: /* func_addr_name: name_in_namespace */ + case 367: /* func_addr_name: name_in_namespace */ { (yyval.pExpression) = new ExprAddr(tokAt(scanner,(yylsp[0])),*(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 360: /* func_addr_name: "$i" '(' expr ')' */ + case 368: /* func_addr_name: "$i" '(' expr ')' */ { auto expr = new ExprAddr(tokAt(scanner,(yylsp[-3])),"``MACRO``TAG``ADDR``"); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression), expr, "i"); } break; - case 361: /* func_addr_expr: '@' '@' func_addr_name */ + case 369: /* func_addr_expr: '@' '@' func_addr_name */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 362: /* $@21: %empty */ + case 370: /* $@21: %empty */ { yyextra->das_arrow_depth ++; } break; - case 363: /* $@22: %empty */ + case 371: /* $@22: %empty */ { yyextra->das_arrow_depth --; } break; - case 364: /* func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name */ + case 372: /* func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name */ { auto expr = (ExprAddr *) ((yyvsp[0].pExpression)->rtti_isAddr() ? (yyvsp[0].pExpression) : (((ExprTag *) (yyvsp[0].pExpression))->value.get())); expr->funcType = TypeDeclPtr((yyvsp[-3].pTypeDecl)); @@ -7679,15 +7631,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 365: /* $@23: %empty */ + case 373: /* $@23: %empty */ { yyextra->das_arrow_depth ++; } break; - case 366: /* $@24: %empty */ + case 374: /* $@24: %empty */ { yyextra->das_arrow_depth --; } break; - case 367: /* func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name */ + case 375: /* func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name */ { auto expr = (ExprAddr *) ((yyvsp[0].pExpression)->rtti_isAddr() ? (yyvsp[0].pExpression) : (((ExprTag *) (yyvsp[0].pExpression))->value.get())); expr->funcType = make_smart(Type::tFunction); @@ -7700,21 +7652,21 @@ YYLTYPE yylloc = yyloc_default; } break; - case 368: /* expr_field: expr '.' "name" */ + case 376: /* expr_field: expr '.' "name" */ { (yyval.pExpression) = new ExprField(tokAt(scanner,(yylsp[-1])), tokAt(scanner,(yylsp[0])), ExpressionPtr((yyvsp[-2].pExpression)), *(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 369: /* expr_field: expr '.' '.' "name" */ + case 377: /* expr_field: expr '.' '.' "name" */ { (yyval.pExpression) = new ExprField(tokAt(scanner,(yylsp[-1])), tokAt(scanner,(yylsp[0])), ExpressionPtr((yyvsp[-3].pExpression)), *(yyvsp[0].s), true); delete (yyvsp[0].s); } break; - case 370: /* expr_field: expr '.' "name" '(' ')' */ + case 378: /* expr_field: expr '.' "name" '(' ')' */ { auto pInvoke = makeInvokeMethod(tokAt(scanner,(yylsp[-3])), (yyvsp[-4].pExpression), *(yyvsp[-2].s)); delete (yyvsp[-2].s); @@ -7722,7 +7674,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 371: /* expr_field: expr '.' "name" '(' expr_list ')' */ + case 379: /* expr_field: expr '.' "name" '(' expr_list ')' */ { auto pInvoke = makeInvokeMethod(tokAt(scanner,(yylsp[-4])), (yyvsp[-5].pExpression), *(yyvsp[-3].s)); auto callArgs = sequenceToList((yyvsp[-1].pExpression)); @@ -7732,7 +7684,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 372: /* expr_field: expr '.' basic_type_declaration '(' ')' */ + case 380: /* expr_field: expr '.' basic_type_declaration '(' ')' */ { auto method_name = das_to_string((yyvsp[-2].type)); auto pInvoke = makeInvokeMethod(tokAt(scanner,(yylsp[-3])), (yyvsp[-4].pExpression), method_name); @@ -7740,7 +7692,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 373: /* expr_field: expr '.' basic_type_declaration '(' expr_list ')' */ + case 381: /* expr_field: expr '.' basic_type_declaration '(' expr_list ')' */ { auto method_name = das_to_string((yyvsp[-3].type)); auto pInvoke = makeInvokeMethod(tokAt(scanner,(yylsp[-4])), (yyvsp[-5].pExpression), method_name); @@ -7750,29 +7702,29 @@ YYLTYPE yylloc = yyloc_default; } break; - case 374: /* $@25: %empty */ + case 382: /* $@25: %empty */ { yyextra->das_suppress_errors=true; } break; - case 375: /* $@26: %empty */ + case 383: /* $@26: %empty */ { yyextra->das_suppress_errors=false; } break; - case 376: /* expr_field: expr '.' $@25 error $@26 */ + case 384: /* expr_field: expr '.' $@25 error $@26 */ { (yyval.pExpression) = new ExprField(tokAt(scanner,(yylsp[-3])), tokAt(scanner,(yylsp[-3])), ExpressionPtr((yyvsp[-4].pExpression)), ""); yyerrok; } break; - case 377: /* expr_call: name_in_namespace '(' ')' */ + case 385: /* expr_call: name_in_namespace '(' ')' */ { (yyval.pExpression) = yyextra->g_Program->makeCall(tokAt(scanner,(yylsp[-2])),tokAt(scanner,(yylsp[0])),*(yyvsp[-2].s)); delete (yyvsp[-2].s); } break; - case 378: /* expr_call: name_in_namespace '(' "uninitialized" ')' */ + case 386: /* expr_call: name_in_namespace '(' "uninitialized" ')' */ { auto dd = new ExprMakeStruct(tokAt(scanner,(yylsp[-3]))); dd->at = tokAt(scanner,(yylsp[-3])); @@ -7785,7 +7737,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 379: /* expr_call: name_in_namespace '(' make_struct_single ')' */ + case 387: /* expr_call: name_in_namespace '(' make_struct_single ')' */ { ((ExprMakeStruct *)(yyvsp[-1].pExpression))->at = tokAt(scanner,(yylsp[-3])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = new TypeDecl(Type::alias); @@ -7797,7 +7749,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 380: /* expr_call: name_in_namespace '(' "uninitialized" make_struct_single ')' */ + case 388: /* expr_call: name_in_namespace '(' "uninitialized" make_struct_single ')' */ { ((ExprMakeStruct *)(yyvsp[-1].pExpression))->at = tokAt(scanner,(yylsp[-4])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = new TypeDecl(Type::alias); @@ -7809,166 +7761,166 @@ YYLTYPE yylloc = yyloc_default; } break; - case 381: /* expr_call: name_in_namespace '(' expr_list ')' */ + case 389: /* expr_call: name_in_namespace '(' expr_list ')' */ { (yyval.pExpression) = parseFunctionArguments(yyextra->g_Program->makeCall(tokAt(scanner,(yylsp[-3])),tokAt(scanner,(yylsp[0])),*(yyvsp[-3].s)),(yyvsp[-1].pExpression)); delete (yyvsp[-3].s); } break; - case 382: /* expr_call: basic_type_declaration '(' ')' */ + case 390: /* expr_call: basic_type_declaration '(' ')' */ { (yyval.pExpression) = yyextra->g_Program->makeCall(tokAt(scanner,(yylsp[-2])),tokAt(scanner,(yylsp[0])),das_to_string((yyvsp[-2].type))); } break; - case 383: /* expr_call: basic_type_declaration '(' expr_list ')' */ + case 391: /* expr_call: basic_type_declaration '(' expr_list ')' */ { (yyval.pExpression) = parseFunctionArguments(yyextra->g_Program->makeCall(tokAt(scanner,(yylsp[-3])),tokAt(scanner,(yylsp[0])),das_to_string((yyvsp[-3].type))),(yyvsp[-1].pExpression)); } break; - case 384: /* expr: "null" */ + case 392: /* expr: "null" */ { (yyval.pExpression) = new ExprConstPtr(tokAt(scanner,(yylsp[0])),nullptr); } break; - case 385: /* expr: name_in_namespace */ + case 393: /* expr: name_in_namespace */ { (yyval.pExpression) = new ExprVar(tokAt(scanner,(yylsp[0])),*(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 386: /* expr: expr_numeric_const */ + case 394: /* expr: expr_numeric_const */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 387: /* expr: expr_reader */ + case 395: /* expr: expr_reader */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 388: /* expr: string_builder */ + case 396: /* expr: string_builder */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 389: /* expr: make_decl */ + case 397: /* expr: make_decl */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 390: /* expr: "true" */ + case 398: /* expr: "true" */ { (yyval.pExpression) = new ExprConstBool(tokAt(scanner,(yylsp[0])),true); } break; - case 391: /* expr: "false" */ + case 399: /* expr: "false" */ { (yyval.pExpression) = new ExprConstBool(tokAt(scanner,(yylsp[0])),false); } break; - case 392: /* expr: expr_field */ + case 400: /* expr: expr_field */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 393: /* expr: expr_mtag */ + case 401: /* expr: expr_mtag */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 394: /* expr: '!' expr */ + case 402: /* expr: '!' expr */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[-1])),"!",ExpressionPtr((yyvsp[0].pExpression))); } break; - case 395: /* expr: '~' expr */ + case 403: /* expr: '~' expr */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[-1])),"~",ExpressionPtr((yyvsp[0].pExpression))); } break; - case 396: /* expr: '+' expr */ + case 404: /* expr: '+' expr */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[-1])),"+",ExpressionPtr((yyvsp[0].pExpression))); } break; - case 397: /* expr: '-' expr */ + case 405: /* expr: '-' expr */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[-1])),"-",ExpressionPtr((yyvsp[0].pExpression))); } break; - case 398: /* expr: expr "<<" expr */ + case 406: /* expr: expr "<<" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"<<", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 399: /* expr: expr ">>" expr */ + case 407: /* expr: expr ">>" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),">>", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 400: /* expr: expr "<<<" expr */ + case 408: /* expr: expr "<<<" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"<<<", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 401: /* expr: expr ">>>" expr */ + case 409: /* expr: expr ">>>" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),">>>", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 402: /* expr: expr '+' expr */ + case 410: /* expr: expr '+' expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"+", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 403: /* expr: expr '-' expr */ + case 411: /* expr: expr '-' expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"-", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 404: /* expr: expr '*' expr */ + case 412: /* expr: expr '*' expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"*", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 405: /* expr: expr '/' expr */ + case 413: /* expr: expr '/' expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"/", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 406: /* expr: expr '%' expr */ + case 414: /* expr: expr '%' expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"%", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 407: /* expr: expr '<' expr */ + case 415: /* expr: expr '<' expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"<", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 408: /* expr: expr '>' expr */ + case 416: /* expr: expr '>' expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),">", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 409: /* expr: expr "==" expr */ + case 417: /* expr: expr "==" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"==", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 410: /* expr: expr "!=" expr */ + case 418: /* expr: expr "!=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"!=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 411: /* expr: expr "<=" expr */ + case 419: /* expr: expr "<=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"<=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 412: /* expr: expr ">=" expr */ + case 420: /* expr: expr ">=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),">=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 413: /* expr: expr '&' expr */ + case 421: /* expr: expr '&' expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"&", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 414: /* expr: expr '|' expr */ + case 422: /* expr: expr '|' expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"|", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 415: /* expr: expr '^' expr */ + case 423: /* expr: expr '^' expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"^", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 416: /* expr: expr "&&" expr */ + case 424: /* expr: expr "&&" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"&&", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 417: /* expr: expr "||" expr */ + case 425: /* expr: expr "||" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"||", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 418: /* expr: expr "^^" expr */ + case 426: /* expr: expr "^^" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"^^", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 419: /* expr: expr ".." expr */ + case 427: /* expr: expr ".." expr */ { auto itv = yyextra->g_Program->makeCall(tokAt(scanner,(yylsp[-1])),"interval"); itv->arguments.push_back(ExpressionPtr((yyvsp[-2].pExpression))); @@ -7977,23 +7929,23 @@ YYLTYPE yylloc = yyloc_default; } break; - case 420: /* expr: "++" expr */ + case 428: /* expr: "++" expr */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[-1])),"++", ExpressionPtr((yyvsp[0].pExpression))); } break; - case 421: /* expr: "--" expr */ + case 429: /* expr: "--" expr */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[-1])),"--", ExpressionPtr((yyvsp[0].pExpression))); } break; - case 422: /* expr: expr "++" */ + case 430: /* expr: expr "++" */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[0])),"+++", ExpressionPtr((yyvsp[-1].pExpression))); } break; - case 423: /* expr: expr "--" */ + case 431: /* expr: expr "--" */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[0])),"---", ExpressionPtr((yyvsp[-1].pExpression))); } break; - case 424: /* expr: '(' expr_list optional_comma ')' */ + case 432: /* expr: '(' expr_list optional_comma ')' */ { if ( (yyvsp[-2].pExpression)->rtti_isSequence() ) { auto mkt = new ExprMakeTuple(tokAt(scanner,(yylsp[-2]))); @@ -8009,79 +7961,79 @@ YYLTYPE yylloc = yyloc_default; } break; - case 425: /* expr: expr '[' expr ']' */ + case 433: /* expr: expr '[' expr ']' */ { (yyval.pExpression) = new ExprAt(tokAt(scanner,(yylsp[-2])), ExpressionPtr((yyvsp[-3].pExpression)), ExpressionPtr((yyvsp[-1].pExpression))); } break; - case 426: /* expr: expr '.' '[' expr ']' */ + case 434: /* expr: expr '.' '[' expr ']' */ { (yyval.pExpression) = new ExprAt(tokAt(scanner,(yylsp[-2])), ExpressionPtr((yyvsp[-4].pExpression)), ExpressionPtr((yyvsp[-1].pExpression)), true); } break; - case 427: /* expr: expr "?[" expr ']' */ + case 435: /* expr: expr "?[" expr ']' */ { (yyval.pExpression) = new ExprSafeAt(tokAt(scanner,(yylsp[-2])), ExpressionPtr((yyvsp[-3].pExpression)), ExpressionPtr((yyvsp[-1].pExpression))); } break; - case 428: /* expr: expr '.' "?[" expr ']' */ + case 436: /* expr: expr '.' "?[" expr ']' */ { (yyval.pExpression) = new ExprSafeAt(tokAt(scanner,(yylsp[-2])), ExpressionPtr((yyvsp[-4].pExpression)), ExpressionPtr((yyvsp[-1].pExpression)), true); } break; - case 429: /* expr: expr "?." "name" */ + case 437: /* expr: expr "?." "name" */ { (yyval.pExpression) = new ExprSafeField(tokAt(scanner,(yylsp[-1])), tokAt(scanner,(yylsp[0])), ExpressionPtr((yyvsp[-2].pExpression)), *(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 430: /* expr: expr '.' "?." "name" */ + case 438: /* expr: expr '.' "?." "name" */ { (yyval.pExpression) = new ExprSafeField(tokAt(scanner,(yylsp[-1])), tokAt(scanner,(yylsp[0])), ExpressionPtr((yyvsp[-3].pExpression)), *(yyvsp[0].s), true); delete (yyvsp[0].s); } break; - case 431: /* expr: func_addr_expr */ + case 439: /* expr: func_addr_expr */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 432: /* expr: expr_call */ + case 440: /* expr: expr_call */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 433: /* expr: '*' expr */ + case 441: /* expr: '*' expr */ { (yyval.pExpression) = new ExprPtr2Ref(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 434: /* expr: "deref" '(' expr ')' */ + case 442: /* expr: "deref" '(' expr ')' */ { (yyval.pExpression) = new ExprPtr2Ref(tokAt(scanner,(yylsp[-3])),ExpressionPtr((yyvsp[-1].pExpression))); } break; - case 435: /* expr: "addr" '(' expr ')' */ + case 443: /* expr: "addr" '(' expr ')' */ { (yyval.pExpression) = new ExprRef2Ptr(tokAt(scanner,(yylsp[-3])),ExpressionPtr((yyvsp[-1].pExpression))); } break; - case 436: /* expr: expr_generator */ + case 444: /* expr: expr_generator */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 437: /* expr: expr "??" expr */ + case 445: /* expr: expr "??" expr */ { (yyval.pExpression) = new ExprNullCoalescing(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-2].pExpression)),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 438: /* expr: expr '?' expr ':' expr */ + case 446: /* expr: expr '?' expr ':' expr */ { (yyval.pExpression) = new ExprOp3(tokAt(scanner,(yylsp[-3])),"?",ExpressionPtr((yyvsp[-4].pExpression)),ExpressionPtr((yyvsp[-2].pExpression)),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 439: /* $@27: %empty */ + case 447: /* $@27: %empty */ { yyextra->das_arrow_depth ++; } break; - case 440: /* $@28: %empty */ + case 448: /* $@28: %empty */ { yyextra->das_arrow_depth --; } break; - case 441: /* expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' $@28 */ + case 449: /* expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' $@28 */ { (yyval.pExpression) = new ExprIs(tokAt(scanner,(yylsp[-6])),ExpressionPtr((yyvsp[-7].pExpression)),TypeDeclPtr((yyvsp[-2].pTypeDecl))); } break; - case 442: /* expr: expr "is" basic_type_declaration */ + case 450: /* expr: expr "is" basic_type_declaration */ { auto vdecl = new TypeDecl((yyvsp[0].type)); vdecl->at = tokAt(scanner,(yylsp[0])); @@ -8089,29 +8041,29 @@ YYLTYPE yylloc = yyloc_default; } break; - case 443: /* expr: expr "is" "name" */ + case 451: /* expr: expr "is" "name" */ { (yyval.pExpression) = new ExprIsVariant(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-2].pExpression)),*(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 444: /* expr: expr "as" "name" */ + case 452: /* expr: expr "as" "name" */ { (yyval.pExpression) = new ExprAsVariant(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-2].pExpression)),*(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 445: /* $@29: %empty */ + case 453: /* $@29: %empty */ { yyextra->das_arrow_depth ++; } break; - case 446: /* $@30: %empty */ + case 454: /* $@30: %empty */ { yyextra->das_arrow_depth --; } break; - case 447: /* expr: expr "as" "type" '<' $@29 type_declaration '>' $@30 */ + case 455: /* expr: expr "as" "type" '<' $@29 type_declaration '>' $@30 */ { auto vname = (yyvsp[-2].pTypeDecl)->describe(); (yyval.pExpression) = new ExprAsVariant(tokAt(scanner,(yylsp[-6])),ExpressionPtr((yyvsp[-7].pExpression)),vname); @@ -8119,28 +8071,28 @@ YYLTYPE yylloc = yyloc_default; } break; - case 448: /* expr: expr "as" basic_type_declaration */ + case 456: /* expr: expr "as" basic_type_declaration */ { (yyval.pExpression) = new ExprAsVariant(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-2].pExpression)),das_to_string((yyvsp[0].type))); } break; - case 449: /* expr: expr '?' "as" "name" */ + case 457: /* expr: expr '?' "as" "name" */ { (yyval.pExpression) = new ExprSafeAsVariant(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-3].pExpression)),*(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 450: /* $@31: %empty */ + case 458: /* $@31: %empty */ { yyextra->das_arrow_depth ++; } break; - case 451: /* $@32: %empty */ + case 459: /* $@32: %empty */ { yyextra->das_arrow_depth --; } break; - case 452: /* expr: expr '?' "as" "type" '<' $@31 type_declaration '>' $@32 */ + case 460: /* expr: expr '?' "as" "type" '<' $@31 type_declaration '>' $@32 */ { auto vname = (yyvsp[-2].pTypeDecl)->describe(); (yyval.pExpression) = new ExprSafeAsVariant(tokAt(scanner,(yylsp[-6])),ExpressionPtr((yyvsp[-8].pExpression)),vname); @@ -8148,60 +8100,60 @@ YYLTYPE yylloc = yyloc_default; } break; - case 453: /* expr: expr '?' "as" basic_type_declaration */ + case 461: /* expr: expr '?' "as" basic_type_declaration */ { (yyval.pExpression) = new ExprSafeAsVariant(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-3].pExpression)),das_to_string((yyvsp[0].type))); } break; - case 454: /* expr: expr_type_info */ + case 462: /* expr: expr_type_info */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 455: /* expr: expr_type_decl */ + case 463: /* expr: expr_type_decl */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 456: /* expr: expr_cast */ + case 464: /* expr: expr_cast */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 457: /* expr: expr_new */ + case 465: /* expr: expr_new */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 458: /* expr: expr_method_call */ + case 466: /* expr: expr_method_call */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 459: /* expr: expr_named_call */ + case 467: /* expr: expr_named_call */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 460: /* expr: expr_full_block */ + case 468: /* expr: expr_full_block */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 461: /* expr: expr "<|" expr */ + case 469: /* expr: expr "<|" expr */ { (yyval.pExpression) = ast_lpipe(scanner,(yyvsp[-2].pExpression),(yyvsp[0].pExpression),tokAt(scanner,(yylsp[-1]))); } break; - case 462: /* expr: expr "|>" expr */ + case 470: /* expr: expr "|>" expr */ { (yyval.pExpression) = ast_rpipe(scanner,(yyvsp[-2].pExpression),(yyvsp[0].pExpression),tokAt(scanner,(yylsp[-1]))); } break; - case 463: /* expr: expr "|>" basic_type_declaration */ + case 471: /* expr: expr "|>" basic_type_declaration */ { auto fncall = yyextra->g_Program->makeCall(tokAt(scanner,(yylsp[0])),tokAt(scanner,(yylsp[0])),das_to_string((yyvsp[0].type))); (yyval.pExpression) = ast_rpipe(scanner,(yyvsp[-2].pExpression),fncall,tokAt(scanner,(yylsp[-1]))); } break; - case 464: /* expr: expr_call_pipe */ + case 472: /* expr: expr_call_pipe */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 465: /* expr: "unsafe" '(' expr ')' */ + case 473: /* expr: "unsafe" '(' expr ')' */ { (yyvsp[-1].pExpression)->alwaysSafe = true; (yyvsp[-1].pExpression)->userSaidItsSafe = true; @@ -8209,169 +8161,169 @@ YYLTYPE yylloc = yyloc_default; } break; - case 466: /* expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' ')' */ + case 474: /* expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' ')' */ { (yyval.pExpression) = ast_makeGenerator(scanner,(yyvsp[-4].pTypeDecl),(yyvsp[-2].pCaptList),nullptr,tokAt(scanner,(yylsp[-6]))); } break; - case 467: /* expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' */ + case 475: /* expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' */ { (yyval.pExpression) = ast_makeGenerator(scanner,(yyvsp[-5].pTypeDecl),(yyvsp[-3].pCaptList),(yyvsp[-1].pExpression),tokAt(scanner,(yylsp[-7]))); } break; - case 468: /* expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list optional_semis expression_block */ - { + case 476: /* expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list optional_emit_semis expression_block */ + { auto closure = new ExprMakeBlock(tokAt(scanner,(yylsp[0])),ExpressionPtr((yyvsp[0].pExpression))); ((ExprBlock *)(yyvsp[0].pExpression))->returnType = make_smart(Type::autoinfer); (yyval.pExpression) = ast_makeGenerator(scanner,(yyvsp[-4].pTypeDecl),(yyvsp[-2].pCaptList),closure,tokAt(scanner,(yylsp[-6]))); } break; - case 469: /* expr_mtag: "$$" '(' expr ')' */ + case 477: /* expr_mtag: "$$" '(' expr ')' */ { (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),"e"); } break; - case 470: /* expr_mtag: "$i" '(' expr ')' */ + case 478: /* expr_mtag: "$i" '(' expr ')' */ { (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),"i"); } break; - case 471: /* expr_mtag: "$v" '(' expr ')' */ + case 479: /* expr_mtag: "$v" '(' expr ')' */ { (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),"v"); } break; - case 472: /* expr_mtag: "$b" '(' expr ')' */ + case 480: /* expr_mtag: "$b" '(' expr ')' */ { (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),"b"); } break; - case 473: /* expr_mtag: "$a" '(' expr ')' */ + case 481: /* expr_mtag: "$a" '(' expr ')' */ { (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),"a"); } break; - case 474: /* expr_mtag: "..." */ + case 482: /* expr_mtag: "..." */ { (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[0])),nullptr,"..."); } break; - case 475: /* expr_mtag: "$c" '(' expr ')' '(' ')' */ + case 483: /* expr_mtag: "$c" '(' expr ')' '(' ')' */ { auto ccall = yyextra->g_Program->makeCall(tokAt(scanner,(yylsp[-5])),tokAt(scanner,(yylsp[0])),"``MACRO``TAG``CALL``"); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-5])),(yyvsp[-3].pExpression),ccall,"c"); } break; - case 476: /* expr_mtag: "$c" '(' expr ')' '(' expr_list ')' */ + case 484: /* expr_mtag: "$c" '(' expr ')' '(' expr_list ')' */ { auto ccall = parseFunctionArguments(yyextra->g_Program->makeCall(tokAt(scanner,(yylsp[-6])),tokAt(scanner,(yylsp[0])),"``MACRO``TAG``CALL``"),(yyvsp[-1].pExpression)); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-6])),(yyvsp[-4].pExpression),ccall,"c"); } break; - case 477: /* expr_mtag: expr '.' "$f" '(' expr ')' */ + case 485: /* expr_mtag: expr '.' "$f" '(' expr ')' */ { auto cfield = new ExprField(tokAt(scanner,(yylsp[-4])), tokAt(scanner,(yylsp[-1])), ExpressionPtr((yyvsp[-5].pExpression)), "``MACRO``TAG``FIELD``"); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),cfield,"f"); } break; - case 478: /* expr_mtag: expr "?." "$f" '(' expr ')' */ + case 486: /* expr_mtag: expr "?." "$f" '(' expr ')' */ { auto cfield = new ExprSafeField(tokAt(scanner,(yylsp[-4])), tokAt(scanner,(yylsp[-1])), ExpressionPtr((yyvsp[-5].pExpression)), "``MACRO``TAG``FIELD``"); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),cfield,"f"); } break; - case 479: /* expr_mtag: expr '.' '.' "$f" '(' expr ')' */ + case 487: /* expr_mtag: expr '.' '.' "$f" '(' expr ')' */ { auto cfield = new ExprField(tokAt(scanner,(yylsp[-4])), tokAt(scanner,(yylsp[-1])), ExpressionPtr((yyvsp[-6].pExpression)), "``MACRO``TAG``FIELD``", true); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),cfield,"f"); } break; - case 480: /* expr_mtag: expr '.' "?." "$f" '(' expr ')' */ + case 488: /* expr_mtag: expr '.' "?." "$f" '(' expr ')' */ { auto cfield = new ExprSafeField(tokAt(scanner,(yylsp[-4])), tokAt(scanner,(yylsp[-1])), ExpressionPtr((yyvsp[-6].pExpression)), "``MACRO``TAG``FIELD``", true); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),cfield,"f"); } break; - case 481: /* expr_mtag: expr "as" "$f" '(' expr ')' */ + case 489: /* expr_mtag: expr "as" "$f" '(' expr ')' */ { auto cfield = new ExprAsVariant(tokAt(scanner,(yylsp[-4])),ExpressionPtr((yyvsp[-5].pExpression)),"``MACRO``TAG``FIELD``"); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),cfield,"f"); } break; - case 482: /* expr_mtag: expr '?' "as" "$f" '(' expr ')' */ + case 490: /* expr_mtag: expr '?' "as" "$f" '(' expr ')' */ { auto cfield = new ExprSafeAsVariant(tokAt(scanner,(yylsp[-4])),ExpressionPtr((yyvsp[-6].pExpression)),"``MACRO``TAG``FIELD``"); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),cfield,"f"); } break; - case 483: /* expr_mtag: expr "is" "$f" '(' expr ')' */ + case 491: /* expr_mtag: expr "is" "$f" '(' expr ')' */ { auto cfield = new ExprIsVariant(tokAt(scanner,(yylsp[-4])),ExpressionPtr((yyvsp[-5].pExpression)),"``MACRO``TAG``FIELD``"); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),cfield,"f"); } break; - case 484: /* expr_mtag: '@' '@' "$c" '(' expr ')' */ + case 492: /* expr_mtag: '@' '@' "$c" '(' expr ')' */ { auto ccall = new ExprAddr(tokAt(scanner,(yylsp[-4])),"``MACRO``TAG``ADDR``"); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-3])),(yyvsp[-1].pExpression),ccall,"c"); } break; - case 485: /* optional_field_annotation: %empty */ + case 493: /* optional_field_annotation: %empty */ { (yyval.aaList) = nullptr; } break; - case 486: /* optional_field_annotation: metadata_argument_list */ + case 494: /* optional_field_annotation: metadata_argument_list */ { (yyval.aaList) = (yyvsp[0].aaList); } break; - case 487: /* optional_override: %empty */ + case 495: /* optional_override: %empty */ { (yyval.i) = OVERRIDE_NONE; } break; - case 488: /* optional_override: "override" */ + case 496: /* optional_override: "override" */ { (yyval.i) = OVERRIDE_OVERRIDE; } break; - case 489: /* optional_override: "sealed" */ + case 497: /* optional_override: "sealed" */ { (yyval.i) = OVERRIDE_SEALED; } break; - case 490: /* optional_constant: %empty */ + case 498: /* optional_constant: %empty */ { (yyval.b) = false; } break; - case 491: /* optional_constant: "const" */ + case 499: /* optional_constant: "const" */ { (yyval.b) = true; } break; - case 492: /* optional_public_or_private_member_variable: %empty */ + case 500: /* optional_public_or_private_member_variable: %empty */ { (yyval.b) = false; } break; - case 493: /* optional_public_or_private_member_variable: "public" */ + case 501: /* optional_public_or_private_member_variable: "public" */ { (yyval.b) = false; } break; - case 494: /* optional_public_or_private_member_variable: "private" */ + case 502: /* optional_public_or_private_member_variable: "private" */ { (yyval.b) = true; } break; - case 495: /* optional_static_member_variable: %empty */ + case 503: /* optional_static_member_variable: %empty */ { (yyval.b) = false; } break; - case 496: /* optional_static_member_variable: "static" */ + case 504: /* optional_static_member_variable: "static" */ { (yyval.b) = true; } break; - case 497: /* structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration */ + case 505: /* structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration */ { (yyvsp[0].pVarDecl)->override = (yyvsp[-2].i) == OVERRIDE_OVERRIDE; (yyvsp[0].pVarDecl)->sealed = (yyvsp[-2].i) == OVERRIDE_SEALED; @@ -8382,13 +8334,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 498: /* struct_variable_declaration_list: %empty */ + case 506: /* struct_variable_declaration_list: %empty */ { (yyval.pVarDeclList) = new vector(); } break; - case 499: /* $@33: %empty */ + case 507: /* $@33: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -8397,7 +8349,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 500: /* struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration ';' */ + case 508: /* struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration ';' */ { (yyval.pVarDeclList) = (yyvsp[-3].pVarDeclList); if ( (yyvsp[-1].pVarDecl) ) (yyvsp[-3].pVarDeclList)->push_back((yyvsp[-1].pVarDecl)); @@ -8413,7 +8365,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 501: /* $@34: %empty */ + case 509: /* $@34: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[-2])); @@ -8422,7 +8374,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 502: /* struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header ';' */ + case 510: /* struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header ';' */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[-1])); @@ -8432,7 +8384,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 503: /* $@35: %empty */ + case 511: /* $@35: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -8441,7 +8393,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 504: /* struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block */ + case 512: /* struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -8451,7 +8403,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 505: /* function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing variable_declaration */ + case 513: /* function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing variable_declaration */ { (yyval.pVarDecl) = (yyvsp[0].pVarDecl); if ( (yyvsp[-1].b) ) { @@ -8463,7 +8415,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 506: /* function_argument_declaration: "$a" '(' expr ')' */ + case 514: /* function_argument_declaration: "$a" '(' expr ')' */ { auto na = new vector(); na->push_back(VariableNameAndPosition{"``MACRO``TAG``","",tokAt(scanner,(yylsp[-1]))}); @@ -8473,21 +8425,21 @@ YYLTYPE yylloc = yyloc_default; } break; - case 507: /* function_argument_list: function_argument_declaration */ + case 515: /* function_argument_list: function_argument_declaration */ { (yyval.pVarDeclList) = new vector(); (yyval.pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 508: /* function_argument_list: function_argument_list ';' function_argument_declaration */ + case 516: /* function_argument_list: function_argument_list ';' function_argument_declaration */ { (yyval.pVarDeclList) = (yyvsp[-2].pVarDeclList); (yyvsp[-2].pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 509: /* tuple_type: type_declaration */ + case 517: /* tuple_type: type_declaration */ { (yyval.pVarDecl) = new VariableDeclaration(nullptr,(yyvsp[0].pTypeDecl),nullptr); } break; - case 510: /* tuple_type: "name" ':' type_declaration */ + case 518: /* tuple_type: "name" ':' type_declaration */ { auto na = new vector(); na->push_back(VariableNameAndPosition{*(yyvsp[-2].s),"",tokAt(scanner,(yylsp[-2]))}); @@ -8496,28 +8448,28 @@ YYLTYPE yylloc = yyloc_default; } break; - case 511: /* tuple_type_list: tuple_type */ + case 519: /* tuple_type_list: tuple_type */ { (yyval.pVarDeclList) = new vector(); (yyval.pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 512: /* tuple_type_list: tuple_type_list c_or_s tuple_type */ + case 520: /* tuple_type_list: tuple_type_list c_or_s tuple_type */ { (yyval.pVarDeclList) = (yyvsp[-2].pVarDeclList); (yyvsp[-2].pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 513: /* tuple_alias_type_list: %empty */ + case 521: /* tuple_alias_type_list: %empty */ { (yyval.pVarDeclList) = new vector(); } break; - case 514: /* tuple_alias_type_list: tuple_type */ + case 522: /* tuple_alias_type_list: tuple_type */ { (yyval.pVarDeclList) = new vector(); (yyval.pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 515: /* tuple_alias_type_list: tuple_alias_type_list semis tuple_type */ + case 523: /* tuple_alias_type_list: tuple_alias_type_list semis tuple_type */ { (yyval.pVarDeclList) = (yyvsp[-2].pVarDeclList); (yyvsp[-2].pVarDeclList)->push_back((yyvsp[0].pVarDecl)); if ( !yyextra->g_CommentReaders.empty() ) { @@ -8531,7 +8483,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 516: /* variant_type: "name" ':' type_declaration */ + case 524: /* variant_type: "name" ':' type_declaration */ { auto na = new vector(); na->push_back(VariableNameAndPosition{*(yyvsp[-2].s),"",tokAt(scanner,(yylsp[-2]))}); @@ -8540,28 +8492,28 @@ YYLTYPE yylloc = yyloc_default; } break; - case 517: /* variant_type_list: variant_type */ + case 525: /* variant_type_list: variant_type */ { (yyval.pVarDeclList) = new vector(); (yyval.pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 518: /* variant_type_list: variant_type_list c_or_s variant_type */ + case 526: /* variant_type_list: variant_type_list c_or_s variant_type */ { (yyval.pVarDeclList) = (yyvsp[-2].pVarDeclList); (yyvsp[-2].pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 519: /* variant_alias_type_list: %empty */ + case 527: /* variant_alias_type_list: %empty */ { (yyval.pVarDeclList) = new vector(); } break; - case 520: /* variant_alias_type_list: variant_type */ + case 528: /* variant_alias_type_list: variant_type */ { (yyval.pVarDeclList) = new vector(); (yyval.pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 521: /* variant_alias_type_list: variant_alias_type_list semis variant_type */ + case 529: /* variant_alias_type_list: variant_alias_type_list semis variant_type */ { (yyval.pVarDeclList) = (yyvsp[-2].pVarDeclList); (yyvsp[-2].pVarDeclList)->push_back((yyvsp[0].pVarDecl)); if ( !yyextra->g_CommentReaders.empty() ) { @@ -8575,15 +8527,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 522: /* copy_or_move: '=' */ + case 530: /* copy_or_move: '=' */ { (yyval.b) = false; } break; - case 523: /* copy_or_move: "<-" */ + case 531: /* copy_or_move: "<-" */ { (yyval.b) = true; } break; - case 524: /* variable_declaration: variable_name_with_pos_list */ + case 532: /* variable_declaration: variable_name_with_pos_list */ { auto autoT = new TypeDecl(Type::autoinfer); autoT->at = tokAt(scanner,(yylsp[0])); @@ -8592,7 +8544,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 525: /* variable_declaration: variable_name_with_pos_list '&' */ + case 533: /* variable_declaration: variable_name_with_pos_list '&' */ { auto autoT = new TypeDecl(Type::autoinfer); autoT->at = tokAt(scanner,(yylsp[-1])); @@ -8601,20 +8553,20 @@ YYLTYPE yylloc = yyloc_default; } break; - case 526: /* variable_declaration: variable_name_with_pos_list ':' type_declaration */ + case 534: /* variable_declaration: variable_name_with_pos_list ':' type_declaration */ { (yyval.pVarDecl) = new VariableDeclaration((yyvsp[-2].pNameWithPosList),(yyvsp[0].pTypeDecl),nullptr); } break; - case 527: /* variable_declaration: variable_name_with_pos_list ':' type_declaration copy_or_move expr */ + case 535: /* variable_declaration: variable_name_with_pos_list ':' type_declaration copy_or_move expr */ { (yyval.pVarDecl) = new VariableDeclaration((yyvsp[-4].pNameWithPosList),(yyvsp[-2].pTypeDecl),(yyvsp[0].pExpression)); (yyval.pVarDecl)->init_via_move = (yyvsp[-1].b); } break; - case 528: /* variable_declaration: variable_name_with_pos_list copy_or_move expr */ + case 536: /* variable_declaration: variable_name_with_pos_list copy_or_move expr */ { auto typeDecl = new TypeDecl(Type::autoinfer); typeDecl->at = tokAt(scanner,(yylsp[-2])); @@ -8623,27 +8575,27 @@ YYLTYPE yylloc = yyloc_default; } break; - case 529: /* copy_or_move_or_clone: '=' */ + case 537: /* copy_or_move_or_clone: '=' */ { (yyval.i) = CorM_COPY; } break; - case 530: /* copy_or_move_or_clone: "<-" */ + case 538: /* copy_or_move_or_clone: "<-" */ { (yyval.i) = CorM_MOVE; } break; - case 531: /* copy_or_move_or_clone: ":=" */ + case 539: /* copy_or_move_or_clone: ":=" */ { (yyval.i) = CorM_CLONE; } break; - case 532: /* optional_ref: %empty */ + case 540: /* optional_ref: %empty */ { (yyval.b) = false; } break; - case 533: /* optional_ref: '&' */ + case 541: /* optional_ref: '&' */ { (yyval.b) = true; } break; - case 534: /* let_variable_name_with_pos_list: "name" */ + case 542: /* let_variable_name_with_pos_list: "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); auto pSL = new vector(); @@ -8653,7 +8605,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 535: /* let_variable_name_with_pos_list: "$i" '(' expr ')' */ + case 543: /* let_variable_name_with_pos_list: "$i" '(' expr ')' */ { auto pSL = new vector(); pSL->push_back(VariableNameAndPosition{"``MACRO``TAG``","",tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-1].pExpression))}); @@ -8661,7 +8613,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 536: /* let_variable_name_with_pos_list: "name" "aka" "name" */ + case 544: /* let_variable_name_with_pos_list: "name" "aka" "name" */ { das_checkName(scanner,*(yyvsp[-2].s),tokAt(scanner,(yylsp[-2]))); das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); @@ -8673,7 +8625,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 537: /* let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" */ + case 545: /* let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); (yyvsp[-2].pNameWithPosList)->push_back(VariableNameAndPosition{*(yyvsp[0].s),"",tokAt(scanner,(yylsp[0]))}); @@ -8682,7 +8634,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 538: /* let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" "aka" "name" */ + case 546: /* let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" "aka" "name" */ { das_checkName(scanner,*(yyvsp[-2].s),tokAt(scanner,(yylsp[-2]))); das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); @@ -8693,7 +8645,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 539: /* global_let_variable_name_with_pos_list: "name" */ + case 547: /* global_let_variable_name_with_pos_list: "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); auto pSL = new vector(); @@ -8703,7 +8655,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 540: /* global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list ',' "name" */ + case 548: /* global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list ',' "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); (yyvsp[-2].pNameWithPosList)->push_back(VariableNameAndPosition{*(yyvsp[0].s),"",tokAt(scanner,(yylsp[0]))}); @@ -8712,41 +8664,41 @@ YYLTYPE yylloc = yyloc_default; } break; - case 541: /* variable_declaration_list: %empty */ + case 549: /* variable_declaration_list: %empty */ { (yyval.pVarDeclList) = new vector(); } break; - case 542: /* variable_declaration_list: variable_declaration_list ';' */ + case 550: /* variable_declaration_list: variable_declaration_list ';' */ { (yyval.pVarDeclList) = (yyvsp[-1].pVarDeclList); } break; - case 543: /* variable_declaration_list: variable_declaration_list let_variable_declaration */ + case 551: /* variable_declaration_list: variable_declaration_list let_variable_declaration */ { (yyval.pVarDeclList) = (yyvsp[-1].pVarDeclList); (yyvsp[-1].pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 544: /* let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options ';' */ - { + case 552: /* let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options SEMICOLON */ + { (yyval.pVarDecl) = new VariableDeclaration((yyvsp[-3].pNameWithPosList),(yyvsp[-1].pTypeDecl),nullptr); } break; - case 545: /* let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr ';' */ - { + case 553: /* let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON */ + { (yyval.pVarDecl) = new VariableDeclaration((yyvsp[-5].pNameWithPosList),(yyvsp[-3].pTypeDecl),(yyvsp[-1].pExpression)); (yyval.pVarDecl)->init_via_move = ((yyvsp[-2].i) & CorM_MOVE) !=0; (yyval.pVarDecl)->init_via_clone = ((yyvsp[-2].i) & CorM_CLONE) !=0; } break; - case 546: /* let_variable_declaration: let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' */ - { + case 554: /* let_variable_declaration: let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr SEMICOLON */ + { auto typeDecl = new TypeDecl(Type::autoinfer); typeDecl->at = tokAt(scanner,(yylsp[-4])); typeDecl->ref = (yyvsp[-3].b); @@ -8756,13 +8708,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 547: /* global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options ';' */ + case 555: /* global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options ';' */ { (yyval.pVarDecl) = new VariableDeclaration((yyvsp[-3].pNameWithPosList),(yyvsp[-1].pTypeDecl),nullptr); } break; - case 548: /* global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr ';' */ + case 556: /* global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr ';' */ { (yyval.pVarDecl) = new VariableDeclaration((yyvsp[-5].pNameWithPosList),(yyvsp[-3].pTypeDecl),(yyvsp[-1].pExpression)); (yyval.pVarDecl)->init_via_move = ((yyvsp[-2].i) & CorM_MOVE) !=0; @@ -8770,7 +8722,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 549: /* global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' */ + case 557: /* global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' */ { auto typeDecl = new TypeDecl(Type::autoinfer); typeDecl->at = tokAt(scanner,(yylsp[-4])); @@ -8781,39 +8733,39 @@ YYLTYPE yylloc = yyloc_default; } break; - case 550: /* optional_shared: %empty */ + case 558: /* optional_shared: %empty */ { (yyval.b) = false; } break; - case 551: /* optional_shared: "shared" */ + case 559: /* optional_shared: "shared" */ { (yyval.b) = true; } break; - case 552: /* optional_public_or_private_variable: %empty */ + case 560: /* optional_public_or_private_variable: %empty */ { (yyval.b) = yyextra->g_Program->thisModule->isPublic; } break; - case 553: /* optional_public_or_private_variable: "private" */ + case 561: /* optional_public_or_private_variable: "private" */ { (yyval.b) = false; } break; - case 554: /* optional_public_or_private_variable: "public" */ + case 562: /* optional_public_or_private_variable: "public" */ { (yyval.b) = true; } break; - case 555: /* global_variable_declaration_list: %empty */ + case 563: /* global_variable_declaration_list: %empty */ { (yyval.pVarDeclList) = new vector(); } break; - case 556: /* global_variable_declaration_list: global_variable_declaration_list ';' */ + case 564: /* global_variable_declaration_list: global_variable_declaration_list ';' */ { (yyval.pVarDeclList) = (yyvsp[-1].pVarDeclList); } break; - case 557: /* $@36: %empty */ + case 565: /* $@36: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -8822,7 +8774,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 558: /* global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation let_variable_declaration */ + case 566: /* global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation let_variable_declaration */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -8837,13 +8789,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 559: /* global_let: kwd_let optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' */ + case 567: /* global_let: kwd_let optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' */ { ast_globalLetList(scanner,(yyvsp[-5].b),(yyvsp[-4].b),(yyvsp[-3].b),(yyvsp[-1].pVarDeclList)); } break; - case 560: /* $@37: %empty */ + case 568: /* $@37: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -8852,7 +8804,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 561: /* global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration */ + case 569: /* global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -8865,7 +8817,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 562: /* enum_expression: "name" */ + case 570: /* enum_expression: "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); (yyval.pEnumPair) = new EnumPair((yyvsp[0].s),tokAt(scanner,(yylsp[0]))); @@ -8873,7 +8825,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 563: /* enum_expression: "name" '=' expr */ + case 571: /* enum_expression: "name" '=' expr */ { das_checkName(scanner,*(yyvsp[-2].s),tokAt(scanner,(yylsp[-2]))); (yyval.pEnumPair) = new EnumPair((yyvsp[-2].s),(yyvsp[0].pExpression),tokAt(scanner,(yylsp[-2]))); @@ -8881,13 +8833,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 566: /* enum_list: %empty */ + case 574: /* enum_list: %empty */ { (yyval.pEnum) = new Enumeration(); } break; - case 567: /* enum_list: enum_expression */ + case 575: /* enum_list: enum_expression */ { (yyval.pEnum) = new Enumeration(); if ( !(yyval.pEnum)->add((yyvsp[0].pEnumPair)->name,(yyvsp[0].pEnumPair)->expr,(yyvsp[0].pEnumPair)->at) ) { @@ -8903,7 +8855,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 568: /* enum_list: enum_list commas enum_expression */ + case 576: /* enum_list: enum_list commas enum_expression */ { if ( !(yyvsp[-2].pEnum)->add((yyvsp[0].pEnumPair)->name,(yyvsp[0].pEnumPair)->expr,(yyvsp[0].pEnumPair)->at) ) { das2_yyerror(scanner,"enumeration already declared " + (yyvsp[0].pEnumPair)->name, (yyvsp[0].pEnumPair)->at, @@ -8919,19 +8871,19 @@ YYLTYPE yylloc = yyloc_default; } break; - case 569: /* optional_public_or_private_alias: %empty */ + case 577: /* optional_public_or_private_alias: %empty */ { (yyval.b) = yyextra->g_Program->thisModule->isPublic; } break; - case 570: /* optional_public_or_private_alias: "private" */ + case 578: /* optional_public_or_private_alias: "private" */ { (yyval.b) = false; } break; - case 571: /* optional_public_or_private_alias: "public" */ + case 579: /* optional_public_or_private_alias: "public" */ { (yyval.b) = true; } break; - case 572: /* $@38: %empty */ + case 580: /* $@38: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto pubename = tokAt(scanner,(yylsp[0])); @@ -8940,7 +8892,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 573: /* single_alias: optional_public_or_private_alias "name" $@38 '=' type_declaration */ + case 581: /* single_alias: optional_public_or_private_alias "name" $@38 '=' type_declaration */ { das_checkName(scanner,*(yyvsp[-3].s),tokAt(scanner,(yylsp[-3]))); (yyvsp[0].pTypeDecl)->isPrivateAlias = !(yyvsp[-4].b); @@ -8961,19 +8913,19 @@ YYLTYPE yylloc = yyloc_default; } break; - case 575: /* optional_public_or_private_enum: %empty */ + case 583: /* optional_public_or_private_enum: %empty */ { (yyval.b) = yyextra->g_Program->thisModule->isPublic; } break; - case 576: /* optional_public_or_private_enum: "private" */ + case 584: /* optional_public_or_private_enum: "private" */ { (yyval.b) = false; } break; - case 577: /* optional_public_or_private_enum: "public" */ + case 585: /* optional_public_or_private_enum: "public" */ { (yyval.b) = true; } break; - case 578: /* enum_name: "name" */ + case 586: /* enum_name: "name" */ { if ( !yyextra->g_CommentReaders.empty() ) { auto pubename = tokAt(scanner,(yylsp[0])); @@ -8983,27 +8935,26 @@ YYLTYPE yylloc = yyloc_default; } break; - case 579: /* optional_enum_basic_type_declaration: %empty */ + case 587: /* optional_enum_basic_type_declaration: %empty */ { (yyval.type) = Type::tInt; } break; - case 580: /* optional_enum_basic_type_declaration: ':' enum_basic_type_declaration */ + case 588: /* optional_enum_basic_type_declaration: ':' enum_basic_type_declaration */ { (yyval.type) = (yyvsp[0].type); } break; - case 583: /* $@39: %empty */ + case 595: /* $@39: %empty */ { - yyextra->das_indent_char = ','; - yyextra->das_indent_level++; + yyextra->push_nesteds(DAS_EMIT_COMMA); } break; - case 584: /* $@40: %empty */ - { + case 596: /* $@40: %empty */ + { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[-3])); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeEnumerationEntries(tak); @@ -9011,18 +8962,17 @@ YYLTYPE yylloc = yyloc_default; } break; - case 585: /* $@41: %empty */ + case 597: /* $@41: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[-1])); for ( auto & crd : yyextra->g_CommentReaders ) crd->afterEnumerationEntries(tak); } - yyextra->das_indent_level--; - yyextra->das_indent_char = ';'; + yyextra->pop_nesteds(); } break; - case 586: /* enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_commas '{' $@40 enum_list optional_commas $@41 '}' */ + case 598: /* enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_emit_commas '{' $@40 enum_list optional_commas $@41 '}' */ { if ( !yyextra->g_CommentReaders.empty() ) { auto pubename = tokAt(scanner,(yylsp[-3])); @@ -9032,61 +8982,61 @@ YYLTYPE yylloc = yyloc_default; } break; - case 587: /* optional_structure_parent: %empty */ + case 599: /* optional_structure_parent: %empty */ { (yyval.s) = nullptr; } break; - case 588: /* optional_structure_parent: ':' name_in_namespace */ + case 600: /* optional_structure_parent: ':' name_in_namespace */ { (yyval.s) = (yyvsp[0].s); } break; - case 589: /* optional_sealed: %empty */ + case 601: /* optional_sealed: %empty */ { (yyval.b) = false; } break; - case 590: /* optional_sealed: "sealed" */ + case 602: /* optional_sealed: "sealed" */ { (yyval.b) = true; } break; - case 591: /* structure_name: optional_sealed "name" optional_structure_parent */ + case 603: /* structure_name: optional_sealed "name" optional_structure_parent */ { (yyval.pStructure) = ast_structureName(scanner,(yyvsp[-2].b),(yyvsp[-1].s),tokAt(scanner,(yylsp[-1])),(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); } break; - case 592: /* class_or_struct: "class" */ + case 604: /* class_or_struct: "class" */ { (yyval.b) = true; } break; - case 593: /* class_or_struct: "struct" */ + case 605: /* class_or_struct: "struct" */ { (yyval.b) = false; } break; - case 594: /* optional_public_or_private_structure: %empty */ + case 606: /* optional_public_or_private_structure: %empty */ { (yyval.b) = yyextra->g_Program->thisModule->isPublic; } break; - case 595: /* optional_public_or_private_structure: "private" */ + case 607: /* optional_public_or_private_structure: "private" */ { (yyval.b) = false; } break; - case 596: /* optional_public_or_private_structure: "public" */ + case 608: /* optional_public_or_private_structure: "public" */ { (yyval.b) = true; } break; - case 597: /* optional_struct_variable_declaration_list: %empty */ + case 609: /* optional_struct_variable_declaration_list: %empty */ { (yyval.pVarDeclList) = new vector(); } break; - case 598: /* optional_struct_variable_declaration_list: '{' struct_variable_declaration_list '}' */ + case 610: /* optional_struct_variable_declaration_list: '{' struct_variable_declaration_list '}' */ { (yyval.pVarDeclList) = (yyvsp[-1].pVarDeclList); } break; - case 599: /* $@42: %empty */ + case 611: /* $@42: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[-1])); @@ -9095,11 +9045,11 @@ YYLTYPE yylloc = yyloc_default; } break; - case 600: /* $@43: %empty */ + case 612: /* $@43: %empty */ { if ( (yyvsp[0].pStructure) ) { (yyvsp[0].pStructure)->isClass = (yyvsp[-3].b); (yyvsp[0].pStructure)->privateStructure = !(yyvsp[-2].b); } } break; - case 601: /* structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 structure_name $@43 optional_struct_variable_declaration_list */ + case 613: /* structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 structure_name $@43 optional_struct_variable_declaration_list */ { if ( (yyvsp[-2].pStructure) ) { ast_structureDeclaration ( scanner, (yyvsp[-6].faList), tokAt(scanner,(yylsp[-5])), (yyvsp[-2].pStructure), tokAt(scanner,(yylsp[-2])), (yyvsp[0].pVarDeclList) ); @@ -9113,7 +9063,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 602: /* variable_name_with_pos_list: "name" */ + case 614: /* variable_name_with_pos_list: "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); auto pSL = new vector(); @@ -9123,7 +9073,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 603: /* variable_name_with_pos_list: "$i" '(' expr ')' */ + case 615: /* variable_name_with_pos_list: "$i" '(' expr ')' */ { auto pSL = new vector(); pSL->push_back(VariableNameAndPosition{"``MACRO``TAG``","",tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression)}); @@ -9131,7 +9081,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 604: /* variable_name_with_pos_list: "name" "aka" "name" */ + case 616: /* variable_name_with_pos_list: "name" "aka" "name" */ { das_checkName(scanner,*(yyvsp[-2].s),tokAt(scanner,(yylsp[-2]))); das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); @@ -9143,7 +9093,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 605: /* variable_name_with_pos_list: variable_name_with_pos_list ',' "name" */ + case 617: /* variable_name_with_pos_list: variable_name_with_pos_list ',' "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); (yyvsp[-2].pNameWithPosList)->push_back(VariableNameAndPosition{*(yyvsp[0].s),"",tokAt(scanner,(yylsp[0]))}); @@ -9152,7 +9102,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 606: /* variable_name_with_pos_list: variable_name_with_pos_list ',' "name" "aka" "name" */ + case 618: /* variable_name_with_pos_list: variable_name_with_pos_list ',' "name" "aka" "name" */ { das_checkName(scanner,*(yyvsp[-2].s),tokAt(scanner,(yylsp[-2]))); das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); @@ -9163,147 +9113,147 @@ YYLTYPE yylloc = yyloc_default; } break; - case 607: /* basic_type_declaration: "bool" */ + case 619: /* basic_type_declaration: "bool" */ { (yyval.type) = Type::tBool; } break; - case 608: /* basic_type_declaration: "string" */ + case 620: /* basic_type_declaration: "string" */ { (yyval.type) = Type::tString; } break; - case 609: /* basic_type_declaration: "int" */ + case 621: /* basic_type_declaration: "int" */ { (yyval.type) = Type::tInt; } break; - case 610: /* basic_type_declaration: "int8" */ + case 622: /* basic_type_declaration: "int8" */ { (yyval.type) = Type::tInt8; } break; - case 611: /* basic_type_declaration: "int16" */ + case 623: /* basic_type_declaration: "int16" */ { (yyval.type) = Type::tInt16; } break; - case 612: /* basic_type_declaration: "int64" */ + case 624: /* basic_type_declaration: "int64" */ { (yyval.type) = Type::tInt64; } break; - case 613: /* basic_type_declaration: "int2" */ + case 625: /* basic_type_declaration: "int2" */ { (yyval.type) = Type::tInt2; } break; - case 614: /* basic_type_declaration: "int3" */ + case 626: /* basic_type_declaration: "int3" */ { (yyval.type) = Type::tInt3; } break; - case 615: /* basic_type_declaration: "int4" */ + case 627: /* basic_type_declaration: "int4" */ { (yyval.type) = Type::tInt4; } break; - case 616: /* basic_type_declaration: "uint" */ + case 628: /* basic_type_declaration: "uint" */ { (yyval.type) = Type::tUInt; } break; - case 617: /* basic_type_declaration: "uint8" */ + case 629: /* basic_type_declaration: "uint8" */ { (yyval.type) = Type::tUInt8; } break; - case 618: /* basic_type_declaration: "uint16" */ + case 630: /* basic_type_declaration: "uint16" */ { (yyval.type) = Type::tUInt16; } break; - case 619: /* basic_type_declaration: "uint64" */ + case 631: /* basic_type_declaration: "uint64" */ { (yyval.type) = Type::tUInt64; } break; - case 620: /* basic_type_declaration: "uint2" */ + case 632: /* basic_type_declaration: "uint2" */ { (yyval.type) = Type::tUInt2; } break; - case 621: /* basic_type_declaration: "uint3" */ + case 633: /* basic_type_declaration: "uint3" */ { (yyval.type) = Type::tUInt3; } break; - case 622: /* basic_type_declaration: "uint4" */ + case 634: /* basic_type_declaration: "uint4" */ { (yyval.type) = Type::tUInt4; } break; - case 623: /* basic_type_declaration: "float" */ + case 635: /* basic_type_declaration: "float" */ { (yyval.type) = Type::tFloat; } break; - case 624: /* basic_type_declaration: "float2" */ + case 636: /* basic_type_declaration: "float2" */ { (yyval.type) = Type::tFloat2; } break; - case 625: /* basic_type_declaration: "float3" */ + case 637: /* basic_type_declaration: "float3" */ { (yyval.type) = Type::tFloat3; } break; - case 626: /* basic_type_declaration: "float4" */ + case 638: /* basic_type_declaration: "float4" */ { (yyval.type) = Type::tFloat4; } break; - case 627: /* basic_type_declaration: "void" */ + case 639: /* basic_type_declaration: "void" */ { (yyval.type) = Type::tVoid; } break; - case 628: /* basic_type_declaration: "range" */ + case 640: /* basic_type_declaration: "range" */ { (yyval.type) = Type::tRange; } break; - case 629: /* basic_type_declaration: "urange" */ + case 641: /* basic_type_declaration: "urange" */ { (yyval.type) = Type::tURange; } break; - case 630: /* basic_type_declaration: "range64" */ + case 642: /* basic_type_declaration: "range64" */ { (yyval.type) = Type::tRange64; } break; - case 631: /* basic_type_declaration: "urange64" */ + case 643: /* basic_type_declaration: "urange64" */ { (yyval.type) = Type::tURange64; } break; - case 632: /* basic_type_declaration: "double" */ + case 644: /* basic_type_declaration: "double" */ { (yyval.type) = Type::tDouble; } break; - case 633: /* basic_type_declaration: "bitfield" */ + case 645: /* basic_type_declaration: "bitfield" */ { (yyval.type) = Type::tBitfield; } break; - case 634: /* enum_basic_type_declaration: "int" */ + case 646: /* enum_basic_type_declaration: "int" */ { (yyval.type) = Type::tInt; } break; - case 635: /* enum_basic_type_declaration: "int8" */ + case 647: /* enum_basic_type_declaration: "int8" */ { (yyval.type) = Type::tInt8; } break; - case 636: /* enum_basic_type_declaration: "int16" */ + case 648: /* enum_basic_type_declaration: "int16" */ { (yyval.type) = Type::tInt16; } break; - case 637: /* enum_basic_type_declaration: "uint" */ + case 649: /* enum_basic_type_declaration: "uint" */ { (yyval.type) = Type::tUInt; } break; - case 638: /* enum_basic_type_declaration: "uint8" */ + case 650: /* enum_basic_type_declaration: "uint8" */ { (yyval.type) = Type::tUInt8; } break; - case 639: /* enum_basic_type_declaration: "uint16" */ + case 651: /* enum_basic_type_declaration: "uint16" */ { (yyval.type) = Type::tUInt16; } break; - case 640: /* enum_basic_type_declaration: "int64" */ + case 652: /* enum_basic_type_declaration: "int64" */ { (yyval.type) = Type::tInt64; } break; - case 641: /* enum_basic_type_declaration: "uint64" */ + case 653: /* enum_basic_type_declaration: "uint64" */ { (yyval.type) = Type::tUInt64; } break; - case 642: /* structure_type_declaration: name_in_namespace */ + case 654: /* structure_type_declaration: name_in_namespace */ { (yyval.pTypeDecl) = yyextra->g_Program->makeTypeDeclaration(tokAt(scanner,(yylsp[0])),*(yyvsp[0].s)); if ( !(yyval.pTypeDecl) ) { @@ -9314,14 +9264,14 @@ YYLTYPE yylloc = yyloc_default; } break; - case 643: /* auto_type_declaration: "auto" */ + case 655: /* auto_type_declaration: "auto" */ { (yyval.pTypeDecl) = new TypeDecl(Type::autoinfer); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[0])); } break; - case 644: /* auto_type_declaration: "auto" '(' "name" ')' */ + case 656: /* auto_type_declaration: "auto" '(' "name" ')' */ { das_checkName(scanner,*(yyvsp[-1].s),tokAt(scanner,(yylsp[-1]))); (yyval.pTypeDecl) = new TypeDecl(Type::autoinfer); @@ -9331,7 +9281,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 645: /* auto_type_declaration: "$t" '(' expr ')' */ + case 657: /* auto_type_declaration: "$t" '(' expr ')' */ { (yyval.pTypeDecl) = new TypeDecl(Type::alias); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-3])); @@ -9343,7 +9293,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 646: /* bitfield_bits: "name" */ + case 658: /* bitfield_bits: "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); auto pSL = new vector(); @@ -9353,7 +9303,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 647: /* bitfield_bits: bitfield_bits ';' "name" */ + case 659: /* bitfield_bits: bitfield_bits ';' "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); (yyvsp[-2].pNameList)->push_back(*(yyvsp[0].s)); @@ -9362,7 +9312,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 648: /* bitfield_alias_bits: %empty */ + case 660: /* bitfield_alias_bits: %empty */ { auto pSL = new vector(); (yyval.pNameList) = pSL; @@ -9370,7 +9320,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 649: /* bitfield_alias_bits: "name" */ + case 661: /* bitfield_alias_bits: "name" */ { (yyval.pNameList) = new vector(); das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); @@ -9383,7 +9333,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 650: /* bitfield_alias_bits: bitfield_alias_bits commas "name" */ + case 662: /* bitfield_alias_bits: bitfield_alias_bits commas "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); (yyvsp[-2].pNameList)->push_back(*(yyvsp[0].s)); @@ -9396,15 +9346,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 651: /* $@44: %empty */ + case 663: /* $@44: %empty */ { yyextra->das_arrow_depth ++; } break; - case 652: /* $@45: %empty */ + case 664: /* $@45: %empty */ { yyextra->das_arrow_depth --; } break; - case 653: /* bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits '>' $@45 */ + case 665: /* bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits '>' $@45 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tBitfield); (yyval.pTypeDecl)->argNames = *(yyvsp[-2].pNameList); @@ -9417,55 +9367,55 @@ YYLTYPE yylloc = yyloc_default; } break; - case 656: /* table_type_pair: type_declaration */ + case 668: /* table_type_pair: type_declaration */ { (yyval.aTypePair).firstType = (yyvsp[0].pTypeDecl); (yyval.aTypePair).secondType = new TypeDecl(Type::tVoid); } break; - case 657: /* table_type_pair: type_declaration c_or_s type_declaration */ + case 669: /* table_type_pair: type_declaration c_or_s type_declaration */ { (yyval.aTypePair).firstType = (yyvsp[-2].pTypeDecl); (yyval.aTypePair).secondType = (yyvsp[0].pTypeDecl); } break; - case 658: /* dim_list: '[' expr ']' */ + case 670: /* dim_list: '[' expr ']' */ { (yyval.pTypeDecl) = new TypeDecl(Type::autoinfer); appendDimExpr((yyval.pTypeDecl), (yyvsp[-1].pExpression)); } break; - case 659: /* dim_list: '[' ']' */ + case 671: /* dim_list: '[' ']' */ { (yyval.pTypeDecl) = new TypeDecl(Type::autoinfer); appendDimExpr((yyval.pTypeDecl), nullptr); } break; - case 660: /* dim_list: dim_list '[' expr ']' */ + case 672: /* dim_list: dim_list '[' expr ']' */ { (yyval.pTypeDecl) = (yyvsp[-3].pTypeDecl); appendDimExpr((yyval.pTypeDecl), (yyvsp[-1].pExpression)); } break; - case 661: /* dim_list: dim_list '[' ']' */ + case 673: /* dim_list: dim_list '[' ']' */ { (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); appendDimExpr((yyval.pTypeDecl), nullptr); } break; - case 662: /* type_declaration_no_options: type_declaration_no_options_no_dim */ + case 674: /* type_declaration_no_options: type_declaration_no_options_no_dim */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); } break; - case 663: /* type_declaration_no_options: type_declaration_no_options_no_dim dim_list */ + case 675: /* type_declaration_no_options: type_declaration_no_options_no_dim dim_list */ { if ( (yyvsp[-1].pTypeDecl)->baseType==Type::typeDecl ) { das2_yyerror(scanner,"type declaration can`t be used as array base type",tokAt(scanner,(yylsp[-1])), @@ -9483,38 +9433,38 @@ YYLTYPE yylloc = yyloc_default; } break; - case 664: /* type_declaration_no_options_no_dim: basic_type_declaration */ + case 676: /* type_declaration_no_options_no_dim: basic_type_declaration */ { (yyval.pTypeDecl) = new TypeDecl((yyvsp[0].type)); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[0])); } break; - case 665: /* type_declaration_no_options_no_dim: auto_type_declaration */ + case 677: /* type_declaration_no_options_no_dim: auto_type_declaration */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); } break; - case 666: /* type_declaration_no_options_no_dim: bitfield_type_declaration */ + case 678: /* type_declaration_no_options_no_dim: bitfield_type_declaration */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); } break; - case 667: /* type_declaration_no_options_no_dim: structure_type_declaration */ + case 679: /* type_declaration_no_options_no_dim: structure_type_declaration */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); } break; - case 668: /* $@46: %empty */ + case 680: /* $@46: %empty */ { yyextra->das_arrow_depth ++; } break; - case 669: /* $@47: %empty */ + case 681: /* $@47: %empty */ { yyextra->das_arrow_depth --; } break; - case 670: /* type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration '>' $@47 */ + case 682: /* type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration '>' $@47 */ { (yyvsp[-2].pTypeDecl)->autoToAlias = true; (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); } break; - case 671: /* type_declaration_no_options_no_dim: "typedecl" '(' expr ')' */ + case 683: /* type_declaration_no_options_no_dim: "typedecl" '(' expr ')' */ { (yyval.pTypeDecl) = new TypeDecl(Type::typeDecl); (yyval.pTypeDecl)->at = tokRangeAt(scanner,(yylsp[-3]),(yylsp[-1])); @@ -9522,7 +9472,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 672: /* type_declaration_no_options_no_dim: '$' name_in_namespace '(' optional_expr_list ')' */ + case 684: /* type_declaration_no_options_no_dim: '$' name_in_namespace '(' optional_expr_list ')' */ { (yyval.pTypeDecl) = new TypeDecl(Type::typeMacro); (yyval.pTypeDecl)->at = tokRangeAt(scanner,(yylsp[-3]), (yylsp[-1])); @@ -9532,11 +9482,11 @@ YYLTYPE yylloc = yyloc_default; } break; - case 673: /* $@48: %empty */ + case 685: /* $@48: %empty */ { yyextra->das_arrow_depth ++; } break; - case 674: /* type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' */ + case 686: /* type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' */ { (yyval.pTypeDecl) = new TypeDecl(Type::typeMacro); (yyval.pTypeDecl)->at = tokRangeAt(scanner,(yylsp[-7]), (yylsp[-1])); @@ -9546,21 +9496,21 @@ YYLTYPE yylloc = yyloc_default; } break; - case 675: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '[' ']' */ + case 687: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '[' ']' */ { (yyvsp[-3].pTypeDecl)->removeDim = true; (yyval.pTypeDecl) = (yyvsp[-3].pTypeDecl); } break; - case 676: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "explicit" */ + case 688: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "explicit" */ { (yyvsp[-1].pTypeDecl)->isExplicit = true; (yyval.pTypeDecl) = (yyvsp[-1].pTypeDecl); } break; - case 677: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "const" */ + case 689: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "const" */ { (yyvsp[-1].pTypeDecl)->constant = true; (yyvsp[-1].pTypeDecl)->removeConstant = false; @@ -9568,7 +9518,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 678: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' "const" */ + case 690: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' "const" */ { (yyvsp[-2].pTypeDecl)->constant = false; (yyvsp[-2].pTypeDecl)->removeConstant = true; @@ -9576,7 +9526,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 679: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '&' */ + case 691: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '&' */ { (yyvsp[-1].pTypeDecl)->ref = true; (yyvsp[-1].pTypeDecl)->removeRef = false; @@ -9584,7 +9534,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 680: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '&' */ + case 692: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '&' */ { (yyvsp[-2].pTypeDecl)->ref = false; (yyvsp[-2].pTypeDecl)->removeRef = true; @@ -9592,21 +9542,21 @@ YYLTYPE yylloc = yyloc_default; } break; - case 681: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '#' */ + case 693: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '#' */ { (yyval.pTypeDecl) = (yyvsp[-1].pTypeDecl); (yyval.pTypeDecl)->temporary = true; } break; - case 682: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "implicit" */ + case 694: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "implicit" */ { (yyval.pTypeDecl) = (yyvsp[-1].pTypeDecl); (yyval.pTypeDecl)->implicit = true; } break; - case 683: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '#' */ + case 695: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '#' */ { (yyvsp[-2].pTypeDecl)->temporary = false; (yyvsp[-2].pTypeDecl)->removeTemporary = true; @@ -9614,21 +9564,21 @@ YYLTYPE yylloc = yyloc_default; } break; - case 684: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" "const" */ + case 696: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" "const" */ { (yyvsp[-2].pTypeDecl)->explicitConst = true; (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); } break; - case 685: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" '&' */ + case 697: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" '&' */ { (yyvsp[-2].pTypeDecl)->explicitRef = true; (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); } break; - case 686: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '?' */ + case 698: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '?' */ { (yyval.pTypeDecl) = new TypeDecl(Type::tPointer); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-1])); @@ -9636,15 +9586,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 687: /* $@49: %empty */ + case 699: /* $@49: %empty */ { yyextra->das_arrow_depth ++; } break; - case 688: /* $@50: %empty */ + case 700: /* $@50: %empty */ { yyextra->das_arrow_depth --; } break; - case 689: /* type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration '>' $@50 */ + case 701: /* type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration '>' $@50 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tPointer); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9653,7 +9603,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 690: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "??" */ + case 702: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "??" */ { (yyval.pTypeDecl) = new TypeDecl(Type::tPointer); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-1])); @@ -9663,15 +9613,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 691: /* $@51: %empty */ + case 703: /* $@51: %empty */ { yyextra->das_arrow_depth ++; } break; - case 692: /* $@52: %empty */ + case 704: /* $@52: %empty */ { yyextra->das_arrow_depth --; } break; - case 693: /* type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration '>' $@52 */ + case 705: /* type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration '>' $@52 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tArray); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9679,15 +9629,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 694: /* $@53: %empty */ + case 706: /* $@53: %empty */ { yyextra->das_arrow_depth ++; } break; - case 695: /* $@54: %empty */ + case 707: /* $@54: %empty */ { yyextra->das_arrow_depth --; } break; - case 696: /* type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair '>' $@54 */ + case 708: /* type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair '>' $@54 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tTable); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9696,15 +9646,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 697: /* $@55: %empty */ + case 709: /* $@55: %empty */ { yyextra->das_arrow_depth ++; } break; - case 698: /* $@56: %empty */ + case 710: /* $@56: %empty */ { yyextra->das_arrow_depth --; } break; - case 699: /* type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration '>' $@56 */ + case 711: /* type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration '>' $@56 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tIterator); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9712,22 +9662,22 @@ YYLTYPE yylloc = yyloc_default; } break; - case 700: /* type_declaration_no_options_no_dim: "block" */ + case 712: /* type_declaration_no_options_no_dim: "block" */ { (yyval.pTypeDecl) = new TypeDecl(Type::tBlock); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[0])); } break; - case 701: /* $@57: %empty */ + case 713: /* $@57: %empty */ { yyextra->das_arrow_depth ++; } break; - case 702: /* $@58: %empty */ + case 714: /* $@58: %empty */ { yyextra->das_arrow_depth --; } break; - case 703: /* type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration '>' $@58 */ + case 715: /* type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration '>' $@58 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tBlock); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9735,15 +9685,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 704: /* $@59: %empty */ + case 716: /* $@59: %empty */ { yyextra->das_arrow_depth ++; } break; - case 705: /* $@60: %empty */ + case 717: /* $@60: %empty */ { yyextra->das_arrow_depth --; } break; - case 706: /* type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type '>' $@60 */ + case 718: /* type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type '>' $@60 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tBlock); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-6])); @@ -9755,22 +9705,22 @@ YYLTYPE yylloc = yyloc_default; } break; - case 707: /* type_declaration_no_options_no_dim: "function" */ + case 719: /* type_declaration_no_options_no_dim: "function" */ { (yyval.pTypeDecl) = new TypeDecl(Type::tFunction); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[0])); } break; - case 708: /* $@61: %empty */ + case 720: /* $@61: %empty */ { yyextra->das_arrow_depth ++; } break; - case 709: /* $@62: %empty */ + case 721: /* $@62: %empty */ { yyextra->das_arrow_depth --; } break; - case 710: /* type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration '>' $@62 */ + case 722: /* type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration '>' $@62 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tFunction); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9778,15 +9728,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 711: /* $@63: %empty */ + case 723: /* $@63: %empty */ { yyextra->das_arrow_depth ++; } break; - case 712: /* $@64: %empty */ + case 724: /* $@64: %empty */ { yyextra->das_arrow_depth --; } break; - case 713: /* type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type '>' $@64 */ + case 725: /* type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type '>' $@64 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tFunction); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-6])); @@ -9798,22 +9748,22 @@ YYLTYPE yylloc = yyloc_default; } break; - case 714: /* type_declaration_no_options_no_dim: "lambda" */ + case 726: /* type_declaration_no_options_no_dim: "lambda" */ { (yyval.pTypeDecl) = new TypeDecl(Type::tLambda); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[0])); } break; - case 715: /* $@65: %empty */ + case 727: /* $@65: %empty */ { yyextra->das_arrow_depth ++; } break; - case 716: /* $@66: %empty */ + case 728: /* $@66: %empty */ { yyextra->das_arrow_depth --; } break; - case 717: /* type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration '>' $@66 */ + case 729: /* type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration '>' $@66 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tLambda); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9821,15 +9771,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 718: /* $@67: %empty */ + case 730: /* $@67: %empty */ { yyextra->das_arrow_depth ++; } break; - case 719: /* $@68: %empty */ + case 731: /* $@68: %empty */ { yyextra->das_arrow_depth --; } break; - case 720: /* type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type '>' $@68 */ + case 732: /* type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type '>' $@68 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tLambda); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-6])); @@ -9841,15 +9791,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 721: /* $@69: %empty */ + case 733: /* $@69: %empty */ { yyextra->das_arrow_depth ++; } break; - case 722: /* $@70: %empty */ + case 734: /* $@70: %empty */ { yyextra->das_arrow_depth --; } break; - case 723: /* type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list '>' $@70 */ + case 735: /* type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list '>' $@70 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tTuple); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9858,15 +9808,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 724: /* $@71: %empty */ + case 736: /* $@71: %empty */ { yyextra->das_arrow_depth ++; } break; - case 725: /* $@72: %empty */ + case 737: /* $@72: %empty */ { yyextra->das_arrow_depth --; } break; - case 726: /* type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list '>' $@72 */ + case 738: /* type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list '>' $@72 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tVariant); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9875,13 +9825,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 727: /* type_declaration: type_declaration_no_options */ + case 739: /* type_declaration: type_declaration_no_options */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); } break; - case 728: /* type_declaration: type_declaration '|' type_declaration_no_options */ + case 740: /* type_declaration: type_declaration '|' type_declaration_no_options */ { if ( (yyvsp[-2].pTypeDecl)->baseType==Type::option ) { (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); @@ -9895,7 +9845,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 729: /* type_declaration: type_declaration '|' '#' */ + case 741: /* type_declaration: type_declaration '|' '#' */ { if ( (yyvsp[-2].pTypeDecl)->baseType==Type::option ) { (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); @@ -9911,14 +9861,14 @@ YYLTYPE yylloc = yyloc_default; } break; - case 730: /* $@73: %empty */ + case 742: /* $@73: %empty */ { - yyextra->das_indent_level++; + yyextra->push_nesteds(DAS_EMIT_SEMICOLON); } break; - case 731: /* $@74: %empty */ - { + case 743: /* $@74: %empty */ + { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-1])); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeTuple(atvname); @@ -9926,7 +9876,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 732: /* $@75: %empty */ + case 744: /* $@75: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-3])); @@ -9935,17 +9885,17 @@ YYLTYPE yylloc = yyloc_default; } break; - case 733: /* $@76: %empty */ + case 745: /* $@76: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-6])); for ( auto & crd : yyextra->g_CommentReaders ) crd->afterTupleEntries(atvname); } - yyextra->das_indent_level--; + yyextra->pop_nesteds(); } break; - case 734: /* tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' */ + case 746: /* tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' */ { auto vtype = make_smart(Type::tTuple); vtype->alias = *(yyvsp[-8].s); @@ -9965,14 +9915,14 @@ YYLTYPE yylloc = yyloc_default; } break; - case 735: /* $@77: %empty */ + case 747: /* $@77: %empty */ { - yyextra->das_indent_level++; + yyextra->push_nesteds(DAS_EMIT_SEMICOLON); } break; - case 736: /* $@78: %empty */ - { + case 748: /* $@78: %empty */ + { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-1])); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeVariant(atvname); @@ -9980,7 +9930,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 737: /* $@79: %empty */ + case 749: /* $@79: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-3])); @@ -9990,17 +9940,17 @@ YYLTYPE yylloc = yyloc_default; } break; - case 738: /* $@80: %empty */ + case 750: /* $@80: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-6])); for ( auto & crd : yyextra->g_CommentReaders ) crd->afterVariantEntries(atvname); } - yyextra->das_indent_level--; + yyextra->pop_nesteds(); } break; - case 739: /* variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' */ + case 751: /* variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' */ { auto vtype = make_smart(Type::tVariant); vtype->alias = *(yyvsp[-8].s); @@ -10020,15 +9970,14 @@ YYLTYPE yylloc = yyloc_default; } break; - case 740: /* $@81: %empty */ + case 752: /* $@81: %empty */ { - yyextra->das_indent_level++; - yyextra->das_indent_char = ','; + yyextra->push_nesteds(DAS_EMIT_COMMA); } break; - case 741: /* $@82: %empty */ - { + case 753: /* $@82: %empty */ + { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-1])); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeBitfield(atvname); @@ -10036,7 +9985,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 742: /* $@83: %empty */ + case 754: /* $@83: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-3])); @@ -10045,18 +9994,17 @@ YYLTYPE yylloc = yyloc_default; } break; - case 743: /* $@84: %empty */ + case 755: /* $@84: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-6])); for ( auto & crd : yyextra->g_CommentReaders ) crd->afterBitfieldEntries(atvname); } - yyextra->das_indent_level--; - yyextra->das_indent_char = ';'; + yyextra->pop_nesteds(); } break; - case 744: /* bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' */ + case 756: /* bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' */ { auto btype = make_smart(Type::tBitfield); btype->alias = *(yyvsp[-8].s); @@ -10080,27 +10028,27 @@ YYLTYPE yylloc = yyloc_default; } break; - case 745: /* make_decl: make_struct_decl */ + case 757: /* make_decl: make_struct_decl */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 746: /* make_decl: make_dim_decl */ + case 758: /* make_decl: make_dim_decl */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 747: /* make_decl: make_table_decl */ + case 759: /* make_decl: make_table_decl */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 748: /* make_decl: array_comprehension */ + case 760: /* make_decl: array_comprehension */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 749: /* make_decl: make_tuple_call */ + case 761: /* make_decl: make_tuple_call */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 750: /* make_struct_fields: "name" copy_or_move expr */ + case 762: /* make_struct_fields: "name" copy_or_move expr */ { auto mfd = make_smart(tokAt(scanner,(yylsp[-2])),*(yyvsp[-2].s),ExpressionPtr((yyvsp[0].pExpression)),(yyvsp[-1].b),false); delete (yyvsp[-2].s); @@ -10110,7 +10058,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 751: /* make_struct_fields: "name" ":=" expr */ + case 763: /* make_struct_fields: "name" ":=" expr */ { auto mfd = make_smart(tokAt(scanner,(yylsp[-2])),*(yyvsp[-2].s),ExpressionPtr((yyvsp[0].pExpression)),false,true); delete (yyvsp[-2].s); @@ -10120,7 +10068,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 752: /* make_struct_fields: make_struct_fields ',' "name" copy_or_move expr */ + case 764: /* make_struct_fields: make_struct_fields ',' "name" copy_or_move expr */ { auto mfd = make_smart(tokAt(scanner,(yylsp[-2])),*(yyvsp[-2].s),ExpressionPtr((yyvsp[0].pExpression)),(yyvsp[-1].b),false); delete (yyvsp[-2].s); @@ -10129,7 +10077,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 753: /* make_struct_fields: make_struct_fields ',' "name" ":=" expr */ + case 765: /* make_struct_fields: make_struct_fields ',' "name" ":=" expr */ { auto mfd = make_smart(tokAt(scanner,(yylsp[-2])),*(yyvsp[-2].s),ExpressionPtr((yyvsp[0].pExpression)),false,true); delete (yyvsp[-2].s); @@ -10138,7 +10086,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 754: /* make_struct_fields: "$f" '(' expr ')' copy_or_move expr */ + case 766: /* make_struct_fields: "$f" '(' expr ')' copy_or_move expr */ { auto mfd = make_smart(tokAt(scanner,(yylsp[-3])),"``MACRO``TAG``FIELD``",ExpressionPtr((yyvsp[0].pExpression)),(yyvsp[-1].b),false); mfd->tag = ExpressionPtr((yyvsp[-3].pExpression)); @@ -10148,7 +10096,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 755: /* make_struct_fields: "$f" '(' expr ')' ":=" expr */ + case 767: /* make_struct_fields: "$f" '(' expr ')' ":=" expr */ { auto mfd = make_smart(tokAt(scanner,(yylsp[-3])),"``MACRO``TAG``FIELD``",ExpressionPtr((yyvsp[0].pExpression)),false,true); mfd->tag = ExpressionPtr((yyvsp[-3].pExpression)); @@ -10158,7 +10106,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 756: /* make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' copy_or_move expr */ + case 768: /* make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' copy_or_move expr */ { auto mfd = make_smart(tokAt(scanner,(yylsp[-3])),"``MACRO``TAG``FIELD``",ExpressionPtr((yyvsp[0].pExpression)),(yyvsp[-1].b),false); mfd->tag = ExpressionPtr((yyvsp[-3].pExpression)); @@ -10167,7 +10115,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 757: /* make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' ":=" expr */ + case 769: /* make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' ":=" expr */ { auto mfd = make_smart(tokAt(scanner,(yylsp[-3])),"``MACRO``TAG``FIELD``",ExpressionPtr((yyvsp[0].pExpression)),false,true); mfd->tag = ExpressionPtr((yyvsp[-3].pExpression)); @@ -10176,13 +10124,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 758: /* make_variant_dim: make_struct_fields */ + case 770: /* make_variant_dim: make_struct_fields */ { (yyval.pExpression) = ast_makeStructToMakeVariant((yyvsp[0].pMakeStruct), tokAt(scanner,(yylsp[0]))); } break; - case 759: /* make_struct_single: make_struct_fields */ + case 771: /* make_struct_single: make_struct_fields */ { auto msd = new ExprMakeStruct(); msd->structs.push_back(MakeStructPtr((yyvsp[0].pMakeStruct))); @@ -10190,7 +10138,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 760: /* make_struct_dim_list: '(' make_struct_fields ')' */ + case 772: /* make_struct_dim_list: '(' make_struct_fields ')' */ { auto msd = new ExprMakeStruct(); msd->structs.push_back(MakeStructPtr((yyvsp[-1].pMakeStruct))); @@ -10198,14 +10146,14 @@ YYLTYPE yylloc = yyloc_default; } break; - case 761: /* make_struct_dim_list: make_struct_dim_list ',' '(' make_struct_fields ')' */ + case 773: /* make_struct_dim_list: make_struct_dim_list ',' '(' make_struct_fields ')' */ { ((ExprMakeStruct *) (yyvsp[-4].pExpression))->structs.push_back(MakeStructPtr((yyvsp[-1].pMakeStruct))); (yyval.pExpression) = (yyvsp[-4].pExpression); } break; - case 762: /* make_struct_dim_decl: make_struct_fields */ + case 774: /* make_struct_dim_decl: make_struct_fields */ { auto msd = new ExprMakeStruct(); msd->structs.push_back(MakeStructPtr((yyvsp[0].pMakeStruct))); @@ -10213,37 +10161,37 @@ YYLTYPE yylloc = yyloc_default; } break; - case 763: /* make_struct_dim_decl: make_struct_dim_list optional_comma */ + case 775: /* make_struct_dim_decl: make_struct_dim_list optional_comma */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 764: /* optional_make_struct_dim_decl: make_struct_dim_decl */ + case 776: /* optional_make_struct_dim_decl: make_struct_dim_decl */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 765: /* optional_make_struct_dim_decl: %empty */ + case 777: /* optional_make_struct_dim_decl: %empty */ { (yyval.pExpression) = new ExprMakeStruct(); } break; - case 766: /* use_initializer: %empty */ + case 778: /* use_initializer: %empty */ { (yyval.b) = true; } break; - case 767: /* use_initializer: "uninitialized" */ + case 779: /* use_initializer: "uninitialized" */ { (yyval.b) = false; } break; - case 768: /* $@85: %empty */ + case 780: /* $@85: %empty */ { yyextra->das_arrow_depth ++; } break; - case 769: /* $@86: %empty */ + case 781: /* $@86: %empty */ { yyextra->das_arrow_depth --; } break; - case 770: /* make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' */ + case 782: /* make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-9])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-6].pTypeDecl)); @@ -10254,15 +10202,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 771: /* $@87: %empty */ + case 783: /* $@87: %empty */ { yyextra->das_arrow_depth ++; } break; - case 772: /* $@88: %empty */ + case 784: /* $@88: %empty */ { yyextra->das_arrow_depth --; } break; - case 773: /* make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' */ + case 785: /* make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-9])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-6].pTypeDecl)); @@ -10272,15 +10220,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 774: /* $@89: %empty */ + case 786: /* $@89: %empty */ { yyextra->das_arrow_depth ++; } break; - case 775: /* $@90: %empty */ + case 787: /* $@90: %empty */ { yyextra->das_arrow_depth --; } break; - case 776: /* make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' */ + case 788: /* make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-8])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-5].pTypeDecl)); @@ -10290,15 +10238,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 777: /* $@91: %empty */ + case 789: /* $@91: %empty */ { yyextra->das_arrow_depth ++; } break; - case 778: /* $@92: %empty */ + case 790: /* $@92: %empty */ { yyextra->das_arrow_depth --; } break; - case 779: /* make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' $@92 use_initializer */ + case 791: /* make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' $@92 use_initializer */ { auto msd = new ExprMakeStruct(); msd->at = tokAt(scanner,(yylsp[-6])); @@ -10309,7 +10257,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 780: /* make_map_tuple: expr "=>" expr */ + case 792: /* make_map_tuple: expr "=>" expr */ { ExprMakeTuple * mt = new ExprMakeTuple(tokAt(scanner,(yylsp[-1]))); mt->values.push_back(ExpressionPtr((yyvsp[-2].pExpression))); @@ -10318,13 +10266,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 781: /* make_map_tuple: expr */ + case 793: /* make_map_tuple: expr */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 782: /* make_tuple_call: "tuple" '(' expr_list optional_comma ')' */ + case 794: /* make_tuple_call: "tuple" '(' expr_list optional_comma ')' */ { auto mkt = new ExprMakeTuple(tokAt(scanner,(yylsp[-4]))); mkt->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10333,15 +10281,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 783: /* $@93: %empty */ + case 795: /* $@93: %empty */ { yyextra->das_arrow_depth ++; } break; - case 784: /* $@94: %empty */ + case 796: /* $@94: %empty */ { yyextra->das_arrow_depth --; } break; - case 785: /* make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' */ + case 797: /* make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-9])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-6].pTypeDecl)); @@ -10351,7 +10299,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 786: /* make_dim_decl: '[' expr_list optional_comma ']' */ + case 798: /* make_dim_decl: '[' expr_list optional_comma ']' */ { auto mka = make_smart(tokAt(scanner,(yylsp[-3]))); mka->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10363,15 +10311,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 787: /* $@95: %empty */ + case 799: /* $@95: %empty */ { yyextra->das_arrow_depth ++; } break; - case 788: /* $@96: %empty */ + case 800: /* $@96: %empty */ { yyextra->das_arrow_depth --; } break; - case 789: /* make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' */ + case 801: /* make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-10])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-6].pTypeDecl)); @@ -10384,15 +10332,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 790: /* $@97: %empty */ + case 802: /* $@97: %empty */ { yyextra->das_arrow_depth ++; } break; - case 791: /* $@98: %empty */ + case 803: /* $@98: %empty */ { yyextra->das_arrow_depth --; } break; - case 792: /* make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' */ + case 804: /* make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-10])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-6].pTypeDecl)); @@ -10405,15 +10353,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 793: /* $@99: %empty */ + case 805: /* $@99: %empty */ { yyextra->das_arrow_depth ++; } break; - case 794: /* $@100: %empty */ + case 806: /* $@100: %empty */ { yyextra->das_arrow_depth --; } break; - case 795: /* make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' */ + case 807: /* make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-9])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-5].pTypeDecl)); @@ -10426,7 +10374,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 796: /* make_dim_decl: "array" '(' expr_list optional_comma ')' */ + case 808: /* make_dim_decl: "array" '(' expr_list optional_comma ')' */ { auto mka = make_smart(tokAt(scanner,(yylsp[-4]))); mka->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10438,15 +10386,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 797: /* $@101: %empty */ + case 809: /* $@101: %empty */ { yyextra->das_arrow_depth ++; } break; - case 798: /* $@102: %empty */ + case 810: /* $@102: %empty */ { yyextra->das_arrow_depth --; } break; - case 799: /* make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' */ + case 811: /* make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' */ { if ( (yyvsp[-1].pExpression) ) { auto mka = make_smart(tokAt(scanner,(yylsp[-8]))); @@ -10469,7 +10417,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 800: /* make_dim_decl: "fixed_array" '(' expr_list optional_comma ')' */ + case 812: /* make_dim_decl: "fixed_array" '(' expr_list optional_comma ')' */ { auto mka = new ExprMakeArray(tokAt(scanner,(yylsp[-4]))); mka->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10479,15 +10427,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 801: /* $@103: %empty */ + case 813: /* $@103: %empty */ { yyextra->das_arrow_depth ++; } break; - case 802: /* $@104: %empty */ + case 814: /* $@104: %empty */ { yyextra->das_arrow_depth --; } break; - case 803: /* make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' */ + case 815: /* make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' */ { auto mka = new ExprMakeArray(tokAt(scanner,(yylsp[-9]))); mka->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10497,19 +10445,19 @@ YYLTYPE yylloc = yyloc_default; } break; - case 804: /* expr_map_tuple_list: make_map_tuple */ + case 816: /* expr_map_tuple_list: make_map_tuple */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 805: /* expr_map_tuple_list: expr_map_tuple_list ',' make_map_tuple */ + case 817: /* expr_map_tuple_list: expr_map_tuple_list ',' make_map_tuple */ { (yyval.pExpression) = new ExprSequence(tokAt(scanner,(yylsp[-2])),ExpressionPtr((yyvsp[-2].pExpression)),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 806: /* make_table_decl: '{' expr_map_tuple_list optional_comma '}' */ + case 818: /* make_table_decl: '{' expr_map_tuple_list optional_comma '}' */ { auto mka = make_smart(tokAt(scanner,(yylsp[-3]))); mka->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10520,7 +10468,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 807: /* make_table_decl: "table" '(' expr_map_tuple_list optional_comma ')' */ + case 819: /* make_table_decl: "table" '(' expr_map_tuple_list optional_comma ')' */ { auto mka = make_smart(tokAt(scanner,(yylsp[-4]))); mka->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10531,7 +10479,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 808: /* make_table_decl: "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' */ + case 820: /* make_table_decl: "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' */ { if ( (yyvsp[-1].pExpression) ) { auto mka = make_smart(tokAt(scanner,(yylsp[-6]))); @@ -10554,7 +10502,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 809: /* make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' */ + case 821: /* make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' */ { if ( (yyvsp[-1].pExpression) ) { auto mka = make_smart(tokAt(scanner,(yylsp[-8]))); @@ -10579,35 +10527,35 @@ YYLTYPE yylloc = yyloc_default; } break; - case 810: /* array_comprehension_where: %empty */ + case 822: /* array_comprehension_where: %empty */ { (yyval.pExpression) = nullptr; } break; - case 811: /* array_comprehension_where: ';' "where" expr */ + case 823: /* array_comprehension_where: ';' "where" expr */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 812: /* optional_comma: %empty */ + case 824: /* optional_comma: %empty */ { (yyval.b) = false; } break; - case 813: /* optional_comma: ',' */ + case 825: /* optional_comma: ',' */ { (yyval.b) = true; } break; - case 814: /* array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' */ + case 826: /* array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' */ { (yyval.pExpression) = ast_arrayComprehension(scanner,tokAt(scanner,(yylsp[-9])),(yyvsp[-7].pNameWithPosList),(yyvsp[-5].pExpression),(yyvsp[-2].pExpression),(yyvsp[-1].pExpression),tokRangeAt(scanner,(yylsp[-2]),(yylsp[0])),false,false); } break; - case 815: /* array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' */ + case 827: /* array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' */ { (yyval.pExpression) = ast_arrayComprehension(scanner,tokAt(scanner,(yylsp[-9])),(yyvsp[-7].pNameWithPosList),(yyvsp[-5].pExpression),(yyvsp[-2].pExpression),(yyvsp[-1].pExpression),tokRangeAt(scanner,(yylsp[-2]),(yylsp[0])),true,false); } break; - case 816: /* array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' */ + case 828: /* array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' */ { (yyval.pExpression) = ast_arrayComprehension(scanner,tokAt(scanner,(yylsp[-9])),(yyvsp[-7].pNameWithPosList),(yyvsp[-5].pExpression),(yyvsp[-2].pExpression),(yyvsp[-1].pExpression),tokRangeAt(scanner,(yylsp[-2]),(yylsp[0])),false,true); } diff --git a/src/parser/ds2_parser.hpp b/src/parser/ds2_parser.hpp index 9af9845fb..02a53c731 100644 --- a/src/parser/ds2_parser.hpp +++ b/src/parser/ds2_parser.hpp @@ -265,21 +265,23 @@ extern int das2_yydebug; FLOAT = 415, /* "floating point constant" */ DOUBLE = 416, /* "double constant" */ NAME = 417, /* "name" */ - BEGIN_STRING = 418, /* "start of the string" */ - STRING_CHARACTER = 419, /* STRING_CHARACTER */ - STRING_CHARACTER_ESC = 420, /* STRING_CHARACTER_ESC */ - END_STRING = 421, /* "end of the string" */ - BEGIN_STRING_EXPR = 422, /* "{" */ - END_STRING_EXPR = 423, /* "}" */ - END_OF_READ = 424, /* "end of failed eader macro" */ - UNARY_MINUS = 425, /* UNARY_MINUS */ - UNARY_PLUS = 426, /* UNARY_PLUS */ - PRE_INC = 427, /* PRE_INC */ - PRE_DEC = 428, /* PRE_DEC */ - LLPIPE = 429, /* LLPIPE */ - POST_INC = 430, /* POST_INC */ - POST_DEC = 431, /* POST_DEC */ - DEREF = 432 /* DEREF */ + DAS_EMIT_COMMA = 418, /* "emitted ," */ + DAS_EMIT_SEMICOLON = 419, /* "emitted ;" */ + BEGIN_STRING = 420, /* "start of the string" */ + STRING_CHARACTER = 421, /* STRING_CHARACTER */ + STRING_CHARACTER_ESC = 422, /* STRING_CHARACTER_ESC */ + END_STRING = 423, /* "end of the string" */ + BEGIN_STRING_EXPR = 424, /* "{" */ + END_STRING_EXPR = 425, /* "}" */ + END_OF_READ = 426, /* "end of failed eader macro" */ + UNARY_MINUS = 427, /* UNARY_MINUS */ + UNARY_PLUS = 428, /* UNARY_PLUS */ + PRE_INC = 429, /* PRE_INC */ + PRE_DEC = 430, /* PRE_DEC */ + LLPIPE = 431, /* LLPIPE */ + POST_INC = 432, /* POST_INC */ + POST_DEC = 433, /* POST_DEC */ + DEREF = 434 /* DEREF */ }; typedef enum das2_yytokentype das2_yytoken_kind_t; #endif diff --git a/src/parser/ds2_parser.output b/src/parser/ds2_parser.output index f201c6de7..b50196887 100644 --- a/src/parser/ds2_parser.output +++ b/src/parser/ds2_parser.output @@ -25,2183 +25,2221 @@ Grammar 14 | program top_level_reader_macro 15 | program ';' - 16 top_level_reader_macro: expr_reader ';' + 16 COMMA: ',' + 17 | "emitted ," - 17 optional_public_or_private_module: %empty - 18 | "public" - 19 | "private" + 18 SEMICOLON: ';' + 19 | "emitted ;" - 20 module_name: '$' - 21 | "name" + 20 top_level_reader_macro: expr_reader ';' - 22 module_declaration: "module" module_name optional_shared optional_public_or_private_module + 21 optional_public_or_private_module: %empty + 22 | "public" + 23 | "private" - 23 character_sequence: STRING_CHARACTER - 24 | STRING_CHARACTER_ESC - 25 | character_sequence STRING_CHARACTER - 26 | character_sequence STRING_CHARACTER_ESC + 24 module_name: '$' + 25 | "name" - 27 string_constant: "start of the string" character_sequence "end of the string" - 28 | "start of the string" "end of the string" + 26 module_declaration: "module" module_name optional_shared optional_public_or_private_module - 29 string_builder_body: %empty - 30 | string_builder_body character_sequence - 31 | string_builder_body "{" expr "}" + 27 character_sequence: STRING_CHARACTER + 28 | STRING_CHARACTER_ESC + 29 | character_sequence STRING_CHARACTER + 30 | character_sequence STRING_CHARACTER_ESC - 32 string_builder: "start of the string" string_builder_body "end of the string" + 31 string_constant: "start of the string" character_sequence "end of the string" + 32 | "start of the string" "end of the string" - 33 reader_character_sequence: STRING_CHARACTER - 34 | reader_character_sequence STRING_CHARACTER + 33 string_builder_body: %empty + 34 | string_builder_body character_sequence + 35 | string_builder_body "{" expr "}" - 35 $@1: %empty + 36 string_builder: "start of the string" string_builder_body "end of the string" - 36 expr_reader: '%' name_in_namespace $@1 reader_character_sequence + 37 reader_character_sequence: STRING_CHARACTER + 38 | reader_character_sequence STRING_CHARACTER - 37 options_declaration: "options" annotation_argument_list + 39 $@1: %empty - 38 require_declaration: "require" require_module + 40 expr_reader: '%' name_in_namespace $@1 reader_character_sequence - 39 require_module_name: "name" - 40 | '%' require_module_name - 41 | require_module_name '.' "name" - 42 | require_module_name '/' "name" + 41 options_declaration: "options" annotation_argument_list - 43 require_module: require_module_name is_public_module - 44 | require_module_name "as" "name" is_public_module + 42 require_declaration: "require" require_module - 45 is_public_module: %empty - 46 | "public" + 43 require_module_name: "name" + 44 | '%' require_module_name + 45 | require_module_name '.' "name" + 46 | require_module_name '/' "name" - 47 expect_declaration: "expect" expect_list + 47 require_module: require_module_name is_public_module + 48 | require_module_name "as" "name" is_public_module - 48 expect_list: expect_error - 49 | expect_list ',' expect_error + 49 is_public_module: %empty + 50 | "public" - 50 expect_error: "integer constant" - 51 | "integer constant" ':' "integer constant" + 51 expect_declaration: "expect" expect_list - 52 expression_label: "label" "integer constant" ':' + 52 expect_list: expect_error + 53 | expect_list ',' expect_error - 53 expression_goto: "goto" "label" "integer constant" - 54 | "goto" expr + 54 expect_error: "integer constant" + 55 | "integer constant" ':' "integer constant" - 55 elif_or_static_elif: "elif" - 56 | "static_elif" + 56 expression_label: "label" "integer constant" ':' - 57 expression_else: %empty - 58 | "else" optional_semis expression_block - 59 | elif_or_static_elif '(' expr ')' optional_semis expression_block expression_else + 57 expression_goto: "goto" "label" "integer constant" + 58 | "goto" expr - 60 if_or_static_if: "if" - 61 | "static_if" + 59 elif_or_static_elif: "elif" + 60 | "static_elif" - 62 expression_else_one_liner: %empty - 63 | "else" expression_if_one_liner + 61 emit_semis: "emitted ;" + 62 | emit_semis "emitted ;" - 64 expression_if_one_liner: expr - 65 | expression_return - 66 | expression_yield - 67 | expression_break - 68 | expression_continue + 63 optional_emit_semis: %empty + 64 | emit_semis - 69 semis: ';' - 70 | semis ';' + 65 expression_else: %empty + 66 | "else" optional_emit_semis expression_block + 67 | elif_or_static_elif '(' expr ')' optional_emit_semis expression_block expression_else - 71 optional_semis: %empty - 72 | semis + 68 if_or_static_if: "if" + 69 | "static_if" - 73 $@2: %empty + 70 expression_else_one_liner: %empty + 71 | "else" expression_if_one_liner - 74 expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_semis expression_block expression_else + 72 expression_if_one_liner: expr + 73 | expression_return + 74 | expression_yield + 75 | expression_break + 76 | expression_continue - 75 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' expression_else_one_liner ';' + 77 semis: SEMICOLON + 78 | semis SEMICOLON - 76 $@3: %empty + 79 optional_semis: %empty + 80 | semis - 77 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list ')' optional_semis expression_block + 81 $@2: %empty - 78 expression_unsafe: "unsafe" optional_semis expression_block + 82 expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_emit_semis expression_block expression_else - 79 $@4: %empty + 83 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' expression_else_one_liner SEMICOLON - 80 expression_while_loop: $@4 "while" '(' expr ')' optional_semis expression_block + 84 $@3: %empty - 81 $@5: %empty + 85 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list ')' optional_emit_semis expression_block - 82 expression_with: $@5 "with" '(' expr ')' optional_semis expression_block + 86 expression_unsafe: "unsafe" optional_emit_semis expression_block - 83 expression_with_alias: "assume" "name" '=' expr + 87 $@4: %empty - 84 annotation_argument_value: string_constant - 85 | "name" - 86 | "integer constant" - 87 | "floating point constant" - 88 | "true" - 89 | "false" - - 90 annotation_argument_value_list: annotation_argument_value - 91 | annotation_argument_value_list ',' annotation_argument_value - - 92 annotation_argument_name: "name" - 93 | "type" - 94 | "in" - - 95 annotation_argument: annotation_argument_name '=' string_constant - 96 | annotation_argument_name '=' "name" - 97 | annotation_argument_name '=' "integer constant" - 98 | annotation_argument_name '=' "floating point constant" - 99 | annotation_argument_name '=' "true" - 100 | annotation_argument_name '=' "false" - 101 | annotation_argument_name - 102 | annotation_argument_name '=' '(' annotation_argument_value_list ')' - - 103 annotation_argument_list: annotation_argument - 104 | annotation_argument_list ',' annotation_argument - - 105 metadata_argument_list: '@' annotation_argument - 106 | metadata_argument_list '@' annotation_argument - - 107 annotation_declaration_name: name_in_namespace - 108 | "require" - 109 | "private" - - 110 annotation_declaration_basic: annotation_declaration_name - 111 | annotation_declaration_name '(' annotation_argument_list ')' - - 112 annotation_declaration: annotation_declaration_basic - 113 | '!' annotation_declaration - 114 | annotation_declaration "&&" annotation_declaration - 115 | annotation_declaration "||" annotation_declaration - 116 | annotation_declaration "^^" annotation_declaration - 117 | '(' annotation_declaration ')' - 118 | "|>" annotation_declaration - - 119 annotation_list: annotation_declaration - 120 | annotation_list ',' annotation_declaration - - 121 optional_annotation_list: %empty - 122 | '[' annotation_list ']' - - 123 optional_function_argument_list: %empty - 124 | '(' ')' - 125 | '(' function_argument_list ')' - - 126 optional_function_type: %empty - 127 | ':' type_declaration - - 128 function_name: "name" - 129 | "operator" '!' - 130 | "operator" '~' - 131 | "operator" "+=" - 132 | "operator" "-=" - 133 | "operator" "*=" - 134 | "operator" "/=" - 135 | "operator" "%=" - 136 | "operator" "&=" - 137 | "operator" "|=" - 138 | "operator" "^=" - 139 | "operator" "&&=" - 140 | "operator" "||=" - 141 | "operator" "^^=" - 142 | "operator" "&&" - 143 | "operator" "||" - 144 | "operator" "^^" - 145 | "operator" '+' - 146 | "operator" '-' - 147 | "operator" '*' - 148 | "operator" '/' - 149 | "operator" '%' - 150 | "operator" '<' - 151 | "operator" '>' - 152 | "operator" ".." - 153 | "operator" "==" - 154 | "operator" "!=" - 155 | "operator" "<=" - 156 | "operator" ">=" - 157 | "operator" '&' - 158 | "operator" '|' - 159 | "operator" '^' - 160 | "++" "operator" - 161 | "--" "operator" - 162 | "operator" "++" - 163 | "operator" "--" - 164 | "operator" "<<" - 165 | "operator" ">>" - 166 | "operator" "<<=" - 167 | "operator" ">>=" - 168 | "operator" "<<<" - 169 | "operator" ">>>" - 170 | "operator" "<<<=" - 171 | "operator" ">>>=" - 172 | "operator" '[' ']' - 173 | "operator" "?[" ']' - 174 | "operator" '.' - 175 | "operator" "?." - 176 | "operator" '.' "name" - 177 | "operator" '.' "name" ":=" - 178 | "operator" "?." "name" - 179 | "operator" ":=" - 180 | "operator" "delete" - 181 | "operator" "??" - 182 | "operator" "is" - 183 | "operator" "as" - 184 | "operator" "is" "name" - 185 | "operator" "as" "name" - 186 | "operator" '?' "as" - 187 | "operator" '?' "as" "name" - 188 | "bool" - 189 | "string" - 190 | "int" - 191 | "int2" - 192 | "int3" - 193 | "int4" - 194 | "uint" - 195 | "uint2" - 196 | "uint3" - 197 | "uint4" - 198 | "float" - 199 | "float2" - 200 | "float3" - 201 | "float4" - 202 | "range" - 203 | "urange" - 204 | "range64" - 205 | "urange64" - 206 | "int64" - 207 | "uint64" - 208 | "double" - 209 | "int8" - 210 | "uint8" - 211 | "int16" - 212 | "uint16" - - 213 global_function_declaration: optional_annotation_list "def" function_declaration - - 214 optional_public_or_private_function: %empty - 215 | "private" - 216 | "public" - - 217 function_declaration_header: function_name optional_function_argument_list optional_function_type - - 218 $@6: %empty - - 219 function_declaration: optional_public_or_private_function $@6 function_declaration_header expression_block - - 220 expression_block_finally: %empty - - 221 $@7: %empty - - 222 $@8: %empty - - 223 expression_block_finally: "finally" $@7 '{' expressions $@8 '}' - - 224 $@9: %empty - - 225 $@10: %empty - - 226 expression_block: $@9 '{' expressions $@10 '}' expression_block_finally - - 227 expr_call_pipe: expr_call expr_full_block_assumed_piped - - 228 expression_any: ';' - 229 | expr_assign ';' - 230 | expression_delete ';' - 231 | expression_let - 232 | expression_while_loop - 233 | expression_unsafe - 234 | expression_with - 235 | expression_with_alias ';' - 236 | expression_for_loop - 237 | expression_break ';' - 238 | expression_continue ';' - 239 | expression_return ';' - 240 | expression_yield ';' - 241 | expression_if_then_else - 242 | expression_if_then_else_oneliner - 243 | expression_try_catch - 244 | expression_label ';' - 245 | expression_goto ';' - 246 | "pass" ';' + 88 expression_while_loop: $@4 "while" '(' expr ')' optional_emit_semis expression_block - 247 expressions: %empty - 248 | expressions expression_any - 249 | expressions error + 89 $@5: %empty - 250 optional_expr_list: %empty - 251 | expr_list optional_comma + 90 expression_with: $@5 "with" '(' expr ')' optional_emit_semis expression_block - 252 optional_expr_map_tuple_list: %empty - 253 | expr_map_tuple_list optional_comma + 91 expression_with_alias: "assume" "name" '=' expr - 254 type_declaration_no_options_list: type_declaration - 255 | type_declaration_no_options_list c_or_s type_declaration + 92 annotation_argument_value: string_constant + 93 | "name" + 94 | "integer constant" + 95 | "floating point constant" + 96 | "true" + 97 | "false" + + 98 annotation_argument_value_list: annotation_argument_value + 99 | annotation_argument_value_list ',' annotation_argument_value + + 100 annotation_argument_name: "name" + 101 | "type" + 102 | "in" + + 103 annotation_argument: annotation_argument_name '=' string_constant + 104 | annotation_argument_name '=' "name" + 105 | annotation_argument_name '=' "integer constant" + 106 | annotation_argument_name '=' "floating point constant" + 107 | annotation_argument_name '=' "true" + 108 | annotation_argument_name '=' "false" + 109 | annotation_argument_name + 110 | annotation_argument_name '=' '(' annotation_argument_value_list ')' + + 111 annotation_argument_list: annotation_argument + 112 | annotation_argument_list ',' annotation_argument + + 113 metadata_argument_list: '@' annotation_argument + 114 | metadata_argument_list '@' annotation_argument + + 115 annotation_declaration_name: name_in_namespace + 116 | "require" + 117 | "private" + + 118 annotation_declaration_basic: annotation_declaration_name + 119 | annotation_declaration_name '(' annotation_argument_list ')' + + 120 annotation_declaration: annotation_declaration_basic + 121 | '!' annotation_declaration + 122 | annotation_declaration "&&" annotation_declaration + 123 | annotation_declaration "||" annotation_declaration + 124 | annotation_declaration "^^" annotation_declaration + 125 | '(' annotation_declaration ')' + 126 | "|>" annotation_declaration + + 127 annotation_list: annotation_declaration + 128 | annotation_list ',' annotation_declaration + + 129 optional_annotation_list: %empty + 130 | '[' annotation_list ']' + + 131 optional_function_argument_list: %empty + 132 | '(' ')' + 133 | '(' function_argument_list ')' + + 134 optional_function_type: %empty + 135 | ':' type_declaration + + 136 function_name: "name" + 137 | "operator" '!' + 138 | "operator" '~' + 139 | "operator" "+=" + 140 | "operator" "-=" + 141 | "operator" "*=" + 142 | "operator" "/=" + 143 | "operator" "%=" + 144 | "operator" "&=" + 145 | "operator" "|=" + 146 | "operator" "^=" + 147 | "operator" "&&=" + 148 | "operator" "||=" + 149 | "operator" "^^=" + 150 | "operator" "&&" + 151 | "operator" "||" + 152 | "operator" "^^" + 153 | "operator" '+' + 154 | "operator" '-' + 155 | "operator" '*' + 156 | "operator" '/' + 157 | "operator" '%' + 158 | "operator" '<' + 159 | "operator" '>' + 160 | "operator" ".." + 161 | "operator" "==" + 162 | "operator" "!=" + 163 | "operator" "<=" + 164 | "operator" ">=" + 165 | "operator" '&' + 166 | "operator" '|' + 167 | "operator" '^' + 168 | "++" "operator" + 169 | "--" "operator" + 170 | "operator" "++" + 171 | "operator" "--" + 172 | "operator" "<<" + 173 | "operator" ">>" + 174 | "operator" "<<=" + 175 | "operator" ">>=" + 176 | "operator" "<<<" + 177 | "operator" ">>>" + 178 | "operator" "<<<=" + 179 | "operator" ">>>=" + 180 | "operator" '[' ']' + 181 | "operator" "?[" ']' + 182 | "operator" '.' + 183 | "operator" "?." + 184 | "operator" '.' "name" + 185 | "operator" '.' "name" ":=" + 186 | "operator" "?." "name" + 187 | "operator" ":=" + 188 | "operator" "delete" + 189 | "operator" "??" + 190 | "operator" "is" + 191 | "operator" "as" + 192 | "operator" "is" "name" + 193 | "operator" "as" "name" + 194 | "operator" '?' "as" + 195 | "operator" '?' "as" "name" + 196 | "bool" + 197 | "string" + 198 | "int" + 199 | "int2" + 200 | "int3" + 201 | "int4" + 202 | "uint" + 203 | "uint2" + 204 | "uint3" + 205 | "uint4" + 206 | "float" + 207 | "float2" + 208 | "float3" + 209 | "float4" + 210 | "range" + 211 | "urange" + 212 | "range64" + 213 | "urange64" + 214 | "int64" + 215 | "uint64" + 216 | "double" + 217 | "int8" + 218 | "uint8" + 219 | "int16" + 220 | "uint16" + + 221 global_function_declaration: optional_annotation_list "def" function_declaration + + 222 optional_public_or_private_function: %empty + 223 | "private" + 224 | "public" + + 225 function_declaration_header: function_name optional_function_argument_list optional_function_type + + 226 $@6: %empty + + 227 function_declaration: optional_public_or_private_function $@6 function_declaration_header expression_block + + 228 expression_block_finally: %empty + + 229 $@7: %empty + + 230 $@8: %empty + + 231 expression_block_finally: "finally" $@7 '{' expressions $@8 '}' + + 232 $@9: %empty + + 233 $@10: %empty + + 234 expression_block: $@9 '{' expressions $@10 '}' expression_block_finally + + 235 expr_call_pipe: expr_call expr_full_block_assumed_piped + + 236 expression_any: SEMICOLON + 237 | expr_assign SEMICOLON + 238 | expression_delete SEMICOLON + 239 | expression_let + 240 | expression_while_loop + 241 | expression_unsafe + 242 | expression_with + 243 | expression_with_alias SEMICOLON + 244 | expression_for_loop + 245 | expression_break SEMICOLON + 246 | expression_continue SEMICOLON + 247 | expression_return SEMICOLON + 248 | expression_yield SEMICOLON + 249 | expression_if_then_else + 250 | expression_if_then_else_oneliner + 251 | expression_try_catch + 252 | expression_label SEMICOLON + 253 | expression_goto SEMICOLON + 254 | "pass" SEMICOLON - 256 name_in_namespace: "name" - 257 | "name" "::" "name" - 258 | "::" "name" + 255 expressions: %empty + 256 | expressions expression_any + 257 | expressions error - 259 expression_delete: "delete" expr - 260 | "delete" "explicit" expr + 258 optional_expr_list: %empty + 259 | expr_list optional_comma - 261 $@11: %empty + 260 optional_expr_map_tuple_list: %empty + 261 | expr_map_tuple_list optional_comma - 262 $@12: %empty + 262 type_declaration_no_options_list: type_declaration + 263 | type_declaration_no_options_list c_or_s type_declaration - 263 new_type_declaration: '<' $@11 type_declaration '>' $@12 - 264 | structure_type_declaration + 264 name_in_namespace: "name" + 265 | "name" "::" "name" + 266 | "::" "name" - 265 expr_new: "new" new_type_declaration - 266 | "new" new_type_declaration '(' use_initializer ')' - 267 | "new" new_type_declaration '(' expr_list ')' - 268 | "new" new_type_declaration '(' make_struct_single ')' - 269 | "new" new_type_declaration '(' "uninitialized" make_struct_single ')' - 270 | "new" make_decl + 267 expression_delete: "delete" expr + 268 | "delete" "explicit" expr - 271 expression_break: "break" + 269 $@11: %empty - 272 expression_continue: "continue" + 270 $@12: %empty - 273 expression_return: "return" - 274 | "return" expr - 275 | "return" "<-" expr + 271 new_type_declaration: '<' $@11 type_declaration '>' $@12 + 272 | structure_type_declaration - 276 expression_yield: "yield" expr - 277 | "yield" "<-" expr + 273 expr_new: "new" new_type_declaration + 274 | "new" new_type_declaration '(' use_initializer ')' + 275 | "new" new_type_declaration '(' expr_list ')' + 276 | "new" new_type_declaration '(' make_struct_single ')' + 277 | "new" new_type_declaration '(' "uninitialized" make_struct_single ')' + 278 | "new" make_decl - 278 expression_try_catch: "try" expression_block "recover" expression_block + 279 expression_break: "break" - 279 kwd_let_var_or_nothing: "let" - 280 | "var" - 281 | %empty + 280 expression_continue: "continue" - 282 kwd_let: "let" - 283 | "var" + 281 expression_return: "return" + 282 | "return" expr + 283 | "return" "<-" expr - 284 optional_in_scope: "inscope" - 285 | %empty + 284 expression_yield: "yield" expr + 285 | "yield" "<-" expr - 286 tuple_expansion: "name" - 287 | tuple_expansion ',' "name" + 286 expression_try_catch: "try" expression_block "recover" expression_block - 288 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr ';' - 289 | '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr ';' + 287 kwd_let_var_or_nothing: "let" + 288 | "var" + 289 | %empty - 290 expression_let: kwd_let optional_in_scope let_variable_declaration - 291 | kwd_let optional_in_scope tuple_expansion_variable_declaration - 292 | kwd_let optional_in_scope '{' variable_declaration_list '}' + 290 kwd_let: "let" + 291 | "var" - 293 $@13: %empty + 292 optional_in_scope: "inscope" + 293 | %empty - 294 $@14: %empty + 294 tuple_expansion: "name" + 295 | tuple_expansion ',' "name" - 295 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 expr + 296 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + 297 | '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr SEMICOLON - 296 $@15: %empty + 298 expression_let: kwd_let optional_in_scope let_variable_declaration + 299 | kwd_let optional_in_scope tuple_expansion_variable_declaration + 300 | kwd_let optional_in_scope '{' variable_declaration_list '}' - 297 $@16: %empty + 301 $@13: %empty - 298 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 expr + 302 $@14: %empty - 299 $@17: %empty + 303 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 expr - 300 $@18: %empty + 304 $@15: %empty - 301 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 expr + 305 $@16: %empty - 302 $@19: %empty + 306 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 expr - 303 $@20: %empty + 307 $@17: %empty - 304 expr_type_decl: "type" '<' $@19 type_declaration '>' $@20 + 308 $@18: %empty - 305 expr_type_info: "typeinfo" name_in_namespace '(' expr ')' - 306 | "typeinfo" name_in_namespace '<' "name" '>' '(' expr ')' - 307 | "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' + 309 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 expr - 308 expr_list: expr - 309 | expr_list ',' expr + 310 $@19: %empty - 310 block_or_simple_block: expression_block - 311 | "=>" expr - 312 | "=>" "<-" expr + 311 $@20: %empty - 313 block_or_lambda: '$' - 314 | '@' - 315 | '@' '@' + 312 expr_type_decl: "type" '<' $@19 type_declaration '>' $@20 - 316 capture_entry: '&' "name" - 317 | '=' "name" - 318 | "<-" "name" - 319 | ":=" "name" - 320 | "name" '(' "name" ')' + 313 expr_type_info: "typeinfo" name_in_namespace '(' expr ')' + 314 | "typeinfo" name_in_namespace '<' "name" '>' '(' expr ')' + 315 | "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' - 321 capture_list: capture_entry - 322 | capture_list ',' capture_entry + 316 expr_list: expr + 317 | expr_list ',' expr - 323 optional_capture_list: %empty - 324 | "capture" '(' capture_list ')' + 318 block_or_simple_block: expression_block + 319 | "=>" expr + 320 | "=>" "<-" expr - 325 expr_full_block: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_semis block_or_simple_block + 321 block_or_lambda: '$' + 322 | '@' + 323 | '@' '@' - 326 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_semis expression_block - 327 | '{' expressions '}' + 324 capture_entry: '&' "name" + 325 | '=' "name" + 326 | "<-" "name" + 327 | ":=" "name" + 328 | "name" '(' "name" ')' - 328 expr_numeric_const: "integer constant" - 329 | "unsigned integer constant" - 330 | "long integer constant" - 331 | "unsigned long integer constant" - 332 | "unsigned int8 constant" - 333 | "floating point constant" - 334 | "double constant" + 329 capture_list: capture_entry + 330 | capture_list ',' capture_entry - 335 expr_assign: expr - 336 | expr '=' expr - 337 | expr "<-" expr - 338 | expr ":=" expr - 339 | expr "&=" expr - 340 | expr "|=" expr - 341 | expr "^=" expr - 342 | expr "&&=" expr - 343 | expr "||=" expr - 344 | expr "^^=" expr - 345 | expr "+=" expr - 346 | expr "-=" expr - 347 | expr "*=" expr - 348 | expr "/=" expr - 349 | expr "%=" expr - 350 | expr "<<=" expr - 351 | expr ">>=" expr - 352 | expr "<<<=" expr - 353 | expr ">>>=" expr - - 354 expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' ')' - 355 | name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' ')' - - 356 expr_method_call: expr "->" "name" '(' ')' - 357 | expr "->" "name" '(' expr_list ')' - - 358 func_addr_name: name_in_namespace - 359 | "$i" '(' expr ')' - - 360 func_addr_expr: '@' '@' func_addr_name - - 361 $@21: %empty - - 362 $@22: %empty - - 363 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name - - 364 $@23: %empty - - 365 $@24: %empty - - 366 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name - - 367 expr_field: expr '.' "name" - 368 | expr '.' '.' "name" - 369 | expr '.' "name" '(' ')' - 370 | expr '.' "name" '(' expr_list ')' - 371 | expr '.' basic_type_declaration '(' ')' - 372 | expr '.' basic_type_declaration '(' expr_list ')' - - 373 $@25: %empty - - 374 $@26: %empty - - 375 expr_field: expr '.' $@25 error $@26 - - 376 expr_call: name_in_namespace '(' ')' - 377 | name_in_namespace '(' "uninitialized" ')' - 378 | name_in_namespace '(' make_struct_single ')' - 379 | name_in_namespace '(' "uninitialized" make_struct_single ')' - 380 | name_in_namespace '(' expr_list ')' - 381 | basic_type_declaration '(' ')' - 382 | basic_type_declaration '(' expr_list ')' - - 383 expr: "null" - 384 | name_in_namespace - 385 | expr_numeric_const - 386 | expr_reader - 387 | string_builder - 388 | make_decl - 389 | "true" - 390 | "false" - 391 | expr_field - 392 | expr_mtag - 393 | '!' expr - 394 | '~' expr - 395 | '+' expr - 396 | '-' expr - 397 | expr "<<" expr - 398 | expr ">>" expr - 399 | expr "<<<" expr - 400 | expr ">>>" expr - 401 | expr '+' expr - 402 | expr '-' expr - 403 | expr '*' expr - 404 | expr '/' expr - 405 | expr '%' expr - 406 | expr '<' expr - 407 | expr '>' expr - 408 | expr "==" expr - 409 | expr "!=" expr - 410 | expr "<=" expr - 411 | expr ">=" expr - 412 | expr '&' expr - 413 | expr '|' expr - 414 | expr '^' expr - 415 | expr "&&" expr - 416 | expr "||" expr - 417 | expr "^^" expr - 418 | expr ".." expr - 419 | "++" expr - 420 | "--" expr - 421 | expr "++" - 422 | expr "--" - 423 | '(' expr_list optional_comma ')' - 424 | expr '[' expr ']' - 425 | expr '.' '[' expr ']' - 426 | expr "?[" expr ']' - 427 | expr '.' "?[" expr ']' - 428 | expr "?." "name" - 429 | expr '.' "?." "name" - 430 | func_addr_expr - 431 | expr_call - 432 | '*' expr - 433 | "deref" '(' expr ')' - 434 | "addr" '(' expr ')' - 435 | expr_generator - 436 | expr "??" expr - 437 | expr '?' expr ':' expr - - 438 $@27: %empty - - 439 $@28: %empty - - 440 expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr "is" basic_type_declaration - 442 | expr "is" "name" - 443 | expr "as" "name" - - 444 $@29: %empty - - 445 $@30: %empty - - 446 expr: expr "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr "as" basic_type_declaration - 448 | expr '?' "as" "name" - - 449 $@31: %empty - - 450 $@32: %empty - - 451 expr: expr '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr '?' "as" basic_type_declaration - 453 | expr_type_info - 454 | expr_type_decl - 455 | expr_cast - 456 | expr_new - 457 | expr_method_call - 458 | expr_named_call - 459 | expr_full_block - 460 | expr "<|" expr - 461 | expr "|>" expr - 462 | expr "|>" basic_type_declaration - 463 | expr_call_pipe - 464 | "unsafe" '(' expr ')' - - 465 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' ')' - 466 | "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' - 467 | "generator" '<' type_declaration_no_options '>' optional_capture_list optional_semis expression_block - - 468 expr_mtag: "$$" '(' expr ')' - 469 | "$i" '(' expr ')' - 470 | "$v" '(' expr ')' - 471 | "$b" '(' expr ')' - 472 | "$a" '(' expr ')' - 473 | "..." - 474 | "$c" '(' expr ')' '(' ')' - 475 | "$c" '(' expr ')' '(' expr_list ')' - 476 | expr '.' "$f" '(' expr ')' - 477 | expr "?." "$f" '(' expr ')' - 478 | expr '.' '.' "$f" '(' expr ')' - 479 | expr '.' "?." "$f" '(' expr ')' - 480 | expr "as" "$f" '(' expr ')' - 481 | expr '?' "as" "$f" '(' expr ')' - 482 | expr "is" "$f" '(' expr ')' - 483 | '@' '@' "$c" '(' expr ')' - - 484 optional_field_annotation: %empty - 485 | metadata_argument_list - - 486 optional_override: %empty - 487 | "override" - 488 | "sealed" - - 489 optional_constant: %empty - 490 | "const" - - 491 optional_public_or_private_member_variable: %empty - 492 | "public" - 493 | "private" - - 494 optional_static_member_variable: %empty - 495 | "static" + 331 optional_capture_list: %empty + 332 | "capture" '(' capture_list ')' - 496 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration + 333 expr_full_block: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_emit_semis block_or_simple_block - 497 struct_variable_declaration_list: %empty + 334 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_emit_semis expression_block + 335 | '{' expressions '}' - 498 $@33: %empty + 336 expr_numeric_const: "integer constant" + 337 | "unsigned integer constant" + 338 | "long integer constant" + 339 | "unsigned long integer constant" + 340 | "unsigned int8 constant" + 341 | "floating point constant" + 342 | "double constant" - 499 struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration ';' + 343 expr_assign: expr + 344 | expr '=' expr + 345 | expr "<-" expr + 346 | expr ":=" expr + 347 | expr "&=" expr + 348 | expr "|=" expr + 349 | expr "^=" expr + 350 | expr "&&=" expr + 351 | expr "||=" expr + 352 | expr "^^=" expr + 353 | expr "+=" expr + 354 | expr "-=" expr + 355 | expr "*=" expr + 356 | expr "/=" expr + 357 | expr "%=" expr + 358 | expr "<<=" expr + 359 | expr ">>=" expr + 360 | expr "<<<=" expr + 361 | expr ">>>=" expr + + 362 expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' ')' + 363 | name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' ')' + + 364 expr_method_call: expr "->" "name" '(' ')' + 365 | expr "->" "name" '(' expr_list ')' + + 366 func_addr_name: name_in_namespace + 367 | "$i" '(' expr ')' + + 368 func_addr_expr: '@' '@' func_addr_name + + 369 $@21: %empty + + 370 $@22: %empty + + 371 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name + + 372 $@23: %empty + + 373 $@24: %empty + + 374 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name + + 375 expr_field: expr '.' "name" + 376 | expr '.' '.' "name" + 377 | expr '.' "name" '(' ')' + 378 | expr '.' "name" '(' expr_list ')' + 379 | expr '.' basic_type_declaration '(' ')' + 380 | expr '.' basic_type_declaration '(' expr_list ')' + + 381 $@25: %empty + + 382 $@26: %empty + + 383 expr_field: expr '.' $@25 error $@26 + + 384 expr_call: name_in_namespace '(' ')' + 385 | name_in_namespace '(' "uninitialized" ')' + 386 | name_in_namespace '(' make_struct_single ')' + 387 | name_in_namespace '(' "uninitialized" make_struct_single ')' + 388 | name_in_namespace '(' expr_list ')' + 389 | basic_type_declaration '(' ')' + 390 | basic_type_declaration '(' expr_list ')' + + 391 expr: "null" + 392 | name_in_namespace + 393 | expr_numeric_const + 394 | expr_reader + 395 | string_builder + 396 | make_decl + 397 | "true" + 398 | "false" + 399 | expr_field + 400 | expr_mtag + 401 | '!' expr + 402 | '~' expr + 403 | '+' expr + 404 | '-' expr + 405 | expr "<<" expr + 406 | expr ">>" expr + 407 | expr "<<<" expr + 408 | expr ">>>" expr + 409 | expr '+' expr + 410 | expr '-' expr + 411 | expr '*' expr + 412 | expr '/' expr + 413 | expr '%' expr + 414 | expr '<' expr + 415 | expr '>' expr + 416 | expr "==" expr + 417 | expr "!=" expr + 418 | expr "<=" expr + 419 | expr ">=" expr + 420 | expr '&' expr + 421 | expr '|' expr + 422 | expr '^' expr + 423 | expr "&&" expr + 424 | expr "||" expr + 425 | expr "^^" expr + 426 | expr ".." expr + 427 | "++" expr + 428 | "--" expr + 429 | expr "++" + 430 | expr "--" + 431 | '(' expr_list optional_comma ')' + 432 | expr '[' expr ']' + 433 | expr '.' '[' expr ']' + 434 | expr "?[" expr ']' + 435 | expr '.' "?[" expr ']' + 436 | expr "?." "name" + 437 | expr '.' "?." "name" + 438 | func_addr_expr + 439 | expr_call + 440 | '*' expr + 441 | "deref" '(' expr ')' + 442 | "addr" '(' expr ')' + 443 | expr_generator + 444 | expr "??" expr + 445 | expr '?' expr ':' expr + + 446 $@27: %empty + + 447 $@28: %empty + + 448 expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr "is" basic_type_declaration + 450 | expr "is" "name" + 451 | expr "as" "name" + + 452 $@29: %empty + + 453 $@30: %empty + + 454 expr: expr "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr "as" basic_type_declaration + 456 | expr '?' "as" "name" + + 457 $@31: %empty + + 458 $@32: %empty + + 459 expr: expr '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr '?' "as" basic_type_declaration + 461 | expr_type_info + 462 | expr_type_decl + 463 | expr_cast + 464 | expr_new + 465 | expr_method_call + 466 | expr_named_call + 467 | expr_full_block + 468 | expr "<|" expr + 469 | expr "|>" expr + 470 | expr "|>" basic_type_declaration + 471 | expr_call_pipe + 472 | "unsafe" '(' expr ')' + + 473 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' ')' + 474 | "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' + 475 | "generator" '<' type_declaration_no_options '>' optional_capture_list optional_emit_semis expression_block + + 476 expr_mtag: "$$" '(' expr ')' + 477 | "$i" '(' expr ')' + 478 | "$v" '(' expr ')' + 479 | "$b" '(' expr ')' + 480 | "$a" '(' expr ')' + 481 | "..." + 482 | "$c" '(' expr ')' '(' ')' + 483 | "$c" '(' expr ')' '(' expr_list ')' + 484 | expr '.' "$f" '(' expr ')' + 485 | expr "?." "$f" '(' expr ')' + 486 | expr '.' '.' "$f" '(' expr ')' + 487 | expr '.' "?." "$f" '(' expr ')' + 488 | expr "as" "$f" '(' expr ')' + 489 | expr '?' "as" "$f" '(' expr ')' + 490 | expr "is" "$f" '(' expr ')' + 491 | '@' '@' "$c" '(' expr ')' + + 492 optional_field_annotation: %empty + 493 | metadata_argument_list + + 494 optional_override: %empty + 495 | "override" + 496 | "sealed" + + 497 optional_constant: %empty + 498 | "const" + + 499 optional_public_or_private_member_variable: %empty + 500 | "public" + 501 | "private" + + 502 optional_static_member_variable: %empty + 503 | "static" - 500 $@34: %empty + 504 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration - 501 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header ';' + 505 struct_variable_declaration_list: %empty - 502 $@35: %empty + 506 $@33: %empty - 503 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block + 507 struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration ';' - 504 function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing variable_declaration - 505 | "$a" '(' expr ')' + 508 $@34: %empty - 506 function_argument_list: function_argument_declaration - 507 | function_argument_list ';' function_argument_declaration + 509 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header ';' - 508 tuple_type: type_declaration - 509 | "name" ':' type_declaration + 510 $@35: %empty - 510 tuple_type_list: tuple_type - 511 | tuple_type_list c_or_s tuple_type + 511 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block - 512 tuple_alias_type_list: %empty - 513 | tuple_type - 514 | tuple_alias_type_list semis tuple_type + 512 function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing variable_declaration + 513 | "$a" '(' expr ')' - 515 variant_type: "name" ':' type_declaration + 514 function_argument_list: function_argument_declaration + 515 | function_argument_list ';' function_argument_declaration - 516 variant_type_list: variant_type - 517 | variant_type_list c_or_s variant_type + 516 tuple_type: type_declaration + 517 | "name" ':' type_declaration - 518 variant_alias_type_list: %empty - 519 | variant_type - 520 | variant_alias_type_list semis variant_type + 518 tuple_type_list: tuple_type + 519 | tuple_type_list c_or_s tuple_type - 521 copy_or_move: '=' - 522 | "<-" + 520 tuple_alias_type_list: %empty + 521 | tuple_type + 522 | tuple_alias_type_list semis tuple_type - 523 variable_declaration: variable_name_with_pos_list - 524 | variable_name_with_pos_list '&' - 525 | variable_name_with_pos_list ':' type_declaration - 526 | variable_name_with_pos_list ':' type_declaration copy_or_move expr - 527 | variable_name_with_pos_list copy_or_move expr + 523 variant_type: "name" ':' type_declaration - 528 copy_or_move_or_clone: '=' - 529 | "<-" - 530 | ":=" + 524 variant_type_list: variant_type + 525 | variant_type_list c_or_s variant_type - 531 optional_ref: %empty - 532 | '&' + 526 variant_alias_type_list: %empty + 527 | variant_type + 528 | variant_alias_type_list semis variant_type - 533 let_variable_name_with_pos_list: "name" - 534 | "$i" '(' expr ')' - 535 | "name" "aka" "name" - 536 | let_variable_name_with_pos_list ',' "name" - 537 | let_variable_name_with_pos_list ',' "name" "aka" "name" + 529 copy_or_move: '=' + 530 | "<-" - 538 global_let_variable_name_with_pos_list: "name" - 539 | global_let_variable_name_with_pos_list ',' "name" + 531 variable_declaration: variable_name_with_pos_list + 532 | variable_name_with_pos_list '&' + 533 | variable_name_with_pos_list ':' type_declaration + 534 | variable_name_with_pos_list ':' type_declaration copy_or_move expr + 535 | variable_name_with_pos_list copy_or_move expr - 540 variable_declaration_list: %empty - 541 | variable_declaration_list ';' - 542 | variable_declaration_list let_variable_declaration + 536 copy_or_move_or_clone: '=' + 537 | "<-" + 538 | ":=" - 543 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options ';' - 544 | let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr ';' - 545 | let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' + 539 optional_ref: %empty + 540 | '&' - 546 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options ';' - 547 | global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr ';' - 548 | global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' + 541 let_variable_name_with_pos_list: "name" + 542 | "$i" '(' expr ')' + 543 | "name" "aka" "name" + 544 | let_variable_name_with_pos_list ',' "name" + 545 | let_variable_name_with_pos_list ',' "name" "aka" "name" - 549 optional_shared: %empty - 550 | "shared" + 546 global_let_variable_name_with_pos_list: "name" + 547 | global_let_variable_name_with_pos_list ',' "name" - 551 optional_public_or_private_variable: %empty - 552 | "private" - 553 | "public" + 548 variable_declaration_list: %empty + 549 | variable_declaration_list ';' + 550 | variable_declaration_list let_variable_declaration - 554 global_variable_declaration_list: %empty - 555 | global_variable_declaration_list ';' + 551 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options SEMICOLON + 552 | let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + 553 | let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr SEMICOLON - 556 $@36: %empty + 554 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options ';' + 555 | global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr ';' + 556 | global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' - 557 global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation let_variable_declaration + 557 optional_shared: %empty + 558 | "shared" - 558 global_let: kwd_let optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' + 559 optional_public_or_private_variable: %empty + 560 | "private" + 561 | "public" - 559 $@37: %empty + 562 global_variable_declaration_list: %empty + 563 | global_variable_declaration_list ';' - 560 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration + 564 $@36: %empty - 561 enum_expression: "name" - 562 | "name" '=' expr + 565 global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation let_variable_declaration - 563 commas: ',' - 564 | commas ',' + 566 global_let: kwd_let optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' - 565 enum_list: %empty - 566 | enum_expression - 567 | enum_list commas enum_expression + 567 $@37: %empty - 568 optional_public_or_private_alias: %empty - 569 | "private" - 570 | "public" + 568 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration - 571 $@38: %empty + 569 enum_expression: "name" + 570 | "name" '=' expr - 572 single_alias: optional_public_or_private_alias "name" $@38 '=' type_declaration + 571 commas: COMMA + 572 | commas COMMA - 573 alias_declaration: "typedef" single_alias ';' + 573 enum_list: %empty + 574 | enum_expression + 575 | enum_list commas enum_expression - 574 optional_public_or_private_enum: %empty - 575 | "private" - 576 | "public" + 576 optional_public_or_private_alias: %empty + 577 | "private" + 578 | "public" - 577 enum_name: "name" + 579 $@38: %empty - 578 optional_enum_basic_type_declaration: %empty - 579 | ':' enum_basic_type_declaration + 580 single_alias: optional_public_or_private_alias "name" $@38 '=' type_declaration - 580 optional_commas: %empty - 581 | commas + 581 alias_declaration: "typedef" single_alias ';' - 582 $@39: %empty + 582 optional_public_or_private_enum: %empty + 583 | "private" + 584 | "public" - 583 $@40: %empty + 585 enum_name: "name" - 584 $@41: %empty + 586 optional_enum_basic_type_declaration: %empty + 587 | ':' enum_basic_type_declaration - 585 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_commas '{' $@40 enum_list optional_commas $@41 '}' + 588 optional_commas: %empty + 589 | commas - 586 optional_structure_parent: %empty - 587 | ':' name_in_namespace + 590 emit_commas: "emitted ," + 591 | emit_commas "emitted ," - 588 optional_sealed: %empty - 589 | "sealed" + 592 optional_emit_commas: %empty + 593 | emit_commas - 590 structure_name: optional_sealed "name" optional_structure_parent + 594 $@39: %empty - 591 class_or_struct: "class" - 592 | "struct" + 595 $@40: %empty - 593 optional_public_or_private_structure: %empty - 594 | "private" - 595 | "public" + 596 $@41: %empty - 596 optional_struct_variable_declaration_list: %empty - 597 | '{' struct_variable_declaration_list '}' + 597 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_emit_commas '{' $@40 enum_list optional_commas $@41 '}' - 598 $@42: %empty + 598 optional_structure_parent: %empty + 599 | ':' name_in_namespace - 599 $@43: %empty + 600 optional_sealed: %empty + 601 | "sealed" - 600 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 structure_name $@43 optional_struct_variable_declaration_list + 602 structure_name: optional_sealed "name" optional_structure_parent - 601 variable_name_with_pos_list: "name" - 602 | "$i" '(' expr ')' - 603 | "name" "aka" "name" - 604 | variable_name_with_pos_list ',' "name" - 605 | variable_name_with_pos_list ',' "name" "aka" "name" + 603 class_or_struct: "class" + 604 | "struct" - 606 basic_type_declaration: "bool" - 607 | "string" - 608 | "int" - 609 | "int8" - 610 | "int16" - 611 | "int64" - 612 | "int2" - 613 | "int3" - 614 | "int4" - 615 | "uint" - 616 | "uint8" - 617 | "uint16" - 618 | "uint64" - 619 | "uint2" - 620 | "uint3" - 621 | "uint4" - 622 | "float" - 623 | "float2" - 624 | "float3" - 625 | "float4" - 626 | "void" - 627 | "range" - 628 | "urange" - 629 | "range64" - 630 | "urange64" - 631 | "double" - 632 | "bitfield" + 605 optional_public_or_private_structure: %empty + 606 | "private" + 607 | "public" - 633 enum_basic_type_declaration: "int" - 634 | "int8" - 635 | "int16" - 636 | "uint" - 637 | "uint8" - 638 | "uint16" - 639 | "int64" - 640 | "uint64" + 608 optional_struct_variable_declaration_list: %empty + 609 | '{' struct_variable_declaration_list '}' - 641 structure_type_declaration: name_in_namespace + 610 $@42: %empty - 642 auto_type_declaration: "auto" - 643 | "auto" '(' "name" ')' - 644 | "$t" '(' expr ')' + 611 $@43: %empty - 645 bitfield_bits: "name" - 646 | bitfield_bits ';' "name" + 612 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 structure_name $@43 optional_struct_variable_declaration_list - 647 bitfield_alias_bits: %empty - 648 | "name" - 649 | bitfield_alias_bits commas "name" + 613 variable_name_with_pos_list: "name" + 614 | "$i" '(' expr ')' + 615 | "name" "aka" "name" + 616 | variable_name_with_pos_list ',' "name" + 617 | variable_name_with_pos_list ',' "name" "aka" "name" - 650 $@44: %empty + 618 basic_type_declaration: "bool" + 619 | "string" + 620 | "int" + 621 | "int8" + 622 | "int16" + 623 | "int64" + 624 | "int2" + 625 | "int3" + 626 | "int4" + 627 | "uint" + 628 | "uint8" + 629 | "uint16" + 630 | "uint64" + 631 | "uint2" + 632 | "uint3" + 633 | "uint4" + 634 | "float" + 635 | "float2" + 636 | "float3" + 637 | "float4" + 638 | "void" + 639 | "range" + 640 | "urange" + 641 | "range64" + 642 | "urange64" + 643 | "double" + 644 | "bitfield" - 651 $@45: %empty + 645 enum_basic_type_declaration: "int" + 646 | "int8" + 647 | "int16" + 648 | "uint" + 649 | "uint8" + 650 | "uint16" + 651 | "int64" + 652 | "uint64" - 652 bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits '>' $@45 + 653 structure_type_declaration: name_in_namespace - 653 c_or_s: ',' - 654 | ';' + 654 auto_type_declaration: "auto" + 655 | "auto" '(' "name" ')' + 656 | "$t" '(' expr ')' - 655 table_type_pair: type_declaration - 656 | type_declaration c_or_s type_declaration + 657 bitfield_bits: "name" + 658 | bitfield_bits ';' "name" - 657 dim_list: '[' expr ']' - 658 | '[' ']' - 659 | dim_list '[' expr ']' - 660 | dim_list '[' ']' + 659 bitfield_alias_bits: %empty + 660 | "name" + 661 | bitfield_alias_bits commas "name" - 661 type_declaration_no_options: type_declaration_no_options_no_dim - 662 | type_declaration_no_options_no_dim dim_list + 662 $@44: %empty - 663 type_declaration_no_options_no_dim: basic_type_declaration - 664 | auto_type_declaration - 665 | bitfield_type_declaration - 666 | structure_type_declaration + 663 $@45: %empty - 667 $@46: %empty + 664 bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits '>' $@45 - 668 $@47: %empty + 665 c_or_s: COMMA + 666 | SEMICOLON - 669 type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration '>' $@47 - 670 | "typedecl" '(' expr ')' - 671 | '$' name_in_namespace '(' optional_expr_list ')' + 667 table_type_pair: type_declaration + 668 | type_declaration c_or_s type_declaration - 672 $@48: %empty + 669 dim_list: '[' expr ']' + 670 | '[' ']' + 671 | dim_list '[' expr ']' + 672 | dim_list '[' ']' - 673 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' - 674 | type_declaration_no_options_no_dim '-' '[' ']' - 675 | type_declaration_no_options_no_dim "explicit" - 676 | type_declaration_no_options_no_dim "const" - 677 | type_declaration_no_options_no_dim '-' "const" - 678 | type_declaration_no_options_no_dim '&' - 679 | type_declaration_no_options_no_dim '-' '&' - 680 | type_declaration_no_options_no_dim '#' - 681 | type_declaration_no_options_no_dim "implicit" - 682 | type_declaration_no_options_no_dim '-' '#' - 683 | type_declaration_no_options_no_dim "==" "const" - 684 | type_declaration_no_options_no_dim "==" '&' - 685 | type_declaration_no_options_no_dim '?' + 673 type_declaration_no_options: type_declaration_no_options_no_dim + 674 | type_declaration_no_options_no_dim dim_list - 686 $@49: %empty + 675 type_declaration_no_options_no_dim: basic_type_declaration + 676 | auto_type_declaration + 677 | bitfield_type_declaration + 678 | structure_type_declaration - 687 $@50: %empty + 679 $@46: %empty - 688 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration '>' $@50 - 689 | type_declaration_no_options_no_dim "??" + 680 $@47: %empty - 690 $@51: %empty + 681 type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration '>' $@47 + 682 | "typedecl" '(' expr ')' + 683 | '$' name_in_namespace '(' optional_expr_list ')' - 691 $@52: %empty + 684 $@48: %empty - 692 type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration '>' $@52 + 685 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' + 686 | type_declaration_no_options_no_dim '-' '[' ']' + 687 | type_declaration_no_options_no_dim "explicit" + 688 | type_declaration_no_options_no_dim "const" + 689 | type_declaration_no_options_no_dim '-' "const" + 690 | type_declaration_no_options_no_dim '&' + 691 | type_declaration_no_options_no_dim '-' '&' + 692 | type_declaration_no_options_no_dim '#' + 693 | type_declaration_no_options_no_dim "implicit" + 694 | type_declaration_no_options_no_dim '-' '#' + 695 | type_declaration_no_options_no_dim "==" "const" + 696 | type_declaration_no_options_no_dim "==" '&' + 697 | type_declaration_no_options_no_dim '?' - 693 $@53: %empty + 698 $@49: %empty - 694 $@54: %empty + 699 $@50: %empty - 695 type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair '>' $@54 + 700 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration '>' $@50 + 701 | type_declaration_no_options_no_dim "??" - 696 $@55: %empty + 702 $@51: %empty - 697 $@56: %empty + 703 $@52: %empty - 698 type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration '>' $@56 - 699 | "block" + 704 type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration '>' $@52 - 700 $@57: %empty + 705 $@53: %empty - 701 $@58: %empty + 706 $@54: %empty - 702 type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration '>' $@58 + 707 type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair '>' $@54 - 703 $@59: %empty + 708 $@55: %empty - 704 $@60: %empty + 709 $@56: %empty - 705 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type '>' $@60 - 706 | "function" + 710 type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration '>' $@56 + 711 | "block" - 707 $@61: %empty + 712 $@57: %empty - 708 $@62: %empty + 713 $@58: %empty - 709 type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration '>' $@62 + 714 type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration '>' $@58 - 710 $@63: %empty + 715 $@59: %empty - 711 $@64: %empty + 716 $@60: %empty - 712 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type '>' $@64 - 713 | "lambda" + 717 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type '>' $@60 + 718 | "function" - 714 $@65: %empty + 719 $@61: %empty - 715 $@66: %empty + 720 $@62: %empty - 716 type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration '>' $@66 + 721 type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration '>' $@62 - 717 $@67: %empty + 722 $@63: %empty - 718 $@68: %empty + 723 $@64: %empty - 719 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type '>' $@68 + 724 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type '>' $@64 + 725 | "lambda" - 720 $@69: %empty + 726 $@65: %empty - 721 $@70: %empty + 727 $@66: %empty - 722 type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list '>' $@70 + 728 type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration '>' $@66 - 723 $@71: %empty + 729 $@67: %empty - 724 $@72: %empty + 730 $@68: %empty - 725 type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list '>' $@72 + 731 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type '>' $@68 - 726 type_declaration: type_declaration_no_options - 727 | type_declaration '|' type_declaration_no_options - 728 | type_declaration '|' '#' + 732 $@69: %empty - 729 $@73: %empty + 733 $@70: %empty - 730 $@74: %empty + 734 type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list '>' $@70 - 731 $@75: %empty + 735 $@71: %empty - 732 $@76: %empty + 736 $@72: %empty - 733 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 737 type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list '>' $@72 - 734 $@77: %empty + 738 type_declaration: type_declaration_no_options + 739 | type_declaration '|' type_declaration_no_options + 740 | type_declaration '|' '#' - 735 $@78: %empty + 741 $@73: %empty - 736 $@79: %empty + 742 $@74: %empty - 737 $@80: %empty + 743 $@75: %empty - 738 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 744 $@76: %empty - 739 $@81: %empty + 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' - 740 $@82: %empty + 746 $@77: %empty - 741 $@83: %empty + 747 $@78: %empty - 742 $@84: %empty + 748 $@79: %empty - 743 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 749 $@80: %empty - 744 make_decl: make_struct_decl - 745 | make_dim_decl - 746 | make_table_decl - 747 | array_comprehension - 748 | make_tuple_call + 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' - 749 make_struct_fields: "name" copy_or_move expr - 750 | "name" ":=" expr - 751 | make_struct_fields ',' "name" copy_or_move expr - 752 | make_struct_fields ',' "name" ":=" expr - 753 | "$f" '(' expr ')' copy_or_move expr - 754 | "$f" '(' expr ')' ":=" expr - 755 | make_struct_fields ',' "$f" '(' expr ')' copy_or_move expr - 756 | make_struct_fields ',' "$f" '(' expr ')' ":=" expr + 751 $@81: %empty - 757 make_variant_dim: make_struct_fields + 752 $@82: %empty - 758 make_struct_single: make_struct_fields + 753 $@83: %empty - 759 make_struct_dim_list: '(' make_struct_fields ')' - 760 | make_struct_dim_list ',' '(' make_struct_fields ')' + 754 $@84: %empty - 761 make_struct_dim_decl: make_struct_fields - 762 | make_struct_dim_list optional_comma + 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' - 763 optional_make_struct_dim_decl: make_struct_dim_decl - 764 | %empty + 756 make_decl: make_struct_decl + 757 | make_dim_decl + 758 | make_table_decl + 759 | array_comprehension + 760 | make_tuple_call - 765 use_initializer: %empty - 766 | "uninitialized" + 761 make_struct_fields: "name" copy_or_move expr + 762 | "name" ":=" expr + 763 | make_struct_fields ',' "name" copy_or_move expr + 764 | make_struct_fields ',' "name" ":=" expr + 765 | "$f" '(' expr ')' copy_or_move expr + 766 | "$f" '(' expr ')' ":=" expr + 767 | make_struct_fields ',' "$f" '(' expr ')' copy_or_move expr + 768 | make_struct_fields ',' "$f" '(' expr ')' ":=" expr - 767 $@85: %empty + 769 make_variant_dim: make_struct_fields - 768 $@86: %empty + 770 make_struct_single: make_struct_fields - 769 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' + 771 make_struct_dim_list: '(' make_struct_fields ')' + 772 | make_struct_dim_list ',' '(' make_struct_fields ')' - 770 $@87: %empty + 773 make_struct_dim_decl: make_struct_fields + 774 | make_struct_dim_list optional_comma - 771 $@88: %empty + 775 optional_make_struct_dim_decl: make_struct_dim_decl + 776 | %empty - 772 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' + 777 use_initializer: %empty + 778 | "uninitialized" - 773 $@89: %empty + 779 $@85: %empty - 774 $@90: %empty + 780 $@86: %empty - 775 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' + 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' - 776 $@91: %empty + 782 $@87: %empty - 777 $@92: %empty + 783 $@88: %empty - 778 make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' $@92 use_initializer + 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' - 779 make_map_tuple: expr "=>" expr - 780 | expr + 785 $@89: %empty - 781 make_tuple_call: "tuple" '(' expr_list optional_comma ')' + 786 $@90: %empty - 782 $@93: %empty + 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' - 783 $@94: %empty + 788 $@91: %empty - 784 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' + 789 $@92: %empty - 785 make_dim_decl: '[' expr_list optional_comma ']' + 790 make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' $@92 use_initializer - 786 $@95: %empty + 791 make_map_tuple: expr "=>" expr + 792 | expr - 787 $@96: %empty + 793 make_tuple_call: "tuple" '(' expr_list optional_comma ')' - 788 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' + 794 $@93: %empty - 789 $@97: %empty + 795 $@94: %empty - 790 $@98: %empty + 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' - 791 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' + 797 make_dim_decl: '[' expr_list optional_comma ']' - 792 $@99: %empty + 798 $@95: %empty - 793 $@100: %empty + 799 $@96: %empty - 794 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' - 795 | "array" '(' expr_list optional_comma ')' + 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' - 796 $@101: %empty + 801 $@97: %empty - 797 $@102: %empty + 802 $@98: %empty - 798 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' - 799 | "fixed_array" '(' expr_list optional_comma ')' + 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' - 800 $@103: %empty + 804 $@99: %empty - 801 $@104: %empty + 805 $@100: %empty - 802 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' + 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' + 807 | "array" '(' expr_list optional_comma ')' - 803 expr_map_tuple_list: make_map_tuple - 804 | expr_map_tuple_list ',' make_map_tuple + 808 $@101: %empty - 805 make_table_decl: '{' expr_map_tuple_list optional_comma '}' - 806 | "table" '(' expr_map_tuple_list optional_comma ')' - 807 | "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' - 808 | "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + 809 $@102: %empty - 809 array_comprehension_where: %empty - 810 | ';' "where" expr + 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' + 811 | "fixed_array" '(' expr_list optional_comma ')' - 811 optional_comma: %empty - 812 | ',' + 812 $@103: %empty - 813 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' - 814 | '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' - 815 | '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' + 813 $@104: %empty + + 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' + + 815 expr_map_tuple_list: make_map_tuple + 816 | expr_map_tuple_list ',' make_map_tuple + + 817 make_table_decl: '{' expr_map_tuple_list optional_comma '}' + 818 | "table" '(' expr_map_tuple_list optional_comma ')' + 819 | "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + 820 | "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + + 821 array_comprehension_where: %empty + 822 | ';' "where" expr + + 823 optional_comma: %empty + 824 | ',' + + 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 826 | '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 827 | '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' Terminals, with rules where they appear $end (0) 0 - '!' (33) 113 129 393 - '#' (35) 680 682 728 - '$' (36) 20 313 671 673 - '%' (37) 36 40 149 405 - '&' (38) 157 316 412 524 532 678 679 684 - '(' (40) 59 74 75 77 80 82 102 111 117 124 125 266 267 268 269 288 289 305 306 307 320 324 354 355 356 357 359 369 370 371 372 376 377 378 379 380 381 382 423 433 434 464 465 466 468 469 470 471 472 474 475 476 477 478 479 480 481 482 483 505 534 602 643 644 670 671 673 753 754 755 756 759 760 769 772 775 781 784 788 791 794 795 798 799 802 806 807 808 813 814 815 - ')' (41) 59 74 75 77 80 82 102 111 117 124 125 266 267 268 269 288 289 305 306 307 320 324 354 355 356 357 359 369 370 371 372 376 377 378 379 380 381 382 423 433 434 464 465 466 468 469 470 471 472 474 475 476 477 478 479 480 481 482 483 505 534 602 643 644 670 671 673 753 754 755 756 759 760 769 772 775 781 784 788 791 794 795 798 799 802 806 807 808 813 814 815 - '*' (42) 147 403 432 - '+' (43) 145 395 401 - ',' (44) 49 91 104 120 287 309 322 355 536 537 539 563 564 604 605 653 751 752 755 756 760 804 812 - '-' (45) 146 396 402 674 677 679 682 - '.' (46) 41 174 176 177 367 368 369 370 371 372 375 425 427 429 476 478 479 - '/' (47) 42 148 404 - ':' (58) 51 52 127 288 437 509 515 525 526 543 544 546 547 579 587 - ';' (59) 8 9 15 16 69 70 75 228 229 230 235 237 238 239 240 244 245 246 288 289 499 501 507 541 543 544 545 546 547 548 555 573 646 654 810 813 814 815 - '<' (60) 150 263 295 298 301 304 306 307 363 366 406 440 446 451 465 466 467 652 669 673 688 692 695 698 702 705 709 712 716 719 722 725 769 772 775 778 784 788 791 794 798 802 807 808 - '=' (61) 83 95 96 97 98 99 100 102 317 336 521 528 562 572 - '>' (62) 151 263 295 298 301 304 306 307 363 366 407 440 446 451 465 466 467 652 669 673 688 692 695 698 702 705 709 712 716 719 722 725 769 772 775 778 784 788 791 794 798 802 807 808 - '?' (63) 186 187 437 448 451 452 481 685 - '@' (64) 105 106 314 315 360 363 366 483 - '[' (91) 122 172 354 355 424 425 657 658 659 660 674 785 813 814 - ']' (93) 122 172 173 354 355 424 425 426 427 657 658 659 660 674 785 813 814 - '^' (94) 159 414 - '{' (123) 223 226 292 327 558 585 597 733 738 743 805 815 - '|' (124) 158 413 727 728 - '}' (125) 223 226 292 327 558 585 597 733 738 743 805 815 - '~' (126) 130 394 - error (256) 249 375 + '!' (33) 121 137 401 + '#' (35) 692 694 740 + '$' (36) 24 321 683 685 + '%' (37) 40 44 157 413 + '&' (38) 165 324 420 532 540 690 691 696 + '(' (40) 67 82 83 85 88 90 110 119 125 132 133 274 275 276 277 296 297 313 314 315 328 332 362 363 364 365 367 377 378 379 380 384 385 386 387 388 389 390 431 441 442 472 473 474 476 477 478 479 480 482 483 484 485 486 487 488 489 490 491 513 542 614 655 656 682 683 685 765 766 767 768 771 772 781 784 787 793 796 800 803 806 807 810 811 814 818 819 820 825 826 827 + ')' (41) 67 82 83 85 88 90 110 119 125 132 133 274 275 276 277 296 297 313 314 315 328 332 362 363 364 365 367 377 378 379 380 384 385 386 387 388 389 390 431 441 442 472 473 474 476 477 478 479 480 482 483 484 485 486 487 488 489 490 491 513 542 614 655 656 682 683 685 765 766 767 768 771 772 781 784 787 793 796 800 803 806 807 810 811 814 818 819 820 825 826 827 + '*' (42) 155 411 440 + '+' (43) 153 403 409 + ',' (44) 16 53 99 112 128 295 317 330 363 544 545 547 616 617 763 764 767 768 772 816 824 + '-' (45) 154 404 410 686 689 691 694 + '.' (46) 45 182 184 185 375 376 377 378 379 380 383 433 435 437 484 486 487 + '/' (47) 46 156 412 + ':' (58) 55 56 135 296 445 517 523 533 534 551 552 554 555 587 599 + ';' (59) 8 9 15 18 20 507 509 515 549 554 555 556 563 581 658 822 825 826 827 + '<' (60) 158 271 303 306 309 312 314 315 371 374 414 448 454 459 473 474 475 664 681 685 700 704 707 710 714 717 721 724 728 731 734 737 781 784 787 790 796 800 803 806 810 814 819 820 + '=' (61) 91 103 104 105 106 107 108 110 325 344 529 536 570 580 + '>' (62) 159 271 303 306 309 312 314 315 371 374 415 448 454 459 473 474 475 664 681 685 700 704 707 710 714 717 721 724 728 731 734 737 781 784 787 790 796 800 803 806 810 814 819 820 + '?' (63) 194 195 445 456 459 460 489 697 + '@' (64) 113 114 322 323 368 371 374 491 + '[' (91) 130 180 362 363 432 433 669 670 671 672 686 797 825 826 + ']' (93) 130 180 181 362 363 432 433 434 435 669 670 671 672 686 797 825 826 + '^' (94) 167 422 + '{' (123) 231 234 300 335 566 597 609 745 750 755 817 827 + '|' (124) 166 421 739 740 + '}' (125) 231 234 300 335 566 597 609 745 750 755 817 827 + '~' (126) 138 402 + error (256) 257 383 "lexer error" (258) - "capture" (259) 324 - "struct" (260) 592 769 788 - "class" (261) 591 772 - "let" (262) 279 282 - "def" (263) 213 501 503 - "while" (264) 80 - "if" (265) 60 75 - "static_if" (266) 61 - "else" (267) 58 63 - "for" (268) 77 813 814 815 - "recover" (269) 278 - "true" (270) 88 99 389 - "false" (271) 89 100 390 - "new" (272) 265 266 267 268 269 270 - "typeinfo" (273) 305 306 307 - "type" (274) 93 304 440 446 451 669 - "in" (275) 77 94 813 814 815 - "is" (276) 182 184 440 441 442 482 - "as" (277) 44 183 185 186 187 443 446 447 448 451 452 480 481 - "elif" (278) 55 - "static_elif" (279) 56 - "array" (280) 692 788 791 794 795 798 - "return" (281) 273 274 275 - "null" (282) 383 - "break" (283) 271 - "try" (284) 278 - "options" (285) 37 - "table" (286) 695 806 807 808 - "expect" (287) 47 - "const" (288) 490 676 677 683 - "require" (289) 38 108 - "operator" (290) 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 - "enum" (291) 585 - "finally" (292) 223 - "delete" (293) 180 259 260 - "deref" (294) 433 - "typedef" (295) 573 - "typedecl" (296) 670 - "with" (297) 82 - "aka" (298) 535 537 603 605 - "assume" (299) 83 - "cast" (300) 295 - "override" (301) 487 - "abstract" (302) 501 - "upcast" (303) 298 - "iterator" (304) 698 814 - "var" (305) 280 283 - "addr" (306) 434 - "continue" (307) 272 - "where" (308) 810 - "pass" (309) 246 - "reinterpret" (310) 301 - "module" (311) 22 - "public" (312) 18 46 216 492 553 570 576 595 - "label" (313) 52 53 - "goto" (314) 53 54 - "implicit" (315) 681 - "explicit" (316) 260 675 - "shared" (317) 550 - "private" (318) 19 109 215 493 552 569 575 594 - "smart_ptr" (319) 688 - "unsafe" (320) 78 464 - "inscope" (321) 284 - "static" (322) 495 - "fixed_array" (323) 799 802 - "default" (324) 778 - "uninitialized" (325) 269 377 379 766 - "bool" (326) 188 606 - "void" (327) 626 - "string" (328) 189 607 - "auto" (329) 642 643 - "int" (330) 190 608 633 - "int2" (331) 191 612 - "int3" (332) 192 613 - "int4" (333) 193 614 - "uint" (334) 194 615 636 - "bitfield" (335) 632 652 743 - "uint2" (336) 195 619 - "uint3" (337) 196 620 - "uint4" (338) 197 621 - "float" (339) 198 622 - "float2" (340) 199 623 - "float3" (341) 200 624 - "float4" (342) 201 625 - "range" (343) 202 627 - "urange" (344) 203 628 - "range64" (345) 204 629 - "urange64" (346) 205 630 - "block" (347) 699 702 705 - "int64" (348) 206 611 639 - "uint64" (349) 207 618 640 - "double" (350) 208 631 - "function" (351) 706 709 712 - "lambda" (352) 713 716 719 - "int8" (353) 209 609 634 - "uint8" (354) 210 616 637 - "int16" (355) 211 610 635 - "uint16" (356) 212 617 638 - "tuple" (357) 722 733 781 784 791 - "variant" (358) 725 738 775 794 - "generator" (359) 465 466 467 - "yield" (360) 276 277 - "sealed" (361) 488 589 - "+=" (362) 131 345 - "-=" (363) 132 346 - "/=" (364) 134 348 - "*=" (365) 133 347 - "%=" (366) 135 349 - "&=" (367) 136 339 - "|=" (368) 137 340 - "^=" (369) 138 341 - "<<" (370) 164 397 - ">>" (371) 165 398 - "++" (372) 160 162 419 421 - "--" (373) 161 163 420 422 - "<=" (374) 155 410 - "<<=" (375) 166 350 - ">>=" (376) 167 351 - ">=" (377) 156 411 - "==" (378) 153 408 683 684 - "!=" (379) 154 409 - "->" (380) 356 357 - "<-" (381) 275 277 312 318 337 522 529 - "??" (382) 181 436 689 - "?." (383) 175 178 428 429 477 479 - "?[" (384) 173 426 427 - "<|" (385) 460 - "|>" (386) 118 461 462 - ":=" (387) 177 179 319 338 530 750 752 754 756 - "<<<" (388) 168 399 - ">>>" (389) 169 400 - "<<<=" (390) 170 352 - ">>>=" (391) 171 353 - "=>" (392) 311 312 779 - "::" (393) 257 258 - "&&" (394) 114 142 415 - "||" (395) 115 143 416 - "^^" (396) 116 144 417 - "&&=" (397) 139 342 - "||=" (398) 140 343 - "^^=" (399) 141 344 - ".." (400) 152 418 - "$$" (401) 468 - "$i" (402) 359 469 534 602 - "$v" (403) 470 - "$b" (404) 471 - "$a" (405) 472 505 - "$t" (406) 644 - "$c" (407) 474 475 483 - "$f" (408) 476 477 478 479 480 481 482 753 754 755 756 - "..." (409) 473 - "integer constant" (410) 50 51 52 53 86 97 328 - "long integer constant" (411) 330 - "unsigned integer constant" (412) 329 - "unsigned long integer constant" (413) 331 - "unsigned int8 constant" (414) 332 - "floating point constant" (415) 87 98 333 - "double constant" (416) 334 - "name" (417) 21 39 41 42 44 83 85 92 96 128 176 177 178 184 185 187 256 257 258 286 287 306 307 316 317 318 319 320 356 357 367 368 369 370 428 429 442 443 448 509 515 533 535 536 537 538 539 561 562 572 577 590 601 603 604 605 643 645 646 648 649 733 738 743 749 750 751 752 - "start of the string" (418) 27 28 32 - STRING_CHARACTER (419) 23 25 33 34 - STRING_CHARACTER_ESC (420) 24 26 - "end of the string" (421) 27 28 32 - "{" (422) 31 - "}" (423) 31 - "end of failed eader macro" (424) - UNARY_MINUS (425) - UNARY_PLUS (426) - PRE_INC (427) - PRE_DEC (428) - LLPIPE (429) - POST_INC (430) - POST_DEC (431) - DEREF (432) + "capture" (259) 332 + "struct" (260) 604 781 800 + "class" (261) 603 784 + "let" (262) 287 290 + "def" (263) 221 509 511 + "while" (264) 88 + "if" (265) 68 83 + "static_if" (266) 69 + "else" (267) 66 71 + "for" (268) 85 825 826 827 + "recover" (269) 286 + "true" (270) 96 107 397 + "false" (271) 97 108 398 + "new" (272) 273 274 275 276 277 278 + "typeinfo" (273) 313 314 315 + "type" (274) 101 312 448 454 459 681 + "in" (275) 85 102 825 826 827 + "is" (276) 190 192 448 449 450 490 + "as" (277) 48 191 193 194 195 451 454 455 456 459 460 488 489 + "elif" (278) 59 + "static_elif" (279) 60 + "array" (280) 704 800 803 806 807 810 + "return" (281) 281 282 283 + "null" (282) 391 + "break" (283) 279 + "try" (284) 286 + "options" (285) 41 + "table" (286) 707 818 819 820 + "expect" (287) 51 + "const" (288) 498 688 689 695 + "require" (289) 42 116 + "operator" (290) 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 + "enum" (291) 597 + "finally" (292) 231 + "delete" (293) 188 267 268 + "deref" (294) 441 + "typedef" (295) 581 + "typedecl" (296) 682 + "with" (297) 90 + "aka" (298) 543 545 615 617 + "assume" (299) 91 + "cast" (300) 303 + "override" (301) 495 + "abstract" (302) 509 + "upcast" (303) 306 + "iterator" (304) 710 826 + "var" (305) 288 291 + "addr" (306) 442 + "continue" (307) 280 + "where" (308) 822 + "pass" (309) 254 + "reinterpret" (310) 309 + "module" (311) 26 + "public" (312) 22 50 224 500 561 578 584 607 + "label" (313) 56 57 + "goto" (314) 57 58 + "implicit" (315) 693 + "explicit" (316) 268 687 + "shared" (317) 558 + "private" (318) 23 117 223 501 560 577 583 606 + "smart_ptr" (319) 700 + "unsafe" (320) 86 472 + "inscope" (321) 292 + "static" (322) 503 + "fixed_array" (323) 811 814 + "default" (324) 790 + "uninitialized" (325) 277 385 387 778 + "bool" (326) 196 618 + "void" (327) 638 + "string" (328) 197 619 + "auto" (329) 654 655 + "int" (330) 198 620 645 + "int2" (331) 199 624 + "int3" (332) 200 625 + "int4" (333) 201 626 + "uint" (334) 202 627 648 + "bitfield" (335) 644 664 755 + "uint2" (336) 203 631 + "uint3" (337) 204 632 + "uint4" (338) 205 633 + "float" (339) 206 634 + "float2" (340) 207 635 + "float3" (341) 208 636 + "float4" (342) 209 637 + "range" (343) 210 639 + "urange" (344) 211 640 + "range64" (345) 212 641 + "urange64" (346) 213 642 + "block" (347) 711 714 717 + "int64" (348) 214 623 651 + "uint64" (349) 215 630 652 + "double" (350) 216 643 + "function" (351) 718 721 724 + "lambda" (352) 725 728 731 + "int8" (353) 217 621 646 + "uint8" (354) 218 628 649 + "int16" (355) 219 622 647 + "uint16" (356) 220 629 650 + "tuple" (357) 734 745 793 796 803 + "variant" (358) 737 750 787 806 + "generator" (359) 473 474 475 + "yield" (360) 284 285 + "sealed" (361) 496 601 + "+=" (362) 139 353 + "-=" (363) 140 354 + "/=" (364) 142 356 + "*=" (365) 141 355 + "%=" (366) 143 357 + "&=" (367) 144 347 + "|=" (368) 145 348 + "^=" (369) 146 349 + "<<" (370) 172 405 + ">>" (371) 173 406 + "++" (372) 168 170 427 429 + "--" (373) 169 171 428 430 + "<=" (374) 163 418 + "<<=" (375) 174 358 + ">>=" (376) 175 359 + ">=" (377) 164 419 + "==" (378) 161 416 695 696 + "!=" (379) 162 417 + "->" (380) 364 365 + "<-" (381) 283 285 320 326 345 530 537 + "??" (382) 189 444 701 + "?." (383) 183 186 436 437 485 487 + "?[" (384) 181 434 435 + "<|" (385) 468 + "|>" (386) 126 469 470 + ":=" (387) 185 187 327 346 538 762 764 766 768 + "<<<" (388) 176 407 + ">>>" (389) 177 408 + "<<<=" (390) 178 360 + ">>>=" (391) 179 361 + "=>" (392) 319 320 791 + "::" (393) 265 266 + "&&" (394) 122 150 423 + "||" (395) 123 151 424 + "^^" (396) 124 152 425 + "&&=" (397) 147 350 + "||=" (398) 148 351 + "^^=" (399) 149 352 + ".." (400) 160 426 + "$$" (401) 476 + "$i" (402) 367 477 542 614 + "$v" (403) 478 + "$b" (404) 479 + "$a" (405) 480 513 + "$t" (406) 656 + "$c" (407) 482 483 491 + "$f" (408) 484 485 486 487 488 489 490 765 766 767 768 + "..." (409) 481 + "integer constant" (410) 54 55 56 57 94 105 336 + "long integer constant" (411) 338 + "unsigned integer constant" (412) 337 + "unsigned long integer constant" (413) 339 + "unsigned int8 constant" (414) 340 + "floating point constant" (415) 95 106 341 + "double constant" (416) 342 + "name" (417) 25 43 45 46 48 91 93 100 104 136 184 185 186 192 193 195 264 265 266 294 295 314 315 324 325 326 327 328 364 365 375 376 377 378 436 437 450 451 456 517 523 541 543 544 545 546 547 569 570 580 585 602 613 615 616 617 655 657 658 660 661 745 750 755 761 762 763 764 + "emitted ," (418) 17 590 591 + "emitted ;" (419) 19 61 62 + "start of the string" (420) 31 32 36 + STRING_CHARACTER (421) 27 29 37 38 + STRING_CHARACTER_ESC (422) 28 30 + "end of the string" (423) 31 32 36 + "{" (424) 35 + "}" (425) 35 + "end of failed eader macro" (426) + UNARY_MINUS (427) + UNARY_PLUS (428) + PRE_INC (429) + PRE_DEC (430) + LLPIPE (431) + POST_INC (432) + POST_DEC (433) + DEREF (434) Nonterminals, with rules where they appear - $accept (205) + $accept (207) on left: 0 - program (206) + program (208) on left: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 on right: 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - top_level_reader_macro (207) - on left: 16 + COMMA (209) + on left: 16 17 + on right: 571 572 665 + SEMICOLON (210) + on left: 18 19 + on right: 77 78 83 236 237 238 243 245 246 247 248 252 253 254 296 297 551 552 553 666 + top_level_reader_macro (211) + on left: 20 on right: 14 - optional_public_or_private_module (208) - on left: 17 18 19 - on right: 22 - module_name (209) - on left: 20 21 - on right: 22 - module_declaration (210) - on left: 22 + optional_public_or_private_module (212) + on left: 21 22 23 + on right: 26 + module_name (213) + on left: 24 25 + on right: 26 + module_declaration (214) + on left: 26 on right: 2 - character_sequence (211) - on left: 23 24 25 26 - on right: 25 26 27 30 - string_constant (212) - on left: 27 28 - on right: 84 95 - string_builder_body (213) - on left: 29 30 31 - on right: 30 31 32 - string_builder (214) - on left: 32 - on right: 387 - reader_character_sequence (215) - on left: 33 34 - on right: 34 36 - expr_reader (216) + character_sequence (215) + on left: 27 28 29 30 + on right: 29 30 31 34 + string_constant (216) + on left: 31 32 + on right: 92 103 + string_builder_body (217) + on left: 33 34 35 + on right: 34 35 36 + string_builder (218) on left: 36 - on right: 16 386 - $@1 (217) - on left: 35 - on right: 36 - options_declaration (218) - on left: 37 + on right: 395 + reader_character_sequence (219) + on left: 37 38 + on right: 38 40 + expr_reader (220) + on left: 40 + on right: 20 394 + $@1 (221) + on left: 39 + on right: 40 + options_declaration (222) + on left: 41 on right: 9 - require_declaration (219) - on left: 38 + require_declaration (223) + on left: 42 on right: 8 - require_module_name (220) - on left: 39 40 41 42 - on right: 40 41 42 43 44 - require_module (221) - on left: 43 44 - on right: 38 - is_public_module (222) - on left: 45 46 - on right: 43 44 - expect_declaration (223) - on left: 47 + require_module_name (224) + on left: 43 44 45 46 + on right: 44 45 46 47 48 + require_module (225) + on left: 47 48 + on right: 42 + is_public_module (226) + on left: 49 50 + on right: 47 48 + expect_declaration (227) + on left: 51 on right: 7 - expect_list (224) - on left: 48 49 - on right: 47 49 - expect_error (225) - on left: 50 51 - on right: 48 49 - expression_label (226) - on left: 52 - on right: 244 - expression_goto (227) - on left: 53 54 - on right: 245 - elif_or_static_elif (228) - on left: 55 56 - on right: 59 - expression_else (229) - on left: 57 58 59 - on right: 59 74 - if_or_static_if (230) - on left: 60 61 - on right: 74 - expression_else_one_liner (231) - on left: 62 63 - on right: 75 - expression_if_one_liner (232) - on left: 64 65 66 67 68 - on right: 63 75 - semis (233) - on left: 69 70 - on right: 70 72 514 520 - optional_semis (234) - on left: 71 72 - on right: 58 59 74 77 78 80 82 325 326 467 733 738 - expression_if_then_else (235) - on left: 74 - on right: 241 - $@2 (236) - on left: 73 - on right: 74 - expression_if_then_else_oneliner (237) - on left: 75 - on right: 242 - expression_for_loop (238) - on left: 77 - on right: 236 - $@3 (239) - on left: 76 - on right: 77 - expression_unsafe (240) - on left: 78 - on right: 233 - expression_while_loop (241) - on left: 80 - on right: 232 - $@4 (242) - on left: 79 - on right: 80 - expression_with (243) + expect_list (228) + on left: 52 53 + on right: 51 53 + expect_error (229) + on left: 54 55 + on right: 52 53 + expression_label (230) + on left: 56 + on right: 252 + expression_goto (231) + on left: 57 58 + on right: 253 + elif_or_static_elif (232) + on left: 59 60 + on right: 67 + emit_semis (233) + on left: 61 62 + on right: 62 64 + optional_emit_semis (234) + on left: 63 64 + on right: 66 67 82 85 86 88 90 333 334 475 745 750 + expression_else (235) + on left: 65 66 67 + on right: 67 82 + if_or_static_if (236) + on left: 68 69 + on right: 82 + expression_else_one_liner (237) + on left: 70 71 + on right: 83 + expression_if_one_liner (238) + on left: 72 73 74 75 76 + on right: 71 83 + semis (239) + on left: 77 78 + on right: 78 80 522 528 + optional_semis (240) + on left: 79 80 + on right: 745 750 + expression_if_then_else (241) on left: 82 - on right: 234 - $@5 (244) + on right: 249 + $@2 (242) on left: 81 on right: 82 - expression_with_alias (245) + expression_if_then_else_oneliner (243) on left: 83 - on right: 235 - annotation_argument_value (246) - on left: 84 85 86 87 88 89 - on right: 90 91 - annotation_argument_value_list (247) - on left: 90 91 - on right: 91 102 - annotation_argument_name (248) - on left: 92 93 94 - on right: 95 96 97 98 99 100 101 102 - annotation_argument (249) - on left: 95 96 97 98 99 100 101 102 - on right: 103 104 105 106 - annotation_argument_list (250) - on left: 103 104 - on right: 37 104 111 - metadata_argument_list (251) - on left: 105 106 - on right: 106 485 - annotation_declaration_name (252) - on left: 107 108 109 - on right: 110 111 - annotation_declaration_basic (253) - on left: 110 111 - on right: 112 - annotation_declaration (254) - on left: 112 113 114 115 116 117 118 - on right: 113 114 115 116 117 118 119 120 - annotation_list (255) - on left: 119 120 - on right: 120 122 - optional_annotation_list (256) - on left: 121 122 - on right: 213 325 326 501 503 585 600 - optional_function_argument_list (257) - on left: 123 124 125 - on right: 217 325 326 366 705 712 719 - optional_function_type (258) - on left: 126 127 - on right: 217 325 326 366 705 712 719 - function_name (259) - on left: 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 - on right: 217 - global_function_declaration (260) - on left: 213 - on right: 6 - optional_public_or_private_function (261) - on left: 214 215 216 - on right: 219 - function_declaration_header (262) - on left: 217 - on right: 219 501 503 - function_declaration (263) - on left: 219 - on right: 213 - $@6 (264) - on left: 218 - on right: 219 - expression_block_finally (265) - on left: 220 223 - on right: 226 - $@7 (266) + on right: 250 + expression_for_loop (244) + on left: 85 + on right: 244 + $@3 (245) + on left: 84 + on right: 85 + expression_unsafe (246) + on left: 86 + on right: 241 + expression_while_loop (247) + on left: 88 + on right: 240 + $@4 (248) + on left: 87 + on right: 88 + expression_with (249) + on left: 90 + on right: 242 + $@5 (250) + on left: 89 + on right: 90 + expression_with_alias (251) + on left: 91 + on right: 243 + annotation_argument_value (252) + on left: 92 93 94 95 96 97 + on right: 98 99 + annotation_argument_value_list (253) + on left: 98 99 + on right: 99 110 + annotation_argument_name (254) + on left: 100 101 102 + on right: 103 104 105 106 107 108 109 110 + annotation_argument (255) + on left: 103 104 105 106 107 108 109 110 + on right: 111 112 113 114 + annotation_argument_list (256) + on left: 111 112 + on right: 41 112 119 + metadata_argument_list (257) + on left: 113 114 + on right: 114 493 + annotation_declaration_name (258) + on left: 115 116 117 + on right: 118 119 + annotation_declaration_basic (259) + on left: 118 119 + on right: 120 + annotation_declaration (260) + on left: 120 121 122 123 124 125 126 + on right: 121 122 123 124 125 126 127 128 + annotation_list (261) + on left: 127 128 + on right: 128 130 + optional_annotation_list (262) + on left: 129 130 + on right: 221 333 334 509 511 597 612 + optional_function_argument_list (263) + on left: 131 132 133 + on right: 225 333 334 374 717 724 731 + optional_function_type (264) + on left: 134 135 + on right: 225 333 334 374 717 724 731 + function_name (265) + on left: 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 + on right: 225 + global_function_declaration (266) on left: 221 - on right: 223 - $@8 (267) - on left: 222 - on right: 223 - expression_block (268) - on left: 226 - on right: 58 59 74 77 78 80 82 219 278 310 326 467 503 - $@9 (269) - on left: 224 - on right: 226 - $@10 (270) + on right: 6 + optional_public_or_private_function (267) + on left: 222 223 224 + on right: 227 + function_declaration_header (268) on left: 225 - on right: 226 - expr_call_pipe (271) + on right: 227 509 511 + function_declaration (269) on left: 227 - on right: 463 - expression_any (272) - on left: 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 - on right: 248 - expressions (273) - on left: 247 248 249 - on right: 223 226 248 249 327 - optional_expr_list (274) - on left: 250 251 - on right: 671 673 798 - optional_expr_map_tuple_list (275) - on left: 252 253 - on right: 807 808 - type_declaration_no_options_list (276) - on left: 254 255 - on right: 255 673 - name_in_namespace (277) - on left: 256 257 258 - on right: 36 107 305 306 307 354 355 358 376 377 378 379 380 384 587 641 671 673 - expression_delete (278) - on left: 259 260 - on right: 230 - new_type_declaration (279) - on left: 263 264 - on right: 265 266 267 268 269 - $@11 (280) - on left: 261 - on right: 263 - $@12 (281) - on left: 262 - on right: 263 - expr_new (282) - on left: 265 266 267 268 269 270 - on right: 456 - expression_break (283) - on left: 271 - on right: 67 237 - expression_continue (284) - on left: 272 - on right: 68 238 - expression_return (285) - on left: 273 274 275 - on right: 65 239 - expression_yield (286) - on left: 276 277 - on right: 66 240 - expression_try_catch (287) - on left: 278 - on right: 243 - kwd_let_var_or_nothing (288) - on left: 279 280 281 - on right: 504 - kwd_let (289) - on left: 282 283 - on right: 290 291 292 558 560 - optional_in_scope (290) - on left: 284 285 - on right: 290 291 292 - tuple_expansion (291) - on left: 286 287 - on right: 287 288 289 - tuple_expansion_variable_declaration (292) - on left: 288 289 - on right: 291 - expression_let (293) - on left: 290 291 292 + on right: 221 + $@6 (270) + on left: 226 + on right: 227 + expression_block_finally (271) + on left: 228 231 + on right: 234 + $@7 (272) + on left: 229 on right: 231 - expr_cast (294) - on left: 295 298 301 - on right: 455 - $@13 (295) - on left: 293 - on right: 295 - $@14 (296) - on left: 294 - on right: 295 - $@15 (297) - on left: 296 - on right: 298 - $@16 (298) - on left: 297 - on right: 298 - $@17 (299) - on left: 299 - on right: 301 - $@18 (300) - on left: 300 - on right: 301 - expr_type_decl (301) - on left: 304 - on right: 454 - $@19 (302) + $@8 (273) + on left: 230 + on right: 231 + expression_block (274) + on left: 234 + on right: 66 67 82 85 86 88 90 227 286 318 334 475 511 + $@9 (275) + on left: 232 + on right: 234 + $@10 (276) + on left: 233 + on right: 234 + expr_call_pipe (277) + on left: 235 + on right: 471 + expression_any (278) + on left: 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 + on right: 256 + expressions (279) + on left: 255 256 257 + on right: 231 234 256 257 335 + optional_expr_list (280) + on left: 258 259 + on right: 683 685 810 + optional_expr_map_tuple_list (281) + on left: 260 261 + on right: 819 820 + type_declaration_no_options_list (282) + on left: 262 263 + on right: 263 685 + name_in_namespace (283) + on left: 264 265 266 + on right: 40 115 313 314 315 362 363 366 384 385 386 387 388 392 599 653 683 685 + expression_delete (284) + on left: 267 268 + on right: 238 + new_type_declaration (285) + on left: 271 272 + on right: 273 274 275 276 277 + $@11 (286) + on left: 269 + on right: 271 + $@12 (287) + on left: 270 + on right: 271 + expr_new (288) + on left: 273 274 275 276 277 278 + on right: 464 + expression_break (289) + on left: 279 + on right: 75 245 + expression_continue (290) + on left: 280 + on right: 76 246 + expression_return (291) + on left: 281 282 283 + on right: 73 247 + expression_yield (292) + on left: 284 285 + on right: 74 248 + expression_try_catch (293) + on left: 286 + on right: 251 + kwd_let_var_or_nothing (294) + on left: 287 288 289 + on right: 512 + kwd_let (295) + on left: 290 291 + on right: 298 299 300 566 568 + optional_in_scope (296) + on left: 292 293 + on right: 298 299 300 + tuple_expansion (297) + on left: 294 295 + on right: 295 296 297 + tuple_expansion_variable_declaration (298) + on left: 296 297 + on right: 299 + expression_let (299) + on left: 298 299 300 + on right: 239 + expr_cast (300) + on left: 303 306 309 + on right: 463 + $@13 (301) + on left: 301 + on right: 303 + $@14 (302) on left: 302 - on right: 304 - $@20 (303) - on left: 303 - on right: 304 - expr_type_info (304) - on left: 305 306 307 - on right: 453 - expr_list (305) - on left: 308 309 - on right: 77 251 267 309 355 357 370 372 380 382 423 475 781 785 795 799 802 813 814 815 - block_or_simple_block (306) - on left: 310 311 312 - on right: 325 - block_or_lambda (307) + on right: 303 + $@15 (303) + on left: 304 + on right: 306 + $@16 (304) + on left: 305 + on right: 306 + $@17 (305) + on left: 307 + on right: 309 + $@18 (306) + on left: 308 + on right: 309 + expr_type_decl (307) + on left: 312 + on right: 462 + $@19 (308) + on left: 310 + on right: 312 + $@20 (309) + on left: 311 + on right: 312 + expr_type_info (310) on left: 313 314 315 - on right: 325 326 - capture_entry (308) - on left: 316 317 318 319 320 - on right: 321 322 - capture_list (309) - on left: 321 322 - on right: 322 324 - optional_capture_list (310) - on left: 323 324 - on right: 325 326 465 466 467 - expr_full_block (311) - on left: 325 - on right: 459 - expr_full_block_assumed_piped (312) - on left: 326 327 - on right: 227 - expr_numeric_const (313) - on left: 328 329 330 331 332 333 334 - on right: 385 - expr_assign (314) - on left: 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 - on right: 229 - expr_named_call (315) - on left: 354 355 - on right: 458 - expr_method_call (316) - on left: 356 357 - on right: 457 - func_addr_name (317) - on left: 358 359 - on right: 360 363 366 - func_addr_expr (318) - on left: 360 363 366 - on right: 430 - $@21 (319) - on left: 361 - on right: 363 - $@22 (320) - on left: 362 - on right: 363 - $@23 (321) - on left: 364 - on right: 366 - $@24 (322) - on left: 365 - on right: 366 - expr_field (323) - on left: 367 368 369 370 371 372 375 - on right: 391 - $@25 (324) + on right: 461 + expr_list (311) + on left: 316 317 + on right: 85 259 275 317 363 365 378 380 388 390 431 483 793 797 807 811 814 825 826 827 + block_or_simple_block (312) + on left: 318 319 320 + on right: 333 + block_or_lambda (313) + on left: 321 322 323 + on right: 333 334 + capture_entry (314) + on left: 324 325 326 327 328 + on right: 329 330 + capture_list (315) + on left: 329 330 + on right: 330 332 + optional_capture_list (316) + on left: 331 332 + on right: 333 334 473 474 475 + expr_full_block (317) + on left: 333 + on right: 467 + expr_full_block_assumed_piped (318) + on left: 334 335 + on right: 235 + expr_numeric_const (319) + on left: 336 337 338 339 340 341 342 + on right: 393 + expr_assign (320) + on left: 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 + on right: 237 + expr_named_call (321) + on left: 362 363 + on right: 466 + expr_method_call (322) + on left: 364 365 + on right: 465 + func_addr_name (323) + on left: 366 367 + on right: 368 371 374 + func_addr_expr (324) + on left: 368 371 374 + on right: 438 + $@21 (325) + on left: 369 + on right: 371 + $@22 (326) + on left: 370 + on right: 371 + $@23 (327) + on left: 372 + on right: 374 + $@24 (328) on left: 373 - on right: 375 - $@26 (325) - on left: 374 - on right: 375 - expr_call (326) - on left: 376 377 378 379 380 381 382 - on right: 227 431 - expr (327) - on left: 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 440 441 442 443 446 447 448 451 452 453 454 455 456 457 458 459 460 461 462 463 464 - on right: 31 54 59 64 74 75 80 82 83 259 260 274 275 276 277 288 289 295 298 301 305 306 307 308 309 311 312 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 356 357 359 367 368 369 370 371 372 375 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 424 425 426 427 428 429 432 433 434 436 437 440 441 442 443 446 447 448 451 452 460 461 462 464 466 468 469 470 471 472 474 475 476 477 478 479 480 481 482 483 505 526 527 534 544 545 547 548 562 602 644 657 659 670 749 750 751 752 753 754 755 756 779 780 810 813 814 - $@27 (328) - on left: 438 - on right: 440 - $@28 (329) - on left: 439 - on right: 440 - $@29 (330) - on left: 444 - on right: 446 - $@30 (331) - on left: 445 - on right: 446 - $@31 (332) - on left: 449 - on right: 451 - $@32 (333) - on left: 450 - on right: 451 - expr_generator (334) - on left: 465 466 467 - on right: 435 - expr_mtag (335) - on left: 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 - on right: 392 - optional_field_annotation (336) - on left: 484 485 - on right: 496 504 557 560 - optional_override (337) - on left: 486 487 488 - on right: 496 503 - optional_constant (338) - on left: 489 490 - on right: 501 503 - optional_public_or_private_member_variable (339) - on left: 491 492 493 - on right: 496 501 503 - optional_static_member_variable (340) - on left: 494 495 - on right: 496 503 - structure_variable_declaration (341) - on left: 496 - on right: 499 - struct_variable_declaration_list (342) - on left: 497 499 501 503 - on right: 499 501 503 597 - $@33 (343) - on left: 498 - on right: 499 - $@34 (344) - on left: 500 - on right: 501 - $@35 (345) - on left: 502 - on right: 503 - function_argument_declaration (346) - on left: 504 505 - on right: 506 507 - function_argument_list (347) - on left: 506 507 - on right: 125 507 - tuple_type (348) - on left: 508 509 - on right: 510 511 513 514 - tuple_type_list (349) - on left: 510 511 - on right: 511 722 - tuple_alias_type_list (350) - on left: 512 513 514 - on right: 514 733 - variant_type (351) - on left: 515 - on right: 516 517 519 520 - variant_type_list (352) + on right: 374 + expr_field (329) + on left: 375 376 377 378 379 380 383 + on right: 399 + $@25 (330) + on left: 381 + on right: 383 + $@26 (331) + on left: 382 + on right: 383 + expr_call (332) + on left: 384 385 386 387 388 389 390 + on right: 235 439 + expr (333) + on left: 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 448 449 450 451 454 455 456 459 460 461 462 463 464 465 466 467 468 469 470 471 472 + on right: 35 58 67 72 82 83 88 90 91 267 268 282 283 284 285 296 297 303 306 309 313 314 315 316 317 319 320 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 364 365 367 375 376 377 378 379 380 383 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 432 433 434 435 436 437 440 441 442 444 445 448 449 450 451 454 455 456 459 460 468 469 470 472 474 476 477 478 479 480 482 483 484 485 486 487 488 489 490 491 513 534 535 542 552 553 555 556 570 614 656 669 671 682 761 762 763 764 765 766 767 768 791 792 822 825 826 + $@27 (334) + on left: 446 + on right: 448 + $@28 (335) + on left: 447 + on right: 448 + $@29 (336) + on left: 452 + on right: 454 + $@30 (337) + on left: 453 + on right: 454 + $@31 (338) + on left: 457 + on right: 459 + $@32 (339) + on left: 458 + on right: 459 + expr_generator (340) + on left: 473 474 475 + on right: 443 + expr_mtag (341) + on left: 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 + on right: 400 + optional_field_annotation (342) + on left: 492 493 + on right: 504 512 565 568 + optional_override (343) + on left: 494 495 496 + on right: 504 511 + optional_constant (344) + on left: 497 498 + on right: 509 511 + optional_public_or_private_member_variable (345) + on left: 499 500 501 + on right: 504 509 511 + optional_static_member_variable (346) + on left: 502 503 + on right: 504 511 + structure_variable_declaration (347) + on left: 504 + on right: 507 + struct_variable_declaration_list (348) + on left: 505 507 509 511 + on right: 507 509 511 609 + $@33 (349) + on left: 506 + on right: 507 + $@34 (350) + on left: 508 + on right: 509 + $@35 (351) + on left: 510 + on right: 511 + function_argument_declaration (352) + on left: 512 513 + on right: 514 515 + function_argument_list (353) + on left: 514 515 + on right: 133 515 + tuple_type (354) on left: 516 517 - on right: 517 725 - variant_alias_type_list (353) - on left: 518 519 520 - on right: 520 738 - copy_or_move (354) - on left: 521 522 - on right: 526 527 749 751 753 755 - variable_declaration (355) - on left: 523 524 525 526 527 - on right: 496 504 - copy_or_move_or_clone (356) - on left: 528 529 530 - on right: 288 289 544 545 547 548 - optional_ref (357) - on left: 531 532 - on right: 289 545 548 - let_variable_name_with_pos_list (358) - on left: 533 534 535 536 537 - on right: 536 537 543 544 545 - global_let_variable_name_with_pos_list (359) - on left: 538 539 - on right: 539 546 547 548 - variable_declaration_list (360) - on left: 540 541 542 - on right: 292 541 542 - let_variable_declaration (361) - on left: 543 544 545 - on right: 290 542 557 - global_let_variable_declaration (362) - on left: 546 547 548 - on right: 560 - optional_shared (363) - on left: 549 550 - on right: 22 558 560 - optional_public_or_private_variable (364) + on right: 518 519 521 522 + tuple_type_list (355) + on left: 518 519 + on right: 519 734 + tuple_alias_type_list (356) + on left: 520 521 522 + on right: 522 745 + variant_type (357) + on left: 523 + on right: 524 525 527 528 + variant_type_list (358) + on left: 524 525 + on right: 525 737 + variant_alias_type_list (359) + on left: 526 527 528 + on right: 528 750 + copy_or_move (360) + on left: 529 530 + on right: 534 535 761 763 765 767 + variable_declaration (361) + on left: 531 532 533 534 535 + on right: 504 512 + copy_or_move_or_clone (362) + on left: 536 537 538 + on right: 296 297 552 553 555 556 + optional_ref (363) + on left: 539 540 + on right: 297 553 556 + let_variable_name_with_pos_list (364) + on left: 541 542 543 544 545 + on right: 544 545 551 552 553 + global_let_variable_name_with_pos_list (365) + on left: 546 547 + on right: 547 554 555 556 + variable_declaration_list (366) + on left: 548 549 550 + on right: 300 549 550 + let_variable_declaration (367) on left: 551 552 553 - on right: 558 560 - global_variable_declaration_list (365) - on left: 554 555 557 - on right: 555 557 558 - $@36 (366) - on left: 556 - on right: 557 - global_let (367) - on left: 558 560 + on right: 298 550 565 + global_let_variable_declaration (368) + on left: 554 555 556 + on right: 568 + optional_shared (369) + on left: 557 558 + on right: 26 566 568 + optional_public_or_private_variable (370) + on left: 559 560 561 + on right: 566 568 + global_variable_declaration_list (371) + on left: 562 563 565 + on right: 563 565 566 + $@36 (372) + on left: 564 + on right: 565 + global_let (373) + on left: 566 568 on right: 5 - $@37 (368) - on left: 559 - on right: 560 - enum_expression (369) - on left: 561 562 - on right: 566 567 - commas (370) - on left: 563 564 - on right: 564 567 581 649 - enum_list (371) - on left: 565 566 567 - on right: 567 585 - optional_public_or_private_alias (372) - on left: 568 569 570 - on right: 572 733 738 743 - single_alias (373) - on left: 572 - on right: 573 - $@38 (374) - on left: 571 - on right: 572 - alias_declaration (375) - on left: 573 + $@37 (374) + on left: 567 + on right: 568 + enum_expression (375) + on left: 569 570 + on right: 574 575 + commas (376) + on left: 571 572 + on right: 572 575 589 661 + enum_list (377) + on left: 573 574 575 + on right: 575 597 + optional_public_or_private_alias (378) + on left: 576 577 578 + on right: 580 745 750 755 + single_alias (379) + on left: 580 + on right: 581 + $@38 (380) + on left: 579 + on right: 580 + alias_declaration (381) + on left: 581 on right: 10 - optional_public_or_private_enum (376) - on left: 574 575 576 - on right: 585 - enum_name (377) - on left: 577 - on right: 585 - optional_enum_basic_type_declaration (378) - on left: 578 579 - on right: 585 - optional_commas (379) - on left: 580 581 - on right: 585 743 - enum_declaration (380) + optional_public_or_private_enum (382) + on left: 582 583 584 + on right: 597 + enum_name (383) on left: 585 - on right: 4 - $@39 (381) - on left: 582 - on right: 585 - $@40 (382) - on left: 583 - on right: 585 - $@41 (383) - on left: 584 - on right: 585 - optional_structure_parent (384) + on right: 597 + optional_enum_basic_type_declaration (384) on left: 586 587 - on right: 590 - optional_sealed (385) + on right: 597 + optional_commas (385) on left: 588 589 - on right: 590 - structure_name (386) - on left: 590 - on right: 600 - class_or_struct (387) - on left: 591 592 - on right: 600 - optional_public_or_private_structure (388) - on left: 593 594 595 - on right: 600 - optional_struct_variable_declaration_list (389) - on left: 596 597 - on right: 600 - structure_declaration (390) - on left: 600 + on right: 597 755 + emit_commas (386) + on left: 590 591 + on right: 591 593 + optional_emit_commas (387) + on left: 592 593 + on right: 597 755 + enum_declaration (388) + on left: 597 + on right: 4 + $@39 (389) + on left: 594 + on right: 597 + $@40 (390) + on left: 595 + on right: 597 + $@41 (391) + on left: 596 + on right: 597 + optional_structure_parent (392) + on left: 598 599 + on right: 602 + optional_sealed (393) + on left: 600 601 + on right: 602 + structure_name (394) + on left: 602 + on right: 612 + class_or_struct (395) + on left: 603 604 + on right: 612 + optional_public_or_private_structure (396) + on left: 605 606 607 + on right: 612 + optional_struct_variable_declaration_list (397) + on left: 608 609 + on right: 612 + structure_declaration (398) + on left: 612 on right: 3 - $@42 (391) - on left: 598 - on right: 600 - $@43 (392) - on left: 599 - on right: 600 - variable_name_with_pos_list (393) - on left: 601 602 603 604 605 - on right: 77 523 524 525 526 527 604 605 813 814 815 - basic_type_declaration (394) - on left: 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 - on right: 371 372 381 382 441 447 452 462 663 - enum_basic_type_declaration (395) - on left: 633 634 635 636 637 638 639 640 - on right: 579 - structure_type_declaration (396) - on left: 641 - on right: 264 666 - auto_type_declaration (397) - on left: 642 643 644 + $@42 (399) + on left: 610 + on right: 612 + $@43 (400) + on left: 611 + on right: 612 + variable_name_with_pos_list (401) + on left: 613 614 615 616 617 + on right: 85 531 532 533 534 535 616 617 825 826 827 + basic_type_declaration (402) + on left: 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 + on right: 379 380 389 390 449 455 460 470 675 + enum_basic_type_declaration (403) + on left: 645 646 647 648 649 650 651 652 + on right: 587 + structure_type_declaration (404) + on left: 653 + on right: 272 678 + auto_type_declaration (405) + on left: 654 655 656 + on right: 676 + bitfield_bits (406) + on left: 657 658 + on right: 658 664 + bitfield_alias_bits (407) + on left: 659 660 661 + on right: 661 755 + bitfield_type_declaration (408) + on left: 664 + on right: 677 + $@44 (409) + on left: 662 on right: 664 - bitfield_bits (398) - on left: 645 646 - on right: 646 652 - bitfield_alias_bits (399) - on left: 647 648 649 - on right: 649 743 - bitfield_type_declaration (400) - on left: 652 - on right: 665 - $@44 (401) - on left: 650 - on right: 652 - $@45 (402) - on left: 651 - on right: 652 - c_or_s (403) - on left: 653 654 - on right: 255 307 511 517 656 808 - table_type_pair (404) - on left: 655 656 - on right: 695 - dim_list (405) - on left: 657 658 659 660 - on right: 659 660 662 - type_declaration_no_options (406) - on left: 661 662 - on right: 288 295 298 301 363 440 465 466 467 543 544 546 547 726 727 769 772 775 778 784 788 791 794 798 802 807 808 - type_declaration_no_options_no_dim (407) - on left: 663 664 665 666 669 670 671 673 674 675 676 677 678 679 680 681 682 683 684 685 688 689 692 695 698 699 702 705 706 709 712 713 716 719 722 725 - on right: 661 662 674 675 676 677 678 679 680 681 682 683 684 685 689 - $@46 (408) - on left: 667 - on right: 669 - $@47 (409) - on left: 668 - on right: 669 - $@48 (410) - on left: 672 - on right: 673 - $@49 (411) - on left: 686 - on right: 688 - $@50 (412) - on left: 687 - on right: 688 - $@51 (413) - on left: 690 - on right: 692 - $@52 (414) - on left: 691 - on right: 692 - $@53 (415) - on left: 693 - on right: 695 - $@54 (416) - on left: 694 - on right: 695 - $@55 (417) - on left: 696 - on right: 698 - $@56 (418) - on left: 697 - on right: 698 - $@57 (419) - on left: 700 - on right: 702 - $@58 (420) - on left: 701 - on right: 702 - $@59 (421) + $@45 (410) + on left: 663 + on right: 664 + c_or_s (411) + on left: 665 666 + on right: 263 315 519 525 668 820 + table_type_pair (412) + on left: 667 668 + on right: 707 + dim_list (413) + on left: 669 670 671 672 + on right: 671 672 674 + type_declaration_no_options (414) + on left: 673 674 + on right: 296 303 306 309 371 448 473 474 475 551 552 554 555 738 739 781 784 787 790 796 800 803 806 810 814 819 820 + type_declaration_no_options_no_dim (415) + on left: 675 676 677 678 681 682 683 685 686 687 688 689 690 691 692 693 694 695 696 697 700 701 704 707 710 711 714 717 718 721 724 725 728 731 734 737 + on right: 673 674 686 687 688 689 690 691 692 693 694 695 696 697 701 + $@46 (416) + on left: 679 + on right: 681 + $@47 (417) + on left: 680 + on right: 681 + $@48 (418) + on left: 684 + on right: 685 + $@49 (419) + on left: 698 + on right: 700 + $@50 (420) + on left: 699 + on right: 700 + $@51 (421) + on left: 702 + on right: 704 + $@52 (422) on left: 703 - on right: 705 - $@60 (422) - on left: 704 - on right: 705 - $@61 (423) - on left: 707 - on right: 709 - $@62 (424) + on right: 704 + $@53 (423) + on left: 705 + on right: 707 + $@54 (424) + on left: 706 + on right: 707 + $@55 (425) on left: 708 - on right: 709 - $@63 (425) - on left: 710 - on right: 712 - $@64 (426) - on left: 711 - on right: 712 - $@65 (427) - on left: 714 - on right: 716 - $@66 (428) + on right: 710 + $@56 (426) + on left: 709 + on right: 710 + $@57 (427) + on left: 712 + on right: 714 + $@58 (428) + on left: 713 + on right: 714 + $@59 (429) on left: 715 - on right: 716 - $@67 (429) - on left: 717 - on right: 719 - $@68 (430) - on left: 718 - on right: 719 - $@69 (431) + on right: 717 + $@60 (430) + on left: 716 + on right: 717 + $@61 (431) + on left: 719 + on right: 721 + $@62 (432) on left: 720 - on right: 722 - $@70 (432) - on left: 721 - on right: 722 - $@71 (433) + on right: 721 + $@63 (433) + on left: 722 + on right: 724 + $@64 (434) on left: 723 - on right: 725 - $@72 (434) - on left: 724 - on right: 725 - type_declaration (435) - on left: 726 727 728 - on right: 127 254 255 263 304 446 451 508 509 515 525 526 572 655 656 669 688 692 698 702 709 716 727 728 - tuple_alias_declaration (436) - on left: 733 - on right: 12 - $@73 (437) + on right: 724 + $@65 (435) + on left: 726 + on right: 728 + $@66 (436) + on left: 727 + on right: 728 + $@67 (437) on left: 729 - on right: 733 - $@74 (438) + on right: 731 + $@68 (438) on left: 730 - on right: 733 - $@75 (439) - on left: 731 - on right: 733 - $@76 (440) + on right: 731 + $@69 (439) on left: 732 - on right: 733 - variant_alias_declaration (441) - on left: 738 - on right: 11 - $@77 (442) - on left: 734 - on right: 738 - $@78 (443) + on right: 734 + $@70 (440) + on left: 733 + on right: 734 + $@71 (441) on left: 735 - on right: 738 - $@79 (444) + on right: 737 + $@72 (442) on left: 736 - on right: 738 - $@80 (445) - on left: 737 - on right: 738 - bitfield_alias_declaration (446) - on left: 743 - on right: 13 - $@81 (447) - on left: 739 - on right: 743 - $@82 (448) - on left: 740 - on right: 743 - $@83 (449) + on right: 737 + type_declaration (443) + on left: 738 739 740 + on right: 135 262 263 271 312 454 459 516 517 523 533 534 580 667 668 681 700 704 710 714 721 728 739 740 + tuple_alias_declaration (444) + on left: 745 + on right: 12 + $@73 (445) on left: 741 - on right: 743 - $@84 (450) + on right: 745 + $@74 (446) on left: 742 - on right: 743 - make_decl (451) - on left: 744 745 746 747 748 - on right: 270 388 - make_struct_fields (452) - on left: 749 750 751 752 753 754 755 756 - on right: 354 355 751 752 755 756 757 758 759 760 761 - make_variant_dim (453) - on left: 757 - on right: 775 794 - make_struct_single (454) - on left: 758 - on right: 268 269 378 379 - make_struct_dim_list (455) - on left: 759 760 - on right: 760 762 - make_struct_dim_decl (456) - on left: 761 762 - on right: 763 - optional_make_struct_dim_decl (457) - on left: 763 764 - on right: 769 772 784 788 791 - use_initializer (458) - on left: 765 766 - on right: 266 769 772 778 784 788 791 - make_struct_decl (459) - on left: 769 772 775 778 - on right: 744 - $@85 (460) - on left: 767 - on right: 769 - $@86 (461) - on left: 768 - on right: 769 - $@87 (462) + on right: 745 + $@75 (447) + on left: 743 + on right: 745 + $@76 (448) + on left: 744 + on right: 745 + variant_alias_declaration (449) + on left: 750 + on right: 11 + $@77 (450) + on left: 746 + on right: 750 + $@78 (451) + on left: 747 + on right: 750 + $@79 (452) + on left: 748 + on right: 750 + $@80 (453) + on left: 749 + on right: 750 + bitfield_alias_declaration (454) + on left: 755 + on right: 13 + $@81 (455) + on left: 751 + on right: 755 + $@82 (456) + on left: 752 + on right: 755 + $@83 (457) + on left: 753 + on right: 755 + $@84 (458) + on left: 754 + on right: 755 + make_decl (459) + on left: 756 757 758 759 760 + on right: 278 396 + make_struct_fields (460) + on left: 761 762 763 764 765 766 767 768 + on right: 362 363 763 764 767 768 769 770 771 772 773 + make_variant_dim (461) + on left: 769 + on right: 787 806 + make_struct_single (462) on left: 770 - on right: 772 - $@88 (463) - on left: 771 - on right: 772 - $@89 (464) - on left: 773 - on right: 775 - $@90 (465) - on left: 774 + on right: 276 277 386 387 + make_struct_dim_list (463) + on left: 771 772 + on right: 772 774 + make_struct_dim_decl (464) + on left: 773 774 on right: 775 - $@91 (466) - on left: 776 - on right: 778 - $@92 (467) - on left: 777 - on right: 778 - make_map_tuple (468) - on left: 779 780 - on right: 803 804 815 - make_tuple_call (469) - on left: 781 784 - on right: 748 - $@93 (470) + optional_make_struct_dim_decl (465) + on left: 775 776 + on right: 781 784 796 800 803 + use_initializer (466) + on left: 777 778 + on right: 274 781 784 790 796 800 803 + make_struct_decl (467) + on left: 781 784 787 790 + on right: 756 + $@85 (468) + on left: 779 + on right: 781 + $@86 (469) + on left: 780 + on right: 781 + $@87 (470) on left: 782 on right: 784 - $@94 (471) + $@88 (471) on left: 783 on right: 784 - make_dim_decl (472) - on left: 785 788 791 794 795 798 799 802 - on right: 745 - $@95 (473) + $@89 (472) + on left: 785 + on right: 787 + $@90 (473) on left: 786 - on right: 788 - $@96 (474) - on left: 787 - on right: 788 - $@97 (475) + on right: 787 + $@91 (474) + on left: 788 + on right: 790 + $@92 (475) on left: 789 - on right: 791 - $@98 (476) - on left: 790 - on right: 791 - $@99 (477) - on left: 792 - on right: 794 - $@100 (478) - on left: 793 - on right: 794 - $@101 (479) - on left: 796 - on right: 798 - $@102 (480) - on left: 797 - on right: 798 - $@103 (481) - on left: 800 - on right: 802 - $@104 (482) + on right: 790 + make_map_tuple (476) + on left: 791 792 + on right: 815 816 827 + make_tuple_call (477) + on left: 793 796 + on right: 760 + $@93 (478) + on left: 794 + on right: 796 + $@94 (479) + on left: 795 + on right: 796 + make_dim_decl (480) + on left: 797 800 803 806 807 810 811 814 + on right: 757 + $@95 (481) + on left: 798 + on right: 800 + $@96 (482) + on left: 799 + on right: 800 + $@97 (483) on left: 801 - on right: 802 - expr_map_tuple_list (483) - on left: 803 804 - on right: 253 804 805 806 - make_table_decl (484) - on left: 805 806 807 808 - on right: 746 - array_comprehension_where (485) - on left: 809 810 - on right: 813 814 815 - optional_comma (486) - on left: 811 812 - on right: 251 253 423 762 781 785 795 799 802 805 806 - array_comprehension (487) - on left: 813 814 815 - on right: 747 + on right: 803 + $@98 (484) + on left: 802 + on right: 803 + $@99 (485) + on left: 804 + on right: 806 + $@100 (486) + on left: 805 + on right: 806 + $@101 (487) + on left: 808 + on right: 810 + $@102 (488) + on left: 809 + on right: 810 + $@103 (489) + on left: 812 + on right: 814 + $@104 (490) + on left: 813 + on right: 814 + expr_map_tuple_list (491) + on left: 815 816 + on right: 261 816 817 818 + make_table_decl (492) + on left: 817 818 819 820 + on right: 758 + array_comprehension_where (493) + on left: 821 822 + on right: 825 826 827 + optional_comma (494) + on left: 823 824 + on right: 259 261 431 774 793 797 807 811 814 817 818 + array_comprehension (495) + on left: 825 826 827 + on right: 759 State 0 @@ -2246,7 +2284,7 @@ State 1 '[' shift, and go to state 14 ';' shift, and go to state 15 - $default reduce using rule 121 (optional_annotation_list) + $default reduce using rule 129 (optional_annotation_list) top_level_reader_macro go to state 16 module_declaration go to state 17 @@ -2275,14 +2313,14 @@ State 2 State 3 - 282 kwd_let: "let" . + 290 kwd_let: "let" . - $default reduce using rule 282 (kwd_let) + $default reduce using rule 290 (kwd_let) State 4 - 37 options_declaration: "options" . annotation_argument_list + 41 options_declaration: "options" . annotation_argument_list "type" shift, and go to state 32 "in" shift, and go to state 33 @@ -2295,7 +2333,7 @@ State 4 State 5 - 47 expect_declaration: "expect" . expect_list + 51 expect_declaration: "expect" . expect_list "integer constant" shift, and go to state 38 @@ -2305,7 +2343,7 @@ State 5 State 6 - 38 require_declaration: "require" . require_module + 42 require_declaration: "require" . require_module "name" shift, and go to state 41 '%' shift, and go to state 42 @@ -2316,12 +2354,12 @@ State 6 State 7 - 573 alias_declaration: "typedef" . single_alias ';' + 581 alias_declaration: "typedef" . single_alias ';' "public" shift, and go to state 45 "private" shift, and go to state 46 - $default reduce using rule 568 (optional_public_or_private_alias) + $default reduce using rule 576 (optional_public_or_private_alias) optional_public_or_private_alias go to state 47 single_alias go to state 48 @@ -2329,14 +2367,14 @@ State 7 State 8 - 283 kwd_let: "var" . + 291 kwd_let: "var" . - $default reduce using rule 283 (kwd_let) + $default reduce using rule 291 (kwd_let) State 9 - 22 module_declaration: "module" . module_name optional_shared optional_public_or_private_module + 26 module_declaration: "module" . module_name optional_shared optional_public_or_private_module "name" shift, and go to state 49 '$' shift, and go to state 50 @@ -2346,34 +2384,34 @@ State 9 State 10 - 743 bitfield_alias_declaration: "bitfield" . $@81 optional_public_or_private_alias "name" optional_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 755 bitfield_alias_declaration: "bitfield" . $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' - $default reduce using rule 739 ($@81) + $default reduce using rule 751 ($@81) $@81 go to state 52 State 11 - 733 tuple_alias_declaration: "tuple" . $@73 optional_public_or_private_alias "name" optional_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 745 tuple_alias_declaration: "tuple" . $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' - $default reduce using rule 729 ($@73) + $default reduce using rule 741 ($@73) $@73 go to state 53 State 12 - 738 variant_alias_declaration: "variant" . $@77 optional_public_or_private_alias "name" optional_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 750 variant_alias_declaration: "variant" . $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' - $default reduce using rule 734 ($@77) + $default reduce using rule 746 ($@77) $@77 go to state 54 State 13 - 36 expr_reader: '%' . name_in_namespace $@1 reader_character_sequence + 40 expr_reader: '%' . name_in_namespace $@1 reader_character_sequence "::" shift, and go to state 55 "name" shift, and go to state 56 @@ -2383,7 +2421,7 @@ State 13 State 14 - 122 optional_annotation_list: '[' . annotation_list ']' + 130 optional_annotation_list: '[' . annotation_list ']' "require" shift, and go to state 58 "private" shift, and go to state 59 @@ -2423,7 +2461,7 @@ State 17 State 18 - 16 top_level_reader_macro: expr_reader . ';' + 20 top_level_reader_macro: expr_reader . ';' ';' shift, and go to state 68 @@ -2451,9 +2489,9 @@ State 21 State 22 - 213 global_function_declaration: optional_annotation_list . "def" function_declaration - 585 enum_declaration: optional_annotation_list . "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_commas '{' $@40 enum_list optional_commas $@41 '}' - 600 structure_declaration: optional_annotation_list . class_or_struct optional_public_or_private_structure $@42 structure_name $@43 optional_struct_variable_declaration_list + 221 global_function_declaration: optional_annotation_list . "def" function_declaration + 597 enum_declaration: optional_annotation_list . "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_emit_commas '{' $@40 enum_list optional_commas $@41 '}' + 612 structure_declaration: optional_annotation_list . class_or_struct optional_public_or_private_structure $@42 structure_name $@43 optional_struct_variable_declaration_list "struct" shift, and go to state 71 "class" shift, and go to state 72 @@ -2472,12 +2510,12 @@ State 23 State 24 - 558 global_let: kwd_let . optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' - 560 | kwd_let . optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration + 566 global_let: kwd_let . optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' + 568 | kwd_let . optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration "shared" shift, and go to state 76 - $default reduce using rule 549 (optional_shared) + $default reduce using rule 557 (optional_shared) optional_shared go to state 77 @@ -2533,95 +2571,95 @@ State 31 State 32 - 93 annotation_argument_name: "type" . + 101 annotation_argument_name: "type" . - $default reduce using rule 93 (annotation_argument_name) + $default reduce using rule 101 (annotation_argument_name) State 33 - 94 annotation_argument_name: "in" . + 102 annotation_argument_name: "in" . - $default reduce using rule 94 (annotation_argument_name) + $default reduce using rule 102 (annotation_argument_name) State 34 - 92 annotation_argument_name: "name" . + 100 annotation_argument_name: "name" . - $default reduce using rule 92 (annotation_argument_name) + $default reduce using rule 100 (annotation_argument_name) State 35 - 95 annotation_argument: annotation_argument_name . '=' string_constant - 96 | annotation_argument_name . '=' "name" - 97 | annotation_argument_name . '=' "integer constant" - 98 | annotation_argument_name . '=' "floating point constant" - 99 | annotation_argument_name . '=' "true" - 100 | annotation_argument_name . '=' "false" - 101 | annotation_argument_name . - 102 | annotation_argument_name . '=' '(' annotation_argument_value_list ')' + 103 annotation_argument: annotation_argument_name . '=' string_constant + 104 | annotation_argument_name . '=' "name" + 105 | annotation_argument_name . '=' "integer constant" + 106 | annotation_argument_name . '=' "floating point constant" + 107 | annotation_argument_name . '=' "true" + 108 | annotation_argument_name . '=' "false" + 109 | annotation_argument_name . + 110 | annotation_argument_name . '=' '(' annotation_argument_value_list ')' '=' shift, and go to state 78 - $default reduce using rule 101 (annotation_argument) + $default reduce using rule 109 (annotation_argument) State 36 - 103 annotation_argument_list: annotation_argument . + 111 annotation_argument_list: annotation_argument . - $default reduce using rule 103 (annotation_argument_list) + $default reduce using rule 111 (annotation_argument_list) State 37 - 37 options_declaration: "options" annotation_argument_list . - 104 annotation_argument_list: annotation_argument_list . ',' annotation_argument + 41 options_declaration: "options" annotation_argument_list . + 112 annotation_argument_list: annotation_argument_list . ',' annotation_argument ',' shift, and go to state 79 - $default reduce using rule 37 (options_declaration) + $default reduce using rule 41 (options_declaration) State 38 - 50 expect_error: "integer constant" . - 51 | "integer constant" . ':' "integer constant" + 54 expect_error: "integer constant" . + 55 | "integer constant" . ':' "integer constant" ':' shift, and go to state 80 - $default reduce using rule 50 (expect_error) + $default reduce using rule 54 (expect_error) State 39 - 47 expect_declaration: "expect" expect_list . - 49 expect_list: expect_list . ',' expect_error + 51 expect_declaration: "expect" expect_list . + 53 expect_list: expect_list . ',' expect_error ',' shift, and go to state 81 - $default reduce using rule 47 (expect_declaration) + $default reduce using rule 51 (expect_declaration) State 40 - 48 expect_list: expect_error . + 52 expect_list: expect_error . - $default reduce using rule 48 (expect_list) + $default reduce using rule 52 (expect_list) State 41 - 39 require_module_name: "name" . + 43 require_module_name: "name" . - $default reduce using rule 39 (require_module_name) + $default reduce using rule 43 (require_module_name) State 42 - 40 require_module_name: '%' . require_module_name + 44 require_module_name: '%' . require_module_name "name" shift, and go to state 41 '%' shift, and go to state 42 @@ -2631,160 +2669,160 @@ State 42 State 43 - 41 require_module_name: require_module_name . '.' "name" - 42 | require_module_name . '/' "name" - 43 require_module: require_module_name . is_public_module - 44 | require_module_name . "as" "name" is_public_module + 45 require_module_name: require_module_name . '.' "name" + 46 | require_module_name . '/' "name" + 47 require_module: require_module_name . is_public_module + 48 | require_module_name . "as" "name" is_public_module "as" shift, and go to state 83 "public" shift, and go to state 84 '/' shift, and go to state 85 '.' shift, and go to state 86 - $default reduce using rule 45 (is_public_module) + $default reduce using rule 49 (is_public_module) is_public_module go to state 87 State 44 - 38 require_declaration: "require" require_module . + 42 require_declaration: "require" require_module . - $default reduce using rule 38 (require_declaration) + $default reduce using rule 42 (require_declaration) State 45 - 570 optional_public_or_private_alias: "public" . + 578 optional_public_or_private_alias: "public" . - $default reduce using rule 570 (optional_public_or_private_alias) + $default reduce using rule 578 (optional_public_or_private_alias) State 46 - 569 optional_public_or_private_alias: "private" . + 577 optional_public_or_private_alias: "private" . - $default reduce using rule 569 (optional_public_or_private_alias) + $default reduce using rule 577 (optional_public_or_private_alias) State 47 - 572 single_alias: optional_public_or_private_alias . "name" $@38 '=' type_declaration + 580 single_alias: optional_public_or_private_alias . "name" $@38 '=' type_declaration "name" shift, and go to state 88 State 48 - 573 alias_declaration: "typedef" single_alias . ';' + 581 alias_declaration: "typedef" single_alias . ';' ';' shift, and go to state 89 State 49 - 21 module_name: "name" . + 25 module_name: "name" . - $default reduce using rule 21 (module_name) + $default reduce using rule 25 (module_name) State 50 - 20 module_name: '$' . + 24 module_name: '$' . - $default reduce using rule 20 (module_name) + $default reduce using rule 24 (module_name) State 51 - 22 module_declaration: "module" module_name . optional_shared optional_public_or_private_module + 26 module_declaration: "module" module_name . optional_shared optional_public_or_private_module "shared" shift, and go to state 76 - $default reduce using rule 549 (optional_shared) + $default reduce using rule 557 (optional_shared) optional_shared go to state 90 State 52 - 743 bitfield_alias_declaration: "bitfield" $@81 . optional_public_or_private_alias "name" optional_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 755 bitfield_alias_declaration: "bitfield" $@81 . optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' "public" shift, and go to state 45 "private" shift, and go to state 46 - $default reduce using rule 568 (optional_public_or_private_alias) + $default reduce using rule 576 (optional_public_or_private_alias) optional_public_or_private_alias go to state 91 State 53 - 733 tuple_alias_declaration: "tuple" $@73 . optional_public_or_private_alias "name" optional_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 745 tuple_alias_declaration: "tuple" $@73 . optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' "public" shift, and go to state 45 "private" shift, and go to state 46 - $default reduce using rule 568 (optional_public_or_private_alias) + $default reduce using rule 576 (optional_public_or_private_alias) optional_public_or_private_alias go to state 92 State 54 - 738 variant_alias_declaration: "variant" $@77 . optional_public_or_private_alias "name" optional_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 750 variant_alias_declaration: "variant" $@77 . optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' "public" shift, and go to state 45 "private" shift, and go to state 46 - $default reduce using rule 568 (optional_public_or_private_alias) + $default reduce using rule 576 (optional_public_or_private_alias) optional_public_or_private_alias go to state 93 State 55 - 258 name_in_namespace: "::" . "name" + 266 name_in_namespace: "::" . "name" "name" shift, and go to state 94 State 56 - 256 name_in_namespace: "name" . - 257 | "name" . "::" "name" + 264 name_in_namespace: "name" . + 265 | "name" . "::" "name" "::" shift, and go to state 95 - $default reduce using rule 256 (name_in_namespace) + $default reduce using rule 264 (name_in_namespace) State 57 - 36 expr_reader: '%' name_in_namespace . $@1 reader_character_sequence + 40 expr_reader: '%' name_in_namespace . $@1 reader_character_sequence - $default reduce using rule 35 ($@1) + $default reduce using rule 39 ($@1) $@1 go to state 96 State 58 - 108 annotation_declaration_name: "require" . + 116 annotation_declaration_name: "require" . - $default reduce using rule 108 (annotation_declaration_name) + $default reduce using rule 116 (annotation_declaration_name) State 59 - 109 annotation_declaration_name: "private" . + 117 annotation_declaration_name: "private" . - $default reduce using rule 109 (annotation_declaration_name) + $default reduce using rule 117 (annotation_declaration_name) State 60 - 118 annotation_declaration: "|>" . annotation_declaration + 126 annotation_declaration: "|>" . annotation_declaration "require" shift, and go to state 58 "private" shift, and go to state 59 @@ -2802,7 +2840,7 @@ State 60 State 61 - 113 annotation_declaration: '!' . annotation_declaration + 121 annotation_declaration: '!' . annotation_declaration "require" shift, and go to state 58 "private" shift, and go to state 59 @@ -2820,7 +2858,7 @@ State 61 State 62 - 117 annotation_declaration: '(' . annotation_declaration ')' + 125 annotation_declaration: '(' . annotation_declaration ')' "require" shift, and go to state 58 "private" shift, and go to state 59 @@ -2838,39 +2876,39 @@ State 62 State 63 - 110 annotation_declaration_basic: annotation_declaration_name . - 111 | annotation_declaration_name . '(' annotation_argument_list ')' + 118 annotation_declaration_basic: annotation_declaration_name . + 119 | annotation_declaration_name . '(' annotation_argument_list ')' '(' shift, and go to state 100 - $default reduce using rule 110 (annotation_declaration_basic) + $default reduce using rule 118 (annotation_declaration_basic) State 64 - 112 annotation_declaration: annotation_declaration_basic . + 120 annotation_declaration: annotation_declaration_basic . - $default reduce using rule 112 (annotation_declaration) + $default reduce using rule 120 (annotation_declaration) State 65 - 114 annotation_declaration: annotation_declaration . "&&" annotation_declaration - 115 | annotation_declaration . "||" annotation_declaration - 116 | annotation_declaration . "^^" annotation_declaration - 119 annotation_list: annotation_declaration . + 122 annotation_declaration: annotation_declaration . "&&" annotation_declaration + 123 | annotation_declaration . "||" annotation_declaration + 124 | annotation_declaration . "^^" annotation_declaration + 127 annotation_list: annotation_declaration . "&&" shift, and go to state 101 "||" shift, and go to state 102 "^^" shift, and go to state 103 - $default reduce using rule 119 (annotation_list) + $default reduce using rule 127 (annotation_list) State 66 - 120 annotation_list: annotation_list . ',' annotation_declaration - 122 optional_annotation_list: '[' annotation_list . ']' + 128 annotation_list: annotation_list . ',' annotation_declaration + 130 optional_annotation_list: '[' annotation_list . ']' ',' shift, and go to state 104 ']' shift, and go to state 105 @@ -2878,16 +2916,16 @@ State 66 State 67 - 107 annotation_declaration_name: name_in_namespace . + 115 annotation_declaration_name: name_in_namespace . - $default reduce using rule 107 (annotation_declaration_name) + $default reduce using rule 115 (annotation_declaration_name) State 68 - 16 top_level_reader_macro: expr_reader ';' . + 20 top_level_reader_macro: expr_reader ';' . - $default reduce using rule 16 (top_level_reader_macro) + $default reduce using rule 20 (top_level_reader_macro) State 69 @@ -2906,26 +2944,26 @@ State 70 State 71 - 592 class_or_struct: "struct" . + 604 class_or_struct: "struct" . - $default reduce using rule 592 (class_or_struct) + $default reduce using rule 604 (class_or_struct) State 72 - 591 class_or_struct: "class" . + 603 class_or_struct: "class" . - $default reduce using rule 591 (class_or_struct) + $default reduce using rule 603 (class_or_struct) State 73 - 213 global_function_declaration: optional_annotation_list "def" . function_declaration + 221 global_function_declaration: optional_annotation_list "def" . function_declaration "public" shift, and go to state 106 "private" shift, and go to state 107 - $default reduce using rule 214 (optional_public_or_private_function) + $default reduce using rule 222 (optional_public_or_private_function) optional_public_or_private_function go to state 108 function_declaration go to state 109 @@ -2933,54 +2971,54 @@ State 73 State 74 - 585 enum_declaration: optional_annotation_list "enum" . $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_commas '{' $@40 enum_list optional_commas $@41 '}' + 597 enum_declaration: optional_annotation_list "enum" . $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_emit_commas '{' $@40 enum_list optional_commas $@41 '}' - $default reduce using rule 582 ($@39) + $default reduce using rule 594 ($@39) $@39 go to state 110 State 75 - 600 structure_declaration: optional_annotation_list class_or_struct . optional_public_or_private_structure $@42 structure_name $@43 optional_struct_variable_declaration_list + 612 structure_declaration: optional_annotation_list class_or_struct . optional_public_or_private_structure $@42 structure_name $@43 optional_struct_variable_declaration_list "public" shift, and go to state 111 "private" shift, and go to state 112 - $default reduce using rule 593 (optional_public_or_private_structure) + $default reduce using rule 605 (optional_public_or_private_structure) optional_public_or_private_structure go to state 113 State 76 - 550 optional_shared: "shared" . + 558 optional_shared: "shared" . - $default reduce using rule 550 (optional_shared) + $default reduce using rule 558 (optional_shared) State 77 - 558 global_let: kwd_let optional_shared . optional_public_or_private_variable '{' global_variable_declaration_list '}' - 560 | kwd_let optional_shared . optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration + 566 global_let: kwd_let optional_shared . optional_public_or_private_variable '{' global_variable_declaration_list '}' + 568 | kwd_let optional_shared . optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration "public" shift, and go to state 114 "private" shift, and go to state 115 - $default reduce using rule 551 (optional_public_or_private_variable) + $default reduce using rule 559 (optional_public_or_private_variable) optional_public_or_private_variable go to state 116 State 78 - 95 annotation_argument: annotation_argument_name '=' . string_constant - 96 | annotation_argument_name '=' . "name" - 97 | annotation_argument_name '=' . "integer constant" - 98 | annotation_argument_name '=' . "floating point constant" - 99 | annotation_argument_name '=' . "true" - 100 | annotation_argument_name '=' . "false" - 102 | annotation_argument_name '=' . '(' annotation_argument_value_list ')' + 103 annotation_argument: annotation_argument_name '=' . string_constant + 104 | annotation_argument_name '=' . "name" + 105 | annotation_argument_name '=' . "integer constant" + 106 | annotation_argument_name '=' . "floating point constant" + 107 | annotation_argument_name '=' . "true" + 108 | annotation_argument_name '=' . "false" + 110 | annotation_argument_name '=' . '(' annotation_argument_value_list ')' "true" shift, and go to state 117 "false" shift, and go to state 118 @@ -2995,7 +3033,7 @@ State 78 State 79 - 104 annotation_argument_list: annotation_argument_list ',' . annotation_argument + 112 annotation_argument_list: annotation_argument_list ',' . annotation_argument "type" shift, and go to state 32 "in" shift, and go to state 33 @@ -3007,14 +3045,14 @@ State 79 State 80 - 51 expect_error: "integer constant" ':' . "integer constant" + 55 expect_error: "integer constant" ':' . "integer constant" "integer constant" shift, and go to state 126 State 81 - 49 expect_list: expect_list ',' . expect_error + 53 expect_list: expect_list ',' . expect_error "integer constant" shift, and go to state 38 @@ -3023,116 +3061,116 @@ State 81 State 82 - 40 require_module_name: '%' require_module_name . - 41 | require_module_name . '.' "name" - 42 | require_module_name . '/' "name" + 44 require_module_name: '%' require_module_name . + 45 | require_module_name . '.' "name" + 46 | require_module_name . '/' "name" '.' shift, and go to state 86 - $default reduce using rule 40 (require_module_name) + $default reduce using rule 44 (require_module_name) State 83 - 44 require_module: require_module_name "as" . "name" is_public_module + 48 require_module: require_module_name "as" . "name" is_public_module "name" shift, and go to state 128 State 84 - 46 is_public_module: "public" . + 50 is_public_module: "public" . - $default reduce using rule 46 (is_public_module) + $default reduce using rule 50 (is_public_module) State 85 - 42 require_module_name: require_module_name '/' . "name" + 46 require_module_name: require_module_name '/' . "name" "name" shift, and go to state 129 State 86 - 41 require_module_name: require_module_name '.' . "name" + 45 require_module_name: require_module_name '.' . "name" "name" shift, and go to state 130 State 87 - 43 require_module: require_module_name is_public_module . + 47 require_module: require_module_name is_public_module . - $default reduce using rule 43 (require_module) + $default reduce using rule 47 (require_module) State 88 - 572 single_alias: optional_public_or_private_alias "name" . $@38 '=' type_declaration + 580 single_alias: optional_public_or_private_alias "name" . $@38 '=' type_declaration - $default reduce using rule 571 ($@38) + $default reduce using rule 579 ($@38) $@38 go to state 131 State 89 - 573 alias_declaration: "typedef" single_alias ';' . + 581 alias_declaration: "typedef" single_alias ';' . - $default reduce using rule 573 (alias_declaration) + $default reduce using rule 581 (alias_declaration) State 90 - 22 module_declaration: "module" module_name optional_shared . optional_public_or_private_module + 26 module_declaration: "module" module_name optional_shared . optional_public_or_private_module "public" shift, and go to state 132 "private" shift, and go to state 133 - $default reduce using rule 17 (optional_public_or_private_module) + $default reduce using rule 21 (optional_public_or_private_module) optional_public_or_private_module go to state 134 State 91 - 743 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias . "name" optional_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias . "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' "name" shift, and go to state 135 State 92 - 733 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias . "name" optional_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias . "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' "name" shift, and go to state 136 State 93 - 738 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias . "name" optional_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias . "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' "name" shift, and go to state 137 State 94 - 258 name_in_namespace: "::" "name" . + 266 name_in_namespace: "::" "name" . - $default reduce using rule 258 (name_in_namespace) + $default reduce using rule 266 (name_in_namespace) State 95 - 257 name_in_namespace: "name" "::" . "name" + 265 name_in_namespace: "name" "::" . "name" "name" shift, and go to state 138 State 96 - 36 expr_reader: '%' name_in_namespace $@1 . reader_character_sequence + 40 expr_reader: '%' name_in_namespace $@1 . reader_character_sequence STRING_CHARACTER shift, and go to state 139 @@ -3141,30 +3179,30 @@ State 96 State 97 - 114 annotation_declaration: annotation_declaration . "&&" annotation_declaration - 115 | annotation_declaration . "||" annotation_declaration - 116 | annotation_declaration . "^^" annotation_declaration - 118 | "|>" annotation_declaration . + 122 annotation_declaration: annotation_declaration . "&&" annotation_declaration + 123 | annotation_declaration . "||" annotation_declaration + 124 | annotation_declaration . "^^" annotation_declaration + 126 | "|>" annotation_declaration . - $default reduce using rule 118 (annotation_declaration) + $default reduce using rule 126 (annotation_declaration) State 98 - 113 annotation_declaration: '!' annotation_declaration . - 114 | annotation_declaration . "&&" annotation_declaration - 115 | annotation_declaration . "||" annotation_declaration - 116 | annotation_declaration . "^^" annotation_declaration + 121 annotation_declaration: '!' annotation_declaration . + 122 | annotation_declaration . "&&" annotation_declaration + 123 | annotation_declaration . "||" annotation_declaration + 124 | annotation_declaration . "^^" annotation_declaration - $default reduce using rule 113 (annotation_declaration) + $default reduce using rule 121 (annotation_declaration) State 99 - 114 annotation_declaration: annotation_declaration . "&&" annotation_declaration - 115 | annotation_declaration . "||" annotation_declaration - 116 | annotation_declaration . "^^" annotation_declaration - 117 | '(' annotation_declaration . ')' + 122 annotation_declaration: annotation_declaration . "&&" annotation_declaration + 123 | annotation_declaration . "||" annotation_declaration + 124 | annotation_declaration . "^^" annotation_declaration + 125 | '(' annotation_declaration . ')' "&&" shift, and go to state 101 "||" shift, and go to state 102 @@ -3174,7 +3212,7 @@ State 99 State 100 - 111 annotation_declaration_basic: annotation_declaration_name '(' . annotation_argument_list ')' + 119 annotation_declaration_basic: annotation_declaration_name '(' . annotation_argument_list ')' "type" shift, and go to state 32 "in" shift, and go to state 33 @@ -3187,7 +3225,7 @@ State 100 State 101 - 114 annotation_declaration: annotation_declaration "&&" . annotation_declaration + 122 annotation_declaration: annotation_declaration "&&" . annotation_declaration "require" shift, and go to state 58 "private" shift, and go to state 59 @@ -3205,7 +3243,7 @@ State 101 State 102 - 115 annotation_declaration: annotation_declaration "||" . annotation_declaration + 123 annotation_declaration: annotation_declaration "||" . annotation_declaration "require" shift, and go to state 58 "private" shift, and go to state 59 @@ -3223,7 +3261,7 @@ State 102 State 103 - 116 annotation_declaration: annotation_declaration "^^" . annotation_declaration + 124 annotation_declaration: annotation_declaration "^^" . annotation_declaration "require" shift, and go to state 58 "private" shift, and go to state 59 @@ -3241,7 +3279,7 @@ State 103 State 104 - 120 annotation_list: annotation_list ',' . annotation_declaration + 128 annotation_list: annotation_list ',' . annotation_declaration "require" shift, and go to state 58 "private" shift, and go to state 59 @@ -3259,141 +3297,141 @@ State 104 State 105 - 122 optional_annotation_list: '[' annotation_list ']' . + 130 optional_annotation_list: '[' annotation_list ']' . - $default reduce using rule 122 (optional_annotation_list) + $default reduce using rule 130 (optional_annotation_list) State 106 - 216 optional_public_or_private_function: "public" . + 224 optional_public_or_private_function: "public" . - $default reduce using rule 216 (optional_public_or_private_function) + $default reduce using rule 224 (optional_public_or_private_function) State 107 - 215 optional_public_or_private_function: "private" . + 223 optional_public_or_private_function: "private" . - $default reduce using rule 215 (optional_public_or_private_function) + $default reduce using rule 223 (optional_public_or_private_function) State 108 - 219 function_declaration: optional_public_or_private_function . $@6 function_declaration_header expression_block + 227 function_declaration: optional_public_or_private_function . $@6 function_declaration_header expression_block - $default reduce using rule 218 ($@6) + $default reduce using rule 226 ($@6) $@6 go to state 147 State 109 - 213 global_function_declaration: optional_annotation_list "def" function_declaration . + 221 global_function_declaration: optional_annotation_list "def" function_declaration . - $default reduce using rule 213 (global_function_declaration) + $default reduce using rule 221 (global_function_declaration) State 110 - 585 enum_declaration: optional_annotation_list "enum" $@39 . optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_commas '{' $@40 enum_list optional_commas $@41 '}' + 597 enum_declaration: optional_annotation_list "enum" $@39 . optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_emit_commas '{' $@40 enum_list optional_commas $@41 '}' "public" shift, and go to state 148 "private" shift, and go to state 149 - $default reduce using rule 574 (optional_public_or_private_enum) + $default reduce using rule 582 (optional_public_or_private_enum) optional_public_or_private_enum go to state 150 State 111 - 595 optional_public_or_private_structure: "public" . + 607 optional_public_or_private_structure: "public" . - $default reduce using rule 595 (optional_public_or_private_structure) + $default reduce using rule 607 (optional_public_or_private_structure) State 112 - 594 optional_public_or_private_structure: "private" . + 606 optional_public_or_private_structure: "private" . - $default reduce using rule 594 (optional_public_or_private_structure) + $default reduce using rule 606 (optional_public_or_private_structure) State 113 - 600 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure . $@42 structure_name $@43 optional_struct_variable_declaration_list + 612 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure . $@42 structure_name $@43 optional_struct_variable_declaration_list - $default reduce using rule 598 ($@42) + $default reduce using rule 610 ($@42) $@42 go to state 151 State 114 - 553 optional_public_or_private_variable: "public" . + 561 optional_public_or_private_variable: "public" . - $default reduce using rule 553 (optional_public_or_private_variable) + $default reduce using rule 561 (optional_public_or_private_variable) State 115 - 552 optional_public_or_private_variable: "private" . + 560 optional_public_or_private_variable: "private" . - $default reduce using rule 552 (optional_public_or_private_variable) + $default reduce using rule 560 (optional_public_or_private_variable) State 116 - 558 global_let: kwd_let optional_shared optional_public_or_private_variable . '{' global_variable_declaration_list '}' - 560 | kwd_let optional_shared optional_public_or_private_variable . $@37 optional_field_annotation global_let_variable_declaration + 566 global_let: kwd_let optional_shared optional_public_or_private_variable . '{' global_variable_declaration_list '}' + 568 | kwd_let optional_shared optional_public_or_private_variable . $@37 optional_field_annotation global_let_variable_declaration '{' shift, and go to state 152 - $default reduce using rule 559 ($@37) + $default reduce using rule 567 ($@37) $@37 go to state 153 State 117 - 99 annotation_argument: annotation_argument_name '=' "true" . + 107 annotation_argument: annotation_argument_name '=' "true" . - $default reduce using rule 99 (annotation_argument) + $default reduce using rule 107 (annotation_argument) State 118 - 100 annotation_argument: annotation_argument_name '=' "false" . + 108 annotation_argument: annotation_argument_name '=' "false" . - $default reduce using rule 100 (annotation_argument) + $default reduce using rule 108 (annotation_argument) State 119 - 97 annotation_argument: annotation_argument_name '=' "integer constant" . + 105 annotation_argument: annotation_argument_name '=' "integer constant" . - $default reduce using rule 97 (annotation_argument) + $default reduce using rule 105 (annotation_argument) State 120 - 98 annotation_argument: annotation_argument_name '=' "floating point constant" . + 106 annotation_argument: annotation_argument_name '=' "floating point constant" . - $default reduce using rule 98 (annotation_argument) + $default reduce using rule 106 (annotation_argument) State 121 - 96 annotation_argument: annotation_argument_name '=' "name" . + 104 annotation_argument: annotation_argument_name '=' "name" . - $default reduce using rule 96 (annotation_argument) + $default reduce using rule 104 (annotation_argument) State 122 - 27 string_constant: "start of the string" . character_sequence "end of the string" - 28 | "start of the string" . "end of the string" + 31 string_constant: "start of the string" . character_sequence "end of the string" + 32 | "start of the string" . "end of the string" STRING_CHARACTER shift, and go to state 154 STRING_CHARACTER_ESC shift, and go to state 155 @@ -3404,7 +3442,7 @@ State 122 State 123 - 102 annotation_argument: annotation_argument_name '=' '(' . annotation_argument_value_list ')' + 110 annotation_argument: annotation_argument_name '=' '(' . annotation_argument_value_list ')' "true" shift, and go to state 158 "false" shift, and go to state 159 @@ -3420,156 +3458,156 @@ State 123 State 124 - 95 annotation_argument: annotation_argument_name '=' string_constant . + 103 annotation_argument: annotation_argument_name '=' string_constant . - $default reduce using rule 95 (annotation_argument) + $default reduce using rule 103 (annotation_argument) State 125 - 104 annotation_argument_list: annotation_argument_list ',' annotation_argument . + 112 annotation_argument_list: annotation_argument_list ',' annotation_argument . - $default reduce using rule 104 (annotation_argument_list) + $default reduce using rule 112 (annotation_argument_list) State 126 - 51 expect_error: "integer constant" ':' "integer constant" . + 55 expect_error: "integer constant" ':' "integer constant" . - $default reduce using rule 51 (expect_error) + $default reduce using rule 55 (expect_error) State 127 - 49 expect_list: expect_list ',' expect_error . + 53 expect_list: expect_list ',' expect_error . - $default reduce using rule 49 (expect_list) + $default reduce using rule 53 (expect_list) State 128 - 44 require_module: require_module_name "as" "name" . is_public_module + 48 require_module: require_module_name "as" "name" . is_public_module "public" shift, and go to state 84 - $default reduce using rule 45 (is_public_module) + $default reduce using rule 49 (is_public_module) is_public_module go to state 166 State 129 - 42 require_module_name: require_module_name '/' "name" . + 46 require_module_name: require_module_name '/' "name" . - $default reduce using rule 42 (require_module_name) + $default reduce using rule 46 (require_module_name) State 130 - 41 require_module_name: require_module_name '.' "name" . + 45 require_module_name: require_module_name '.' "name" . - $default reduce using rule 41 (require_module_name) + $default reduce using rule 45 (require_module_name) State 131 - 572 single_alias: optional_public_or_private_alias "name" $@38 . '=' type_declaration + 580 single_alias: optional_public_or_private_alias "name" $@38 . '=' type_declaration '=' shift, and go to state 167 State 132 - 18 optional_public_or_private_module: "public" . + 22 optional_public_or_private_module: "public" . - $default reduce using rule 18 (optional_public_or_private_module) + $default reduce using rule 22 (optional_public_or_private_module) State 133 - 19 optional_public_or_private_module: "private" . + 23 optional_public_or_private_module: "private" . - $default reduce using rule 19 (optional_public_or_private_module) + $default reduce using rule 23 (optional_public_or_private_module) State 134 - 22 module_declaration: "module" module_name optional_shared optional_public_or_private_module . + 26 module_declaration: "module" module_name optional_shared optional_public_or_private_module . - $default reduce using rule 22 (module_declaration) + $default reduce using rule 26 (module_declaration) State 135 - 743 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" . optional_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" . optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' - ',' shift, and go to state 168 + "emitted ," shift, and go to state 168 - $default reduce using rule 580 (optional_commas) + $default reduce using rule 592 (optional_emit_commas) - commas go to state 169 - optional_commas go to state 170 + emit_commas go to state 169 + optional_emit_commas go to state 170 State 136 - 733 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" . optional_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" . optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 171 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 63 (optional_emit_semis) - semis go to state 172 - optional_semis go to state 173 + emit_semis go to state 172 + optional_emit_semis go to state 173 State 137 - 738 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" . optional_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" . optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 171 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 63 (optional_emit_semis) - semis go to state 172 - optional_semis go to state 174 + emit_semis go to state 172 + optional_emit_semis go to state 174 State 138 - 257 name_in_namespace: "name" "::" "name" . + 265 name_in_namespace: "name" "::" "name" . - $default reduce using rule 257 (name_in_namespace) + $default reduce using rule 265 (name_in_namespace) State 139 - 33 reader_character_sequence: STRING_CHARACTER . + 37 reader_character_sequence: STRING_CHARACTER . - $default reduce using rule 33 (reader_character_sequence) + $default reduce using rule 37 (reader_character_sequence) State 140 - 34 reader_character_sequence: reader_character_sequence . STRING_CHARACTER - 36 expr_reader: '%' name_in_namespace $@1 reader_character_sequence . + 38 reader_character_sequence: reader_character_sequence . STRING_CHARACTER + 40 expr_reader: '%' name_in_namespace $@1 reader_character_sequence . STRING_CHARACTER shift, and go to state 175 - $default reduce using rule 36 (expr_reader) + $default reduce using rule 40 (expr_reader) State 141 - 117 annotation_declaration: '(' annotation_declaration ')' . + 125 annotation_declaration: '(' annotation_declaration ')' . - $default reduce using rule 117 (annotation_declaration) + $default reduce using rule 125 (annotation_declaration) State 142 - 104 annotation_argument_list: annotation_argument_list . ',' annotation_argument - 111 annotation_declaration_basic: annotation_declaration_name '(' annotation_argument_list . ')' + 112 annotation_argument_list: annotation_argument_list . ',' annotation_argument + 119 annotation_declaration_basic: annotation_declaration_name '(' annotation_argument_list . ')' ',' shift, and go to state 79 ')' shift, and go to state 176 @@ -3577,56 +3615,56 @@ State 142 State 143 - 114 annotation_declaration: annotation_declaration . "&&" annotation_declaration - 114 | annotation_declaration "&&" annotation_declaration . - 115 | annotation_declaration . "||" annotation_declaration - 116 | annotation_declaration . "^^" annotation_declaration + 122 annotation_declaration: annotation_declaration . "&&" annotation_declaration + 122 | annotation_declaration "&&" annotation_declaration . + 123 | annotation_declaration . "||" annotation_declaration + 124 | annotation_declaration . "^^" annotation_declaration - $default reduce using rule 114 (annotation_declaration) + $default reduce using rule 122 (annotation_declaration) State 144 - 114 annotation_declaration: annotation_declaration . "&&" annotation_declaration - 115 | annotation_declaration . "||" annotation_declaration - 115 | annotation_declaration "||" annotation_declaration . - 116 | annotation_declaration . "^^" annotation_declaration + 122 annotation_declaration: annotation_declaration . "&&" annotation_declaration + 123 | annotation_declaration . "||" annotation_declaration + 123 | annotation_declaration "||" annotation_declaration . + 124 | annotation_declaration . "^^" annotation_declaration "&&" shift, and go to state 101 "^^" shift, and go to state 103 - $default reduce using rule 115 (annotation_declaration) + $default reduce using rule 123 (annotation_declaration) State 145 - 114 annotation_declaration: annotation_declaration . "&&" annotation_declaration - 115 | annotation_declaration . "||" annotation_declaration - 116 | annotation_declaration . "^^" annotation_declaration - 116 | annotation_declaration "^^" annotation_declaration . + 122 annotation_declaration: annotation_declaration . "&&" annotation_declaration + 123 | annotation_declaration . "||" annotation_declaration + 124 | annotation_declaration . "^^" annotation_declaration + 124 | annotation_declaration "^^" annotation_declaration . "&&" shift, and go to state 101 - $default reduce using rule 116 (annotation_declaration) + $default reduce using rule 124 (annotation_declaration) State 146 - 114 annotation_declaration: annotation_declaration . "&&" annotation_declaration - 115 | annotation_declaration . "||" annotation_declaration - 116 | annotation_declaration . "^^" annotation_declaration - 120 annotation_list: annotation_list ',' annotation_declaration . + 122 annotation_declaration: annotation_declaration . "&&" annotation_declaration + 123 | annotation_declaration . "||" annotation_declaration + 124 | annotation_declaration . "^^" annotation_declaration + 128 annotation_list: annotation_list ',' annotation_declaration . "&&" shift, and go to state 101 "||" shift, and go to state 102 "^^" shift, and go to state 103 - $default reduce using rule 120 (annotation_list) + $default reduce using rule 128 (annotation_list) State 147 - 219 function_declaration: optional_public_or_private_function $@6 . function_declaration_header expression_block + 227 function_declaration: optional_public_or_private_function $@6 . function_declaration_header expression_block "operator" shift, and go to state 177 "bool" shift, and go to state 178 @@ -3664,21 +3702,21 @@ State 147 State 148 - 576 optional_public_or_private_enum: "public" . + 584 optional_public_or_private_enum: "public" . - $default reduce using rule 576 (optional_public_or_private_enum) + $default reduce using rule 584 (optional_public_or_private_enum) State 149 - 575 optional_public_or_private_enum: "private" . + 583 optional_public_or_private_enum: "private" . - $default reduce using rule 575 (optional_public_or_private_enum) + $default reduce using rule 583 (optional_public_or_private_enum) State 150 - 585 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum . enum_name optional_enum_basic_type_declaration optional_commas '{' $@40 enum_list optional_commas $@41 '}' + 597 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum . enum_name optional_enum_basic_type_declaration optional_emit_commas '{' $@40 enum_list optional_commas $@41 '}' "name" shift, and go to state 208 @@ -3687,11 +3725,11 @@ State 150 State 151 - 600 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 . structure_name $@43 optional_struct_variable_declaration_list + 612 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 . structure_name $@43 optional_struct_variable_declaration_list "sealed" shift, and go to state 210 - $default reduce using rule 588 (optional_sealed) + $default reduce using rule 600 (optional_sealed) optional_sealed go to state 211 structure_name go to state 212 @@ -3699,20 +3737,20 @@ State 151 State 152 - 558 global_let: kwd_let optional_shared optional_public_or_private_variable '{' . global_variable_declaration_list '}' + 566 global_let: kwd_let optional_shared optional_public_or_private_variable '{' . global_variable_declaration_list '}' - $default reduce using rule 554 (global_variable_declaration_list) + $default reduce using rule 562 (global_variable_declaration_list) global_variable_declaration_list go to state 213 State 153 - 560 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 . optional_field_annotation global_let_variable_declaration + 568 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 . optional_field_annotation global_let_variable_declaration '@' shift, and go to state 214 - $default reduce using rule 484 (optional_field_annotation) + $default reduce using rule 492 (optional_field_annotation) metadata_argument_list go to state 215 optional_field_annotation go to state 216 @@ -3720,30 +3758,30 @@ State 153 State 154 - 23 character_sequence: STRING_CHARACTER . + 27 character_sequence: STRING_CHARACTER . - $default reduce using rule 23 (character_sequence) + $default reduce using rule 27 (character_sequence) State 155 - 24 character_sequence: STRING_CHARACTER_ESC . + 28 character_sequence: STRING_CHARACTER_ESC . - $default reduce using rule 24 (character_sequence) + $default reduce using rule 28 (character_sequence) State 156 - 28 string_constant: "start of the string" "end of the string" . + 32 string_constant: "start of the string" "end of the string" . - $default reduce using rule 28 (string_constant) + $default reduce using rule 32 (string_constant) State 157 - 25 character_sequence: character_sequence . STRING_CHARACTER - 26 | character_sequence . STRING_CHARACTER_ESC - 27 string_constant: "start of the string" character_sequence . "end of the string" + 29 character_sequence: character_sequence . STRING_CHARACTER + 30 | character_sequence . STRING_CHARACTER_ESC + 31 string_constant: "start of the string" character_sequence . "end of the string" STRING_CHARACTER shift, and go to state 217 STRING_CHARACTER_ESC shift, and go to state 218 @@ -3752,57 +3790,57 @@ State 157 State 158 - 88 annotation_argument_value: "true" . + 96 annotation_argument_value: "true" . - $default reduce using rule 88 (annotation_argument_value) + $default reduce using rule 96 (annotation_argument_value) State 159 - 89 annotation_argument_value: "false" . + 97 annotation_argument_value: "false" . - $default reduce using rule 89 (annotation_argument_value) + $default reduce using rule 97 (annotation_argument_value) State 160 - 86 annotation_argument_value: "integer constant" . + 94 annotation_argument_value: "integer constant" . - $default reduce using rule 86 (annotation_argument_value) + $default reduce using rule 94 (annotation_argument_value) State 161 - 87 annotation_argument_value: "floating point constant" . + 95 annotation_argument_value: "floating point constant" . - $default reduce using rule 87 (annotation_argument_value) + $default reduce using rule 95 (annotation_argument_value) State 162 - 85 annotation_argument_value: "name" . + 93 annotation_argument_value: "name" . - $default reduce using rule 85 (annotation_argument_value) + $default reduce using rule 93 (annotation_argument_value) State 163 - 84 annotation_argument_value: string_constant . + 92 annotation_argument_value: string_constant . - $default reduce using rule 84 (annotation_argument_value) + $default reduce using rule 92 (annotation_argument_value) State 164 - 90 annotation_argument_value_list: annotation_argument_value . + 98 annotation_argument_value_list: annotation_argument_value . - $default reduce using rule 90 (annotation_argument_value_list) + $default reduce using rule 98 (annotation_argument_value_list) State 165 - 91 annotation_argument_value_list: annotation_argument_value_list . ',' annotation_argument_value - 102 annotation_argument: annotation_argument_name '=' '(' annotation_argument_value_list . ')' + 99 annotation_argument_value_list: annotation_argument_value_list . ',' annotation_argument_value + 110 annotation_argument: annotation_argument_name '=' '(' annotation_argument_value_list . ')' ',' shift, and go to state 220 ')' shift, and go to state 221 @@ -3810,14 +3848,14 @@ State 165 State 166 - 44 require_module: require_module_name "as" "name" is_public_module . + 48 require_module: require_module_name "as" "name" is_public_module . - $default reduce using rule 44 (require_module) + $default reduce using rule 48 (require_module) State 167 - 572 single_alias: optional_public_or_private_alias "name" $@38 '=' . type_declaration + 580 single_alias: optional_public_or_private_alias "name" $@38 '=' . type_declaration "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -3875,138 +3913,138 @@ State 167 State 168 - 563 commas: ',' . + 590 emit_commas: "emitted ," . - $default reduce using rule 563 (commas) + $default reduce using rule 590 (emit_commas) State 169 - 564 commas: commas . ',' - 581 optional_commas: commas . + 591 emit_commas: emit_commas . "emitted ," + 593 optional_emit_commas: emit_commas . - ',' shift, and go to state 271 + "emitted ," shift, and go to state 271 - $default reduce using rule 581 (optional_commas) + $default reduce using rule 593 (optional_emit_commas) State 170 - 743 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_commas . $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas . $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' - $default reduce using rule 740 ($@82) + $default reduce using rule 752 ($@82) $@82 go to state 272 State 171 - 69 semis: ';' . + 61 emit_semis: "emitted ;" . - $default reduce using rule 69 (semis) + $default reduce using rule 61 (emit_semis) State 172 - 70 semis: semis . ';' - 72 optional_semis: semis . + 62 emit_semis: emit_semis . "emitted ;" + 64 optional_emit_semis: emit_semis . - ';' shift, and go to state 273 + "emitted ;" shift, and go to state 273 - $default reduce using rule 72 (optional_semis) + $default reduce using rule 64 (optional_emit_semis) State 173 - 733 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_semis . $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis . $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' - $default reduce using rule 730 ($@74) + $default reduce using rule 742 ($@74) $@74 go to state 274 State 174 - 738 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_semis . $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis . $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' - $default reduce using rule 735 ($@78) + $default reduce using rule 747 ($@78) $@78 go to state 275 State 175 - 34 reader_character_sequence: reader_character_sequence STRING_CHARACTER . + 38 reader_character_sequence: reader_character_sequence STRING_CHARACTER . - $default reduce using rule 34 (reader_character_sequence) + $default reduce using rule 38 (reader_character_sequence) State 176 - 111 annotation_declaration_basic: annotation_declaration_name '(' annotation_argument_list ')' . + 119 annotation_declaration_basic: annotation_declaration_name '(' annotation_argument_list ')' . - $default reduce using rule 111 (annotation_declaration_basic) + $default reduce using rule 119 (annotation_declaration_basic) State 177 - 129 function_name: "operator" . '!' - 130 | "operator" . '~' - 131 | "operator" . "+=" - 132 | "operator" . "-=" - 133 | "operator" . "*=" - 134 | "operator" . "/=" - 135 | "operator" . "%=" - 136 | "operator" . "&=" - 137 | "operator" . "|=" - 138 | "operator" . "^=" - 139 | "operator" . "&&=" - 140 | "operator" . "||=" - 141 | "operator" . "^^=" - 142 | "operator" . "&&" - 143 | "operator" . "||" - 144 | "operator" . "^^" - 145 | "operator" . '+' - 146 | "operator" . '-' - 147 | "operator" . '*' - 148 | "operator" . '/' - 149 | "operator" . '%' - 150 | "operator" . '<' - 151 | "operator" . '>' - 152 | "operator" . ".." - 153 | "operator" . "==" - 154 | "operator" . "!=" - 155 | "operator" . "<=" - 156 | "operator" . ">=" - 157 | "operator" . '&' - 158 | "operator" . '|' - 159 | "operator" . '^' - 162 | "operator" . "++" - 163 | "operator" . "--" - 164 | "operator" . "<<" - 165 | "operator" . ">>" - 166 | "operator" . "<<=" - 167 | "operator" . ">>=" - 168 | "operator" . "<<<" - 169 | "operator" . ">>>" - 170 | "operator" . "<<<=" - 171 | "operator" . ">>>=" - 172 | "operator" . '[' ']' - 173 | "operator" . "?[" ']' - 174 | "operator" . '.' - 175 | "operator" . "?." - 176 | "operator" . '.' "name" - 177 | "operator" . '.' "name" ":=" - 178 | "operator" . "?." "name" - 179 | "operator" . ":=" - 180 | "operator" . "delete" - 181 | "operator" . "??" - 182 | "operator" . "is" - 183 | "operator" . "as" - 184 | "operator" . "is" "name" - 185 | "operator" . "as" "name" - 186 | "operator" . '?' "as" - 187 | "operator" . '?' "as" "name" + 137 function_name: "operator" . '!' + 138 | "operator" . '~' + 139 | "operator" . "+=" + 140 | "operator" . "-=" + 141 | "operator" . "*=" + 142 | "operator" . "/=" + 143 | "operator" . "%=" + 144 | "operator" . "&=" + 145 | "operator" . "|=" + 146 | "operator" . "^=" + 147 | "operator" . "&&=" + 148 | "operator" . "||=" + 149 | "operator" . "^^=" + 150 | "operator" . "&&" + 151 | "operator" . "||" + 152 | "operator" . "^^" + 153 | "operator" . '+' + 154 | "operator" . '-' + 155 | "operator" . '*' + 156 | "operator" . '/' + 157 | "operator" . '%' + 158 | "operator" . '<' + 159 | "operator" . '>' + 160 | "operator" . ".." + 161 | "operator" . "==" + 162 | "operator" . "!=" + 163 | "operator" . "<=" + 164 | "operator" . ">=" + 165 | "operator" . '&' + 166 | "operator" . '|' + 167 | "operator" . '^' + 170 | "operator" . "++" + 171 | "operator" . "--" + 172 | "operator" . "<<" + 173 | "operator" . ">>" + 174 | "operator" . "<<=" + 175 | "operator" . ">>=" + 176 | "operator" . "<<<" + 177 | "operator" . ">>>" + 178 | "operator" . "<<<=" + 179 | "operator" . ">>>=" + 180 | "operator" . '[' ']' + 181 | "operator" . "?[" ']' + 182 | "operator" . '.' + 183 | "operator" . "?." + 184 | "operator" . '.' "name" + 185 | "operator" . '.' "name" ":=" + 186 | "operator" . "?." "name" + 187 | "operator" . ":=" + 188 | "operator" . "delete" + 189 | "operator" . "??" + 190 | "operator" . "is" + 191 | "operator" . "as" + 192 | "operator" . "is" "name" + 193 | "operator" . "as" "name" + 194 | "operator" . '?' "as" + 195 | "operator" . '?' "as" "name" "is" shift, and go to state 276 "as" shift, and go to state 277 @@ -4063,216 +4101,216 @@ State 177 State 178 - 188 function_name: "bool" . + 196 function_name: "bool" . - $default reduce using rule 188 (function_name) + $default reduce using rule 196 (function_name) State 179 - 189 function_name: "string" . + 197 function_name: "string" . - $default reduce using rule 189 (function_name) + $default reduce using rule 197 (function_name) State 180 - 190 function_name: "int" . + 198 function_name: "int" . - $default reduce using rule 190 (function_name) + $default reduce using rule 198 (function_name) State 181 - 191 function_name: "int2" . + 199 function_name: "int2" . - $default reduce using rule 191 (function_name) + $default reduce using rule 199 (function_name) State 182 - 192 function_name: "int3" . + 200 function_name: "int3" . - $default reduce using rule 192 (function_name) + $default reduce using rule 200 (function_name) State 183 - 193 function_name: "int4" . + 201 function_name: "int4" . - $default reduce using rule 193 (function_name) + $default reduce using rule 201 (function_name) State 184 - 194 function_name: "uint" . + 202 function_name: "uint" . - $default reduce using rule 194 (function_name) + $default reduce using rule 202 (function_name) State 185 - 195 function_name: "uint2" . + 203 function_name: "uint2" . - $default reduce using rule 195 (function_name) + $default reduce using rule 203 (function_name) State 186 - 196 function_name: "uint3" . + 204 function_name: "uint3" . - $default reduce using rule 196 (function_name) + $default reduce using rule 204 (function_name) State 187 - 197 function_name: "uint4" . + 205 function_name: "uint4" . - $default reduce using rule 197 (function_name) + $default reduce using rule 205 (function_name) State 188 - 198 function_name: "float" . + 206 function_name: "float" . - $default reduce using rule 198 (function_name) + $default reduce using rule 206 (function_name) State 189 - 199 function_name: "float2" . + 207 function_name: "float2" . - $default reduce using rule 199 (function_name) + $default reduce using rule 207 (function_name) State 190 - 200 function_name: "float3" . + 208 function_name: "float3" . - $default reduce using rule 200 (function_name) + $default reduce using rule 208 (function_name) State 191 - 201 function_name: "float4" . + 209 function_name: "float4" . - $default reduce using rule 201 (function_name) + $default reduce using rule 209 (function_name) State 192 - 202 function_name: "range" . + 210 function_name: "range" . - $default reduce using rule 202 (function_name) + $default reduce using rule 210 (function_name) State 193 - 203 function_name: "urange" . + 211 function_name: "urange" . - $default reduce using rule 203 (function_name) + $default reduce using rule 211 (function_name) State 194 - 204 function_name: "range64" . + 212 function_name: "range64" . - $default reduce using rule 204 (function_name) + $default reduce using rule 212 (function_name) State 195 - 205 function_name: "urange64" . + 213 function_name: "urange64" . - $default reduce using rule 205 (function_name) + $default reduce using rule 213 (function_name) State 196 - 206 function_name: "int64" . + 214 function_name: "int64" . - $default reduce using rule 206 (function_name) + $default reduce using rule 214 (function_name) State 197 - 207 function_name: "uint64" . + 215 function_name: "uint64" . - $default reduce using rule 207 (function_name) + $default reduce using rule 215 (function_name) State 198 - 208 function_name: "double" . + 216 function_name: "double" . - $default reduce using rule 208 (function_name) + $default reduce using rule 216 (function_name) State 199 - 209 function_name: "int8" . + 217 function_name: "int8" . - $default reduce using rule 209 (function_name) + $default reduce using rule 217 (function_name) State 200 - 210 function_name: "uint8" . + 218 function_name: "uint8" . - $default reduce using rule 210 (function_name) + $default reduce using rule 218 (function_name) State 201 - 211 function_name: "int16" . + 219 function_name: "int16" . - $default reduce using rule 211 (function_name) + $default reduce using rule 219 (function_name) State 202 - 212 function_name: "uint16" . + 220 function_name: "uint16" . - $default reduce using rule 212 (function_name) + $default reduce using rule 220 (function_name) State 203 - 160 function_name: "++" . "operator" + 168 function_name: "++" . "operator" "operator" shift, and go to state 327 State 204 - 161 function_name: "--" . "operator" + 169 function_name: "--" . "operator" "operator" shift, and go to state 328 State 205 - 128 function_name: "name" . + 136 function_name: "name" . - $default reduce using rule 128 (function_name) + $default reduce using rule 136 (function_name) State 206 - 217 function_declaration_header: function_name . optional_function_argument_list optional_function_type + 225 function_declaration_header: function_name . optional_function_argument_list optional_function_type '(' shift, and go to state 329 - $default reduce using rule 123 (optional_function_argument_list) + $default reduce using rule 131 (optional_function_argument_list) optional_function_argument_list go to state 330 State 207 - 219 function_declaration: optional_public_or_private_function $@6 function_declaration_header . expression_block + 227 function_declaration: optional_public_or_private_function $@6 function_declaration_header . expression_block - $default reduce using rule 224 ($@9) + $default reduce using rule 232 ($@9) expression_block go to state 331 $@9 go to state 332 @@ -4280,62 +4318,62 @@ State 207 State 208 - 577 enum_name: "name" . + 585 enum_name: "name" . - $default reduce using rule 577 (enum_name) + $default reduce using rule 585 (enum_name) State 209 - 585 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name . optional_enum_basic_type_declaration optional_commas '{' $@40 enum_list optional_commas $@41 '}' + 597 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name . optional_enum_basic_type_declaration optional_emit_commas '{' $@40 enum_list optional_commas $@41 '}' ':' shift, and go to state 333 - $default reduce using rule 578 (optional_enum_basic_type_declaration) + $default reduce using rule 586 (optional_enum_basic_type_declaration) optional_enum_basic_type_declaration go to state 334 State 210 - 589 optional_sealed: "sealed" . + 601 optional_sealed: "sealed" . - $default reduce using rule 589 (optional_sealed) + $default reduce using rule 601 (optional_sealed) State 211 - 590 structure_name: optional_sealed . "name" optional_structure_parent + 602 structure_name: optional_sealed . "name" optional_structure_parent "name" shift, and go to state 335 State 212 - 600 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 structure_name . $@43 optional_struct_variable_declaration_list + 612 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 structure_name . $@43 optional_struct_variable_declaration_list - $default reduce using rule 599 ($@43) + $default reduce using rule 611 ($@43) $@43 go to state 336 State 213 - 555 global_variable_declaration_list: global_variable_declaration_list . ';' - 557 | global_variable_declaration_list . $@36 optional_field_annotation let_variable_declaration - 558 global_let: kwd_let optional_shared optional_public_or_private_variable '{' global_variable_declaration_list . '}' + 563 global_variable_declaration_list: global_variable_declaration_list . ';' + 565 | global_variable_declaration_list . $@36 optional_field_annotation let_variable_declaration + 566 global_let: kwd_let optional_shared optional_public_or_private_variable '{' global_variable_declaration_list . '}' ';' shift, and go to state 337 '}' shift, and go to state 338 - $default reduce using rule 556 ($@36) + $default reduce using rule 564 ($@36) $@36 go to state 339 State 214 - 105 metadata_argument_list: '@' . annotation_argument + 113 metadata_argument_list: '@' . annotation_argument "type" shift, and go to state 32 "in" shift, and go to state 33 @@ -4347,17 +4385,17 @@ State 214 State 215 - 106 metadata_argument_list: metadata_argument_list . '@' annotation_argument - 485 optional_field_annotation: metadata_argument_list . + 114 metadata_argument_list: metadata_argument_list . '@' annotation_argument + 493 optional_field_annotation: metadata_argument_list . '@' shift, and go to state 341 - $default reduce using rule 485 (optional_field_annotation) + $default reduce using rule 493 (optional_field_annotation) State 216 - 560 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation . global_let_variable_declaration + 568 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation . global_let_variable_declaration "name" shift, and go to state 342 @@ -4367,28 +4405,28 @@ State 216 State 217 - 25 character_sequence: character_sequence STRING_CHARACTER . + 29 character_sequence: character_sequence STRING_CHARACTER . - $default reduce using rule 25 (character_sequence) + $default reduce using rule 29 (character_sequence) State 218 - 26 character_sequence: character_sequence STRING_CHARACTER_ESC . + 30 character_sequence: character_sequence STRING_CHARACTER_ESC . - $default reduce using rule 26 (character_sequence) + $default reduce using rule 30 (character_sequence) State 219 - 27 string_constant: "start of the string" character_sequence "end of the string" . + 31 string_constant: "start of the string" character_sequence "end of the string" . - $default reduce using rule 27 (string_constant) + $default reduce using rule 31 (string_constant) State 220 - 91 annotation_argument_value_list: annotation_argument_value_list ',' . annotation_argument_value + 99 annotation_argument_value_list: annotation_argument_value_list ',' . annotation_argument_value "true" shift, and go to state 158 "false" shift, and go to state 159 @@ -4403,313 +4441,313 @@ State 220 State 221 - 102 annotation_argument: annotation_argument_name '=' '(' annotation_argument_value_list ')' . + 110 annotation_argument: annotation_argument_name '=' '(' annotation_argument_value_list ')' . - $default reduce using rule 102 (annotation_argument) + $default reduce using rule 110 (annotation_argument) State 222 - 669 type_declaration_no_options_no_dim: "type" . '<' $@46 type_declaration '>' $@47 + 681 type_declaration_no_options_no_dim: "type" . '<' $@46 type_declaration '>' $@47 '<' shift, and go to state 346 State 223 - 692 type_declaration_no_options_no_dim: "array" . '<' $@51 type_declaration '>' $@52 + 704 type_declaration_no_options_no_dim: "array" . '<' $@51 type_declaration '>' $@52 '<' shift, and go to state 347 State 224 - 695 type_declaration_no_options_no_dim: "table" . '<' $@53 table_type_pair '>' $@54 + 707 type_declaration_no_options_no_dim: "table" . '<' $@53 table_type_pair '>' $@54 '<' shift, and go to state 348 State 225 - 670 type_declaration_no_options_no_dim: "typedecl" . '(' expr ')' + 682 type_declaration_no_options_no_dim: "typedecl" . '(' expr ')' '(' shift, and go to state 349 State 226 - 698 type_declaration_no_options_no_dim: "iterator" . '<' $@55 type_declaration '>' $@56 + 710 type_declaration_no_options_no_dim: "iterator" . '<' $@55 type_declaration '>' $@56 '<' shift, and go to state 350 State 227 - 688 type_declaration_no_options_no_dim: "smart_ptr" . '<' $@49 type_declaration '>' $@50 + 700 type_declaration_no_options_no_dim: "smart_ptr" . '<' $@49 type_declaration '>' $@50 '<' shift, and go to state 351 State 228 - 606 basic_type_declaration: "bool" . + 618 basic_type_declaration: "bool" . - $default reduce using rule 606 (basic_type_declaration) + $default reduce using rule 618 (basic_type_declaration) State 229 - 626 basic_type_declaration: "void" . + 638 basic_type_declaration: "void" . - $default reduce using rule 626 (basic_type_declaration) + $default reduce using rule 638 (basic_type_declaration) State 230 - 607 basic_type_declaration: "string" . + 619 basic_type_declaration: "string" . - $default reduce using rule 607 (basic_type_declaration) + $default reduce using rule 619 (basic_type_declaration) State 231 - 642 auto_type_declaration: "auto" . - 643 | "auto" . '(' "name" ')' + 654 auto_type_declaration: "auto" . + 655 | "auto" . '(' "name" ')' '(' shift, and go to state 352 - $default reduce using rule 642 (auto_type_declaration) + $default reduce using rule 654 (auto_type_declaration) State 232 - 608 basic_type_declaration: "int" . + 620 basic_type_declaration: "int" . - $default reduce using rule 608 (basic_type_declaration) + $default reduce using rule 620 (basic_type_declaration) State 233 - 612 basic_type_declaration: "int2" . + 624 basic_type_declaration: "int2" . - $default reduce using rule 612 (basic_type_declaration) + $default reduce using rule 624 (basic_type_declaration) State 234 - 613 basic_type_declaration: "int3" . + 625 basic_type_declaration: "int3" . - $default reduce using rule 613 (basic_type_declaration) + $default reduce using rule 625 (basic_type_declaration) State 235 - 614 basic_type_declaration: "int4" . + 626 basic_type_declaration: "int4" . - $default reduce using rule 614 (basic_type_declaration) + $default reduce using rule 626 (basic_type_declaration) State 236 - 615 basic_type_declaration: "uint" . + 627 basic_type_declaration: "uint" . - $default reduce using rule 615 (basic_type_declaration) + $default reduce using rule 627 (basic_type_declaration) State 237 - 632 basic_type_declaration: "bitfield" . - 652 bitfield_type_declaration: "bitfield" . '<' $@44 bitfield_bits '>' $@45 + 644 basic_type_declaration: "bitfield" . + 664 bitfield_type_declaration: "bitfield" . '<' $@44 bitfield_bits '>' $@45 '<' shift, and go to state 353 - $default reduce using rule 632 (basic_type_declaration) + $default reduce using rule 644 (basic_type_declaration) State 238 - 619 basic_type_declaration: "uint2" . + 631 basic_type_declaration: "uint2" . - $default reduce using rule 619 (basic_type_declaration) + $default reduce using rule 631 (basic_type_declaration) State 239 - 620 basic_type_declaration: "uint3" . + 632 basic_type_declaration: "uint3" . - $default reduce using rule 620 (basic_type_declaration) + $default reduce using rule 632 (basic_type_declaration) State 240 - 621 basic_type_declaration: "uint4" . + 633 basic_type_declaration: "uint4" . - $default reduce using rule 621 (basic_type_declaration) + $default reduce using rule 633 (basic_type_declaration) State 241 - 622 basic_type_declaration: "float" . + 634 basic_type_declaration: "float" . - $default reduce using rule 622 (basic_type_declaration) + $default reduce using rule 634 (basic_type_declaration) State 242 - 623 basic_type_declaration: "float2" . + 635 basic_type_declaration: "float2" . - $default reduce using rule 623 (basic_type_declaration) + $default reduce using rule 635 (basic_type_declaration) State 243 - 624 basic_type_declaration: "float3" . + 636 basic_type_declaration: "float3" . - $default reduce using rule 624 (basic_type_declaration) + $default reduce using rule 636 (basic_type_declaration) State 244 - 625 basic_type_declaration: "float4" . + 637 basic_type_declaration: "float4" . - $default reduce using rule 625 (basic_type_declaration) + $default reduce using rule 637 (basic_type_declaration) State 245 - 627 basic_type_declaration: "range" . + 639 basic_type_declaration: "range" . - $default reduce using rule 627 (basic_type_declaration) + $default reduce using rule 639 (basic_type_declaration) State 246 - 628 basic_type_declaration: "urange" . + 640 basic_type_declaration: "urange" . - $default reduce using rule 628 (basic_type_declaration) + $default reduce using rule 640 (basic_type_declaration) State 247 - 629 basic_type_declaration: "range64" . + 641 basic_type_declaration: "range64" . - $default reduce using rule 629 (basic_type_declaration) + $default reduce using rule 641 (basic_type_declaration) State 248 - 630 basic_type_declaration: "urange64" . + 642 basic_type_declaration: "urange64" . - $default reduce using rule 630 (basic_type_declaration) + $default reduce using rule 642 (basic_type_declaration) State 249 - 699 type_declaration_no_options_no_dim: "block" . - 702 | "block" . '<' $@57 type_declaration '>' $@58 - 705 | "block" . '<' $@59 optional_function_argument_list optional_function_type '>' $@60 + 711 type_declaration_no_options_no_dim: "block" . + 714 | "block" . '<' $@57 type_declaration '>' $@58 + 717 | "block" . '<' $@59 optional_function_argument_list optional_function_type '>' $@60 '<' shift, and go to state 354 - $default reduce using rule 699 (type_declaration_no_options_no_dim) + $default reduce using rule 711 (type_declaration_no_options_no_dim) State 250 - 611 basic_type_declaration: "int64" . + 623 basic_type_declaration: "int64" . - $default reduce using rule 611 (basic_type_declaration) + $default reduce using rule 623 (basic_type_declaration) State 251 - 618 basic_type_declaration: "uint64" . + 630 basic_type_declaration: "uint64" . - $default reduce using rule 618 (basic_type_declaration) + $default reduce using rule 630 (basic_type_declaration) State 252 - 631 basic_type_declaration: "double" . + 643 basic_type_declaration: "double" . - $default reduce using rule 631 (basic_type_declaration) + $default reduce using rule 643 (basic_type_declaration) State 253 - 706 type_declaration_no_options_no_dim: "function" . - 709 | "function" . '<' $@61 type_declaration '>' $@62 - 712 | "function" . '<' $@63 optional_function_argument_list optional_function_type '>' $@64 + 718 type_declaration_no_options_no_dim: "function" . + 721 | "function" . '<' $@61 type_declaration '>' $@62 + 724 | "function" . '<' $@63 optional_function_argument_list optional_function_type '>' $@64 '<' shift, and go to state 355 - $default reduce using rule 706 (type_declaration_no_options_no_dim) + $default reduce using rule 718 (type_declaration_no_options_no_dim) State 254 - 713 type_declaration_no_options_no_dim: "lambda" . - 716 | "lambda" . '<' $@65 type_declaration '>' $@66 - 719 | "lambda" . '<' $@67 optional_function_argument_list optional_function_type '>' $@68 + 725 type_declaration_no_options_no_dim: "lambda" . + 728 | "lambda" . '<' $@65 type_declaration '>' $@66 + 731 | "lambda" . '<' $@67 optional_function_argument_list optional_function_type '>' $@68 '<' shift, and go to state 356 - $default reduce using rule 713 (type_declaration_no_options_no_dim) + $default reduce using rule 725 (type_declaration_no_options_no_dim) State 255 - 609 basic_type_declaration: "int8" . + 621 basic_type_declaration: "int8" . - $default reduce using rule 609 (basic_type_declaration) + $default reduce using rule 621 (basic_type_declaration) State 256 - 616 basic_type_declaration: "uint8" . + 628 basic_type_declaration: "uint8" . - $default reduce using rule 616 (basic_type_declaration) + $default reduce using rule 628 (basic_type_declaration) State 257 - 610 basic_type_declaration: "int16" . + 622 basic_type_declaration: "int16" . - $default reduce using rule 610 (basic_type_declaration) + $default reduce using rule 622 (basic_type_declaration) State 258 - 617 basic_type_declaration: "uint16" . + 629 basic_type_declaration: "uint16" . - $default reduce using rule 617 (basic_type_declaration) + $default reduce using rule 629 (basic_type_declaration) State 259 - 722 type_declaration_no_options_no_dim: "tuple" . '<' $@69 tuple_type_list '>' $@70 + 734 type_declaration_no_options_no_dim: "tuple" . '<' $@69 tuple_type_list '>' $@70 '<' shift, and go to state 357 State 260 - 725 type_declaration_no_options_no_dim: "variant" . '<' $@71 variant_type_list '>' $@72 + 737 type_declaration_no_options_no_dim: "variant" . '<' $@71 variant_type_list '>' $@72 '<' shift, and go to state 358 State 261 - 644 auto_type_declaration: "$t" . '(' expr ')' + 656 auto_type_declaration: "$t" . '(' expr ')' '(' shift, and go to state 359 State 262 - 671 type_declaration_no_options_no_dim: '$' . name_in_namespace '(' optional_expr_list ')' - 673 | '$' . name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' + 683 type_declaration_no_options_no_dim: '$' . name_in_namespace '(' optional_expr_list ')' + 685 | '$' . name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' "::" shift, and go to state 55 "name" shift, and go to state 56 @@ -4719,63 +4757,63 @@ State 262 State 263 - 641 structure_type_declaration: name_in_namespace . + 653 structure_type_declaration: name_in_namespace . - $default reduce using rule 641 (structure_type_declaration) + $default reduce using rule 653 (structure_type_declaration) State 264 - 663 type_declaration_no_options_no_dim: basic_type_declaration . + 675 type_declaration_no_options_no_dim: basic_type_declaration . - $default reduce using rule 663 (type_declaration_no_options_no_dim) + $default reduce using rule 675 (type_declaration_no_options_no_dim) State 265 - 666 type_declaration_no_options_no_dim: structure_type_declaration . + 678 type_declaration_no_options_no_dim: structure_type_declaration . - $default reduce using rule 666 (type_declaration_no_options_no_dim) + $default reduce using rule 678 (type_declaration_no_options_no_dim) State 266 - 664 type_declaration_no_options_no_dim: auto_type_declaration . + 676 type_declaration_no_options_no_dim: auto_type_declaration . - $default reduce using rule 664 (type_declaration_no_options_no_dim) + $default reduce using rule 676 (type_declaration_no_options_no_dim) State 267 - 665 type_declaration_no_options_no_dim: bitfield_type_declaration . + 677 type_declaration_no_options_no_dim: bitfield_type_declaration . - $default reduce using rule 665 (type_declaration_no_options_no_dim) + $default reduce using rule 677 (type_declaration_no_options_no_dim) State 268 - 726 type_declaration: type_declaration_no_options . + 738 type_declaration: type_declaration_no_options . - $default reduce using rule 726 (type_declaration) + $default reduce using rule 738 (type_declaration) State 269 - 661 type_declaration_no_options: type_declaration_no_options_no_dim . - 662 | type_declaration_no_options_no_dim . dim_list - 674 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim . '-' '[' ']' - 675 | type_declaration_no_options_no_dim . "explicit" - 676 | type_declaration_no_options_no_dim . "const" - 677 | type_declaration_no_options_no_dim . '-' "const" - 678 | type_declaration_no_options_no_dim . '&' - 679 | type_declaration_no_options_no_dim . '-' '&' - 680 | type_declaration_no_options_no_dim . '#' - 681 | type_declaration_no_options_no_dim . "implicit" - 682 | type_declaration_no_options_no_dim . '-' '#' - 683 | type_declaration_no_options_no_dim . "==" "const" - 684 | type_declaration_no_options_no_dim . "==" '&' - 685 | type_declaration_no_options_no_dim . '?' - 689 | type_declaration_no_options_no_dim . "??" + 673 type_declaration_no_options: type_declaration_no_options_no_dim . + 674 | type_declaration_no_options_no_dim . dim_list + 686 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim . '-' '[' ']' + 687 | type_declaration_no_options_no_dim . "explicit" + 688 | type_declaration_no_options_no_dim . "const" + 689 | type_declaration_no_options_no_dim . '-' "const" + 690 | type_declaration_no_options_no_dim . '&' + 691 | type_declaration_no_options_no_dim . '-' '&' + 692 | type_declaration_no_options_no_dim . '#' + 693 | type_declaration_no_options_no_dim . "implicit" + 694 | type_declaration_no_options_no_dim . '-' '#' + 695 | type_declaration_no_options_no_dim . "==" "const" + 696 | type_declaration_no_options_no_dim . "==" '&' + 697 | type_declaration_no_options_no_dim . '?' + 701 | type_declaration_no_options_no_dim . "??" "const" shift, and go to state 361 "implicit" shift, and go to state 362 @@ -4788,452 +4826,452 @@ State 269 '[' shift, and go to state 369 '#' shift, and go to state 370 - $default reduce using rule 661 (type_declaration_no_options) + $default reduce using rule 673 (type_declaration_no_options) dim_list go to state 371 State 270 - 572 single_alias: optional_public_or_private_alias "name" $@38 '=' type_declaration . - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 580 single_alias: optional_public_or_private_alias "name" $@38 '=' type_declaration . + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - $default reduce using rule 572 (single_alias) + $default reduce using rule 580 (single_alias) State 271 - 564 commas: commas ',' . + 591 emit_commas: emit_commas "emitted ," . - $default reduce using rule 564 (commas) + $default reduce using rule 591 (emit_commas) State 272 - 743 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_commas $@82 . '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 . '{' $@83 bitfield_alias_bits optional_commas $@84 '}' '{' shift, and go to state 373 State 273 - 70 semis: semis ';' . + 62 emit_semis: emit_semis "emitted ;" . - $default reduce using rule 70 (semis) + $default reduce using rule 62 (emit_semis) State 274 - 733 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_semis $@74 . '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 . '{' $@75 tuple_alias_type_list optional_semis $@76 '}' '{' shift, and go to state 374 State 275 - 738 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_semis $@78 . '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 . '{' $@79 variant_alias_type_list optional_semis $@80 '}' '{' shift, and go to state 375 State 276 - 182 function_name: "operator" "is" . - 184 | "operator" "is" . "name" + 190 function_name: "operator" "is" . + 192 | "operator" "is" . "name" "name" shift, and go to state 376 - $default reduce using rule 182 (function_name) + $default reduce using rule 190 (function_name) State 277 - 183 function_name: "operator" "as" . - 185 | "operator" "as" . "name" + 191 function_name: "operator" "as" . + 193 | "operator" "as" . "name" "name" shift, and go to state 377 - $default reduce using rule 183 (function_name) + $default reduce using rule 191 (function_name) State 278 - 180 function_name: "operator" "delete" . + 188 function_name: "operator" "delete" . - $default reduce using rule 180 (function_name) + $default reduce using rule 188 (function_name) State 279 - 131 function_name: "operator" "+=" . + 139 function_name: "operator" "+=" . - $default reduce using rule 131 (function_name) + $default reduce using rule 139 (function_name) State 280 - 132 function_name: "operator" "-=" . + 140 function_name: "operator" "-=" . - $default reduce using rule 132 (function_name) + $default reduce using rule 140 (function_name) State 281 - 134 function_name: "operator" "/=" . + 142 function_name: "operator" "/=" . - $default reduce using rule 134 (function_name) + $default reduce using rule 142 (function_name) State 282 - 133 function_name: "operator" "*=" . + 141 function_name: "operator" "*=" . - $default reduce using rule 133 (function_name) + $default reduce using rule 141 (function_name) State 283 - 135 function_name: "operator" "%=" . + 143 function_name: "operator" "%=" . - $default reduce using rule 135 (function_name) + $default reduce using rule 143 (function_name) State 284 - 136 function_name: "operator" "&=" . + 144 function_name: "operator" "&=" . - $default reduce using rule 136 (function_name) + $default reduce using rule 144 (function_name) State 285 - 137 function_name: "operator" "|=" . + 145 function_name: "operator" "|=" . - $default reduce using rule 137 (function_name) + $default reduce using rule 145 (function_name) State 286 - 138 function_name: "operator" "^=" . + 146 function_name: "operator" "^=" . - $default reduce using rule 138 (function_name) + $default reduce using rule 146 (function_name) State 287 - 164 function_name: "operator" "<<" . + 172 function_name: "operator" "<<" . - $default reduce using rule 164 (function_name) + $default reduce using rule 172 (function_name) State 288 - 165 function_name: "operator" ">>" . + 173 function_name: "operator" ">>" . - $default reduce using rule 165 (function_name) + $default reduce using rule 173 (function_name) State 289 - 162 function_name: "operator" "++" . + 170 function_name: "operator" "++" . - $default reduce using rule 162 (function_name) + $default reduce using rule 170 (function_name) State 290 - 163 function_name: "operator" "--" . + 171 function_name: "operator" "--" . - $default reduce using rule 163 (function_name) + $default reduce using rule 171 (function_name) State 291 - 155 function_name: "operator" "<=" . + 163 function_name: "operator" "<=" . - $default reduce using rule 155 (function_name) + $default reduce using rule 163 (function_name) State 292 - 166 function_name: "operator" "<<=" . + 174 function_name: "operator" "<<=" . - $default reduce using rule 166 (function_name) + $default reduce using rule 174 (function_name) State 293 - 167 function_name: "operator" ">>=" . + 175 function_name: "operator" ">>=" . - $default reduce using rule 167 (function_name) + $default reduce using rule 175 (function_name) State 294 - 156 function_name: "operator" ">=" . + 164 function_name: "operator" ">=" . - $default reduce using rule 156 (function_name) + $default reduce using rule 164 (function_name) State 295 - 153 function_name: "operator" "==" . + 161 function_name: "operator" "==" . - $default reduce using rule 153 (function_name) + $default reduce using rule 161 (function_name) State 296 - 154 function_name: "operator" "!=" . + 162 function_name: "operator" "!=" . - $default reduce using rule 154 (function_name) + $default reduce using rule 162 (function_name) State 297 - 181 function_name: "operator" "??" . + 189 function_name: "operator" "??" . - $default reduce using rule 181 (function_name) + $default reduce using rule 189 (function_name) State 298 - 175 function_name: "operator" "?." . - 178 | "operator" "?." . "name" + 183 function_name: "operator" "?." . + 186 | "operator" "?." . "name" "name" shift, and go to state 378 - $default reduce using rule 175 (function_name) + $default reduce using rule 183 (function_name) State 299 - 173 function_name: "operator" "?[" . ']' + 181 function_name: "operator" "?[" . ']' ']' shift, and go to state 379 State 300 - 179 function_name: "operator" ":=" . + 187 function_name: "operator" ":=" . - $default reduce using rule 179 (function_name) + $default reduce using rule 187 (function_name) State 301 - 168 function_name: "operator" "<<<" . + 176 function_name: "operator" "<<<" . - $default reduce using rule 168 (function_name) + $default reduce using rule 176 (function_name) State 302 - 169 function_name: "operator" ">>>" . + 177 function_name: "operator" ">>>" . - $default reduce using rule 169 (function_name) + $default reduce using rule 177 (function_name) State 303 - 170 function_name: "operator" "<<<=" . + 178 function_name: "operator" "<<<=" . - $default reduce using rule 170 (function_name) + $default reduce using rule 178 (function_name) State 304 - 171 function_name: "operator" ">>>=" . + 179 function_name: "operator" ">>>=" . - $default reduce using rule 171 (function_name) + $default reduce using rule 179 (function_name) State 305 - 142 function_name: "operator" "&&" . + 150 function_name: "operator" "&&" . - $default reduce using rule 142 (function_name) + $default reduce using rule 150 (function_name) State 306 - 143 function_name: "operator" "||" . + 151 function_name: "operator" "||" . - $default reduce using rule 143 (function_name) + $default reduce using rule 151 (function_name) State 307 - 144 function_name: "operator" "^^" . + 152 function_name: "operator" "^^" . - $default reduce using rule 144 (function_name) + $default reduce using rule 152 (function_name) State 308 - 139 function_name: "operator" "&&=" . + 147 function_name: "operator" "&&=" . - $default reduce using rule 139 (function_name) + $default reduce using rule 147 (function_name) State 309 - 140 function_name: "operator" "||=" . + 148 function_name: "operator" "||=" . - $default reduce using rule 140 (function_name) + $default reduce using rule 148 (function_name) State 310 - 141 function_name: "operator" "^^=" . + 149 function_name: "operator" "^^=" . - $default reduce using rule 141 (function_name) + $default reduce using rule 149 (function_name) State 311 - 152 function_name: "operator" ".." . + 160 function_name: "operator" ".." . - $default reduce using rule 152 (function_name) + $default reduce using rule 160 (function_name) State 312 - 186 function_name: "operator" '?' . "as" - 187 | "operator" '?' . "as" "name" + 194 function_name: "operator" '?' . "as" + 195 | "operator" '?' . "as" "name" "as" shift, and go to state 380 State 313 - 158 function_name: "operator" '|' . + 166 function_name: "operator" '|' . - $default reduce using rule 158 (function_name) + $default reduce using rule 166 (function_name) State 314 - 159 function_name: "operator" '^' . + 167 function_name: "operator" '^' . - $default reduce using rule 159 (function_name) + $default reduce using rule 167 (function_name) State 315 - 157 function_name: "operator" '&' . + 165 function_name: "operator" '&' . - $default reduce using rule 157 (function_name) + $default reduce using rule 165 (function_name) State 316 - 150 function_name: "operator" '<' . + 158 function_name: "operator" '<' . - $default reduce using rule 150 (function_name) + $default reduce using rule 158 (function_name) State 317 - 151 function_name: "operator" '>' . + 159 function_name: "operator" '>' . - $default reduce using rule 151 (function_name) + $default reduce using rule 159 (function_name) State 318 - 146 function_name: "operator" '-' . + 154 function_name: "operator" '-' . - $default reduce using rule 146 (function_name) + $default reduce using rule 154 (function_name) State 319 - 145 function_name: "operator" '+' . + 153 function_name: "operator" '+' . - $default reduce using rule 145 (function_name) + $default reduce using rule 153 (function_name) State 320 - 147 function_name: "operator" '*' . + 155 function_name: "operator" '*' . - $default reduce using rule 147 (function_name) + $default reduce using rule 155 (function_name) State 321 - 148 function_name: "operator" '/' . + 156 function_name: "operator" '/' . - $default reduce using rule 148 (function_name) + $default reduce using rule 156 (function_name) State 322 - 149 function_name: "operator" '%' . + 157 function_name: "operator" '%' . - $default reduce using rule 149 (function_name) + $default reduce using rule 157 (function_name) State 323 - 130 function_name: "operator" '~' . + 138 function_name: "operator" '~' . - $default reduce using rule 130 (function_name) + $default reduce using rule 138 (function_name) State 324 - 129 function_name: "operator" '!' . + 137 function_name: "operator" '!' . - $default reduce using rule 129 (function_name) + $default reduce using rule 137 (function_name) State 325 - 174 function_name: "operator" '.' . - 176 | "operator" '.' . "name" - 177 | "operator" '.' . "name" ":=" + 182 function_name: "operator" '.' . + 184 | "operator" '.' . "name" + 185 | "operator" '.' . "name" ":=" "name" shift, and go to state 381 - $default reduce using rule 174 (function_name) + $default reduce using rule 182 (function_name) State 326 - 172 function_name: "operator" '[' . ']' + 180 function_name: "operator" '[' . ']' ']' shift, and go to state 382 State 327 - 160 function_name: "++" "operator" . + 168 function_name: "++" "operator" . - $default reduce using rule 160 (function_name) + $default reduce using rule 168 (function_name) State 328 - 161 function_name: "--" "operator" . + 169 function_name: "--" "operator" . - $default reduce using rule 161 (function_name) + $default reduce using rule 169 (function_name) State 329 - 124 optional_function_argument_list: '(' . ')' - 125 | '(' . function_argument_list ')' + 132 optional_function_argument_list: '(' . ')' + 133 | '(' . function_argument_list ')' "$a" shift, and go to state 383 ')' shift, and go to state 384 '@' shift, and go to state 214 - $default reduce using rule 484 (optional_field_annotation) + $default reduce using rule 492 (optional_field_annotation) metadata_argument_list go to state 215 optional_field_annotation go to state 385 @@ -5243,32 +5281,32 @@ State 329 State 330 - 217 function_declaration_header: function_name optional_function_argument_list . optional_function_type + 225 function_declaration_header: function_name optional_function_argument_list . optional_function_type ':' shift, and go to state 388 - $default reduce using rule 126 (optional_function_type) + $default reduce using rule 134 (optional_function_type) optional_function_type go to state 389 State 331 - 219 function_declaration: optional_public_or_private_function $@6 function_declaration_header expression_block . + 227 function_declaration: optional_public_or_private_function $@6 function_declaration_header expression_block . - $default reduce using rule 219 (function_declaration) + $default reduce using rule 227 (function_declaration) State 332 - 226 expression_block: $@9 . '{' expressions $@10 '}' expression_block_finally + 234 expression_block: $@9 . '{' expressions $@10 '}' expression_block_finally '{' shift, and go to state 390 State 333 - 579 optional_enum_basic_type_declaration: ':' . enum_basic_type_declaration + 587 optional_enum_basic_type_declaration: ':' . enum_basic_type_declaration "int" shift, and go to state 391 "uint" shift, and go to state 392 @@ -5284,59 +5322,59 @@ State 333 State 334 - 585 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration . optional_commas '{' $@40 enum_list optional_commas $@41 '}' + 597 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration . optional_emit_commas '{' $@40 enum_list optional_commas $@41 '}' - ',' shift, and go to state 168 + "emitted ," shift, and go to state 168 - $default reduce using rule 580 (optional_commas) + $default reduce using rule 592 (optional_emit_commas) - commas go to state 169 - optional_commas go to state 400 + emit_commas go to state 169 + optional_emit_commas go to state 400 State 335 - 590 structure_name: optional_sealed "name" . optional_structure_parent + 602 structure_name: optional_sealed "name" . optional_structure_parent ':' shift, and go to state 401 - $default reduce using rule 586 (optional_structure_parent) + $default reduce using rule 598 (optional_structure_parent) optional_structure_parent go to state 402 State 336 - 600 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 structure_name $@43 . optional_struct_variable_declaration_list + 612 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 structure_name $@43 . optional_struct_variable_declaration_list '{' shift, and go to state 403 - $default reduce using rule 596 (optional_struct_variable_declaration_list) + $default reduce using rule 608 (optional_struct_variable_declaration_list) optional_struct_variable_declaration_list go to state 404 State 337 - 555 global_variable_declaration_list: global_variable_declaration_list ';' . + 563 global_variable_declaration_list: global_variable_declaration_list ';' . - $default reduce using rule 555 (global_variable_declaration_list) + $default reduce using rule 563 (global_variable_declaration_list) State 338 - 558 global_let: kwd_let optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' . + 566 global_let: kwd_let optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' . - $default reduce using rule 558 (global_let) + $default reduce using rule 566 (global_let) State 339 - 557 global_variable_declaration_list: global_variable_declaration_list $@36 . optional_field_annotation let_variable_declaration + 565 global_variable_declaration_list: global_variable_declaration_list $@36 . optional_field_annotation let_variable_declaration '@' shift, and go to state 214 - $default reduce using rule 484 (optional_field_annotation) + $default reduce using rule 492 (optional_field_annotation) metadata_argument_list go to state 215 optional_field_annotation go to state 405 @@ -5344,14 +5382,14 @@ State 339 State 340 - 105 metadata_argument_list: '@' annotation_argument . + 113 metadata_argument_list: '@' annotation_argument . - $default reduce using rule 105 (metadata_argument_list) + $default reduce using rule 113 (metadata_argument_list) State 341 - 106 metadata_argument_list: metadata_argument_list '@' . annotation_argument + 114 metadata_argument_list: metadata_argument_list '@' . annotation_argument "type" shift, and go to state 32 "in" shift, and go to state 33 @@ -5363,71 +5401,71 @@ State 341 State 342 - 538 global_let_variable_name_with_pos_list: "name" . + 546 global_let_variable_name_with_pos_list: "name" . - $default reduce using rule 538 (global_let_variable_name_with_pos_list) + $default reduce using rule 546 (global_let_variable_name_with_pos_list) State 343 - 539 global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list . ',' "name" - 546 global_let_variable_declaration: global_let_variable_name_with_pos_list . ':' type_declaration_no_options ';' - 547 | global_let_variable_name_with_pos_list . ':' type_declaration_no_options copy_or_move_or_clone expr ';' - 548 | global_let_variable_name_with_pos_list . optional_ref copy_or_move_or_clone expr ';' + 547 global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list . ',' "name" + 554 global_let_variable_declaration: global_let_variable_name_with_pos_list . ':' type_declaration_no_options ';' + 555 | global_let_variable_name_with_pos_list . ':' type_declaration_no_options copy_or_move_or_clone expr ';' + 556 | global_let_variable_name_with_pos_list . optional_ref copy_or_move_or_clone expr ';' ',' shift, and go to state 407 ':' shift, and go to state 408 '&' shift, and go to state 409 - $default reduce using rule 531 (optional_ref) + $default reduce using rule 539 (optional_ref) optional_ref go to state 410 State 344 - 560 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration . + 568 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration . - $default reduce using rule 560 (global_let) + $default reduce using rule 568 (global_let) State 345 - 91 annotation_argument_value_list: annotation_argument_value_list ',' annotation_argument_value . + 99 annotation_argument_value_list: annotation_argument_value_list ',' annotation_argument_value . - $default reduce using rule 91 (annotation_argument_value_list) + $default reduce using rule 99 (annotation_argument_value_list) State 346 - 669 type_declaration_no_options_no_dim: "type" '<' . $@46 type_declaration '>' $@47 + 681 type_declaration_no_options_no_dim: "type" '<' . $@46 type_declaration '>' $@47 - $default reduce using rule 667 ($@46) + $default reduce using rule 679 ($@46) $@46 go to state 411 State 347 - 692 type_declaration_no_options_no_dim: "array" '<' . $@51 type_declaration '>' $@52 + 704 type_declaration_no_options_no_dim: "array" '<' . $@51 type_declaration '>' $@52 - $default reduce using rule 690 ($@51) + $default reduce using rule 702 ($@51) $@51 go to state 412 State 348 - 695 type_declaration_no_options_no_dim: "table" '<' . $@53 table_type_pair '>' $@54 + 707 type_declaration_no_options_no_dim: "table" '<' . $@53 table_type_pair '>' $@54 - $default reduce using rule 693 ($@53) + $default reduce using rule 705 ($@53) $@53 go to state 413 State 349 - 670 type_declaration_no_options_no_dim: "typedecl" '(' . expr ')' + 682 type_declaration_no_options_no_dim: "typedecl" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -5538,47 +5576,47 @@ State 349 State 350 - 698 type_declaration_no_options_no_dim: "iterator" '<' . $@55 type_declaration '>' $@56 + 710 type_declaration_no_options_no_dim: "iterator" '<' . $@55 type_declaration '>' $@56 - $default reduce using rule 696 ($@55) + $default reduce using rule 708 ($@55) $@55 go to state 489 State 351 - 688 type_declaration_no_options_no_dim: "smart_ptr" '<' . $@49 type_declaration '>' $@50 + 700 type_declaration_no_options_no_dim: "smart_ptr" '<' . $@49 type_declaration '>' $@50 - $default reduce using rule 686 ($@49) + $default reduce using rule 698 ($@49) $@49 go to state 490 State 352 - 643 auto_type_declaration: "auto" '(' . "name" ')' + 655 auto_type_declaration: "auto" '(' . "name" ')' "name" shift, and go to state 491 State 353 - 652 bitfield_type_declaration: "bitfield" '<' . $@44 bitfield_bits '>' $@45 + 664 bitfield_type_declaration: "bitfield" '<' . $@44 bitfield_bits '>' $@45 - $default reduce using rule 650 ($@44) + $default reduce using rule 662 ($@44) $@44 go to state 492 State 354 - 702 type_declaration_no_options_no_dim: "block" '<' . $@57 type_declaration '>' $@58 - 705 | "block" '<' . $@59 optional_function_argument_list optional_function_type '>' $@60 + 714 type_declaration_no_options_no_dim: "block" '<' . $@57 type_declaration '>' $@58 + 717 | "block" '<' . $@59 optional_function_argument_list optional_function_type '>' $@60 - ':' reduce using rule 703 ($@59) - '>' reduce using rule 703 ($@59) - '(' reduce using rule 703 ($@59) - $default reduce using rule 700 ($@57) + ':' reduce using rule 715 ($@59) + '>' reduce using rule 715 ($@59) + '(' reduce using rule 715 ($@59) + $default reduce using rule 712 ($@57) $@57 go to state 493 $@59 go to state 494 @@ -5586,13 +5624,13 @@ State 354 State 355 - 709 type_declaration_no_options_no_dim: "function" '<' . $@61 type_declaration '>' $@62 - 712 | "function" '<' . $@63 optional_function_argument_list optional_function_type '>' $@64 + 721 type_declaration_no_options_no_dim: "function" '<' . $@61 type_declaration '>' $@62 + 724 | "function" '<' . $@63 optional_function_argument_list optional_function_type '>' $@64 - ':' reduce using rule 710 ($@63) - '>' reduce using rule 710 ($@63) - '(' reduce using rule 710 ($@63) - $default reduce using rule 707 ($@61) + ':' reduce using rule 722 ($@63) + '>' reduce using rule 722 ($@63) + '(' reduce using rule 722 ($@63) + $default reduce using rule 719 ($@61) $@61 go to state 495 $@63 go to state 496 @@ -5600,13 +5638,13 @@ State 355 State 356 - 716 type_declaration_no_options_no_dim: "lambda" '<' . $@65 type_declaration '>' $@66 - 719 | "lambda" '<' . $@67 optional_function_argument_list optional_function_type '>' $@68 + 728 type_declaration_no_options_no_dim: "lambda" '<' . $@65 type_declaration '>' $@66 + 731 | "lambda" '<' . $@67 optional_function_argument_list optional_function_type '>' $@68 - ':' reduce using rule 717 ($@67) - '>' reduce using rule 717 ($@67) - '(' reduce using rule 717 ($@67) - $default reduce using rule 714 ($@65) + ':' reduce using rule 729 ($@67) + '>' reduce using rule 729 ($@67) + '(' reduce using rule 729 ($@67) + $default reduce using rule 726 ($@65) $@65 go to state 497 $@67 go to state 498 @@ -5614,25 +5652,25 @@ State 356 State 357 - 722 type_declaration_no_options_no_dim: "tuple" '<' . $@69 tuple_type_list '>' $@70 + 734 type_declaration_no_options_no_dim: "tuple" '<' . $@69 tuple_type_list '>' $@70 - $default reduce using rule 720 ($@69) + $default reduce using rule 732 ($@69) $@69 go to state 499 State 358 - 725 type_declaration_no_options_no_dim: "variant" '<' . $@71 variant_type_list '>' $@72 + 737 type_declaration_no_options_no_dim: "variant" '<' . $@71 variant_type_list '>' $@72 - $default reduce using rule 723 ($@71) + $default reduce using rule 735 ($@71) $@71 go to state 500 State 359 - 644 auto_type_declaration: "$t" '(' . expr ')' + 656 auto_type_declaration: "$t" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -5743,8 +5781,8 @@ State 359 State 360 - 671 type_declaration_no_options_no_dim: '$' name_in_namespace . '(' optional_expr_list ')' - 673 | '$' name_in_namespace . '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' + 683 type_declaration_no_options_no_dim: '$' name_in_namespace . '(' optional_expr_list ')' + 685 | '$' name_in_namespace . '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' '<' shift, and go to state 502 '(' shift, and go to state 503 @@ -5752,29 +5790,29 @@ State 360 State 361 - 676 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "const" . + 688 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "const" . - $default reduce using rule 676 (type_declaration_no_options_no_dim) + $default reduce using rule 688 (type_declaration_no_options_no_dim) State 362 - 681 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "implicit" . + 693 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "implicit" . - $default reduce using rule 681 (type_declaration_no_options_no_dim) + $default reduce using rule 693 (type_declaration_no_options_no_dim) State 363 - 675 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "explicit" . + 687 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "explicit" . - $default reduce using rule 675 (type_declaration_no_options_no_dim) + $default reduce using rule 687 (type_declaration_no_options_no_dim) State 364 - 683 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" . "const" - 684 | type_declaration_no_options_no_dim "==" . '&' + 695 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" . "const" + 696 | type_declaration_no_options_no_dim "==" . '&' "const" shift, and go to state 504 '&' shift, and go to state 505 @@ -5782,31 +5820,31 @@ State 364 State 365 - 689 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "??" . + 701 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "??" . - $default reduce using rule 689 (type_declaration_no_options_no_dim) + $default reduce using rule 701 (type_declaration_no_options_no_dim) State 366 - 685 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '?' . + 697 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '?' . - $default reduce using rule 685 (type_declaration_no_options_no_dim) + $default reduce using rule 697 (type_declaration_no_options_no_dim) State 367 - 678 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '&' . + 690 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '&' . - $default reduce using rule 678 (type_declaration_no_options_no_dim) + $default reduce using rule 690 (type_declaration_no_options_no_dim) State 368 - 674 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' . '[' ']' - 677 | type_declaration_no_options_no_dim '-' . "const" - 679 | type_declaration_no_options_no_dim '-' . '&' - 682 | type_declaration_no_options_no_dim '-' . '#' + 686 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' . '[' ']' + 689 | type_declaration_no_options_no_dim '-' . "const" + 691 | type_declaration_no_options_no_dim '-' . '&' + 694 | type_declaration_no_options_no_dim '-' . '#' "const" shift, and go to state 506 '&' shift, and go to state 507 @@ -5816,8 +5854,8 @@ State 368 State 369 - 657 dim_list: '[' . expr ']' - 658 | '[' . ']' + 669 dim_list: '[' . expr ']' + 670 | '[' . ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -5929,26 +5967,26 @@ State 369 State 370 - 680 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '#' . + 692 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '#' . - $default reduce using rule 680 (type_declaration_no_options_no_dim) + $default reduce using rule 692 (type_declaration_no_options_no_dim) State 371 - 659 dim_list: dim_list . '[' expr ']' - 660 | dim_list . '[' ']' - 662 type_declaration_no_options: type_declaration_no_options_no_dim dim_list . + 671 dim_list: dim_list . '[' expr ']' + 672 | dim_list . '[' ']' + 674 type_declaration_no_options: type_declaration_no_options_no_dim dim_list . '[' shift, and go to state 512 - $default reduce using rule 662 (type_declaration_no_options) + $default reduce using rule 674 (type_declaration_no_options) State 372 - 727 type_declaration: type_declaration '|' . type_declaration_no_options - 728 | type_declaration '|' . '#' + 739 type_declaration: type_declaration '|' . type_declaration_no_options + 740 | type_declaration '|' . '#' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -6006,123 +6044,123 @@ State 372 State 373 - 743 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_commas $@82 '{' . $@83 bitfield_alias_bits optional_commas $@84 '}' + 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' . $@83 bitfield_alias_bits optional_commas $@84 '}' - $default reduce using rule 741 ($@83) + $default reduce using rule 753 ($@83) $@83 go to state 515 State 374 - 733 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_semis $@74 '{' . $@75 tuple_alias_type_list optional_semis $@76 '}' + 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' . $@75 tuple_alias_type_list optional_semis $@76 '}' - $default reduce using rule 731 ($@75) + $default reduce using rule 743 ($@75) $@75 go to state 516 State 375 - 738 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_semis $@78 '{' . $@79 variant_alias_type_list optional_semis $@80 '}' + 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' . $@79 variant_alias_type_list optional_semis $@80 '}' - $default reduce using rule 736 ($@79) + $default reduce using rule 748 ($@79) $@79 go to state 517 State 376 - 184 function_name: "operator" "is" "name" . + 192 function_name: "operator" "is" "name" . - $default reduce using rule 184 (function_name) + $default reduce using rule 192 (function_name) State 377 - 185 function_name: "operator" "as" "name" . + 193 function_name: "operator" "as" "name" . - $default reduce using rule 185 (function_name) + $default reduce using rule 193 (function_name) State 378 - 178 function_name: "operator" "?." "name" . + 186 function_name: "operator" "?." "name" . - $default reduce using rule 178 (function_name) + $default reduce using rule 186 (function_name) State 379 - 173 function_name: "operator" "?[" ']' . + 181 function_name: "operator" "?[" ']' . - $default reduce using rule 173 (function_name) + $default reduce using rule 181 (function_name) State 380 - 186 function_name: "operator" '?' "as" . - 187 | "operator" '?' "as" . "name" + 194 function_name: "operator" '?' "as" . + 195 | "operator" '?' "as" . "name" "name" shift, and go to state 518 - $default reduce using rule 186 (function_name) + $default reduce using rule 194 (function_name) State 381 - 176 function_name: "operator" '.' "name" . - 177 | "operator" '.' "name" . ":=" + 184 function_name: "operator" '.' "name" . + 185 | "operator" '.' "name" . ":=" ":=" shift, and go to state 519 - $default reduce using rule 176 (function_name) + $default reduce using rule 184 (function_name) State 382 - 172 function_name: "operator" '[' ']' . + 180 function_name: "operator" '[' ']' . - $default reduce using rule 172 (function_name) + $default reduce using rule 180 (function_name) State 383 - 505 function_argument_declaration: "$a" . '(' expr ')' + 513 function_argument_declaration: "$a" . '(' expr ')' '(' shift, and go to state 520 State 384 - 124 optional_function_argument_list: '(' ')' . + 132 optional_function_argument_list: '(' ')' . - $default reduce using rule 124 (optional_function_argument_list) + $default reduce using rule 132 (optional_function_argument_list) State 385 - 504 function_argument_declaration: optional_field_annotation . kwd_let_var_or_nothing variable_declaration + 512 function_argument_declaration: optional_field_annotation . kwd_let_var_or_nothing variable_declaration "let" shift, and go to state 521 "var" shift, and go to state 522 - $default reduce using rule 281 (kwd_let_var_or_nothing) + $default reduce using rule 289 (kwd_let_var_or_nothing) kwd_let_var_or_nothing go to state 523 State 386 - 506 function_argument_list: function_argument_declaration . + 514 function_argument_list: function_argument_declaration . - $default reduce using rule 506 (function_argument_list) + $default reduce using rule 514 (function_argument_list) State 387 - 125 optional_function_argument_list: '(' function_argument_list . ')' - 507 function_argument_list: function_argument_list . ';' function_argument_declaration + 133 optional_function_argument_list: '(' function_argument_list . ')' + 515 function_argument_list: function_argument_list . ';' function_argument_declaration ')' shift, and go to state 524 ';' shift, and go to state 525 @@ -6130,7 +6168,7 @@ State 387 State 388 - 127 optional_function_type: ':' . type_declaration + 135 optional_function_type: ':' . type_declaration "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -6188,93 +6226,93 @@ State 388 State 389 - 217 function_declaration_header: function_name optional_function_argument_list optional_function_type . + 225 function_declaration_header: function_name optional_function_argument_list optional_function_type . - $default reduce using rule 217 (function_declaration_header) + $default reduce using rule 225 (function_declaration_header) State 390 - 226 expression_block: $@9 '{' . expressions $@10 '}' expression_block_finally + 234 expression_block: $@9 '{' . expressions $@10 '}' expression_block_finally - $default reduce using rule 247 (expressions) + $default reduce using rule 255 (expressions) expressions go to state 527 State 391 - 633 enum_basic_type_declaration: "int" . + 645 enum_basic_type_declaration: "int" . - $default reduce using rule 633 (enum_basic_type_declaration) + $default reduce using rule 645 (enum_basic_type_declaration) State 392 - 636 enum_basic_type_declaration: "uint" . + 648 enum_basic_type_declaration: "uint" . - $default reduce using rule 636 (enum_basic_type_declaration) + $default reduce using rule 648 (enum_basic_type_declaration) State 393 - 639 enum_basic_type_declaration: "int64" . + 651 enum_basic_type_declaration: "int64" . - $default reduce using rule 639 (enum_basic_type_declaration) + $default reduce using rule 651 (enum_basic_type_declaration) State 394 - 640 enum_basic_type_declaration: "uint64" . + 652 enum_basic_type_declaration: "uint64" . - $default reduce using rule 640 (enum_basic_type_declaration) + $default reduce using rule 652 (enum_basic_type_declaration) State 395 - 634 enum_basic_type_declaration: "int8" . + 646 enum_basic_type_declaration: "int8" . - $default reduce using rule 634 (enum_basic_type_declaration) + $default reduce using rule 646 (enum_basic_type_declaration) State 396 - 637 enum_basic_type_declaration: "uint8" . + 649 enum_basic_type_declaration: "uint8" . - $default reduce using rule 637 (enum_basic_type_declaration) + $default reduce using rule 649 (enum_basic_type_declaration) State 397 - 635 enum_basic_type_declaration: "int16" . + 647 enum_basic_type_declaration: "int16" . - $default reduce using rule 635 (enum_basic_type_declaration) + $default reduce using rule 647 (enum_basic_type_declaration) State 398 - 638 enum_basic_type_declaration: "uint16" . + 650 enum_basic_type_declaration: "uint16" . - $default reduce using rule 638 (enum_basic_type_declaration) + $default reduce using rule 650 (enum_basic_type_declaration) State 399 - 579 optional_enum_basic_type_declaration: ':' enum_basic_type_declaration . + 587 optional_enum_basic_type_declaration: ':' enum_basic_type_declaration . - $default reduce using rule 579 (optional_enum_basic_type_declaration) + $default reduce using rule 587 (optional_enum_basic_type_declaration) State 400 - 585 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_commas . '{' $@40 enum_list optional_commas $@41 '}' + 597 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_emit_commas . '{' $@40 enum_list optional_commas $@41 '}' '{' shift, and go to state 528 State 401 - 587 optional_structure_parent: ':' . name_in_namespace + 599 optional_structure_parent: ':' . name_in_namespace "::" shift, and go to state 55 "name" shift, and go to state 56 @@ -6284,30 +6322,30 @@ State 401 State 402 - 590 structure_name: optional_sealed "name" optional_structure_parent . + 602 structure_name: optional_sealed "name" optional_structure_parent . - $default reduce using rule 590 (structure_name) + $default reduce using rule 602 (structure_name) State 403 - 597 optional_struct_variable_declaration_list: '{' . struct_variable_declaration_list '}' + 609 optional_struct_variable_declaration_list: '{' . struct_variable_declaration_list '}' - $default reduce using rule 497 (struct_variable_declaration_list) + $default reduce using rule 505 (struct_variable_declaration_list) struct_variable_declaration_list go to state 530 State 404 - 600 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 structure_name $@43 optional_struct_variable_declaration_list . + 612 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 structure_name $@43 optional_struct_variable_declaration_list . - $default reduce using rule 600 (structure_declaration) + $default reduce using rule 612 (structure_declaration) State 405 - 557 global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation . let_variable_declaration + 565 global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation . let_variable_declaration "$i" shift, and go to state 531 "name" shift, and go to state 532 @@ -6318,22 +6356,22 @@ State 405 State 406 - 106 metadata_argument_list: metadata_argument_list '@' annotation_argument . + 114 metadata_argument_list: metadata_argument_list '@' annotation_argument . - $default reduce using rule 106 (metadata_argument_list) + $default reduce using rule 114 (metadata_argument_list) State 407 - 539 global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list ',' . "name" + 547 global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list ',' . "name" "name" shift, and go to state 535 State 408 - 546 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' . type_declaration_no_options ';' - 547 | global_let_variable_name_with_pos_list ':' . type_declaration_no_options copy_or_move_or_clone expr ';' + 554 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' . type_declaration_no_options ';' + 555 | global_let_variable_name_with_pos_list ':' . type_declaration_no_options copy_or_move_or_clone expr ';' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -6390,14 +6428,14 @@ State 408 State 409 - 532 optional_ref: '&' . + 540 optional_ref: '&' . - $default reduce using rule 532 (optional_ref) + $default reduce using rule 540 (optional_ref) State 410 - 548 global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref . copy_or_move_or_clone expr ';' + 556 global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref . copy_or_move_or_clone expr ';' "<-" shift, and go to state 537 ":=" shift, and go to state 538 @@ -6408,7 +6446,7 @@ State 410 State 411 - 669 type_declaration_no_options_no_dim: "type" '<' $@46 . type_declaration '>' $@47 + 681 type_declaration_no_options_no_dim: "type" '<' $@46 . type_declaration '>' $@47 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -6466,7 +6504,7 @@ State 411 State 412 - 692 type_declaration_no_options_no_dim: "array" '<' $@51 . type_declaration '>' $@52 + 704 type_declaration_no_options_no_dim: "array" '<' $@51 . type_declaration '>' $@52 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -6524,7 +6562,7 @@ State 412 State 413 - 695 type_declaration_no_options_no_dim: "table" '<' $@53 . table_type_pair '>' $@54 + 707 type_declaration_no_options_no_dim: "table" '<' $@53 . table_type_pair '>' $@54 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -6583,40 +6621,40 @@ State 413 State 414 - 769 make_struct_decl: "struct" . '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' + 781 make_struct_decl: "struct" . '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' '<' shift, and go to state 545 State 415 - 772 make_struct_decl: "class" . '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' + 784 make_struct_decl: "class" . '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' '<' shift, and go to state 546 State 416 - 389 expr: "true" . + 397 expr: "true" . - $default reduce using rule 389 (expr) + $default reduce using rule 397 (expr) State 417 - 390 expr: "false" . + 398 expr: "false" . - $default reduce using rule 390 (expr) + $default reduce using rule 398 (expr) State 418 - 265 expr_new: "new" . new_type_declaration - 266 | "new" . new_type_declaration '(' use_initializer ')' - 267 | "new" . new_type_declaration '(' expr_list ')' - 268 | "new" . new_type_declaration '(' make_struct_single ')' - 269 | "new" . new_type_declaration '(' "uninitialized" make_struct_single ')' - 270 | "new" . make_decl + 273 expr_new: "new" . new_type_declaration + 274 | "new" . new_type_declaration '(' use_initializer ')' + 275 | "new" . new_type_declaration '(' expr_list ')' + 276 | "new" . new_type_declaration '(' make_struct_single ')' + 277 | "new" . new_type_declaration '(' "uninitialized" make_struct_single ')' + 278 | "new" . make_decl "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -6645,9 +6683,9 @@ State 418 State 419 - 305 expr_type_info: "typeinfo" . name_in_namespace '(' expr ')' - 306 | "typeinfo" . name_in_namespace '<' "name" '>' '(' expr ')' - 307 | "typeinfo" . name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' + 313 expr_type_info: "typeinfo" . name_in_namespace '(' expr ')' + 314 | "typeinfo" . name_in_namespace '<' "name" '>' '(' expr ')' + 315 | "typeinfo" . name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' "::" shift, and go to state 55 "name" shift, and go to state 56 @@ -6657,18 +6695,18 @@ State 419 State 420 - 304 expr_type_decl: "type" . '<' $@19 type_declaration '>' $@20 + 312 expr_type_decl: "type" . '<' $@19 type_declaration '>' $@20 '<' shift, and go to state 552 State 421 - 788 make_dim_decl: "array" . "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' - 791 | "array" . "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' - 794 | "array" . "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' - 795 | "array" . '(' expr_list optional_comma ')' - 798 | "array" . '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' + 800 make_dim_decl: "array" . "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' + 803 | "array" . "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' + 806 | "array" . "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' + 807 | "array" . '(' expr_list optional_comma ')' + 810 | "array" . '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' "struct" shift, and go to state 553 "tuple" shift, and go to state 554 @@ -6679,16 +6717,16 @@ State 421 State 422 - 383 expr: "null" . + 391 expr: "null" . - $default reduce using rule 383 (expr) + $default reduce using rule 391 (expr) State 423 - 806 make_table_decl: "table" . '(' expr_map_tuple_list optional_comma ')' - 807 | "table" . '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' - 808 | "table" . '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + 818 make_table_decl: "table" . '(' expr_map_tuple_list optional_comma ')' + 819 | "table" . '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + 820 | "table" . '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' '<' shift, and go to state 558 '(' shift, and go to state 559 @@ -6696,50 +6734,50 @@ State 423 State 424 - 433 expr: "deref" . '(' expr ')' + 441 expr: "deref" . '(' expr ')' '(' shift, and go to state 560 State 425 - 295 expr_cast: "cast" . '<' $@13 type_declaration_no_options '>' $@14 expr + 303 expr_cast: "cast" . '<' $@13 type_declaration_no_options '>' $@14 expr '<' shift, and go to state 561 State 426 - 298 expr_cast: "upcast" . '<' $@15 type_declaration_no_options '>' $@16 expr + 306 expr_cast: "upcast" . '<' $@15 type_declaration_no_options '>' $@16 expr '<' shift, and go to state 562 State 427 - 434 expr: "addr" . '(' expr ')' + 442 expr: "addr" . '(' expr ')' '(' shift, and go to state 563 State 428 - 301 expr_cast: "reinterpret" . '<' $@17 type_declaration_no_options '>' $@18 expr + 309 expr_cast: "reinterpret" . '<' $@17 type_declaration_no_options '>' $@18 expr '<' shift, and go to state 564 State 429 - 464 expr: "unsafe" . '(' expr ')' + 472 expr: "unsafe" . '(' expr ')' '(' shift, and go to state 565 State 430 - 799 make_dim_decl: "fixed_array" . '(' expr_list optional_comma ')' - 802 | "fixed_array" . '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' + 811 make_dim_decl: "fixed_array" . '(' expr_list optional_comma ')' + 814 | "fixed_array" . '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' '<' shift, and go to state 566 '(' shift, and go to state 567 @@ -6747,22 +6785,22 @@ State 430 State 431 - 778 make_struct_decl: "default" . '<' $@91 type_declaration_no_options '>' $@92 use_initializer + 790 make_struct_decl: "default" . '<' $@91 type_declaration_no_options '>' $@92 use_initializer '<' shift, and go to state 568 State 432 - 632 basic_type_declaration: "bitfield" . + 644 basic_type_declaration: "bitfield" . - $default reduce using rule 632 (basic_type_declaration) + $default reduce using rule 644 (basic_type_declaration) State 433 - 781 make_tuple_call: "tuple" . '(' expr_list optional_comma ')' - 784 | "tuple" . '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' + 793 make_tuple_call: "tuple" . '(' expr_list optional_comma ')' + 796 | "tuple" . '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' '<' shift, and go to state 569 '(' shift, and go to state 570 @@ -6770,23 +6808,23 @@ State 433 State 434 - 775 make_struct_decl: "variant" . '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' + 787 make_struct_decl: "variant" . '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' '<' shift, and go to state 571 State 435 - 465 expr_generator: "generator" . '<' type_declaration_no_options '>' optional_capture_list '(' ')' - 466 | "generator" . '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' - 467 | "generator" . '<' type_declaration_no_options '>' optional_capture_list optional_semis expression_block + 473 expr_generator: "generator" . '<' type_declaration_no_options '>' optional_capture_list '(' ')' + 474 | "generator" . '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' + 475 | "generator" . '<' type_declaration_no_options '>' optional_capture_list optional_emit_semis expression_block '<' shift, and go to state 572 State 436 - 419 expr: "++" . expr + 427 expr: "++" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -6897,7 +6935,7 @@ State 436 State 437 - 420 expr: "--" . expr + 428 expr: "--" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -7008,115 +7046,115 @@ State 437 State 438 - 468 expr_mtag: "$$" . '(' expr ')' + 476 expr_mtag: "$$" . '(' expr ')' '(' shift, and go to state 575 State 439 - 469 expr_mtag: "$i" . '(' expr ')' + 477 expr_mtag: "$i" . '(' expr ')' '(' shift, and go to state 576 State 440 - 470 expr_mtag: "$v" . '(' expr ')' + 478 expr_mtag: "$v" . '(' expr ')' '(' shift, and go to state 577 State 441 - 471 expr_mtag: "$b" . '(' expr ')' + 479 expr_mtag: "$b" . '(' expr ')' '(' shift, and go to state 578 State 442 - 472 expr_mtag: "$a" . '(' expr ')' + 480 expr_mtag: "$a" . '(' expr ')' '(' shift, and go to state 579 State 443 - 474 expr_mtag: "$c" . '(' expr ')' '(' ')' - 475 | "$c" . '(' expr ')' '(' expr_list ')' + 482 expr_mtag: "$c" . '(' expr ')' '(' ')' + 483 | "$c" . '(' expr ')' '(' expr_list ')' '(' shift, and go to state 580 State 444 - 473 expr_mtag: "..." . + 481 expr_mtag: "..." . - $default reduce using rule 473 (expr_mtag) + $default reduce using rule 481 (expr_mtag) State 445 - 328 expr_numeric_const: "integer constant" . + 336 expr_numeric_const: "integer constant" . - $default reduce using rule 328 (expr_numeric_const) + $default reduce using rule 336 (expr_numeric_const) State 446 - 330 expr_numeric_const: "long integer constant" . + 338 expr_numeric_const: "long integer constant" . - $default reduce using rule 330 (expr_numeric_const) + $default reduce using rule 338 (expr_numeric_const) State 447 - 329 expr_numeric_const: "unsigned integer constant" . + 337 expr_numeric_const: "unsigned integer constant" . - $default reduce using rule 329 (expr_numeric_const) + $default reduce using rule 337 (expr_numeric_const) State 448 - 331 expr_numeric_const: "unsigned long integer constant" . + 339 expr_numeric_const: "unsigned long integer constant" . - $default reduce using rule 331 (expr_numeric_const) + $default reduce using rule 339 (expr_numeric_const) State 449 - 332 expr_numeric_const: "unsigned int8 constant" . + 340 expr_numeric_const: "unsigned int8 constant" . - $default reduce using rule 332 (expr_numeric_const) + $default reduce using rule 340 (expr_numeric_const) State 450 - 333 expr_numeric_const: "floating point constant" . + 341 expr_numeric_const: "floating point constant" . - $default reduce using rule 333 (expr_numeric_const) + $default reduce using rule 341 (expr_numeric_const) State 451 - 334 expr_numeric_const: "double constant" . + 342 expr_numeric_const: "double constant" . - $default reduce using rule 334 (expr_numeric_const) + $default reduce using rule 342 (expr_numeric_const) State 452 - 32 string_builder: "start of the string" . string_builder_body "end of the string" + 36 string_builder: "start of the string" . string_builder_body "end of the string" - $default reduce using rule 29 (string_builder_body) + $default reduce using rule 33 (string_builder_body) string_builder_body go to state 581 State 453 - 396 expr: '-' . expr + 404 expr: '-' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -7227,7 +7265,7 @@ State 453 State 454 - 395 expr: '+' . expr + 403 expr: '+' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -7338,7 +7376,7 @@ State 454 State 455 - 432 expr: '*' . expr + 440 expr: '*' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -7449,7 +7487,7 @@ State 455 State 456 - 394 expr: '~' . expr + 402 expr: '~' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -7560,7 +7598,7 @@ State 456 State 457 - 393 expr: '!' . expr + 401 expr: '!' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -7671,9 +7709,9 @@ State 457 State 458 - 785 make_dim_decl: '[' . expr_list optional_comma ']' - 813 array_comprehension: '[' . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' - 814 | '[' . "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 797 make_dim_decl: '[' . expr_list optional_comma ']' + 825 array_comprehension: '[' . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 826 | '[' . "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -7787,7 +7825,7 @@ State 458 State 459 - 423 expr: '(' . expr_list optional_comma ')' + 431 expr: '(' . expr_list optional_comma ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -7899,29 +7937,29 @@ State 459 State 460 - 313 block_or_lambda: '$' . + 321 block_or_lambda: '$' . - $default reduce using rule 313 (block_or_lambda) + $default reduce using rule 321 (block_or_lambda) State 461 - 314 block_or_lambda: '@' . - 315 | '@' . '@' - 360 func_addr_expr: '@' . '@' func_addr_name - 363 | '@' . '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name - 366 | '@' . '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name - 483 expr_mtag: '@' . '@' "$c" '(' expr ')' + 322 block_or_lambda: '@' . + 323 | '@' . '@' + 368 func_addr_expr: '@' . '@' func_addr_name + 371 | '@' . '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name + 374 | '@' . '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name + 491 expr_mtag: '@' . '@' "$c" '(' expr ')' '@' shift, and go to state 592 - $default reduce using rule 314 (block_or_lambda) + $default reduce using rule 322 (block_or_lambda) State 462 - 805 make_table_decl: '{' . expr_map_tuple_list optional_comma '}' - 815 array_comprehension: '{' . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' + 817 make_table_decl: '{' . expr_map_tuple_list optional_comma '}' + 827 array_comprehension: '{' . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -8035,132 +8073,132 @@ State 462 State 463 - 387 expr: string_builder . + 395 expr: string_builder . - $default reduce using rule 387 (expr) + $default reduce using rule 395 (expr) State 464 - 386 expr: expr_reader . + 394 expr: expr_reader . - $default reduce using rule 386 (expr) + $default reduce using rule 394 (expr) State 465 - 463 expr: expr_call_pipe . + 471 expr: expr_call_pipe . - $default reduce using rule 463 (expr) + $default reduce using rule 471 (expr) State 466 - 354 expr_named_call: name_in_namespace . '(' '[' make_struct_fields ']' ')' - 355 | name_in_namespace . '(' expr_list ',' '[' make_struct_fields ']' ')' - 376 expr_call: name_in_namespace . '(' ')' - 377 | name_in_namespace . '(' "uninitialized" ')' - 378 | name_in_namespace . '(' make_struct_single ')' - 379 | name_in_namespace . '(' "uninitialized" make_struct_single ')' - 380 | name_in_namespace . '(' expr_list ')' - 384 expr: name_in_namespace . + 362 expr_named_call: name_in_namespace . '(' '[' make_struct_fields ']' ')' + 363 | name_in_namespace . '(' expr_list ',' '[' make_struct_fields ']' ')' + 384 expr_call: name_in_namespace . '(' ')' + 385 | name_in_namespace . '(' "uninitialized" ')' + 386 | name_in_namespace . '(' make_struct_single ')' + 387 | name_in_namespace . '(' "uninitialized" make_struct_single ')' + 388 | name_in_namespace . '(' expr_list ')' + 392 expr: name_in_namespace . '(' shift, and go to state 597 - $default reduce using rule 384 (expr) + $default reduce using rule 392 (expr) State 467 - 456 expr: expr_new . + 464 expr: expr_new . - $default reduce using rule 456 (expr) + $default reduce using rule 464 (expr) State 468 - 455 expr: expr_cast . + 463 expr: expr_cast . - $default reduce using rule 455 (expr) + $default reduce using rule 463 (expr) State 469 - 454 expr: expr_type_decl . + 462 expr: expr_type_decl . - $default reduce using rule 454 (expr) + $default reduce using rule 462 (expr) State 470 - 453 expr: expr_type_info . + 461 expr: expr_type_info . - $default reduce using rule 453 (expr) + $default reduce using rule 461 (expr) State 471 - 325 expr_full_block: block_or_lambda . optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_semis block_or_simple_block + 333 expr_full_block: block_or_lambda . optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_emit_semis block_or_simple_block '[' shift, and go to state 14 - $default reduce using rule 121 (optional_annotation_list) + $default reduce using rule 129 (optional_annotation_list) optional_annotation_list go to state 598 State 472 - 459 expr: expr_full_block . + 467 expr: expr_full_block . - $default reduce using rule 459 (expr) + $default reduce using rule 467 (expr) State 473 - 385 expr: expr_numeric_const . + 393 expr: expr_numeric_const . - $default reduce using rule 385 (expr) + $default reduce using rule 393 (expr) State 474 - 458 expr: expr_named_call . + 466 expr: expr_named_call . - $default reduce using rule 458 (expr) + $default reduce using rule 466 (expr) State 475 - 457 expr: expr_method_call . + 465 expr: expr_method_call . - $default reduce using rule 457 (expr) + $default reduce using rule 465 (expr) State 476 - 430 expr: func_addr_expr . + 438 expr: func_addr_expr . - $default reduce using rule 430 (expr) + $default reduce using rule 438 (expr) State 477 - 391 expr: expr_field . + 399 expr: expr_field . - $default reduce using rule 391 (expr) + $default reduce using rule 399 (expr) State 478 - 227 expr_call_pipe: expr_call . expr_full_block_assumed_piped - 431 expr: expr_call . + 235 expr_call_pipe: expr_call . expr_full_block_assumed_piped + 439 expr: expr_call . '$' shift, and go to state 460 '@' shift, and go to state 599 '{' shift, and go to state 600 - $default reduce using rule 431 (expr) + $default reduce using rule 439 (expr) block_or_lambda go to state 601 expr_full_block_assumed_piped go to state 602 @@ -8168,67 +8206,67 @@ State 478 State 479 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 670 type_declaration_no_options_no_dim: "typedecl" '(' expr . ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 682 type_declaration_no_options_no_dim: "typedecl" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -8270,71 +8308,71 @@ State 479 State 480 - 435 expr: expr_generator . + 443 expr: expr_generator . - $default reduce using rule 435 (expr) + $default reduce using rule 443 (expr) State 481 - 392 expr: expr_mtag . + 400 expr: expr_mtag . - $default reduce using rule 392 (expr) + $default reduce using rule 400 (expr) State 482 - 381 expr_call: basic_type_declaration . '(' ')' - 382 | basic_type_declaration . '(' expr_list ')' + 389 expr_call: basic_type_declaration . '(' ')' + 390 | basic_type_declaration . '(' expr_list ')' '(' shift, and go to state 639 State 483 - 388 expr: make_decl . + 396 expr: make_decl . - $default reduce using rule 388 (expr) + $default reduce using rule 396 (expr) State 484 - 744 make_decl: make_struct_decl . + 756 make_decl: make_struct_decl . - $default reduce using rule 744 (make_decl) + $default reduce using rule 756 (make_decl) State 485 - 748 make_decl: make_tuple_call . + 760 make_decl: make_tuple_call . - $default reduce using rule 748 (make_decl) + $default reduce using rule 760 (make_decl) State 486 - 745 make_decl: make_dim_decl . + 757 make_decl: make_dim_decl . - $default reduce using rule 745 (make_decl) + $default reduce using rule 757 (make_decl) State 487 - 746 make_decl: make_table_decl . + 758 make_decl: make_table_decl . - $default reduce using rule 746 (make_decl) + $default reduce using rule 758 (make_decl) State 488 - 747 make_decl: array_comprehension . + 759 make_decl: array_comprehension . - $default reduce using rule 747 (make_decl) + $default reduce using rule 759 (make_decl) State 489 - 698 type_declaration_no_options_no_dim: "iterator" '<' $@55 . type_declaration '>' $@56 + 710 type_declaration_no_options_no_dim: "iterator" '<' $@55 . type_declaration '>' $@56 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -8392,7 +8430,7 @@ State 489 State 490 - 688 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 . type_declaration '>' $@50 + 700 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 . type_declaration '>' $@50 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -8450,14 +8488,14 @@ State 490 State 491 - 643 auto_type_declaration: "auto" '(' "name" . ')' + 655 auto_type_declaration: "auto" '(' "name" . ')' ')' shift, and go to state 642 State 492 - 652 bitfield_type_declaration: "bitfield" '<' $@44 . bitfield_bits '>' $@45 + 664 bitfield_type_declaration: "bitfield" '<' $@44 . bitfield_bits '>' $@45 "name" shift, and go to state 643 @@ -8466,7 +8504,7 @@ State 492 State 493 - 702 type_declaration_no_options_no_dim: "block" '<' $@57 . type_declaration '>' $@58 + 714 type_declaration_no_options_no_dim: "block" '<' $@57 . type_declaration '>' $@58 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -8524,18 +8562,18 @@ State 493 State 494 - 705 type_declaration_no_options_no_dim: "block" '<' $@59 . optional_function_argument_list optional_function_type '>' $@60 + 717 type_declaration_no_options_no_dim: "block" '<' $@59 . optional_function_argument_list optional_function_type '>' $@60 '(' shift, and go to state 329 - $default reduce using rule 123 (optional_function_argument_list) + $default reduce using rule 131 (optional_function_argument_list) optional_function_argument_list go to state 646 State 495 - 709 type_declaration_no_options_no_dim: "function" '<' $@61 . type_declaration '>' $@62 + 721 type_declaration_no_options_no_dim: "function" '<' $@61 . type_declaration '>' $@62 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -8593,18 +8631,18 @@ State 495 State 496 - 712 type_declaration_no_options_no_dim: "function" '<' $@63 . optional_function_argument_list optional_function_type '>' $@64 + 724 type_declaration_no_options_no_dim: "function" '<' $@63 . optional_function_argument_list optional_function_type '>' $@64 '(' shift, and go to state 329 - $default reduce using rule 123 (optional_function_argument_list) + $default reduce using rule 131 (optional_function_argument_list) optional_function_argument_list go to state 648 State 497 - 716 type_declaration_no_options_no_dim: "lambda" '<' $@65 . type_declaration '>' $@66 + 728 type_declaration_no_options_no_dim: "lambda" '<' $@65 . type_declaration '>' $@66 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -8662,18 +8700,18 @@ State 497 State 498 - 719 type_declaration_no_options_no_dim: "lambda" '<' $@67 . optional_function_argument_list optional_function_type '>' $@68 + 731 type_declaration_no_options_no_dim: "lambda" '<' $@67 . optional_function_argument_list optional_function_type '>' $@68 '(' shift, and go to state 329 - $default reduce using rule 123 (optional_function_argument_list) + $default reduce using rule 131 (optional_function_argument_list) optional_function_argument_list go to state 650 State 499 - 722 type_declaration_no_options_no_dim: "tuple" '<' $@69 . tuple_type_list '>' $@70 + 734 type_declaration_no_options_no_dim: "tuple" '<' $@69 . tuple_type_list '>' $@70 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -8733,7 +8771,7 @@ State 499 State 500 - 725 type_declaration_no_options_no_dim: "variant" '<' $@71 . variant_type_list '>' $@72 + 737 type_declaration_no_options_no_dim: "variant" '<' $@71 . variant_type_list '>' $@72 "name" shift, and go to state 655 @@ -8743,67 +8781,67 @@ State 500 State 501 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 644 auto_type_declaration: "$t" '(' expr . ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 656 auto_type_declaration: "$t" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -8845,16 +8883,16 @@ State 501 State 502 - 673 type_declaration_no_options_no_dim: '$' name_in_namespace '<' . $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' + 685 type_declaration_no_options_no_dim: '$' name_in_namespace '<' . $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' - $default reduce using rule 672 ($@48) + $default reduce using rule 684 ($@48) $@48 go to state 659 State 503 - 671 type_declaration_no_options_no_dim: '$' name_in_namespace '(' . optional_expr_list ')' + 683 type_declaration_no_options_no_dim: '$' name_in_namespace '(' . optional_expr_list ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -8935,7 +8973,7 @@ State 503 '@' shift, and go to state 461 '{' shift, and go to state 462 - $default reduce using rule 250 (optional_expr_list) + $default reduce using rule 258 (optional_expr_list) string_builder go to state 463 expr_reader go to state 464 @@ -8969,116 +9007,116 @@ State 503 State 504 - 683 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" "const" . + 695 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" "const" . - $default reduce using rule 683 (type_declaration_no_options_no_dim) + $default reduce using rule 695 (type_declaration_no_options_no_dim) State 505 - 684 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" '&' . + 696 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" '&' . - $default reduce using rule 684 (type_declaration_no_options_no_dim) + $default reduce using rule 696 (type_declaration_no_options_no_dim) State 506 - 677 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' "const" . + 689 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' "const" . - $default reduce using rule 677 (type_declaration_no_options_no_dim) + $default reduce using rule 689 (type_declaration_no_options_no_dim) State 507 - 679 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '&' . + 691 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '&' . - $default reduce using rule 679 (type_declaration_no_options_no_dim) + $default reduce using rule 691 (type_declaration_no_options_no_dim) State 508 - 674 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '[' . ']' + 686 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '[' . ']' ']' shift, and go to state 662 State 509 - 682 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '#' . + 694 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '#' . - $default reduce using rule 682 (type_declaration_no_options_no_dim) + $default reduce using rule 694 (type_declaration_no_options_no_dim) State 510 - 658 dim_list: '[' ']' . + 670 dim_list: '[' ']' . - $default reduce using rule 658 (dim_list) + $default reduce using rule 670 (dim_list) State 511 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 657 dim_list: '[' expr . ']' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 669 dim_list: '[' expr . ']' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -9120,8 +9158,8 @@ State 511 State 512 - 659 dim_list: dim_list '[' . expr ']' - 660 | dim_list '[' . ']' + 671 dim_list: dim_list '[' . expr ']' + 672 | dim_list '[' . ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -9233,32 +9271,32 @@ State 512 State 513 - 728 type_declaration: type_declaration '|' '#' . + 740 type_declaration: type_declaration '|' '#' . - $default reduce using rule 728 (type_declaration) + $default reduce using rule 740 (type_declaration) State 514 - 727 type_declaration: type_declaration '|' type_declaration_no_options . + 739 type_declaration: type_declaration '|' type_declaration_no_options . - $default reduce using rule 727 (type_declaration) + $default reduce using rule 739 (type_declaration) State 515 - 743 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_commas $@82 '{' $@83 . bitfield_alias_bits optional_commas $@84 '}' + 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 . bitfield_alias_bits optional_commas $@84 '}' "name" shift, and go to state 666 - $default reduce using rule 647 (bitfield_alias_bits) + $default reduce using rule 659 (bitfield_alias_bits) bitfield_alias_bits go to state 667 State 516 - 733 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_semis $@74 '{' $@75 . tuple_alias_type_list optional_semis $@76 '}' + 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 . tuple_alias_type_list optional_semis $@76 '}' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -9304,7 +9342,7 @@ State 516 "name" shift, and go to state 651 '$' shift, and go to state 262 - $default reduce using rule 512 (tuple_alias_type_list) + $default reduce using rule 520 (tuple_alias_type_list) name_in_namespace go to state 263 tuple_type go to state 668 @@ -9320,11 +9358,11 @@ State 516 State 517 - 738 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_semis $@78 '{' $@79 . variant_alias_type_list optional_semis $@80 '}' + 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 . variant_alias_type_list optional_semis $@80 '}' "name" shift, and go to state 655 - $default reduce using rule 518 (variant_alias_type_list) + $default reduce using rule 526 (variant_alias_type_list) variant_type go to state 670 variant_alias_type_list go to state 671 @@ -9332,21 +9370,21 @@ State 517 State 518 - 187 function_name: "operator" '?' "as" "name" . + 195 function_name: "operator" '?' "as" "name" . - $default reduce using rule 187 (function_name) + $default reduce using rule 195 (function_name) State 519 - 177 function_name: "operator" '.' "name" ":=" . + 185 function_name: "operator" '.' "name" ":=" . - $default reduce using rule 177 (function_name) + $default reduce using rule 185 (function_name) State 520 - 505 function_argument_declaration: "$a" '(' . expr ')' + 513 function_argument_declaration: "$a" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -9457,21 +9495,21 @@ State 520 State 521 - 279 kwd_let_var_or_nothing: "let" . + 287 kwd_let_var_or_nothing: "let" . - $default reduce using rule 279 (kwd_let_var_or_nothing) + $default reduce using rule 287 (kwd_let_var_or_nothing) State 522 - 280 kwd_let_var_or_nothing: "var" . + 288 kwd_let_var_or_nothing: "var" . - $default reduce using rule 280 (kwd_let_var_or_nothing) + $default reduce using rule 288 (kwd_let_var_or_nothing) State 523 - 504 function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing . variable_declaration + 512 function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing . variable_declaration "$i" shift, and go to state 673 "name" shift, and go to state 674 @@ -9482,19 +9520,19 @@ State 523 State 524 - 125 optional_function_argument_list: '(' function_argument_list ')' . + 133 optional_function_argument_list: '(' function_argument_list ')' . - $default reduce using rule 125 (optional_function_argument_list) + $default reduce using rule 133 (optional_function_argument_list) State 525 - 507 function_argument_list: function_argument_list ';' . function_argument_declaration + 515 function_argument_list: function_argument_list ';' . function_argument_declaration "$a" shift, and go to state 383 '@' shift, and go to state 214 - $default reduce using rule 484 (optional_field_annotation) + $default reduce using rule 492 (optional_field_annotation) metadata_argument_list go to state 215 optional_field_annotation go to state 385 @@ -9503,20 +9541,20 @@ State 525 State 526 - 127 optional_function_type: ':' type_declaration . - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 135 optional_function_type: ':' type_declaration . + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - $default reduce using rule 127 (optional_function_type) + $default reduce using rule 135 (optional_function_type) State 527 - 226 expression_block: $@9 '{' expressions . $@10 '}' expression_block_finally - 248 expressions: expressions . expression_any - 249 | expressions . error + 234 expression_block: $@9 '{' expressions . $@10 '}' expression_block_finally + 256 expressions: expressions . expression_any + 257 | expressions . error error shift, and go to state 678 "struct" shift, and go to state 414 @@ -9597,6 +9635,7 @@ State 527 "floating point constant" shift, and go to state 450 "double constant" shift, and go to state 451 "name" shift, and go to state 56 + "emitted ;" shift, and go to state 690 "start of the string" shift, and go to state 452 '-' shift, and go to state 453 '+' shift, and go to state 454 @@ -9608,58 +9647,59 @@ State 527 '(' shift, and go to state 459 '$' shift, and go to state 460 '@' shift, and go to state 461 - ';' shift, and go to state 690 + ';' shift, and go to state 691 '{' shift, and go to state 462 - "while" reduce using rule 79 ($@4) - "if" reduce using rule 73 ($@2) - "static_if" reduce using rule 73 ($@2) - "for" reduce using rule 76 ($@3) - "with" reduce using rule 81 ($@5) - '}' reduce using rule 225 ($@10) + "while" reduce using rule 87 ($@4) + "if" reduce using rule 81 ($@2) + "static_if" reduce using rule 81 ($@2) + "for" reduce using rule 84 ($@3) + "with" reduce using rule 89 ($@5) + '}' reduce using rule 233 ($@10) + SEMICOLON go to state 692 string_builder go to state 463 expr_reader go to state 464 - expression_label go to state 691 - expression_goto go to state 692 - expression_if_one_liner go to state 693 - expression_if_then_else go to state 694 - $@2 go to state 695 - expression_if_then_else_oneliner go to state 696 - expression_for_loop go to state 697 - $@3 go to state 698 - expression_unsafe go to state 699 - expression_while_loop go to state 700 - $@4 go to state 701 - expression_with go to state 702 - $@5 go to state 703 - expression_with_alias go to state 704 - $@10 go to state 705 + expression_label go to state 693 + expression_goto go to state 694 + expression_if_one_liner go to state 695 + expression_if_then_else go to state 696 + $@2 go to state 697 + expression_if_then_else_oneliner go to state 698 + expression_for_loop go to state 699 + $@3 go to state 700 + expression_unsafe go to state 701 + expression_while_loop go to state 702 + $@4 go to state 703 + expression_with go to state 704 + $@5 go to state 705 + expression_with_alias go to state 706 + $@10 go to state 707 expr_call_pipe go to state 465 - expression_any go to state 706 + expression_any go to state 708 name_in_namespace go to state 466 - expression_delete go to state 707 + expression_delete go to state 709 expr_new go to state 467 - expression_break go to state 708 - expression_continue go to state 709 - expression_return go to state 710 - expression_yield go to state 711 - expression_try_catch go to state 712 - kwd_let go to state 713 - expression_let go to state 714 + expression_break go to state 710 + expression_continue go to state 711 + expression_return go to state 712 + expression_yield go to state 713 + expression_try_catch go to state 714 + kwd_let go to state 715 + expression_let go to state 716 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 - expr_assign go to state 715 + expr_assign go to state 717 expr_named_call go to state 474 expr_method_call go to state 475 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 716 + expr go to state 718 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -9673,122 +9713,122 @@ State 527 State 528 - 585 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_commas '{' . $@40 enum_list optional_commas $@41 '}' + 597 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_emit_commas '{' . $@40 enum_list optional_commas $@41 '}' - $default reduce using rule 583 ($@40) + $default reduce using rule 595 ($@40) - $@40 go to state 717 + $@40 go to state 719 State 529 - 587 optional_structure_parent: ':' name_in_namespace . + 599 optional_structure_parent: ':' name_in_namespace . - $default reduce using rule 587 (optional_structure_parent) + $default reduce using rule 599 (optional_structure_parent) State 530 - 499 struct_variable_declaration_list: struct_variable_declaration_list . $@33 structure_variable_declaration ';' - 501 | struct_variable_declaration_list . optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header ';' - 503 | struct_variable_declaration_list . optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block - 597 optional_struct_variable_declaration_list: '{' struct_variable_declaration_list . '}' + 507 struct_variable_declaration_list: struct_variable_declaration_list . $@33 structure_variable_declaration ';' + 509 | struct_variable_declaration_list . optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header ';' + 511 | struct_variable_declaration_list . optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block + 609 optional_struct_variable_declaration_list: '{' struct_variable_declaration_list . '}' '[' shift, and go to state 14 - '}' shift, and go to state 718 + '}' shift, and go to state 720 - "def" reduce using rule 121 (optional_annotation_list) - $default reduce using rule 498 ($@33) + "def" reduce using rule 129 (optional_annotation_list) + $default reduce using rule 506 ($@33) - optional_annotation_list go to state 719 - $@33 go to state 720 + optional_annotation_list go to state 721 + $@33 go to state 722 State 531 - 534 let_variable_name_with_pos_list: "$i" . '(' expr ')' + 542 let_variable_name_with_pos_list: "$i" . '(' expr ')' - '(' shift, and go to state 721 + '(' shift, and go to state 723 State 532 - 533 let_variable_name_with_pos_list: "name" . - 535 | "name" . "aka" "name" + 541 let_variable_name_with_pos_list: "name" . + 543 | "name" . "aka" "name" - "aka" shift, and go to state 722 + "aka" shift, and go to state 724 - $default reduce using rule 533 (let_variable_name_with_pos_list) + $default reduce using rule 541 (let_variable_name_with_pos_list) State 533 - 536 let_variable_name_with_pos_list: let_variable_name_with_pos_list . ',' "name" - 537 | let_variable_name_with_pos_list . ',' "name" "aka" "name" - 543 let_variable_declaration: let_variable_name_with_pos_list . ':' type_declaration_no_options ';' - 544 | let_variable_name_with_pos_list . ':' type_declaration_no_options copy_or_move_or_clone expr ';' - 545 | let_variable_name_with_pos_list . optional_ref copy_or_move_or_clone expr ';' + 544 let_variable_name_with_pos_list: let_variable_name_with_pos_list . ',' "name" + 545 | let_variable_name_with_pos_list . ',' "name" "aka" "name" + 551 let_variable_declaration: let_variable_name_with_pos_list . ':' type_declaration_no_options SEMICOLON + 552 | let_variable_name_with_pos_list . ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + 553 | let_variable_name_with_pos_list . optional_ref copy_or_move_or_clone expr SEMICOLON - ',' shift, and go to state 723 - ':' shift, and go to state 724 + ',' shift, and go to state 725 + ':' shift, and go to state 726 '&' shift, and go to state 409 - $default reduce using rule 531 (optional_ref) + $default reduce using rule 539 (optional_ref) - optional_ref go to state 725 + optional_ref go to state 727 State 534 - 557 global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation let_variable_declaration . + 565 global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation let_variable_declaration . - $default reduce using rule 557 (global_variable_declaration_list) + $default reduce using rule 565 (global_variable_declaration_list) State 535 - 539 global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list ',' "name" . + 547 global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list ',' "name" . - $default reduce using rule 539 (global_let_variable_name_with_pos_list) + $default reduce using rule 547 (global_let_variable_name_with_pos_list) State 536 - 546 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options . ';' - 547 | global_let_variable_name_with_pos_list ':' type_declaration_no_options . copy_or_move_or_clone expr ';' + 554 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options . ';' + 555 | global_let_variable_name_with_pos_list ':' type_declaration_no_options . copy_or_move_or_clone expr ';' "<-" shift, and go to state 537 ":=" shift, and go to state 538 '=' shift, and go to state 539 - ';' shift, and go to state 726 + ';' shift, and go to state 728 - copy_or_move_or_clone go to state 727 + copy_or_move_or_clone go to state 729 State 537 - 529 copy_or_move_or_clone: "<-" . + 537 copy_or_move_or_clone: "<-" . - $default reduce using rule 529 (copy_or_move_or_clone) + $default reduce using rule 537 (copy_or_move_or_clone) State 538 - 530 copy_or_move_or_clone: ":=" . + 538 copy_or_move_or_clone: ":=" . - $default reduce using rule 530 (copy_or_move_or_clone) + $default reduce using rule 538 (copy_or_move_or_clone) State 539 - 528 copy_or_move_or_clone: '=' . + 536 copy_or_move_or_clone: '=' . - $default reduce using rule 528 (copy_or_move_or_clone) + $default reduce using rule 536 (copy_or_move_or_clone) State 540 - 548 global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone . expr ';' + 556 global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone . expr ';' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -9885,7 +9925,7 @@ State 540 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 728 + expr go to state 730 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -9899,153 +9939,157 @@ State 540 State 541 - 669 type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration . '>' $@47 - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 681 type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration . '>' $@47 + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - '>' shift, and go to state 729 + '>' shift, and go to state 731 State 542 - 692 type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration . '>' $@52 - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 704 type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration . '>' $@52 + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - '>' shift, and go to state 730 + '>' shift, and go to state 732 State 543 - 695 type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair . '>' $@54 + 707 type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair . '>' $@54 - '>' shift, and go to state 731 + '>' shift, and go to state 733 State 544 - 655 table_type_pair: type_declaration . - 656 | type_declaration . c_or_s type_declaration - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 667 table_type_pair: type_declaration . + 668 | type_declaration . c_or_s type_declaration + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' - ',' shift, and go to state 732 - '|' shift, and go to state 372 - ';' shift, and go to state 733 + "emitted ," shift, and go to state 734 + "emitted ;" shift, and go to state 690 + ',' shift, and go to state 735 + '|' shift, and go to state 372 + ';' shift, and go to state 691 - $default reduce using rule 655 (table_type_pair) + $default reduce using rule 667 (table_type_pair) - c_or_s go to state 734 + COMMA go to state 736 + SEMICOLON go to state 737 + c_or_s go to state 738 State 545 - 769 make_struct_decl: "struct" '<' . $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' + 781 make_struct_decl: "struct" '<' . $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 767 ($@85) + $default reduce using rule 779 ($@85) - $@85 go to state 735 + $@85 go to state 739 State 546 - 772 make_struct_decl: "class" '<' . $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' + 784 make_struct_decl: "class" '<' . $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 770 ($@87) + $default reduce using rule 782 ($@87) - $@87 go to state 736 + $@87 go to state 740 State 547 - 263 new_type_declaration: '<' . $@11 type_declaration '>' $@12 + 271 new_type_declaration: '<' . $@11 type_declaration '>' $@12 - $default reduce using rule 261 ($@11) + $default reduce using rule 269 ($@11) - $@11 go to state 737 + $@11 go to state 741 State 548 - 265 expr_new: "new" new_type_declaration . - 266 | "new" new_type_declaration . '(' use_initializer ')' - 267 | "new" new_type_declaration . '(' expr_list ')' - 268 | "new" new_type_declaration . '(' make_struct_single ')' - 269 | "new" new_type_declaration . '(' "uninitialized" make_struct_single ')' + 273 expr_new: "new" new_type_declaration . + 274 | "new" new_type_declaration . '(' use_initializer ')' + 275 | "new" new_type_declaration . '(' expr_list ')' + 276 | "new" new_type_declaration . '(' make_struct_single ')' + 277 | "new" new_type_declaration . '(' "uninitialized" make_struct_single ')' - '(' shift, and go to state 738 + '(' shift, and go to state 742 - $default reduce using rule 265 (expr_new) + $default reduce using rule 273 (expr_new) State 549 - 264 new_type_declaration: structure_type_declaration . + 272 new_type_declaration: structure_type_declaration . - $default reduce using rule 264 (new_type_declaration) + $default reduce using rule 272 (new_type_declaration) State 550 - 270 expr_new: "new" make_decl . + 278 expr_new: "new" make_decl . - $default reduce using rule 270 (expr_new) + $default reduce using rule 278 (expr_new) State 551 - 305 expr_type_info: "typeinfo" name_in_namespace . '(' expr ')' - 306 | "typeinfo" name_in_namespace . '<' "name" '>' '(' expr ')' - 307 | "typeinfo" name_in_namespace . '<' "name" c_or_s "name" '>' '(' expr ')' + 313 expr_type_info: "typeinfo" name_in_namespace . '(' expr ')' + 314 | "typeinfo" name_in_namespace . '<' "name" '>' '(' expr ')' + 315 | "typeinfo" name_in_namespace . '<' "name" c_or_s "name" '>' '(' expr ')' - '<' shift, and go to state 739 - '(' shift, and go to state 740 + '<' shift, and go to state 743 + '(' shift, and go to state 744 State 552 - 304 expr_type_decl: "type" '<' . $@19 type_declaration '>' $@20 + 312 expr_type_decl: "type" '<' . $@19 type_declaration '>' $@20 - $default reduce using rule 302 ($@19) + $default reduce using rule 310 ($@19) - $@19 go to state 741 + $@19 go to state 745 State 553 - 788 make_dim_decl: "array" "struct" . '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' + 800 make_dim_decl: "array" "struct" . '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' - '<' shift, and go to state 742 + '<' shift, and go to state 746 State 554 - 791 make_dim_decl: "array" "tuple" . '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' + 803 make_dim_decl: "array" "tuple" . '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' - '<' shift, and go to state 743 + '<' shift, and go to state 747 State 555 - 794 make_dim_decl: "array" "variant" . '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' + 806 make_dim_decl: "array" "variant" . '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' - '<' shift, and go to state 744 + '<' shift, and go to state 748 State 556 - 798 make_dim_decl: "array" '<' . $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' + 810 make_dim_decl: "array" '<' . $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' - $default reduce using rule 796 ($@101) + $default reduce using rule 808 ($@101) - $@101 go to state 745 + $@101 go to state 749 State 557 - 795 make_dim_decl: "array" '(' . expr_list optional_comma ')' + 807 make_dim_decl: "array" '(' . expr_list optional_comma ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -10134,7 +10178,7 @@ State 557 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 746 + expr_list go to state 750 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -10157,8 +10201,8 @@ State 557 State 558 - 807 make_table_decl: "table" '<' . type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' - 808 | "table" '<' . type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + 819 make_table_decl: "table" '<' . type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + 820 | "table" '<' . type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -10209,13 +10253,13 @@ State 558 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 747 + type_declaration_no_options go to state 751 type_declaration_no_options_no_dim go to state 269 State 559 - 806 make_table_decl: "table" '(' . expr_map_tuple_list optional_comma ')' + 818 make_table_decl: "table" '(' . expr_map_tuple_list optional_comma ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -10321,14 +10365,14 @@ State 559 make_map_tuple go to state 595 make_tuple_call go to state 485 make_dim_decl go to state 486 - expr_map_tuple_list go to state 748 + expr_map_tuple_list go to state 752 make_table_decl go to state 487 array_comprehension go to state 488 State 560 - 433 expr: "deref" '(' . expr ')' + 441 expr: "deref" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -10425,7 +10469,7 @@ State 560 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 749 + expr go to state 753 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -10439,25 +10483,25 @@ State 560 State 561 - 295 expr_cast: "cast" '<' . $@13 type_declaration_no_options '>' $@14 expr + 303 expr_cast: "cast" '<' . $@13 type_declaration_no_options '>' $@14 expr - $default reduce using rule 293 ($@13) + $default reduce using rule 301 ($@13) - $@13 go to state 750 + $@13 go to state 754 State 562 - 298 expr_cast: "upcast" '<' . $@15 type_declaration_no_options '>' $@16 expr + 306 expr_cast: "upcast" '<' . $@15 type_declaration_no_options '>' $@16 expr - $default reduce using rule 296 ($@15) + $default reduce using rule 304 ($@15) - $@15 go to state 751 + $@15 go to state 755 State 563 - 434 expr: "addr" '(' . expr ')' + 442 expr: "addr" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -10554,7 +10598,7 @@ State 563 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 752 + expr go to state 756 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -10568,16 +10612,16 @@ State 563 State 564 - 301 expr_cast: "reinterpret" '<' . $@17 type_declaration_no_options '>' $@18 expr + 309 expr_cast: "reinterpret" '<' . $@17 type_declaration_no_options '>' $@18 expr - $default reduce using rule 299 ($@17) + $default reduce using rule 307 ($@17) - $@17 go to state 753 + $@17 go to state 757 State 565 - 464 expr: "unsafe" '(' . expr ')' + 472 expr: "unsafe" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -10674,7 +10718,7 @@ State 565 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 754 + expr go to state 758 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -10688,16 +10732,16 @@ State 565 State 566 - 802 make_dim_decl: "fixed_array" '<' . $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' + 814 make_dim_decl: "fixed_array" '<' . $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' - $default reduce using rule 800 ($@103) + $default reduce using rule 812 ($@103) - $@103 go to state 755 + $@103 go to state 759 State 567 - 799 make_dim_decl: "fixed_array" '(' . expr_list optional_comma ')' + 811 make_dim_decl: "fixed_array" '(' . expr_list optional_comma ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -10786,7 +10830,7 @@ State 567 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 756 + expr_list go to state 760 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -10809,25 +10853,25 @@ State 567 State 568 - 778 make_struct_decl: "default" '<' . $@91 type_declaration_no_options '>' $@92 use_initializer + 790 make_struct_decl: "default" '<' . $@91 type_declaration_no_options '>' $@92 use_initializer - $default reduce using rule 776 ($@91) + $default reduce using rule 788 ($@91) - $@91 go to state 757 + $@91 go to state 761 State 569 - 784 make_tuple_call: "tuple" '<' . $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' + 796 make_tuple_call: "tuple" '<' . $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 782 ($@93) + $default reduce using rule 794 ($@93) - $@93 go to state 758 + $@93 go to state 762 State 570 - 781 make_tuple_call: "tuple" '(' . expr_list optional_comma ')' + 793 make_tuple_call: "tuple" '(' . expr_list optional_comma ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -10916,7 +10960,7 @@ State 570 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 759 + expr_list go to state 763 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -10939,18 +10983,18 @@ State 570 State 571 - 775 make_struct_decl: "variant" '<' . $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' + 787 make_struct_decl: "variant" '<' . $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' - $default reduce using rule 773 ($@89) + $default reduce using rule 785 ($@89) - $@89 go to state 760 + $@89 go to state 764 State 572 - 465 expr_generator: "generator" '<' . type_declaration_no_options '>' optional_capture_list '(' ')' - 466 | "generator" '<' . type_declaration_no_options '>' optional_capture_list '(' expr ')' - 467 | "generator" '<' . type_declaration_no_options '>' optional_capture_list optional_semis expression_block + 473 expr_generator: "generator" '<' . type_declaration_no_options '>' optional_capture_list '(' ')' + 474 | "generator" '<' . type_declaration_no_options '>' optional_capture_list '(' expr ')' + 475 | "generator" '<' . type_declaration_no_options '>' optional_capture_list optional_emit_semis expression_block "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -11001,73 +11045,73 @@ State 572 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 761 + type_declaration_no_options go to state 765 type_declaration_no_options_no_dim go to state 269 State 573 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 419 | "++" expr . - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 427 | "++" expr . + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -11081,72 +11125,72 @@ State 573 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 419 (expr) + $default reduce using rule 427 (expr) State 574 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 420 | "--" expr . - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 428 | "--" expr . + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -11160,12 +11204,12 @@ State 574 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 420 (expr) + $default reduce using rule 428 (expr) State 575 - 468 expr_mtag: "$$" '(' . expr ')' + 476 expr_mtag: "$$" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -11262,7 +11306,7 @@ State 575 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 762 + expr go to state 766 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -11276,7 +11320,7 @@ State 575 State 576 - 469 expr_mtag: "$i" '(' . expr ')' + 477 expr_mtag: "$i" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -11373,7 +11417,7 @@ State 576 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 763 + expr go to state 767 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -11387,7 +11431,7 @@ State 576 State 577 - 470 expr_mtag: "$v" '(' . expr ')' + 478 expr_mtag: "$v" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -11484,7 +11528,7 @@ State 577 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 764 + expr go to state 768 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -11498,7 +11542,7 @@ State 577 State 578 - 471 expr_mtag: "$b" '(' . expr ')' + 479 expr_mtag: "$b" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -11595,7 +11639,7 @@ State 578 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 765 + expr go to state 769 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -11609,7 +11653,7 @@ State 578 State 579 - 472 expr_mtag: "$a" '(' . expr ')' + 480 expr_mtag: "$a" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -11706,7 +11750,7 @@ State 579 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 766 + expr go to state 770 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -11720,8 +11764,8 @@ State 579 State 580 - 474 expr_mtag: "$c" '(' . expr ')' '(' ')' - 475 | "$c" '(' . expr ')' '(' expr_list ')' + 482 expr_mtag: "$c" '(' . expr ')' '(' ')' + 483 | "$c" '(' . expr ')' '(' expr_list ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -11818,7 +11862,7 @@ State 580 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 767 + expr go to state 771 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -11832,81 +11876,81 @@ State 580 State 581 - 30 string_builder_body: string_builder_body . character_sequence - 31 | string_builder_body . "{" expr "}" - 32 string_builder: "start of the string" string_builder_body . "end of the string" + 34 string_builder_body: string_builder_body . character_sequence + 35 | string_builder_body . "{" expr "}" + 36 string_builder: "start of the string" string_builder_body . "end of the string" STRING_CHARACTER shift, and go to state 154 STRING_CHARACTER_ESC shift, and go to state 155 - "end of the string" shift, and go to state 768 - "{" shift, and go to state 769 + "end of the string" shift, and go to state 772 + "{" shift, and go to state 773 - character_sequence go to state 770 + character_sequence go to state 774 State 582 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 396 expr: '-' expr . - 397 | expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 404 expr: '-' expr . + 405 | expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -11920,72 +11964,72 @@ State 582 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 396 (expr) + $default reduce using rule 404 (expr) State 583 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 395 expr: '+' expr . - 397 | expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 403 expr: '+' expr . + 405 | expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -11999,144 +12043,144 @@ State 583 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 395 (expr) + $default reduce using rule 403 (expr) State 584 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 432 | '*' expr . - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 440 | '*' expr . + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "?." shift, and go to state 615 "?[" shift, and go to state 616 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 432 (expr) + $default reduce using rule 440 (expr) State 585 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 394 expr: '~' expr . - 397 | expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 402 expr: '~' expr . + 405 | expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -12150,72 +12194,72 @@ State 585 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 394 (expr) + $default reduce using rule 402 (expr) State 586 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 393 expr: '!' expr . - 397 | expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 401 expr: '!' expr . + 405 | expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -12229,98 +12273,98 @@ State 586 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 393 (expr) + $default reduce using rule 401 (expr) State 587 - 813 array_comprehension: '[' "for" . '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 825 array_comprehension: '[' "for" . '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' - '(' shift, and go to state 771 + '(' shift, and go to state 775 State 588 - 814 array_comprehension: '[' "iterator" . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 826 array_comprehension: '[' "iterator" . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' - "for" shift, and go to state 772 + "for" shift, and go to state 776 State 589 - 309 expr_list: expr_list . ',' expr - 785 make_dim_decl: '[' expr_list . optional_comma ']' + 317 expr_list: expr_list . ',' expr + 797 make_dim_decl: '[' expr_list . optional_comma ']' - ',' shift, and go to state 773 + ',' shift, and go to state 777 - $default reduce using rule 811 (optional_comma) + $default reduce using rule 823 (optional_comma) - optional_comma go to state 774 + optional_comma go to state 778 State 590 - 308 expr_list: expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 316 expr_list: expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -12358,112 +12402,112 @@ State 590 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 308 (expr_list) + $default reduce using rule 316 (expr_list) State 591 - 309 expr_list: expr_list . ',' expr - 423 expr: '(' expr_list . optional_comma ')' + 317 expr_list: expr_list . ',' expr + 431 expr: '(' expr_list . optional_comma ')' - ',' shift, and go to state 773 + ',' shift, and go to state 777 - $default reduce using rule 811 (optional_comma) + $default reduce using rule 823 (optional_comma) - optional_comma go to state 775 + optional_comma go to state 779 State 592 - 315 block_or_lambda: '@' '@' . - 360 func_addr_expr: '@' '@' . func_addr_name - 363 | '@' '@' . '<' $@21 type_declaration_no_options '>' $@22 func_addr_name - 366 | '@' '@' . '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name - 483 expr_mtag: '@' '@' . "$c" '(' expr ')' + 323 block_or_lambda: '@' '@' . + 368 func_addr_expr: '@' '@' . func_addr_name + 371 | '@' '@' . '<' $@21 type_declaration_no_options '>' $@22 func_addr_name + 374 | '@' '@' . '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name + 491 expr_mtag: '@' '@' . "$c" '(' expr ')' "::" shift, and go to state 55 - "$i" shift, and go to state 776 - "$c" shift, and go to state 777 + "$i" shift, and go to state 780 + "$c" shift, and go to state 781 "name" shift, and go to state 56 - '<' shift, and go to state 778 + '<' shift, and go to state 782 - $default reduce using rule 315 (block_or_lambda) + $default reduce using rule 323 (block_or_lambda) - name_in_namespace go to state 779 - func_addr_name go to state 780 + name_in_namespace go to state 783 + func_addr_name go to state 784 State 593 - 815 array_comprehension: '{' "for" . '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' + 827 array_comprehension: '{' "for" . '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' - '(' shift, and go to state 781 + '(' shift, and go to state 785 State 594 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 779 make_map_tuple: expr . "=>" expr - 780 | expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 791 make_map_tuple: expr . "=>" expr + 792 | expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -12483,7 +12527,7 @@ State 594 "|>" shift, and go to state 618 "<<<" shift, and go to state 619 ">>>" shift, and go to state 620 - "=>" shift, and go to state 782 + "=>" shift, and go to state 786 "&&" shift, and go to state 621 "||" shift, and go to state 622 "^^" shift, and go to state 623 @@ -12502,37 +12546,37 @@ State 594 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 780 (make_map_tuple) + $default reduce using rule 792 (make_map_tuple) State 595 - 803 expr_map_tuple_list: make_map_tuple . + 815 expr_map_tuple_list: make_map_tuple . - $default reduce using rule 803 (expr_map_tuple_list) + $default reduce using rule 815 (expr_map_tuple_list) State 596 - 804 expr_map_tuple_list: expr_map_tuple_list . ',' make_map_tuple - 805 make_table_decl: '{' expr_map_tuple_list . optional_comma '}' + 816 expr_map_tuple_list: expr_map_tuple_list . ',' make_map_tuple + 817 make_table_decl: '{' expr_map_tuple_list . optional_comma '}' - ',' shift, and go to state 783 + ',' shift, and go to state 787 - $default reduce using rule 811 (optional_comma) + $default reduce using rule 823 (optional_comma) - optional_comma go to state 784 + optional_comma go to state 788 State 597 - 354 expr_named_call: name_in_namespace '(' . '[' make_struct_fields ']' ')' - 355 | name_in_namespace '(' . expr_list ',' '[' make_struct_fields ']' ')' - 376 expr_call: name_in_namespace '(' . ')' - 377 | name_in_namespace '(' . "uninitialized" ')' - 378 | name_in_namespace '(' . make_struct_single ')' - 379 | name_in_namespace '(' . "uninitialized" make_struct_single ')' - 380 | name_in_namespace '(' . expr_list ')' + 362 expr_named_call: name_in_namespace '(' . '[' make_struct_fields ']' ')' + 363 | name_in_namespace '(' . expr_list ',' '[' make_struct_fields ']' ')' + 384 expr_call: name_in_namespace '(' . ')' + 385 | name_in_namespace '(' . "uninitialized" ')' + 386 | name_in_namespace '(' . make_struct_single ')' + 387 | name_in_namespace '(' . "uninitialized" make_struct_single ')' + 388 | name_in_namespace '(' . expr_list ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -12552,7 +12596,7 @@ State 597 "unsafe" shift, and go to state 429 "fixed_array" shift, and go to state 430 "default" shift, and go to state 431 - "uninitialized" shift, and go to state 785 + "uninitialized" shift, and go to state 789 "bool" shift, and go to state 228 "void" shift, and go to state 229 "string" shift, and go to state 230 @@ -12592,7 +12636,7 @@ State 597 "$b" shift, and go to state 441 "$a" shift, and go to state 442 "$c" shift, and go to state 443 - "$f" shift, and go to state 786 + "$f" shift, and go to state 790 "..." shift, and go to state 444 "integer constant" shift, and go to state 445 "long integer constant" shift, and go to state 446 @@ -12601,7 +12645,7 @@ State 597 "unsigned int8 constant" shift, and go to state 449 "floating point constant" shift, and go to state 450 "double constant" shift, and go to state 451 - "name" shift, and go to state 787 + "name" shift, and go to state 791 "start of the string" shift, and go to state 452 '-' shift, and go to state 453 '+' shift, and go to state 454 @@ -12609,9 +12653,9 @@ State 597 '%' shift, and go to state 13 '~' shift, and go to state 456 '!' shift, and go to state 457 - '[' shift, and go to state 788 + '[' shift, and go to state 792 '(' shift, and go to state 459 - ')' shift, and go to state 789 + ')' shift, and go to state 793 '$' shift, and go to state 460 '@' shift, and go to state 461 '{' shift, and go to state 462 @@ -12624,7 +12668,7 @@ State 597 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 790 + expr_list go to state 794 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -12638,8 +12682,8 @@ State 597 expr_mtag go to state 481 basic_type_declaration go to state 482 make_decl go to state 483 - make_struct_fields go to state 791 - make_struct_single go to state 792 + make_struct_fields go to state 795 + make_struct_single go to state 796 make_struct_decl go to state 484 make_tuple_call go to state 485 make_dim_decl go to state 486 @@ -12649,60 +12693,60 @@ State 597 State 598 - 325 expr_full_block: block_or_lambda optional_annotation_list . optional_capture_list optional_function_argument_list optional_function_type optional_semis block_or_simple_block + 333 expr_full_block: block_or_lambda optional_annotation_list . optional_capture_list optional_function_argument_list optional_function_type optional_emit_semis block_or_simple_block - "capture" shift, and go to state 793 + "capture" shift, and go to state 797 - $default reduce using rule 323 (optional_capture_list) + $default reduce using rule 331 (optional_capture_list) - optional_capture_list go to state 794 + optional_capture_list go to state 798 State 599 - 314 block_or_lambda: '@' . - 315 | '@' . '@' + 322 block_or_lambda: '@' . + 323 | '@' . '@' - '@' shift, and go to state 795 + '@' shift, and go to state 799 - $default reduce using rule 314 (block_or_lambda) + $default reduce using rule 322 (block_or_lambda) State 600 - 327 expr_full_block_assumed_piped: '{' . expressions '}' + 335 expr_full_block_assumed_piped: '{' . expressions '}' - $default reduce using rule 247 (expressions) + $default reduce using rule 255 (expressions) - expressions go to state 796 + expressions go to state 800 State 601 - 326 expr_full_block_assumed_piped: block_or_lambda . optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_semis expression_block + 334 expr_full_block_assumed_piped: block_or_lambda . optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_emit_semis expression_block '[' shift, and go to state 14 - $default reduce using rule 121 (optional_annotation_list) + $default reduce using rule 129 (optional_annotation_list) - optional_annotation_list go to state 797 + optional_annotation_list go to state 801 State 602 - 227 expr_call_pipe: expr_call expr_full_block_assumed_piped . + 235 expr_call_pipe: expr_call expr_full_block_assumed_piped . - $default reduce using rule 227 (expr_call_pipe) + $default reduce using rule 235 (expr_call_pipe) State 603 - 440 expr: expr "is" . "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr "is" . basic_type_declaration - 442 | expr "is" . "name" - 482 expr_mtag: expr "is" . "$f" '(' expr ')' + 448 expr: expr "is" . "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr "is" . basic_type_declaration + 450 | expr "is" . "name" + 490 expr_mtag: expr "is" . "$f" '(' expr ')' - "type" shift, and go to state 798 + "type" shift, and go to state 802 "bool" shift, and go to state 228 "void" shift, and go to state 229 "string" shift, and go to state 230 @@ -12730,20 +12774,20 @@ State 603 "uint8" shift, and go to state 256 "int16" shift, and go to state 257 "uint16" shift, and go to state 258 - "$f" shift, and go to state 799 - "name" shift, and go to state 800 + "$f" shift, and go to state 803 + "name" shift, and go to state 804 - basic_type_declaration go to state 801 + basic_type_declaration go to state 805 State 604 - 443 expr: expr "as" . "name" - 446 | expr "as" . "type" '<' $@29 type_declaration '>' $@30 - 447 | expr "as" . basic_type_declaration - 480 expr_mtag: expr "as" . "$f" '(' expr ')' + 451 expr: expr "as" . "name" + 454 | expr "as" . "type" '<' $@29 type_declaration '>' $@30 + 455 | expr "as" . basic_type_declaration + 488 expr_mtag: expr "as" . "$f" '(' expr ')' - "type" shift, and go to state 802 + "type" shift, and go to state 806 "bool" shift, and go to state 228 "void" shift, and go to state 229 "string" shift, and go to state 230 @@ -12771,15 +12815,15 @@ State 604 "uint8" shift, and go to state 256 "int16" shift, and go to state 257 "uint16" shift, and go to state 258 - "$f" shift, and go to state 803 - "name" shift, and go to state 804 + "$f" shift, and go to state 807 + "name" shift, and go to state 808 - basic_type_declaration go to state 805 + basic_type_declaration go to state 809 State 605 - 397 expr: expr "<<" . expr + 405 expr: expr "<<" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -12876,7 +12920,7 @@ State 605 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 806 + expr go to state 810 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -12890,7 +12934,7 @@ State 605 State 606 - 398 expr: expr ">>" . expr + 406 expr: expr ">>" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -12987,7 +13031,7 @@ State 606 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 807 + expr go to state 811 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -13001,21 +13045,21 @@ State 606 State 607 - 421 expr: expr "++" . + 429 expr: expr "++" . - $default reduce using rule 421 (expr) + $default reduce using rule 429 (expr) State 608 - 422 expr: expr "--" . + 430 expr: expr "--" . - $default reduce using rule 422 (expr) + $default reduce using rule 430 (expr) State 609 - 410 expr: expr "<=" . expr + 418 expr: expr "<=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -13112,7 +13156,7 @@ State 609 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 808 + expr go to state 812 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -13126,7 +13170,7 @@ State 609 State 610 - 411 expr: expr ">=" . expr + 419 expr: expr ">=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -13223,7 +13267,7 @@ State 610 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 809 + expr go to state 813 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -13237,7 +13281,7 @@ State 610 State 611 - 408 expr: expr "==" . expr + 416 expr: expr "==" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -13334,7 +13378,7 @@ State 611 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 810 + expr go to state 814 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -13348,7 +13392,7 @@ State 611 State 612 - 409 expr: expr "!=" . expr + 417 expr: expr "!=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -13445,7 +13489,7 @@ State 612 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 811 + expr go to state 815 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -13459,15 +13503,15 @@ State 612 State 613 - 356 expr_method_call: expr "->" . "name" '(' ')' - 357 | expr "->" . "name" '(' expr_list ')' + 364 expr_method_call: expr "->" . "name" '(' ')' + 365 | expr "->" . "name" '(' expr_list ')' - "name" shift, and go to state 812 + "name" shift, and go to state 816 State 614 - 436 expr: expr "??" . expr + 444 expr: expr "??" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -13564,7 +13608,7 @@ State 614 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 813 + expr go to state 817 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -13578,16 +13622,16 @@ State 614 State 615 - 428 expr: expr "?." . "name" - 477 expr_mtag: expr "?." . "$f" '(' expr ')' + 436 expr: expr "?." . "name" + 485 expr_mtag: expr "?." . "$f" '(' expr ')' - "$f" shift, and go to state 814 - "name" shift, and go to state 815 + "$f" shift, and go to state 818 + "name" shift, and go to state 819 State 616 - 426 expr: expr "?[" . expr ']' + 434 expr: expr "?[" . expr ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -13684,7 +13728,7 @@ State 616 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 816 + expr go to state 820 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -13698,7 +13742,7 @@ State 616 State 617 - 460 expr: expr "<|" . expr + 468 expr: expr "<|" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -13795,7 +13839,7 @@ State 617 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 817 + expr go to state 821 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -13809,8 +13853,8 @@ State 617 State 618 - 461 expr: expr "|>" . expr - 462 | expr "|>" . basic_type_declaration + 469 expr: expr "|>" . expr + 470 | expr "|>" . basic_type_declaration "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -13907,10 +13951,10 @@ State 618 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 818 + expr go to state 822 expr_generator go to state 480 expr_mtag go to state 481 - basic_type_declaration go to state 819 + basic_type_declaration go to state 823 make_decl go to state 483 make_struct_decl go to state 484 make_tuple_call go to state 485 @@ -13921,7 +13965,7 @@ State 618 State 619 - 399 expr: expr "<<<" . expr + 407 expr: expr "<<<" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -14018,7 +14062,7 @@ State 619 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 820 + expr go to state 824 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -14032,7 +14076,7 @@ State 619 State 620 - 400 expr: expr ">>>" . expr + 408 expr: expr ">>>" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -14129,7 +14173,7 @@ State 620 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 821 + expr go to state 825 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -14143,7 +14187,7 @@ State 620 State 621 - 415 expr: expr "&&" . expr + 423 expr: expr "&&" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -14240,7 +14284,7 @@ State 621 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 822 + expr go to state 826 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -14254,7 +14298,7 @@ State 621 State 622 - 416 expr: expr "||" . expr + 424 expr: expr "||" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -14351,7 +14395,7 @@ State 622 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 823 + expr go to state 827 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -14365,7 +14409,7 @@ State 622 State 623 - 417 expr: expr "^^" . expr + 425 expr: expr "^^" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -14462,7 +14506,7 @@ State 623 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 824 + expr go to state 828 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -14476,7 +14520,7 @@ State 623 State 624 - 418 expr: expr ".." . expr + 426 expr: expr ".." . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -14573,7 +14617,7 @@ State 624 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 825 + expr go to state 829 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -14587,11 +14631,11 @@ State 624 State 625 - 437 expr: expr '?' . expr ':' expr - 448 | expr '?' . "as" "name" - 451 | expr '?' . "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr '?' . "as" basic_type_declaration - 481 expr_mtag: expr '?' . "as" "$f" '(' expr ')' + 445 expr: expr '?' . expr ':' expr + 456 | expr '?' . "as" "name" + 459 | expr '?' . "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr '?' . "as" basic_type_declaration + 489 expr_mtag: expr '?' . "as" "$f" '(' expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -14600,7 +14644,7 @@ State 625 "new" shift, and go to state 418 "typeinfo" shift, and go to state 419 "type" shift, and go to state 420 - "as" shift, and go to state 826 + "as" shift, and go to state 830 "array" shift, and go to state 421 "null" shift, and go to state 422 "table" shift, and go to state 423 @@ -14689,7 +14733,7 @@ State 625 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 827 + expr go to state 831 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -14703,7 +14747,7 @@ State 625 State 626 - 413 expr: expr '|' . expr + 421 expr: expr '|' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -14800,7 +14844,7 @@ State 626 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 828 + expr go to state 832 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -14814,7 +14858,7 @@ State 626 State 627 - 414 expr: expr '^' . expr + 422 expr: expr '^' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -14911,7 +14955,7 @@ State 627 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 829 + expr go to state 833 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -14925,7 +14969,7 @@ State 627 State 628 - 412 expr: expr '&' . expr + 420 expr: expr '&' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -15022,7 +15066,7 @@ State 628 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 830 + expr go to state 834 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -15036,7 +15080,7 @@ State 628 State 629 - 406 expr: expr '<' . expr + 414 expr: expr '<' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -15133,7 +15177,7 @@ State 629 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 831 + expr go to state 835 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -15147,7 +15191,7 @@ State 629 State 630 - 407 expr: expr '>' . expr + 415 expr: expr '>' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -15244,7 +15288,7 @@ State 630 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 832 + expr go to state 836 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -15258,7 +15302,7 @@ State 630 State 631 - 402 expr: expr '-' . expr + 410 expr: expr '-' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -15355,7 +15399,7 @@ State 631 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 833 + expr go to state 837 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -15369,7 +15413,7 @@ State 631 State 632 - 401 expr: expr '+' . expr + 409 expr: expr '+' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -15466,7 +15510,7 @@ State 632 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 834 + expr go to state 838 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -15480,7 +15524,7 @@ State 632 State 633 - 403 expr: expr '*' . expr + 411 expr: expr '*' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -15577,7 +15621,7 @@ State 633 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 835 + expr go to state 839 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -15591,7 +15635,7 @@ State 633 State 634 - 404 expr: expr '/' . expr + 412 expr: expr '/' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -15688,7 +15732,7 @@ State 634 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 836 + expr go to state 840 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -15702,7 +15746,7 @@ State 634 State 635 - 405 expr: expr '%' . expr + 413 expr: expr '%' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -15799,7 +15843,7 @@ State 635 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 837 + expr go to state 841 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -15813,19 +15857,19 @@ State 635 State 636 - 367 expr_field: expr '.' . "name" - 368 | expr '.' . '.' "name" - 369 | expr '.' . "name" '(' ')' - 370 | expr '.' . "name" '(' expr_list ')' - 371 | expr '.' . basic_type_declaration '(' ')' - 372 | expr '.' . basic_type_declaration '(' expr_list ')' - 375 | expr '.' . $@25 error $@26 - 425 expr: expr '.' . '[' expr ']' - 427 | expr '.' . "?[" expr ']' - 429 | expr '.' . "?." "name" - 476 expr_mtag: expr '.' . "$f" '(' expr ')' - 478 | expr '.' . '.' "$f" '(' expr ')' - 479 | expr '.' . "?." "$f" '(' expr ')' + 375 expr_field: expr '.' . "name" + 376 | expr '.' . '.' "name" + 377 | expr '.' . "name" '(' ')' + 378 | expr '.' . "name" '(' expr_list ')' + 379 | expr '.' . basic_type_declaration '(' ')' + 380 | expr '.' . basic_type_declaration '(' expr_list ')' + 383 | expr '.' . $@25 error $@26 + 433 expr: expr '.' . '[' expr ']' + 435 | expr '.' . "?[" expr ']' + 437 | expr '.' . "?." "name" + 484 expr_mtag: expr '.' . "$f" '(' expr ')' + 486 | expr '.' . '.' "$f" '(' expr ')' + 487 | expr '.' . "?." "$f" '(' expr ')' "bool" shift, and go to state 228 "void" shift, and go to state 229 @@ -15854,22 +15898,22 @@ State 636 "uint8" shift, and go to state 256 "int16" shift, and go to state 257 "uint16" shift, and go to state 258 - "?." shift, and go to state 838 - "?[" shift, and go to state 839 - "$f" shift, and go to state 840 - "name" shift, and go to state 841 - '.' shift, and go to state 842 - '[' shift, and go to state 843 + "?." shift, and go to state 842 + "?[" shift, and go to state 843 + "$f" shift, and go to state 844 + "name" shift, and go to state 845 + '.' shift, and go to state 846 + '[' shift, and go to state 847 - $default reduce using rule 373 ($@25) + $default reduce using rule 381 ($@25) - $@25 go to state 844 - basic_type_declaration go to state 845 + $@25 go to state 848 + basic_type_declaration go to state 849 State 637 - 424 expr: expr '[' . expr ']' + 432 expr: expr '[' . expr ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -15966,7 +16010,7 @@ State 637 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 846 + expr go to state 850 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -15980,15 +16024,15 @@ State 637 State 638 - 670 type_declaration_no_options_no_dim: "typedecl" '(' expr ')' . + 682 type_declaration_no_options_no_dim: "typedecl" '(' expr ')' . - $default reduce using rule 670 (type_declaration_no_options_no_dim) + $default reduce using rule 682 (type_declaration_no_options_no_dim) State 639 - 381 expr_call: basic_type_declaration '(' . ')' - 382 | basic_type_declaration '(' . expr_list ')' + 389 expr_call: basic_type_declaration '(' . ')' + 390 | basic_type_declaration '(' . expr_list ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -16065,7 +16109,7 @@ State 639 '!' shift, and go to state 457 '[' shift, and go to state 458 '(' shift, and go to state 459 - ')' shift, and go to state 847 + ')' shift, and go to state 851 '$' shift, and go to state 460 '@' shift, and go to state 461 '{' shift, and go to state 462 @@ -16078,7 +16122,7 @@ State 639 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 848 + expr_list go to state 852 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -16101,188 +16145,196 @@ State 639 State 640 - 698 type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration . '>' $@56 - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 710 type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration . '>' $@56 + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - '>' shift, and go to state 849 + '>' shift, and go to state 853 State 641 - 688 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration . '>' $@50 - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 700 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration . '>' $@50 + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - '>' shift, and go to state 850 + '>' shift, and go to state 854 State 642 - 643 auto_type_declaration: "auto" '(' "name" ')' . + 655 auto_type_declaration: "auto" '(' "name" ')' . - $default reduce using rule 643 (auto_type_declaration) + $default reduce using rule 655 (auto_type_declaration) State 643 - 645 bitfield_bits: "name" . + 657 bitfield_bits: "name" . - $default reduce using rule 645 (bitfield_bits) + $default reduce using rule 657 (bitfield_bits) State 644 - 646 bitfield_bits: bitfield_bits . ';' "name" - 652 bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits . '>' $@45 + 658 bitfield_bits: bitfield_bits . ';' "name" + 664 bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits . '>' $@45 - '>' shift, and go to state 851 - ';' shift, and go to state 852 + '>' shift, and go to state 855 + ';' shift, and go to state 856 State 645 - 702 type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration . '>' $@58 - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 714 type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration . '>' $@58 + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - '>' shift, and go to state 853 + '>' shift, and go to state 857 State 646 - 705 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list . optional_function_type '>' $@60 + 717 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list . optional_function_type '>' $@60 ':' shift, and go to state 388 - $default reduce using rule 126 (optional_function_type) + $default reduce using rule 134 (optional_function_type) - optional_function_type go to state 854 + optional_function_type go to state 858 State 647 - 709 type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration . '>' $@62 - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 721 type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration . '>' $@62 + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - '>' shift, and go to state 855 + '>' shift, and go to state 859 State 648 - 712 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list . optional_function_type '>' $@64 + 724 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list . optional_function_type '>' $@64 ':' shift, and go to state 388 - $default reduce using rule 126 (optional_function_type) + $default reduce using rule 134 (optional_function_type) - optional_function_type go to state 856 + optional_function_type go to state 860 State 649 - 716 type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration . '>' $@66 - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 728 type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration . '>' $@66 + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - '>' shift, and go to state 857 + '>' shift, and go to state 861 State 650 - 719 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list . optional_function_type '>' $@68 + 731 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list . optional_function_type '>' $@68 ':' shift, and go to state 388 - $default reduce using rule 126 (optional_function_type) + $default reduce using rule 134 (optional_function_type) - optional_function_type go to state 858 + optional_function_type go to state 862 State 651 - 256 name_in_namespace: "name" . - 257 | "name" . "::" "name" - 509 tuple_type: "name" . ':' type_declaration + 264 name_in_namespace: "name" . + 265 | "name" . "::" "name" + 517 tuple_type: "name" . ':' type_declaration "::" shift, and go to state 95 - ':' shift, and go to state 859 + ':' shift, and go to state 863 - $default reduce using rule 256 (name_in_namespace) + $default reduce using rule 264 (name_in_namespace) State 652 - 510 tuple_type_list: tuple_type . + 518 tuple_type_list: tuple_type . - $default reduce using rule 510 (tuple_type_list) + $default reduce using rule 518 (tuple_type_list) State 653 - 511 tuple_type_list: tuple_type_list . c_or_s tuple_type - 722 type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list . '>' $@70 + 519 tuple_type_list: tuple_type_list . c_or_s tuple_type + 734 type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list . '>' $@70 - ',' shift, and go to state 732 - '>' shift, and go to state 860 - ';' shift, and go to state 733 + "emitted ," shift, and go to state 734 + "emitted ;" shift, and go to state 690 + ',' shift, and go to state 735 + '>' shift, and go to state 864 + ';' shift, and go to state 691 - c_or_s go to state 861 + COMMA go to state 736 + SEMICOLON go to state 737 + c_or_s go to state 865 State 654 - 508 tuple_type: type_declaration . - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 516 tuple_type: type_declaration . + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - $default reduce using rule 508 (tuple_type) + $default reduce using rule 516 (tuple_type) State 655 - 515 variant_type: "name" . ':' type_declaration + 523 variant_type: "name" . ':' type_declaration - ':' shift, and go to state 862 + ':' shift, and go to state 866 State 656 - 516 variant_type_list: variant_type . + 524 variant_type_list: variant_type . - $default reduce using rule 516 (variant_type_list) + $default reduce using rule 524 (variant_type_list) State 657 - 517 variant_type_list: variant_type_list . c_or_s variant_type - 725 type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list . '>' $@72 + 525 variant_type_list: variant_type_list . c_or_s variant_type + 737 type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list . '>' $@72 - ',' shift, and go to state 732 - '>' shift, and go to state 863 - ';' shift, and go to state 733 + "emitted ," shift, and go to state 734 + "emitted ;" shift, and go to state 690 + ',' shift, and go to state 735 + '>' shift, and go to state 867 + ';' shift, and go to state 691 - c_or_s go to state 864 + COMMA go to state 736 + SEMICOLON go to state 737 + c_or_s go to state 868 State 658 - 644 auto_type_declaration: "$t" '(' expr ')' . + 656 auto_type_declaration: "$t" '(' expr ')' . - $default reduce using rule 644 (auto_type_declaration) + $default reduce using rule 656 (auto_type_declaration) State 659 - 673 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 . type_declaration_no_options_list '>' '(' optional_expr_list ')' + 685 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 . type_declaration_no_options_list '>' '(' optional_expr_list ')' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -16328,7 +16380,7 @@ State 659 "name" shift, and go to state 56 '$' shift, and go to state 262 - type_declaration_no_options_list go to state 865 + type_declaration_no_options_list go to state 869 name_in_namespace go to state 263 basic_type_declaration go to state 264 structure_type_declaration go to state 265 @@ -16336,112 +16388,112 @@ State 659 bitfield_type_declaration go to state 267 type_declaration_no_options go to state 268 type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 866 + type_declaration go to state 870 State 660 - 671 type_declaration_no_options_no_dim: '$' name_in_namespace '(' optional_expr_list . ')' + 683 type_declaration_no_options_no_dim: '$' name_in_namespace '(' optional_expr_list . ')' - ')' shift, and go to state 867 + ')' shift, and go to state 871 State 661 - 251 optional_expr_list: expr_list . optional_comma - 309 expr_list: expr_list . ',' expr + 259 optional_expr_list: expr_list . optional_comma + 317 expr_list: expr_list . ',' expr - ',' shift, and go to state 773 + ',' shift, and go to state 777 - $default reduce using rule 811 (optional_comma) + $default reduce using rule 823 (optional_comma) - optional_comma go to state 868 + optional_comma go to state 872 State 662 - 674 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '[' ']' . + 686 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '[' ']' . - $default reduce using rule 674 (type_declaration_no_options_no_dim) + $default reduce using rule 686 (type_declaration_no_options_no_dim) State 663 - 657 dim_list: '[' expr ']' . + 669 dim_list: '[' expr ']' . - $default reduce using rule 657 (dim_list) + $default reduce using rule 669 (dim_list) State 664 - 660 dim_list: dim_list '[' ']' . + 672 dim_list: dim_list '[' ']' . - $default reduce using rule 660 (dim_list) + $default reduce using rule 672 (dim_list) State 665 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 659 dim_list: dim_list '[' expr . ']' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 671 dim_list: dim_list '[' expr . ']' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -16478,132 +16530,138 @@ State 665 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ']' shift, and go to state 869 + ']' shift, and go to state 873 State 666 - 648 bitfield_alias_bits: "name" . + 660 bitfield_alias_bits: "name" . - $default reduce using rule 648 (bitfield_alias_bits) + $default reduce using rule 660 (bitfield_alias_bits) State 667 - 649 bitfield_alias_bits: bitfield_alias_bits . commas "name" - 743 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_commas $@82 '{' $@83 bitfield_alias_bits . optional_commas $@84 '}' + 661 bitfield_alias_bits: bitfield_alias_bits . commas "name" + 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits . optional_commas $@84 '}' - ',' shift, and go to state 168 + "emitted ," shift, and go to state 734 + ',' shift, and go to state 735 - $default reduce using rule 580 (optional_commas) + $default reduce using rule 588 (optional_commas) - commas go to state 870 - optional_commas go to state 871 + COMMA go to state 874 + commas go to state 875 + optional_commas go to state 876 State 668 - 513 tuple_alias_type_list: tuple_type . + 521 tuple_alias_type_list: tuple_type . - $default reduce using rule 513 (tuple_alias_type_list) + $default reduce using rule 521 (tuple_alias_type_list) State 669 - 514 tuple_alias_type_list: tuple_alias_type_list . semis tuple_type - 733 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_semis $@74 '{' $@75 tuple_alias_type_list . optional_semis $@76 '}' + 522 tuple_alias_type_list: tuple_alias_type_list . semis tuple_type + 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list . optional_semis $@76 '}' - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 79 (optional_semis) - semis go to state 872 - optional_semis go to state 873 + SEMICOLON go to state 877 + semis go to state 878 + optional_semis go to state 879 State 670 - 519 variant_alias_type_list: variant_type . + 527 variant_alias_type_list: variant_type . - $default reduce using rule 519 (variant_alias_type_list) + $default reduce using rule 527 (variant_alias_type_list) State 671 - 520 variant_alias_type_list: variant_alias_type_list . semis variant_type - 738 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_semis $@78 '{' $@79 variant_alias_type_list . optional_semis $@80 '}' + 528 variant_alias_type_list: variant_alias_type_list . semis variant_type + 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list . optional_semis $@80 '}' - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 79 (optional_semis) - semis go to state 874 - optional_semis go to state 875 + SEMICOLON go to state 877 + semis go to state 880 + optional_semis go to state 881 State 672 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 505 function_argument_declaration: "$a" '(' expr . ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 513 function_argument_declaration: "$a" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -16640,73 +16698,73 @@ State 672 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 876 + ')' shift, and go to state 882 State 673 - 602 variable_name_with_pos_list: "$i" . '(' expr ')' + 614 variable_name_with_pos_list: "$i" . '(' expr ')' - '(' shift, and go to state 877 + '(' shift, and go to state 883 State 674 - 601 variable_name_with_pos_list: "name" . - 603 | "name" . "aka" "name" + 613 variable_name_with_pos_list: "name" . + 615 | "name" . "aka" "name" - "aka" shift, and go to state 878 + "aka" shift, and go to state 884 - $default reduce using rule 601 (variable_name_with_pos_list) + $default reduce using rule 613 (variable_name_with_pos_list) State 675 - 504 function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing variable_declaration . + 512 function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing variable_declaration . - $default reduce using rule 504 (function_argument_declaration) + $default reduce using rule 512 (function_argument_declaration) State 676 - 523 variable_declaration: variable_name_with_pos_list . - 524 | variable_name_with_pos_list . '&' - 525 | variable_name_with_pos_list . ':' type_declaration - 526 | variable_name_with_pos_list . ':' type_declaration copy_or_move expr - 527 | variable_name_with_pos_list . copy_or_move expr - 604 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" - 605 | variable_name_with_pos_list . ',' "name" "aka" "name" + 531 variable_declaration: variable_name_with_pos_list . + 532 | variable_name_with_pos_list . '&' + 533 | variable_name_with_pos_list . ':' type_declaration + 534 | variable_name_with_pos_list . ':' type_declaration copy_or_move expr + 535 | variable_name_with_pos_list . copy_or_move expr + 616 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" + 617 | variable_name_with_pos_list . ',' "name" "aka" "name" - "<-" shift, and go to state 879 - ',' shift, and go to state 880 - '=' shift, and go to state 881 - ':' shift, and go to state 882 - '&' shift, and go to state 883 + "<-" shift, and go to state 885 + ',' shift, and go to state 886 + '=' shift, and go to state 887 + ':' shift, and go to state 888 + '&' shift, and go to state 889 - $default reduce using rule 523 (variable_declaration) + $default reduce using rule 531 (variable_declaration) - copy_or_move go to state 884 + copy_or_move go to state 890 State 677 - 507 function_argument_list: function_argument_list ';' function_argument_declaration . + 515 function_argument_list: function_argument_list ';' function_argument_declaration . - $default reduce using rule 507 (function_argument_list) + $default reduce using rule 515 (function_argument_list) State 678 - 249 expressions: expressions error . + 257 expressions: expressions error . - $default reduce using rule 249 (expressions) + $default reduce using rule 257 (expressions) State 679 - 273 expression_return: "return" . - 274 | "return" . expr - 275 | "return" . "<-" expr + 281 expression_return: "return" . + 282 | "return" . expr + 283 | "return" . "<-" expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -16758,7 +16816,7 @@ State 679 "generator" shift, and go to state 435 "++" shift, and go to state 436 "--" shift, and go to state 437 - "<-" shift, and go to state 885 + "<-" shift, and go to state 891 "::" shift, and go to state 55 "$$" shift, and go to state 438 "$i" shift, and go to state 439 @@ -16788,7 +16846,7 @@ State 679 '@' shift, and go to state 461 '{' shift, and go to state 462 - $default reduce using rule 273 (expression_return) + $default reduce using rule 281 (expression_return) string_builder go to state 463 expr_reader go to state 464 @@ -16806,7 +16864,7 @@ State 679 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 886 + expr go to state 892 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -16820,25 +16878,25 @@ State 679 State 680 - 271 expression_break: "break" . + 279 expression_break: "break" . - $default reduce using rule 271 (expression_break) + $default reduce using rule 279 (expression_break) State 681 - 278 expression_try_catch: "try" . expression_block "recover" expression_block + 286 expression_try_catch: "try" . expression_block "recover" expression_block - $default reduce using rule 224 ($@9) + $default reduce using rule 232 ($@9) - expression_block go to state 887 + expression_block go to state 893 $@9 go to state 332 State 682 - 259 expression_delete: "delete" . expr - 260 | "delete" . "explicit" expr + 267 expression_delete: "delete" . expr + 268 | "delete" . "explicit" expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -16855,7 +16913,7 @@ State 682 "upcast" shift, and go to state 426 "addr" shift, and go to state 427 "reinterpret" shift, and go to state 428 - "explicit" shift, and go to state 888 + "explicit" shift, and go to state 894 "unsafe" shift, and go to state 429 "fixed_array" shift, and go to state 430 "default" shift, and go to state 431 @@ -16936,7 +16994,7 @@ State 682 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 889 + expr go to state 895 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -16950,36 +17008,39 @@ State 682 State 683 - 83 expression_with_alias: "assume" . "name" '=' expr + 91 expression_with_alias: "assume" . "name" '=' expr - "name" shift, and go to state 890 + "name" shift, and go to state 896 State 684 - 272 expression_continue: "continue" . + 280 expression_continue: "continue" . - $default reduce using rule 272 (expression_continue) + $default reduce using rule 280 (expression_continue) State 685 - 246 expression_any: "pass" . ';' + 254 expression_any: "pass" . SEMICOLON + + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 - ';' shift, and go to state 891 + SEMICOLON go to state 897 State 686 - 52 expression_label: "label" . "integer constant" ':' + 56 expression_label: "label" . "integer constant" ':' - "integer constant" shift, and go to state 892 + "integer constant" shift, and go to state 898 State 687 - 53 expression_goto: "goto" . "label" "integer constant" - 54 | "goto" . expr + 57 expression_goto: "goto" . "label" "integer constant" + 58 | "goto" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -16996,7 +17057,7 @@ State 687 "upcast" shift, and go to state 426 "addr" shift, and go to state 427 "reinterpret" shift, and go to state 428 - "label" shift, and go to state 893 + "label" shift, and go to state 899 "unsafe" shift, and go to state 429 "fixed_array" shift, and go to state 430 "default" shift, and go to state 431 @@ -17077,7 +17138,7 @@ State 687 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 894 + expr go to state 900 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -17091,22 +17152,22 @@ State 687 State 688 - 78 expression_unsafe: "unsafe" . optional_semis expression_block - 464 expr: "unsafe" . '(' expr ')' + 86 expression_unsafe: "unsafe" . optional_emit_semis expression_block + 472 expr: "unsafe" . '(' expr ')' - '(' shift, and go to state 565 - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 171 + '(' shift, and go to state 565 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 63 (optional_emit_semis) - semis go to state 172 - optional_semis go to state 895 + emit_semis go to state 172 + optional_emit_semis go to state 901 State 689 - 276 expression_yield: "yield" . expr - 277 | "yield" . "<-" expr + 284 expression_yield: "yield" . expr + 285 | "yield" . "<-" expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -17158,7 +17219,7 @@ State 689 "generator" shift, and go to state 435 "++" shift, and go to state 436 "--" shift, and go to state 437 - "<-" shift, and go to state 896 + "<-" shift, and go to state 902 "::" shift, and go to state 55 "$$" shift, and go to state 438 "$i" shift, and go to state 439 @@ -17204,7 +17265,7 @@ State 689 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 897 + expr go to state 903 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -17218,330 +17279,371 @@ State 689 State 690 - 228 expression_any: ';' . + 19 SEMICOLON: "emitted ;" . - $default reduce using rule 228 (expression_any) + $default reduce using rule 19 (SEMICOLON) State 691 - 244 expression_any: expression_label . ';' + 18 SEMICOLON: ';' . - ';' shift, and go to state 898 + $default reduce using rule 18 (SEMICOLON) State 692 - 245 expression_any: expression_goto . ';' + 236 expression_any: SEMICOLON . - ';' shift, and go to state 899 + $default reduce using rule 236 (expression_any) State 693 - 75 expression_if_then_else_oneliner: expression_if_one_liner . "if" '(' expr ')' expression_else_one_liner ';' + 252 expression_any: expression_label . SEMICOLON - "if" shift, and go to state 900 + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 + + SEMICOLON go to state 904 State 694 - 241 expression_any: expression_if_then_else . + 253 expression_any: expression_goto . SEMICOLON - $default reduce using rule 241 (expression_any) + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 + SEMICOLON go to state 905 -State 695 - 74 expression_if_then_else: $@2 . if_or_static_if '(' expr ')' optional_semis expression_block expression_else +State 695 - "if" shift, and go to state 901 - "static_if" shift, and go to state 902 + 83 expression_if_then_else_oneliner: expression_if_one_liner . "if" '(' expr ')' expression_else_one_liner SEMICOLON - if_or_static_if go to state 903 + "if" shift, and go to state 906 State 696 - 242 expression_any: expression_if_then_else_oneliner . + 249 expression_any: expression_if_then_else . - $default reduce using rule 242 (expression_any) + $default reduce using rule 249 (expression_any) State 697 - 236 expression_any: expression_for_loop . + 82 expression_if_then_else: $@2 . if_or_static_if '(' expr ')' optional_emit_semis expression_block expression_else - $default reduce using rule 236 (expression_any) + "if" shift, and go to state 907 + "static_if" shift, and go to state 908 + + if_or_static_if go to state 909 State 698 - 77 expression_for_loop: $@3 . "for" '(' variable_name_with_pos_list "in" expr_list ')' optional_semis expression_block + 250 expression_any: expression_if_then_else_oneliner . - "for" shift, and go to state 904 + $default reduce using rule 250 (expression_any) State 699 - 233 expression_any: expression_unsafe . + 244 expression_any: expression_for_loop . - $default reduce using rule 233 (expression_any) + $default reduce using rule 244 (expression_any) State 700 - 232 expression_any: expression_while_loop . + 85 expression_for_loop: $@3 . "for" '(' variable_name_with_pos_list "in" expr_list ')' optional_emit_semis expression_block - $default reduce using rule 232 (expression_any) + "for" shift, and go to state 910 State 701 - 80 expression_while_loop: $@4 . "while" '(' expr ')' optional_semis expression_block + 241 expression_any: expression_unsafe . - "while" shift, and go to state 905 + $default reduce using rule 241 (expression_any) State 702 - 234 expression_any: expression_with . + 240 expression_any: expression_while_loop . - $default reduce using rule 234 (expression_any) + $default reduce using rule 240 (expression_any) State 703 - 82 expression_with: $@5 . "with" '(' expr ')' optional_semis expression_block + 88 expression_while_loop: $@4 . "while" '(' expr ')' optional_emit_semis expression_block - "with" shift, and go to state 906 + "while" shift, and go to state 911 State 704 - 235 expression_any: expression_with_alias . ';' + 242 expression_any: expression_with . - ';' shift, and go to state 907 + $default reduce using rule 242 (expression_any) State 705 - 226 expression_block: $@9 '{' expressions $@10 . '}' expression_block_finally + 90 expression_with: $@5 . "with" '(' expr ')' optional_emit_semis expression_block - '}' shift, and go to state 908 + "with" shift, and go to state 912 State 706 - 248 expressions: expressions expression_any . + 243 expression_any: expression_with_alias . SEMICOLON + + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 - $default reduce using rule 248 (expressions) + SEMICOLON go to state 913 State 707 - 230 expression_any: expression_delete . ';' + 234 expression_block: $@9 '{' expressions $@10 . '}' expression_block_finally - ';' shift, and go to state 909 + '}' shift, and go to state 914 State 708 - 67 expression_if_one_liner: expression_break . - 237 expression_any: expression_break . ';' + 256 expressions: expressions expression_any . - ';' shift, and go to state 910 - - $default reduce using rule 67 (expression_if_one_liner) + $default reduce using rule 256 (expressions) State 709 - 68 expression_if_one_liner: expression_continue . - 238 expression_any: expression_continue . ';' + 238 expression_any: expression_delete . SEMICOLON - ';' shift, and go to state 911 + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 - $default reduce using rule 68 (expression_if_one_liner) + SEMICOLON go to state 915 State 710 - 65 expression_if_one_liner: expression_return . - 239 expression_any: expression_return . ';' + 75 expression_if_one_liner: expression_break . + 245 expression_any: expression_break . SEMICOLON + + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 - ';' shift, and go to state 912 + $default reduce using rule 75 (expression_if_one_liner) - $default reduce using rule 65 (expression_if_one_liner) + SEMICOLON go to state 916 State 711 - 66 expression_if_one_liner: expression_yield . - 240 expression_any: expression_yield . ';' + 76 expression_if_one_liner: expression_continue . + 246 expression_any: expression_continue . SEMICOLON + + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 - ';' shift, and go to state 913 + $default reduce using rule 76 (expression_if_one_liner) - $default reduce using rule 66 (expression_if_one_liner) + SEMICOLON go to state 917 State 712 - 243 expression_any: expression_try_catch . + 73 expression_if_one_liner: expression_return . + 247 expression_any: expression_return . SEMICOLON - $default reduce using rule 243 (expression_any) + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 + + $default reduce using rule 73 (expression_if_one_liner) + + SEMICOLON go to state 918 State 713 - 290 expression_let: kwd_let . optional_in_scope let_variable_declaration - 291 | kwd_let . optional_in_scope tuple_expansion_variable_declaration - 292 | kwd_let . optional_in_scope '{' variable_declaration_list '}' + 74 expression_if_one_liner: expression_yield . + 248 expression_any: expression_yield . SEMICOLON - "inscope" shift, and go to state 914 + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 - $default reduce using rule 285 (optional_in_scope) + $default reduce using rule 74 (expression_if_one_liner) - optional_in_scope go to state 915 + SEMICOLON go to state 919 State 714 - 231 expression_any: expression_let . + 251 expression_any: expression_try_catch . - $default reduce using rule 231 (expression_any) + $default reduce using rule 251 (expression_any) State 715 - 229 expression_any: expr_assign . ';' + 298 expression_let: kwd_let . optional_in_scope let_variable_declaration + 299 | kwd_let . optional_in_scope tuple_expansion_variable_declaration + 300 | kwd_let . optional_in_scope '{' variable_declaration_list '}' + + "inscope" shift, and go to state 920 - ';' shift, and go to state 916 + $default reduce using rule 293 (optional_in_scope) + + optional_in_scope go to state 921 State 716 - 64 expression_if_one_liner: expr . - 335 expr_assign: expr . - 336 | expr . '=' expr - 337 | expr . "<-" expr - 338 | expr . ":=" expr - 339 | expr . "&=" expr - 340 | expr . "|=" expr - 341 | expr . "^=" expr - 342 | expr . "&&=" expr - 343 | expr . "||=" expr - 344 | expr . "^^=" expr - 345 | expr . "+=" expr - 346 | expr . "-=" expr - 347 | expr . "*=" expr - 348 | expr . "/=" expr - 349 | expr . "%=" expr - 350 | expr . "<<=" expr - 351 | expr . ">>=" expr - 352 | expr . "<<<=" expr - 353 | expr . ">>>=" expr - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 239 expression_any: expression_let . + + $default reduce using rule 239 (expression_any) + + +State 717 + + 237 expression_any: expr_assign . SEMICOLON + + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 + + SEMICOLON go to state 922 + + +State 718 + + 72 expression_if_one_liner: expr . + 343 expr_assign: expr . + 344 | expr . '=' expr + 345 | expr . "<-" expr + 346 | expr . ":=" expr + 347 | expr . "&=" expr + 348 | expr . "|=" expr + 349 | expr . "^=" expr + 350 | expr . "&&=" expr + 351 | expr . "||=" expr + 352 | expr . "^^=" expr + 353 | expr . "+=" expr + 354 | expr . "-=" expr + 355 | expr . "*=" expr + 356 | expr . "/=" expr + 357 | expr . "%=" expr + 358 | expr . "<<=" expr + 359 | expr . ">>=" expr + 360 | expr . "<<<=" expr + 361 | expr . ">>>=" expr + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 - "+=" shift, and go to state 917 - "-=" shift, and go to state 918 - "/=" shift, and go to state 919 - "*=" shift, and go to state 920 - "%=" shift, and go to state 921 - "&=" shift, and go to state 922 - "|=" shift, and go to state 923 - "^=" shift, and go to state 924 + "+=" shift, and go to state 923 + "-=" shift, and go to state 924 + "/=" shift, and go to state 925 + "*=" shift, and go to state 926 + "%=" shift, and go to state 927 + "&=" shift, and go to state 928 + "|=" shift, and go to state 929 + "^=" shift, and go to state 930 "<<" shift, and go to state 605 ">>" shift, and go to state 606 "++" shift, and go to state 607 "--" shift, and go to state 608 "<=" shift, and go to state 609 - "<<=" shift, and go to state 925 - ">>=" shift, and go to state 926 + "<<=" shift, and go to state 931 + ">>=" shift, and go to state 932 ">=" shift, and go to state 610 "==" shift, and go to state 611 "!=" shift, and go to state 612 "->" shift, and go to state 613 - "<-" shift, and go to state 927 + "<-" shift, and go to state 933 "??" shift, and go to state 614 "?." shift, and go to state 615 "?[" shift, and go to state 616 "<|" shift, and go to state 617 "|>" shift, and go to state 618 - ":=" shift, and go to state 928 + ":=" shift, and go to state 934 "<<<" shift, and go to state 619 ">>>" shift, and go to state 620 - "<<<=" shift, and go to state 929 - ">>>=" shift, and go to state 930 + "<<<=" shift, and go to state 935 + ">>>=" shift, and go to state 936 "&&" shift, and go to state 621 "||" shift, and go to state 622 "^^" shift, and go to state 623 - "&&=" shift, and go to state 931 - "||=" shift, and go to state 932 - "^^=" shift, and go to state 933 + "&&=" shift, and go to state 937 + "||=" shift, and go to state 938 + "^^=" shift, and go to state 939 ".." shift, and go to state 624 - '=' shift, and go to state 934 + '=' shift, and go to state 940 '?' shift, and go to state 625 '|' shift, and go to state 626 '^' shift, and go to state 627 @@ -17556,53 +17658,53 @@ State 716 '.' shift, and go to state 636 '[' shift, and go to state 637 - ';' reduce using rule 335 (expr_assign) - $default reduce using rule 64 (expression_if_one_liner) + "if" reduce using rule 72 (expression_if_one_liner) + $default reduce using rule 343 (expr_assign) -State 717 +State 719 - 585 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_commas '{' $@40 . enum_list optional_commas $@41 '}' + 597 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_emit_commas '{' $@40 . enum_list optional_commas $@41 '}' - "name" shift, and go to state 935 + "name" shift, and go to state 941 - $default reduce using rule 565 (enum_list) + $default reduce using rule 573 (enum_list) - enum_expression go to state 936 - enum_list go to state 937 + enum_expression go to state 942 + enum_list go to state 943 -State 718 +State 720 - 597 optional_struct_variable_declaration_list: '{' struct_variable_declaration_list '}' . + 609 optional_struct_variable_declaration_list: '{' struct_variable_declaration_list '}' . - $default reduce using rule 597 (optional_struct_variable_declaration_list) + $default reduce using rule 609 (optional_struct_variable_declaration_list) -State 719 +State 721 - 501 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list . "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header ';' - 503 | struct_variable_declaration_list optional_annotation_list . "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block + 509 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list . "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header ';' + 511 | struct_variable_declaration_list optional_annotation_list . "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block - "def" shift, and go to state 938 + "def" shift, and go to state 944 -State 720 +State 722 - 499 struct_variable_declaration_list: struct_variable_declaration_list $@33 . structure_variable_declaration ';' + 507 struct_variable_declaration_list: struct_variable_declaration_list $@33 . structure_variable_declaration ';' '@' shift, and go to state 214 - $default reduce using rule 484 (optional_field_annotation) + $default reduce using rule 492 (optional_field_annotation) metadata_argument_list go to state 215 - optional_field_annotation go to state 939 - structure_variable_declaration go to state 940 + optional_field_annotation go to state 945 + structure_variable_declaration go to state 946 -State 721 +State 723 - 534 let_variable_name_with_pos_list: "$i" '(' . expr ')' + 542 let_variable_name_with_pos_list: "$i" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -17699,7 +17801,7 @@ State 721 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 941 + expr go to state 947 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -17711,25 +17813,25 @@ State 721 array_comprehension go to state 488 -State 722 +State 724 - 535 let_variable_name_with_pos_list: "name" "aka" . "name" + 543 let_variable_name_with_pos_list: "name" "aka" . "name" - "name" shift, and go to state 942 + "name" shift, and go to state 948 -State 723 +State 725 - 536 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' . "name" - 537 | let_variable_name_with_pos_list ',' . "name" "aka" "name" + 544 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' . "name" + 545 | let_variable_name_with_pos_list ',' . "name" "aka" "name" - "name" shift, and go to state 943 + "name" shift, and go to state 949 -State 724 +State 726 - 543 let_variable_declaration: let_variable_name_with_pos_list ':' . type_declaration_no_options ';' - 544 | let_variable_name_with_pos_list ':' . type_declaration_no_options copy_or_move_or_clone expr ';' + 551 let_variable_declaration: let_variable_name_with_pos_list ':' . type_declaration_no_options SEMICOLON + 552 | let_variable_name_with_pos_list ':' . type_declaration_no_options copy_or_move_or_clone expr SEMICOLON "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -17780,31 +17882,31 @@ State 724 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 944 + type_declaration_no_options go to state 950 type_declaration_no_options_no_dim go to state 269 -State 725 +State 727 - 545 let_variable_declaration: let_variable_name_with_pos_list optional_ref . copy_or_move_or_clone expr ';' + 553 let_variable_declaration: let_variable_name_with_pos_list optional_ref . copy_or_move_or_clone expr SEMICOLON "<-" shift, and go to state 537 ":=" shift, and go to state 538 '=' shift, and go to state 539 - copy_or_move_or_clone go to state 945 + copy_or_move_or_clone go to state 951 -State 726 +State 728 - 546 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options ';' . + 554 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options ';' . - $default reduce using rule 546 (global_let_variable_declaration) + $default reduce using rule 554 (global_let_variable_declaration) -State 727 +State 729 - 547 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone . expr ';' + 555 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone . expr ';' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -17901,7 +18003,7 @@ State 727 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 946 + expr go to state 952 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -17913,69 +18015,69 @@ State 727 array_comprehension go to state 488 -State 728 +State 730 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 548 global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr . ';' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 556 global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr . ';' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -18012,53 +18114,67 @@ State 728 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ';' shift, and go to state 947 + ';' shift, and go to state 953 -State 729 +State 731 - 669 type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration '>' . $@47 + 681 type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration '>' . $@47 - $default reduce using rule 668 ($@47) + $default reduce using rule 680 ($@47) - $@47 go to state 948 + $@47 go to state 954 -State 730 +State 732 - 692 type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration '>' . $@52 + 704 type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration '>' . $@52 - $default reduce using rule 691 ($@52) + $default reduce using rule 703 ($@52) - $@52 go to state 949 + $@52 go to state 955 -State 731 +State 733 - 695 type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair '>' . $@54 + 707 type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair '>' . $@54 - $default reduce using rule 694 ($@54) + $default reduce using rule 706 ($@54) - $@54 go to state 950 + $@54 go to state 956 -State 732 +State 734 - 653 c_or_s: ',' . + 17 COMMA: "emitted ," . - $default reduce using rule 653 (c_or_s) + $default reduce using rule 17 (COMMA) -State 733 +State 735 - 654 c_or_s: ';' . + 16 COMMA: ',' . - $default reduce using rule 654 (c_or_s) + $default reduce using rule 16 (COMMA) -State 734 +State 736 - 656 table_type_pair: type_declaration c_or_s . type_declaration + 665 c_or_s: COMMA . + + $default reduce using rule 665 (c_or_s) + + +State 737 + + 666 c_or_s: SEMICOLON . + + $default reduce using rule 666 (c_or_s) + + +State 738 + + 668 table_type_pair: type_declaration c_or_s . type_declaration "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -18111,12 +18227,12 @@ State 734 bitfield_type_declaration go to state 267 type_declaration_no_options go to state 268 type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 951 + type_declaration go to state 957 -State 735 +State 739 - 769 make_struct_decl: "struct" '<' $@85 . type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' + 781 make_struct_decl: "struct" '<' $@85 . type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -18167,13 +18283,13 @@ State 735 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 952 + type_declaration_no_options go to state 958 type_declaration_no_options_no_dim go to state 269 -State 736 +State 740 - 772 make_struct_decl: "class" '<' $@87 . type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' + 784 make_struct_decl: "class" '<' $@87 . type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -18224,13 +18340,13 @@ State 736 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 953 + type_declaration_no_options go to state 959 type_declaration_no_options_no_dim go to state 269 -State 737 +State 741 - 263 new_type_declaration: '<' $@11 . type_declaration '>' $@12 + 271 new_type_declaration: '<' $@11 . type_declaration '>' $@12 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -18283,15 +18399,15 @@ State 737 bitfield_type_declaration go to state 267 type_declaration_no_options go to state 268 type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 954 + type_declaration go to state 960 -State 738 +State 742 - 266 expr_new: "new" new_type_declaration '(' . use_initializer ')' - 267 | "new" new_type_declaration '(' . expr_list ')' - 268 | "new" new_type_declaration '(' . make_struct_single ')' - 269 | "new" new_type_declaration '(' . "uninitialized" make_struct_single ')' + 274 expr_new: "new" new_type_declaration '(' . use_initializer ')' + 275 | "new" new_type_declaration '(' . expr_list ')' + 276 | "new" new_type_declaration '(' . make_struct_single ')' + 277 | "new" new_type_declaration '(' . "uninitialized" make_struct_single ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -18311,7 +18427,7 @@ State 738 "unsafe" shift, and go to state 429 "fixed_array" shift, and go to state 430 "default" shift, and go to state 431 - "uninitialized" shift, and go to state 955 + "uninitialized" shift, and go to state 961 "bool" shift, and go to state 228 "void" shift, and go to state 229 "string" shift, and go to state 230 @@ -18351,7 +18467,7 @@ State 738 "$b" shift, and go to state 441 "$a" shift, and go to state 442 "$c" shift, and go to state 443 - "$f" shift, and go to state 786 + "$f" shift, and go to state 790 "..." shift, and go to state 444 "integer constant" shift, and go to state 445 "long integer constant" shift, and go to state 446 @@ -18360,7 +18476,7 @@ State 738 "unsigned int8 constant" shift, and go to state 449 "floating point constant" shift, and go to state 450 "double constant" shift, and go to state 451 - "name" shift, and go to state 787 + "name" shift, and go to state 791 "start of the string" shift, and go to state 452 '-' shift, and go to state 453 '+' shift, and go to state 454 @@ -18374,7 +18490,7 @@ State 738 '@' shift, and go to state 461 '{' shift, and go to state 462 - $default reduce using rule 765 (use_initializer) + $default reduce using rule 777 (use_initializer) string_builder go to state 463 expr_reader go to state 464 @@ -18384,7 +18500,7 @@ State 738 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 956 + expr_list go to state 962 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -18398,9 +18514,9 @@ State 738 expr_mtag go to state 481 basic_type_declaration go to state 482 make_decl go to state 483 - make_struct_fields go to state 791 - make_struct_single go to state 957 - use_initializer go to state 958 + make_struct_fields go to state 795 + make_struct_single go to state 963 + use_initializer go to state 964 make_struct_decl go to state 484 make_tuple_call go to state 485 make_dim_decl go to state 486 @@ -18408,17 +18524,17 @@ State 738 array_comprehension go to state 488 -State 739 +State 743 - 306 expr_type_info: "typeinfo" name_in_namespace '<' . "name" '>' '(' expr ')' - 307 | "typeinfo" name_in_namespace '<' . "name" c_or_s "name" '>' '(' expr ')' + 314 expr_type_info: "typeinfo" name_in_namespace '<' . "name" '>' '(' expr ')' + 315 | "typeinfo" name_in_namespace '<' . "name" c_or_s "name" '>' '(' expr ')' - "name" shift, and go to state 959 + "name" shift, and go to state 965 -State 740 +State 744 - 305 expr_type_info: "typeinfo" name_in_namespace '(' . expr ')' + 313 expr_type_info: "typeinfo" name_in_namespace '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -18515,7 +18631,7 @@ State 740 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 960 + expr go to state 966 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -18527,9 +18643,9 @@ State 740 array_comprehension go to state 488 -State 741 +State 745 - 304 expr_type_decl: "type" '<' $@19 . type_declaration '>' $@20 + 312 expr_type_decl: "type" '<' $@19 . type_declaration '>' $@20 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -18582,39 +18698,39 @@ State 741 bitfield_type_declaration go to state 267 type_declaration_no_options go to state 268 type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 961 + type_declaration go to state 967 -State 742 +State 746 - 788 make_dim_decl: "array" "struct" '<' . $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' + 800 make_dim_decl: "array" "struct" '<' . $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 786 ($@95) + $default reduce using rule 798 ($@95) - $@95 go to state 962 + $@95 go to state 968 -State 743 +State 747 - 791 make_dim_decl: "array" "tuple" '<' . $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' + 803 make_dim_decl: "array" "tuple" '<' . $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 789 ($@97) + $default reduce using rule 801 ($@97) - $@97 go to state 963 + $@97 go to state 969 -State 744 +State 748 - 794 make_dim_decl: "array" "variant" '<' . $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' + 806 make_dim_decl: "array" "variant" '<' . $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' - $default reduce using rule 792 ($@99) + $default reduce using rule 804 ($@99) - $@99 go to state 964 + $@99 go to state 970 -State 745 +State 749 - 798 make_dim_decl: "array" '<' $@101 . type_declaration_no_options '>' $@102 '(' optional_expr_list ')' + 810 make_dim_decl: "array" '<' $@101 . type_declaration_no_options '>' $@102 '(' optional_expr_list ')' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -18665,109 +18781,113 @@ State 745 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 965 + type_declaration_no_options go to state 971 type_declaration_no_options_no_dim go to state 269 -State 746 +State 750 - 309 expr_list: expr_list . ',' expr - 795 make_dim_decl: "array" '(' expr_list . optional_comma ')' + 317 expr_list: expr_list . ',' expr + 807 make_dim_decl: "array" '(' expr_list . optional_comma ')' - ',' shift, and go to state 773 + ',' shift, and go to state 777 - $default reduce using rule 811 (optional_comma) + $default reduce using rule 823 (optional_comma) - optional_comma go to state 966 + optional_comma go to state 972 -State 747 +State 751 - 807 make_table_decl: "table" '<' type_declaration_no_options . '>' '(' optional_expr_map_tuple_list ')' - 808 | "table" '<' type_declaration_no_options . c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + 819 make_table_decl: "table" '<' type_declaration_no_options . '>' '(' optional_expr_map_tuple_list ')' + 820 | "table" '<' type_declaration_no_options . c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' - ',' shift, and go to state 732 - '>' shift, and go to state 967 - ';' shift, and go to state 733 + "emitted ," shift, and go to state 734 + "emitted ;" shift, and go to state 690 + ',' shift, and go to state 735 + '>' shift, and go to state 973 + ';' shift, and go to state 691 - c_or_s go to state 968 + COMMA go to state 736 + SEMICOLON go to state 737 + c_or_s go to state 974 -State 748 +State 752 - 804 expr_map_tuple_list: expr_map_tuple_list . ',' make_map_tuple - 806 make_table_decl: "table" '(' expr_map_tuple_list . optional_comma ')' + 816 expr_map_tuple_list: expr_map_tuple_list . ',' make_map_tuple + 818 make_table_decl: "table" '(' expr_map_tuple_list . optional_comma ')' - ',' shift, and go to state 783 + ',' shift, and go to state 787 - $default reduce using rule 811 (optional_comma) + $default reduce using rule 823 (optional_comma) - optional_comma go to state 969 + optional_comma go to state 975 -State 749 +State 753 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 433 | "deref" '(' expr . ')' - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 441 | "deref" '(' expr . ')' + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -18804,12 +18924,12 @@ State 749 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 970 + ')' shift, and go to state 976 -State 750 +State 754 - 295 expr_cast: "cast" '<' $@13 . type_declaration_no_options '>' $@14 expr + 303 expr_cast: "cast" '<' $@13 . type_declaration_no_options '>' $@14 expr "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -18860,13 +18980,13 @@ State 750 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 971 + type_declaration_no_options go to state 977 type_declaration_no_options_no_dim go to state 269 -State 751 +State 755 - 298 expr_cast: "upcast" '<' $@15 . type_declaration_no_options '>' $@16 expr + 306 expr_cast: "upcast" '<' $@15 . type_declaration_no_options '>' $@16 expr "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -18917,73 +19037,73 @@ State 751 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 972 + type_declaration_no_options go to state 978 type_declaration_no_options_no_dim go to state 269 -State 752 +State 756 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 434 | "addr" '(' expr . ')' - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 442 | "addr" '(' expr . ')' + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19020,12 +19140,12 @@ State 752 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 973 + ')' shift, and go to state 979 -State 753 +State 757 - 301 expr_cast: "reinterpret" '<' $@17 . type_declaration_no_options '>' $@18 expr + 309 expr_cast: "reinterpret" '<' $@17 . type_declaration_no_options '>' $@18 expr "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -19076,73 +19196,73 @@ State 753 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 974 + type_declaration_no_options go to state 980 type_declaration_no_options_no_dim go to state 269 -State 754 +State 758 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 464 | "unsafe" '(' expr . ')' - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 472 | "unsafe" '(' expr . ')' + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19179,12 +19299,12 @@ State 754 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 975 + ')' shift, and go to state 981 -State 755 +State 759 - 802 make_dim_decl: "fixed_array" '<' $@103 . type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' + 814 make_dim_decl: "fixed_array" '<' $@103 . type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -19235,25 +19355,25 @@ State 755 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 976 + type_declaration_no_options go to state 982 type_declaration_no_options_no_dim go to state 269 -State 756 +State 760 - 309 expr_list: expr_list . ',' expr - 799 make_dim_decl: "fixed_array" '(' expr_list . optional_comma ')' + 317 expr_list: expr_list . ',' expr + 811 make_dim_decl: "fixed_array" '(' expr_list . optional_comma ')' - ',' shift, and go to state 773 + ',' shift, and go to state 777 - $default reduce using rule 811 (optional_comma) + $default reduce using rule 823 (optional_comma) - optional_comma go to state 977 + optional_comma go to state 983 -State 757 +State 761 - 778 make_struct_decl: "default" '<' $@91 . type_declaration_no_options '>' $@92 use_initializer + 790 make_struct_decl: "default" '<' $@91 . type_declaration_no_options '>' $@92 use_initializer "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -19304,13 +19424,13 @@ State 757 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 978 + type_declaration_no_options go to state 984 type_declaration_no_options_no_dim go to state 269 -State 758 +State 762 - 784 make_tuple_call: "tuple" '<' $@93 . type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' + 796 make_tuple_call: "tuple" '<' $@93 . type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -19361,25 +19481,25 @@ State 758 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 979 + type_declaration_no_options go to state 985 type_declaration_no_options_no_dim go to state 269 -State 759 +State 763 - 309 expr_list: expr_list . ',' expr - 781 make_tuple_call: "tuple" '(' expr_list . optional_comma ')' + 317 expr_list: expr_list . ',' expr + 793 make_tuple_call: "tuple" '(' expr_list . optional_comma ')' - ',' shift, and go to state 773 + ',' shift, and go to state 777 - $default reduce using rule 811 (optional_comma) + $default reduce using rule 823 (optional_comma) - optional_comma go to state 980 + optional_comma go to state 986 -State 760 +State 764 - 775 make_struct_decl: "variant" '<' $@89 . type_declaration_no_options '>' $@90 '(' make_variant_dim ')' + 787 make_struct_decl: "variant" '<' $@89 . type_declaration_no_options '>' $@90 '(' make_variant_dim ')' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -19430,82 +19550,82 @@ State 760 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 981 + type_declaration_no_options go to state 987 type_declaration_no_options_no_dim go to state 269 -State 761 +State 765 - 465 expr_generator: "generator" '<' type_declaration_no_options . '>' optional_capture_list '(' ')' - 466 | "generator" '<' type_declaration_no_options . '>' optional_capture_list '(' expr ')' - 467 | "generator" '<' type_declaration_no_options . '>' optional_capture_list optional_semis expression_block + 473 expr_generator: "generator" '<' type_declaration_no_options . '>' optional_capture_list '(' ')' + 474 | "generator" '<' type_declaration_no_options . '>' optional_capture_list '(' expr ')' + 475 | "generator" '<' type_declaration_no_options . '>' optional_capture_list optional_emit_semis expression_block - '>' shift, and go to state 982 + '>' shift, and go to state 988 -State 762 +State 766 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 468 expr_mtag: "$$" '(' expr . ')' - 476 | expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 476 expr_mtag: "$$" '(' expr . ')' + 484 | expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19542,72 +19662,72 @@ State 762 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 983 + ')' shift, and go to state 989 -State 763 +State 767 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 469 expr_mtag: "$i" '(' expr . ')' - 476 | expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 477 expr_mtag: "$i" '(' expr . ')' + 484 | expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19644,72 +19764,72 @@ State 763 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 984 + ')' shift, and go to state 990 -State 764 +State 768 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 470 expr_mtag: "$v" '(' expr . ')' - 476 | expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 478 expr_mtag: "$v" '(' expr . ')' + 484 | expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19746,72 +19866,72 @@ State 764 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 985 + ')' shift, and go to state 991 -State 765 +State 769 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 471 expr_mtag: "$b" '(' expr . ')' - 476 | expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 479 expr_mtag: "$b" '(' expr . ')' + 484 | expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19848,72 +19968,72 @@ State 765 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 986 + ')' shift, and go to state 992 -State 766 +State 770 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 472 expr_mtag: "$a" '(' expr . ')' - 476 | expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 480 expr_mtag: "$a" '(' expr . ')' + 484 | expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19950,73 +20070,73 @@ State 766 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 987 + ')' shift, and go to state 993 -State 767 +State 771 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 474 expr_mtag: "$c" '(' expr . ')' '(' ')' - 475 | "$c" '(' expr . ')' '(' expr_list ')' - 476 | expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 482 expr_mtag: "$c" '(' expr . ')' '(' ')' + 483 | "$c" '(' expr . ')' '(' expr_list ')' + 484 | expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -20053,19 +20173,19 @@ State 767 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 988 + ')' shift, and go to state 994 -State 768 +State 772 - 32 string_builder: "start of the string" string_builder_body "end of the string" . + 36 string_builder: "start of the string" string_builder_body "end of the string" . - $default reduce using rule 32 (string_builder) + $default reduce using rule 36 (string_builder) -State 769 +State 773 - 31 string_builder_body: string_builder_body "{" . expr "}" + 35 string_builder_body: string_builder_body "{" . expr "}" "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -20162,7 +20282,7 @@ State 769 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 989 + expr go to state 995 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -20174,39 +20294,39 @@ State 769 array_comprehension go to state 488 -State 770 +State 774 - 25 character_sequence: character_sequence . STRING_CHARACTER - 26 | character_sequence . STRING_CHARACTER_ESC - 30 string_builder_body: string_builder_body character_sequence . + 29 character_sequence: character_sequence . STRING_CHARACTER + 30 | character_sequence . STRING_CHARACTER_ESC + 34 string_builder_body: string_builder_body character_sequence . STRING_CHARACTER shift, and go to state 217 STRING_CHARACTER_ESC shift, and go to state 218 - $default reduce using rule 30 (string_builder_body) + $default reduce using rule 34 (string_builder_body) -State 771 +State 775 - 813 array_comprehension: '[' "for" '(' . variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 825 array_comprehension: '[' "for" '(' . variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' "$i" shift, and go to state 673 "name" shift, and go to state 674 - variable_name_with_pos_list go to state 990 + variable_name_with_pos_list go to state 996 -State 772 +State 776 - 814 array_comprehension: '[' "iterator" "for" . '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 826 array_comprehension: '[' "iterator" "for" . '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' - '(' shift, and go to state 991 + '(' shift, and go to state 997 -State 773 +State 777 - 309 expr_list: expr_list ',' . expr - 812 optional_comma: ',' . + 317 expr_list: expr_list ',' . expr + 824 optional_comma: ',' . "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -20287,7 +20407,7 @@ State 773 '@' shift, and go to state 461 '{' shift, and go to state 462 - $default reduce using rule 812 (optional_comma) + $default reduce using rule 824 (optional_comma) string_builder go to state 463 expr_reader go to state 464 @@ -20305,7 +20425,7 @@ State 773 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 992 + expr go to state 998 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -20317,75 +20437,75 @@ State 773 array_comprehension go to state 488 -State 774 +State 778 - 785 make_dim_decl: '[' expr_list optional_comma . ']' + 797 make_dim_decl: '[' expr_list optional_comma . ']' - ']' shift, and go to state 993 + ']' shift, and go to state 999 -State 775 +State 779 - 423 expr: '(' expr_list optional_comma . ')' + 431 expr: '(' expr_list optional_comma . ')' - ')' shift, and go to state 994 + ')' shift, and go to state 1000 -State 776 +State 780 - 359 func_addr_name: "$i" . '(' expr ')' + 367 func_addr_name: "$i" . '(' expr ')' - '(' shift, and go to state 995 + '(' shift, and go to state 1001 -State 777 +State 781 - 483 expr_mtag: '@' '@' "$c" . '(' expr ')' + 491 expr_mtag: '@' '@' "$c" . '(' expr ')' - '(' shift, and go to state 996 + '(' shift, and go to state 1002 -State 778 +State 782 - 363 func_addr_expr: '@' '@' '<' . $@21 type_declaration_no_options '>' $@22 func_addr_name - 366 | '@' '@' '<' . $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name + 371 func_addr_expr: '@' '@' '<' . $@21 type_declaration_no_options '>' $@22 func_addr_name + 374 | '@' '@' '<' . $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name - ':' reduce using rule 364 ($@23) - '>' reduce using rule 364 ($@23) - '(' reduce using rule 364 ($@23) - $default reduce using rule 361 ($@21) + ':' reduce using rule 372 ($@23) + '>' reduce using rule 372 ($@23) + '(' reduce using rule 372 ($@23) + $default reduce using rule 369 ($@21) - $@21 go to state 997 - $@23 go to state 998 + $@21 go to state 1003 + $@23 go to state 1004 -State 779 +State 783 - 358 func_addr_name: name_in_namespace . + 366 func_addr_name: name_in_namespace . - $default reduce using rule 358 (func_addr_name) + $default reduce using rule 366 (func_addr_name) -State 780 +State 784 - 360 func_addr_expr: '@' '@' func_addr_name . + 368 func_addr_expr: '@' '@' func_addr_name . - $default reduce using rule 360 (func_addr_expr) + $default reduce using rule 368 (func_addr_expr) -State 781 +State 785 - 815 array_comprehension: '{' "for" '(' . variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' + 827 array_comprehension: '{' "for" '(' . variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' "$i" shift, and go to state 673 "name" shift, and go to state 674 - variable_name_with_pos_list go to state 999 + variable_name_with_pos_list go to state 1005 -State 782 +State 786 - 779 make_map_tuple: expr "=>" . expr + 791 make_map_tuple: expr "=>" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -20482,7 +20602,7 @@ State 782 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1000 + expr go to state 1006 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -20494,10 +20614,10 @@ State 782 array_comprehension go to state 488 -State 783 +State 787 - 804 expr_map_tuple_list: expr_map_tuple_list ',' . make_map_tuple - 812 optional_comma: ',' . + 816 expr_map_tuple_list: expr_map_tuple_list ',' . make_map_tuple + 824 optional_comma: ',' . "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -20578,7 +20698,7 @@ State 783 '@' shift, and go to state 461 '{' shift, and go to state 462 - $default reduce using rule 812 (optional_comma) + $default reduce using rule 824 (optional_comma) string_builder go to state 463 expr_reader go to state 464 @@ -20602,64 +20722,64 @@ State 783 basic_type_declaration go to state 482 make_decl go to state 483 make_struct_decl go to state 484 - make_map_tuple go to state 1001 + make_map_tuple go to state 1007 make_tuple_call go to state 485 make_dim_decl go to state 486 make_table_decl go to state 487 array_comprehension go to state 488 -State 784 +State 788 - 805 make_table_decl: '{' expr_map_tuple_list optional_comma . '}' + 817 make_table_decl: '{' expr_map_tuple_list optional_comma . '}' - '}' shift, and go to state 1002 + '}' shift, and go to state 1008 -State 785 +State 789 - 377 expr_call: name_in_namespace '(' "uninitialized" . ')' - 379 | name_in_namespace '(' "uninitialized" . make_struct_single ')' + 385 expr_call: name_in_namespace '(' "uninitialized" . ')' + 387 | name_in_namespace '(' "uninitialized" . make_struct_single ')' - "$f" shift, and go to state 786 - "name" shift, and go to state 1003 - ')' shift, and go to state 1004 + "$f" shift, and go to state 790 + "name" shift, and go to state 1009 + ')' shift, and go to state 1010 - make_struct_fields go to state 791 - make_struct_single go to state 1005 + make_struct_fields go to state 795 + make_struct_single go to state 1011 -State 786 +State 790 - 753 make_struct_fields: "$f" . '(' expr ')' copy_or_move expr - 754 | "$f" . '(' expr ')' ":=" expr + 765 make_struct_fields: "$f" . '(' expr ')' copy_or_move expr + 766 | "$f" . '(' expr ')' ":=" expr - '(' shift, and go to state 1006 + '(' shift, and go to state 1012 -State 787 +State 791 - 256 name_in_namespace: "name" . - 257 | "name" . "::" "name" - 749 make_struct_fields: "name" . copy_or_move expr - 750 | "name" . ":=" expr + 264 name_in_namespace: "name" . + 265 | "name" . "::" "name" + 761 make_struct_fields: "name" . copy_or_move expr + 762 | "name" . ":=" expr - "<-" shift, and go to state 879 - ":=" shift, and go to state 1007 + "<-" shift, and go to state 885 + ":=" shift, and go to state 1013 "::" shift, and go to state 95 - '=' shift, and go to state 881 + '=' shift, and go to state 887 - $default reduce using rule 256 (name_in_namespace) + $default reduce using rule 264 (name_in_namespace) - copy_or_move go to state 1008 + copy_or_move go to state 1014 -State 788 +State 792 - 354 expr_named_call: name_in_namespace '(' '[' . make_struct_fields ']' ')' - 785 make_dim_decl: '[' . expr_list optional_comma ']' - 813 array_comprehension: '[' . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' - 814 | '[' . "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 362 expr_named_call: name_in_namespace '(' '[' . make_struct_fields ']' ')' + 797 make_dim_decl: '[' . expr_list optional_comma ']' + 825 array_comprehension: '[' . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 826 | '[' . "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -20720,7 +20840,7 @@ State 788 "$b" shift, and go to state 441 "$a" shift, and go to state 442 "$c" shift, and go to state 443 - "$f" shift, and go to state 786 + "$f" shift, and go to state 790 "..." shift, and go to state 444 "integer constant" shift, and go to state 445 "long integer constant" shift, and go to state 446 @@ -20729,7 +20849,7 @@ State 788 "unsigned int8 constant" shift, and go to state 449 "floating point constant" shift, and go to state 450 "double constant" shift, and go to state 451 - "name" shift, and go to state 787 + "name" shift, and go to state 791 "start of the string" shift, and go to state 452 '-' shift, and go to state 453 '+' shift, and go to state 454 @@ -20765,7 +20885,7 @@ State 788 expr_mtag go to state 481 basic_type_declaration go to state 482 make_decl go to state 483 - make_struct_fields go to state 1009 + make_struct_fields go to state 1015 make_struct_decl go to state 484 make_tuple_call go to state 485 make_dim_decl go to state 486 @@ -20773,73 +20893,73 @@ State 788 array_comprehension go to state 488 -State 789 +State 793 - 376 expr_call: name_in_namespace '(' ')' . + 384 expr_call: name_in_namespace '(' ')' . - $default reduce using rule 376 (expr_call) + $default reduce using rule 384 (expr_call) -State 790 +State 794 - 309 expr_list: expr_list . ',' expr - 355 expr_named_call: name_in_namespace '(' expr_list . ',' '[' make_struct_fields ']' ')' - 380 expr_call: name_in_namespace '(' expr_list . ')' + 317 expr_list: expr_list . ',' expr + 363 expr_named_call: name_in_namespace '(' expr_list . ',' '[' make_struct_fields ']' ')' + 388 expr_call: name_in_namespace '(' expr_list . ')' - ',' shift, and go to state 1010 - ')' shift, and go to state 1011 + ',' shift, and go to state 1016 + ')' shift, and go to state 1017 -State 791 +State 795 - 751 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr - 752 | make_struct_fields . ',' "name" ":=" expr - 755 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr - 756 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr - 758 make_struct_single: make_struct_fields . + 763 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 764 | make_struct_fields . ',' "name" ":=" expr + 767 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 768 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr + 770 make_struct_single: make_struct_fields . - ',' shift, and go to state 1012 + ',' shift, and go to state 1018 - $default reduce using rule 758 (make_struct_single) + $default reduce using rule 770 (make_struct_single) -State 792 +State 796 - 378 expr_call: name_in_namespace '(' make_struct_single . ')' + 386 expr_call: name_in_namespace '(' make_struct_single . ')' - ')' shift, and go to state 1013 + ')' shift, and go to state 1019 -State 793 +State 797 - 324 optional_capture_list: "capture" . '(' capture_list ')' + 332 optional_capture_list: "capture" . '(' capture_list ')' - '(' shift, and go to state 1014 + '(' shift, and go to state 1020 -State 794 +State 798 - 325 expr_full_block: block_or_lambda optional_annotation_list optional_capture_list . optional_function_argument_list optional_function_type optional_semis block_or_simple_block + 333 expr_full_block: block_or_lambda optional_annotation_list optional_capture_list . optional_function_argument_list optional_function_type optional_emit_semis block_or_simple_block '(' shift, and go to state 329 - $default reduce using rule 123 (optional_function_argument_list) + $default reduce using rule 131 (optional_function_argument_list) - optional_function_argument_list go to state 1015 + optional_function_argument_list go to state 1021 -State 795 +State 799 - 315 block_or_lambda: '@' '@' . + 323 block_or_lambda: '@' '@' . - $default reduce using rule 315 (block_or_lambda) + $default reduce using rule 323 (block_or_lambda) -State 796 +State 800 - 248 expressions: expressions . expression_any - 249 | expressions . error - 327 expr_full_block_assumed_piped: '{' expressions . '}' + 256 expressions: expressions . expression_any + 257 | expressions . error + 335 expr_full_block_assumed_piped: '{' expressions . '}' error shift, and go to state 678 "struct" shift, and go to state 414 @@ -20920,6 +21040,7 @@ State 796 "floating point constant" shift, and go to state 450 "double constant" shift, and go to state 451 "name" shift, and go to state 56 + "emitted ;" shift, and go to state 690 "start of the string" shift, and go to state 452 '-' shift, and go to state 453 '+' shift, and go to state 454 @@ -20931,57 +21052,58 @@ State 796 '(' shift, and go to state 459 '$' shift, and go to state 460 '@' shift, and go to state 461 - ';' shift, and go to state 690 + ';' shift, and go to state 691 '{' shift, and go to state 462 - '}' shift, and go to state 1016 + '}' shift, and go to state 1022 - "while" reduce using rule 79 ($@4) - "if" reduce using rule 73 ($@2) - "static_if" reduce using rule 73 ($@2) - "for" reduce using rule 76 ($@3) - "with" reduce using rule 81 ($@5) + "while" reduce using rule 87 ($@4) + "if" reduce using rule 81 ($@2) + "static_if" reduce using rule 81 ($@2) + "for" reduce using rule 84 ($@3) + "with" reduce using rule 89 ($@5) + SEMICOLON go to state 692 string_builder go to state 463 expr_reader go to state 464 - expression_label go to state 691 - expression_goto go to state 692 - expression_if_one_liner go to state 693 - expression_if_then_else go to state 694 - $@2 go to state 695 - expression_if_then_else_oneliner go to state 696 - expression_for_loop go to state 697 - $@3 go to state 698 - expression_unsafe go to state 699 - expression_while_loop go to state 700 - $@4 go to state 701 - expression_with go to state 702 - $@5 go to state 703 - expression_with_alias go to state 704 + expression_label go to state 693 + expression_goto go to state 694 + expression_if_one_liner go to state 695 + expression_if_then_else go to state 696 + $@2 go to state 697 + expression_if_then_else_oneliner go to state 698 + expression_for_loop go to state 699 + $@3 go to state 700 + expression_unsafe go to state 701 + expression_while_loop go to state 702 + $@4 go to state 703 + expression_with go to state 704 + $@5 go to state 705 + expression_with_alias go to state 706 expr_call_pipe go to state 465 - expression_any go to state 706 + expression_any go to state 708 name_in_namespace go to state 466 - expression_delete go to state 707 + expression_delete go to state 709 expr_new go to state 467 - expression_break go to state 708 - expression_continue go to state 709 - expression_return go to state 710 - expression_yield go to state 711 - expression_try_catch go to state 712 - kwd_let go to state 713 - expression_let go to state 714 + expression_break go to state 710 + expression_continue go to state 711 + expression_return go to state 712 + expression_yield go to state 713 + expression_try_catch go to state 714 + kwd_let go to state 715 + expression_let go to state 716 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 - expr_assign go to state 715 + expr_assign go to state 717 expr_named_call go to state 474 expr_method_call go to state 475 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 716 + expr go to state 718 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -20993,136 +21115,136 @@ State 796 array_comprehension go to state 488 -State 797 +State 801 - 326 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list . optional_capture_list optional_function_argument_list optional_function_type optional_semis expression_block + 334 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list . optional_capture_list optional_function_argument_list optional_function_type optional_emit_semis expression_block - "capture" shift, and go to state 793 + "capture" shift, and go to state 797 - $default reduce using rule 323 (optional_capture_list) + $default reduce using rule 331 (optional_capture_list) - optional_capture_list go to state 1017 + optional_capture_list go to state 1023 -State 798 +State 802 - 440 expr: expr "is" "type" . '<' $@27 type_declaration_no_options '>' $@28 + 448 expr: expr "is" "type" . '<' $@27 type_declaration_no_options '>' $@28 - '<' shift, and go to state 1018 + '<' shift, and go to state 1024 -State 799 +State 803 - 482 expr_mtag: expr "is" "$f" . '(' expr ')' + 490 expr_mtag: expr "is" "$f" . '(' expr ')' - '(' shift, and go to state 1019 + '(' shift, and go to state 1025 -State 800 +State 804 - 442 expr: expr "is" "name" . + 450 expr: expr "is" "name" . - $default reduce using rule 442 (expr) + $default reduce using rule 450 (expr) -State 801 +State 805 - 441 expr: expr "is" basic_type_declaration . + 449 expr: expr "is" basic_type_declaration . - $default reduce using rule 441 (expr) + $default reduce using rule 449 (expr) -State 802 +State 806 - 446 expr: expr "as" "type" . '<' $@29 type_declaration '>' $@30 + 454 expr: expr "as" "type" . '<' $@29 type_declaration '>' $@30 - '<' shift, and go to state 1020 + '<' shift, and go to state 1026 -State 803 +State 807 - 480 expr_mtag: expr "as" "$f" . '(' expr ')' + 488 expr_mtag: expr "as" "$f" . '(' expr ')' - '(' shift, and go to state 1021 + '(' shift, and go to state 1027 -State 804 +State 808 - 443 expr: expr "as" "name" . + 451 expr: expr "as" "name" . - $default reduce using rule 443 (expr) + $default reduce using rule 451 (expr) -State 805 +State 809 - 447 expr: expr "as" basic_type_declaration . + 455 expr: expr "as" basic_type_declaration . - $default reduce using rule 447 (expr) + $default reduce using rule 455 (expr) -State 806 +State 810 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 397 | expr "<<" expr . - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 405 | expr "<<" expr . + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21142,72 +21264,72 @@ State 806 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 397 (expr) + $default reduce using rule 405 (expr) -State 807 +State 811 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 398 | expr ">>" expr . - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 406 | expr ">>" expr . + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21227,72 +21349,72 @@ State 807 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 398 (expr) + $default reduce using rule 406 (expr) -State 808 +State 812 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 410 | expr "<=" expr . - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 418 | expr "<=" expr . + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21316,72 +21438,72 @@ State 808 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 410 (expr) + $default reduce using rule 418 (expr) -State 809 +State 813 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 411 | expr ">=" expr . - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 419 | expr ">=" expr . + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21405,72 +21527,72 @@ State 809 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 411 (expr) + $default reduce using rule 419 (expr) -State 810 +State 814 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 408 | expr "==" expr . - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 416 | expr "==" expr . + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21498,72 +21620,72 @@ State 810 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 408 (expr) + $default reduce using rule 416 (expr) -State 811 +State 815 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 409 | expr "!=" expr . - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 417 | expr "!=" expr . + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21591,80 +21713,80 @@ State 811 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 409 (expr) + $default reduce using rule 417 (expr) -State 812 +State 816 - 356 expr_method_call: expr "->" "name" . '(' ')' - 357 | expr "->" "name" . '(' expr_list ')' + 364 expr_method_call: expr "->" "name" . '(' ')' + 365 | expr "->" "name" . '(' expr_list ')' - '(' shift, and go to state 1022 + '(' shift, and go to state 1028 -State 813 +State 817 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 436 | expr "??" expr . - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 444 | expr "??" expr . + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21679,86 +21801,86 @@ State 813 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 436 (expr) + $default reduce using rule 444 (expr) -State 814 +State 818 - 477 expr_mtag: expr "?." "$f" . '(' expr ')' + 485 expr_mtag: expr "?." "$f" . '(' expr ')' - '(' shift, and go to state 1023 + '(' shift, and go to state 1029 -State 815 +State 819 - 428 expr: expr "?." "name" . + 436 expr: expr "?." "name" . - $default reduce using rule 428 (expr) + $default reduce using rule 436 (expr) -State 816 +State 820 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 426 | expr "?[" expr . ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 434 | expr "?[" expr . ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21795,72 +21917,72 @@ State 816 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ']' shift, and go to state 1024 + ']' shift, and go to state 1030 -State 817 +State 821 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 460 | expr "<|" expr . - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 468 | expr "<|" expr . + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "->" shift, and go to state 613 "?." shift, and go to state 615 @@ -21868,72 +21990,72 @@ State 817 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 460 (expr) + $default reduce using rule 468 (expr) -State 818 +State 822 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 461 | expr "|>" expr . - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 469 | expr "|>" expr . + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "->" shift, and go to state 613 "?." shift, and go to state 615 @@ -21941,83 +22063,83 @@ State 818 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 461 (expr) + $default reduce using rule 469 (expr) -State 819 +State 823 - 381 expr_call: basic_type_declaration . '(' ')' - 382 | basic_type_declaration . '(' expr_list ')' - 462 expr: expr "|>" basic_type_declaration . + 389 expr_call: basic_type_declaration . '(' ')' + 390 | basic_type_declaration . '(' expr_list ')' + 470 expr: expr "|>" basic_type_declaration . '(' shift, and go to state 639 - $default reduce using rule 462 (expr) + $default reduce using rule 470 (expr) -State 820 +State 824 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 399 | expr "<<<" expr . - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 407 | expr "<<<" expr . + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22037,72 +22159,72 @@ State 820 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 399 (expr) + $default reduce using rule 407 (expr) -State 821 +State 825 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 400 | expr ">>>" expr . - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 408 | expr ">>>" expr . + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22122,72 +22244,72 @@ State 821 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 400 (expr) + $default reduce using rule 408 (expr) -State 822 +State 826 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 415 | expr "&&" expr . - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 423 | expr "&&" expr . + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22220,72 +22342,72 @@ State 822 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 415 (expr) + $default reduce using rule 423 (expr) -State 823 +State 827 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 416 | expr "||" expr . - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 424 | expr "||" expr . + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22320,72 +22442,72 @@ State 823 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 416 (expr) + $default reduce using rule 424 (expr) -State 824 +State 828 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 417 | expr "^^" expr . - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 425 | expr "^^" expr . + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22419,72 +22541,72 @@ State 824 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 417 (expr) + $default reduce using rule 425 (expr) -State 825 +State 829 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 418 | expr ".." expr . - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 426 | expr ".." expr . + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22523,17 +22645,17 @@ State 825 ".." error (nonassociative) - $default reduce using rule 418 (expr) + $default reduce using rule 426 (expr) -State 826 +State 830 - 448 expr: expr '?' "as" . "name" - 451 | expr '?' "as" . "type" '<' $@31 type_declaration '>' $@32 - 452 | expr '?' "as" . basic_type_declaration - 481 expr_mtag: expr '?' "as" . "$f" '(' expr ')' + 456 expr: expr '?' "as" . "name" + 459 | expr '?' "as" . "type" '<' $@31 type_declaration '>' $@32 + 460 | expr '?' "as" . basic_type_declaration + 489 expr_mtag: expr '?' "as" . "$f" '(' expr ')' - "type" shift, and go to state 1025 + "type" shift, and go to state 1031 "bool" shift, and go to state 228 "void" shift, and go to state 229 "string" shift, and go to state 230 @@ -22561,75 +22683,75 @@ State 826 "uint8" shift, and go to state 256 "int16" shift, and go to state 257 "uint16" shift, and go to state 258 - "$f" shift, and go to state 1026 - "name" shift, and go to state 1027 + "$f" shift, and go to state 1032 + "name" shift, and go to state 1033 - basic_type_declaration go to state 1028 + basic_type_declaration go to state 1034 -State 827 +State 831 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 437 | expr '?' expr . ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 445 | expr '?' expr . ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22654,7 +22776,7 @@ State 827 "^^" shift, and go to state 623 ".." shift, and go to state 624 '?' shift, and go to state 625 - ':' shift, and go to state 1029 + ':' shift, and go to state 1035 '|' shift, and go to state 626 '^' shift, and go to state 627 '&' shift, and go to state 628 @@ -22669,69 +22791,69 @@ State 827 '[' shift, and go to state 637 -State 828 +State 832 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 413 | expr '|' expr . - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 421 | expr '|' expr . + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22763,72 +22885,72 @@ State 828 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 413 (expr) + $default reduce using rule 421 (expr) -State 829 +State 833 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 414 | expr '^' expr . - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 422 | expr '^' expr . + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22859,72 +22981,72 @@ State 829 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 414 (expr) + $default reduce using rule 422 (expr) -State 830 +State 834 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 412 | expr '&' expr . - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 420 | expr '&' expr . + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22954,72 +23076,72 @@ State 830 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 412 (expr) + $default reduce using rule 420 (expr) -State 831 +State 835 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 406 | expr '<' expr . - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 414 | expr '<' expr . + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23043,72 +23165,72 @@ State 831 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 406 (expr) + $default reduce using rule 414 (expr) -State 832 +State 836 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 407 | expr '>' expr . - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 415 | expr '>' expr . + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23132,72 +23254,72 @@ State 832 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 407 (expr) + $default reduce using rule 415 (expr) -State 833 +State 837 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 402 | expr '-' expr . - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 410 | expr '-' expr . + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23215,72 +23337,72 @@ State 833 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 402 (expr) + $default reduce using rule 410 (expr) -State 834 +State 838 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 401 | expr '+' expr . - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 409 | expr '+' expr . + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23298,72 +23420,72 @@ State 834 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 401 (expr) + $default reduce using rule 409 (expr) -State 835 +State 839 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 403 | expr '*' expr . - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 411 | expr '*' expr . + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23378,72 +23500,72 @@ State 835 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 403 (expr) + $default reduce using rule 411 (expr) -State 836 +State 840 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 404 | expr '/' expr . - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 412 | expr '/' expr . + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23458,72 +23580,72 @@ State 836 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 404 (expr) + $default reduce using rule 412 (expr) -State 837 +State 841 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 405 | expr '%' expr . - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 413 | expr '%' expr . + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23538,21 +23660,21 @@ State 837 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 405 (expr) + $default reduce using rule 413 (expr) -State 838 +State 842 - 429 expr: expr '.' "?." . "name" - 479 expr_mtag: expr '.' "?." . "$f" '(' expr ')' + 437 expr: expr '.' "?." . "name" + 487 expr_mtag: expr '.' "?." . "$f" '(' expr ')' - "$f" shift, and go to state 1030 - "name" shift, and go to state 1031 + "$f" shift, and go to state 1036 + "name" shift, and go to state 1037 -State 839 +State 843 - 427 expr: expr '.' "?[" . expr ']' + 435 expr: expr '.' "?[" . expr ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -23649,7 +23771,7 @@ State 839 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1032 + expr go to state 1038 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -23661,36 +23783,36 @@ State 839 array_comprehension go to state 488 -State 840 +State 844 - 476 expr_mtag: expr '.' "$f" . '(' expr ')' + 484 expr_mtag: expr '.' "$f" . '(' expr ')' - '(' shift, and go to state 1033 + '(' shift, and go to state 1039 -State 841 +State 845 - 367 expr_field: expr '.' "name" . - 369 | expr '.' "name" . '(' ')' - 370 | expr '.' "name" . '(' expr_list ')' + 375 expr_field: expr '.' "name" . + 377 | expr '.' "name" . '(' ')' + 378 | expr '.' "name" . '(' expr_list ')' - '(' shift, and go to state 1034 + '(' shift, and go to state 1040 - $default reduce using rule 367 (expr_field) + $default reduce using rule 375 (expr_field) -State 842 +State 846 - 368 expr_field: expr '.' '.' . "name" - 478 expr_mtag: expr '.' '.' . "$f" '(' expr ')' + 376 expr_field: expr '.' '.' . "name" + 486 expr_mtag: expr '.' '.' . "$f" '(' expr ')' - "$f" shift, and go to state 1035 - "name" shift, and go to state 1036 + "$f" shift, and go to state 1041 + "name" shift, and go to state 1042 -State 843 +State 847 - 425 expr: expr '.' '[' . expr ']' + 433 expr: expr '.' '[' . expr ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -23787,7 +23909,7 @@ State 843 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1037 + expr go to state 1043 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -23799,84 +23921,84 @@ State 843 array_comprehension go to state 488 -State 844 +State 848 - 375 expr_field: expr '.' $@25 . error $@26 + 383 expr_field: expr '.' $@25 . error $@26 - error shift, and go to state 1038 + error shift, and go to state 1044 -State 845 +State 849 - 371 expr_field: expr '.' basic_type_declaration . '(' ')' - 372 | expr '.' basic_type_declaration . '(' expr_list ')' + 379 expr_field: expr '.' basic_type_declaration . '(' ')' + 380 | expr '.' basic_type_declaration . '(' expr_list ')' - '(' shift, and go to state 1039 + '(' shift, and go to state 1045 -State 846 +State 850 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 424 | expr '[' expr . ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 432 | expr '[' expr . ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23913,110 +24035,110 @@ State 846 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ']' shift, and go to state 1040 + ']' shift, and go to state 1046 -State 847 +State 851 - 381 expr_call: basic_type_declaration '(' ')' . + 389 expr_call: basic_type_declaration '(' ')' . - $default reduce using rule 381 (expr_call) + $default reduce using rule 389 (expr_call) -State 848 +State 852 - 309 expr_list: expr_list . ',' expr - 382 expr_call: basic_type_declaration '(' expr_list . ')' + 317 expr_list: expr_list . ',' expr + 390 expr_call: basic_type_declaration '(' expr_list . ')' - ',' shift, and go to state 1041 - ')' shift, and go to state 1042 + ',' shift, and go to state 1047 + ')' shift, and go to state 1048 -State 849 +State 853 - 698 type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration '>' . $@56 + 710 type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration '>' . $@56 - $default reduce using rule 697 ($@56) + $default reduce using rule 709 ($@56) - $@56 go to state 1043 + $@56 go to state 1049 -State 850 +State 854 - 688 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration '>' . $@50 + 700 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration '>' . $@50 - $default reduce using rule 687 ($@50) + $default reduce using rule 699 ($@50) - $@50 go to state 1044 + $@50 go to state 1050 -State 851 +State 855 - 652 bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits '>' . $@45 + 664 bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits '>' . $@45 - $default reduce using rule 651 ($@45) + $default reduce using rule 663 ($@45) - $@45 go to state 1045 + $@45 go to state 1051 -State 852 +State 856 - 646 bitfield_bits: bitfield_bits ';' . "name" + 658 bitfield_bits: bitfield_bits ';' . "name" - "name" shift, and go to state 1046 + "name" shift, and go to state 1052 -State 853 +State 857 - 702 type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration '>' . $@58 + 714 type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration '>' . $@58 - $default reduce using rule 701 ($@58) + $default reduce using rule 713 ($@58) - $@58 go to state 1047 + $@58 go to state 1053 -State 854 +State 858 - 705 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type . '>' $@60 + 717 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type . '>' $@60 - '>' shift, and go to state 1048 + '>' shift, and go to state 1054 -State 855 +State 859 - 709 type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration '>' . $@62 + 721 type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration '>' . $@62 - $default reduce using rule 708 ($@62) + $default reduce using rule 720 ($@62) - $@62 go to state 1049 + $@62 go to state 1055 -State 856 +State 860 - 712 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type . '>' $@64 + 724 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type . '>' $@64 - '>' shift, and go to state 1050 + '>' shift, and go to state 1056 -State 857 +State 861 - 716 type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration '>' . $@66 + 728 type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration '>' . $@66 - $default reduce using rule 715 ($@66) + $default reduce using rule 727 ($@66) - $@66 go to state 1051 + $@66 go to state 1057 -State 858 +State 862 - 719 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type . '>' $@68 + 731 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type . '>' $@68 - '>' shift, and go to state 1052 + '>' shift, and go to state 1058 -State 859 +State 863 - 509 tuple_type: "name" ':' . type_declaration + 517 tuple_type: "name" ':' . type_declaration "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -24069,21 +24191,21 @@ State 859 bitfield_type_declaration go to state 267 type_declaration_no_options go to state 268 type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 1053 + type_declaration go to state 1059 -State 860 +State 864 - 722 type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list '>' . $@70 + 734 type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list '>' . $@70 - $default reduce using rule 721 ($@70) + $default reduce using rule 733 ($@70) - $@70 go to state 1054 + $@70 go to state 1060 -State 861 +State 865 - 511 tuple_type_list: tuple_type_list c_or_s . tuple_type + 519 tuple_type_list: tuple_type_list c_or_s . tuple_type "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -24130,7 +24252,7 @@ State 861 '$' shift, and go to state 262 name_in_namespace go to state 263 - tuple_type go to state 1055 + tuple_type go to state 1061 basic_type_declaration go to state 264 structure_type_declaration go to state 265 auto_type_declaration go to state 266 @@ -24140,9 +24262,9 @@ State 861 type_declaration go to state 654 -State 862 +State 866 - 515 variant_type: "name" ':' . type_declaration + 523 variant_type: "name" ':' . type_declaration "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -24195,97 +24317,118 @@ State 862 bitfield_type_declaration go to state 267 type_declaration_no_options go to state 268 type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 1056 + type_declaration go to state 1062 -State 863 +State 867 - 725 type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list '>' . $@72 + 737 type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list '>' . $@72 - $default reduce using rule 724 ($@72) + $default reduce using rule 736 ($@72) - $@72 go to state 1057 + $@72 go to state 1063 -State 864 +State 868 - 517 variant_type_list: variant_type_list c_or_s . variant_type + 525 variant_type_list: variant_type_list c_or_s . variant_type "name" shift, and go to state 655 - variant_type go to state 1058 + variant_type go to state 1064 -State 865 +State 869 - 255 type_declaration_no_options_list: type_declaration_no_options_list . c_or_s type_declaration - 673 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list . '>' '(' optional_expr_list ')' + 263 type_declaration_no_options_list: type_declaration_no_options_list . c_or_s type_declaration + 685 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list . '>' '(' optional_expr_list ')' - ',' shift, and go to state 732 - '>' shift, and go to state 1059 - ';' shift, and go to state 733 + "emitted ," shift, and go to state 734 + "emitted ;" shift, and go to state 690 + ',' shift, and go to state 735 + '>' shift, and go to state 1065 + ';' shift, and go to state 691 - c_or_s go to state 1060 + COMMA go to state 736 + SEMICOLON go to state 737 + c_or_s go to state 1066 -State 866 +State 870 - 254 type_declaration_no_options_list: type_declaration . - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 262 type_declaration_no_options_list: type_declaration . + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - $default reduce using rule 254 (type_declaration_no_options_list) + $default reduce using rule 262 (type_declaration_no_options_list) -State 867 +State 871 - 671 type_declaration_no_options_no_dim: '$' name_in_namespace '(' optional_expr_list ')' . + 683 type_declaration_no_options_no_dim: '$' name_in_namespace '(' optional_expr_list ')' . - $default reduce using rule 671 (type_declaration_no_options_no_dim) + $default reduce using rule 683 (type_declaration_no_options_no_dim) -State 868 +State 872 - 251 optional_expr_list: expr_list optional_comma . + 259 optional_expr_list: expr_list optional_comma . - $default reduce using rule 251 (optional_expr_list) + $default reduce using rule 259 (optional_expr_list) -State 869 +State 873 - 659 dim_list: dim_list '[' expr ']' . + 671 dim_list: dim_list '[' expr ']' . - $default reduce using rule 659 (dim_list) + $default reduce using rule 671 (dim_list) -State 870 +State 874 - 564 commas: commas . ',' - 581 optional_commas: commas . - 649 bitfield_alias_bits: bitfield_alias_bits commas . "name" + 571 commas: COMMA . - "name" shift, and go to state 1061 - ',' shift, and go to state 271 + $default reduce using rule 571 (commas) - $default reduce using rule 581 (optional_commas) +State 875 -State 871 + 572 commas: commas . COMMA + 589 optional_commas: commas . + 661 bitfield_alias_bits: bitfield_alias_bits commas . "name" - 743 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_commas $@82 '{' $@83 bitfield_alias_bits optional_commas . $@84 '}' + "name" shift, and go to state 1067 + "emitted ," shift, and go to state 734 + ',' shift, and go to state 735 - $default reduce using rule 742 ($@84) + $default reduce using rule 589 (optional_commas) - $@84 go to state 1062 + COMMA go to state 1068 -State 872 +State 876 + + 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas . $@84 '}' + + $default reduce using rule 754 ($@84) + + $@84 go to state 1069 + + +State 877 + + 77 semis: SEMICOLON . + + $default reduce using rule 77 (semis) + + +State 878 - 70 semis: semis . ';' - 72 optional_semis: semis . - 514 tuple_alias_type_list: tuple_alias_type_list semis . tuple_type + 78 semis: semis . SEMICOLON + 80 optional_semis: semis . + 522 tuple_alias_type_list: tuple_alias_type_list semis . tuple_type "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -24329,13 +24472,15 @@ State 872 "::" shift, and go to state 55 "$t" shift, and go to state 261 "name" shift, and go to state 651 + "emitted ;" shift, and go to state 690 '$' shift, and go to state 262 - ';' shift, and go to state 273 + ';' shift, and go to state 691 - $default reduce using rule 72 (optional_semis) + $default reduce using rule 80 (optional_semis) + SEMICOLON go to state 1070 name_in_namespace go to state 263 - tuple_type go to state 1063 + tuple_type go to state 1071 basic_type_declaration go to state 264 structure_type_declaration go to state 265 auto_type_declaration go to state 266 @@ -24345,48 +24490,50 @@ State 872 type_declaration go to state 654 -State 873 +State 879 - 733 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_semis $@74 '{' $@75 tuple_alias_type_list optional_semis . $@76 '}' + 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis . $@76 '}' - $default reduce using rule 732 ($@76) + $default reduce using rule 744 ($@76) - $@76 go to state 1064 + $@76 go to state 1072 -State 874 +State 880 - 70 semis: semis . ';' - 72 optional_semis: semis . - 520 variant_alias_type_list: variant_alias_type_list semis . variant_type + 78 semis: semis . SEMICOLON + 80 optional_semis: semis . + 528 variant_alias_type_list: variant_alias_type_list semis . variant_type - "name" shift, and go to state 655 - ';' shift, and go to state 273 + "name" shift, and go to state 655 + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 - $default reduce using rule 72 (optional_semis) + $default reduce using rule 80 (optional_semis) - variant_type go to state 1065 + SEMICOLON go to state 1070 + variant_type go to state 1073 -State 875 +State 881 - 738 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_semis $@78 '{' $@79 variant_alias_type_list optional_semis . $@80 '}' + 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis . $@80 '}' - $default reduce using rule 737 ($@80) + $default reduce using rule 749 ($@80) - $@80 go to state 1066 + $@80 go to state 1074 -State 876 +State 882 - 505 function_argument_declaration: "$a" '(' expr ')' . + 513 function_argument_declaration: "$a" '(' expr ')' . - $default reduce using rule 505 (function_argument_declaration) + $default reduce using rule 513 (function_argument_declaration) -State 877 +State 883 - 602 variable_name_with_pos_list: "$i" '(' . expr ')' + 614 variable_name_with_pos_list: "$i" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -24483,7 +24630,7 @@ State 877 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1067 + expr go to state 1075 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -24495,39 +24642,39 @@ State 877 array_comprehension go to state 488 -State 878 +State 884 - 603 variable_name_with_pos_list: "name" "aka" . "name" + 615 variable_name_with_pos_list: "name" "aka" . "name" - "name" shift, and go to state 1068 + "name" shift, and go to state 1076 -State 879 +State 885 - 522 copy_or_move: "<-" . + 530 copy_or_move: "<-" . - $default reduce using rule 522 (copy_or_move) + $default reduce using rule 530 (copy_or_move) -State 880 +State 886 - 604 variable_name_with_pos_list: variable_name_with_pos_list ',' . "name" - 605 | variable_name_with_pos_list ',' . "name" "aka" "name" + 616 variable_name_with_pos_list: variable_name_with_pos_list ',' . "name" + 617 | variable_name_with_pos_list ',' . "name" "aka" "name" - "name" shift, and go to state 1069 + "name" shift, and go to state 1077 -State 881 +State 887 - 521 copy_or_move: '=' . + 529 copy_or_move: '=' . - $default reduce using rule 521 (copy_or_move) + $default reduce using rule 529 (copy_or_move) -State 882 +State 888 - 525 variable_declaration: variable_name_with_pos_list ':' . type_declaration - 526 | variable_name_with_pos_list ':' . type_declaration copy_or_move expr + 533 variable_declaration: variable_name_with_pos_list ':' . type_declaration + 534 | variable_name_with_pos_list ':' . type_declaration copy_or_move expr "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -24580,19 +24727,19 @@ State 882 bitfield_type_declaration go to state 267 type_declaration_no_options go to state 268 type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 1070 + type_declaration go to state 1078 -State 883 +State 889 - 524 variable_declaration: variable_name_with_pos_list '&' . + 532 variable_declaration: variable_name_with_pos_list '&' . - $default reduce using rule 524 (variable_declaration) + $default reduce using rule 532 (variable_declaration) -State 884 +State 890 - 527 variable_declaration: variable_name_with_pos_list copy_or_move . expr + 535 variable_declaration: variable_name_with_pos_list copy_or_move . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -24689,7 +24836,7 @@ State 884 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1071 + expr go to state 1079 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -24701,9 +24848,9 @@ State 884 array_comprehension go to state 488 -State 885 +State 891 - 275 expression_return: "return" "<-" . expr + 283 expression_return: "return" "<-" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -24800,7 +24947,7 @@ State 885 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1072 + expr go to state 1080 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -24812,69 +24959,69 @@ State 885 array_comprehension go to state 488 -State 886 +State 892 - 274 expression_return: "return" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 282 expression_return: "return" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -24912,19 +25059,19 @@ State 886 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 274 (expression_return) + $default reduce using rule 282 (expression_return) -State 887 +State 893 - 278 expression_try_catch: "try" expression_block . "recover" expression_block + 286 expression_try_catch: "try" expression_block . "recover" expression_block - "recover" shift, and go to state 1073 + "recover" shift, and go to state 1081 -State 888 +State 894 - 260 expression_delete: "delete" "explicit" . expr + 268 expression_delete: "delete" "explicit" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -25021,7 +25168,7 @@ State 888 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1074 + expr go to state 1082 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -25033,69 +25180,69 @@ State 888 array_comprehension go to state 488 -State 889 +State 895 - 259 expression_delete: "delete" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 267 expression_delete: "delete" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -25133,100 +25280,100 @@ State 889 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 259 (expression_delete) + $default reduce using rule 267 (expression_delete) -State 890 +State 896 - 83 expression_with_alias: "assume" "name" . '=' expr + 91 expression_with_alias: "assume" "name" . '=' expr - '=' shift, and go to state 1075 + '=' shift, and go to state 1083 -State 891 +State 897 - 246 expression_any: "pass" ';' . + 254 expression_any: "pass" SEMICOLON . - $default reduce using rule 246 (expression_any) + $default reduce using rule 254 (expression_any) -State 892 +State 898 - 52 expression_label: "label" "integer constant" . ':' + 56 expression_label: "label" "integer constant" . ':' - ':' shift, and go to state 1076 + ':' shift, and go to state 1084 -State 893 +State 899 - 53 expression_goto: "goto" "label" . "integer constant" + 57 expression_goto: "goto" "label" . "integer constant" - "integer constant" shift, and go to state 1077 + "integer constant" shift, and go to state 1085 -State 894 +State 900 - 54 expression_goto: "goto" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 58 expression_goto: "goto" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -25264,22 +25411,22 @@ State 894 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 54 (expression_goto) + $default reduce using rule 58 (expression_goto) -State 895 +State 901 - 78 expression_unsafe: "unsafe" optional_semis . expression_block + 86 expression_unsafe: "unsafe" optional_emit_semis . expression_block - $default reduce using rule 224 ($@9) + $default reduce using rule 232 ($@9) - expression_block go to state 1078 + expression_block go to state 1086 $@9 go to state 332 -State 896 +State 902 - 277 expression_yield: "yield" "<-" . expr + 285 expression_yield: "yield" "<-" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -25376,7 +25523,7 @@ State 896 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1079 + expr go to state 1087 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -25388,69 +25535,69 @@ State 896 array_comprehension go to state 488 -State 897 +State 903 - 276 expression_yield: "yield" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 284 expression_yield: "yield" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -25488,158 +25635,158 @@ State 897 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 276 (expression_yield) + $default reduce using rule 284 (expression_yield) -State 898 +State 904 - 244 expression_any: expression_label ';' . + 252 expression_any: expression_label SEMICOLON . - $default reduce using rule 244 (expression_any) + $default reduce using rule 252 (expression_any) -State 899 +State 905 - 245 expression_any: expression_goto ';' . + 253 expression_any: expression_goto SEMICOLON . - $default reduce using rule 245 (expression_any) + $default reduce using rule 253 (expression_any) -State 900 +State 906 - 75 expression_if_then_else_oneliner: expression_if_one_liner "if" . '(' expr ')' expression_else_one_liner ';' + 83 expression_if_then_else_oneliner: expression_if_one_liner "if" . '(' expr ')' expression_else_one_liner SEMICOLON - '(' shift, and go to state 1080 + '(' shift, and go to state 1088 -State 901 +State 907 - 60 if_or_static_if: "if" . + 68 if_or_static_if: "if" . - $default reduce using rule 60 (if_or_static_if) + $default reduce using rule 68 (if_or_static_if) -State 902 +State 908 - 61 if_or_static_if: "static_if" . + 69 if_or_static_if: "static_if" . - $default reduce using rule 61 (if_or_static_if) + $default reduce using rule 69 (if_or_static_if) -State 903 +State 909 - 74 expression_if_then_else: $@2 if_or_static_if . '(' expr ')' optional_semis expression_block expression_else + 82 expression_if_then_else: $@2 if_or_static_if . '(' expr ')' optional_emit_semis expression_block expression_else - '(' shift, and go to state 1081 + '(' shift, and go to state 1089 -State 904 +State 910 - 77 expression_for_loop: $@3 "for" . '(' variable_name_with_pos_list "in" expr_list ')' optional_semis expression_block + 85 expression_for_loop: $@3 "for" . '(' variable_name_with_pos_list "in" expr_list ')' optional_emit_semis expression_block - '(' shift, and go to state 1082 + '(' shift, and go to state 1090 -State 905 +State 911 - 80 expression_while_loop: $@4 "while" . '(' expr ')' optional_semis expression_block + 88 expression_while_loop: $@4 "while" . '(' expr ')' optional_emit_semis expression_block - '(' shift, and go to state 1083 + '(' shift, and go to state 1091 -State 906 +State 912 - 82 expression_with: $@5 "with" . '(' expr ')' optional_semis expression_block + 90 expression_with: $@5 "with" . '(' expr ')' optional_emit_semis expression_block - '(' shift, and go to state 1084 + '(' shift, and go to state 1092 -State 907 +State 913 - 235 expression_any: expression_with_alias ';' . + 243 expression_any: expression_with_alias SEMICOLON . - $default reduce using rule 235 (expression_any) + $default reduce using rule 243 (expression_any) -State 908 +State 914 - 226 expression_block: $@9 '{' expressions $@10 '}' . expression_block_finally + 234 expression_block: $@9 '{' expressions $@10 '}' . expression_block_finally - "finally" shift, and go to state 1085 + "finally" shift, and go to state 1093 - $default reduce using rule 220 (expression_block_finally) + $default reduce using rule 228 (expression_block_finally) - expression_block_finally go to state 1086 + expression_block_finally go to state 1094 -State 909 +State 915 - 230 expression_any: expression_delete ';' . + 238 expression_any: expression_delete SEMICOLON . - $default reduce using rule 230 (expression_any) + $default reduce using rule 238 (expression_any) -State 910 +State 916 - 237 expression_any: expression_break ';' . + 245 expression_any: expression_break SEMICOLON . - $default reduce using rule 237 (expression_any) + $default reduce using rule 245 (expression_any) -State 911 +State 917 - 238 expression_any: expression_continue ';' . + 246 expression_any: expression_continue SEMICOLON . - $default reduce using rule 238 (expression_any) + $default reduce using rule 246 (expression_any) -State 912 +State 918 - 239 expression_any: expression_return ';' . + 247 expression_any: expression_return SEMICOLON . - $default reduce using rule 239 (expression_any) + $default reduce using rule 247 (expression_any) -State 913 +State 919 - 240 expression_any: expression_yield ';' . + 248 expression_any: expression_yield SEMICOLON . - $default reduce using rule 240 (expression_any) + $default reduce using rule 248 (expression_any) -State 914 +State 920 - 284 optional_in_scope: "inscope" . + 292 optional_in_scope: "inscope" . - $default reduce using rule 284 (optional_in_scope) + $default reduce using rule 292 (optional_in_scope) -State 915 +State 921 - 290 expression_let: kwd_let optional_in_scope . let_variable_declaration - 291 | kwd_let optional_in_scope . tuple_expansion_variable_declaration - 292 | kwd_let optional_in_scope . '{' variable_declaration_list '}' + 298 expression_let: kwd_let optional_in_scope . let_variable_declaration + 299 | kwd_let optional_in_scope . tuple_expansion_variable_declaration + 300 | kwd_let optional_in_scope . '{' variable_declaration_list '}' "$i" shift, and go to state 531 "name" shift, and go to state 532 - '(' shift, and go to state 1087 - '{' shift, and go to state 1088 + '(' shift, and go to state 1095 + '{' shift, and go to state 1096 - tuple_expansion_variable_declaration go to state 1089 + tuple_expansion_variable_declaration go to state 1097 let_variable_name_with_pos_list go to state 533 - let_variable_declaration go to state 1090 + let_variable_declaration go to state 1098 -State 916 +State 922 - 229 expression_any: expr_assign ';' . + 237 expression_any: expr_assign SEMICOLON . - $default reduce using rule 229 (expression_any) + $default reduce using rule 237 (expression_any) -State 917 +State 923 - 345 expr_assign: expr "+=" . expr + 353 expr_assign: expr "+=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -25736,7 +25883,7 @@ State 917 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1091 + expr go to state 1099 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -25748,9 +25895,9 @@ State 917 array_comprehension go to state 488 -State 918 +State 924 - 346 expr_assign: expr "-=" . expr + 354 expr_assign: expr "-=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -25847,7 +25994,7 @@ State 918 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1092 + expr go to state 1100 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -25859,9 +26006,9 @@ State 918 array_comprehension go to state 488 -State 919 +State 925 - 348 expr_assign: expr "/=" . expr + 356 expr_assign: expr "/=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -25958,7 +26105,7 @@ State 919 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1093 + expr go to state 1101 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -25970,9 +26117,9 @@ State 919 array_comprehension go to state 488 -State 920 +State 926 - 347 expr_assign: expr "*=" . expr + 355 expr_assign: expr "*=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -26069,7 +26216,7 @@ State 920 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1094 + expr go to state 1102 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -26081,9 +26228,9 @@ State 920 array_comprehension go to state 488 -State 921 +State 927 - 349 expr_assign: expr "%=" . expr + 357 expr_assign: expr "%=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -26180,7 +26327,7 @@ State 921 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1095 + expr go to state 1103 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -26192,9 +26339,9 @@ State 921 array_comprehension go to state 488 -State 922 +State 928 - 339 expr_assign: expr "&=" . expr + 347 expr_assign: expr "&=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -26291,7 +26438,7 @@ State 922 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1096 + expr go to state 1104 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -26303,9 +26450,9 @@ State 922 array_comprehension go to state 488 -State 923 +State 929 - 340 expr_assign: expr "|=" . expr + 348 expr_assign: expr "|=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -26402,7 +26549,7 @@ State 923 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1097 + expr go to state 1105 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -26414,9 +26561,9 @@ State 923 array_comprehension go to state 488 -State 924 +State 930 - 341 expr_assign: expr "^=" . expr + 349 expr_assign: expr "^=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -26513,7 +26660,7 @@ State 924 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1098 + expr go to state 1106 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -26525,9 +26672,9 @@ State 924 array_comprehension go to state 488 -State 925 +State 931 - 350 expr_assign: expr "<<=" . expr + 358 expr_assign: expr "<<=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -26624,7 +26771,7 @@ State 925 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1099 + expr go to state 1107 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -26636,9 +26783,9 @@ State 925 array_comprehension go to state 488 -State 926 +State 932 - 351 expr_assign: expr ">>=" . expr + 359 expr_assign: expr ">>=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -26735,7 +26882,7 @@ State 926 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1100 + expr go to state 1108 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -26747,9 +26894,9 @@ State 926 array_comprehension go to state 488 -State 927 +State 933 - 337 expr_assign: expr "<-" . expr + 345 expr_assign: expr "<-" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -26846,7 +26993,7 @@ State 927 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1101 + expr go to state 1109 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -26858,9 +27005,9 @@ State 927 array_comprehension go to state 488 -State 928 +State 934 - 338 expr_assign: expr ":=" . expr + 346 expr_assign: expr ":=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -26957,7 +27104,7 @@ State 928 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1102 + expr go to state 1110 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -26969,9 +27116,9 @@ State 928 array_comprehension go to state 488 -State 929 +State 935 - 352 expr_assign: expr "<<<=" . expr + 360 expr_assign: expr "<<<=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -27068,7 +27215,7 @@ State 929 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1103 + expr go to state 1111 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -27080,9 +27227,9 @@ State 929 array_comprehension go to state 488 -State 930 +State 936 - 353 expr_assign: expr ">>>=" . expr + 361 expr_assign: expr ">>>=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -27179,7 +27326,7 @@ State 930 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1104 + expr go to state 1112 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -27191,9 +27338,9 @@ State 930 array_comprehension go to state 488 -State 931 +State 937 - 342 expr_assign: expr "&&=" . expr + 350 expr_assign: expr "&&=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -27290,7 +27437,7 @@ State 931 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1105 + expr go to state 1113 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -27302,9 +27449,9 @@ State 931 array_comprehension go to state 488 -State 932 +State 938 - 343 expr_assign: expr "||=" . expr + 351 expr_assign: expr "||=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -27401,7 +27548,7 @@ State 932 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1106 + expr go to state 1114 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -27413,9 +27560,9 @@ State 932 array_comprehension go to state 488 -State 933 +State 939 - 344 expr_assign: expr "^^=" . expr + 352 expr_assign: expr "^^=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -27512,7 +27659,7 @@ State 933 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1107 + expr go to state 1115 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -27524,9 +27671,9 @@ State 933 array_comprehension go to state 488 -State 934 +State 940 - 336 expr_assign: expr '=' . expr + 344 expr_assign: expr '=' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -27623,7 +27770,7 @@ State 934 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1108 + expr go to state 1116 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -27635,130 +27782,132 @@ State 934 array_comprehension go to state 488 -State 935 +State 941 - 561 enum_expression: "name" . - 562 | "name" . '=' expr + 569 enum_expression: "name" . + 570 | "name" . '=' expr - '=' shift, and go to state 1109 + '=' shift, and go to state 1117 - $default reduce using rule 561 (enum_expression) + $default reduce using rule 569 (enum_expression) -State 936 +State 942 - 566 enum_list: enum_expression . + 574 enum_list: enum_expression . - $default reduce using rule 566 (enum_list) + $default reduce using rule 574 (enum_list) -State 937 +State 943 - 567 enum_list: enum_list . commas enum_expression - 585 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_commas '{' $@40 enum_list . optional_commas $@41 '}' + 575 enum_list: enum_list . commas enum_expression + 597 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_emit_commas '{' $@40 enum_list . optional_commas $@41 '}' - ',' shift, and go to state 168 + "emitted ," shift, and go to state 734 + ',' shift, and go to state 735 - $default reduce using rule 580 (optional_commas) + $default reduce using rule 588 (optional_commas) - commas go to state 1110 - optional_commas go to state 1111 + COMMA go to state 874 + commas go to state 1118 + optional_commas go to state 1119 -State 938 +State 944 - 501 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" . optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header ';' - 503 | struct_variable_declaration_list optional_annotation_list "def" . optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block + 509 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" . optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header ';' + 511 | struct_variable_declaration_list optional_annotation_list "def" . optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block - "public" shift, and go to state 1112 - "private" shift, and go to state 1113 + "public" shift, and go to state 1120 + "private" shift, and go to state 1121 - $default reduce using rule 491 (optional_public_or_private_member_variable) + $default reduce using rule 499 (optional_public_or_private_member_variable) - optional_public_or_private_member_variable go to state 1114 + optional_public_or_private_member_variable go to state 1122 -State 939 +State 945 - 496 structure_variable_declaration: optional_field_annotation . optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration + 504 structure_variable_declaration: optional_field_annotation . optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration - "static" shift, and go to state 1115 + "static" shift, and go to state 1123 - $default reduce using rule 494 (optional_static_member_variable) + $default reduce using rule 502 (optional_static_member_variable) - optional_static_member_variable go to state 1116 + optional_static_member_variable go to state 1124 -State 940 +State 946 - 499 struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration . ';' + 507 struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration . ';' - ';' shift, and go to state 1117 + ';' shift, and go to state 1125 -State 941 +State 947 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 534 let_variable_name_with_pos_list: "$i" '(' expr . ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 542 let_variable_name_with_pos_list: "$i" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -27795,42 +27944,44 @@ State 941 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1118 + ')' shift, and go to state 1126 -State 942 +State 948 - 535 let_variable_name_with_pos_list: "name" "aka" "name" . + 543 let_variable_name_with_pos_list: "name" "aka" "name" . - $default reduce using rule 535 (let_variable_name_with_pos_list) + $default reduce using rule 543 (let_variable_name_with_pos_list) -State 943 +State 949 - 536 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" . - 537 | let_variable_name_with_pos_list ',' "name" . "aka" "name" + 544 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" . + 545 | let_variable_name_with_pos_list ',' "name" . "aka" "name" - "aka" shift, and go to state 1119 + "aka" shift, and go to state 1127 - $default reduce using rule 536 (let_variable_name_with_pos_list) + $default reduce using rule 544 (let_variable_name_with_pos_list) -State 944 +State 950 - 543 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options . ';' - 544 | let_variable_name_with_pos_list ':' type_declaration_no_options . copy_or_move_or_clone expr ';' + 551 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options . SEMICOLON + 552 | let_variable_name_with_pos_list ':' type_declaration_no_options . copy_or_move_or_clone expr SEMICOLON - "<-" shift, and go to state 537 - ":=" shift, and go to state 538 - '=' shift, and go to state 539 - ';' shift, and go to state 1120 + "<-" shift, and go to state 537 + ":=" shift, and go to state 538 + "emitted ;" shift, and go to state 690 + '=' shift, and go to state 539 + ';' shift, and go to state 691 - copy_or_move_or_clone go to state 1121 + SEMICOLON go to state 1128 + copy_or_move_or_clone go to state 1129 -State 945 +State 951 - 545 let_variable_declaration: let_variable_name_with_pos_list optional_ref copy_or_move_or_clone . expr ';' + 553 let_variable_declaration: let_variable_name_with_pos_list optional_ref copy_or_move_or_clone . expr SEMICOLON "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -27927,7 +28078,7 @@ State 945 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1122 + expr go to state 1130 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -27939,69 +28090,69 @@ State 945 array_comprehension go to state 488 -State 946 +State 952 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 547 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr . ';' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 555 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr . ';' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -28038,184 +28189,188 @@ State 946 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ';' shift, and go to state 1123 + ';' shift, and go to state 1131 -State 947 +State 953 - 548 global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' . + 556 global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' . - $default reduce using rule 548 (global_let_variable_declaration) + $default reduce using rule 556 (global_let_variable_declaration) -State 948 +State 954 - 669 type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration '>' $@47 . + 681 type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration '>' $@47 . - $default reduce using rule 669 (type_declaration_no_options_no_dim) + $default reduce using rule 681 (type_declaration_no_options_no_dim) -State 949 +State 955 - 692 type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration '>' $@52 . + 704 type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration '>' $@52 . - $default reduce using rule 692 (type_declaration_no_options_no_dim) + $default reduce using rule 704 (type_declaration_no_options_no_dim) -State 950 +State 956 - 695 type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair '>' $@54 . + 707 type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair '>' $@54 . - $default reduce using rule 695 (type_declaration_no_options_no_dim) + $default reduce using rule 707 (type_declaration_no_options_no_dim) -State 951 +State 957 - 656 table_type_pair: type_declaration c_or_s type_declaration . - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 668 table_type_pair: type_declaration c_or_s type_declaration . + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - $default reduce using rule 656 (table_type_pair) + $default reduce using rule 668 (table_type_pair) -State 952 +State 958 - 769 make_struct_decl: "struct" '<' $@85 type_declaration_no_options . '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' + 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options . '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' - '>' shift, and go to state 1124 + '>' shift, and go to state 1132 -State 953 +State 959 - 772 make_struct_decl: "class" '<' $@87 type_declaration_no_options . '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' + 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options . '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' - '>' shift, and go to state 1125 + '>' shift, and go to state 1133 -State 954 +State 960 - 263 new_type_declaration: '<' $@11 type_declaration . '>' $@12 - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 271 new_type_declaration: '<' $@11 type_declaration . '>' $@12 + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - '>' shift, and go to state 1126 + '>' shift, and go to state 1134 -State 955 +State 961 - 269 expr_new: "new" new_type_declaration '(' "uninitialized" . make_struct_single ')' - 766 use_initializer: "uninitialized" . + 277 expr_new: "new" new_type_declaration '(' "uninitialized" . make_struct_single ')' + 778 use_initializer: "uninitialized" . - "$f" shift, and go to state 786 - "name" shift, and go to state 1003 + "$f" shift, and go to state 790 + "name" shift, and go to state 1009 - $default reduce using rule 766 (use_initializer) + $default reduce using rule 778 (use_initializer) - make_struct_fields go to state 791 - make_struct_single go to state 1127 + make_struct_fields go to state 795 + make_struct_single go to state 1135 -State 956 +State 962 - 267 expr_new: "new" new_type_declaration '(' expr_list . ')' - 309 expr_list: expr_list . ',' expr + 275 expr_new: "new" new_type_declaration '(' expr_list . ')' + 317 expr_list: expr_list . ',' expr - ',' shift, and go to state 1041 - ')' shift, and go to state 1128 + ',' shift, and go to state 1047 + ')' shift, and go to state 1136 -State 957 +State 963 - 268 expr_new: "new" new_type_declaration '(' make_struct_single . ')' + 276 expr_new: "new" new_type_declaration '(' make_struct_single . ')' - ')' shift, and go to state 1129 + ')' shift, and go to state 1137 -State 958 +State 964 - 266 expr_new: "new" new_type_declaration '(' use_initializer . ')' + 274 expr_new: "new" new_type_declaration '(' use_initializer . ')' - ')' shift, and go to state 1130 + ')' shift, and go to state 1138 -State 959 +State 965 - 306 expr_type_info: "typeinfo" name_in_namespace '<' "name" . '>' '(' expr ')' - 307 | "typeinfo" name_in_namespace '<' "name" . c_or_s "name" '>' '(' expr ')' + 314 expr_type_info: "typeinfo" name_in_namespace '<' "name" . '>' '(' expr ')' + 315 | "typeinfo" name_in_namespace '<' "name" . c_or_s "name" '>' '(' expr ')' - ',' shift, and go to state 732 - '>' shift, and go to state 1131 - ';' shift, and go to state 733 + "emitted ," shift, and go to state 734 + "emitted ;" shift, and go to state 690 + ',' shift, and go to state 735 + '>' shift, and go to state 1139 + ';' shift, and go to state 691 - c_or_s go to state 1132 + COMMA go to state 736 + SEMICOLON go to state 737 + c_or_s go to state 1140 -State 960 +State 966 - 305 expr_type_info: "typeinfo" name_in_namespace '(' expr . ')' - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 313 expr_type_info: "typeinfo" name_in_namespace '(' expr . ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -28252,22 +28407,22 @@ State 960 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1133 + ')' shift, and go to state 1141 -State 961 +State 967 - 304 expr_type_decl: "type" '<' $@19 type_declaration . '>' $@20 - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 312 expr_type_decl: "type" '<' $@19 type_declaration . '>' $@20 + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - '>' shift, and go to state 1134 + '>' shift, and go to state 1142 -State 962 +State 968 - 788 make_dim_decl: "array" "struct" '<' $@95 . type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' + 800 make_dim_decl: "array" "struct" '<' $@95 . type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -28318,13 +28473,13 @@ State 962 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 1135 + type_declaration_no_options go to state 1143 type_declaration_no_options_no_dim go to state 269 -State 963 +State 969 - 791 make_dim_decl: "array" "tuple" '<' $@97 . type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' + 803 make_dim_decl: "array" "tuple" '<' $@97 . type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -28375,13 +28530,13 @@ State 963 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 1136 + type_declaration_no_options go to state 1144 type_declaration_no_options_no_dim go to state 269 -State 964 +State 970 - 794 make_dim_decl: "array" "variant" '<' $@99 . type_declaration_no_options '>' $@100 '(' make_variant_dim ')' + 806 make_dim_decl: "array" "variant" '<' $@99 . type_declaration_no_options '>' $@100 '(' make_variant_dim ')' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -28432,34 +28587,34 @@ State 964 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 1137 + type_declaration_no_options go to state 1145 type_declaration_no_options_no_dim go to state 269 -State 965 +State 971 - 798 make_dim_decl: "array" '<' $@101 type_declaration_no_options . '>' $@102 '(' optional_expr_list ')' + 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options . '>' $@102 '(' optional_expr_list ')' - '>' shift, and go to state 1138 + '>' shift, and go to state 1146 -State 966 +State 972 - 795 make_dim_decl: "array" '(' expr_list optional_comma . ')' + 807 make_dim_decl: "array" '(' expr_list optional_comma . ')' - ')' shift, and go to state 1139 + ')' shift, and go to state 1147 -State 967 +State 973 - 807 make_table_decl: "table" '<' type_declaration_no_options '>' . '(' optional_expr_map_tuple_list ')' + 819 make_table_decl: "table" '<' type_declaration_no_options '>' . '(' optional_expr_map_tuple_list ')' - '(' shift, and go to state 1140 + '(' shift, and go to state 1148 -State 968 +State 974 - 808 make_table_decl: "table" '<' type_declaration_no_options c_or_s . type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + 820 make_table_decl: "table" '<' type_declaration_no_options c_or_s . type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -28510,220 +28665,220 @@ State 968 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 1141 + type_declaration_no_options go to state 1149 type_declaration_no_options_no_dim go to state 269 -State 969 +State 975 - 806 make_table_decl: "table" '(' expr_map_tuple_list optional_comma . ')' + 818 make_table_decl: "table" '(' expr_map_tuple_list optional_comma . ')' - ')' shift, and go to state 1142 + ')' shift, and go to state 1150 -State 970 +State 976 - 433 expr: "deref" '(' expr ')' . + 441 expr: "deref" '(' expr ')' . - $default reduce using rule 433 (expr) + $default reduce using rule 441 (expr) -State 971 +State 977 - 295 expr_cast: "cast" '<' $@13 type_declaration_no_options . '>' $@14 expr + 303 expr_cast: "cast" '<' $@13 type_declaration_no_options . '>' $@14 expr - '>' shift, and go to state 1143 + '>' shift, and go to state 1151 -State 972 +State 978 - 298 expr_cast: "upcast" '<' $@15 type_declaration_no_options . '>' $@16 expr + 306 expr_cast: "upcast" '<' $@15 type_declaration_no_options . '>' $@16 expr - '>' shift, and go to state 1144 + '>' shift, and go to state 1152 -State 973 +State 979 - 434 expr: "addr" '(' expr ')' . + 442 expr: "addr" '(' expr ')' . - $default reduce using rule 434 (expr) + $default reduce using rule 442 (expr) -State 974 +State 980 - 301 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options . '>' $@18 expr + 309 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options . '>' $@18 expr - '>' shift, and go to state 1145 + '>' shift, and go to state 1153 -State 975 +State 981 - 464 expr: "unsafe" '(' expr ')' . + 472 expr: "unsafe" '(' expr ')' . - $default reduce using rule 464 (expr) + $default reduce using rule 472 (expr) -State 976 +State 982 - 802 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options . '>' $@104 '(' expr_list optional_comma ')' + 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options . '>' $@104 '(' expr_list optional_comma ')' - '>' shift, and go to state 1146 + '>' shift, and go to state 1154 -State 977 +State 983 - 799 make_dim_decl: "fixed_array" '(' expr_list optional_comma . ')' + 811 make_dim_decl: "fixed_array" '(' expr_list optional_comma . ')' - ')' shift, and go to state 1147 + ')' shift, and go to state 1155 -State 978 +State 984 - 778 make_struct_decl: "default" '<' $@91 type_declaration_no_options . '>' $@92 use_initializer + 790 make_struct_decl: "default" '<' $@91 type_declaration_no_options . '>' $@92 use_initializer - '>' shift, and go to state 1148 + '>' shift, and go to state 1156 -State 979 +State 985 - 784 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options . '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' + 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options . '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' - '>' shift, and go to state 1149 + '>' shift, and go to state 1157 -State 980 +State 986 - 781 make_tuple_call: "tuple" '(' expr_list optional_comma . ')' + 793 make_tuple_call: "tuple" '(' expr_list optional_comma . ')' - ')' shift, and go to state 1150 + ')' shift, and go to state 1158 -State 981 +State 987 - 775 make_struct_decl: "variant" '<' $@89 type_declaration_no_options . '>' $@90 '(' make_variant_dim ')' + 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options . '>' $@90 '(' make_variant_dim ')' - '>' shift, and go to state 1151 + '>' shift, and go to state 1159 -State 982 +State 988 - 465 expr_generator: "generator" '<' type_declaration_no_options '>' . optional_capture_list '(' ')' - 466 | "generator" '<' type_declaration_no_options '>' . optional_capture_list '(' expr ')' - 467 | "generator" '<' type_declaration_no_options '>' . optional_capture_list optional_semis expression_block + 473 expr_generator: "generator" '<' type_declaration_no_options '>' . optional_capture_list '(' ')' + 474 | "generator" '<' type_declaration_no_options '>' . optional_capture_list '(' expr ')' + 475 | "generator" '<' type_declaration_no_options '>' . optional_capture_list optional_emit_semis expression_block - "capture" shift, and go to state 793 + "capture" shift, and go to state 797 - $default reduce using rule 323 (optional_capture_list) + $default reduce using rule 331 (optional_capture_list) - optional_capture_list go to state 1152 + optional_capture_list go to state 1160 -State 983 +State 989 - 468 expr_mtag: "$$" '(' expr ')' . + 476 expr_mtag: "$$" '(' expr ')' . - $default reduce using rule 468 (expr_mtag) + $default reduce using rule 476 (expr_mtag) -State 984 +State 990 - 469 expr_mtag: "$i" '(' expr ')' . + 477 expr_mtag: "$i" '(' expr ')' . - $default reduce using rule 469 (expr_mtag) + $default reduce using rule 477 (expr_mtag) -State 985 +State 991 - 470 expr_mtag: "$v" '(' expr ')' . + 478 expr_mtag: "$v" '(' expr ')' . - $default reduce using rule 470 (expr_mtag) + $default reduce using rule 478 (expr_mtag) -State 986 +State 992 - 471 expr_mtag: "$b" '(' expr ')' . + 479 expr_mtag: "$b" '(' expr ')' . - $default reduce using rule 471 (expr_mtag) + $default reduce using rule 479 (expr_mtag) -State 987 +State 993 - 472 expr_mtag: "$a" '(' expr ')' . + 480 expr_mtag: "$a" '(' expr ')' . - $default reduce using rule 472 (expr_mtag) + $default reduce using rule 480 (expr_mtag) -State 988 +State 994 - 474 expr_mtag: "$c" '(' expr ')' . '(' ')' - 475 | "$c" '(' expr ')' . '(' expr_list ')' + 482 expr_mtag: "$c" '(' expr ')' . '(' ')' + 483 | "$c" '(' expr ')' . '(' expr_list ')' - '(' shift, and go to state 1153 + '(' shift, and go to state 1161 -State 989 +State 995 - 31 string_builder_body: string_builder_body "{" expr . "}" - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 35 string_builder_body: string_builder_body "{" expr . "}" + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -28747,7 +28902,7 @@ State 989 "||" shift, and go to state 622 "^^" shift, and go to state 623 ".." shift, and go to state 624 - "}" shift, and go to state 1154 + "}" shift, and go to state 1162 '?' shift, and go to state 625 '|' shift, and go to state 626 '^' shift, and go to state 627 @@ -28763,89 +28918,89 @@ State 989 '[' shift, and go to state 637 -State 990 +State 996 - 604 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" - 605 | variable_name_with_pos_list . ',' "name" "aka" "name" - 813 array_comprehension: '[' "for" '(' variable_name_with_pos_list . "in" expr_list ')' ';' expr array_comprehension_where ']' + 616 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" + 617 | variable_name_with_pos_list . ',' "name" "aka" "name" + 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list . "in" expr_list ')' ';' expr array_comprehension_where ']' - "in" shift, and go to state 1155 - ',' shift, and go to state 880 + "in" shift, and go to state 1163 + ',' shift, and go to state 886 -State 991 +State 997 - 814 array_comprehension: '[' "iterator" "for" '(' . variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 826 array_comprehension: '[' "iterator" "for" '(' . variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' "$i" shift, and go to state 673 "name" shift, and go to state 674 - variable_name_with_pos_list go to state 1156 + variable_name_with_pos_list go to state 1164 -State 992 +State 998 - 309 expr_list: expr_list ',' expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 317 expr_list: expr_list ',' expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -28883,26 +29038,26 @@ State 992 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 309 (expr_list) + $default reduce using rule 317 (expr_list) -State 993 +State 999 - 785 make_dim_decl: '[' expr_list optional_comma ']' . + 797 make_dim_decl: '[' expr_list optional_comma ']' . - $default reduce using rule 785 (make_dim_decl) + $default reduce using rule 797 (make_dim_decl) -State 994 +State 1000 - 423 expr: '(' expr_list optional_comma ')' . + 431 expr: '(' expr_list optional_comma ')' . - $default reduce using rule 423 (expr) + $default reduce using rule 431 (expr) -State 995 +State 1001 - 359 func_addr_name: "$i" '(' . expr ')' + 367 func_addr_name: "$i" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -28999,7 +29154,7 @@ State 995 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1157 + expr go to state 1165 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -29011,9 +29166,9 @@ State 995 array_comprehension go to state 488 -State 996 +State 1002 - 483 expr_mtag: '@' '@' "$c" '(' . expr ')' + 491 expr_mtag: '@' '@' "$c" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -29110,7 +29265,7 @@ State 996 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1158 + expr go to state 1166 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -29122,9 +29277,9 @@ State 996 array_comprehension go to state 488 -State 997 +State 1003 - 363 func_addr_expr: '@' '@' '<' $@21 . type_declaration_no_options '>' $@22 func_addr_name + 371 func_addr_expr: '@' '@' '<' $@21 . type_declaration_no_options '>' $@22 func_addr_name "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -29175,94 +29330,94 @@ State 997 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 1159 + type_declaration_no_options go to state 1167 type_declaration_no_options_no_dim go to state 269 -State 998 +State 1004 - 366 func_addr_expr: '@' '@' '<' $@23 . optional_function_argument_list optional_function_type '>' $@24 func_addr_name + 374 func_addr_expr: '@' '@' '<' $@23 . optional_function_argument_list optional_function_type '>' $@24 func_addr_name '(' shift, and go to state 329 - $default reduce using rule 123 (optional_function_argument_list) + $default reduce using rule 131 (optional_function_argument_list) - optional_function_argument_list go to state 1160 + optional_function_argument_list go to state 1168 -State 999 +State 1005 - 604 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" - 605 | variable_name_with_pos_list . ',' "name" "aka" "name" - 815 array_comprehension: '{' "for" '(' variable_name_with_pos_list . "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' + 616 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" + 617 | variable_name_with_pos_list . ',' "name" "aka" "name" + 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list . "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' - "in" shift, and go to state 1161 - ',' shift, and go to state 880 + "in" shift, and go to state 1169 + ',' shift, and go to state 886 -State 1000 +State 1006 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 779 make_map_tuple: expr "=>" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 791 make_map_tuple: expr "=>" expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -29300,53 +29455,53 @@ State 1000 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 779 (make_map_tuple) + $default reduce using rule 791 (make_map_tuple) -State 1001 +State 1007 - 804 expr_map_tuple_list: expr_map_tuple_list ',' make_map_tuple . + 816 expr_map_tuple_list: expr_map_tuple_list ',' make_map_tuple . - $default reduce using rule 804 (expr_map_tuple_list) + $default reduce using rule 816 (expr_map_tuple_list) -State 1002 +State 1008 - 805 make_table_decl: '{' expr_map_tuple_list optional_comma '}' . + 817 make_table_decl: '{' expr_map_tuple_list optional_comma '}' . - $default reduce using rule 805 (make_table_decl) + $default reduce using rule 817 (make_table_decl) -State 1003 +State 1009 - 749 make_struct_fields: "name" . copy_or_move expr - 750 | "name" . ":=" expr + 761 make_struct_fields: "name" . copy_or_move expr + 762 | "name" . ":=" expr - "<-" shift, and go to state 879 - ":=" shift, and go to state 1007 - '=' shift, and go to state 881 + "<-" shift, and go to state 885 + ":=" shift, and go to state 1013 + '=' shift, and go to state 887 - copy_or_move go to state 1008 + copy_or_move go to state 1014 -State 1004 +State 1010 - 377 expr_call: name_in_namespace '(' "uninitialized" ')' . + 385 expr_call: name_in_namespace '(' "uninitialized" ')' . - $default reduce using rule 377 (expr_call) + $default reduce using rule 385 (expr_call) -State 1005 +State 1011 - 379 expr_call: name_in_namespace '(' "uninitialized" make_struct_single . ')' + 387 expr_call: name_in_namespace '(' "uninitialized" make_struct_single . ')' - ')' shift, and go to state 1162 + ')' shift, and go to state 1170 -State 1006 +State 1012 - 753 make_struct_fields: "$f" '(' . expr ')' copy_or_move expr - 754 | "$f" '(' . expr ')' ":=" expr + 765 make_struct_fields: "$f" '(' . expr ')' copy_or_move expr + 766 | "$f" '(' . expr ')' ":=" expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -29443,7 +29598,7 @@ State 1006 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1163 + expr go to state 1171 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -29455,9 +29610,9 @@ State 1006 array_comprehension go to state 488 -State 1007 +State 1013 - 750 make_struct_fields: "name" ":=" . expr + 762 make_struct_fields: "name" ":=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -29554,7 +29709,7 @@ State 1007 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1164 + expr go to state 1172 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -29566,9 +29721,9 @@ State 1007 array_comprehension go to state 488 -State 1008 +State 1014 - 749 make_struct_fields: "name" copy_or_move . expr + 761 make_struct_fields: "name" copy_or_move . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -29665,7 +29820,7 @@ State 1008 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1165 + expr go to state 1173 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -29677,22 +29832,22 @@ State 1008 array_comprehension go to state 488 -State 1009 +State 1015 - 354 expr_named_call: name_in_namespace '(' '[' make_struct_fields . ']' ')' - 751 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr - 752 | make_struct_fields . ',' "name" ":=" expr - 755 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr - 756 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr + 362 expr_named_call: name_in_namespace '(' '[' make_struct_fields . ']' ')' + 763 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 764 | make_struct_fields . ',' "name" ":=" expr + 767 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 768 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr - ',' shift, and go to state 1012 - ']' shift, and go to state 1166 + ',' shift, and go to state 1018 + ']' shift, and go to state 1174 -State 1010 +State 1016 - 309 expr_list: expr_list ',' . expr - 355 expr_named_call: name_in_namespace '(' expr_list ',' . '[' make_struct_fields ']' ')' + 317 expr_list: expr_list ',' . expr + 363 expr_named_call: name_in_namespace '(' expr_list ',' . '[' make_struct_fields ']' ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -29767,7 +29922,7 @@ State 1010 '%' shift, and go to state 13 '~' shift, and go to state 456 '!' shift, and go to state 457 - '[' shift, and go to state 1167 + '[' shift, and go to state 1175 '(' shift, and go to state 459 '$' shift, and go to state 460 '@' shift, and go to state 461 @@ -29789,7 +29944,7 @@ State 1010 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 992 + expr go to state 998 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -29801,86 +29956,86 @@ State 1010 array_comprehension go to state 488 -State 1011 +State 1017 - 380 expr_call: name_in_namespace '(' expr_list ')' . + 388 expr_call: name_in_namespace '(' expr_list ')' . - $default reduce using rule 380 (expr_call) + $default reduce using rule 388 (expr_call) -State 1012 +State 1018 - 751 make_struct_fields: make_struct_fields ',' . "name" copy_or_move expr - 752 | make_struct_fields ',' . "name" ":=" expr - 755 | make_struct_fields ',' . "$f" '(' expr ')' copy_or_move expr - 756 | make_struct_fields ',' . "$f" '(' expr ')' ":=" expr + 763 make_struct_fields: make_struct_fields ',' . "name" copy_or_move expr + 764 | make_struct_fields ',' . "name" ":=" expr + 767 | make_struct_fields ',' . "$f" '(' expr ')' copy_or_move expr + 768 | make_struct_fields ',' . "$f" '(' expr ')' ":=" expr - "$f" shift, and go to state 1168 - "name" shift, and go to state 1169 + "$f" shift, and go to state 1176 + "name" shift, and go to state 1177 -State 1013 +State 1019 - 378 expr_call: name_in_namespace '(' make_struct_single ')' . + 386 expr_call: name_in_namespace '(' make_struct_single ')' . - $default reduce using rule 378 (expr_call) + $default reduce using rule 386 (expr_call) -State 1014 +State 1020 - 324 optional_capture_list: "capture" '(' . capture_list ')' + 332 optional_capture_list: "capture" '(' . capture_list ')' - "<-" shift, and go to state 1170 - ":=" shift, and go to state 1171 - "name" shift, and go to state 1172 - '=' shift, and go to state 1173 - '&' shift, and go to state 1174 + "<-" shift, and go to state 1178 + ":=" shift, and go to state 1179 + "name" shift, and go to state 1180 + '=' shift, and go to state 1181 + '&' shift, and go to state 1182 - capture_entry go to state 1175 - capture_list go to state 1176 + capture_entry go to state 1183 + capture_list go to state 1184 -State 1015 +State 1021 - 325 expr_full_block: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list . optional_function_type optional_semis block_or_simple_block + 333 expr_full_block: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list . optional_function_type optional_emit_semis block_or_simple_block ':' shift, and go to state 388 - $default reduce using rule 126 (optional_function_type) + $default reduce using rule 134 (optional_function_type) - optional_function_type go to state 1177 + optional_function_type go to state 1185 -State 1016 +State 1022 - 327 expr_full_block_assumed_piped: '{' expressions '}' . + 335 expr_full_block_assumed_piped: '{' expressions '}' . - $default reduce using rule 327 (expr_full_block_assumed_piped) + $default reduce using rule 335 (expr_full_block_assumed_piped) -State 1017 +State 1023 - 326 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list . optional_function_argument_list optional_function_type optional_semis expression_block + 334 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list . optional_function_argument_list optional_function_type optional_emit_semis expression_block '(' shift, and go to state 329 - $default reduce using rule 123 (optional_function_argument_list) + $default reduce using rule 131 (optional_function_argument_list) - optional_function_argument_list go to state 1178 + optional_function_argument_list go to state 1186 -State 1018 +State 1024 - 440 expr: expr "is" "type" '<' . $@27 type_declaration_no_options '>' $@28 + 448 expr: expr "is" "type" '<' . $@27 type_declaration_no_options '>' $@28 - $default reduce using rule 438 ($@27) + $default reduce using rule 446 ($@27) - $@27 go to state 1179 + $@27 go to state 1187 -State 1019 +State 1025 - 482 expr_mtag: expr "is" "$f" '(' . expr ')' + 490 expr_mtag: expr "is" "$f" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -29977,7 +30132,7 @@ State 1019 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1180 + expr go to state 1188 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -29989,18 +30144,18 @@ State 1019 array_comprehension go to state 488 -State 1020 +State 1026 - 446 expr: expr "as" "type" '<' . $@29 type_declaration '>' $@30 + 454 expr: expr "as" "type" '<' . $@29 type_declaration '>' $@30 - $default reduce using rule 444 ($@29) + $default reduce using rule 452 ($@29) - $@29 go to state 1181 + $@29 go to state 1189 -State 1021 +State 1027 - 480 expr_mtag: expr "as" "$f" '(' . expr ')' + 488 expr_mtag: expr "as" "$f" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -30097,7 +30252,7 @@ State 1021 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1182 + expr go to state 1190 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -30109,10 +30264,10 @@ State 1021 array_comprehension go to state 488 -State 1022 +State 1028 - 356 expr_method_call: expr "->" "name" '(' . ')' - 357 | expr "->" "name" '(' . expr_list ')' + 364 expr_method_call: expr "->" "name" '(' . ')' + 365 | expr "->" "name" '(' . expr_list ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -30189,7 +30344,7 @@ State 1022 '!' shift, and go to state 457 '[' shift, and go to state 458 '(' shift, and go to state 459 - ')' shift, and go to state 1183 + ')' shift, and go to state 1191 '$' shift, and go to state 460 '@' shift, and go to state 461 '{' shift, and go to state 462 @@ -30202,7 +30357,7 @@ State 1022 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 1184 + expr_list go to state 1192 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -30223,9 +30378,9 @@ State 1022 array_comprehension go to state 488 -State 1023 +State 1029 - 477 expr_mtag: expr "?." "$f" '(' . expr ')' + 485 expr_mtag: expr "?." "$f" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -30322,7 +30477,7 @@ State 1023 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1185 + expr go to state 1193 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -30334,44 +30489,44 @@ State 1023 array_comprehension go to state 488 -State 1024 +State 1030 - 426 expr: expr "?[" expr ']' . + 434 expr: expr "?[" expr ']' . - $default reduce using rule 426 (expr) + $default reduce using rule 434 (expr) -State 1025 +State 1031 - 451 expr: expr '?' "as" "type" . '<' $@31 type_declaration '>' $@32 + 459 expr: expr '?' "as" "type" . '<' $@31 type_declaration '>' $@32 - '<' shift, and go to state 1186 + '<' shift, and go to state 1194 -State 1026 +State 1032 - 481 expr_mtag: expr '?' "as" "$f" . '(' expr ')' + 489 expr_mtag: expr '?' "as" "$f" . '(' expr ')' - '(' shift, and go to state 1187 + '(' shift, and go to state 1195 -State 1027 +State 1033 - 448 expr: expr '?' "as" "name" . + 456 expr: expr '?' "as" "name" . - $default reduce using rule 448 (expr) + $default reduce using rule 456 (expr) -State 1028 +State 1034 - 452 expr: expr '?' "as" basic_type_declaration . + 460 expr: expr '?' "as" basic_type_declaration . - $default reduce using rule 452 (expr) + $default reduce using rule 460 (expr) -State 1029 +State 1035 - 437 expr: expr '?' expr ':' . expr + 445 expr: expr '?' expr ':' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -30468,7 +30623,7 @@ State 1029 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1188 + expr go to state 1196 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -30480,83 +30635,83 @@ State 1029 array_comprehension go to state 488 -State 1030 +State 1036 - 479 expr_mtag: expr '.' "?." "$f" . '(' expr ')' + 487 expr_mtag: expr '.' "?." "$f" . '(' expr ')' - '(' shift, and go to state 1189 + '(' shift, and go to state 1197 -State 1031 +State 1037 - 429 expr: expr '.' "?." "name" . + 437 expr: expr '.' "?." "name" . - $default reduce using rule 429 (expr) + $default reduce using rule 437 (expr) -State 1032 +State 1038 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 427 | expr '.' "?[" expr . ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 435 | expr '.' "?[" expr . ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -30593,12 +30748,12 @@ State 1032 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ']' shift, and go to state 1190 + ']' shift, and go to state 1198 -State 1033 +State 1039 - 476 expr_mtag: expr '.' "$f" '(' . expr ')' + 484 expr_mtag: expr '.' "$f" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -30695,7 +30850,7 @@ State 1033 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1191 + expr go to state 1199 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -30707,10 +30862,10 @@ State 1033 array_comprehension go to state 488 -State 1034 +State 1040 - 369 expr_field: expr '.' "name" '(' . ')' - 370 | expr '.' "name" '(' . expr_list ')' + 377 expr_field: expr '.' "name" '(' . ')' + 378 | expr '.' "name" '(' . expr_list ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -30787,7 +30942,7 @@ State 1034 '!' shift, and go to state 457 '[' shift, and go to state 458 '(' shift, and go to state 459 - ')' shift, and go to state 1192 + ')' shift, and go to state 1200 '$' shift, and go to state 460 '@' shift, and go to state 461 '{' shift, and go to state 462 @@ -30800,7 +30955,7 @@ State 1034 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 1193 + expr_list go to state 1201 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -30821,83 +30976,83 @@ State 1034 array_comprehension go to state 488 -State 1035 +State 1041 - 478 expr_mtag: expr '.' '.' "$f" . '(' expr ')' + 486 expr_mtag: expr '.' '.' "$f" . '(' expr ')' - '(' shift, and go to state 1194 + '(' shift, and go to state 1202 -State 1036 +State 1042 - 368 expr_field: expr '.' '.' "name" . + 376 expr_field: expr '.' '.' "name" . - $default reduce using rule 368 (expr_field) + $default reduce using rule 376 (expr_field) -State 1037 +State 1043 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 425 | expr '.' '[' expr . ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 433 | expr '.' '[' expr . ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -30934,22 +31089,22 @@ State 1037 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ']' shift, and go to state 1195 + ']' shift, and go to state 1203 -State 1038 +State 1044 - 375 expr_field: expr '.' $@25 error . $@26 + 383 expr_field: expr '.' $@25 error . $@26 - $default reduce using rule 374 ($@26) + $default reduce using rule 382 ($@26) - $@26 go to state 1196 + $@26 go to state 1204 -State 1039 +State 1045 - 371 expr_field: expr '.' basic_type_declaration '(' . ')' - 372 | expr '.' basic_type_declaration '(' . expr_list ')' + 379 expr_field: expr '.' basic_type_declaration '(' . ')' + 380 | expr '.' basic_type_declaration '(' . expr_list ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -31026,7 +31181,7 @@ State 1039 '!' shift, and go to state 457 '[' shift, and go to state 458 '(' shift, and go to state 459 - ')' shift, and go to state 1197 + ')' shift, and go to state 1205 '$' shift, and go to state 460 '@' shift, and go to state 461 '{' shift, and go to state 462 @@ -31039,7 +31194,7 @@ State 1039 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 1198 + expr_list go to state 1206 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -31060,16 +31215,16 @@ State 1039 array_comprehension go to state 488 -State 1040 +State 1046 - 424 expr: expr '[' expr ']' . + 432 expr: expr '[' expr ']' . - $default reduce using rule 424 (expr) + $default reduce using rule 432 (expr) -State 1041 +State 1047 - 309 expr_list: expr_list ',' . expr + 317 expr_list: expr_list ',' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -31166,7 +31321,7 @@ State 1041 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 992 + expr go to state 998 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -31178,149 +31333,149 @@ State 1041 array_comprehension go to state 488 -State 1042 +State 1048 - 382 expr_call: basic_type_declaration '(' expr_list ')' . + 390 expr_call: basic_type_declaration '(' expr_list ')' . - $default reduce using rule 382 (expr_call) + $default reduce using rule 390 (expr_call) -State 1043 +State 1049 - 698 type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration '>' $@56 . + 710 type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration '>' $@56 . - $default reduce using rule 698 (type_declaration_no_options_no_dim) + $default reduce using rule 710 (type_declaration_no_options_no_dim) -State 1044 +State 1050 - 688 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration '>' $@50 . + 700 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration '>' $@50 . - $default reduce using rule 688 (type_declaration_no_options_no_dim) + $default reduce using rule 700 (type_declaration_no_options_no_dim) -State 1045 +State 1051 - 652 bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits '>' $@45 . + 664 bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits '>' $@45 . - $default reduce using rule 652 (bitfield_type_declaration) + $default reduce using rule 664 (bitfield_type_declaration) -State 1046 +State 1052 - 646 bitfield_bits: bitfield_bits ';' "name" . + 658 bitfield_bits: bitfield_bits ';' "name" . - $default reduce using rule 646 (bitfield_bits) + $default reduce using rule 658 (bitfield_bits) -State 1047 +State 1053 - 702 type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration '>' $@58 . + 714 type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration '>' $@58 . - $default reduce using rule 702 (type_declaration_no_options_no_dim) + $default reduce using rule 714 (type_declaration_no_options_no_dim) -State 1048 +State 1054 - 705 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type '>' . $@60 + 717 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type '>' . $@60 - $default reduce using rule 704 ($@60) + $default reduce using rule 716 ($@60) - $@60 go to state 1199 + $@60 go to state 1207 -State 1049 +State 1055 - 709 type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration '>' $@62 . + 721 type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration '>' $@62 . - $default reduce using rule 709 (type_declaration_no_options_no_dim) + $default reduce using rule 721 (type_declaration_no_options_no_dim) -State 1050 +State 1056 - 712 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type '>' . $@64 + 724 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type '>' . $@64 - $default reduce using rule 711 ($@64) + $default reduce using rule 723 ($@64) - $@64 go to state 1200 + $@64 go to state 1208 -State 1051 +State 1057 - 716 type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration '>' $@66 . + 728 type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration '>' $@66 . - $default reduce using rule 716 (type_declaration_no_options_no_dim) + $default reduce using rule 728 (type_declaration_no_options_no_dim) -State 1052 +State 1058 - 719 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type '>' . $@68 + 731 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type '>' . $@68 - $default reduce using rule 718 ($@68) + $default reduce using rule 730 ($@68) - $@68 go to state 1201 + $@68 go to state 1209 -State 1053 +State 1059 - 509 tuple_type: "name" ':' type_declaration . - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 517 tuple_type: "name" ':' type_declaration . + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - $default reduce using rule 509 (tuple_type) + $default reduce using rule 517 (tuple_type) -State 1054 +State 1060 - 722 type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list '>' $@70 . + 734 type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list '>' $@70 . - $default reduce using rule 722 (type_declaration_no_options_no_dim) + $default reduce using rule 734 (type_declaration_no_options_no_dim) -State 1055 +State 1061 - 511 tuple_type_list: tuple_type_list c_or_s tuple_type . + 519 tuple_type_list: tuple_type_list c_or_s tuple_type . - $default reduce using rule 511 (tuple_type_list) + $default reduce using rule 519 (tuple_type_list) -State 1056 +State 1062 - 515 variant_type: "name" ':' type_declaration . - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 523 variant_type: "name" ':' type_declaration . + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - $default reduce using rule 515 (variant_type) + $default reduce using rule 523 (variant_type) -State 1057 +State 1063 - 725 type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list '>' $@72 . + 737 type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list '>' $@72 . - $default reduce using rule 725 (type_declaration_no_options_no_dim) + $default reduce using rule 737 (type_declaration_no_options_no_dim) -State 1058 +State 1064 - 517 variant_type_list: variant_type_list c_or_s variant_type . + 525 variant_type_list: variant_type_list c_or_s variant_type . - $default reduce using rule 517 (variant_type_list) + $default reduce using rule 525 (variant_type_list) -State 1059 +State 1065 - 673 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' . '(' optional_expr_list ')' + 685 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' . '(' optional_expr_list ')' - '(' shift, and go to state 1202 + '(' shift, and go to state 1210 -State 1060 +State 1066 - 255 type_declaration_no_options_list: type_declaration_no_options_list c_or_s . type_declaration + 263 type_declaration_no_options_list: type_declaration_no_options_list c_or_s . type_declaration "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -31373,114 +31528,128 @@ State 1060 bitfield_type_declaration go to state 267 type_declaration_no_options go to state 268 type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 1203 + type_declaration go to state 1211 -State 1061 +State 1067 - 649 bitfield_alias_bits: bitfield_alias_bits commas "name" . + 661 bitfield_alias_bits: bitfield_alias_bits commas "name" . - $default reduce using rule 649 (bitfield_alias_bits) + $default reduce using rule 661 (bitfield_alias_bits) -State 1062 +State 1068 - 743 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 . '}' + 572 commas: commas COMMA . - '}' shift, and go to state 1204 + $default reduce using rule 572 (commas) -State 1063 +State 1069 - 514 tuple_alias_type_list: tuple_alias_type_list semis tuple_type . + 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 . '}' - $default reduce using rule 514 (tuple_alias_type_list) + '}' shift, and go to state 1212 -State 1064 +State 1070 - 733 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 . '}' + 78 semis: semis SEMICOLON . - '}' shift, and go to state 1205 + $default reduce using rule 78 (semis) -State 1065 +State 1071 - 520 variant_alias_type_list: variant_alias_type_list semis variant_type . + 522 tuple_alias_type_list: tuple_alias_type_list semis tuple_type . - $default reduce using rule 520 (variant_alias_type_list) + $default reduce using rule 522 (tuple_alias_type_list) -State 1066 +State 1072 - 738 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 . '}' + 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 . '}' - '}' shift, and go to state 1206 + '}' shift, and go to state 1213 -State 1067 +State 1073 + + 528 variant_alias_type_list: variant_alias_type_list semis variant_type . + + $default reduce using rule 528 (variant_alias_type_list) + + +State 1074 + + 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 . '}' + + '}' shift, and go to state 1214 + + +State 1075 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 602 variable_name_with_pos_list: "$i" '(' expr . ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 614 variable_name_with_pos_list: "$i" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -31517,105 +31686,105 @@ State 1067 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1207 + ')' shift, and go to state 1215 -State 1068 +State 1076 - 603 variable_name_with_pos_list: "name" "aka" "name" . + 615 variable_name_with_pos_list: "name" "aka" "name" . - $default reduce using rule 603 (variable_name_with_pos_list) + $default reduce using rule 615 (variable_name_with_pos_list) -State 1069 +State 1077 - 604 variable_name_with_pos_list: variable_name_with_pos_list ',' "name" . - 605 | variable_name_with_pos_list ',' "name" . "aka" "name" + 616 variable_name_with_pos_list: variable_name_with_pos_list ',' "name" . + 617 | variable_name_with_pos_list ',' "name" . "aka" "name" - "aka" shift, and go to state 1208 + "aka" shift, and go to state 1216 - $default reduce using rule 604 (variable_name_with_pos_list) + $default reduce using rule 616 (variable_name_with_pos_list) -State 1070 +State 1078 - 525 variable_declaration: variable_name_with_pos_list ':' type_declaration . - 526 | variable_name_with_pos_list ':' type_declaration . copy_or_move expr - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 533 variable_declaration: variable_name_with_pos_list ':' type_declaration . + 534 | variable_name_with_pos_list ':' type_declaration . copy_or_move expr + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' - "<-" shift, and go to state 879 - '=' shift, and go to state 881 + "<-" shift, and go to state 885 + '=' shift, and go to state 887 '|' shift, and go to state 372 - $default reduce using rule 525 (variable_declaration) + $default reduce using rule 533 (variable_declaration) - copy_or_move go to state 1209 + copy_or_move go to state 1217 -State 1071 +State 1079 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 527 variable_declaration: variable_name_with_pos_list copy_or_move expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 535 variable_declaration: variable_name_with_pos_list copy_or_move expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -31653,72 +31822,72 @@ State 1071 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 527 (variable_declaration) + $default reduce using rule 535 (variable_declaration) -State 1072 +State 1080 - 275 expression_return: "return" "<-" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 283 expression_return: "return" "<-" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -31756,82 +31925,82 @@ State 1072 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 275 (expression_return) + $default reduce using rule 283 (expression_return) -State 1073 +State 1081 - 278 expression_try_catch: "try" expression_block "recover" . expression_block + 286 expression_try_catch: "try" expression_block "recover" . expression_block - $default reduce using rule 224 ($@9) + $default reduce using rule 232 ($@9) - expression_block go to state 1210 + expression_block go to state 1218 $@9 go to state 332 -State 1074 +State 1082 - 260 expression_delete: "delete" "explicit" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 268 expression_delete: "delete" "explicit" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -31869,12 +32038,12 @@ State 1074 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 260 (expression_delete) + $default reduce using rule 268 (expression_delete) -State 1075 +State 1083 - 83 expression_with_alias: "assume" "name" '=' . expr + 91 expression_with_alias: "assume" "name" '=' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -31971,7 +32140,7 @@ State 1075 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1211 + expr go to state 1219 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -31983,90 +32152,90 @@ State 1075 array_comprehension go to state 488 -State 1076 +State 1084 - 52 expression_label: "label" "integer constant" ':' . + 56 expression_label: "label" "integer constant" ':' . - $default reduce using rule 52 (expression_label) + $default reduce using rule 56 (expression_label) -State 1077 +State 1085 - 53 expression_goto: "goto" "label" "integer constant" . + 57 expression_goto: "goto" "label" "integer constant" . - $default reduce using rule 53 (expression_goto) + $default reduce using rule 57 (expression_goto) -State 1078 +State 1086 - 78 expression_unsafe: "unsafe" optional_semis expression_block . + 86 expression_unsafe: "unsafe" optional_emit_semis expression_block . - $default reduce using rule 78 (expression_unsafe) + $default reduce using rule 86 (expression_unsafe) -State 1079 +State 1087 - 277 expression_yield: "yield" "<-" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 285 expression_yield: "yield" "<-" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -32104,12 +32273,12 @@ State 1079 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 277 (expression_yield) + $default reduce using rule 285 (expression_yield) -State 1080 +State 1088 - 75 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' . expr ')' expression_else_one_liner ';' + 83 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' . expr ')' expression_else_one_liner SEMICOLON "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -32206,7 +32375,7 @@ State 1080 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1212 + expr go to state 1220 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -32218,9 +32387,9 @@ State 1080 array_comprehension go to state 488 -State 1081 +State 1089 - 74 expression_if_then_else: $@2 if_or_static_if '(' . expr ')' optional_semis expression_block expression_else + 82 expression_if_then_else: $@2 if_or_static_if '(' . expr ')' optional_emit_semis expression_block expression_else "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -32317,7 +32486,7 @@ State 1081 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1213 + expr go to state 1221 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -32329,19 +32498,19 @@ State 1081 array_comprehension go to state 488 -State 1082 +State 1090 - 77 expression_for_loop: $@3 "for" '(' . variable_name_with_pos_list "in" expr_list ')' optional_semis expression_block + 85 expression_for_loop: $@3 "for" '(' . variable_name_with_pos_list "in" expr_list ')' optional_emit_semis expression_block "$i" shift, and go to state 673 "name" shift, and go to state 674 - variable_name_with_pos_list go to state 1214 + variable_name_with_pos_list go to state 1222 -State 1083 +State 1091 - 80 expression_while_loop: $@4 "while" '(' . expr ')' optional_semis expression_block + 88 expression_while_loop: $@4 "while" '(' . expr ')' optional_emit_semis expression_block "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -32438,7 +32607,7 @@ State 1083 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1215 + expr go to state 1223 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -32450,9 +32619,9 @@ State 1083 array_comprehension go to state 488 -State 1084 +State 1092 - 82 expression_with: $@5 "with" '(' . expr ')' optional_semis expression_block + 90 expression_with: $@5 "with" '(' . expr ')' optional_emit_semis expression_block "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -32549,7 +32718,7 @@ State 1084 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1216 + expr go to state 1224 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -32561,118 +32730,118 @@ State 1084 array_comprehension go to state 488 -State 1085 +State 1093 - 223 expression_block_finally: "finally" . $@7 '{' expressions $@8 '}' + 231 expression_block_finally: "finally" . $@7 '{' expressions $@8 '}' - $default reduce using rule 221 ($@7) + $default reduce using rule 229 ($@7) - $@7 go to state 1217 + $@7 go to state 1225 -State 1086 +State 1094 - 226 expression_block: $@9 '{' expressions $@10 '}' expression_block_finally . + 234 expression_block: $@9 '{' expressions $@10 '}' expression_block_finally . - $default reduce using rule 226 (expression_block) + $default reduce using rule 234 (expression_block) -State 1087 +State 1095 - 288 tuple_expansion_variable_declaration: '(' . tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr ';' - 289 | '(' . tuple_expansion ')' optional_ref copy_or_move_or_clone expr ';' + 296 tuple_expansion_variable_declaration: '(' . tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + 297 | '(' . tuple_expansion ')' optional_ref copy_or_move_or_clone expr SEMICOLON - "name" shift, and go to state 1218 + "name" shift, and go to state 1226 - tuple_expansion go to state 1219 + tuple_expansion go to state 1227 -State 1088 +State 1096 - 292 expression_let: kwd_let optional_in_scope '{' . variable_declaration_list '}' + 300 expression_let: kwd_let optional_in_scope '{' . variable_declaration_list '}' - $default reduce using rule 540 (variable_declaration_list) + $default reduce using rule 548 (variable_declaration_list) - variable_declaration_list go to state 1220 + variable_declaration_list go to state 1228 -State 1089 +State 1097 - 291 expression_let: kwd_let optional_in_scope tuple_expansion_variable_declaration . + 299 expression_let: kwd_let optional_in_scope tuple_expansion_variable_declaration . - $default reduce using rule 291 (expression_let) + $default reduce using rule 299 (expression_let) -State 1090 +State 1098 - 290 expression_let: kwd_let optional_in_scope let_variable_declaration . + 298 expression_let: kwd_let optional_in_scope let_variable_declaration . - $default reduce using rule 290 (expression_let) + $default reduce using rule 298 (expression_let) -State 1091 +State 1099 - 345 expr_assign: expr "+=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 353 expr_assign: expr "+=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -32710,72 +32879,72 @@ State 1091 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 345 (expr_assign) + $default reduce using rule 353 (expr_assign) -State 1092 +State 1100 - 346 expr_assign: expr "-=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 354 expr_assign: expr "-=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -32813,72 +32982,72 @@ State 1092 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 346 (expr_assign) + $default reduce using rule 354 (expr_assign) -State 1093 +State 1101 - 348 expr_assign: expr "/=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 356 expr_assign: expr "/=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -32916,72 +33085,72 @@ State 1093 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 348 (expr_assign) + $default reduce using rule 356 (expr_assign) -State 1094 +State 1102 - 347 expr_assign: expr "*=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 355 expr_assign: expr "*=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33019,72 +33188,72 @@ State 1094 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 347 (expr_assign) + $default reduce using rule 355 (expr_assign) -State 1095 +State 1103 - 349 expr_assign: expr "%=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 357 expr_assign: expr "%=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33122,72 +33291,72 @@ State 1095 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 349 (expr_assign) + $default reduce using rule 357 (expr_assign) -State 1096 +State 1104 - 339 expr_assign: expr "&=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 347 expr_assign: expr "&=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33225,72 +33394,72 @@ State 1096 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 339 (expr_assign) + $default reduce using rule 347 (expr_assign) -State 1097 +State 1105 - 340 expr_assign: expr "|=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 348 expr_assign: expr "|=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33328,72 +33497,72 @@ State 1097 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 340 (expr_assign) + $default reduce using rule 348 (expr_assign) -State 1098 +State 1106 - 341 expr_assign: expr "^=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 349 expr_assign: expr "^=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33431,72 +33600,72 @@ State 1098 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 341 (expr_assign) + $default reduce using rule 349 (expr_assign) -State 1099 +State 1107 - 350 expr_assign: expr "<<=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 358 expr_assign: expr "<<=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33534,72 +33703,72 @@ State 1099 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 350 (expr_assign) + $default reduce using rule 358 (expr_assign) -State 1100 +State 1108 - 351 expr_assign: expr ">>=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 359 expr_assign: expr ">>=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33637,72 +33806,72 @@ State 1100 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 351 (expr_assign) + $default reduce using rule 359 (expr_assign) -State 1101 +State 1109 - 337 expr_assign: expr "<-" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 345 expr_assign: expr "<-" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33740,72 +33909,72 @@ State 1101 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 337 (expr_assign) + $default reduce using rule 345 (expr_assign) -State 1102 +State 1110 - 338 expr_assign: expr ":=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 346 expr_assign: expr ":=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33843,72 +34012,72 @@ State 1102 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 338 (expr_assign) + $default reduce using rule 346 (expr_assign) -State 1103 +State 1111 - 352 expr_assign: expr "<<<=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 360 expr_assign: expr "<<<=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33946,72 +34115,72 @@ State 1103 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 352 (expr_assign) + $default reduce using rule 360 (expr_assign) -State 1104 +State 1112 - 353 expr_assign: expr ">>>=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 361 expr_assign: expr ">>>=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -34049,72 +34218,72 @@ State 1104 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 353 (expr_assign) + $default reduce using rule 361 (expr_assign) -State 1105 +State 1113 - 342 expr_assign: expr "&&=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 350 expr_assign: expr "&&=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -34152,72 +34321,72 @@ State 1105 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 342 (expr_assign) + $default reduce using rule 350 (expr_assign) -State 1106 +State 1114 - 343 expr_assign: expr "||=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 351 expr_assign: expr "||=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -34255,72 +34424,72 @@ State 1106 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 343 (expr_assign) + $default reduce using rule 351 (expr_assign) -State 1107 +State 1115 - 344 expr_assign: expr "^^=" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 352 expr_assign: expr "^^=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -34358,72 +34527,72 @@ State 1107 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 344 (expr_assign) + $default reduce using rule 352 (expr_assign) -State 1108 +State 1116 - 336 expr_assign: expr '=' expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 344 expr_assign: expr '=' expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -34461,12 +34630,12 @@ State 1108 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 336 (expr_assign) + $default reduce using rule 344 (expr_assign) -State 1109 +State 1117 - 562 enum_expression: "name" '=' . expr + 570 enum_expression: "name" '=' . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -34563,7 +34732,7 @@ State 1109 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1221 + expr go to state 1229 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -34575,106 +34744,108 @@ State 1109 array_comprehension go to state 488 -State 1110 +State 1118 - 564 commas: commas . ',' - 567 enum_list: enum_list commas . enum_expression - 581 optional_commas: commas . + 572 commas: commas . COMMA + 575 enum_list: enum_list commas . enum_expression + 589 optional_commas: commas . - "name" shift, and go to state 935 - ',' shift, and go to state 271 + "name" shift, and go to state 941 + "emitted ," shift, and go to state 734 + ',' shift, and go to state 735 - $default reduce using rule 581 (optional_commas) + $default reduce using rule 589 (optional_commas) - enum_expression go to state 1222 + COMMA go to state 1068 + enum_expression go to state 1230 -State 1111 +State 1119 - 585 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_commas '{' $@40 enum_list optional_commas . $@41 '}' + 597 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_emit_commas '{' $@40 enum_list optional_commas . $@41 '}' - $default reduce using rule 584 ($@41) + $default reduce using rule 596 ($@41) - $@41 go to state 1223 + $@41 go to state 1231 -State 1112 +State 1120 - 492 optional_public_or_private_member_variable: "public" . + 500 optional_public_or_private_member_variable: "public" . - $default reduce using rule 492 (optional_public_or_private_member_variable) + $default reduce using rule 500 (optional_public_or_private_member_variable) -State 1113 +State 1121 - 493 optional_public_or_private_member_variable: "private" . + 501 optional_public_or_private_member_variable: "private" . - $default reduce using rule 493 (optional_public_or_private_member_variable) + $default reduce using rule 501 (optional_public_or_private_member_variable) -State 1114 +State 1122 - 501 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable . "abstract" optional_constant $@34 function_declaration_header ';' - 503 | struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable . optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block + 509 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable . "abstract" optional_constant $@34 function_declaration_header ';' + 511 | struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable . optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block - "abstract" shift, and go to state 1224 - "static" shift, and go to state 1115 + "abstract" shift, and go to state 1232 + "static" shift, and go to state 1123 - $default reduce using rule 494 (optional_static_member_variable) + $default reduce using rule 502 (optional_static_member_variable) - optional_static_member_variable go to state 1225 + optional_static_member_variable go to state 1233 -State 1115 +State 1123 - 495 optional_static_member_variable: "static" . + 503 optional_static_member_variable: "static" . - $default reduce using rule 495 (optional_static_member_variable) + $default reduce using rule 503 (optional_static_member_variable) -State 1116 +State 1124 - 496 structure_variable_declaration: optional_field_annotation optional_static_member_variable . optional_override optional_public_or_private_member_variable variable_declaration + 504 structure_variable_declaration: optional_field_annotation optional_static_member_variable . optional_override optional_public_or_private_member_variable variable_declaration - "override" shift, and go to state 1226 - "sealed" shift, and go to state 1227 + "override" shift, and go to state 1234 + "sealed" shift, and go to state 1235 - $default reduce using rule 486 (optional_override) + $default reduce using rule 494 (optional_override) - optional_override go to state 1228 + optional_override go to state 1236 -State 1117 +State 1125 - 499 struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration ';' . + 507 struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration ';' . - $default reduce using rule 499 (struct_variable_declaration_list) + $default reduce using rule 507 (struct_variable_declaration_list) -State 1118 +State 1126 - 534 let_variable_name_with_pos_list: "$i" '(' expr ')' . + 542 let_variable_name_with_pos_list: "$i" '(' expr ')' . - $default reduce using rule 534 (let_variable_name_with_pos_list) + $default reduce using rule 542 (let_variable_name_with_pos_list) -State 1119 +State 1127 - 537 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" "aka" . "name" + 545 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" "aka" . "name" - "name" shift, and go to state 1229 + "name" shift, and go to state 1237 -State 1120 +State 1128 - 543 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options ';' . + 551 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options SEMICOLON . - $default reduce using rule 543 (let_variable_declaration) + $default reduce using rule 551 (let_variable_declaration) -State 1121 +State 1129 - 544 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone . expr ';' + 552 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone . expr SEMICOLON "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -34771,7 +34942,7 @@ State 1121 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1230 + expr go to state 1238 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -34783,240 +34954,243 @@ State 1121 array_comprehension go to state 488 -State 1122 +State 1130 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 545 let_variable_declaration: let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr . ';' - - "is" shift, and go to state 603 - "as" shift, and go to state 604 - "<<" shift, and go to state 605 - ">>" shift, and go to state 606 - "++" shift, and go to state 607 - "--" shift, and go to state 608 - "<=" shift, and go to state 609 - ">=" shift, and go to state 610 - "==" shift, and go to state 611 - "!=" shift, and go to state 612 - "->" shift, and go to state 613 - "??" shift, and go to state 614 - "?." shift, and go to state 615 - "?[" shift, and go to state 616 - "<|" shift, and go to state 617 - "|>" shift, and go to state 618 - "<<<" shift, and go to state 619 - ">>>" shift, and go to state 620 - "&&" shift, and go to state 621 - "||" shift, and go to state 622 - "^^" shift, and go to state 623 - ".." shift, and go to state 624 - '?' shift, and go to state 625 - '|' shift, and go to state 626 - '^' shift, and go to state 627 - '&' shift, and go to state 628 - '<' shift, and go to state 629 - '>' shift, and go to state 630 - '-' shift, and go to state 631 - '+' shift, and go to state 632 - '*' shift, and go to state 633 - '/' shift, and go to state 634 - '%' shift, and go to state 635 - '.' shift, and go to state 636 - '[' shift, and go to state 637 - ';' shift, and go to state 1231 + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 553 let_variable_declaration: let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr . SEMICOLON + + "is" shift, and go to state 603 + "as" shift, and go to state 604 + "<<" shift, and go to state 605 + ">>" shift, and go to state 606 + "++" shift, and go to state 607 + "--" shift, and go to state 608 + "<=" shift, and go to state 609 + ">=" shift, and go to state 610 + "==" shift, and go to state 611 + "!=" shift, and go to state 612 + "->" shift, and go to state 613 + "??" shift, and go to state 614 + "?." shift, and go to state 615 + "?[" shift, and go to state 616 + "<|" shift, and go to state 617 + "|>" shift, and go to state 618 + "<<<" shift, and go to state 619 + ">>>" shift, and go to state 620 + "&&" shift, and go to state 621 + "||" shift, and go to state 622 + "^^" shift, and go to state 623 + ".." shift, and go to state 624 + "emitted ;" shift, and go to state 690 + '?' shift, and go to state 625 + '|' shift, and go to state 626 + '^' shift, and go to state 627 + '&' shift, and go to state 628 + '<' shift, and go to state 629 + '>' shift, and go to state 630 + '-' shift, and go to state 631 + '+' shift, and go to state 632 + '*' shift, and go to state 633 + '/' shift, and go to state 634 + '%' shift, and go to state 635 + '.' shift, and go to state 636 + '[' shift, and go to state 637 + ';' shift, and go to state 691 + + SEMICOLON go to state 1239 -State 1123 +State 1131 - 547 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr ';' . + 555 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr ';' . - $default reduce using rule 547 (global_let_variable_declaration) + $default reduce using rule 555 (global_let_variable_declaration) -State 1124 +State 1132 - 769 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' . $@86 '(' use_initializer optional_make_struct_dim_decl ')' + 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' . $@86 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 768 ($@86) + $default reduce using rule 780 ($@86) - $@86 go to state 1232 + $@86 go to state 1240 -State 1125 +State 1133 - 772 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' . $@88 '(' use_initializer optional_make_struct_dim_decl ')' + 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' . $@88 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 771 ($@88) + $default reduce using rule 783 ($@88) - $@88 go to state 1233 + $@88 go to state 1241 -State 1126 +State 1134 - 263 new_type_declaration: '<' $@11 type_declaration '>' . $@12 + 271 new_type_declaration: '<' $@11 type_declaration '>' . $@12 - $default reduce using rule 262 ($@12) + $default reduce using rule 270 ($@12) - $@12 go to state 1234 + $@12 go to state 1242 -State 1127 +State 1135 - 269 expr_new: "new" new_type_declaration '(' "uninitialized" make_struct_single . ')' + 277 expr_new: "new" new_type_declaration '(' "uninitialized" make_struct_single . ')' - ')' shift, and go to state 1235 + ')' shift, and go to state 1243 -State 1128 +State 1136 - 267 expr_new: "new" new_type_declaration '(' expr_list ')' . + 275 expr_new: "new" new_type_declaration '(' expr_list ')' . - $default reduce using rule 267 (expr_new) + $default reduce using rule 275 (expr_new) -State 1129 +State 1137 - 268 expr_new: "new" new_type_declaration '(' make_struct_single ')' . + 276 expr_new: "new" new_type_declaration '(' make_struct_single ')' . - $default reduce using rule 268 (expr_new) + $default reduce using rule 276 (expr_new) -State 1130 +State 1138 - 266 expr_new: "new" new_type_declaration '(' use_initializer ')' . + 274 expr_new: "new" new_type_declaration '(' use_initializer ')' . - $default reduce using rule 266 (expr_new) + $default reduce using rule 274 (expr_new) -State 1131 +State 1139 - 306 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' . '(' expr ')' + 314 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' . '(' expr ')' - '(' shift, and go to state 1236 + '(' shift, and go to state 1244 -State 1132 +State 1140 - 307 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s . "name" '>' '(' expr ')' + 315 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s . "name" '>' '(' expr ')' - "name" shift, and go to state 1237 + "name" shift, and go to state 1245 -State 1133 +State 1141 - 305 expr_type_info: "typeinfo" name_in_namespace '(' expr ')' . + 313 expr_type_info: "typeinfo" name_in_namespace '(' expr ')' . - $default reduce using rule 305 (expr_type_info) + $default reduce using rule 313 (expr_type_info) -State 1134 +State 1142 - 304 expr_type_decl: "type" '<' $@19 type_declaration '>' . $@20 + 312 expr_type_decl: "type" '<' $@19 type_declaration '>' . $@20 - $default reduce using rule 303 ($@20) + $default reduce using rule 311 ($@20) - $@20 go to state 1238 + $@20 go to state 1246 -State 1135 +State 1143 - 788 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options . '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' + 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options . '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' - '>' shift, and go to state 1239 + '>' shift, and go to state 1247 -State 1136 +State 1144 - 791 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options . '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' + 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options . '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' - '>' shift, and go to state 1240 + '>' shift, and go to state 1248 -State 1137 +State 1145 - 794 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options . '>' $@100 '(' make_variant_dim ')' + 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options . '>' $@100 '(' make_variant_dim ')' - '>' shift, and go to state 1241 + '>' shift, and go to state 1249 -State 1138 +State 1146 - 798 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' . $@102 '(' optional_expr_list ')' + 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' . $@102 '(' optional_expr_list ')' - $default reduce using rule 797 ($@102) + $default reduce using rule 809 ($@102) - $@102 go to state 1242 + $@102 go to state 1250 -State 1139 +State 1147 - 795 make_dim_decl: "array" '(' expr_list optional_comma ')' . + 807 make_dim_decl: "array" '(' expr_list optional_comma ')' . - $default reduce using rule 795 (make_dim_decl) + $default reduce using rule 807 (make_dim_decl) -State 1140 +State 1148 - 807 make_table_decl: "table" '<' type_declaration_no_options '>' '(' . optional_expr_map_tuple_list ')' + 819 make_table_decl: "table" '<' type_declaration_no_options '>' '(' . optional_expr_map_tuple_list ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -35097,12 +35271,12 @@ State 1140 '@' shift, and go to state 461 '{' shift, and go to state 462 - $default reduce using rule 252 (optional_expr_map_tuple_list) + $default reduce using rule 260 (optional_expr_map_tuple_list) string_builder go to state 463 expr_reader go to state 464 expr_call_pipe go to state 465 - optional_expr_map_tuple_list go to state 1243 + optional_expr_map_tuple_list go to state 1251 name_in_namespace go to state 466 expr_new go to state 467 expr_cast go to state 468 @@ -35125,121 +35299,121 @@ State 1140 make_map_tuple go to state 595 make_tuple_call go to state 485 make_dim_decl go to state 486 - expr_map_tuple_list go to state 1244 + expr_map_tuple_list go to state 1252 make_table_decl go to state 487 array_comprehension go to state 488 -State 1141 +State 1149 - 808 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options . '>' '(' optional_expr_map_tuple_list ')' + 820 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options . '>' '(' optional_expr_map_tuple_list ')' - '>' shift, and go to state 1245 + '>' shift, and go to state 1253 -State 1142 +State 1150 - 806 make_table_decl: "table" '(' expr_map_tuple_list optional_comma ')' . + 818 make_table_decl: "table" '(' expr_map_tuple_list optional_comma ')' . - $default reduce using rule 806 (make_table_decl) + $default reduce using rule 818 (make_table_decl) -State 1143 +State 1151 - 295 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' . $@14 expr + 303 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' . $@14 expr - $default reduce using rule 294 ($@14) + $default reduce using rule 302 ($@14) - $@14 go to state 1246 + $@14 go to state 1254 -State 1144 +State 1152 - 298 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' . $@16 expr + 306 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' . $@16 expr - $default reduce using rule 297 ($@16) + $default reduce using rule 305 ($@16) - $@16 go to state 1247 + $@16 go to state 1255 -State 1145 +State 1153 - 301 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' . $@18 expr + 309 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' . $@18 expr - $default reduce using rule 300 ($@18) + $default reduce using rule 308 ($@18) - $@18 go to state 1248 + $@18 go to state 1256 -State 1146 +State 1154 - 802 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' . $@104 '(' expr_list optional_comma ')' + 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' . $@104 '(' expr_list optional_comma ')' - $default reduce using rule 801 ($@104) + $default reduce using rule 813 ($@104) - $@104 go to state 1249 + $@104 go to state 1257 -State 1147 +State 1155 - 799 make_dim_decl: "fixed_array" '(' expr_list optional_comma ')' . + 811 make_dim_decl: "fixed_array" '(' expr_list optional_comma ')' . - $default reduce using rule 799 (make_dim_decl) + $default reduce using rule 811 (make_dim_decl) -State 1148 +State 1156 - 778 make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' . $@92 use_initializer + 790 make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' . $@92 use_initializer - $default reduce using rule 777 ($@92) + $default reduce using rule 789 ($@92) - $@92 go to state 1250 + $@92 go to state 1258 -State 1149 +State 1157 - 784 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' . $@94 '(' use_initializer optional_make_struct_dim_decl ')' + 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' . $@94 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 783 ($@94) + $default reduce using rule 795 ($@94) - $@94 go to state 1251 + $@94 go to state 1259 -State 1150 +State 1158 - 781 make_tuple_call: "tuple" '(' expr_list optional_comma ')' . + 793 make_tuple_call: "tuple" '(' expr_list optional_comma ')' . - $default reduce using rule 781 (make_tuple_call) + $default reduce using rule 793 (make_tuple_call) -State 1151 +State 1159 - 775 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' . $@90 '(' make_variant_dim ')' + 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' . $@90 '(' make_variant_dim ')' - $default reduce using rule 774 ($@90) + $default reduce using rule 786 ($@90) - $@90 go to state 1252 + $@90 go to state 1260 -State 1152 +State 1160 - 465 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list . '(' ')' - 466 | "generator" '<' type_declaration_no_options '>' optional_capture_list . '(' expr ')' - 467 | "generator" '<' type_declaration_no_options '>' optional_capture_list . optional_semis expression_block + 473 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list . '(' ')' + 474 | "generator" '<' type_declaration_no_options '>' optional_capture_list . '(' expr ')' + 475 | "generator" '<' type_declaration_no_options '>' optional_capture_list . optional_emit_semis expression_block - '(' shift, and go to state 1253 - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 171 + '(' shift, and go to state 1261 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 63 (optional_emit_semis) - semis go to state 172 - optional_semis go to state 1254 + emit_semis go to state 172 + optional_emit_semis go to state 1262 -State 1153 +State 1161 - 474 expr_mtag: "$c" '(' expr ')' '(' . ')' - 475 | "$c" '(' expr ')' '(' . expr_list ')' + 482 expr_mtag: "$c" '(' expr ')' '(' . ')' + 483 | "$c" '(' expr ')' '(' . expr_list ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -35316,7 +35490,7 @@ State 1153 '!' shift, and go to state 457 '[' shift, and go to state 458 '(' shift, and go to state 459 - ')' shift, and go to state 1255 + ')' shift, and go to state 1263 '$' shift, and go to state 460 '@' shift, and go to state 461 '{' shift, and go to state 462 @@ -35329,7 +35503,7 @@ State 1153 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 1256 + expr_list go to state 1264 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -35350,16 +35524,16 @@ State 1153 array_comprehension go to state 488 -State 1154 +State 1162 - 31 string_builder_body: string_builder_body "{" expr "}" . + 35 string_builder_body: string_builder_body "{" expr "}" . - $default reduce using rule 31 (string_builder_body) + $default reduce using rule 35 (string_builder_body) -State 1155 +State 1163 - 813 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" . expr_list ')' ';' expr array_comprehension_where ']' + 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" . expr_list ')' ';' expr array_comprehension_where ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -35448,7 +35622,7 @@ State 1155 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 1257 + expr_list go to state 1265 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -35469,79 +35643,79 @@ State 1155 array_comprehension go to state 488 -State 1156 +State 1164 - 604 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" - 605 | variable_name_with_pos_list . ',' "name" "aka" "name" - 814 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list . "in" expr_list ')' ';' expr array_comprehension_where ']' + 616 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" + 617 | variable_name_with_pos_list . ',' "name" "aka" "name" + 826 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list . "in" expr_list ')' ';' expr array_comprehension_where ']' - "in" shift, and go to state 1258 - ',' shift, and go to state 880 + "in" shift, and go to state 1266 + ',' shift, and go to state 886 -State 1157 +State 1165 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 359 func_addr_name: "$i" '(' expr . ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 367 func_addr_name: "$i" '(' expr . ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -35578,72 +35752,72 @@ State 1157 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1259 + ')' shift, and go to state 1267 -State 1158 +State 1166 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 483 | '@' '@' "$c" '(' expr . ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 491 | '@' '@' "$c" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -35680,30 +35854,30 @@ State 1158 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1260 + ')' shift, and go to state 1268 -State 1159 +State 1167 - 363 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options . '>' $@22 func_addr_name + 371 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options . '>' $@22 func_addr_name - '>' shift, and go to state 1261 + '>' shift, and go to state 1269 -State 1160 +State 1168 - 366 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list . optional_function_type '>' $@24 func_addr_name + 374 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list . optional_function_type '>' $@24 func_addr_name ':' shift, and go to state 388 - $default reduce using rule 126 (optional_function_type) + $default reduce using rule 134 (optional_function_type) - optional_function_type go to state 1262 + optional_function_type go to state 1270 -State 1161 +State 1169 - 815 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" . expr_list ')' ';' make_map_tuple array_comprehension_where '}' + 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" . expr_list ')' ';' make_map_tuple array_comprehension_where '}' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -35792,7 +35966,7 @@ State 1161 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 1263 + expr_list go to state 1271 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -35813,77 +35987,77 @@ State 1161 array_comprehension go to state 488 -State 1162 +State 1170 - 379 expr_call: name_in_namespace '(' "uninitialized" make_struct_single ')' . + 387 expr_call: name_in_namespace '(' "uninitialized" make_struct_single ')' . - $default reduce using rule 379 (expr_call) + $default reduce using rule 387 (expr_call) -State 1163 +State 1171 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 753 make_struct_fields: "$f" '(' expr . ')' copy_or_move expr - 754 | "$f" '(' expr . ')' ":=" expr + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 765 make_struct_fields: "$f" '(' expr . ')' copy_or_move expr + 766 | "$f" '(' expr . ')' ":=" expr "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -35920,72 +36094,72 @@ State 1163 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1264 + ')' shift, and go to state 1272 -State 1164 +State 1172 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 750 make_struct_fields: "name" ":=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 762 make_struct_fields: "name" ":=" expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -36023,72 +36197,72 @@ State 1164 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 750 (make_struct_fields) + $default reduce using rule 762 (make_struct_fields) -State 1165 +State 1173 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 749 make_struct_fields: "name" copy_or_move expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 761 make_struct_fields: "name" copy_or_move expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -36126,22 +36300,22 @@ State 1165 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 749 (make_struct_fields) + $default reduce using rule 761 (make_struct_fields) -State 1166 +State 1174 - 354 expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' . ')' + 362 expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' . ')' - ')' shift, and go to state 1265 + ')' shift, and go to state 1273 -State 1167 +State 1175 - 355 expr_named_call: name_in_namespace '(' expr_list ',' '[' . make_struct_fields ']' ')' - 785 make_dim_decl: '[' . expr_list optional_comma ']' - 813 array_comprehension: '[' . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' - 814 | '[' . "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 363 expr_named_call: name_in_namespace '(' expr_list ',' '[' . make_struct_fields ']' ')' + 797 make_dim_decl: '[' . expr_list optional_comma ']' + 825 array_comprehension: '[' . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 826 | '[' . "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -36202,7 +36376,7 @@ State 1167 "$b" shift, and go to state 441 "$a" shift, and go to state 442 "$c" shift, and go to state 443 - "$f" shift, and go to state 786 + "$f" shift, and go to state 790 "..." shift, and go to state 444 "integer constant" shift, and go to state 445 "long integer constant" shift, and go to state 446 @@ -36211,7 +36385,7 @@ State 1167 "unsigned int8 constant" shift, and go to state 449 "floating point constant" shift, and go to state 450 "double constant" shift, and go to state 451 - "name" shift, and go to state 787 + "name" shift, and go to state 791 "start of the string" shift, and go to state 452 '-' shift, and go to state 453 '+' shift, and go to state 454 @@ -36247,7 +36421,7 @@ State 1167 expr_mtag go to state 481 basic_type_declaration go to state 482 make_decl go to state 483 - make_struct_fields go to state 1266 + make_struct_fields go to state 1274 make_struct_decl go to state 484 make_tuple_call go to state 485 make_dim_decl go to state 486 @@ -36255,103 +36429,103 @@ State 1167 array_comprehension go to state 488 -State 1168 +State 1176 - 755 make_struct_fields: make_struct_fields ',' "$f" . '(' expr ')' copy_or_move expr - 756 | make_struct_fields ',' "$f" . '(' expr ')' ":=" expr + 767 make_struct_fields: make_struct_fields ',' "$f" . '(' expr ')' copy_or_move expr + 768 | make_struct_fields ',' "$f" . '(' expr ')' ":=" expr - '(' shift, and go to state 1267 + '(' shift, and go to state 1275 -State 1169 +State 1177 - 751 make_struct_fields: make_struct_fields ',' "name" . copy_or_move expr - 752 | make_struct_fields ',' "name" . ":=" expr + 763 make_struct_fields: make_struct_fields ',' "name" . copy_or_move expr + 764 | make_struct_fields ',' "name" . ":=" expr - "<-" shift, and go to state 879 - ":=" shift, and go to state 1268 - '=' shift, and go to state 881 + "<-" shift, and go to state 885 + ":=" shift, and go to state 1276 + '=' shift, and go to state 887 - copy_or_move go to state 1269 + copy_or_move go to state 1277 -State 1170 +State 1178 - 318 capture_entry: "<-" . "name" + 326 capture_entry: "<-" . "name" - "name" shift, and go to state 1270 + "name" shift, and go to state 1278 -State 1171 +State 1179 - 319 capture_entry: ":=" . "name" + 327 capture_entry: ":=" . "name" - "name" shift, and go to state 1271 + "name" shift, and go to state 1279 -State 1172 +State 1180 - 320 capture_entry: "name" . '(' "name" ')' + 328 capture_entry: "name" . '(' "name" ')' - '(' shift, and go to state 1272 + '(' shift, and go to state 1280 -State 1173 +State 1181 - 317 capture_entry: '=' . "name" + 325 capture_entry: '=' . "name" - "name" shift, and go to state 1273 + "name" shift, and go to state 1281 -State 1174 +State 1182 - 316 capture_entry: '&' . "name" + 324 capture_entry: '&' . "name" - "name" shift, and go to state 1274 + "name" shift, and go to state 1282 -State 1175 +State 1183 - 321 capture_list: capture_entry . + 329 capture_list: capture_entry . - $default reduce using rule 321 (capture_list) + $default reduce using rule 329 (capture_list) -State 1176 +State 1184 - 322 capture_list: capture_list . ',' capture_entry - 324 optional_capture_list: "capture" '(' capture_list . ')' + 330 capture_list: capture_list . ',' capture_entry + 332 optional_capture_list: "capture" '(' capture_list . ')' - ',' shift, and go to state 1275 - ')' shift, and go to state 1276 + ',' shift, and go to state 1283 + ')' shift, and go to state 1284 -State 1177 +State 1185 - 325 expr_full_block: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type . optional_semis block_or_simple_block + 333 expr_full_block: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type . optional_emit_semis block_or_simple_block - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 171 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 63 (optional_emit_semis) - semis go to state 172 - optional_semis go to state 1277 + emit_semis go to state 172 + optional_emit_semis go to state 1285 -State 1178 +State 1186 - 326 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list . optional_function_type optional_semis expression_block + 334 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list . optional_function_type optional_emit_semis expression_block ':' shift, and go to state 388 - $default reduce using rule 126 (optional_function_type) + $default reduce using rule 134 (optional_function_type) - optional_function_type go to state 1278 + optional_function_type go to state 1286 -State 1179 +State 1187 - 440 expr: expr "is" "type" '<' $@27 . type_declaration_no_options '>' $@28 + 448 expr: expr "is" "type" '<' $@27 . type_declaration_no_options '>' $@28 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -36402,73 +36576,73 @@ State 1179 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 1279 + type_declaration_no_options go to state 1287 type_declaration_no_options_no_dim go to state 269 -State 1180 +State 1188 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 482 | expr "is" "$f" '(' expr . ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 490 | expr "is" "$f" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -36505,12 +36679,12 @@ State 1180 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1280 + ')' shift, and go to state 1288 -State 1181 +State 1189 - 446 expr: expr "as" "type" '<' $@29 . type_declaration '>' $@30 + 454 expr: expr "as" "type" '<' $@29 . type_declaration '>' $@30 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -36563,72 +36737,72 @@ State 1181 bitfield_type_declaration go to state 267 type_declaration_no_options go to state 268 type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 1281 + type_declaration go to state 1289 -State 1182 +State 1190 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 480 | expr "as" "$f" '(' expr . ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 488 | expr "as" "$f" '(' expr . ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -36665,88 +36839,88 @@ State 1182 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1282 + ')' shift, and go to state 1290 -State 1183 +State 1191 - 356 expr_method_call: expr "->" "name" '(' ')' . + 364 expr_method_call: expr "->" "name" '(' ')' . - $default reduce using rule 356 (expr_method_call) + $default reduce using rule 364 (expr_method_call) -State 1184 +State 1192 - 309 expr_list: expr_list . ',' expr - 357 expr_method_call: expr "->" "name" '(' expr_list . ')' + 317 expr_list: expr_list . ',' expr + 365 expr_method_call: expr "->" "name" '(' expr_list . ')' - ',' shift, and go to state 1041 - ')' shift, and go to state 1283 + ',' shift, and go to state 1047 + ')' shift, and go to state 1291 -State 1185 +State 1193 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 477 | expr "?." "$f" '(' expr . ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 485 | expr "?." "$f" '(' expr . ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -36783,21 +36957,21 @@ State 1185 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1284 + ')' shift, and go to state 1292 -State 1186 +State 1194 - 451 expr: expr '?' "as" "type" '<' . $@31 type_declaration '>' $@32 + 459 expr: expr '?' "as" "type" '<' . $@31 type_declaration '>' $@32 - $default reduce using rule 449 ($@31) + $default reduce using rule 457 ($@31) - $@31 go to state 1285 + $@31 go to state 1293 -State 1187 +State 1195 - 481 expr_mtag: expr '?' "as" "$f" '(' . expr ')' + 489 expr_mtag: expr '?' "as" "$f" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -36894,7 +37068,7 @@ State 1187 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1286 + expr go to state 1294 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -36906,69 +37080,69 @@ State 1187 array_comprehension go to state 488 -State 1188 +State 1196 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 437 | expr '?' expr ':' expr . - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 445 | expr '?' expr ':' expr . + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -37005,12 +37179,12 @@ State 1188 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 437 (expr) + $default reduce using rule 445 (expr) -State 1189 +State 1197 - 479 expr_mtag: expr '.' "?." "$f" '(' . expr ')' + 487 expr_mtag: expr '.' "?." "$f" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -37107,7 +37281,7 @@ State 1189 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1287 + expr go to state 1295 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -37119,76 +37293,76 @@ State 1189 array_comprehension go to state 488 -State 1190 +State 1198 - 427 expr: expr '.' "?[" expr ']' . + 435 expr: expr '.' "?[" expr ']' . - $default reduce using rule 427 (expr) + $default reduce using rule 435 (expr) -State 1191 +State 1199 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 476 | expr '.' "$f" '(' expr . ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 484 | expr '.' "$f" '(' expr . ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -37225,28 +37399,28 @@ State 1191 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1288 + ')' shift, and go to state 1296 -State 1192 +State 1200 - 369 expr_field: expr '.' "name" '(' ')' . + 377 expr_field: expr '.' "name" '(' ')' . - $default reduce using rule 369 (expr_field) + $default reduce using rule 377 (expr_field) -State 1193 +State 1201 - 309 expr_list: expr_list . ',' expr - 370 expr_field: expr '.' "name" '(' expr_list . ')' + 317 expr_list: expr_list . ',' expr + 378 expr_field: expr '.' "name" '(' expr_list . ')' - ',' shift, and go to state 1041 - ')' shift, and go to state 1289 + ',' shift, and go to state 1047 + ')' shift, and go to state 1297 -State 1194 +State 1202 - 478 expr_mtag: expr '.' '.' "$f" '(' . expr ')' + 486 expr_mtag: expr '.' '.' "$f" '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -37343,7 +37517,7 @@ State 1194 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1290 + expr go to state 1298 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -37355,60 +37529,60 @@ State 1194 array_comprehension go to state 488 -State 1195 +State 1203 - 425 expr: expr '.' '[' expr ']' . + 433 expr: expr '.' '[' expr ']' . - $default reduce using rule 425 (expr) + $default reduce using rule 433 (expr) -State 1196 +State 1204 - 375 expr_field: expr '.' $@25 error $@26 . + 383 expr_field: expr '.' $@25 error $@26 . - $default reduce using rule 375 (expr_field) + $default reduce using rule 383 (expr_field) -State 1197 +State 1205 - 371 expr_field: expr '.' basic_type_declaration '(' ')' . + 379 expr_field: expr '.' basic_type_declaration '(' ')' . - $default reduce using rule 371 (expr_field) + $default reduce using rule 379 (expr_field) -State 1198 +State 1206 - 309 expr_list: expr_list . ',' expr - 372 expr_field: expr '.' basic_type_declaration '(' expr_list . ')' + 317 expr_list: expr_list . ',' expr + 380 expr_field: expr '.' basic_type_declaration '(' expr_list . ')' - ',' shift, and go to state 1041 - ')' shift, and go to state 1291 + ',' shift, and go to state 1047 + ')' shift, and go to state 1299 -State 1199 +State 1207 - 705 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type '>' $@60 . + 717 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type '>' $@60 . - $default reduce using rule 705 (type_declaration_no_options_no_dim) + $default reduce using rule 717 (type_declaration_no_options_no_dim) -State 1200 +State 1208 - 712 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type '>' $@64 . + 724 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type '>' $@64 . - $default reduce using rule 712 (type_declaration_no_options_no_dim) + $default reduce using rule 724 (type_declaration_no_options_no_dim) -State 1201 +State 1209 - 719 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type '>' $@68 . + 731 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type '>' $@68 . - $default reduce using rule 719 (type_declaration_no_options_no_dim) + $default reduce using rule 731 (type_declaration_no_options_no_dim) -State 1202 +State 1210 - 673 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' . optional_expr_list ')' + 685 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' . optional_expr_list ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -37489,12 +37663,12 @@ State 1202 '@' shift, and go to state 461 '{' shift, and go to state 462 - $default reduce using rule 250 (optional_expr_list) + $default reduce using rule 258 (optional_expr_list) string_builder go to state 463 expr_reader go to state 464 expr_call_pipe go to state 465 - optional_expr_list go to state 1292 + optional_expr_list go to state 1300 name_in_namespace go to state 466 expr_new go to state 467 expr_cast go to state 468 @@ -37521,55 +37695,55 @@ State 1202 array_comprehension go to state 488 -State 1203 +State 1211 - 255 type_declaration_no_options_list: type_declaration_no_options_list c_or_s type_declaration . - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 263 type_declaration_no_options_list: type_declaration_no_options_list c_or_s type_declaration . + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - $default reduce using rule 255 (type_declaration_no_options_list) + $default reduce using rule 263 (type_declaration_no_options_list) -State 1204 +State 1212 - 743 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' . + 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' . - $default reduce using rule 743 (bitfield_alias_declaration) + $default reduce using rule 755 (bitfield_alias_declaration) -State 1205 +State 1213 - 733 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' . + 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' . - $default reduce using rule 733 (tuple_alias_declaration) + $default reduce using rule 745 (tuple_alias_declaration) -State 1206 +State 1214 - 738 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' . + 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' . - $default reduce using rule 738 (variant_alias_declaration) + $default reduce using rule 750 (variant_alias_declaration) -State 1207 +State 1215 - 602 variable_name_with_pos_list: "$i" '(' expr ')' . + 614 variable_name_with_pos_list: "$i" '(' expr ')' . - $default reduce using rule 602 (variable_name_with_pos_list) + $default reduce using rule 614 (variable_name_with_pos_list) -State 1208 +State 1216 - 605 variable_name_with_pos_list: variable_name_with_pos_list ',' "name" "aka" . "name" + 617 variable_name_with_pos_list: variable_name_with_pos_list ',' "name" "aka" . "name" - "name" shift, and go to state 1293 + "name" shift, and go to state 1301 -State 1209 +State 1217 - 526 variable_declaration: variable_name_with_pos_list ':' type_declaration copy_or_move . expr + 534 variable_declaration: variable_name_with_pos_list ':' type_declaration copy_or_move . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -37666,7 +37840,7 @@ State 1209 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1294 + expr go to state 1302 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -37678,76 +37852,76 @@ State 1209 array_comprehension go to state 488 -State 1210 +State 1218 - 278 expression_try_catch: "try" expression_block "recover" expression_block . + 286 expression_try_catch: "try" expression_block "recover" expression_block . - $default reduce using rule 278 (expression_try_catch) + $default reduce using rule 286 (expression_try_catch) -State 1211 +State 1219 - 83 expression_with_alias: "assume" "name" '=' expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 91 expression_with_alias: "assume" "name" '=' expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -37785,72 +37959,72 @@ State 1211 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 83 (expression_with_alias) + $default reduce using rule 91 (expression_with_alias) -State 1212 +State 1220 - 75 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr . ')' expression_else_one_liner ';' - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 83 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr . ')' expression_else_one_liner SEMICOLON + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -37887,72 +38061,72 @@ State 1212 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1295 + ')' shift, and go to state 1303 -State 1213 +State 1221 - 74 expression_if_then_else: $@2 if_or_static_if '(' expr . ')' optional_semis expression_block expression_else - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 82 expression_if_then_else: $@2 if_or_static_if '(' expr . ')' optional_emit_semis expression_block expression_else + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -37989,82 +38163,82 @@ State 1213 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1296 + ')' shift, and go to state 1304 -State 1214 +State 1222 - 77 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list . "in" expr_list ')' optional_semis expression_block - 604 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" - 605 | variable_name_with_pos_list . ',' "name" "aka" "name" + 85 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list . "in" expr_list ')' optional_emit_semis expression_block + 616 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" + 617 | variable_name_with_pos_list . ',' "name" "aka" "name" - "in" shift, and go to state 1297 - ',' shift, and go to state 880 + "in" shift, and go to state 1305 + ',' shift, and go to state 886 -State 1215 +State 1223 - 80 expression_while_loop: $@4 "while" '(' expr . ')' optional_semis expression_block - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 88 expression_while_loop: $@4 "while" '(' expr . ')' optional_emit_semis expression_block + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -38101,72 +38275,72 @@ State 1215 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1298 + ')' shift, and go to state 1306 -State 1216 +State 1224 - 82 expression_with: $@5 "with" '(' expr . ')' optional_semis expression_block - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 90 expression_with: $@5 "with" '(' expr . ')' optional_emit_semis expression_block + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -38203,111 +38377,111 @@ State 1216 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1299 + ')' shift, and go to state 1307 -State 1217 +State 1225 - 223 expression_block_finally: "finally" $@7 . '{' expressions $@8 '}' + 231 expression_block_finally: "finally" $@7 . '{' expressions $@8 '}' - '{' shift, and go to state 1300 + '{' shift, and go to state 1308 -State 1218 +State 1226 - 286 tuple_expansion: "name" . + 294 tuple_expansion: "name" . - $default reduce using rule 286 (tuple_expansion) + $default reduce using rule 294 (tuple_expansion) -State 1219 +State 1227 - 287 tuple_expansion: tuple_expansion . ',' "name" - 288 tuple_expansion_variable_declaration: '(' tuple_expansion . ')' ':' type_declaration_no_options copy_or_move_or_clone expr ';' - 289 | '(' tuple_expansion . ')' optional_ref copy_or_move_or_clone expr ';' + 295 tuple_expansion: tuple_expansion . ',' "name" + 296 tuple_expansion_variable_declaration: '(' tuple_expansion . ')' ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + 297 | '(' tuple_expansion . ')' optional_ref copy_or_move_or_clone expr SEMICOLON - ',' shift, and go to state 1301 - ')' shift, and go to state 1302 + ',' shift, and go to state 1309 + ')' shift, and go to state 1310 -State 1220 +State 1228 - 292 expression_let: kwd_let optional_in_scope '{' variable_declaration_list . '}' - 541 variable_declaration_list: variable_declaration_list . ';' - 542 | variable_declaration_list . let_variable_declaration + 300 expression_let: kwd_let optional_in_scope '{' variable_declaration_list . '}' + 549 variable_declaration_list: variable_declaration_list . ';' + 550 | variable_declaration_list . let_variable_declaration "$i" shift, and go to state 531 "name" shift, and go to state 532 - ';' shift, and go to state 1303 - '}' shift, and go to state 1304 + ';' shift, and go to state 1311 + '}' shift, and go to state 1312 let_variable_name_with_pos_list go to state 533 - let_variable_declaration go to state 1305 + let_variable_declaration go to state 1313 -State 1221 +State 1229 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 562 enum_expression: "name" '=' expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 570 enum_expression: "name" '=' expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -38345,219 +38519,222 @@ State 1221 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 562 (enum_expression) + $default reduce using rule 570 (enum_expression) -State 1222 - - 567 enum_list: enum_list commas enum_expression . +State 1230 - $default reduce using rule 567 (enum_list) + 575 enum_list: enum_list commas enum_expression . + $default reduce using rule 575 (enum_list) -State 1223 - 585 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_commas '{' $@40 enum_list optional_commas $@41 . '}' +State 1231 - '}' shift, and go to state 1306 + 597 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_emit_commas '{' $@40 enum_list optional_commas $@41 . '}' + '}' shift, and go to state 1314 -State 1224 - 501 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" . optional_constant $@34 function_declaration_header ';' +State 1232 - "const" shift, and go to state 1307 + 509 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" . optional_constant $@34 function_declaration_header ';' - $default reduce using rule 489 (optional_constant) + "const" shift, and go to state 1315 - optional_constant go to state 1308 + $default reduce using rule 497 (optional_constant) + optional_constant go to state 1316 -State 1225 - 503 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable . optional_override optional_constant $@35 function_declaration_header expression_block +State 1233 - "override" shift, and go to state 1226 - "sealed" shift, and go to state 1227 + 511 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable . optional_override optional_constant $@35 function_declaration_header expression_block - $default reduce using rule 486 (optional_override) + "override" shift, and go to state 1234 + "sealed" shift, and go to state 1235 - optional_override go to state 1309 + $default reduce using rule 494 (optional_override) + optional_override go to state 1317 -State 1226 - 487 optional_override: "override" . +State 1234 - $default reduce using rule 487 (optional_override) + 495 optional_override: "override" . + $default reduce using rule 495 (optional_override) -State 1227 - 488 optional_override: "sealed" . +State 1235 - $default reduce using rule 488 (optional_override) + 496 optional_override: "sealed" . + $default reduce using rule 496 (optional_override) -State 1228 - 496 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override . optional_public_or_private_member_variable variable_declaration +State 1236 - "public" shift, and go to state 1112 - "private" shift, and go to state 1113 + 504 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override . optional_public_or_private_member_variable variable_declaration - $default reduce using rule 491 (optional_public_or_private_member_variable) + "public" shift, and go to state 1120 + "private" shift, and go to state 1121 - optional_public_or_private_member_variable go to state 1310 + $default reduce using rule 499 (optional_public_or_private_member_variable) + optional_public_or_private_member_variable go to state 1318 -State 1229 - 537 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" "aka" "name" . +State 1237 - $default reduce using rule 537 (let_variable_name_with_pos_list) + 545 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" "aka" "name" . + $default reduce using rule 545 (let_variable_name_with_pos_list) -State 1230 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 544 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr . ';' +State 1238 - "is" shift, and go to state 603 - "as" shift, and go to state 604 - "<<" shift, and go to state 605 - ">>" shift, and go to state 606 - "++" shift, and go to state 607 - "--" shift, and go to state 608 - "<=" shift, and go to state 609 - ">=" shift, and go to state 610 - "==" shift, and go to state 611 - "!=" shift, and go to state 612 - "->" shift, and go to state 613 - "??" shift, and go to state 614 - "?." shift, and go to state 615 - "?[" shift, and go to state 616 - "<|" shift, and go to state 617 - "|>" shift, and go to state 618 - "<<<" shift, and go to state 619 - ">>>" shift, and go to state 620 - "&&" shift, and go to state 621 - "||" shift, and go to state 622 - "^^" shift, and go to state 623 - ".." shift, and go to state 624 - '?' shift, and go to state 625 - '|' shift, and go to state 626 - '^' shift, and go to state 627 - '&' shift, and go to state 628 - '<' shift, and go to state 629 - '>' shift, and go to state 630 - '-' shift, and go to state 631 - '+' shift, and go to state 632 - '*' shift, and go to state 633 - '/' shift, and go to state 634 - '%' shift, and go to state 635 - '.' shift, and go to state 636 - '[' shift, and go to state 637 - ';' shift, and go to state 1311 + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 552 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr . SEMICOLON + + "is" shift, and go to state 603 + "as" shift, and go to state 604 + "<<" shift, and go to state 605 + ">>" shift, and go to state 606 + "++" shift, and go to state 607 + "--" shift, and go to state 608 + "<=" shift, and go to state 609 + ">=" shift, and go to state 610 + "==" shift, and go to state 611 + "!=" shift, and go to state 612 + "->" shift, and go to state 613 + "??" shift, and go to state 614 + "?." shift, and go to state 615 + "?[" shift, and go to state 616 + "<|" shift, and go to state 617 + "|>" shift, and go to state 618 + "<<<" shift, and go to state 619 + ">>>" shift, and go to state 620 + "&&" shift, and go to state 621 + "||" shift, and go to state 622 + "^^" shift, and go to state 623 + ".." shift, and go to state 624 + "emitted ;" shift, and go to state 690 + '?' shift, and go to state 625 + '|' shift, and go to state 626 + '^' shift, and go to state 627 + '&' shift, and go to state 628 + '<' shift, and go to state 629 + '>' shift, and go to state 630 + '-' shift, and go to state 631 + '+' shift, and go to state 632 + '*' shift, and go to state 633 + '/' shift, and go to state 634 + '%' shift, and go to state 635 + '.' shift, and go to state 636 + '[' shift, and go to state 637 + ';' shift, and go to state 691 + + SEMICOLON go to state 1319 -State 1231 +State 1239 - 545 let_variable_declaration: let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' . + 553 let_variable_declaration: let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr SEMICOLON . - $default reduce using rule 545 (let_variable_declaration) + $default reduce using rule 553 (let_variable_declaration) -State 1232 +State 1240 - 769 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 . '(' use_initializer optional_make_struct_dim_decl ')' + 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 . '(' use_initializer optional_make_struct_dim_decl ')' - '(' shift, and go to state 1312 + '(' shift, and go to state 1320 -State 1233 +State 1241 - 772 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 . '(' use_initializer optional_make_struct_dim_decl ')' + 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 . '(' use_initializer optional_make_struct_dim_decl ')' - '(' shift, and go to state 1313 + '(' shift, and go to state 1321 -State 1234 +State 1242 - 263 new_type_declaration: '<' $@11 type_declaration '>' $@12 . + 271 new_type_declaration: '<' $@11 type_declaration '>' $@12 . - $default reduce using rule 263 (new_type_declaration) + $default reduce using rule 271 (new_type_declaration) -State 1235 +State 1243 - 269 expr_new: "new" new_type_declaration '(' "uninitialized" make_struct_single ')' . + 277 expr_new: "new" new_type_declaration '(' "uninitialized" make_struct_single ')' . - $default reduce using rule 269 (expr_new) + $default reduce using rule 277 (expr_new) -State 1236 +State 1244 - 306 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' . expr ')' + 314 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -38654,7 +38831,7 @@ State 1236 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1314 + expr go to state 1322 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -38666,83 +38843,83 @@ State 1236 array_comprehension go to state 488 -State 1237 +State 1245 - 307 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" . '>' '(' expr ')' + 315 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" . '>' '(' expr ')' - '>' shift, and go to state 1315 + '>' shift, and go to state 1323 -State 1238 +State 1246 - 304 expr_type_decl: "type" '<' $@19 type_declaration '>' $@20 . + 312 expr_type_decl: "type" '<' $@19 type_declaration '>' $@20 . - $default reduce using rule 304 (expr_type_decl) + $default reduce using rule 312 (expr_type_decl) -State 1239 +State 1247 - 788 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' . $@96 '(' use_initializer optional_make_struct_dim_decl ')' + 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' . $@96 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 787 ($@96) + $default reduce using rule 799 ($@96) - $@96 go to state 1316 + $@96 go to state 1324 -State 1240 +State 1248 - 791 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' . $@98 '(' use_initializer optional_make_struct_dim_decl ')' + 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' . $@98 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 790 ($@98) + $default reduce using rule 802 ($@98) - $@98 go to state 1317 + $@98 go to state 1325 -State 1241 +State 1249 - 794 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' . $@100 '(' make_variant_dim ')' + 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' . $@100 '(' make_variant_dim ')' - $default reduce using rule 793 ($@100) + $default reduce using rule 805 ($@100) - $@100 go to state 1318 + $@100 go to state 1326 -State 1242 +State 1250 - 798 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 . '(' optional_expr_list ')' + 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 . '(' optional_expr_list ')' - '(' shift, and go to state 1319 + '(' shift, and go to state 1327 -State 1243 +State 1251 - 807 make_table_decl: "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list . ')' + 819 make_table_decl: "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list . ')' - ')' shift, and go to state 1320 + ')' shift, and go to state 1328 -State 1244 +State 1252 - 253 optional_expr_map_tuple_list: expr_map_tuple_list . optional_comma - 804 expr_map_tuple_list: expr_map_tuple_list . ',' make_map_tuple + 261 optional_expr_map_tuple_list: expr_map_tuple_list . optional_comma + 816 expr_map_tuple_list: expr_map_tuple_list . ',' make_map_tuple - ',' shift, and go to state 783 + ',' shift, and go to state 787 - $default reduce using rule 811 (optional_comma) + $default reduce using rule 823 (optional_comma) - optional_comma go to state 1321 + optional_comma go to state 1329 -State 1245 +State 1253 - 808 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' . '(' optional_expr_map_tuple_list ')' + 820 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' . '(' optional_expr_map_tuple_list ')' - '(' shift, and go to state 1322 + '(' shift, and go to state 1330 -State 1246 +State 1254 - 295 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 . expr + 303 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -38839,7 +39016,7 @@ State 1246 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1323 + expr go to state 1331 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -38851,9 +39028,9 @@ State 1246 array_comprehension go to state 488 -State 1247 +State 1255 - 298 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 . expr + 306 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -38950,7 +39127,7 @@ State 1247 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1324 + expr go to state 1332 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -38962,9 +39139,9 @@ State 1247 array_comprehension go to state 488 -State 1248 +State 1256 - 301 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 . expr + 309 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -39061,7 +39238,7 @@ State 1248 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1325 + expr go to state 1333 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -39073,42 +39250,42 @@ State 1248 array_comprehension go to state 488 -State 1249 +State 1257 - 802 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 . '(' expr_list optional_comma ')' + 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 . '(' expr_list optional_comma ')' - '(' shift, and go to state 1326 + '(' shift, and go to state 1334 -State 1250 +State 1258 - 778 make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' $@92 . use_initializer + 790 make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' $@92 . use_initializer - "uninitialized" shift, and go to state 1327 + "uninitialized" shift, and go to state 1335 - $default reduce using rule 765 (use_initializer) + $default reduce using rule 777 (use_initializer) - use_initializer go to state 1328 + use_initializer go to state 1336 -State 1251 +State 1259 - 784 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 . '(' use_initializer optional_make_struct_dim_decl ')' + 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 . '(' use_initializer optional_make_struct_dim_decl ')' - '(' shift, and go to state 1329 + '(' shift, and go to state 1337 -State 1252 +State 1260 - 775 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 . '(' make_variant_dim ')' + 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 . '(' make_variant_dim ')' - '(' shift, and go to state 1330 + '(' shift, and go to state 1338 -State 1253 +State 1261 - 465 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' . ')' - 466 | "generator" '<' type_declaration_no_options '>' optional_capture_list '(' . expr ')' + 473 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' . ')' + 474 | "generator" '<' type_declaration_no_options '>' optional_capture_list '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -39185,7 +39362,7 @@ State 1253 '!' shift, and go to state 457 '[' shift, and go to state 458 '(' shift, and go to state 459 - ')' shift, and go to state 1331 + ')' shift, and go to state 1339 '$' shift, and go to state 460 '@' shift, and go to state 461 '{' shift, and go to state 462 @@ -39206,7 +39383,7 @@ State 1253 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1332 + expr go to state 1340 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -39218,44 +39395,44 @@ State 1253 array_comprehension go to state 488 -State 1254 +State 1262 - 467 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list optional_semis . expression_block + 475 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list optional_emit_semis . expression_block - $default reduce using rule 224 ($@9) + $default reduce using rule 232 ($@9) - expression_block go to state 1333 + expression_block go to state 1341 $@9 go to state 332 -State 1255 +State 1263 - 474 expr_mtag: "$c" '(' expr ')' '(' ')' . + 482 expr_mtag: "$c" '(' expr ')' '(' ')' . - $default reduce using rule 474 (expr_mtag) + $default reduce using rule 482 (expr_mtag) -State 1256 +State 1264 - 309 expr_list: expr_list . ',' expr - 475 expr_mtag: "$c" '(' expr ')' '(' expr_list . ')' + 317 expr_list: expr_list . ',' expr + 483 expr_mtag: "$c" '(' expr ')' '(' expr_list . ')' - ',' shift, and go to state 1041 - ')' shift, and go to state 1334 + ',' shift, and go to state 1047 + ')' shift, and go to state 1342 -State 1257 +State 1265 - 309 expr_list: expr_list . ',' expr - 813 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list . ')' ';' expr array_comprehension_where ']' + 317 expr_list: expr_list . ',' expr + 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list . ')' ';' expr array_comprehension_where ']' - ',' shift, and go to state 1041 - ')' shift, and go to state 1335 + ',' shift, and go to state 1047 + ')' shift, and go to state 1343 -State 1258 +State 1266 - 814 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" . expr_list ')' ';' expr array_comprehension_where ']' + 826 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" . expr_list ')' ';' expr array_comprehension_where ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -39344,7 +39521,7 @@ State 1258 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 1336 + expr_list go to state 1344 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -39365,80 +39542,80 @@ State 1258 array_comprehension go to state 488 -State 1259 +State 1267 - 359 func_addr_name: "$i" '(' expr ')' . + 367 func_addr_name: "$i" '(' expr ')' . - $default reduce using rule 359 (func_addr_name) + $default reduce using rule 367 (func_addr_name) -State 1260 +State 1268 - 483 expr_mtag: '@' '@' "$c" '(' expr ')' . + 491 expr_mtag: '@' '@' "$c" '(' expr ')' . - $default reduce using rule 483 (expr_mtag) + $default reduce using rule 491 (expr_mtag) -State 1261 +State 1269 - 363 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' . $@22 func_addr_name + 371 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' . $@22 func_addr_name - $default reduce using rule 362 ($@22) + $default reduce using rule 370 ($@22) - $@22 go to state 1337 + $@22 go to state 1345 -State 1262 +State 1270 - 366 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type . '>' $@24 func_addr_name + 374 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type . '>' $@24 func_addr_name - '>' shift, and go to state 1338 + '>' shift, and go to state 1346 -State 1263 +State 1271 - 309 expr_list: expr_list . ',' expr - 815 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list . ')' ';' make_map_tuple array_comprehension_where '}' + 317 expr_list: expr_list . ',' expr + 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list . ')' ';' make_map_tuple array_comprehension_where '}' - ',' shift, and go to state 1041 - ')' shift, and go to state 1339 + ',' shift, and go to state 1047 + ')' shift, and go to state 1347 -State 1264 +State 1272 - 753 make_struct_fields: "$f" '(' expr ')' . copy_or_move expr - 754 | "$f" '(' expr ')' . ":=" expr + 765 make_struct_fields: "$f" '(' expr ')' . copy_or_move expr + 766 | "$f" '(' expr ')' . ":=" expr - "<-" shift, and go to state 879 - ":=" shift, and go to state 1340 - '=' shift, and go to state 881 + "<-" shift, and go to state 885 + ":=" shift, and go to state 1348 + '=' shift, and go to state 887 - copy_or_move go to state 1341 + copy_or_move go to state 1349 -State 1265 +State 1273 - 354 expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' ')' . + 362 expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' ')' . - $default reduce using rule 354 (expr_named_call) + $default reduce using rule 362 (expr_named_call) -State 1266 +State 1274 - 355 expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields . ']' ')' - 751 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr - 752 | make_struct_fields . ',' "name" ":=" expr - 755 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr - 756 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr + 363 expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields . ']' ')' + 763 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 764 | make_struct_fields . ',' "name" ":=" expr + 767 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 768 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr - ',' shift, and go to state 1012 - ']' shift, and go to state 1342 + ',' shift, and go to state 1018 + ']' shift, and go to state 1350 -State 1267 +State 1275 - 755 make_struct_fields: make_struct_fields ',' "$f" '(' . expr ')' copy_or_move expr - 756 | make_struct_fields ',' "$f" '(' . expr ')' ":=" expr + 767 make_struct_fields: make_struct_fields ',' "$f" '(' . expr ')' copy_or_move expr + 768 | make_struct_fields ',' "$f" '(' . expr ')' ":=" expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -39535,7 +39712,7 @@ State 1267 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1343 + expr go to state 1351 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -39547,9 +39724,9 @@ State 1267 array_comprehension go to state 488 -State 1268 +State 1276 - 752 make_struct_fields: make_struct_fields ',' "name" ":=" . expr + 764 make_struct_fields: make_struct_fields ',' "name" ":=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -39646,7 +39823,7 @@ State 1268 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1344 + expr go to state 1352 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -39658,9 +39835,9 @@ State 1268 array_comprehension go to state 488 -State 1269 +State 1277 - 751 make_struct_fields: make_struct_fields ',' "name" copy_or_move . expr + 763 make_struct_fields: make_struct_fields ',' "name" copy_or_move . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -39757,7 +39934,7 @@ State 1269 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1345 + expr go to state 1353 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -39769,134 +39946,134 @@ State 1269 array_comprehension go to state 488 -State 1270 +State 1278 - 318 capture_entry: "<-" "name" . + 326 capture_entry: "<-" "name" . - $default reduce using rule 318 (capture_entry) + $default reduce using rule 326 (capture_entry) -State 1271 +State 1279 - 319 capture_entry: ":=" "name" . + 327 capture_entry: ":=" "name" . - $default reduce using rule 319 (capture_entry) + $default reduce using rule 327 (capture_entry) -State 1272 +State 1280 - 320 capture_entry: "name" '(' . "name" ')' + 328 capture_entry: "name" '(' . "name" ')' - "name" shift, and go to state 1346 + "name" shift, and go to state 1354 -State 1273 +State 1281 - 317 capture_entry: '=' "name" . + 325 capture_entry: '=' "name" . - $default reduce using rule 317 (capture_entry) + $default reduce using rule 325 (capture_entry) -State 1274 +State 1282 - 316 capture_entry: '&' "name" . + 324 capture_entry: '&' "name" . - $default reduce using rule 316 (capture_entry) + $default reduce using rule 324 (capture_entry) -State 1275 +State 1283 - 322 capture_list: capture_list ',' . capture_entry + 330 capture_list: capture_list ',' . capture_entry - "<-" shift, and go to state 1170 - ":=" shift, and go to state 1171 - "name" shift, and go to state 1172 - '=' shift, and go to state 1173 - '&' shift, and go to state 1174 + "<-" shift, and go to state 1178 + ":=" shift, and go to state 1179 + "name" shift, and go to state 1180 + '=' shift, and go to state 1181 + '&' shift, and go to state 1182 - capture_entry go to state 1347 + capture_entry go to state 1355 -State 1276 +State 1284 - 324 optional_capture_list: "capture" '(' capture_list ')' . + 332 optional_capture_list: "capture" '(' capture_list ')' . - $default reduce using rule 324 (optional_capture_list) + $default reduce using rule 332 (optional_capture_list) -State 1277 +State 1285 - 325 expr_full_block: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_semis . block_or_simple_block + 333 expr_full_block: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_emit_semis . block_or_simple_block - "=>" shift, and go to state 1348 + "=>" shift, and go to state 1356 - $default reduce using rule 224 ($@9) + $default reduce using rule 232 ($@9) - expression_block go to state 1349 + expression_block go to state 1357 $@9 go to state 332 - block_or_simple_block go to state 1350 + block_or_simple_block go to state 1358 -State 1278 +State 1286 - 326 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type . optional_semis expression_block + 334 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type . optional_emit_semis expression_block - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 171 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 63 (optional_emit_semis) - semis go to state 172 - optional_semis go to state 1351 + emit_semis go to state 172 + optional_emit_semis go to state 1359 -State 1279 +State 1287 - 440 expr: expr "is" "type" '<' $@27 type_declaration_no_options . '>' $@28 + 448 expr: expr "is" "type" '<' $@27 type_declaration_no_options . '>' $@28 - '>' shift, and go to state 1352 + '>' shift, and go to state 1360 -State 1280 +State 1288 - 482 expr_mtag: expr "is" "$f" '(' expr ')' . + 490 expr_mtag: expr "is" "$f" '(' expr ')' . - $default reduce using rule 482 (expr_mtag) + $default reduce using rule 490 (expr_mtag) -State 1281 +State 1289 - 446 expr: expr "as" "type" '<' $@29 type_declaration . '>' $@30 - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 454 expr: expr "as" "type" '<' $@29 type_declaration . '>' $@30 + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - '>' shift, and go to state 1353 + '>' shift, and go to state 1361 -State 1282 +State 1290 - 480 expr_mtag: expr "as" "$f" '(' expr ')' . + 488 expr_mtag: expr "as" "$f" '(' expr ')' . - $default reduce using rule 480 (expr_mtag) + $default reduce using rule 488 (expr_mtag) -State 1283 +State 1291 - 357 expr_method_call: expr "->" "name" '(' expr_list ')' . + 365 expr_method_call: expr "->" "name" '(' expr_list ')' . - $default reduce using rule 357 (expr_method_call) + $default reduce using rule 365 (expr_method_call) -State 1284 +State 1292 - 477 expr_mtag: expr "?." "$f" '(' expr ')' . + 485 expr_mtag: expr "?." "$f" '(' expr ')' . - $default reduce using rule 477 (expr_mtag) + $default reduce using rule 485 (expr_mtag) -State 1285 +State 1293 - 451 expr: expr '?' "as" "type" '<' $@31 . type_declaration '>' $@32 + 459 expr: expr '?' "as" "type" '<' $@31 . type_declaration '>' $@32 "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -39949,72 +40126,72 @@ State 1285 bitfield_type_declaration go to state 267 type_declaration_no_options go to state 268 type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 1354 + type_declaration go to state 1362 -State 1286 +State 1294 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 481 | expr '?' "as" "$f" '(' expr . ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 489 | expr '?' "as" "$f" '(' expr . ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -40051,72 +40228,72 @@ State 1286 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1355 + ')' shift, and go to state 1363 -State 1287 +State 1295 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 479 | expr '.' "?." "$f" '(' expr . ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 487 | expr '.' "?." "$f" '(' expr . ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -40153,86 +40330,86 @@ State 1287 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1356 + ')' shift, and go to state 1364 -State 1288 +State 1296 - 476 expr_mtag: expr '.' "$f" '(' expr ')' . + 484 expr_mtag: expr '.' "$f" '(' expr ')' . - $default reduce using rule 476 (expr_mtag) + $default reduce using rule 484 (expr_mtag) -State 1289 +State 1297 - 370 expr_field: expr '.' "name" '(' expr_list ')' . + 378 expr_field: expr '.' "name" '(' expr_list ')' . - $default reduce using rule 370 (expr_field) + $default reduce using rule 378 (expr_field) -State 1290 +State 1298 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 478 | expr '.' '.' "$f" '(' expr . ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 486 | expr '.' '.' "$f" '(' expr . ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -40269,93 +40446,93 @@ State 1290 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1357 + ')' shift, and go to state 1365 -State 1291 +State 1299 - 372 expr_field: expr '.' basic_type_declaration '(' expr_list ')' . + 380 expr_field: expr '.' basic_type_declaration '(' expr_list ')' . - $default reduce using rule 372 (expr_field) + $default reduce using rule 380 (expr_field) -State 1292 +State 1300 - 673 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list . ')' + 685 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list . ')' - ')' shift, and go to state 1358 + ')' shift, and go to state 1366 -State 1293 +State 1301 - 605 variable_name_with_pos_list: variable_name_with_pos_list ',' "name" "aka" "name" . + 617 variable_name_with_pos_list: variable_name_with_pos_list ',' "name" "aka" "name" . - $default reduce using rule 605 (variable_name_with_pos_list) + $default reduce using rule 617 (variable_name_with_pos_list) -State 1294 +State 1302 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 526 variable_declaration: variable_name_with_pos_list ':' type_declaration copy_or_move expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 534 variable_declaration: variable_name_with_pos_list ':' type_declaration copy_or_move expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -40393,35 +40570,35 @@ State 1294 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 526 (variable_declaration) + $default reduce using rule 534 (variable_declaration) -State 1295 +State 1303 - 75 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' . expression_else_one_liner ';' + 83 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' . expression_else_one_liner SEMICOLON - "else" shift, and go to state 1359 + "else" shift, and go to state 1367 - $default reduce using rule 62 (expression_else_one_liner) + $default reduce using rule 70 (expression_else_one_liner) - expression_else_one_liner go to state 1360 + expression_else_one_liner go to state 1368 -State 1296 +State 1304 - 74 expression_if_then_else: $@2 if_or_static_if '(' expr ')' . optional_semis expression_block expression_else + 82 expression_if_then_else: $@2 if_or_static_if '(' expr ')' . optional_emit_semis expression_block expression_else - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 171 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 63 (optional_emit_semis) - semis go to state 172 - optional_semis go to state 1361 + emit_semis go to state 172 + optional_emit_semis go to state 1369 -State 1297 +State 1305 - 77 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" . expr_list ')' optional_semis expression_block + 85 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" . expr_list ')' optional_emit_semis expression_block "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -40510,7 +40687,7 @@ State 1297 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 1362 + expr_list go to state 1370 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -40531,217 +40708,217 @@ State 1297 array_comprehension go to state 488 -State 1298 +State 1306 - 80 expression_while_loop: $@4 "while" '(' expr ')' . optional_semis expression_block + 88 expression_while_loop: $@4 "while" '(' expr ')' . optional_emit_semis expression_block - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 171 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 63 (optional_emit_semis) - semis go to state 172 - optional_semis go to state 1363 + emit_semis go to state 172 + optional_emit_semis go to state 1371 -State 1299 +State 1307 - 82 expression_with: $@5 "with" '(' expr ')' . optional_semis expression_block + 90 expression_with: $@5 "with" '(' expr ')' . optional_emit_semis expression_block - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 171 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 63 (optional_emit_semis) - semis go to state 172 - optional_semis go to state 1364 + emit_semis go to state 172 + optional_emit_semis go to state 1372 -State 1300 +State 1308 - 223 expression_block_finally: "finally" $@7 '{' . expressions $@8 '}' + 231 expression_block_finally: "finally" $@7 '{' . expressions $@8 '}' - $default reduce using rule 247 (expressions) + $default reduce using rule 255 (expressions) - expressions go to state 1365 + expressions go to state 1373 -State 1301 +State 1309 - 287 tuple_expansion: tuple_expansion ',' . "name" + 295 tuple_expansion: tuple_expansion ',' . "name" - "name" shift, and go to state 1366 + "name" shift, and go to state 1374 -State 1302 +State 1310 - 288 tuple_expansion_variable_declaration: '(' tuple_expansion ')' . ':' type_declaration_no_options copy_or_move_or_clone expr ';' - 289 | '(' tuple_expansion ')' . optional_ref copy_or_move_or_clone expr ';' + 296 tuple_expansion_variable_declaration: '(' tuple_expansion ')' . ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + 297 | '(' tuple_expansion ')' . optional_ref copy_or_move_or_clone expr SEMICOLON - ':' shift, and go to state 1367 + ':' shift, and go to state 1375 '&' shift, and go to state 409 - $default reduce using rule 531 (optional_ref) + $default reduce using rule 539 (optional_ref) - optional_ref go to state 1368 + optional_ref go to state 1376 -State 1303 +State 1311 - 541 variable_declaration_list: variable_declaration_list ';' . + 549 variable_declaration_list: variable_declaration_list ';' . - $default reduce using rule 541 (variable_declaration_list) + $default reduce using rule 549 (variable_declaration_list) -State 1304 +State 1312 - 292 expression_let: kwd_let optional_in_scope '{' variable_declaration_list '}' . + 300 expression_let: kwd_let optional_in_scope '{' variable_declaration_list '}' . - $default reduce using rule 292 (expression_let) + $default reduce using rule 300 (expression_let) -State 1305 +State 1313 - 542 variable_declaration_list: variable_declaration_list let_variable_declaration . + 550 variable_declaration_list: variable_declaration_list let_variable_declaration . - $default reduce using rule 542 (variable_declaration_list) + $default reduce using rule 550 (variable_declaration_list) -State 1306 +State 1314 - 585 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_commas '{' $@40 enum_list optional_commas $@41 '}' . + 597 enum_declaration: optional_annotation_list "enum" $@39 optional_public_or_private_enum enum_name optional_enum_basic_type_declaration optional_emit_commas '{' $@40 enum_list optional_commas $@41 '}' . - $default reduce using rule 585 (enum_declaration) + $default reduce using rule 597 (enum_declaration) -State 1307 +State 1315 - 490 optional_constant: "const" . + 498 optional_constant: "const" . - $default reduce using rule 490 (optional_constant) + $default reduce using rule 498 (optional_constant) -State 1308 +State 1316 - 501 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant . $@34 function_declaration_header ';' + 509 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant . $@34 function_declaration_header ';' - $default reduce using rule 500 ($@34) + $default reduce using rule 508 ($@34) - $@34 go to state 1369 + $@34 go to state 1377 -State 1309 +State 1317 - 503 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override . optional_constant $@35 function_declaration_header expression_block + 511 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override . optional_constant $@35 function_declaration_header expression_block - "const" shift, and go to state 1307 + "const" shift, and go to state 1315 - $default reduce using rule 489 (optional_constant) + $default reduce using rule 497 (optional_constant) - optional_constant go to state 1370 + optional_constant go to state 1378 -State 1310 +State 1318 - 496 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable . variable_declaration + 504 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable . variable_declaration "$i" shift, and go to state 673 "name" shift, and go to state 674 - variable_declaration go to state 1371 + variable_declaration go to state 1379 variable_name_with_pos_list go to state 676 -State 1311 +State 1319 - 544 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr ';' . + 552 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON . - $default reduce using rule 544 (let_variable_declaration) + $default reduce using rule 552 (let_variable_declaration) -State 1312 +State 1320 - 769 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' . use_initializer optional_make_struct_dim_decl ')' + 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' . use_initializer optional_make_struct_dim_decl ')' - "uninitialized" shift, and go to state 1327 + "uninitialized" shift, and go to state 1335 - $default reduce using rule 765 (use_initializer) + $default reduce using rule 777 (use_initializer) - use_initializer go to state 1372 + use_initializer go to state 1380 -State 1313 +State 1321 - 772 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' . use_initializer optional_make_struct_dim_decl ')' + 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' . use_initializer optional_make_struct_dim_decl ')' - "uninitialized" shift, and go to state 1327 + "uninitialized" shift, and go to state 1335 - $default reduce using rule 765 (use_initializer) + $default reduce using rule 777 (use_initializer) - use_initializer go to state 1373 + use_initializer go to state 1381 -State 1314 +State 1322 - 306 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' expr . ')' - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 314 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' expr . ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -40778,40 +40955,40 @@ State 1314 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1374 + ')' shift, and go to state 1382 -State 1315 +State 1323 - 307 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' . '(' expr ')' + 315 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' . '(' expr ')' - '(' shift, and go to state 1375 + '(' shift, and go to state 1383 -State 1316 +State 1324 - 788 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 . '(' use_initializer optional_make_struct_dim_decl ')' + 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 . '(' use_initializer optional_make_struct_dim_decl ')' - '(' shift, and go to state 1376 + '(' shift, and go to state 1384 -State 1317 +State 1325 - 791 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 . '(' use_initializer optional_make_struct_dim_decl ')' + 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 . '(' use_initializer optional_make_struct_dim_decl ')' - '(' shift, and go to state 1377 + '(' shift, and go to state 1385 -State 1318 +State 1326 - 794 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 . '(' make_variant_dim ')' + 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 . '(' make_variant_dim ')' - '(' shift, and go to state 1378 + '(' shift, and go to state 1386 -State 1319 +State 1327 - 798 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' . optional_expr_list ')' + 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' . optional_expr_list ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -40892,12 +41069,12 @@ State 1319 '@' shift, and go to state 461 '{' shift, and go to state 462 - $default reduce using rule 250 (optional_expr_list) + $default reduce using rule 258 (optional_expr_list) string_builder go to state 463 expr_reader go to state 464 expr_call_pipe go to state 465 - optional_expr_list go to state 1379 + optional_expr_list go to state 1387 name_in_namespace go to state 466 expr_new go to state 467 expr_cast go to state 468 @@ -40924,23 +41101,23 @@ State 1319 array_comprehension go to state 488 -State 1320 +State 1328 - 807 make_table_decl: "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' . + 819 make_table_decl: "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' . - $default reduce using rule 807 (make_table_decl) + $default reduce using rule 819 (make_table_decl) -State 1321 +State 1329 - 253 optional_expr_map_tuple_list: expr_map_tuple_list optional_comma . + 261 optional_expr_map_tuple_list: expr_map_tuple_list optional_comma . - $default reduce using rule 253 (optional_expr_map_tuple_list) + $default reduce using rule 261 (optional_expr_map_tuple_list) -State 1322 +State 1330 - 808 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' . optional_expr_map_tuple_list ')' + 820 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' . optional_expr_map_tuple_list ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -41021,12 +41198,12 @@ State 1322 '@' shift, and go to state 461 '{' shift, and go to state 462 - $default reduce using rule 252 (optional_expr_map_tuple_list) + $default reduce using rule 260 (optional_expr_map_tuple_list) string_builder go to state 463 expr_reader go to state 464 expr_call_pipe go to state 465 - optional_expr_map_tuple_list go to state 1380 + optional_expr_map_tuple_list go to state 1388 name_in_namespace go to state 466 expr_new go to state 467 expr_cast go to state 468 @@ -41049,74 +41226,74 @@ State 1322 make_map_tuple go to state 595 make_tuple_call go to state 485 make_dim_decl go to state 486 - expr_map_tuple_list go to state 1244 + expr_map_tuple_list go to state 1252 make_table_decl go to state 487 array_comprehension go to state 488 -State 1323 +State 1331 - 295 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 303 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -41140,72 +41317,72 @@ State 1323 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 295 (expr_cast) + $default reduce using rule 303 (expr_cast) -State 1324 +State 1332 - 298 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 306 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -41229,72 +41406,72 @@ State 1324 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 298 (expr_cast) + $default reduce using rule 306 (expr_cast) -State 1325 +State 1333 - 301 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 309 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -41318,12 +41495,12 @@ State 1325 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 301 (expr_cast) + $default reduce using rule 309 (expr_cast) -State 1326 +State 1334 - 802 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' . expr_list optional_comma ')' + 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' . expr_list optional_comma ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -41412,7 +41589,7 @@ State 1326 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 - expr_list go to state 1381 + expr_list go to state 1389 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 @@ -41433,112 +41610,112 @@ State 1326 array_comprehension go to state 488 -State 1327 +State 1335 - 766 use_initializer: "uninitialized" . + 778 use_initializer: "uninitialized" . - $default reduce using rule 766 (use_initializer) + $default reduce using rule 778 (use_initializer) -State 1328 +State 1336 - 778 make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' $@92 use_initializer . + 790 make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' $@92 use_initializer . - $default reduce using rule 778 (make_struct_decl) + $default reduce using rule 790 (make_struct_decl) -State 1329 +State 1337 - 784 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' . use_initializer optional_make_struct_dim_decl ')' + 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' . use_initializer optional_make_struct_dim_decl ')' - "uninitialized" shift, and go to state 1327 + "uninitialized" shift, and go to state 1335 - $default reduce using rule 765 (use_initializer) + $default reduce using rule 777 (use_initializer) - use_initializer go to state 1382 + use_initializer go to state 1390 -State 1330 +State 1338 - 775 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' . make_variant_dim ')' + 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' . make_variant_dim ')' - "$f" shift, and go to state 786 - "name" shift, and go to state 1003 + "$f" shift, and go to state 790 + "name" shift, and go to state 1009 - make_struct_fields go to state 1383 - make_variant_dim go to state 1384 + make_struct_fields go to state 1391 + make_variant_dim go to state 1392 -State 1331 +State 1339 - 465 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' ')' . + 473 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' ')' . - $default reduce using rule 465 (expr_generator) + $default reduce using rule 473 (expr_generator) -State 1332 +State 1340 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 466 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr . ')' - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 474 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr . ')' + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -41575,70 +41752,70 @@ State 1332 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1385 + ')' shift, and go to state 1393 -State 1333 +State 1341 - 467 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list optional_semis expression_block . + 475 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list optional_emit_semis expression_block . - $default reduce using rule 467 (expr_generator) + $default reduce using rule 475 (expr_generator) -State 1334 +State 1342 - 475 expr_mtag: "$c" '(' expr ')' '(' expr_list ')' . + 483 expr_mtag: "$c" '(' expr ')' '(' expr_list ')' . - $default reduce using rule 475 (expr_mtag) + $default reduce using rule 483 (expr_mtag) -State 1335 +State 1343 - 813 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' . ';' expr array_comprehension_where ']' + 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' . ';' expr array_comprehension_where ']' - ';' shift, and go to state 1386 + ';' shift, and go to state 1394 -State 1336 +State 1344 - 309 expr_list: expr_list . ',' expr - 814 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list . ')' ';' expr array_comprehension_where ']' + 317 expr_list: expr_list . ',' expr + 826 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list . ')' ';' expr array_comprehension_where ']' - ',' shift, and go to state 1041 - ')' shift, and go to state 1387 + ',' shift, and go to state 1047 + ')' shift, and go to state 1395 -State 1337 +State 1345 - 363 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 . func_addr_name + 371 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 . func_addr_name "::" shift, and go to state 55 - "$i" shift, and go to state 776 + "$i" shift, and go to state 780 "name" shift, and go to state 56 - name_in_namespace go to state 779 - func_addr_name go to state 1388 + name_in_namespace go to state 783 + func_addr_name go to state 1396 -State 1338 +State 1346 - 366 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' . $@24 func_addr_name + 374 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' . $@24 func_addr_name - $default reduce using rule 365 ($@24) + $default reduce using rule 373 ($@24) - $@24 go to state 1389 + $@24 go to state 1397 -State 1339 +State 1347 - 815 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' . ';' make_map_tuple array_comprehension_where '}' + 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' . ';' make_map_tuple array_comprehension_where '}' - ';' shift, and go to state 1390 + ';' shift, and go to state 1398 -State 1340 +State 1348 - 754 make_struct_fields: "$f" '(' expr ')' ":=" . expr + 766 make_struct_fields: "$f" '(' expr ')' ":=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -41735,7 +41912,7 @@ State 1340 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1391 + expr go to state 1399 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -41747,9 +41924,9 @@ State 1340 array_comprehension go to state 488 -State 1341 +State 1349 - 753 make_struct_fields: "$f" '(' expr ')' copy_or_move . expr + 765 make_struct_fields: "$f" '(' expr ')' copy_or_move . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -41846,7 +42023,7 @@ State 1341 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1392 + expr go to state 1400 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -41858,77 +42035,77 @@ State 1341 array_comprehension go to state 488 -State 1342 +State 1350 - 355 expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' . ')' + 363 expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' . ')' - ')' shift, and go to state 1393 + ')' shift, and go to state 1401 -State 1343 +State 1351 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 755 make_struct_fields: make_struct_fields ',' "$f" '(' expr . ')' copy_or_move expr - 756 | make_struct_fields ',' "$f" '(' expr . ')' ":=" expr + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 767 make_struct_fields: make_struct_fields ',' "$f" '(' expr . ')' copy_or_move expr + 768 | make_struct_fields ',' "$f" '(' expr . ')' ":=" expr "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -41965,72 +42142,72 @@ State 1343 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1394 + ')' shift, and go to state 1402 -State 1344 +State 1352 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 752 make_struct_fields: make_struct_fields ',' "name" ":=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 764 make_struct_fields: make_struct_fields ',' "name" ":=" expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -42068,72 +42245,72 @@ State 1344 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 752 (make_struct_fields) + $default reduce using rule 764 (make_struct_fields) -State 1345 +State 1353 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 751 make_struct_fields: make_struct_fields ',' "name" copy_or_move expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 763 make_struct_fields: make_struct_fields ',' "name" copy_or_move expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -42171,27 +42348,27 @@ State 1345 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 751 (make_struct_fields) + $default reduce using rule 763 (make_struct_fields) -State 1346 +State 1354 - 320 capture_entry: "name" '(' "name" . ')' + 328 capture_entry: "name" '(' "name" . ')' - ')' shift, and go to state 1395 + ')' shift, and go to state 1403 -State 1347 +State 1355 - 322 capture_list: capture_list ',' capture_entry . + 330 capture_list: capture_list ',' capture_entry . - $default reduce using rule 322 (capture_list) + $default reduce using rule 330 (capture_list) -State 1348 +State 1356 - 311 block_or_simple_block: "=>" . expr - 312 | "=>" . "<-" expr + 319 block_or_simple_block: "=>" . expr + 320 | "=>" . "<-" expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -42243,7 +42420,7 @@ State 1348 "generator" shift, and go to state 435 "++" shift, and go to state 436 "--" shift, and go to state 437 - "<-" shift, and go to state 1396 + "<-" shift, and go to state 1404 "::" shift, and go to state 55 "$$" shift, and go to state 438 "$i" shift, and go to state 439 @@ -42289,7 +42466,7 @@ State 1348 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1397 + expr go to state 1405 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -42301,89 +42478,89 @@ State 1348 array_comprehension go to state 488 -State 1349 +State 1357 - 310 block_or_simple_block: expression_block . + 318 block_or_simple_block: expression_block . - $default reduce using rule 310 (block_or_simple_block) + $default reduce using rule 318 (block_or_simple_block) -State 1350 +State 1358 - 325 expr_full_block: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_semis block_or_simple_block . + 333 expr_full_block: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_emit_semis block_or_simple_block . - $default reduce using rule 325 (expr_full_block) + $default reduce using rule 333 (expr_full_block) -State 1351 +State 1359 - 326 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_semis . expression_block + 334 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_emit_semis . expression_block - $default reduce using rule 224 ($@9) + $default reduce using rule 232 ($@9) - expression_block go to state 1398 + expression_block go to state 1406 $@9 go to state 332 -State 1352 +State 1360 - 440 expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' . $@28 + 448 expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' . $@28 - $default reduce using rule 439 ($@28) + $default reduce using rule 447 ($@28) - $@28 go to state 1399 + $@28 go to state 1407 -State 1353 +State 1361 - 446 expr: expr "as" "type" '<' $@29 type_declaration '>' . $@30 + 454 expr: expr "as" "type" '<' $@29 type_declaration '>' . $@30 - $default reduce using rule 445 ($@30) + $default reduce using rule 453 ($@30) - $@30 go to state 1400 + $@30 go to state 1408 -State 1354 +State 1362 - 451 expr: expr '?' "as" "type" '<' $@31 type_declaration . '>' $@32 - 727 type_declaration: type_declaration . '|' type_declaration_no_options - 728 | type_declaration . '|' '#' + 459 expr: expr '?' "as" "type" '<' $@31 type_declaration . '>' $@32 + 739 type_declaration: type_declaration . '|' type_declaration_no_options + 740 | type_declaration . '|' '#' '|' shift, and go to state 372 - '>' shift, and go to state 1401 + '>' shift, and go to state 1409 -State 1355 +State 1363 - 481 expr_mtag: expr '?' "as" "$f" '(' expr ')' . + 489 expr_mtag: expr '?' "as" "$f" '(' expr ')' . - $default reduce using rule 481 (expr_mtag) + $default reduce using rule 489 (expr_mtag) -State 1356 +State 1364 - 479 expr_mtag: expr '.' "?." "$f" '(' expr ')' . + 487 expr_mtag: expr '.' "?." "$f" '(' expr ')' . - $default reduce using rule 479 (expr_mtag) + $default reduce using rule 487 (expr_mtag) -State 1357 +State 1365 - 478 expr_mtag: expr '.' '.' "$f" '(' expr ')' . + 486 expr_mtag: expr '.' '.' "$f" '(' expr ')' . - $default reduce using rule 478 (expr_mtag) + $default reduce using rule 486 (expr_mtag) -State 1358 +State 1366 - 673 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' . + 685 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' . - $default reduce using rule 673 (type_declaration_no_options_no_dim) + $default reduce using rule 685 (type_declaration_no_options_no_dim) -State 1359 +State 1367 - 63 expression_else_one_liner: "else" . expression_if_one_liner + 71 expression_else_one_liner: "else" . expression_if_one_liner "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -42470,14 +42647,14 @@ State 1359 string_builder go to state 463 expr_reader go to state 464 - expression_if_one_liner go to state 1402 + expression_if_one_liner go to state 1410 expr_call_pipe go to state 465 name_in_namespace go to state 466 expr_new go to state 467 - expression_break go to state 1403 - expression_continue go to state 1404 - expression_return go to state 1405 - expression_yield go to state 1406 + expression_break go to state 1411 + expression_continue go to state 1412 + expression_return go to state 1413 + expression_yield go to state 1414 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 @@ -42489,7 +42666,7 @@ State 1359 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1407 + expr go to state 1415 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -42501,57 +42678,60 @@ State 1359 array_comprehension go to state 488 -State 1360 +State 1368 - 75 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' expression_else_one_liner . ';' + 83 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' expression_else_one_liner . SEMICOLON - ';' shift, and go to state 1408 + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 + SEMICOLON go to state 1416 -State 1361 - 74 expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_semis . expression_block expression_else +State 1369 - $default reduce using rule 224 ($@9) + 82 expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_emit_semis . expression_block expression_else - expression_block go to state 1409 + $default reduce using rule 232 ($@9) + + expression_block go to state 1417 $@9 go to state 332 -State 1362 +State 1370 - 77 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list . ')' optional_semis expression_block - 309 expr_list: expr_list . ',' expr + 85 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list . ')' optional_emit_semis expression_block + 317 expr_list: expr_list . ',' expr - ',' shift, and go to state 1041 - ')' shift, and go to state 1410 + ',' shift, and go to state 1047 + ')' shift, and go to state 1418 -State 1363 +State 1371 - 80 expression_while_loop: $@4 "while" '(' expr ')' optional_semis . expression_block + 88 expression_while_loop: $@4 "while" '(' expr ')' optional_emit_semis . expression_block - $default reduce using rule 224 ($@9) + $default reduce using rule 232 ($@9) - expression_block go to state 1411 + expression_block go to state 1419 $@9 go to state 332 -State 1364 +State 1372 - 82 expression_with: $@5 "with" '(' expr ')' optional_semis . expression_block + 90 expression_with: $@5 "with" '(' expr ')' optional_emit_semis . expression_block - $default reduce using rule 224 ($@9) + $default reduce using rule 232 ($@9) - expression_block go to state 1412 + expression_block go to state 1420 $@9 go to state 332 -State 1365 +State 1373 - 223 expression_block_finally: "finally" $@7 '{' expressions . $@8 '}' - 248 expressions: expressions . expression_any - 249 | expressions . error + 231 expression_block_finally: "finally" $@7 '{' expressions . $@8 '}' + 256 expressions: expressions . expression_any + 257 | expressions . error error shift, and go to state 678 "struct" shift, and go to state 414 @@ -42632,6 +42812,7 @@ State 1365 "floating point constant" shift, and go to state 450 "double constant" shift, and go to state 451 "name" shift, and go to state 56 + "emitted ;" shift, and go to state 690 "start of the string" shift, and go to state 452 '-' shift, and go to state 453 '+' shift, and go to state 454 @@ -42643,58 +42824,59 @@ State 1365 '(' shift, and go to state 459 '$' shift, and go to state 460 '@' shift, and go to state 461 - ';' shift, and go to state 690 + ';' shift, and go to state 691 '{' shift, and go to state 462 - "while" reduce using rule 79 ($@4) - "if" reduce using rule 73 ($@2) - "static_if" reduce using rule 73 ($@2) - "for" reduce using rule 76 ($@3) - "with" reduce using rule 81 ($@5) - '}' reduce using rule 222 ($@8) + "while" reduce using rule 87 ($@4) + "if" reduce using rule 81 ($@2) + "static_if" reduce using rule 81 ($@2) + "for" reduce using rule 84 ($@3) + "with" reduce using rule 89 ($@5) + '}' reduce using rule 230 ($@8) + SEMICOLON go to state 692 string_builder go to state 463 expr_reader go to state 464 - expression_label go to state 691 - expression_goto go to state 692 - expression_if_one_liner go to state 693 - expression_if_then_else go to state 694 - $@2 go to state 695 - expression_if_then_else_oneliner go to state 696 - expression_for_loop go to state 697 - $@3 go to state 698 - expression_unsafe go to state 699 - expression_while_loop go to state 700 - $@4 go to state 701 - expression_with go to state 702 - $@5 go to state 703 - expression_with_alias go to state 704 - $@8 go to state 1413 + expression_label go to state 693 + expression_goto go to state 694 + expression_if_one_liner go to state 695 + expression_if_then_else go to state 696 + $@2 go to state 697 + expression_if_then_else_oneliner go to state 698 + expression_for_loop go to state 699 + $@3 go to state 700 + expression_unsafe go to state 701 + expression_while_loop go to state 702 + $@4 go to state 703 + expression_with go to state 704 + $@5 go to state 705 + expression_with_alias go to state 706 + $@8 go to state 1421 expr_call_pipe go to state 465 - expression_any go to state 706 + expression_any go to state 708 name_in_namespace go to state 466 - expression_delete go to state 707 + expression_delete go to state 709 expr_new go to state 467 - expression_break go to state 708 - expression_continue go to state 709 - expression_return go to state 710 - expression_yield go to state 711 - expression_try_catch go to state 712 - kwd_let go to state 713 - expression_let go to state 714 + expression_break go to state 710 + expression_continue go to state 711 + expression_return go to state 712 + expression_yield go to state 713 + expression_try_catch go to state 714 + kwd_let go to state 715 + expression_let go to state 716 expr_cast go to state 468 expr_type_decl go to state 469 expr_type_info go to state 470 block_or_lambda go to state 471 expr_full_block go to state 472 expr_numeric_const go to state 473 - expr_assign go to state 715 + expr_assign go to state 717 expr_named_call go to state 474 expr_method_call go to state 475 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 716 + expr go to state 718 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -42706,16 +42888,16 @@ State 1365 array_comprehension go to state 488 -State 1366 +State 1374 - 287 tuple_expansion: tuple_expansion ',' "name" . + 295 tuple_expansion: tuple_expansion ',' "name" . - $default reduce using rule 287 (tuple_expansion) + $default reduce using rule 295 (tuple_expansion) -State 1367 +State 1375 - 288 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' . type_declaration_no_options copy_or_move_or_clone expr ';' + 296 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' . type_declaration_no_options copy_or_move_or_clone expr SEMICOLON "type" shift, and go to state 222 "array" shift, and go to state 223 @@ -42766,24 +42948,24 @@ State 1367 structure_type_declaration go to state 265 auto_type_declaration go to state 266 bitfield_type_declaration go to state 267 - type_declaration_no_options go to state 1414 + type_declaration_no_options go to state 1422 type_declaration_no_options_no_dim go to state 269 -State 1368 +State 1376 - 289 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref . copy_or_move_or_clone expr ';' + 297 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref . copy_or_move_or_clone expr SEMICOLON "<-" shift, and go to state 537 ":=" shift, and go to state 538 '=' shift, and go to state 539 - copy_or_move_or_clone go to state 1415 + copy_or_move_or_clone go to state 1423 -State 1369 +State 1377 - 501 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 . function_declaration_header ';' + 509 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 . function_declaration_header ';' "operator" shift, and go to state 177 "bool" shift, and go to state 178 @@ -42816,67 +42998,67 @@ State 1369 "name" shift, and go to state 205 function_name go to state 206 - function_declaration_header go to state 1416 + function_declaration_header go to state 1424 -State 1370 +State 1378 - 503 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant . $@35 function_declaration_header expression_block + 511 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant . $@35 function_declaration_header expression_block - $default reduce using rule 502 ($@35) + $default reduce using rule 510 ($@35) - $@35 go to state 1417 + $@35 go to state 1425 -State 1371 +State 1379 - 496 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration . + 504 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration . - $default reduce using rule 496 (structure_variable_declaration) + $default reduce using rule 504 (structure_variable_declaration) -State 1372 +State 1380 - 769 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer . optional_make_struct_dim_decl ')' + 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer . optional_make_struct_dim_decl ')' - "$f" shift, and go to state 786 - "name" shift, and go to state 1003 - '(' shift, and go to state 1418 + "$f" shift, and go to state 790 + "name" shift, and go to state 1009 + '(' shift, and go to state 1426 - $default reduce using rule 764 (optional_make_struct_dim_decl) + $default reduce using rule 776 (optional_make_struct_dim_decl) - make_struct_fields go to state 1419 - make_struct_dim_list go to state 1420 - make_struct_dim_decl go to state 1421 - optional_make_struct_dim_decl go to state 1422 + make_struct_fields go to state 1427 + make_struct_dim_list go to state 1428 + make_struct_dim_decl go to state 1429 + optional_make_struct_dim_decl go to state 1430 -State 1373 +State 1381 - 772 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer . optional_make_struct_dim_decl ')' + 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer . optional_make_struct_dim_decl ')' - "$f" shift, and go to state 786 - "name" shift, and go to state 1003 - '(' shift, and go to state 1418 + "$f" shift, and go to state 790 + "name" shift, and go to state 1009 + '(' shift, and go to state 1426 - $default reduce using rule 764 (optional_make_struct_dim_decl) + $default reduce using rule 776 (optional_make_struct_dim_decl) - make_struct_fields go to state 1419 - make_struct_dim_list go to state 1420 - make_struct_dim_decl go to state 1421 - optional_make_struct_dim_decl go to state 1423 + make_struct_fields go to state 1427 + make_struct_dim_list go to state 1428 + make_struct_dim_decl go to state 1429 + optional_make_struct_dim_decl go to state 1431 -State 1374 +State 1382 - 306 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' expr ')' . + 314 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' expr ')' . - $default reduce using rule 306 (expr_type_info) + $default reduce using rule 314 (expr_type_info) -State 1375 +State 1383 - 307 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' . expr ')' + 315 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' . expr ')' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -42973,7 +43155,7 @@ State 1375 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1424 + expr go to state 1432 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -42985,111 +43167,111 @@ State 1375 array_comprehension go to state 488 -State 1376 +State 1384 - 788 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' . use_initializer optional_make_struct_dim_decl ')' + 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' . use_initializer optional_make_struct_dim_decl ')' - "uninitialized" shift, and go to state 1327 + "uninitialized" shift, and go to state 1335 - $default reduce using rule 765 (use_initializer) + $default reduce using rule 777 (use_initializer) - use_initializer go to state 1425 + use_initializer go to state 1433 -State 1377 +State 1385 - 791 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' . use_initializer optional_make_struct_dim_decl ')' + 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' . use_initializer optional_make_struct_dim_decl ')' - "uninitialized" shift, and go to state 1327 + "uninitialized" shift, and go to state 1335 - $default reduce using rule 765 (use_initializer) + $default reduce using rule 777 (use_initializer) - use_initializer go to state 1426 + use_initializer go to state 1434 -State 1378 +State 1386 - 794 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' . make_variant_dim ')' + 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' . make_variant_dim ')' - "$f" shift, and go to state 786 - "name" shift, and go to state 1003 + "$f" shift, and go to state 790 + "name" shift, and go to state 1009 - make_struct_fields go to state 1383 - make_variant_dim go to state 1427 + make_struct_fields go to state 1391 + make_variant_dim go to state 1435 -State 1379 +State 1387 - 798 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list . ')' + 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list . ')' - ')' shift, and go to state 1428 + ')' shift, and go to state 1436 -State 1380 +State 1388 - 808 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list . ')' + 820 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list . ')' - ')' shift, and go to state 1429 + ')' shift, and go to state 1437 -State 1381 +State 1389 - 309 expr_list: expr_list . ',' expr - 802 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list . optional_comma ')' + 317 expr_list: expr_list . ',' expr + 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list . optional_comma ')' - ',' shift, and go to state 773 + ',' shift, and go to state 777 - $default reduce using rule 811 (optional_comma) + $default reduce using rule 823 (optional_comma) - optional_comma go to state 1430 + optional_comma go to state 1438 -State 1382 +State 1390 - 784 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer . optional_make_struct_dim_decl ')' + 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer . optional_make_struct_dim_decl ')' - "$f" shift, and go to state 786 - "name" shift, and go to state 1003 - '(' shift, and go to state 1418 + "$f" shift, and go to state 790 + "name" shift, and go to state 1009 + '(' shift, and go to state 1426 - $default reduce using rule 764 (optional_make_struct_dim_decl) + $default reduce using rule 776 (optional_make_struct_dim_decl) - make_struct_fields go to state 1419 - make_struct_dim_list go to state 1420 - make_struct_dim_decl go to state 1421 - optional_make_struct_dim_decl go to state 1431 + make_struct_fields go to state 1427 + make_struct_dim_list go to state 1428 + make_struct_dim_decl go to state 1429 + optional_make_struct_dim_decl go to state 1439 -State 1383 +State 1391 - 751 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr - 752 | make_struct_fields . ',' "name" ":=" expr - 755 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr - 756 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr - 757 make_variant_dim: make_struct_fields . + 763 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 764 | make_struct_fields . ',' "name" ":=" expr + 767 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 768 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr + 769 make_variant_dim: make_struct_fields . - ',' shift, and go to state 1012 + ',' shift, and go to state 1018 - $default reduce using rule 757 (make_variant_dim) + $default reduce using rule 769 (make_variant_dim) -State 1384 +State 1392 - 775 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim . ')' + 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim . ')' - ')' shift, and go to state 1432 + ')' shift, and go to state 1440 -State 1385 +State 1393 - 466 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' . + 474 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' . - $default reduce using rule 466 (expr_generator) + $default reduce using rule 474 (expr_generator) -State 1386 +State 1394 - 813 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' . expr array_comprehension_where ']' + 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' . expr array_comprehension_where ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -43186,7 +43368,7 @@ State 1386 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1433 + expr go to state 1441 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -43198,35 +43380,35 @@ State 1386 array_comprehension go to state 488 -State 1387 +State 1395 - 814 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' . ';' expr array_comprehension_where ']' + 826 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' . ';' expr array_comprehension_where ']' - ';' shift, and go to state 1434 + ';' shift, and go to state 1442 -State 1388 +State 1396 - 363 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name . + 371 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name . - $default reduce using rule 363 (func_addr_expr) + $default reduce using rule 371 (func_addr_expr) -State 1389 +State 1397 - 366 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 . func_addr_name + 374 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 . func_addr_name "::" shift, and go to state 55 - "$i" shift, and go to state 776 + "$i" shift, and go to state 780 "name" shift, and go to state 56 - name_in_namespace go to state 779 - func_addr_name go to state 1435 + name_in_namespace go to state 783 + func_addr_name go to state 1443 -State 1390 +State 1398 - 815 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' . make_map_tuple array_comprehension_where '}' + 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' . make_map_tuple array_comprehension_where '}' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -43329,76 +43511,76 @@ State 1390 basic_type_declaration go to state 482 make_decl go to state 483 make_struct_decl go to state 484 - make_map_tuple go to state 1436 + make_map_tuple go to state 1444 make_tuple_call go to state 485 make_dim_decl go to state 486 make_table_decl go to state 487 array_comprehension go to state 488 -State 1391 +State 1399 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 754 make_struct_fields: "$f" '(' expr ')' ":=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 766 make_struct_fields: "$f" '(' expr ')' ":=" expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -43436,72 +43618,72 @@ State 1391 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 754 (make_struct_fields) + $default reduce using rule 766 (make_struct_fields) -State 1392 +State 1400 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 753 make_struct_fields: "$f" '(' expr ')' copy_or_move expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 765 make_struct_fields: "$f" '(' expr ')' copy_or_move expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -43539,38 +43721,38 @@ State 1392 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 753 (make_struct_fields) + $default reduce using rule 765 (make_struct_fields) -State 1393 +State 1401 - 355 expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' ')' . + 363 expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' ')' . - $default reduce using rule 355 (expr_named_call) + $default reduce using rule 363 (expr_named_call) -State 1394 +State 1402 - 755 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' . copy_or_move expr - 756 | make_struct_fields ',' "$f" '(' expr ')' . ":=" expr + 767 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' . copy_or_move expr + 768 | make_struct_fields ',' "$f" '(' expr ')' . ":=" expr - "<-" shift, and go to state 879 - ":=" shift, and go to state 1437 - '=' shift, and go to state 881 + "<-" shift, and go to state 885 + ":=" shift, and go to state 1445 + '=' shift, and go to state 887 - copy_or_move go to state 1438 + copy_or_move go to state 1446 -State 1395 +State 1403 - 320 capture_entry: "name" '(' "name" ')' . + 328 capture_entry: "name" '(' "name" ')' . - $default reduce using rule 320 (capture_entry) + $default reduce using rule 328 (capture_entry) -State 1396 +State 1404 - 312 block_or_simple_block: "=>" "<-" . expr + 320 block_or_simple_block: "=>" "<-" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -43667,7 +43849,7 @@ State 1396 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1439 + expr go to state 1447 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -43679,69 +43861,69 @@ State 1396 array_comprehension go to state 488 -State 1397 +State 1405 - 311 block_or_simple_block: "=>" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 319 block_or_simple_block: "=>" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -43780,137 +43962,137 @@ State 1397 ".." error (nonassociative) - $default reduce using rule 311 (block_or_simple_block) + $default reduce using rule 319 (block_or_simple_block) -State 1398 +State 1406 - 326 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_semis expression_block . + 334 expr_full_block_assumed_piped: block_or_lambda optional_annotation_list optional_capture_list optional_function_argument_list optional_function_type optional_emit_semis expression_block . - $default reduce using rule 326 (expr_full_block_assumed_piped) + $default reduce using rule 334 (expr_full_block_assumed_piped) -State 1399 +State 1407 - 440 expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' $@28 . + 448 expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' $@28 . - $default reduce using rule 440 (expr) + $default reduce using rule 448 (expr) -State 1400 +State 1408 - 446 expr: expr "as" "type" '<' $@29 type_declaration '>' $@30 . + 454 expr: expr "as" "type" '<' $@29 type_declaration '>' $@30 . - $default reduce using rule 446 (expr) + $default reduce using rule 454 (expr) -State 1401 +State 1409 - 451 expr: expr '?' "as" "type" '<' $@31 type_declaration '>' . $@32 + 459 expr: expr '?' "as" "type" '<' $@31 type_declaration '>' . $@32 - $default reduce using rule 450 ($@32) + $default reduce using rule 458 ($@32) - $@32 go to state 1440 + $@32 go to state 1448 -State 1402 +State 1410 - 63 expression_else_one_liner: "else" expression_if_one_liner . + 71 expression_else_one_liner: "else" expression_if_one_liner . - $default reduce using rule 63 (expression_else_one_liner) + $default reduce using rule 71 (expression_else_one_liner) -State 1403 +State 1411 - 67 expression_if_one_liner: expression_break . + 75 expression_if_one_liner: expression_break . - $default reduce using rule 67 (expression_if_one_liner) + $default reduce using rule 75 (expression_if_one_liner) -State 1404 +State 1412 - 68 expression_if_one_liner: expression_continue . + 76 expression_if_one_liner: expression_continue . - $default reduce using rule 68 (expression_if_one_liner) + $default reduce using rule 76 (expression_if_one_liner) -State 1405 +State 1413 - 65 expression_if_one_liner: expression_return . + 73 expression_if_one_liner: expression_return . - $default reduce using rule 65 (expression_if_one_liner) + $default reduce using rule 73 (expression_if_one_liner) -State 1406 +State 1414 - 66 expression_if_one_liner: expression_yield . + 74 expression_if_one_liner: expression_yield . - $default reduce using rule 66 (expression_if_one_liner) + $default reduce using rule 74 (expression_if_one_liner) -State 1407 +State 1415 - 64 expression_if_one_liner: expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 72 expression_if_one_liner: expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -43948,77 +44130,77 @@ State 1407 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 64 (expression_if_one_liner) + $default reduce using rule 72 (expression_if_one_liner) -State 1408 +State 1416 - 75 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' expression_else_one_liner ';' . + 83 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' expression_else_one_liner SEMICOLON . - $default reduce using rule 75 (expression_if_then_else_oneliner) + $default reduce using rule 83 (expression_if_then_else_oneliner) -State 1409 +State 1417 - 74 expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_semis expression_block . expression_else + 82 expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_emit_semis expression_block . expression_else - "else" shift, and go to state 1441 - "elif" shift, and go to state 1442 - "static_elif" shift, and go to state 1443 + "else" shift, and go to state 1449 + "elif" shift, and go to state 1450 + "static_elif" shift, and go to state 1451 - $default reduce using rule 57 (expression_else) + $default reduce using rule 65 (expression_else) - elif_or_static_elif go to state 1444 - expression_else go to state 1445 + elif_or_static_elif go to state 1452 + expression_else go to state 1453 -State 1410 +State 1418 - 77 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list ')' . optional_semis expression_block + 85 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list ')' . optional_emit_semis expression_block - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 171 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 63 (optional_emit_semis) - semis go to state 172 - optional_semis go to state 1446 + emit_semis go to state 172 + optional_emit_semis go to state 1454 -State 1411 +State 1419 - 80 expression_while_loop: $@4 "while" '(' expr ')' optional_semis expression_block . + 88 expression_while_loop: $@4 "while" '(' expr ')' optional_emit_semis expression_block . - $default reduce using rule 80 (expression_while_loop) + $default reduce using rule 88 (expression_while_loop) -State 1412 +State 1420 - 82 expression_with: $@5 "with" '(' expr ')' optional_semis expression_block . + 90 expression_with: $@5 "with" '(' expr ')' optional_emit_semis expression_block . - $default reduce using rule 82 (expression_with) + $default reduce using rule 90 (expression_with) -State 1413 +State 1421 - 223 expression_block_finally: "finally" $@7 '{' expressions $@8 . '}' + 231 expression_block_finally: "finally" $@7 '{' expressions $@8 . '}' - '}' shift, and go to state 1447 + '}' shift, and go to state 1455 -State 1414 +State 1422 - 288 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options . copy_or_move_or_clone expr ';' + 296 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options . copy_or_move_or_clone expr SEMICOLON "<-" shift, and go to state 537 ":=" shift, and go to state 538 '=' shift, and go to state 539 - copy_or_move_or_clone go to state 1448 + copy_or_move_or_clone go to state 1456 -State 1415 +State 1423 - 289 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone . expr ';' + 297 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone . expr SEMICOLON "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -44115,7 +44297,7 @@ State 1415 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1449 + expr go to state 1457 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -44127,16 +44309,16 @@ State 1415 array_comprehension go to state 488 -State 1416 +State 1424 - 501 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header . ';' + 509 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header . ';' - ';' shift, and go to state 1450 + ';' shift, and go to state 1458 -State 1417 +State 1425 - 503 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 . function_declaration_header expression_block + 511 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 . function_declaration_header expression_block "operator" shift, and go to state 177 "bool" shift, and go to state 178 @@ -44169,128 +44351,128 @@ State 1417 "name" shift, and go to state 205 function_name go to state 206 - function_declaration_header go to state 1451 + function_declaration_header go to state 1459 -State 1418 +State 1426 - 759 make_struct_dim_list: '(' . make_struct_fields ')' + 771 make_struct_dim_list: '(' . make_struct_fields ')' - "$f" shift, and go to state 786 - "name" shift, and go to state 1003 + "$f" shift, and go to state 790 + "name" shift, and go to state 1009 - make_struct_fields go to state 1452 + make_struct_fields go to state 1460 -State 1419 +State 1427 - 751 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr - 752 | make_struct_fields . ',' "name" ":=" expr - 755 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr - 756 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr - 761 make_struct_dim_decl: make_struct_fields . + 763 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 764 | make_struct_fields . ',' "name" ":=" expr + 767 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 768 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr + 773 make_struct_dim_decl: make_struct_fields . - ',' shift, and go to state 1012 + ',' shift, and go to state 1018 - $default reduce using rule 761 (make_struct_dim_decl) + $default reduce using rule 773 (make_struct_dim_decl) -State 1420 +State 1428 - 760 make_struct_dim_list: make_struct_dim_list . ',' '(' make_struct_fields ')' - 762 make_struct_dim_decl: make_struct_dim_list . optional_comma + 772 make_struct_dim_list: make_struct_dim_list . ',' '(' make_struct_fields ')' + 774 make_struct_dim_decl: make_struct_dim_list . optional_comma - ',' shift, and go to state 1453 + ',' shift, and go to state 1461 - $default reduce using rule 811 (optional_comma) + $default reduce using rule 823 (optional_comma) - optional_comma go to state 1454 + optional_comma go to state 1462 -State 1421 +State 1429 - 763 optional_make_struct_dim_decl: make_struct_dim_decl . + 775 optional_make_struct_dim_decl: make_struct_dim_decl . - $default reduce using rule 763 (optional_make_struct_dim_decl) + $default reduce using rule 775 (optional_make_struct_dim_decl) -State 1422 +State 1430 - 769 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl . ')' + 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl . ')' - ')' shift, and go to state 1455 + ')' shift, and go to state 1463 -State 1423 +State 1431 - 772 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl . ')' + 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl . ')' - ')' shift, and go to state 1456 + ')' shift, and go to state 1464 -State 1424 +State 1432 - 307 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr . ')' - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 315 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr . ')' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -44327,146 +44509,146 @@ State 1424 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1457 + ')' shift, and go to state 1465 -State 1425 +State 1433 - 788 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer . optional_make_struct_dim_decl ')' + 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer . optional_make_struct_dim_decl ')' - "$f" shift, and go to state 786 - "name" shift, and go to state 1003 - '(' shift, and go to state 1418 + "$f" shift, and go to state 790 + "name" shift, and go to state 1009 + '(' shift, and go to state 1426 - $default reduce using rule 764 (optional_make_struct_dim_decl) + $default reduce using rule 776 (optional_make_struct_dim_decl) - make_struct_fields go to state 1419 - make_struct_dim_list go to state 1420 - make_struct_dim_decl go to state 1421 - optional_make_struct_dim_decl go to state 1458 + make_struct_fields go to state 1427 + make_struct_dim_list go to state 1428 + make_struct_dim_decl go to state 1429 + optional_make_struct_dim_decl go to state 1466 -State 1426 +State 1434 - 791 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer . optional_make_struct_dim_decl ')' + 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer . optional_make_struct_dim_decl ')' - "$f" shift, and go to state 786 - "name" shift, and go to state 1003 - '(' shift, and go to state 1418 + "$f" shift, and go to state 790 + "name" shift, and go to state 1009 + '(' shift, and go to state 1426 - $default reduce using rule 764 (optional_make_struct_dim_decl) + $default reduce using rule 776 (optional_make_struct_dim_decl) - make_struct_fields go to state 1419 - make_struct_dim_list go to state 1420 - make_struct_dim_decl go to state 1421 - optional_make_struct_dim_decl go to state 1459 + make_struct_fields go to state 1427 + make_struct_dim_list go to state 1428 + make_struct_dim_decl go to state 1429 + optional_make_struct_dim_decl go to state 1467 -State 1427 +State 1435 - 794 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim . ')' + 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim . ')' - ')' shift, and go to state 1460 + ')' shift, and go to state 1468 -State 1428 +State 1436 - 798 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' . + 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' . - $default reduce using rule 798 (make_dim_decl) + $default reduce using rule 810 (make_dim_decl) -State 1429 +State 1437 - 808 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' . + 820 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' . - $default reduce using rule 808 (make_table_decl) + $default reduce using rule 820 (make_table_decl) -State 1430 +State 1438 - 802 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma . ')' + 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma . ')' - ')' shift, and go to state 1461 + ')' shift, and go to state 1469 -State 1431 +State 1439 - 784 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl . ')' + 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl . ')' - ')' shift, and go to state 1462 + ')' shift, and go to state 1470 -State 1432 +State 1440 - 775 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' . + 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' . - $default reduce using rule 775 (make_struct_decl) + $default reduce using rule 787 (make_struct_decl) -State 1433 +State 1441 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 813 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr . array_comprehension_where ']' + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr . array_comprehension_where ']' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -44503,16 +44685,16 @@ State 1433 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ';' shift, and go to state 1463 + ';' shift, and go to state 1471 - $default reduce using rule 809 (array_comprehension_where) + $default reduce using rule 821 (array_comprehension_where) - array_comprehension_where go to state 1464 + array_comprehension_where go to state 1472 -State 1434 +State 1442 - 814 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' . expr array_comprehension_where ']' + 826 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' . expr array_comprehension_where ']' "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -44609,7 +44791,7 @@ State 1434 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1465 + expr go to state 1473 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -44621,138 +44803,27 @@ State 1434 array_comprehension go to state 488 -State 1435 - - 366 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name . - - $default reduce using rule 366 (func_addr_expr) +State 1443 + 374 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name . -State 1436 + $default reduce using rule 374 (func_addr_expr) - 815 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple . array_comprehension_where '}' - ';' shift, and go to state 1463 +State 1444 - $default reduce using rule 809 (array_comprehension_where) + 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple . array_comprehension_where '}' - array_comprehension_where go to state 1466 + ';' shift, and go to state 1471 + $default reduce using rule 821 (array_comprehension_where) -State 1437 + array_comprehension_where go to state 1474 - 756 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' ":=" . expr - "struct" shift, and go to state 414 - "class" shift, and go to state 415 - "true" shift, and go to state 416 - "false" shift, and go to state 417 - "new" shift, and go to state 418 - "typeinfo" shift, and go to state 419 - "type" shift, and go to state 420 - "array" shift, and go to state 421 - "null" shift, and go to state 422 - "table" shift, and go to state 423 - "deref" shift, and go to state 424 - "cast" shift, and go to state 425 - "upcast" shift, and go to state 426 - "addr" shift, and go to state 427 - "reinterpret" shift, and go to state 428 - "unsafe" shift, and go to state 429 - "fixed_array" shift, and go to state 430 - "default" shift, and go to state 431 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "int" shift, and go to state 232 - "int2" shift, and go to state 233 - "int3" shift, and go to state 234 - "int4" shift, and go to state 235 - "uint" shift, and go to state 236 - "bitfield" shift, and go to state 432 - "uint2" shift, and go to state 238 - "uint3" shift, and go to state 239 - "uint4" shift, and go to state 240 - "float" shift, and go to state 241 - "float2" shift, and go to state 242 - "float3" shift, and go to state 243 - "float4" shift, and go to state 244 - "range" shift, and go to state 245 - "urange" shift, and go to state 246 - "range64" shift, and go to state 247 - "urange64" shift, and go to state 248 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "int8" shift, and go to state 255 - "uint8" shift, and go to state 256 - "int16" shift, and go to state 257 - "uint16" shift, and go to state 258 - "tuple" shift, and go to state 433 - "variant" shift, and go to state 434 - "generator" shift, and go to state 435 - "++" shift, and go to state 436 - "--" shift, and go to state 437 - "::" shift, and go to state 55 - "$$" shift, and go to state 438 - "$i" shift, and go to state 439 - "$v" shift, and go to state 440 - "$b" shift, and go to state 441 - "$a" shift, and go to state 442 - "$c" shift, and go to state 443 - "..." shift, and go to state 444 - "integer constant" shift, and go to state 445 - "long integer constant" shift, and go to state 446 - "unsigned integer constant" shift, and go to state 447 - "unsigned long integer constant" shift, and go to state 448 - "unsigned int8 constant" shift, and go to state 449 - "floating point constant" shift, and go to state 450 - "double constant" shift, and go to state 451 - "name" shift, and go to state 56 - "start of the string" shift, and go to state 452 - '-' shift, and go to state 453 - '+' shift, and go to state 454 - '*' shift, and go to state 455 - '%' shift, and go to state 13 - '~' shift, and go to state 456 - '!' shift, and go to state 457 - '[' shift, and go to state 458 - '(' shift, and go to state 459 - '$' shift, and go to state 460 - '@' shift, and go to state 461 - '{' shift, and go to state 462 - - string_builder go to state 463 - expr_reader go to state 464 - expr_call_pipe go to state 465 - name_in_namespace go to state 466 - expr_new go to state 467 - expr_cast go to state 468 - expr_type_decl go to state 469 - expr_type_info go to state 470 - block_or_lambda go to state 471 - expr_full_block go to state 472 - expr_numeric_const go to state 473 - expr_named_call go to state 474 - expr_method_call go to state 475 - func_addr_expr go to state 476 - expr_field go to state 477 - expr_call go to state 478 - expr go to state 1467 - expr_generator go to state 480 - expr_mtag go to state 481 - basic_type_declaration go to state 482 - make_decl go to state 483 - make_struct_decl go to state 484 - make_tuple_call go to state 485 - make_dim_decl go to state 486 - make_table_decl go to state 487 - array_comprehension go to state 488 - - -State 1438 +State 1445 - 755 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' copy_or_move . expr + 768 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' ":=" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -44849,7 +44920,7 @@ State 1438 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1468 + expr go to state 1475 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -44861,175 +44932,9 @@ State 1438 array_comprehension go to state 488 -State 1439 - - 312 block_or_simple_block: "=>" "<-" expr . - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - - "is" shift, and go to state 603 - "as" shift, and go to state 604 - "<<" shift, and go to state 605 - ">>" shift, and go to state 606 - "++" shift, and go to state 607 - "--" shift, and go to state 608 - "<=" shift, and go to state 609 - ">=" shift, and go to state 610 - "==" shift, and go to state 611 - "!=" shift, and go to state 612 - "->" shift, and go to state 613 - "??" shift, and go to state 614 - "?." shift, and go to state 615 - "?[" shift, and go to state 616 - "<|" shift, and go to state 617 - "|>" shift, and go to state 618 - "<<<" shift, and go to state 619 - ">>>" shift, and go to state 620 - "&&" shift, and go to state 621 - "||" shift, and go to state 622 - "^^" shift, and go to state 623 - '?' shift, and go to state 625 - '|' shift, and go to state 626 - '^' shift, and go to state 627 - '&' shift, and go to state 628 - '<' shift, and go to state 629 - '>' shift, and go to state 630 - '-' shift, and go to state 631 - '+' shift, and go to state 632 - '*' shift, and go to state 633 - '/' shift, and go to state 634 - '%' shift, and go to state 635 - '.' shift, and go to state 636 - '[' shift, and go to state 637 - - $default reduce using rule 312 (block_or_simple_block) - - -State 1440 - - 451 expr: expr '?' "as" "type" '<' $@31 type_declaration '>' $@32 . - - $default reduce using rule 451 (expr) - - -State 1441 - - 58 expression_else: "else" . optional_semis expression_block - - ';' shift, and go to state 171 - - $default reduce using rule 71 (optional_semis) - - semis go to state 172 - optional_semis go to state 1469 - - -State 1442 - - 55 elif_or_static_elif: "elif" . - - $default reduce using rule 55 (elif_or_static_elif) - - -State 1443 - - 56 elif_or_static_elif: "static_elif" . - - $default reduce using rule 56 (elif_or_static_elif) - - -State 1444 - - 59 expression_else: elif_or_static_elif . '(' expr ')' optional_semis expression_block expression_else - - '(' shift, and go to state 1470 - - -State 1445 - - 74 expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_semis expression_block expression_else . - - $default reduce using rule 74 (expression_if_then_else) - - State 1446 - 77 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list ')' optional_semis . expression_block - - $default reduce using rule 224 ($@9) - - expression_block go to state 1471 - $@9 go to state 332 - - -State 1447 - - 223 expression_block_finally: "finally" $@7 '{' expressions $@8 '}' . - - $default reduce using rule 223 (expression_block_finally) - - -State 1448 - - 288 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone . expr ';' + 767 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' copy_or_move . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -45126,7 +45031,7 @@ State 1448 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1472 + expr go to state 1476 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -45138,69 +45043,69 @@ State 1448 array_comprehension go to state 488 -State 1449 +State 1447 - 289 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr . ';' - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 320 block_or_simple_block: "=>" "<-" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -45223,7 +45128,6 @@ State 1449 "&&" shift, and go to state 621 "||" shift, and go to state 622 "^^" shift, and go to state 623 - ".." shift, and go to state 624 '?' shift, and go to state 625 '|' shift, and go to state 626 '^' shift, and go to state 627 @@ -45237,188 +45141,469 @@ State 1449 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ';' shift, and go to state 1473 + + $default reduce using rule 320 (block_or_simple_block) + + +State 1448 + + 459 expr: expr '?' "as" "type" '<' $@31 type_declaration '>' $@32 . + + $default reduce using rule 459 (expr) + + +State 1449 + + 66 expression_else: "else" . optional_emit_semis expression_block + + "emitted ;" shift, and go to state 171 + + $default reduce using rule 63 (optional_emit_semis) + + emit_semis go to state 172 + optional_emit_semis go to state 1477 State 1450 - 501 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header ';' . + 59 elif_or_static_elif: "elif" . - $default reduce using rule 501 (struct_variable_declaration_list) + $default reduce using rule 59 (elif_or_static_elif) State 1451 - 503 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header . expression_block + 60 elif_or_static_elif: "static_elif" . - $default reduce using rule 224 ($@9) - - expression_block go to state 1474 - $@9 go to state 332 + $default reduce using rule 60 (elif_or_static_elif) State 1452 - 751 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr - 752 | make_struct_fields . ',' "name" ":=" expr - 755 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr - 756 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr - 759 make_struct_dim_list: '(' make_struct_fields . ')' + 67 expression_else: elif_or_static_elif . '(' expr ')' optional_emit_semis expression_block expression_else - ',' shift, and go to state 1012 - ')' shift, and go to state 1475 + '(' shift, and go to state 1478 State 1453 - 760 make_struct_dim_list: make_struct_dim_list ',' . '(' make_struct_fields ')' - 812 optional_comma: ',' . + 82 expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_emit_semis expression_block expression_else . - '(' shift, and go to state 1476 - - $default reduce using rule 812 (optional_comma) + $default reduce using rule 82 (expression_if_then_else) State 1454 - 762 make_struct_dim_decl: make_struct_dim_list optional_comma . + 85 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list ')' optional_emit_semis . expression_block + + $default reduce using rule 232 ($@9) - $default reduce using rule 762 (make_struct_dim_decl) + expression_block go to state 1479 + $@9 go to state 332 State 1455 - 769 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' . + 231 expression_block_finally: "finally" $@7 '{' expressions $@8 '}' . - $default reduce using rule 769 (make_struct_decl) + $default reduce using rule 231 (expression_block_finally) State 1456 - 772 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' . + 296 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone . expr SEMICOLON - $default reduce using rule 772 (make_struct_decl) + "struct" shift, and go to state 414 + "class" shift, and go to state 415 + "true" shift, and go to state 416 + "false" shift, and go to state 417 + "new" shift, and go to state 418 + "typeinfo" shift, and go to state 419 + "type" shift, and go to state 420 + "array" shift, and go to state 421 + "null" shift, and go to state 422 + "table" shift, and go to state 423 + "deref" shift, and go to state 424 + "cast" shift, and go to state 425 + "upcast" shift, and go to state 426 + "addr" shift, and go to state 427 + "reinterpret" shift, and go to state 428 + "unsafe" shift, and go to state 429 + "fixed_array" shift, and go to state 430 + "default" shift, and go to state 431 + "bool" shift, and go to state 228 + "void" shift, and go to state 229 + "string" shift, and go to state 230 + "int" shift, and go to state 232 + "int2" shift, and go to state 233 + "int3" shift, and go to state 234 + "int4" shift, and go to state 235 + "uint" shift, and go to state 236 + "bitfield" shift, and go to state 432 + "uint2" shift, and go to state 238 + "uint3" shift, and go to state 239 + "uint4" shift, and go to state 240 + "float" shift, and go to state 241 + "float2" shift, and go to state 242 + "float3" shift, and go to state 243 + "float4" shift, and go to state 244 + "range" shift, and go to state 245 + "urange" shift, and go to state 246 + "range64" shift, and go to state 247 + "urange64" shift, and go to state 248 + "int64" shift, and go to state 250 + "uint64" shift, and go to state 251 + "double" shift, and go to state 252 + "int8" shift, and go to state 255 + "uint8" shift, and go to state 256 + "int16" shift, and go to state 257 + "uint16" shift, and go to state 258 + "tuple" shift, and go to state 433 + "variant" shift, and go to state 434 + "generator" shift, and go to state 435 + "++" shift, and go to state 436 + "--" shift, and go to state 437 + "::" shift, and go to state 55 + "$$" shift, and go to state 438 + "$i" shift, and go to state 439 + "$v" shift, and go to state 440 + "$b" shift, and go to state 441 + "$a" shift, and go to state 442 + "$c" shift, and go to state 443 + "..." shift, and go to state 444 + "integer constant" shift, and go to state 445 + "long integer constant" shift, and go to state 446 + "unsigned integer constant" shift, and go to state 447 + "unsigned long integer constant" shift, and go to state 448 + "unsigned int8 constant" shift, and go to state 449 + "floating point constant" shift, and go to state 450 + "double constant" shift, and go to state 451 + "name" shift, and go to state 56 + "start of the string" shift, and go to state 452 + '-' shift, and go to state 453 + '+' shift, and go to state 454 + '*' shift, and go to state 455 + '%' shift, and go to state 13 + '~' shift, and go to state 456 + '!' shift, and go to state 457 + '[' shift, and go to state 458 + '(' shift, and go to state 459 + '$' shift, and go to state 460 + '@' shift, and go to state 461 + '{' shift, and go to state 462 + string_builder go to state 463 + expr_reader go to state 464 + expr_call_pipe go to state 465 + name_in_namespace go to state 466 + expr_new go to state 467 + expr_cast go to state 468 + expr_type_decl go to state 469 + expr_type_info go to state 470 + block_or_lambda go to state 471 + expr_full_block go to state 472 + expr_numeric_const go to state 473 + expr_named_call go to state 474 + expr_method_call go to state 475 + func_addr_expr go to state 476 + expr_field go to state 477 + expr_call go to state 478 + expr go to state 1480 + expr_generator go to state 480 + expr_mtag go to state 481 + basic_type_declaration go to state 482 + make_decl go to state 483 + make_struct_decl go to state 484 + make_tuple_call go to state 485 + make_dim_decl go to state 486 + make_table_decl go to state 487 + array_comprehension go to state 488 -State 1457 - 307 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' . +State 1457 - $default reduce using rule 307 (expr_type_info) + 297 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr . SEMICOLON + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + + "is" shift, and go to state 603 + "as" shift, and go to state 604 + "<<" shift, and go to state 605 + ">>" shift, and go to state 606 + "++" shift, and go to state 607 + "--" shift, and go to state 608 + "<=" shift, and go to state 609 + ">=" shift, and go to state 610 + "==" shift, and go to state 611 + "!=" shift, and go to state 612 + "->" shift, and go to state 613 + "??" shift, and go to state 614 + "?." shift, and go to state 615 + "?[" shift, and go to state 616 + "<|" shift, and go to state 617 + "|>" shift, and go to state 618 + "<<<" shift, and go to state 619 + ">>>" shift, and go to state 620 + "&&" shift, and go to state 621 + "||" shift, and go to state 622 + "^^" shift, and go to state 623 + ".." shift, and go to state 624 + "emitted ;" shift, and go to state 690 + '?' shift, and go to state 625 + '|' shift, and go to state 626 + '^' shift, and go to state 627 + '&' shift, and go to state 628 + '<' shift, and go to state 629 + '>' shift, and go to state 630 + '-' shift, and go to state 631 + '+' shift, and go to state 632 + '*' shift, and go to state 633 + '/' shift, and go to state 634 + '%' shift, and go to state 635 + '.' shift, and go to state 636 + '[' shift, and go to state 637 + ';' shift, and go to state 691 + + SEMICOLON go to state 1481 State 1458 - 788 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl . ')' + 509 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header ';' . - ')' shift, and go to state 1477 + $default reduce using rule 509 (struct_variable_declaration_list) State 1459 - 791 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl . ')' + 511 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header . expression_block - ')' shift, and go to state 1478 + $default reduce using rule 232 ($@9) + + expression_block go to state 1482 + $@9 go to state 332 State 1460 - 794 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' . + 763 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 764 | make_struct_fields . ',' "name" ":=" expr + 767 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 768 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr + 771 make_struct_dim_list: '(' make_struct_fields . ')' - $default reduce using rule 794 (make_dim_decl) + ',' shift, and go to state 1018 + ')' shift, and go to state 1483 State 1461 - 802 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' . + 772 make_struct_dim_list: make_struct_dim_list ',' . '(' make_struct_fields ')' + 824 optional_comma: ',' . - $default reduce using rule 802 (make_dim_decl) + '(' shift, and go to state 1484 + + $default reduce using rule 824 (optional_comma) State 1462 - 784 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' . + 774 make_struct_dim_decl: make_struct_dim_list optional_comma . - $default reduce using rule 784 (make_tuple_call) + $default reduce using rule 774 (make_struct_dim_decl) State 1463 - 810 array_comprehension_where: ';' . "where" expr + 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' . - "where" shift, and go to state 1479 + $default reduce using rule 781 (make_struct_decl) State 1464 - 813 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where . ']' + 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' . - ']' shift, and go to state 1480 + $default reduce using rule 784 (make_struct_decl) State 1465 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 814 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr . array_comprehension_where ']' + 315 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' . + + $default reduce using rule 315 (expr_type_info) + + +State 1466 + + 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl . ')' + + ')' shift, and go to state 1485 + + +State 1467 + + 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl . ')' + + ')' shift, and go to state 1486 + + +State 1468 + + 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' . + + $default reduce using rule 806 (make_dim_decl) + + +State 1469 + + 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' . + + $default reduce using rule 814 (make_dim_decl) + + +State 1470 + + 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' . + + $default reduce using rule 796 (make_tuple_call) + + +State 1471 + + 822 array_comprehension_where: ';' . "where" expr + + "where" shift, and go to state 1487 + + +State 1472 + + 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where . ']' + + ']' shift, and go to state 1488 + + +State 1473 + + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 826 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr . array_comprehension_where ']' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -45455,83 +45640,83 @@ State 1465 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ';' shift, and go to state 1463 + ';' shift, and go to state 1471 - $default reduce using rule 809 (array_comprehension_where) + $default reduce using rule 821 (array_comprehension_where) - array_comprehension_where go to state 1481 + array_comprehension_where go to state 1489 -State 1466 +State 1474 - 815 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where . '}' + 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where . '}' - '}' shift, and go to state 1482 + '}' shift, and go to state 1490 -State 1467 +State 1475 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 756 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' ":=" expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 768 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' ":=" expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -45569,72 +45754,72 @@ State 1467 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 756 (make_struct_fields) + $default reduce using rule 768 (make_struct_fields) -State 1468 +State 1476 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 755 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' copy_or_move expr . + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 767 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' copy_or_move expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -45672,22 +45857,22 @@ State 1468 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 755 (make_struct_fields) + $default reduce using rule 767 (make_struct_fields) -State 1469 +State 1477 - 58 expression_else: "else" optional_semis . expression_block + 66 expression_else: "else" optional_emit_semis . expression_block - $default reduce using rule 224 ($@9) + $default reduce using rule 232 ($@9) - expression_block go to state 1483 + expression_block go to state 1491 $@9 go to state 332 -State 1470 +State 1478 - 59 expression_else: elif_or_static_elif '(' . expr ')' optional_semis expression_block expression_else + 67 expression_else: elif_or_static_elif '(' . expr ')' optional_emit_semis expression_block expression_else "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -45784,7 +45969,7 @@ State 1470 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1484 + expr go to state 1492 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -45796,163 +45981,166 @@ State 1470 array_comprehension go to state 488 -State 1471 +State 1479 - 77 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list ')' optional_semis expression_block . + 85 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list ')' optional_emit_semis expression_block . - $default reduce using rule 77 (expression_for_loop) + $default reduce using rule 85 (expression_for_loop) -State 1472 +State 1480 - 288 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr . ';' - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 296 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr . SEMICOLON + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + + "is" shift, and go to state 603 + "as" shift, and go to state 604 + "<<" shift, and go to state 605 + ">>" shift, and go to state 606 + "++" shift, and go to state 607 + "--" shift, and go to state 608 + "<=" shift, and go to state 609 + ">=" shift, and go to state 610 + "==" shift, and go to state 611 + "!=" shift, and go to state 612 + "->" shift, and go to state 613 + "??" shift, and go to state 614 + "?." shift, and go to state 615 + "?[" shift, and go to state 616 + "<|" shift, and go to state 617 + "|>" shift, and go to state 618 + "<<<" shift, and go to state 619 + ">>>" shift, and go to state 620 + "&&" shift, and go to state 621 + "||" shift, and go to state 622 + "^^" shift, and go to state 623 + ".." shift, and go to state 624 + "emitted ;" shift, and go to state 690 + '?' shift, and go to state 625 + '|' shift, and go to state 626 + '^' shift, and go to state 627 + '&' shift, and go to state 628 + '<' shift, and go to state 629 + '>' shift, and go to state 630 + '-' shift, and go to state 631 + '+' shift, and go to state 632 + '*' shift, and go to state 633 + '/' shift, and go to state 634 + '%' shift, and go to state 635 + '.' shift, and go to state 636 + '[' shift, and go to state 637 + ';' shift, and go to state 691 + + SEMICOLON go to state 1493 - "is" shift, and go to state 603 - "as" shift, and go to state 604 - "<<" shift, and go to state 605 - ">>" shift, and go to state 606 - "++" shift, and go to state 607 - "--" shift, and go to state 608 - "<=" shift, and go to state 609 - ">=" shift, and go to state 610 - "==" shift, and go to state 611 - "!=" shift, and go to state 612 - "->" shift, and go to state 613 - "??" shift, and go to state 614 - "?." shift, and go to state 615 - "?[" shift, and go to state 616 - "<|" shift, and go to state 617 - "|>" shift, and go to state 618 - "<<<" shift, and go to state 619 - ">>>" shift, and go to state 620 - "&&" shift, and go to state 621 - "||" shift, and go to state 622 - "^^" shift, and go to state 623 - ".." shift, and go to state 624 - '?' shift, and go to state 625 - '|' shift, and go to state 626 - '^' shift, and go to state 627 - '&' shift, and go to state 628 - '<' shift, and go to state 629 - '>' shift, and go to state 630 - '-' shift, and go to state 631 - '+' shift, and go to state 632 - '*' shift, and go to state 633 - '/' shift, and go to state 634 - '%' shift, and go to state 635 - '.' shift, and go to state 636 - '[' shift, and go to state 637 - ';' shift, and go to state 1485 +State 1481 -State 1473 - - 289 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr ';' . + 297 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr SEMICOLON . - $default reduce using rule 289 (tuple_expansion_variable_declaration) + $default reduce using rule 297 (tuple_expansion_variable_declaration) -State 1474 +State 1482 - 503 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block . + 511 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header expression_block . - $default reduce using rule 503 (struct_variable_declaration_list) + $default reduce using rule 511 (struct_variable_declaration_list) -State 1475 +State 1483 - 759 make_struct_dim_list: '(' make_struct_fields ')' . + 771 make_struct_dim_list: '(' make_struct_fields ')' . - $default reduce using rule 759 (make_struct_dim_list) + $default reduce using rule 771 (make_struct_dim_list) -State 1476 +State 1484 - 760 make_struct_dim_list: make_struct_dim_list ',' '(' . make_struct_fields ')' + 772 make_struct_dim_list: make_struct_dim_list ',' '(' . make_struct_fields ')' - "$f" shift, and go to state 786 - "name" shift, and go to state 1003 + "$f" shift, and go to state 790 + "name" shift, and go to state 1009 - make_struct_fields go to state 1486 + make_struct_fields go to state 1494 -State 1477 +State 1485 - 788 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' . + 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' . - $default reduce using rule 788 (make_dim_decl) + $default reduce using rule 800 (make_dim_decl) -State 1478 +State 1486 - 791 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' . + 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' . - $default reduce using rule 791 (make_dim_decl) + $default reduce using rule 803 (make_dim_decl) -State 1479 +State 1487 - 810 array_comprehension_where: ';' "where" . expr + 822 array_comprehension_where: ';' "where" . expr "struct" shift, and go to state 414 "class" shift, and go to state 415 @@ -46049,7 +46237,7 @@ State 1479 func_addr_expr go to state 476 expr_field go to state 477 expr_call go to state 478 - expr go to state 1487 + expr go to state 1495 expr_generator go to state 480 expr_mtag go to state 481 basic_type_declaration go to state 482 @@ -46061,97 +46249,97 @@ State 1479 array_comprehension go to state 488 -State 1480 +State 1488 - 813 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' . + 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' . - $default reduce using rule 813 (array_comprehension) + $default reduce using rule 825 (array_comprehension) -State 1481 +State 1489 - 814 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where . ']' + 826 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where . ']' - ']' shift, and go to state 1488 + ']' shift, and go to state 1496 -State 1482 +State 1490 - 815 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' . + 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' . - $default reduce using rule 815 (array_comprehension) + $default reduce using rule 827 (array_comprehension) -State 1483 +State 1491 - 58 expression_else: "else" optional_semis expression_block . + 66 expression_else: "else" optional_emit_semis expression_block . - $default reduce using rule 58 (expression_else) + $default reduce using rule 66 (expression_else) -State 1484 +State 1492 - 59 expression_else: elif_or_static_elif '(' expr . ')' optional_semis expression_block expression_else - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' + 67 expression_else: elif_or_static_elif '(' expr . ')' optional_emit_semis expression_block expression_else + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -46188,91 +46376,91 @@ State 1484 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1489 - - -State 1485 - - 288 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr ';' . - - $default reduce using rule 288 (tuple_expansion_variable_declaration) - - -State 1486 - - 751 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr - 752 | make_struct_fields . ',' "name" ":=" expr - 755 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr - 756 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr - 760 make_struct_dim_list: make_struct_dim_list ',' '(' make_struct_fields . ')' - - ',' shift, and go to state 1012 - ')' shift, and go to state 1490 + ')' shift, and go to state 1497 -State 1487 +State 1493 - 356 expr_method_call: expr . "->" "name" '(' ')' - 357 | expr . "->" "name" '(' expr_list ')' - 367 expr_field: expr . '.' "name" - 368 | expr . '.' '.' "name" - 369 | expr . '.' "name" '(' ')' - 370 | expr . '.' "name" '(' expr_list ')' - 371 | expr . '.' basic_type_declaration '(' ')' - 372 | expr . '.' basic_type_declaration '(' expr_list ')' - 375 | expr . '.' $@25 error $@26 - 397 expr: expr . "<<" expr - 398 | expr . ">>" expr - 399 | expr . "<<<" expr - 400 | expr . ">>>" expr - 401 | expr . '+' expr - 402 | expr . '-' expr - 403 | expr . '*' expr - 404 | expr . '/' expr - 405 | expr . '%' expr - 406 | expr . '<' expr - 407 | expr . '>' expr - 408 | expr . "==" expr - 409 | expr . "!=" expr - 410 | expr . "<=" expr - 411 | expr . ">=" expr - 412 | expr . '&' expr - 413 | expr . '|' expr - 414 | expr . '^' expr - 415 | expr . "&&" expr - 416 | expr . "||" expr - 417 | expr . "^^" expr - 418 | expr . ".." expr - 421 | expr . "++" - 422 | expr . "--" - 424 | expr . '[' expr ']' - 425 | expr . '.' '[' expr ']' - 426 | expr . "?[" expr ']' - 427 | expr . '.' "?[" expr ']' - 428 | expr . "?." "name" - 429 | expr . '.' "?." "name" - 436 | expr . "??" expr - 437 | expr . '?' expr ':' expr - 440 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 - 441 | expr . "is" basic_type_declaration - 442 | expr . "is" "name" - 443 | expr . "as" "name" - 446 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 - 447 | expr . "as" basic_type_declaration - 448 | expr . '?' "as" "name" - 451 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 - 452 | expr . '?' "as" basic_type_declaration - 460 | expr . "<|" expr - 461 | expr . "|>" expr - 462 | expr . "|>" basic_type_declaration - 476 expr_mtag: expr . '.' "$f" '(' expr ')' - 477 | expr . "?." "$f" '(' expr ')' - 478 | expr . '.' '.' "$f" '(' expr ')' - 479 | expr . '.' "?." "$f" '(' expr ')' - 480 | expr . "as" "$f" '(' expr ')' - 481 | expr . '?' "as" "$f" '(' expr ')' - 482 | expr . "is" "$f" '(' expr ')' - 810 array_comprehension_where: ';' "where" expr . + 296 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON . + + $default reduce using rule 296 (tuple_expansion_variable_declaration) + + +State 1494 + + 763 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 764 | make_struct_fields . ',' "name" ":=" expr + 767 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 768 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr + 772 make_struct_dim_list: make_struct_dim_list ',' '(' make_struct_fields . ')' + + ',' shift, and go to state 1018 + ')' shift, and go to state 1498 + + +State 1495 + + 364 expr_method_call: expr . "->" "name" '(' ')' + 365 | expr . "->" "name" '(' expr_list ')' + 375 expr_field: expr . '.' "name" + 376 | expr . '.' '.' "name" + 377 | expr . '.' "name" '(' ')' + 378 | expr . '.' "name" '(' expr_list ')' + 379 | expr . '.' basic_type_declaration '(' ')' + 380 | expr . '.' basic_type_declaration '(' expr_list ')' + 383 | expr . '.' $@25 error $@26 + 405 expr: expr . "<<" expr + 406 | expr . ">>" expr + 407 | expr . "<<<" expr + 408 | expr . ">>>" expr + 409 | expr . '+' expr + 410 | expr . '-' expr + 411 | expr . '*' expr + 412 | expr . '/' expr + 413 | expr . '%' expr + 414 | expr . '<' expr + 415 | expr . '>' expr + 416 | expr . "==" expr + 417 | expr . "!=" expr + 418 | expr . "<=" expr + 419 | expr . ">=" expr + 420 | expr . '&' expr + 421 | expr . '|' expr + 422 | expr . '^' expr + 423 | expr . "&&" expr + 424 | expr . "||" expr + 425 | expr . "^^" expr + 426 | expr . ".." expr + 429 | expr . "++" + 430 | expr . "--" + 432 | expr . '[' expr ']' + 433 | expr . '.' '[' expr ']' + 434 | expr . "?[" expr ']' + 435 | expr . '.' "?[" expr ']' + 436 | expr . "?." "name" + 437 | expr . '.' "?." "name" + 444 | expr . "??" expr + 445 | expr . '?' expr ':' expr + 448 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 449 | expr . "is" basic_type_declaration + 450 | expr . "is" "name" + 451 | expr . "as" "name" + 454 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 455 | expr . "as" basic_type_declaration + 456 | expr . '?' "as" "name" + 459 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 460 | expr . '?' "as" basic_type_declaration + 468 | expr . "<|" expr + 469 | expr . "|>" expr + 470 | expr . "|>" basic_type_declaration + 484 expr_mtag: expr . '.' "$f" '(' expr ')' + 485 | expr . "?." "$f" '(' expr ')' + 486 | expr . '.' '.' "$f" '(' expr ')' + 487 | expr . '.' "?." "$f" '(' expr ')' + 488 | expr . "as" "$f" '(' expr ')' + 489 | expr . '?' "as" "$f" '(' expr ')' + 490 | expr . "is" "$f" '(' expr ')' + 822 array_comprehension_where: ';' "where" expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -46310,61 +46498,61 @@ State 1487 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 810 (array_comprehension_where) + $default reduce using rule 822 (array_comprehension_where) -State 1488 +State 1496 - 814 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' . + 826 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' . - $default reduce using rule 814 (array_comprehension) + $default reduce using rule 826 (array_comprehension) -State 1489 +State 1497 - 59 expression_else: elif_or_static_elif '(' expr ')' . optional_semis expression_block expression_else + 67 expression_else: elif_or_static_elif '(' expr ')' . optional_emit_semis expression_block expression_else - ';' shift, and go to state 171 + "emitted ;" shift, and go to state 171 - $default reduce using rule 71 (optional_semis) + $default reduce using rule 63 (optional_emit_semis) - semis go to state 172 - optional_semis go to state 1491 + emit_semis go to state 172 + optional_emit_semis go to state 1499 -State 1490 +State 1498 - 760 make_struct_dim_list: make_struct_dim_list ',' '(' make_struct_fields ')' . + 772 make_struct_dim_list: make_struct_dim_list ',' '(' make_struct_fields ')' . - $default reduce using rule 760 (make_struct_dim_list) + $default reduce using rule 772 (make_struct_dim_list) -State 1491 +State 1499 - 59 expression_else: elif_or_static_elif '(' expr ')' optional_semis . expression_block expression_else + 67 expression_else: elif_or_static_elif '(' expr ')' optional_emit_semis . expression_block expression_else - $default reduce using rule 224 ($@9) + $default reduce using rule 232 ($@9) - expression_block go to state 1492 + expression_block go to state 1500 $@9 go to state 332 -State 1492 +State 1500 - 59 expression_else: elif_or_static_elif '(' expr ')' optional_semis expression_block . expression_else + 67 expression_else: elif_or_static_elif '(' expr ')' optional_emit_semis expression_block . expression_else - "else" shift, and go to state 1441 - "elif" shift, and go to state 1442 - "static_elif" shift, and go to state 1443 + "else" shift, and go to state 1449 + "elif" shift, and go to state 1450 + "static_elif" shift, and go to state 1451 - $default reduce using rule 57 (expression_else) + $default reduce using rule 65 (expression_else) - elif_or_static_elif go to state 1444 - expression_else go to state 1493 + elif_or_static_elif go to state 1452 + expression_else go to state 1501 -State 1493 +State 1501 - 59 expression_else: elif_or_static_elif '(' expr ')' optional_semis expression_block expression_else . + 67 expression_else: elif_or_static_elif '(' expr ')' optional_emit_semis expression_block expression_else . - $default reduce using rule 59 (expression_else) + $default reduce using rule 67 (expression_else) diff --git a/src/parser/ds2_parser.ypp b/src/parser/ds2_parser.ypp index 67c7926de..6b0289670 100644 --- a/src/parser/ds2_parser.ypp +++ b/src/parser/ds2_parser.ypp @@ -320,6 +320,9 @@ %token DOUBLE "double constant" %token NAME "name" +%token DAS_EMIT_COMMA "emitted ," +%token DAS_EMIT_SEMICOLON "emitted ;" + /* %printer { fprintf (yyo, "%i", $$); } */ %token BEGIN_STRING "start of the string" @@ -549,6 +552,16 @@ program | program ';' ; +COMMA + : ',' + | DAS_EMIT_COMMA + ; + +SEMICOLON + : ';' + | DAS_EMIT_SEMICOLON + ; + top_level_reader_macro : expr_reader[rdr] ';' { delete $rdr; // we do nothing, we don't even attemp to 'visit' @@ -782,10 +795,20 @@ elif_or_static_elif | DAS_STATIC_ELIF { $$ = true; } ; +emit_semis + : DAS_EMIT_SEMICOLON + | emit_semis DAS_EMIT_SEMICOLON + ; + +optional_emit_semis + : + | emit_semis + ; + expression_else : { $$ = nullptr; } - | DAS_ELSE optional_semis expression_block[block] { $$ = $block; } - | elif_or_static_elif[loc] '(' expr[cond] ')' optional_semis expression_block[block] expression_else[then] { + | DAS_ELSE optional_emit_semis expression_block[block] { $$ = $block; } + | elif_or_static_elif[loc] '(' expr[cond] ')' optional_emit_semis expression_block[block] expression_else[then] { auto eite = new ExprIfThenElse(tokAt(scanner,@loc),ExpressionPtr($cond), ExpressionPtr($block),ExpressionPtr($then)); eite->isStatic = $loc; @@ -814,8 +837,8 @@ expression_if_one_liner ; semis - : ';' - | semis ';' + : SEMICOLON + | semis SEMICOLON ; optional_semis @@ -826,7 +849,7 @@ optional_semis expression_if_then_else : { yyextra->das_keyword = true; - } if_or_static_if[loc] '(' expr[cond] ')' optional_semis expression_block[block] expression_else[then] { + } if_or_static_if[loc] '(' expr[cond] ')' optional_emit_semis expression_block[block] expression_else[then] { yyextra->das_keyword = false; auto eite = new ExprIfThenElse(tokAt(scanner,@loc),ExpressionPtr($cond), ExpressionPtr($block),ExpressionPtr($then)); @@ -836,7 +859,7 @@ expression_if_then_else ; expression_if_then_else_oneliner - : expression_if_one_liner[if_true] DAS_IF[loc] '(' expr[cond] ')' expression_else_one_liner[if_false] ';' { + : expression_if_one_liner[if_true] DAS_IF[loc] '(' expr[cond] ')' expression_else_one_liner[if_false] SEMICOLON { $$ = new ExprIfThenElse(tokAt(scanner,@loc),ExpressionPtr($cond),ExpressionPtr(ast_wrapInBlock($if_true)),$if_false ? ExpressionPtr(ast_wrapInBlock($if_false)) : nullptr); } ; @@ -845,14 +868,14 @@ expression_if_then_else_oneliner expression_for_loop : { yyextra->das_keyword = true; - } DAS_FOR[loc] '(' variable_name_with_pos_list[iters] DAS_IN expr_list[srcs] ')' optional_semis expression_block[block] { + } DAS_FOR[loc] '(' variable_name_with_pos_list[iters] DAS_IN expr_list[srcs] ')' optional_emit_semis expression_block[block] { yyextra->das_keyword = false; $$ = ast_forLoop(scanner,$iters,$srcs,$block,tokAt(scanner,@loc),tokAt(scanner,@block)); } ; expression_unsafe - : DAS_UNSAFE[loc] optional_semis expression_block[block] { + : DAS_UNSAFE[loc] optional_emit_semis expression_block[block] { auto pUnsafe = new ExprUnsafe(tokAt(scanner,@loc)); pUnsafe->body = ExpressionPtr($block); $$ = pUnsafe; @@ -862,7 +885,7 @@ expression_unsafe expression_while_loop : { yyextra->das_keyword = true; - } DAS_WHILE[loc] '(' expr[condition] ')' optional_semis expression_block[block] { + } DAS_WHILE[loc] '(' expr[condition] ')' optional_emit_semis expression_block[block] { yyextra->das_keyword = false; auto pWhile = new ExprWhile(tokAt(scanner,@loc)); pWhile->cond = ExpressionPtr($condition); @@ -875,7 +898,7 @@ expression_while_loop expression_with : { yyextra->das_keyword = true; - } DAS_WITH[loc] '(' expr[with] ')' optional_semis expression_block[block] { + } DAS_WITH[loc] '(' expr[with] ')' optional_emit_semis expression_block[block] { yyextra->das_keyword = false; auto pWith = new ExprWith(tokAt(scanner,@loc)); pWith->with = ExpressionPtr($with); @@ -1217,10 +1240,8 @@ expression_block_finally $$ = nullptr; } | DAS_FINALLY { - yyextra->das_indent_level++; - yyextra->push_nesteds(); + yyextra->push_nesteds(DAS_EMIT_SEMICOLON); } '{' expressions[final] { - yyextra->das_indent_level--; yyextra->pop_nesteds(); } '}' { $$ = $final; @@ -1229,10 +1250,8 @@ expression_block_finally expression_block : { - yyextra->das_indent_level++; - yyextra->push_nesteds(); + yyextra->push_nesteds(DAS_EMIT_SEMICOLON); } '{' [bbegin] expressions[block] { - yyextra->das_indent_level--; yyextra->pop_nesteds(); } '}' expression_block_finally[fin] { $$ = $block; @@ -1260,25 +1279,25 @@ expr_call_pipe expression_any - : ';' { $$ = nullptr; } - | expr_assign[subexpr] ';' { $$ = $subexpr; } - | expression_delete[subexpr] ';' { $$ = $subexpr; } - | expression_let[subexpr] { $$ = $subexpr; } - | expression_while_loop[subexpr] { $$ = $subexpr; } - | expression_unsafe[subexpr] { $$ = $subexpr; } - | expression_with[subexpr] { $$ = $subexpr; } - | expression_with_alias[subexpr] ';' { $$ = $subexpr; } - | expression_for_loop[subexpr] { $$ = $subexpr; } - | expression_break[subexpr] ';' { $$ = $subexpr; } - | expression_continue[subexpr] ';' { $$ = $subexpr; } - | expression_return[subexpr] ';' { $$ = $subexpr; } - | expression_yield[subexpr] ';' { $$ = $subexpr; } - | expression_if_then_else[subexpr] { $$ = $subexpr; } + : SEMICOLON { $$ = nullptr; } + | expr_assign[subexpr] SEMICOLON { $$ = $subexpr; } + | expression_delete[subexpr] SEMICOLON { $$ = $subexpr; } + | expression_let[subexpr] { $$ = $subexpr; } + | expression_while_loop[subexpr] { $$ = $subexpr; } + | expression_unsafe[subexpr] { $$ = $subexpr; } + | expression_with[subexpr] { $$ = $subexpr; } + | expression_with_alias[subexpr] SEMICOLON { $$ = $subexpr; } + | expression_for_loop[subexpr] { $$ = $subexpr; } + | expression_break[subexpr] SEMICOLON { $$ = $subexpr; } + | expression_continue[subexpr] SEMICOLON { $$ = $subexpr; } + | expression_return[subexpr] SEMICOLON { $$ = $subexpr; } + | expression_yield[subexpr] SEMICOLON { $$ = $subexpr; } + | expression_if_then_else[subexpr] { $$ = $subexpr; } | expression_if_then_else_oneliner[subexpr] { $$ = $subexpr; } - | expression_try_catch[subexpr] { $$ = $subexpr; } - | expression_label[subexpr] ';' { $$ = $subexpr; } - | expression_goto[subexpr] ';' { $$ = $subexpr; } - | DAS_PASS ';' { $$ = nullptr; } + | expression_try_catch[subexpr] { $$ = $subexpr; } + | expression_label[subexpr] SEMICOLON { $$ = $subexpr; } + | expression_goto[subexpr] SEMICOLON { $$ = $subexpr; } + | DAS_PASS SEMICOLON { $$ = nullptr; } ; expressions @@ -1455,13 +1474,13 @@ tuple_expansion ; tuple_expansion_variable_declaration - : '(' tuple_expansion[list] ')' ':' type_declaration_no_options[typeDecl] copy_or_move_or_clone[com] expr[init] ';' { + : '(' tuple_expansion[list] ')' ':' type_declaration_no_options[typeDecl] copy_or_move_or_clone[com] expr[init] SEMICOLON { $$ = new VariableDeclaration($list,tokAt(scanner,@list),$typeDecl,$init); $$->init_via_move = ($com & CorM_MOVE) !=0; $$->init_via_clone = ($com & CorM_CLONE) !=0; $$->isTupleExpansion = true; } - | '(' tuple_expansion[list] ')' optional_ref[ref] copy_or_move_or_clone[com] expr[init] ';' { + | '(' tuple_expansion[list] ')' optional_ref[ref] copy_or_move_or_clone[com] expr[init] SEMICOLON { auto typeDecl = new TypeDecl(Type::autoinfer); typeDecl->at = tokAt(scanner,@list); typeDecl->ref = $ref; @@ -1604,14 +1623,14 @@ optional_capture_list expr_full_block : block_or_lambda[bal] optional_annotation_list[annL] optional_capture_list[clist] optional_function_argument_list[list] - optional_function_type[result] optional_semis block_or_simple_block[block] { + optional_function_type[result] optional_emit_semis block_or_simple_block[block] { $$ = ast_makeBlock(scanner,$bal,$annL,$clist,$list,$result,$block,tokAt(scanner,@block),tokAt(scanner,@annL)); } ; expr_full_block_assumed_piped : block_or_lambda[bal] optional_annotation_list[annL] optional_capture_list[clist] optional_function_argument_list[list] - optional_function_type[result] optional_semis expression_block[block] { + optional_function_type[result] optional_emit_semis expression_block[block] { $$ = ast_makeBlock(scanner,$bal,$annL,$clist,$list,$result,$block,tokAt(scanner,@block),tokAt(scanner,@annL)); } | '{' expressions[block] '}' { @@ -1941,7 +1960,7 @@ expr_generator | DAS_GENERATOR[loc] '<' type_declaration_no_options[typeDecl] '>' optional_capture_list[clist] '(' expr[subexpr] ')' { $$ = ast_makeGenerator(scanner,$typeDecl,$clist,$subexpr,tokAt(scanner,@loc)); } - | DAS_GENERATOR[loc] '<' type_declaration_no_options[typeDecl] '>' optional_capture_list[clist] optional_semis expression_block[block] { + | DAS_GENERATOR[loc] '<' type_declaration_no_options[typeDecl] '>' optional_capture_list[clist] optional_emit_semis expression_block[block] { auto closure = new ExprMakeBlock(tokAt(scanner,@block),ExpressionPtr($block)); ((ExprBlock *)$block)->returnType = make_smart(Type::autoinfer); $$ = ast_makeGenerator(scanner,$typeDecl,$clist,closure,tokAt(scanner,@loc)); @@ -2295,15 +2314,15 @@ variable_declaration_list ; let_variable_declaration /* let x; is prohibited. this one can't have uninitialized variable which has no type */ - : let_variable_name_with_pos_list[list] ':' type_declaration_no_options[typeDecl] ';' { + : let_variable_name_with_pos_list[list] ':' type_declaration_no_options[typeDecl] SEMICOLON { $$ = new VariableDeclaration($list,$typeDecl,nullptr); } - | let_variable_name_with_pos_list[list] ':' type_declaration_no_options[typeDecl] copy_or_move_or_clone[com] expr[init] ';' { + | let_variable_name_with_pos_list[list] ':' type_declaration_no_options[typeDecl] copy_or_move_or_clone[com] expr[init] SEMICOLON { $$ = new VariableDeclaration($list,$typeDecl,$init); $$->init_via_move = ($com & CorM_MOVE) !=0; $$->init_via_clone = ($com & CorM_CLONE) !=0; } - | let_variable_name_with_pos_list[list] optional_ref[ref] copy_or_move_or_clone[com] expr[init] ';' { + | let_variable_name_with_pos_list[list] optional_ref[ref] copy_or_move_or_clone[com] expr[init] SEMICOLON { auto typeDecl = new TypeDecl(Type::autoinfer); typeDecl->at = tokAt(scanner,@list); typeDecl->ref = $ref; @@ -2405,8 +2424,8 @@ enum_expression ; commas - : ',' - | commas ',' + : COMMA + | commas COMMA ; enum_list @@ -2509,11 +2528,20 @@ optional_commas | commas ; +emit_commas + : DAS_EMIT_COMMA + | emit_commas DAS_EMIT_COMMA + ; + +optional_emit_commas + : + | emit_commas + ; + enum_declaration : optional_annotation_list[annL] DAS_ENUM[loc] { - yyextra->das_indent_char = ','; - yyextra->das_indent_level++; - } optional_public_or_private_enum[pubE] enum_name[edecl] optional_enum_basic_type_declaration[ebt] optional_commas '{' { + yyextra->push_nesteds(DAS_EMIT_COMMA); + } optional_public_or_private_enum[pubE] enum_name[edecl] optional_enum_basic_type_declaration[ebt] optional_emit_commas '{' { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,@edecl); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeEnumerationEntries(tak); @@ -2523,8 +2551,7 @@ enum_declaration auto tak = tokAt(scanner,@pE); for ( auto & crd : yyextra->g_CommentReaders ) crd->afterEnumerationEntries(tak); } - yyextra->das_indent_level--; - yyextra->das_indent_char = ';'; + yyextra->pop_nesteds(); } '}' { if ( !yyextra->g_CommentReaders.empty() ) { auto pubename = tokAt(scanner,@pE); @@ -2760,8 +2787,8 @@ bitfield_type_declaration ; c_or_s - : ',' - | ';' + : COMMA + | SEMICOLON ; table_type_pair @@ -3026,8 +3053,8 @@ type_declaration tuple_alias_declaration : DAS_TTUPLE { - yyextra->das_indent_level++; - } optional_public_or_private_alias[pubA] NAME[vname] optional_semis { + yyextra->push_nesteds(DAS_EMIT_SEMICOLON); + } optional_public_or_private_alias[pubA] NAME[vname] optional_emit_semis { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,@vname); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeTuple(atvname); @@ -3042,7 +3069,7 @@ tuple_alias_declaration auto atvname = tokAt(scanner,@vname); for ( auto & crd : yyextra->g_CommentReaders ) crd->afterTupleEntries(atvname); } - yyextra->das_indent_level--; + yyextra->pop_nesteds(); } '}' { auto vtype = make_smart(Type::tTuple); vtype->alias = *$vname; @@ -3064,8 +3091,8 @@ tuple_alias_declaration variant_alias_declaration : DAS_TVARIANT { - yyextra->das_indent_level++; - } optional_public_or_private_alias[pubA] NAME[vname] optional_semis { + yyextra->push_nesteds(DAS_EMIT_SEMICOLON); + } optional_public_or_private_alias[pubA] NAME[vname] optional_emit_semis { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,@vname); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeVariant(atvname); @@ -3081,7 +3108,7 @@ variant_alias_declaration auto atvname = tokAt(scanner,@vname); for ( auto & crd : yyextra->g_CommentReaders ) crd->afterVariantEntries(atvname); } - yyextra->das_indent_level--; + yyextra->pop_nesteds(); } '}' { auto vtype = make_smart(Type::tVariant); vtype->alias = *$vname; @@ -3103,9 +3130,8 @@ variant_alias_declaration bitfield_alias_declaration : DAS_TBITFIELD { - yyextra->das_indent_level++; - yyextra->das_indent_char = ','; - } optional_public_or_private_alias[pubA] NAME[vname] optional_commas { + yyextra->push_nesteds(DAS_EMIT_COMMA); + } optional_public_or_private_alias[pubA] NAME[vname] optional_emit_commas { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,@vname); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeBitfield(atvname); @@ -3120,8 +3146,7 @@ bitfield_alias_declaration auto atvname = tokAt(scanner,@vname); for ( auto & crd : yyextra->g_CommentReaders ) crd->afterBitfieldEntries(atvname); } - yyextra->das_indent_level--; - yyextra->das_indent_char = ';'; + yyextra->pop_nesteds(); } '}' { auto btype = make_smart(Type::tBitfield); btype->alias = *$vname; diff --git a/src/parser/parser_state.h b/src/parser/parser_state.h index 4133eddc9..5fc7c5472 100644 --- a/src/parser/parser_state.h +++ b/src/parser/parser_state.h @@ -11,6 +11,7 @@ namespace das { struct Nesteds { int parentheses = 0; int square_braces = 0; + int emit_char = 0; bool keyword = false; }; @@ -46,19 +47,23 @@ namespace das { vector g_FileAccessStack; FileAccessPtr g_Access; ProgramPtr g_Program; - void push_nesteds() { + void push_nesteds ( int Ch) { // printf("push nesteds\n"); - das_nesteds.push_back({das_nested_parentheses, das_nested_square_braces, das_keyword}); + das_indent_level ++; + das_nesteds.push_back({das_nested_parentheses, das_nested_square_braces, das_indent_char, das_keyword}); das_nested_parentheses = 0; das_nested_square_braces = 0; + das_indent_char = Ch; das_keyword = false; } void pop_nesteds() { if ( das_nesteds.size() ) { // printf("pop nesteds\n"); + das_indent_level --; auto & n = das_nesteds.back(); das_nested_parentheses = n.parentheses; das_nested_square_braces = n.square_braces; + das_indent_char = n.emit_char; das_keyword = n.keyword; das_nesteds.pop_back(); }