diff --git a/examples/test/misc/hello_new_syntax.das b/examples/test/misc/hello_new_syntax.das index fbec84923..c7a34e294 100644 --- a/examples/test/misc/hello_new_syntax.das +++ b/examples/test/misc/hello_new_syntax.das @@ -27,12 +27,21 @@ let G_A = 5; // struct declaration struct Foo { - a : int = 5; - b : int; + a : int = 5 + b : int +} + +struct FooWhitespace + +{ + + a : int = 5 + b : int + } struct Bar : Foo { // structure with inheritance - c : float; + c : float } [safe_when_uninitialized] // structure annotation @@ -45,12 +54,30 @@ struct Baz : Bar { // structure with methods } } +[safe_when_uninitialized] // structure annotation + +struct BazWhitespace : Bar + +{ + + def Baz + { + c = 3.14 + } + + def add ( value:int ) + { + a += value + } + +} + class Cls { // class with methods @big // with metadata @min=13 @max=42 - private foobar : int; - static foobars : float; + private foobar : int + static foobars : float def public foo { debug("foo") } @@ -60,7 +87,7 @@ class Cls { // class with methods def static static_method { debug("static_method") } - def abstract abstract_method ( a : int ) : float; + def abstract abstract_method ( a : int ) : float [unsafe_deref] // note function annotation def base_method { } @@ -162,8 +189,8 @@ def bitfield_use_example { // making structures struct Mks { - a : int = 1; - b : float = 2.0; + a : int = 1 + b : float = 2.0 def Mks ( t : int ) { a = t b = float(t) @@ -503,7 +530,7 @@ def test_method_like_call_syntax() { [comment (i=1,f=2.0,s="three",b=false)] struct Event { - i : int; + i : int } [export] diff --git a/examples/test/misc/hello_world.das b/examples/test/misc/hello_world.das index fbec84923..c7a34e294 100644 --- a/examples/test/misc/hello_world.das +++ b/examples/test/misc/hello_world.das @@ -27,12 +27,21 @@ let G_A = 5; // struct declaration struct Foo { - a : int = 5; - b : int; + a : int = 5 + b : int +} + +struct FooWhitespace + +{ + + a : int = 5 + b : int + } struct Bar : Foo { // structure with inheritance - c : float; + c : float } [safe_when_uninitialized] // structure annotation @@ -45,12 +54,30 @@ struct Baz : Bar { // structure with methods } } +[safe_when_uninitialized] // structure annotation + +struct BazWhitespace : Bar + +{ + + def Baz + { + c = 3.14 + } + + def add ( value:int ) + { + a += value + } + +} + class Cls { // class with methods @big // with metadata @min=13 @max=42 - private foobar : int; - static foobars : float; + private foobar : int + static foobars : float def public foo { debug("foo") } @@ -60,7 +87,7 @@ class Cls { // class with methods def static static_method { debug("static_method") } - def abstract abstract_method ( a : int ) : float; + def abstract abstract_method ( a : int ) : float [unsafe_deref] // note function annotation def base_method { } @@ -162,8 +189,8 @@ def bitfield_use_example { // making structures struct Mks { - a : int = 1; - b : float = 2.0; + a : int = 1 + b : float = 2.0 def Mks ( t : int ) { a = t b = float(t) @@ -503,7 +530,7 @@ def test_method_like_call_syntax() { [comment (i=1,f=2.0,s="three",b=false)] struct Event { - i : int; + i : int } [export] diff --git a/src/parser/ds2_parser.cpp b/src/parser/ds2_parser.cpp index 5a7eb4ade..d1637278e 100644 --- a/src/parser/ds2_parser.cpp +++ b/src/parser/ds2_parser.cpp @@ -398,239 +398,241 @@ enum yysymbol_kind_t 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_optional_annotation_list_with_emit_semis = 263, /* optional_annotation_list_with_emit_semis */ + YYSYMBOL_optional_function_argument_list = 264, /* optional_function_argument_list */ + YYSYMBOL_optional_function_type = 265, /* optional_function_type */ + YYSYMBOL_function_name = 266, /* function_name */ + YYSYMBOL_global_function_declaration = 267, /* global_function_declaration */ + YYSYMBOL_optional_public_or_private_function = 268, /* optional_public_or_private_function */ + YYSYMBOL_function_declaration_header = 269, /* function_declaration_header */ + YYSYMBOL_function_declaration = 270, /* function_declaration */ + YYSYMBOL_271_6 = 271, /* $@6 */ + YYSYMBOL_expression_block_finally = 272, /* expression_block_finally */ + YYSYMBOL_273_7 = 273, /* $@7 */ + YYSYMBOL_274_8 = 274, /* $@8 */ + YYSYMBOL_expression_block = 275, /* expression_block */ + YYSYMBOL_276_9 = 276, /* $@9 */ + YYSYMBOL_277_10 = 277, /* $@10 */ + YYSYMBOL_expr_call_pipe = 278, /* expr_call_pipe */ + YYSYMBOL_expression_any = 279, /* expression_any */ + YYSYMBOL_expressions = 280, /* expressions */ + YYSYMBOL_optional_expr_list = 281, /* optional_expr_list */ + YYSYMBOL_optional_expr_map_tuple_list = 282, /* optional_expr_map_tuple_list */ + YYSYMBOL_type_declaration_no_options_list = 283, /* type_declaration_no_options_list */ + YYSYMBOL_name_in_namespace = 284, /* name_in_namespace */ + YYSYMBOL_expression_delete = 285, /* expression_delete */ + YYSYMBOL_new_type_declaration = 286, /* new_type_declaration */ + YYSYMBOL_287_11 = 287, /* $@11 */ + YYSYMBOL_288_12 = 288, /* $@12 */ + YYSYMBOL_expr_new = 289, /* expr_new */ + YYSYMBOL_expression_break = 290, /* expression_break */ + YYSYMBOL_expression_continue = 291, /* expression_continue */ + YYSYMBOL_expression_return = 292, /* expression_return */ + YYSYMBOL_expression_yield = 293, /* expression_yield */ + YYSYMBOL_expression_try_catch = 294, /* expression_try_catch */ + YYSYMBOL_kwd_let_var_or_nothing = 295, /* kwd_let_var_or_nothing */ + YYSYMBOL_kwd_let = 296, /* kwd_let */ + YYSYMBOL_optional_in_scope = 297, /* optional_in_scope */ + YYSYMBOL_tuple_expansion = 298, /* tuple_expansion */ + YYSYMBOL_tuple_expansion_variable_declaration = 299, /* tuple_expansion_variable_declaration */ + YYSYMBOL_expression_let = 300, /* expression_let */ + YYSYMBOL_expr_cast = 301, /* expr_cast */ + YYSYMBOL_302_13 = 302, /* $@13 */ + YYSYMBOL_303_14 = 303, /* $@14 */ + YYSYMBOL_304_15 = 304, /* $@15 */ + YYSYMBOL_305_16 = 305, /* $@16 */ + YYSYMBOL_306_17 = 306, /* $@17 */ + YYSYMBOL_307_18 = 307, /* $@18 */ + YYSYMBOL_expr_type_decl = 308, /* expr_type_decl */ + YYSYMBOL_309_19 = 309, /* $@19 */ + YYSYMBOL_310_20 = 310, /* $@20 */ + YYSYMBOL_expr_type_info = 311, /* expr_type_info */ + YYSYMBOL_expr_list = 312, /* expr_list */ + YYSYMBOL_block_or_simple_block = 313, /* block_or_simple_block */ + YYSYMBOL_block_or_lambda = 314, /* block_or_lambda */ + YYSYMBOL_capture_entry = 315, /* capture_entry */ + YYSYMBOL_capture_list = 316, /* capture_list */ + YYSYMBOL_optional_capture_list = 317, /* optional_capture_list */ + YYSYMBOL_expr_full_block = 318, /* expr_full_block */ + YYSYMBOL_expr_full_block_assumed_piped = 319, /* expr_full_block_assumed_piped */ + YYSYMBOL_expr_numeric_const = 320, /* expr_numeric_const */ + YYSYMBOL_expr_assign = 321, /* expr_assign */ + YYSYMBOL_expr_named_call = 322, /* expr_named_call */ + YYSYMBOL_expr_method_call = 323, /* expr_method_call */ + YYSYMBOL_func_addr_name = 324, /* func_addr_name */ + YYSYMBOL_func_addr_expr = 325, /* func_addr_expr */ + YYSYMBOL_326_21 = 326, /* $@21 */ + YYSYMBOL_327_22 = 327, /* $@22 */ + YYSYMBOL_328_23 = 328, /* $@23 */ + YYSYMBOL_329_24 = 329, /* $@24 */ + YYSYMBOL_expr_field = 330, /* expr_field */ + YYSYMBOL_331_25 = 331, /* $@25 */ + YYSYMBOL_332_26 = 332, /* $@26 */ + YYSYMBOL_expr_call = 333, /* expr_call */ + YYSYMBOL_expr = 334, /* expr */ + YYSYMBOL_335_27 = 335, /* $@27 */ + YYSYMBOL_336_28 = 336, /* $@28 */ + YYSYMBOL_337_29 = 337, /* $@29 */ + YYSYMBOL_338_30 = 338, /* $@30 */ + YYSYMBOL_339_31 = 339, /* $@31 */ + YYSYMBOL_340_32 = 340, /* $@32 */ + YYSYMBOL_expr_generator = 341, /* expr_generator */ + YYSYMBOL_expr_mtag = 342, /* expr_mtag */ + YYSYMBOL_optional_field_annotation = 343, /* optional_field_annotation */ + YYSYMBOL_optional_override = 344, /* optional_override */ + YYSYMBOL_optional_constant = 345, /* optional_constant */ + YYSYMBOL_optional_public_or_private_member_variable = 346, /* optional_public_or_private_member_variable */ + YYSYMBOL_optional_static_member_variable = 347, /* optional_static_member_variable */ + YYSYMBOL_structure_variable_declaration = 348, /* structure_variable_declaration */ + YYSYMBOL_struct_variable_declaration_list = 349, /* struct_variable_declaration_list */ + YYSYMBOL_350_33 = 350, /* $@33 */ + YYSYMBOL_351_34 = 351, /* $@34 */ + YYSYMBOL_352_35 = 352, /* $@35 */ + YYSYMBOL_function_argument_declaration = 353, /* function_argument_declaration */ + YYSYMBOL_function_argument_list = 354, /* function_argument_list */ + YYSYMBOL_tuple_type = 355, /* tuple_type */ + YYSYMBOL_tuple_type_list = 356, /* tuple_type_list */ + YYSYMBOL_tuple_alias_type_list = 357, /* tuple_alias_type_list */ + YYSYMBOL_variant_type = 358, /* variant_type */ + YYSYMBOL_variant_type_list = 359, /* variant_type_list */ + YYSYMBOL_variant_alias_type_list = 360, /* variant_alias_type_list */ + YYSYMBOL_copy_or_move = 361, /* copy_or_move */ + YYSYMBOL_variable_declaration = 362, /* variable_declaration */ + YYSYMBOL_copy_or_move_or_clone = 363, /* copy_or_move_or_clone */ + YYSYMBOL_optional_ref = 364, /* optional_ref */ + YYSYMBOL_let_variable_name_with_pos_list = 365, /* let_variable_name_with_pos_list */ + YYSYMBOL_global_let_variable_name_with_pos_list = 366, /* global_let_variable_name_with_pos_list */ + YYSYMBOL_variable_declaration_list = 367, /* variable_declaration_list */ + YYSYMBOL_let_variable_declaration = 368, /* let_variable_declaration */ + YYSYMBOL_global_let_variable_declaration = 369, /* global_let_variable_declaration */ + YYSYMBOL_optional_shared = 370, /* optional_shared */ + YYSYMBOL_optional_public_or_private_variable = 371, /* optional_public_or_private_variable */ + YYSYMBOL_global_variable_declaration_list = 372, /* global_variable_declaration_list */ + YYSYMBOL_373_36 = 373, /* $@36 */ + YYSYMBOL_global_let = 374, /* global_let */ + YYSYMBOL_375_37 = 375, /* $@37 */ + YYSYMBOL_enum_expression = 376, /* enum_expression */ + YYSYMBOL_commas = 377, /* commas */ + YYSYMBOL_enum_list = 378, /* enum_list */ + YYSYMBOL_optional_public_or_private_alias = 379, /* optional_public_or_private_alias */ + YYSYMBOL_single_alias = 380, /* single_alias */ + YYSYMBOL_381_38 = 381, /* $@38 */ + YYSYMBOL_alias_declaration = 382, /* alias_declaration */ + YYSYMBOL_optional_public_or_private_enum = 383, /* optional_public_or_private_enum */ + YYSYMBOL_enum_name = 384, /* enum_name */ + YYSYMBOL_optional_enum_basic_type_declaration = 385, /* optional_enum_basic_type_declaration */ + YYSYMBOL_optional_commas = 386, /* optional_commas */ + YYSYMBOL_emit_commas = 387, /* emit_commas */ + YYSYMBOL_optional_emit_commas = 388, /* optional_emit_commas */ + YYSYMBOL_enum_declaration = 389, /* enum_declaration */ + YYSYMBOL_390_39 = 390, /* $@39 */ + YYSYMBOL_391_40 = 391, /* $@40 */ + YYSYMBOL_392_41 = 392, /* $@41 */ + YYSYMBOL_optional_structure_parent = 393, /* optional_structure_parent */ + YYSYMBOL_optional_sealed = 394, /* optional_sealed */ + YYSYMBOL_structure_name = 395, /* structure_name */ + YYSYMBOL_class_or_struct = 396, /* class_or_struct */ + YYSYMBOL_optional_public_or_private_structure = 397, /* optional_public_or_private_structure */ + YYSYMBOL_optional_struct_variable_declaration_list = 398, /* optional_struct_variable_declaration_list */ + YYSYMBOL_structure_declaration = 399, /* structure_declaration */ + YYSYMBOL_400_42 = 400, /* $@42 */ + YYSYMBOL_401_43 = 401, /* $@43 */ + YYSYMBOL_402_44 = 402, /* $@44 */ + YYSYMBOL_variable_name_with_pos_list = 403, /* variable_name_with_pos_list */ + YYSYMBOL_basic_type_declaration = 404, /* basic_type_declaration */ + YYSYMBOL_enum_basic_type_declaration = 405, /* enum_basic_type_declaration */ + YYSYMBOL_structure_type_declaration = 406, /* structure_type_declaration */ + YYSYMBOL_auto_type_declaration = 407, /* auto_type_declaration */ + YYSYMBOL_bitfield_bits = 408, /* bitfield_bits */ + YYSYMBOL_bitfield_alias_bits = 409, /* bitfield_alias_bits */ + YYSYMBOL_bitfield_type_declaration = 410, /* bitfield_type_declaration */ + YYSYMBOL_411_45 = 411, /* $@45 */ + YYSYMBOL_412_46 = 412, /* $@46 */ + YYSYMBOL_c_or_s = 413, /* c_or_s */ + YYSYMBOL_table_type_pair = 414, /* table_type_pair */ + YYSYMBOL_dim_list = 415, /* dim_list */ + YYSYMBOL_type_declaration_no_options = 416, /* type_declaration_no_options */ + YYSYMBOL_type_declaration_no_options_no_dim = 417, /* type_declaration_no_options_no_dim */ + YYSYMBOL_418_47 = 418, /* $@47 */ + YYSYMBOL_419_48 = 419, /* $@48 */ + YYSYMBOL_420_49 = 420, /* $@49 */ + YYSYMBOL_421_50 = 421, /* $@50 */ + YYSYMBOL_422_51 = 422, /* $@51 */ + YYSYMBOL_423_52 = 423, /* $@52 */ + YYSYMBOL_424_53 = 424, /* $@53 */ + YYSYMBOL_425_54 = 425, /* $@54 */ + YYSYMBOL_426_55 = 426, /* $@55 */ + YYSYMBOL_427_56 = 427, /* $@56 */ + YYSYMBOL_428_57 = 428, /* $@57 */ + YYSYMBOL_429_58 = 429, /* $@58 */ + YYSYMBOL_430_59 = 430, /* $@59 */ + YYSYMBOL_431_60 = 431, /* $@60 */ + YYSYMBOL_432_61 = 432, /* $@61 */ + YYSYMBOL_433_62 = 433, /* $@62 */ + YYSYMBOL_434_63 = 434, /* $@63 */ + YYSYMBOL_435_64 = 435, /* $@64 */ + YYSYMBOL_436_65 = 436, /* $@65 */ + YYSYMBOL_437_66 = 437, /* $@66 */ + YYSYMBOL_438_67 = 438, /* $@67 */ + YYSYMBOL_439_68 = 439, /* $@68 */ + YYSYMBOL_440_69 = 440, /* $@69 */ + YYSYMBOL_441_70 = 441, /* $@70 */ + YYSYMBOL_442_71 = 442, /* $@71 */ + YYSYMBOL_443_72 = 443, /* $@72 */ + YYSYMBOL_444_73 = 444, /* $@73 */ + YYSYMBOL_type_declaration = 445, /* type_declaration */ + YYSYMBOL_tuple_alias_declaration = 446, /* tuple_alias_declaration */ + YYSYMBOL_447_74 = 447, /* $@74 */ + YYSYMBOL_448_75 = 448, /* $@75 */ + YYSYMBOL_449_76 = 449, /* $@76 */ 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_variant_alias_declaration = 451, /* variant_alias_declaration */ + YYSYMBOL_452_78 = 452, /* $@78 */ + YYSYMBOL_453_79 = 453, /* $@79 */ + YYSYMBOL_454_80 = 454, /* $@80 */ 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_bitfield_alias_declaration = 456, /* bitfield_alias_declaration */ + YYSYMBOL_457_82 = 457, /* $@82 */ + YYSYMBOL_458_83 = 458, /* $@83 */ + YYSYMBOL_459_84 = 459, /* $@84 */ + YYSYMBOL_460_85 = 460, /* $@85 */ + YYSYMBOL_make_decl = 461, /* make_decl */ + YYSYMBOL_make_struct_fields = 462, /* make_struct_fields */ + YYSYMBOL_make_variant_dim = 463, /* make_variant_dim */ + YYSYMBOL_make_struct_single = 464, /* make_struct_single */ + YYSYMBOL_make_struct_dim_list = 465, /* make_struct_dim_list */ + YYSYMBOL_make_struct_dim_decl = 466, /* make_struct_dim_decl */ + YYSYMBOL_optional_make_struct_dim_decl = 467, /* optional_make_struct_dim_decl */ + YYSYMBOL_use_initializer = 468, /* use_initializer */ + YYSYMBOL_make_struct_decl = 469, /* make_struct_decl */ + YYSYMBOL_470_86 = 470, /* $@86 */ + YYSYMBOL_471_87 = 471, /* $@87 */ + YYSYMBOL_472_88 = 472, /* $@88 */ + YYSYMBOL_473_89 = 473, /* $@89 */ + YYSYMBOL_474_90 = 474, /* $@90 */ + YYSYMBOL_475_91 = 475, /* $@91 */ + YYSYMBOL_476_92 = 476, /* $@92 */ + YYSYMBOL_477_93 = 477, /* $@93 */ + YYSYMBOL_make_map_tuple = 478, /* make_map_tuple */ + YYSYMBOL_make_tuple_call = 479, /* make_tuple_call */ + YYSYMBOL_480_94 = 480, /* $@94 */ 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 */ + YYSYMBOL_make_dim_decl = 482, /* make_dim_decl */ + YYSYMBOL_483_96 = 483, /* $@96 */ + YYSYMBOL_484_97 = 484, /* $@97 */ + YYSYMBOL_485_98 = 485, /* $@98 */ + YYSYMBOL_486_99 = 486, /* $@99 */ + YYSYMBOL_487_100 = 487, /* $@100 */ + YYSYMBOL_488_101 = 488, /* $@101 */ + YYSYMBOL_489_102 = 489, /* $@102 */ + YYSYMBOL_490_103 = 490, /* $@103 */ + YYSYMBOL_491_104 = 491, /* $@104 */ + YYSYMBOL_492_105 = 492, /* $@105 */ + YYSYMBOL_expr_map_tuple_list = 493, /* expr_map_tuple_list */ + YYSYMBOL_make_table_decl = 494, /* make_table_decl */ + YYSYMBOL_array_comprehension_where = 495, /* array_comprehension_where */ + YYSYMBOL_optional_comma = 496, /* optional_comma */ + YYSYMBOL_array_comprehension = 497 /* array_comprehension */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -961,16 +963,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 11595 +#define YYLAST 11553 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 207 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 289 +#define YYNNTS 291 /* YYNRULES -- Number of rules. */ -#define YYNRULES 828 +#define YYNRULES 832 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1502 +#define YYNSTATES 1512 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 434 @@ -1037,89 +1039,90 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 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 + 0, 535, 535, 536, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 553, 557, 558, 562, + 563, 567, 573, 574, 575, 579, 580, 584, 602, 603, + 604, 605, 609, 610, 614, 619, 628, 636, 652, 657, + 665, 665, 704, 722, 726, 729, 733, 739, 748, 751, + 757, 758, 762, 766, 767, 771, 774, 780, 786, 789, + 795, 796, 800, 801, 805, 806, 810, 811, 812, 821, + 822, 826, 827, 833, 834, 835, 836, 837, 841, 842, + 846, 847, 851, 851, 863, 870, 870, 879, 887, 887, + 900, 900, 912, 919, 920, 921, 922, 923, 924, 928, + 933, 941, 942, 943, 947, 948, 949, 950, 951, 952, + 953, 954, 960, 963, 969, 972, 978, 979, 980, 984, + 997, 1015, 1018, 1026, 1037, 1048, 1059, 1062, 1069, 1073, + 1080, 1081, 1085, 1086, 1090, 1091, 1092, 1096, 1099, 1106, + 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, 1188, 1189, + 1190, 1191, 1192, 1193, 1198, 1216, 1217, 1218, 1222, 1228, + 1228, 1245, 1248, 1250, 1248, 1258, 1260, 1258, 1275, 1288, + 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, + 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1310, 1315, + 1321, 1327, 1328, 1332, 1333, 1337, 1341, 1348, 1349, 1360, + 1364, 1367, 1375, 1375, 1375, 1378, 1384, 1387, 1391, 1395, + 1402, 1409, 1415, 1419, 1423, 1426, 1429, 1437, 1440, 1448, + 1454, 1455, 1456, 1460, 1461, 1465, 1466, 1470, 1475, 1483, + 1489, 1501, 1504, 1507, 1513, 1513, 1513, 1516, 1516, 1516, + 1521, 1521, 1521, 1529, 1529, 1529, 1535, 1545, 1556, 1571, + 1574, 1580, 1581, 1588, 1599, 1600, 1601, 1605, 1606, 1607, + 1608, 1609, 1613, 1618, 1626, 1627, 1631, 1638, 1642, 1648, + 1649, 1650, 1651, 1652, 1653, 1654, 1658, 1659, 1660, 1661, + 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, + 1672, 1673, 1674, 1675, 1676, 1680, 1687, 1699, 1704, 1714, + 1718, 1725, 1728, 1728, 1728, 1733, 1733, 1733, 1746, 1750, + 1754, 1759, 1766, 1771, 1778, 1778, 1778, 1785, 1789, 1799, + 1808, 1817, 1821, 1824, 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, 1860, 1861, 1862, 1863, 1864, 1865, + 1871, 1872, 1873, 1874, 1875, 1888, 1889, 1890, 1891, 1892, + 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1904, + 1904, 1904, 1907, 1912, 1916, 1920, 1920, 1920, 1925, 1928, + 1932, 1932, 1932, 1937, 1940, 1941, 1942, 1943, 1944, 1945, + 1946, 1947, 1948, 1950, 1954, 1955, 1963, 1966, 1969, 1978, + 1979, 1980, 1981, 1982, 1983, 1984, 1988, 1992, 1996, 2000, + 2004, 2008, 2012, 2016, 2020, 2027, 2028, 2032, 2033, 2034, + 2038, 2039, 2043, 2044, 2045, 2049, 2050, 2054, 2065, 2068, + 2069, 2069, 2088, 2087, 2101, 2100, 2116, 2125, 2135, 2136, + 2140, 2143, 2152, 2153, 2157, 2160, 2164, 2178, 2187, 2188, + 2192, 2195, 2199, 2213, 2214, 2218, 2224, 2230, 2233, 2237, + 2246, 2247, 2248, 2252, 2253, 2257, 2264, 2269, 2278, 2284, + 2295, 2302, 2311, 2314, 2317, 2324, 2327, 2332, 2343, 2346, + 2351, 2363, 2364, 2368, 2369, 2370, 2374, 2377, 2380, 2380, + 2400, 2403, 2403, 2421, 2426, 2434, 2435, 2439, 2442, 2455, + 2472, 2473, 2474, 2479, 2479, 2505, 2509, 2510, 2511, 2515, + 2525, 2528, 2534, 2535, 2539, 2540, 2544, 2545, 2549, 2551, + 2556, 2549, 2572, 2573, 2577, 2578, 2582, 2588, 2589, 2593, + 2594, 2595, 2599, 2602, 2608, 2610, 2615, 2608, 2630, 2637, + 2642, 2651, 2657, 2668, 2669, 2670, 2671, 2672, 2673, 2674, + 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, + 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, + 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2709, 2720, + 2724, 2731, 2743, 2750, 2759, 2764, 2774, 2787, 2787, 2787, + 2800, 2801, 2805, 2809, 2816, 2820, 2824, 2828, 2835, 2838, + 2856, 2857, 2858, 2859, 2860, 2860, 2860, 2864, 2869, 2876, + 2876, 2883, 2887, 2891, 2896, 2901, 2906, 2911, 2915, 2919, + 2924, 2928, 2932, 2937, 2937, 2937, 2943, 2950, 2950, 2950, + 2955, 2955, 2955, 2961, 2961, 2961, 2966, 2970, 2970, 2970, + 2975, 2975, 2975, 2984, 2988, 2988, 2988, 2993, 2993, 2993, + 3002, 3006, 3006, 3006, 3011, 3011, 3011, 3020, 3020, 3020, + 3026, 3026, 3026, 3035, 3038, 3049, 3065, 3067, 3072, 3077, + 3065, 3103, 3105, 3110, 3116, 3103, 3142, 3144, 3149, 3154, + 3142, 3185, 3186, 3187, 3188, 3189, 3193, 3200, 3207, 3213, + 3219, 3226, 3233, 3239, 3248, 3254, 3262, 3267, 3274, 3279, + 3285, 3286, 3290, 3291, 3295, 3295, 3295, 3303, 3303, 3303, + 3310, 3310, 3310, 3317, 3317, 3317, 3328, 3334, 3340, 3346, + 3346, 3346, 3356, 3365, 3365, 3365, 3375, 3375, 3375, 3385, + 3385, 3385, 3395, 3404, 3404, 3404, 3424, 3431, 3431, 3431, + 3441, 3444, 3450, 3458, 3466, 3486, 3511, 3512, 3516, 3517, + 3521, 3524, 3527 }; #endif @@ -1194,6 +1197,7 @@ static const char *const yytname[] = "metadata_argument_list", "annotation_declaration_name", "annotation_declaration_basic", "annotation_declaration", "annotation_list", "optional_annotation_list", + "optional_annotation_list_with_emit_semis", "optional_function_argument_list", "optional_function_type", "function_name", "global_function_declaration", "optional_public_or_private_function", "function_declaration_header", @@ -1236,25 +1240,25 @@ static const char *const yytname[] = "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", - "auto_type_declaration", "bitfield_bits", "bitfield_alias_bits", - "bitfield_type_declaration", "$@44", "$@45", "c_or_s", "table_type_pair", - "dim_list", "type_declaration_no_options", - "type_declaration_no_options_no_dim", "$@46", "$@47", "$@48", "$@49", - "$@50", "$@51", "$@52", "$@53", "$@54", "$@55", "$@56", "$@57", "$@58", - "$@59", "$@60", "$@61", "$@62", "$@63", "$@64", "$@65", "$@66", "$@67", - "$@68", "$@69", "$@70", "$@71", "$@72", "type_declaration", - "tuple_alias_declaration", "$@73", "$@74", "$@75", "$@76", - "variant_alias_declaration", "$@77", "$@78", "$@79", "$@80", - "bitfield_alias_declaration", "$@81", "$@82", "$@83", "$@84", + "$@42", "$@43", "$@44", "variable_name_with_pos_list", + "basic_type_declaration", "enum_basic_type_declaration", + "structure_type_declaration", "auto_type_declaration", "bitfield_bits", + "bitfield_alias_bits", "bitfield_type_declaration", "$@45", "$@46", + "c_or_s", "table_type_pair", "dim_list", "type_declaration_no_options", + "type_declaration_no_options_no_dim", "$@47", "$@48", "$@49", "$@50", + "$@51", "$@52", "$@53", "$@54", "$@55", "$@56", "$@57", "$@58", "$@59", + "$@60", "$@61", "$@62", "$@63", "$@64", "$@65", "$@66", "$@67", "$@68", + "$@69", "$@70", "$@71", "$@72", "$@73", "type_declaration", + "tuple_alias_declaration", "$@74", "$@75", "$@76", "$@77", + "variant_alias_declaration", "$@78", "$@79", "$@80", "$@81", + "bitfield_alias_declaration", "$@82", "$@83", "$@84", "$@85", "make_decl", "make_struct_fields", "make_variant_dim", "make_struct_single", "make_struct_dim_list", "make_struct_dim_decl", "optional_make_struct_dim_decl", "use_initializer", "make_struct_decl", - "$@85", "$@86", "$@87", "$@88", "$@89", "$@90", "$@91", "$@92", - "make_map_tuple", "make_tuple_call", "$@93", "$@94", "make_dim_decl", - "$@95", "$@96", "$@97", "$@98", "$@99", "$@100", "$@101", "$@102", - "$@103", "$@104", "expr_map_tuple_list", "make_table_decl", + "$@86", "$@87", "$@88", "$@89", "$@90", "$@91", "$@92", "$@93", + "make_map_tuple", "make_tuple_call", "$@94", "$@95", "make_dim_decl", + "$@96", "$@97", "$@98", "$@99", "$@100", "$@101", "$@102", "$@103", + "$@104", "$@105", "expr_map_tuple_list", "make_table_decl", "array_comprehension_where", "optional_comma", "array_comprehension", YY_NULLPTR }; @@ -1265,12 +1269,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-1320) +#define YYPACT_NINF (-1394) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-731) +#define YYTABLE_NINF (-735) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -1279,157 +1283,158 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -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 + -1394, 66, -1394, -1394, 43, -88, 112, 361, -1394, -58, + -1394, -1394, -1394, -79, 321, -1394, -1394, -1394, -122, 58, + 124, -1394, 158, -1394, 157, -1394, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, 38, -1394, 64, 131, 113, + -1394, -1394, 112, 14, -1394, -1394, -1394, 192, 134, -1394, + -1394, 157, 361, 361, 361, 238, 155, -1394, -1394, -1394, + 321, 321, 321, 162, -1394, 18, 94, -1394, -1394, -1394, + -1394, 517, -1394, 693, -1394, 566, 24, 43, 257, -88, + 226, 292, -1394, 305, 337, -1394, -1394, -1394, 574, 369, + 448, 466, -1394, 491, 407, -1394, -1394, -71, 43, 321, + 321, 321, 321, -1394, -1394, -1394, -1394, -1394, 575, -1394, + -1394, 576, -1394, -1394, 356, -1394, -1394, -1394, -1394, -1394, + 529, 110, -1394, -1394, -1394, -1394, 557, -1394, -1394, 499, + -1394, -1394, -1394, 493, 495, 495, -1394, -1394, 501, -1394, + -59, -1394, 175, 562, 18, 7243, -1394, -1394, 545, -1394, + -1394, -1394, -1394, 518, -1394, -1394, -1394, 548, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, 48, -1394, 6569, -1394, 561, + -1394, -1394, 547, -1394, -1394, -1394, -1394, 10443, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, 695, 698, -1394, 535, -1394, -1394, 564, + 639, 483, 43, 550, 585, -1394, -1394, -1394, 110, -1394, + 571, 580, 582, 554, 588, 589, -1394, -1394, -1394, 565, + -1394, -1394, -1394, -1394, -1394, 590, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, 591, -1394, -1394, + -1394, 592, 593, -1394, -1394, -1394, -1394, 594, 595, 567, + -79, -1394, -1394, -1394, -1394, -1394, -1394, 390, 599, -1394, + 572, -1394, 573, 577, 617, 618, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, 620, 586, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + 761, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, 623, 597, -1394, -1394, -93, 611, -1394, + 583, 542, 493, -1394, 626, 495, -1394, -1394, 518, 495, + 43, -1394, 434, -1394, -1394, -1394, -1394, -1394, 6140, -1394, + -1394, 627, -1394, 149, 354, 366, -1394, -1394, 6140, -39, + -1394, -1394, -1394, 17, -1394, -1394, -1394, -5, 3290, -1394, + 600, 1515, -1394, -1394, -1394, -1394, -1394, -1394, -1394, 630, + 661, -1394, 601, -1394, 70, -1394, 372, 6569, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, 598, + 619, -1394, 269, -1394, 495, 634, 6569, -1394, 103, 6569, + 6569, 6569, 622, 624, -1394, -1394, 122, -79, 625, 28, + -1394, -27, 606, 628, 629, 613, 637, 621, 33, 638, + -1394, 116, 640, 643, 6140, 6140, 631, 632, 635, 636, + 642, 646, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, 6140, 6140, 6140, 6140, 6140, 2910, 6140, -1394, 616, + 3480, -1394, -1394, -1394, 647, -1394, -1394, -1394, -1394, 602, + -1394, -1394, -1394, -1394, -1394, -1394, 348, 7000, -1394, -1394, + 650, -1394, -1394, -1394, -1394, -1394, -1394, 6569, 6569, 633, + 662, 6569, 535, 6569, 535, 6569, 535, 6661, 663, 7086, + -1394, 6140, -1394, -1394, -1394, -1394, 641, -1394, -1394, 9924, + 3670, -1394, -1394, 664, 6661, 663, -1394, -1394, 6140, -1394, + -1394, 342, -1394, -105, 599, 1729, -1394, -79, -1394, 651, + 652, 755, 452, -1394, -1394, -1394, -68, -1394, -1394, -1394, + 6140, 469, 472, 649, 199, -1394, -1394, -1394, 655, -1394, + -1394, 167, -1394, 644, 648, 657, -1394, 6140, 6569, 6140, + 6140, -1394, -1394, 6140, -1394, 6140, -1394, 6140, -1394, -1394, + 6140, -1394, 6569, 20, 20, 6140, 6140, 6140, 6140, 6140, + 6140, 525, 20, 20, -26, 20, 20, 658, 824, 684, + 10778, 684, 359, 659, 10526, -1394, 687, 2530, 856, 667, + -1394, 602, -1394, 7071, 10597, 6140, 6140, -1394, -1394, 6140, + 6140, 6140, 6140, 699, 6140, 2, 6140, 6140, 6140, 6140, + 6140, 6140, 6140, 6140, 6140, 3860, 6140, 6140, 6140, 6140, + 6140, 6140, 6140, 6140, 6140, 6140, 11356, 6140, -1394, 4050, + 478, 486, -1394, -1394, 102, 488, 611, 489, 611, 494, + 611, 6, -1394, 355, 599, 689, -1394, 360, -1394, 6569, + 670, 684, -1394, -1394, -1394, 10008, -1394, 247, -1394, -82, + -1394, -82, 7172, 668, 828, -1394, 105, -1394, -1394, 4240, + -1394, -1394, 4430, 710, -1394, -82, 718, 4620, 16, 4810, + -1394, -1394, -1394, -82, -82, 864, -1394, 694, -1394, -1394, + 863, -1394, -1394, 868, -1394, 843, -82, 681, -1394, -82, + -82, -82, -82, -82, -1394, 821, -1394, -82, 1345, 726, + -1394, -1394, -1394, 6140, 727, 728, 6569, 103, -1394, 6140, + 6751, -1394, -1394, -1394, -1394, -1394, -1394, -1394, 6569, 6569, + 6569, 6569, 3100, 729, 6140, 6569, -1394, -1394, -1394, 6569, + 684, 398, 687, 7258, 6569, 6569, 7344, 6569, 7430, 6569, + 684, 6569, 6569, 684, 6569, 712, 7516, 7602, 7688, 7774, + 7860, 7946, -1394, 6140, 556, 342, 697, 6140, 696, 701, + 700, 703, 368, -1394, -1394, 342, 6140, 6140, 711, -61, + 704, 130, 2720, -1394, 118, 732, 705, 707, 535, -1394, + 1934, 856, 719, 740, -1394, -1394, 739, 743, -1394, -1394, + 927, 927, 889, 889, 311, 311, 744, 182, 746, -1394, + 10092, -34, -34, 650, 927, 927, 11089, 10975, 11006, 10861, + 11268, 10612, 11120, 1511, 11203, 889, 889, 1083, 1083, 182, + 182, 182, 198, 6140, 747, 748, 324, 6140, 949, 752, + 10176, -1394, 195, -1394, -1394, -1394, 790, -1394, 776, -1394, + 777, -1394, 778, 6569, -1394, 6661, 6569, -1394, 663, 413, + 599, -1394, -1394, -1394, -1394, 293, -1394, -1394, 6475, -1394, + 188, -1394, -1394, 6140, 798, -1394, 799, -1394, 6569, -1394, + 6140, 6140, 10778, 948, 6140, 10778, 791, -1394, 788, 810, + 10778, -1394, 6140, 10778, -1394, -1394, 767, -1394, -1394, 768, + 769, 770, 771, -1394, 934, -1394, -1394, -1394, -1394, -1394, + -1394, -87, -1394, 6140, 6140, 6140, 6140, 6140, 6140, 6140, + 6140, 6140, 6140, 6140, 6140, 6140, 6140, 6140, 6140, 6140, + 6140, 800, -1394, 247, 21, 8032, -1394, 931, -80, 6140, + 6834, -1394, -1394, -1394, -1394, 599, 795, 796, 502, 350, + 205, 779, 780, 431, 8118, 503, 6569, 6569, 6569, 797, + 781, 784, 6569, 786, -1394, 804, 807, -1394, 811, -1394, + 813, 794, 815, 816, 801, 817, 856, -1394, -1394, -1394, + -1394, -1394, 803, 10695, 5, 342, 10778, -1394, -1394, 6140, + 6140, 6569, 535, 10, 10778, -1394, -1394, 147, -1394, 808, + 6140, 6140, 6140, 119, 6330, -1394, 375, -1394, -54, 611, + -1394, 535, -1394, 6140, -1394, 6140, 5000, 6140, -1394, 819, + 812, -1394, -1394, 6140, 822, -1394, 10260, 6140, 5190, 826, + -1394, 10344, -1394, 5380, -1394, 6140, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, 599, -1394, -1394, + 599, -1394, -1394, 829, 6569, -1394, -1394, 773, -1394, -1394, + 805, -1394, 825, 8204, -1394, 956, 82, 10778, 10778, -1394, + 10778, 6140, -1394, -1394, -1394, 10778, 6140, 6140, 342, 6140, + 6140, -1394, -1394, 838, -1394, -1394, -1394, 10778, 10778, 10778, + 10778, 10778, 10778, 10778, 10778, 10778, 10778, 10778, 10778, 10778, + 10778, 10778, 10778, 10778, 10778, 6140, 394, -1394, -1394, 321, + -1394, 995, 518, -1394, 847, -1394, 6140, 6662, -1394, -1394, + -1394, -1394, 831, -1394, -1394, -1394, 834, 850, -1394, -1394, + 854, 855, 857, -1394, -1394, 6140, 858, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, 95, 5570, -1394, + 6140, 11, 8290, 8376, 859, 611, 6140, -1394, 8462, 10778, + 10778, 836, 2720, 841, 172, 879, 880, 844, 884, 886, + -1394, 214, 495, 611, 6569, 8548, 6569, 8634, -1394, 220, + 8720, -1394, 6140, 10892, 6140, -1394, 8806, -1394, 237, 6140, + -1394, -1394, -1394, 253, -1394, -1394, -1394, 6140, 599, -1394, + -1394, -1394, -1394, 888, 6140, -1394, 10778, 8892, 8978, 15, + 9064, 9150, 849, -1394, 260, -29, 10778, -1394, 860, 187, + 587, 992, -82, -1394, 6662, -1394, 861, 862, -1394, -1394, + 6140, 882, -1394, -1394, -1394, -1394, 865, 866, 687, 869, + 6140, 6140, 6140, 870, 997, 876, 878, 5760, -1394, -1394, + 262, 285, 6140, -1394, -1394, -1394, 898, 300, 176, -1394, + 201, 6140, 6140, 6140, -1394, -1394, 917, -1394, -1394, -54, + -1394, 944, 495, 902, -1394, 504, -1394, -1394, -1394, 6569, + 9236, 9322, -1394, -1394, 9408, -1394, 887, -1394, 10778, 1072, + 495, 6140, 495, 495, -1394, 926, 411, -1394, -1394, -1394, + -1394, 495, -1394, -1394, 475, -1394, 8, -1394, -1394, 997, + 997, 9494, 892, 893, 894, 895, 6140, -1394, -1394, 6140, + 889, 889, 889, 6140, -1394, -1394, 997, 350, -1394, 9580, + -1394, -1394, 896, 309, 392, -1394, 897, 6140, 6140, 901, + 9666, 10778, 10778, 907, -1394, 5950, -1394, -1394, -1394, -1394, + -1394, 509, -1394, -1394, -1394, -1394, 2340, -82, -1394, 315, + -1394, -1394, 2139, -1394, 6569, 103, -1394, 1062, 8, -1394, + -1394, 587, -63, -63, -1394, 6140, 997, 997, 350, 913, + 914, 684, -63, 732, 915, -1394, 6140, 899, -1394, 392, + 6140, 10778, 10778, -1394, 221, -1394, 6140, 10861, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, 10778, -1394, 596, + 495, -1394, -1394, 891, 103, 6140, -1394, -1394, 1062, 342, + 350, 732, 925, -1394, 918, 919, 9752, -63, -63, 920, + -1394, -1394, 921, 922, -1394, 6917, 6140, -1394, 923, 6140, + 6140, 10892, -1394, 495, -1394, -1394, 928, -1394, -1394, -1394, + 6140, 6662, 7243, -1394, -1394, 316, 930, -1394, -1394, -1394, + -1394, 935, 936, -1394, -1394, -1394, 1045, 932, 6917, 912, + 10778, 10778, -1394, 6140, -1394, 6662, -1394, -82, 7243, -1394, + 350, -1394, -1394, 6140, -1394, 933, -1394, -1394, 9838, -1394, + -1394, 495, 326, 10778, -1394, 495, -1394, -1394, -1394, -1394, + 596, -1394 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1437,225 +1442,228 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 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, + 2, 130, 1, 293, 0, 0, 0, 580, 294, 0, + 756, 746, 751, 0, 0, 16, 15, 3, 0, 0, + 0, 8, 614, 7, 561, 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, + 53, 44, 0, 50, 43, 582, 581, 0, 0, 26, + 25, 561, 580, 580, 580, 0, 267, 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, + 9, 225, 598, 0, 562, 563, 0, 0, 0, 0, + 45, 0, 51, 0, 0, 48, 583, 585, 22, 0, + 0, 0, 269, 0, 0, 127, 122, 0, 0, 0, + 0, 0, 0, 131, 227, 226, 229, 224, 586, 608, + 607, 609, 565, 564, 571, 108, 109, 106, 107, 105, + 0, 0, 104, 113, 56, 54, 50, 47, 46, 0, + 23, 24, 27, 596, 64, 64, 268, 38, 41, 126, + 0, 123, 124, 125, 129, 0, 588, 587, 0, 611, + 610, 615, 566, 495, 28, 29, 33, 0, 97, 98, + 95, 96, 94, 93, 99, 0, 49, 0, 594, 597, + 757, 62, 65, 747, 752, 39, 120, 0, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 0, 0, 139, 134, 235, 589, 590, + 604, 568, 0, 496, 0, 30, 31, 32, 0, 111, + 0, 0, 0, 0, 0, 0, 623, 643, 624, 659, + 625, 629, 630, 631, 632, 649, 636, 637, 638, 639, + 640, 641, 642, 644, 645, 646, 647, 716, 628, 635, + 648, 723, 730, 626, 633, 627, 634, 0, 0, 0, + 0, 658, 680, 683, 681, 682, 743, 678, 584, 595, + 0, 63, 0, 0, 193, 194, 191, 142, 143, 145, + 144, 146, 147, 148, 149, 175, 176, 173, 174, 166, + 177, 178, 167, 164, 165, 192, 186, 0, 190, 179, + 180, 181, 182, 153, 154, 155, 150, 151, 152, 163, + 0, 169, 170, 168, 161, 162, 157, 156, 158, 159, + 160, 141, 140, 185, 0, 171, 172, 495, 137, 230, + 0, 0, 596, 605, 0, 64, 567, 570, 495, 64, + 0, 550, 543, 572, 100, 684, 707, 710, 0, 713, + 703, 0, 667, 717, 724, 731, 737, 740, 0, 0, + 693, 698, 692, 0, 706, 702, 695, 0, 0, 697, + 679, 0, 758, 748, 753, 195, 196, 189, 184, 197, + 187, 183, 0, 135, 292, 518, 0, 0, 228, 258, + 650, 653, 656, 657, 651, 654, 652, 655, 591, 0, + 602, 616, 0, 114, 64, 0, 0, 544, 0, 0, + 0, 0, 0, 0, 400, 401, 0, 0, 0, 0, + 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 649, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 484, 339, 341, 340, 342, 343, 344, 345, + 34, 0, 0, 0, 0, 0, 0, 0, 324, 325, + 0, 398, 397, 474, 395, 467, 466, 465, 464, 130, + 470, 396, 469, 468, 441, 402, 442, 0, 446, 403, + 0, 399, 761, 765, 762, 763, 764, 0, 0, 0, + 0, 0, 134, 0, 134, 0, 134, 0, 0, 0, + 689, 261, 700, 701, 694, 696, 0, 699, 675, 0, + 0, 745, 744, 664, 524, 530, 198, 188, 0, 290, + 291, 0, 136, 495, 138, 0, 599, 0, 606, 612, + 0, 545, 543, 569, 115, 551, 0, 541, 542, 540, + 0, 0, 0, 0, 672, 784, 787, 272, 276, 275, + 281, 0, 313, 0, 0, 0, 813, 0, 0, 0, + 0, 304, 307, 0, 310, 0, 817, 0, 793, 799, + 0, 790, 0, 430, 431, 0, 0, 0, 0, 0, + 0, 0, 407, 406, 443, 405, 404, 0, 0, 828, + 319, 828, 326, 0, 797, 820, 828, 0, 334, 325, + 258, 130, 238, 0, 0, 0, 0, 432, 433, 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, 384, 0, 687, 0, + 0, 0, 660, 662, 0, 0, 137, 0, 137, 0, + 137, 267, 522, 0, 520, 0, 528, 0, 661, 0, + 0, 828, 691, 674, 677, 0, 665, 592, 525, 80, + 531, 80, 0, 0, 618, 516, 535, 519, 260, 284, + 282, 235, 0, 0, 283, 0, 0, 0, 64, 0, + 20, 19, 239, 0, 0, 0, 252, 0, 253, 247, + 0, 244, 243, 0, 245, 0, 0, 0, 259, 0, + 76, 77, 74, 75, 254, 296, 242, 0, 346, 577, + 603, 508, 617, 0, 0, 0, 0, 0, 558, 0, + 0, 685, 708, 711, 18, 17, 670, 671, 0, 0, + 0, 0, 782, 0, 0, 0, 803, 806, 809, 0, + 828, 0, 828, 0, 0, 0, 0, 0, 0, 0, + 828, 0, 0, 828, 0, 0, 0, 0, 0, 0, + 0, 0, 37, 0, 35, 0, 0, 829, 0, 0, + 0, 0, 372, 369, 371, 0, 0, 829, 0, 0, + 0, 267, 0, 387, 0, 775, 0, 0, 134, 326, + 0, 334, 0, 0, 453, 452, 0, 0, 454, 458, + 408, 409, 421, 422, 419, 420, 0, 447, 0, 439, + 0, 471, 472, 473, 410, 411, 426, 427, 428, 429, + 0, 0, 424, 425, 423, 417, 418, 413, 412, 414, + 415, 416, 0, 0, 0, 378, 0, 0, 0, 0, + 0, 392, 0, 714, 704, 668, 0, 718, 0, 725, + 0, 732, 0, 0, 738, 0, 0, 741, 0, 0, + 265, 688, 262, 676, 575, 593, 759, 78, 81, 749, + 81, 754, 517, 0, 0, 534, 0, 533, 0, 536, + 0, 0, 285, 0, 0, 270, 0, 257, 0, 0, + 59, 235, 0, 287, 255, 256, 0, 69, 70, 0, + 0, 0, 0, 246, 231, 241, 248, 249, 250, 251, + 295, 0, 240, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 573, 578, 592, 510, 0, 547, 548, 0, 0, + 0, 560, 686, 709, 712, 673, 0, 0, 0, 783, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 444, 0, 0, 445, 0, 475, + 0, 0, 0, 0, 0, 0, 334, 479, 480, 481, + 482, 483, 0, 0, 0, 0, 320, 802, 434, 0, + 0, 0, 134, 0, 796, 821, 822, 0, 388, 0, + 0, 0, 0, 0, 0, 391, 0, 389, 0, 137, + 338, 134, 449, 0, 455, 0, 0, 0, 437, 0, + 0, 459, 463, 0, 0, 440, 0, 0, 0, 0, + 379, 0, 385, 0, 435, 0, 393, 715, 705, 669, + 663, 719, 721, 726, 728, 733, 735, 521, 739, 523, + 527, 742, 529, 0, 0, 666, 576, 0, 79, 526, + 0, 532, 0, 0, 620, 621, 537, 539, 286, 235, + 271, 0, 57, 58, 87, 288, 0, 0, 0, 0, + 0, 232, 237, 0, 552, 302, 301, 356, 357, 359, + 358, 360, 350, 351, 352, 361, 362, 348, 349, 363, + 364, 353, 354, 355, 347, 0, 593, 600, 509, 0, + 613, 0, 495, 546, 0, 555, 0, 0, 559, 785, + 788, 273, 0, 278, 279, 277, 0, 0, 316, 314, + 0, 0, 0, 814, 812, 263, 0, 823, 305, 308, + 311, 818, 816, 794, 800, 798, 791, 64, 0, 36, + 0, 0, 0, 0, 0, 137, 0, 390, 0, 767, + 766, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 332, 0, 64, 137, 0, 0, 0, 0, 367, 0, + 0, 460, 0, 448, 0, 438, 0, 380, 0, 0, + 436, 386, 382, 0, 722, 729, 736, 261, 266, 760, + 750, 755, 619, 0, 0, 289, 92, 0, 0, 0, + 0, 0, 0, 297, 0, 0, 574, 579, 0, 0, + 502, 505, 0, 549, 0, 557, 0, 0, 274, 280, + 0, 0, 315, 804, 807, 810, 0, 0, 828, 0, + 0, 0, 0, 0, 782, 0, 0, 0, 235, 485, + 0, 0, 0, 370, 494, 373, 0, 0, 0, 365, + 0, 0, 0, 0, 329, 330, 0, 328, 327, 0, + 335, 235, 64, 0, 493, 0, 491, 368, 488, 0, + 0, 0, 487, 381, 0, 383, 0, 622, 538, 71, + 64, 0, 64, 64, 258, 0, 543, 553, 303, 554, + 601, 64, 503, 504, 505, 506, 497, 511, 556, 782, + 782, 0, 0, 0, 0, 0, 261, 824, 264, 263, + 306, 309, 312, 0, 783, 795, 782, 0, 476, 0, + 478, 486, 0, 0, 0, 376, 0, 0, 0, 0, + 0, 769, 768, 0, 333, 0, 321, 336, 235, 450, + 456, 0, 492, 490, 489, 690, 0, 0, 235, 0, + 235, 235, 0, 298, 0, 0, 133, 500, 497, 498, + 499, 502, 781, 781, 317, 0, 782, 782, 0, 0, + 0, 828, 781, 774, 0, 477, 0, 0, 374, 0, + 0, 771, 770, 366, 0, 331, 0, 322, 337, 451, + 457, 461, 72, 76, 77, 74, 75, 73, 84, 66, + 64, 89, 91, 0, 0, 0, 501, 512, 500, 0, + 0, 778, 828, 780, 0, 0, 0, 781, 781, 0, + 815, 825, 0, 0, 792, 826, 0, 377, 826, 0, + 0, 323, 462, 64, 60, 61, 0, 83, 235, 234, + 0, 0, 0, 514, 507, 0, 829, 779, 786, 789, + 318, 0, 0, 811, 819, 801, 0, 0, 826, 0, + 773, 772, 235, 0, 86, 0, 300, 0, 0, 776, + 0, 805, 808, 0, 830, 0, 832, 67, 0, 299, + 513, 64, 0, 827, 831, 64, 235, 777, 235, 515, 66, 68 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -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 + -1394, -1394, -647, -472, -1394, -1394, -1394, -1394, 544, 1058, + -1394, -1394, -1394, 1136, -1394, -1394, -1394, 1096, -1394, 1013, + -1394, -1394, 1061, -1394, -1394, -1394, -1394, -133, -369, -1394, + -1394, -224, 473, 474, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, 929, -1394, -1394, -51, 1050, + -1394, -1394, -1394, 281, 32, -408, -1394, -477, -632, -1394, + -1394, -1394, -1045, -1394, -1394, -1394, -1394, -1394, -668, -1394, + -1394, -1394, -1394, -592, -1170, -186, -1394, -13, -1394, -1394, + -1394, -1394, -1394, -214, -213, -212, -211, -1394, -1394, 1155, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, 90, -1394, 682, -120, -1394, + -777, -1394, -1394, -1394, -1394, -1394, -1394, -1265, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, 303, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -150, -221, -268, -220, + -152, -1394, -1394, -1394, -1394, -1394, 645, -1394, -509, -1394, + -1394, -492, -1394, -1394, -669, -266, -527, -528, -1394, -1394, + -1394, -900, -1394, 1113, -1394, -1394, -1394, -1394, -1394, 49, + 229, -1394, 665, -1394, -1394, -1394, -1394, -1394, -1394, 231, + -1394, 845, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -753, -157, -1394, 759, + -1394, -1394, -1394, -1394, -1394, -1394, -619, -1394, -1394, -291, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -123, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, 760, -546, -209, -715, -1394, -1394, + -1327, -997, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, -775, -1394, -1394, -1394, -1394, -1394, -1394, -1394, -1394, + -1394, -1394, -1394, -1394, -1394, -1394, -417, -1394, -1393, -585, + -1394 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 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, + 0, 1, 736, 737, 16, 132, 51, 17, 157, 163, + 581, 461, 138, 462, 94, 19, 20, 43, 44, 85, + 21, 39, 40, 693, 694, 1456, 172, 173, 1457, 909, + 1367, 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 + 213, 63, 64, 65, 66, 22, 1121, 328, 388, 206, + 23, 106, 207, 107, 145, 1092, 1222, 1423, 329, 330, + 707, 463, 708, 525, 660, 1247, 869, 464, 709, 548, + 741, 1238, 465, 710, 711, 712, 713, 714, 521, 715, + 921, 1224, 1095, 716, 466, 754, 1250, 755, 1251, 757, + 1252, 467, 745, 1242, 468, 589, 1357, 469, 1180, 1181, + 798, 470, 602, 471, 717, 472, 473, 784, 474, 1001, + 1344, 1002, 1399, 475, 848, 1201, 476, 590, 1184, 1409, + 1186, 1410, 1289, 1452, 478, 479, 384, 1381, 1427, 1314, + 1316, 1232, 944, 1122, 1462, 1488, 385, 386, 652, 653, + 669, 656, 657, 671, 1012, 675, 540, 408, 532, 342, + 1225, 533, 343, 75, 114, 211, 338, 25, 153, 942, + 875, 943, 47, 48, 129, 26, 148, 209, 332, 876, + 169, 170, 27, 108, 719, 1228, 528, 334, 335, 111, + 151, 722, 28, 73, 210, 529, 676, 480, 398, 263, + 264, 644, 667, 265, 490, 1049, 738, 543, 370, 266, + 267, 409, 952, 659, 488, 1048, 410, 953, 411, 954, + 487, 1047, 491, 1051, 492, 1204, 493, 1053, 494, 1205, + 495, 1055, 496, 1206, 497, 1058, 498, 1061, 654, 29, + 53, 272, 514, 1070, 30, 54, 273, 515, 1072, 31, + 52, 270, 513, 1067, 481, 1431, 1394, 796, 1432, 1433, + 1434, 962, 482, 739, 1236, 740, 1237, 764, 1256, 761, + 1254, 595, 483, 762, 1255, 484, 966, 1323, 967, 1324, + 968, 1325, 749, 1246, 759, 1253, 1248, 485, 1477, 778, + 486 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1663,739 +1671,752 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 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, 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, - 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, 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, -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, - 0, 424, 0, 0, 0, 0, 0, 425, 0, 0, - 426, 0, 0, 427, 684, 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, 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, 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, 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, - 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, 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, - 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, 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, 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, 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, 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, - 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, - 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, - 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, 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, - 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, - 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, - 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, - 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, - 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, 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, 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, - 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, - 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, - 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, 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, 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, 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, - 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, + 57, 67, 174, 214, 727, 668, 779, 890, 800, 729, + 262, 788, 1005, 893, 858, 646, 860, 648, 862, 650, + 874, 1096, 994, 670, 1021, 1160, 123, 961, 504, -132, + 1166, 1262, 1003, 553, 865, 1301, 81, 1296, 868, 115, + 116, 603, 604, 596, 268, 382, 537, 67, 67, 67, + 502, 795, 538, 692, 1379, 1479, 1435, 382, 537, 55, + 530, 598, 32, 33, 538, 1443, 2, 38, 99, 100, + 101, 82, 1175, 3, 1009, 531, 872, 519, 1176, 1398, + 512, 68, 690, 56, 690, 1495, 67, 67, 67, 67, + 790, 613, 790, 539, 615, 616, 4, 212, 5, 1007, + 6, 1007, 615, 616, 49, 539, 7, 383, 1177, 212, + 1471, 1472, 1093, 77, 1380, 536, 8, 1094, 530, 1178, + 520, 691, 9, 691, 1179, 158, 159, 412, 413, 139, + 554, 555, 972, 531, 1447, 728, 1430, 607, 608, 1008, + 500, 176, 752, 50, 93, 613, 10, 419, 615, 616, + 617, 618, 558, 421, 261, 818, 1389, 99, 100, 101, + 501, 339, 636, 637, 819, 970, 71, 973, 11, 12, + 636, 637, 559, 505, 1307, 981, 1308, 886, 984, 117, + 171, 863, 886, 886, 118, 1118, 119, 886, 402, 120, + 428, 429, 506, 801, 72, 503, 795, 877, 83, 877, + 949, 507, 401, 603, 604, 34, 403, 556, 885, 1157, + 84, 76, 566, 897, 262, 565, 636, 637, 1119, 74, + 218, 904, 905, 121, 431, 432, 1120, 557, 1066, 537, + 262, 885, 567, 1084, 913, 538, 77, 915, 916, 917, + 918, 919, 1161, 795, 1132, 922, 1013, 359, 219, 262, + 1064, 13, 262, 262, 262, 887, 885, 1335, 371, 171, + 55, 69, 1011, 14, 524, 160, 102, 751, 93, 15, + 161, 534, 162, 885, 41, 120, 539, 886, 887, 1011, + 888, 765, 855, 889, 56, 79, 541, 542, 544, 404, + 1014, 1016, 103, 93, 1257, 569, 874, 42, 885, 607, + 608, 547, 885, 887, 1272, 856, 78, 613, 1347, 614, + 615, 616, 617, 618, 99, 570, 101, 1171, 1015, 456, + 887, 1019, 1382, 1383, -720, 1309, 460, 70, 692, -720, + 262, 262, 603, 604, 262, 1219, 262, 87, 262, 1392, + 262, 95, 96, 97, 1137, 887, 743, 885, -720, 887, + 655, 1034, 690, 1449, 86, 58, 1059, 262, 261, 102, + 1035, 98, 734, 690, 640, 641, 744, 1045, 645, 1069, + 647, 735, 649, 1016, 261, 371, 1062, 1045, 636, 637, + 141, 142, 143, 144, 59, 1311, 1279, 1182, 1071, 1437, + 1438, 691, 1045, 261, 887, 1046, 261, 261, 261, 1349, + 92, 262, 691, 261, 551, 1133, 1068, 1214, 1068, 1045, + 734, 1215, 124, 795, 1280, 262, 530, 1487, 45, 735, + 1287, 1126, 84, 360, 46, 1045, 605, 606, 607, 608, + 609, 531, 1305, 610, 1045, 948, 613, 1293, 614, 615, + 616, 617, 618, 1501, 619, 620, 805, 809, 956, 957, + 361, 362, 60, 1295, 126, 1065, 734, 1045, 969, 55, + 1306, 823, 1341, 975, 976, 735, 978, 127, 980, 1066, + 982, 983, 1045, 985, 261, 261, 1125, 1039, 261, 849, + 261, 1045, 261, 56, 261, 1342, 1040, 1045, 1016, 673, + 629, 630, 631, 632, 633, 634, 635, 55, 1016, 128, + 1346, 261, 262, 790, 674, 1273, 780, 636, 637, 1397, + 61, 781, 1007, 363, 720, 1420, 1489, 364, 734, 690, + 62, 56, 1377, 734, 690, 1165, 1507, 735, 1173, -727, + 55, 133, 735, 1266, -727, 864, 870, 1174, 782, 780, + 867, -734, 1315, -375, 1183, 261, -734, 591, -375, 458, + 599, 1282, 600, -727, 56, 901, 941, 734, 691, 261, + 152, 734, 690, 691, 365, -734, 735, -375, 366, 262, + 735, 367, 522, 137, 104, 523, 734, 690, 971, 783, + 105, 262, 262, 262, 262, 735, 1374, 368, 262, 407, + 1340, 661, 262, 1063, 734, 690, 369, 262, 262, 1348, + 262, 691, 262, 735, 262, 262, 405, 262, 1453, 406, + 134, 1136, 407, 1356, 82, 955, 691, 390, 958, 1454, + 1455, 391, 965, 112, 725, 1448, 1270, 726, 135, 113, + 407, 130, 146, 149, 691, 392, 393, 131, 147, 150, + 394, 395, 396, 397, 1312, 371, 261, 750, 371, 731, + 1313, 477, 732, 136, 371, 1235, 168, 760, 853, 171, + 763, 499, 371, 1328, 371, 371, 854, 175, 857, 859, + 371, 509, 167, 1032, 861, 1140, 1141, 1142, 371, 371, + 371, 1146, 1131, 1139, 1360, 371, 336, 794, 337, 1411, + 1408, 154, 155, 772, 773, 154, 155, 156, 109, 110, + 1419, 99, 1421, 1422, 907, 908, 262, 208, 262, 262, + 1164, 271, 1372, 261, 215, 216, 217, 89, 90, 91, + 212, 262, 215, 216, 269, 261, 261, 261, 261, 852, + 325, 262, 261, 326, 327, 1450, 261, 573, 574, 331, + 1057, 261, 261, 1060, 261, 333, 261, 341, 261, 261, + 345, 261, 340, 348, 582, 583, 584, 585, 586, 346, + 1317, 347, 1318, 594, 351, 1076, 358, 349, 350, 352, + 353, 354, 355, 356, 357, 371, 372, 373, 1375, 375, + 376, 374, 377, 379, 378, 380, 387, 389, 400, 489, + 1484, 1393, 516, 517, 527, 381, 535, 510, 724, 14, + 518, 545, 526, 546, 552, 560, 1442, 561, 562, 262, + 262, 262, 563, 665, 1497, 262, 564, 568, 592, 571, + 565, 672, 572, 746, 643, 655, 666, 747, 718, 733, + 575, 576, 960, 642, 577, 578, 748, 776, 1509, 662, + 1510, 579, 1393, 730, 262, 580, 597, 1467, 1425, 639, + 261, 723, 261, 261, 742, 721, 777, 775, 785, 787, + 797, 816, 594, 753, 866, 261, 756, 883, 758, 799, + 871, 884, 896, 898, 906, 261, 910, 911, 766, 767, + 768, 769, 770, 771, 1465, 912, 914, 920, 941, 946, + 947, 963, 986, 1283, 997, 1418, 995, 1460, 1022, 999, + 692, 998, 1000, 1010, 1016, 1017, 1018, 262, 810, 811, + 603, 604, 812, 813, 814, 815, 1006, 817, 1024, 820, + 821, 822, 824, 825, 826, 827, 828, 829, 831, 832, + 833, 834, 835, 836, 837, 838, 839, 840, 841, 1023, + 850, 1208, 1025, 1026, 1502, 1027, 1037, 1038, 603, 604, + 1042, 1043, 1050, 261, 261, 261, 1052, 1054, 1056, 261, + 1074, 1075, 1079, 1082, 1081, 1083, 1086, 1087, 1088, 1089, + 1090, 1091, 1231, 1115, 1124, 1129, 1130, 1143, 1209, 1134, + 1135, 1144, 892, 1145, 1148, 895, 1147, 1149, 261, 1486, + 900, 1150, 903, 1151, 1152, 1153, 1154, 1156, 1191, 1213, + 1223, 1155, 1158, 1230, 605, 606, 607, 608, 1167, 1233, + 1210, 1192, 1241, 1499, 613, 1500, 614, 615, 616, 617, + 618, 1194, 619, 620, 1258, 1199, 945, 262, 1207, 262, + 1211, 1239, 950, 1240, 1243, 1244, 1269, 1245, 1249, 1265, + 1271, 1274, 1275, 1276, 607, 608, 1277, 964, 1278, 1281, + 1297, 261, 613, 1304, 614, 615, 616, 617, 618, 1315, + 1319, 1320, 1322, 1285, 1326, 1310, 1327, 1334, 1329, 1333, + 631, 632, 633, 634, 635, 1336, 993, 1337, 1345, 1353, + 996, 1355, 1359, 1424, 1366, 636, 637, 1365, 1373, 1004, + 594, 1385, 1386, 1387, 1388, 1426, 1459, 1466, 1493, 1396, + 1400, 1403, 1446, 718, 603, 604, 67, 1405, 631, 632, + 633, 634, 635, 1440, 1441, 1444, 1189, 1496, 1468, 1469, + 1473, 1474, 1475, 636, 637, 774, 1476, 1483, 1198, 1490, + 1494, 1504, 262, 1203, 122, 1491, 1492, 18, 80, 166, + 125, 1511, 1412, 1390, 880, 881, 1036, 344, 140, 1358, + 1041, 1229, 1413, 1414, 1415, 1416, 24, 1428, 601, 1354, + 1463, 1429, 1378, 1464, 88, 1227, 1361, 1368, 677, 1370, + 1371, 261, 1116, 261, 1117, 549, 550, 399, 1376, 1439, + 0, 0, 0, 0, 0, 0, 1073, 0, 0, 0, + 0, 0, 0, 1077, 1078, 0, 0, 1080, 0, 0, + 607, 608, 0, 0, 0, 1085, 0, 0, 613, 0, + 614, 615, 616, 617, 618, 0, 0, 262, 0, 0, + 0, 0, 0, 0, 0, 0, 1097, 1098, 1099, 1100, + 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, + 1111, 1112, 1113, 1114, 0, 0, 0, 0, 1260, 0, + 1261, 0, 1127, 0, 0, 0, 1267, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 633, 634, 635, 0, + 0, 0, 0, 0, 0, 0, 261, 0, 0, 636, + 637, 0, 0, 0, 0, 0, 0, 1458, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 661, 0, 0, + 0, 0, 1162, 1163, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1168, 1169, 1170, 0, 996, 0, 0, + 1482, 0, 0, 0, 0, 0, 1185, 0, 1187, 0, + 1190, 783, 0, 0, 0, 0, 1193, 0, 0, 0, + 1196, 0, 0, 0, 0, 0, 0, 0, 996, 0, + 0, 0, 1343, 0, 0, -73, 0, 0, 0, 0, + 0, 261, 0, 0, 0, 0, 603, 604, 1506, 0, + 0, 0, 1508, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1216, 0, 783, 0, 0, 1217, + 1218, 1369, 1220, 1221, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 661, 0, 1226, 0, + 0, 0, 0, 1391, 0, 0, 0, 0, 0, 1234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 594, 0, + 0, 0, 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, 0, 0, 0, 0, 1290, 0, 1291, 0, 0, + 0, 0, 1294, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1298, 940, 625, + 0, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 0, 603, 604, 220, 0, 0, 0, 0, 0, + 221, 636, 637, 1321, 0, 0, 222, 0, 0, 0, + 0, 0, 0, 1330, 1331, 1332, 223, 0, 0, 0, + 1339, 0, 0, 0, 224, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1350, 1351, 1352, 0, 0, 225, + 0, 0, 0, 0, 0, 0, 226, 227, 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, 0, + 0, 0, 0, 0, 0, 0, 605, 606, 607, 608, + 609, 0, 594, 610, 611, 612, 613, 0, 614, 615, + 616, 617, 618, 0, 619, 620, 0, 0, 0, 0, + 1401, 1402, 0, 55, 0, 0, 0, 0, 1407, 0, + 0, 0, 0, 0, 0, 0, 259, 0, 0, 1417, + 0, 0, 0, 0, 0, 718, 0, 56, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1436, 628, + 629, 630, 631, 632, 633, 634, 635, 0, 0, 1445, + 0, 0, 0, 594, 0, 0, 0, 636, 637, 1451, + 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, + 0, 511, 0, 0, 0, 0, 0, 0, 1461, 0, + 678, 0, 0, 0, 412, 413, 3, 0, -88, -82, + -82, 0, -85, 0, 414, 415, 416, 417, 418, 1478, + 0, 0, 1480, 1481, 419, 679, 420, 680, 681, 0, + 421, 0, 0, 1485, 0, 0, 0, 682, 422, 0, + 0, -90, 0, 683, 423, 0, 0, 424, 0, 8, + 425, 684, 0, 685, 426, 0, 1498, 686, 687, 0, + 0, 0, 0, 0, 688, 0, 1503, 428, 429, 0, + 226, 227, 228, 0, 230, 231, 232, 233, 234, 430, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 0, 248, 249, 250, 0, 0, 253, 254, 255, + 256, 431, 432, 433, 689, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, 440, + 0, 441, 0, 442, 443, 444, 445, 446, 447, 448, + 449, 56, 0, 690, 450, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 451, 452, 453, 0, 13, 0, 0, 454, 455, 0, + 0, 0, 0, 0, 0, 0, 456, 0, 457, 0, + 458, 459, 691, 460, -236, 678, 0, 0, 0, 412, + 413, 3, 0, -88, -82, -82, 0, -85, 0, 414, + 415, 416, 417, 418, 0, 0, 0, 0, 0, 419, + 679, 420, 680, 681, 0, 421, 0, 0, 0, 0, + 0, 0, 682, 422, 0, 0, -90, 0, 683, 423, + 0, 0, 424, 0, 8, 425, 684, 0, 685, 426, + 0, 0, 686, 687, 0, 0, 0, 0, 0, 688, + 0, 0, 428, 429, 0, 226, 227, 228, 0, 230, + 231, 232, 233, 234, 430, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 0, 248, 249, 250, + 0, 0, 253, 254, 255, 256, 431, 432, 433, 689, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 434, 435, 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, + 436, 437, 438, 439, 440, 0, 441, 0, 442, 443, + 444, 445, 446, 447, 448, 449, 56, 0, 690, 450, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 451, 452, 453, 0, 13, + 0, 0, 454, 455, 0, 0, 0, 0, 0, 0, + 0, 456, 0, 457, 0, 458, 459, 691, 460, 1020, + 678, 0, 0, 0, 412, 413, 3, 0, -88, -82, + -82, 0, -85, 0, 414, 415, 416, 417, 418, 0, + 0, 0, 0, 0, 419, 679, 420, 680, 681, 0, + 421, 0, 0, 0, 0, 0, 0, 682, 422, 0, + 0, -90, 0, 683, 423, 0, 0, 424, 0, 8, + 425, 684, 0, 685, 426, 0, 0, 686, 687, 0, + 0, 0, 0, 0, 688, 0, 0, 428, 429, 0, + 226, 227, 228, 0, 230, 231, 232, 233, 234, 430, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 0, 248, 249, 250, 0, 0, 253, 254, 255, + 256, 431, 432, 433, 689, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, 440, + 0, 441, 0, 442, 443, 444, 445, 446, 447, 448, + 449, 56, 0, 690, 450, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 451, 452, 453, 0, 13, 0, 0, 454, 455, 0, + 0, 0, 0, 0, 0, 0, 456, 0, 457, 0, + 458, 459, 691, 460, -233, 412, 413, 0, 0, 0, + 0, 0, 0, 0, 0, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 679, 420, 680, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 684, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 689, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 0, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 789, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 790, 442, 443, 444, 445, 446, 447, + 448, 449, 791, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 792, 0, 457, + 793, 458, 459, 587, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 588, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 790, 442, 443, 444, 445, 446, 447, + 448, 449, 791, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 0, 458, 459, 587, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 588, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 0, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 959, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 790, 442, 443, 444, 445, 446, 447, + 448, 449, 791, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 0, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 508, 457, + 0, 458, 459, 593, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 0, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 664, 457, + 0, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 830, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 0, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 851, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 0, + 0, 0, 0, 0, 0, 0, 891, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, + 0, 0, 0, 0, 0, 0, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 0, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 894, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 0, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 899, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 0, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 0, + 0, 0, 0, 0, 0, 0, 902, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, + 0, 0, 0, 0, 0, 0, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 0, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 1188, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 1197, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 1202, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 1259, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 1338, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 0, + 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, + 0, 0, 0, 0, 0, 0, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 0, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 0, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 0, 0, 454, 455, + 0, 0, 0, 0, 0, 412, 413, 456, 0, 457, + 0, 458, 459, 0, 460, 414, 415, 416, 417, 418, + 0, 0, 0, 0, 0, 419, 0, 420, 0, 0, + 0, 421, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 0, 0, 0, 0, 423, 0, 0, 424, 0, + 0, 425, 0, 0, 0, 426, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 427, 0, 0, 428, 429, + 0, 226, 227, 228, 0, 230, 231, 232, 233, 234, + 430, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 0, 248, 249, 250, 0, 0, 253, 254, + 255, 256, 431, 432, 433, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 434, 435, 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, 436, 437, 438, 439, + 440, 0, 441, 0, 442, 443, 444, 445, 446, 447, + 448, 449, 56, 0, 220, 450, 0, 0, 0, 0, + 221, 0, 0, 0, 0, 0, 222, 0, 0, 0, + 0, 451, 452, 453, 0, 13, 223, 0, 454, 455, + 0, 0, 0, 0, 224, 0, 0, 1172, 0, 457, + 0, 458, 459, 0, 460, 0, 0, 0, 0, 225, + 0, 0, 0, 0, 0, 0, 226, 227, 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, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, + 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, + 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 223, 0, 0, 55, 0, 0, 0, 0, 224, 0, + 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, + 0, 0, 0, 225, 0, 0, 0, 651, 0, 690, + 226, 227, 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, + 256, 257, 258, 0, 0, 0, 260, 0, 691, 0, + 220, 0, 0, 603, 604, 0, 221, 0, 0, 0, + 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 223, 0, 0, 0, 0, 55, 0, 0, + 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 0, 0, 0, 0, 225, 0, 0, 0, 0, + 0, 56, 226, 227, 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, + 254, 255, 256, 257, 258, 0, 0, 0, 0, 0, + 260, 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, 259, 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, 260, 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, 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, 951, 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, 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, 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, 603, 604, 0, 0, 0, 0, 0, 0, 0, + 636, 637, 605, 606, 607, 608, 609, 1128, 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, 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, 953, 0, 610, 611, + 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, + 1476, 0, 610, 611, 612, 613, 0, 614, 615, 616, + 617, 618, 0, 619, 620, 0, 0, 0, 0, 621, + 622, 623, 226, 227, 228, 624, 230, 231, 232, 233, + 234, 430, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 0, 248, 249, 250, 0, 0, 253, + 254, 255, 256, 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, 0, 621, 622, 623, 0, 0, - 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, + 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, 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, 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, + 634, 635, 0, 0, 0, 0, 0, 0, 177, 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, 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, + 0, 621, 622, 623, 178, 0, 179, 624, 180, 181, + 182, 183, 184, 0, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 0, 196, 197, 198, 0, + 0, 199, 200, 201, 202, 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, + 203, 204, 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, 803, 621, 622, 623, - 0, 0, 0, 624, 0, 804, 0, 0, 0, 0, + 0, 619, 620, 0, 0, 0, 0, 621, 622, 623, + 0, 0, 0, 624, 0, 205, 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, 658, 605, + 0, 603, 604, 0, 636, 637, 0, 0, 974, 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, @@ -2404,7 +2425,7 @@ static const yytype_int16 yytable[] = 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, + 636, 637, 0, 0, 977, 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, @@ -2413,7 +2434,7 @@ static const yytype_int16 yytable[] = 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, + 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, @@ -2421,7 +2442,7 @@ static const yytype_int16 yytable[] = 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, 979, 605, 606, 607, + 604, 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, @@ -2430,7 +2451,7 @@ static const yytype_int16 yytable[] = 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, + 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, 0, @@ -2473,7 +2494,7 @@ static const yytype_int16 yytable[] = 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, + 0, 0, 1123, 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, @@ -2481,7 +2502,7 @@ static const yytype_int16 yytable[] = 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, 994, 605, + 0, 603, 604, 0, 636, 637, 0, 0, 1138, 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, @@ -2490,7 +2511,7 @@ static const yytype_int16 yytable[] = 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, + 636, 637, 0, 0, 1212, 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, @@ -2499,7 +2520,7 @@ static const yytype_int16 yytable[] = 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, + 1263, 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, @@ -2507,7 +2528,7 @@ static const yytype_int16 yytable[] = 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, + 604, 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, @@ -2516,7 +2537,7 @@ static const yytype_int16 yytable[] = 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, + 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, @@ -2524,7 +2545,7 @@ static const yytype_int16 yytable[] = 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, + 0, 603, 604, 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, @@ -2533,7 +2554,7 @@ static const yytype_int16 yytable[] = 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, + 636, 637, 0, 0, 1286, 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, @@ -2550,7 +2571,7 @@ static const yytype_int16 yytable[] = 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, 1290, 605, 606, 607, + 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, @@ -2559,7 +2580,7 @@ static const yytype_int16 yytable[] = 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, + 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, @@ -2567,7 +2588,7 @@ static const yytype_int16 yytable[] = 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, + 0, 603, 604, 0, 636, 637, 0, 0, 1300, 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, @@ -2576,7 +2597,7 @@ static const yytype_int16 yytable[] = 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, + 636, 637, 0, 0, 1302, 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, @@ -2585,7 +2606,7 @@ static const yytype_int16 yytable[] = 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, + 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, @@ -2593,7 +2614,7 @@ static const yytype_int16 yytable[] = 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, + 604, 0, 636, 637, 0, 0, 1362, 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, @@ -2602,7 +2623,7 @@ static const yytype_int16 yytable[] = 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, + 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, @@ -2610,7 +2631,7 @@ static const yytype_int16 yytable[] = 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, 1363, 605, + 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, @@ -2619,7 +2640,7 @@ static const yytype_int16 yytable[] = 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, + 636, 637, 0, 0, 1384, 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, @@ -2628,7 +2649,7 @@ static const yytype_int16 yytable[] = 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, + 1395, 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, @@ -2636,7 +2657,7 @@ static const yytype_int16 yytable[] = 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, + 604, 0, 636, 637, 0, 0, 1404, 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, @@ -2645,15 +2666,15 @@ static const yytype_int16 yytable[] = 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, + 0, 0, 1470, 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, + 632, 633, 634, 635, 0, 0, 0, 0, 0, 603, + 604, 0, 0, 0, 636, 637, 0, 0, 1505, 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, @@ -2661,17 +2682,25 @@ static const yytype_int16 yytable[] = 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, 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, 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, - 1497, 605, 606, 607, 608, 609, 0, 0, 610, 611, + 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, + 1028, 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, @@ -2679,881 +2708,869 @@ static const yytype_int16 yytable[] = 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, 663, 605, 606, 607, 608, 609, + 0, 0, 636, 637, 1044, 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, + 630, 631, 632, 633, 634, 635, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 636, 637, 1195, 605, + 606, 607, 608, 609, 274, 275, 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, 276, 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, + 636, 637, 1200, 0, 0, 0, 0, 603, 604, 0, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 0, 0, + 295, 296, 297, 0, 0, 298, 299, 300, 301, 302, + 0, 0, 303, 304, 305, 306, 307, 308, 309, 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, + 0, 0, 0, 0, 0, 0, 806, 310, 0, 311, + 312, 313, 314, 315, 316, 317, 318, 319, 320, 0, + 0, 321, 322, 603, 604, 0, 0, 0, 0, 323, + 324, 605, 606, 607, 608, 609, 0, 0, 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, + 620, 0, 0, 786, 0, 621, 622, 623, 226, 227, + 228, 624, 230, 231, 232, 233, 234, 430, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, + 248, 249, 250, 0, 0, 253, 254, 255, 256, 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, + 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, 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, 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, 625, 1033, 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, + 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, 1159, 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, 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, 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, 0, 0, 0, 0, - 0, 0, 0, 0, 626, 627, 628, 629, 630, 631, + 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, - 0, 0, 0, 0, 0, 0, 0, 605, 606, 607, + 621, 622, 623, 0, 0, 0, -735, 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, + 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, 1031, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 627, + 0, 0, 0, 0, 0, 0, 0, 636, 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, - 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, + 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, 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, 1029, 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, 226, + 227, 228, 0, 230, 231, 232, 233, 234, 430, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 0, 248, 249, 250, 0, 0, 253, 254, 255, 256, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 0, 0, + 0, 1030, 0, 0, 0, 0, 0, 226, 227, 228, + 1031, 230, 231, 232, 233, 234, 430, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 0, 248, + 249, 250, 0, 0, 253, 254, 255, 256, 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, 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, 844, + 0, 0, 0, 0, 0, 0, 0, 0, 845, 0, 0, 0, 0, 0, 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, 846, 847 + 0, 0, 846, 847 }; static const yytype_int16 yycheck[] = { - 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, - 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, 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, 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, -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, - 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, - 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, 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, -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, - 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, - 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, - 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, - 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, -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, - -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, 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, + 13, 14, 135, 153, 532, 514, 591, 676, 600, 536, + 167, 596, 787, 681, 646, 492, 648, 494, 650, 496, + 667, 921, 775, 515, 801, 20, 77, 742, 33, 8, + 20, 20, 785, 5, 653, 20, 22, 1207, 657, 15, + 16, 21, 22, 460, 167, 150, 126, 60, 61, 62, + 33, 597, 132, 525, 46, 1448, 1383, 150, 126, 138, + 147, 469, 19, 20, 132, 1392, 0, 155, 139, 140, + 141, 57, 126, 7, 789, 162, 661, 7, 132, 1344, + 371, 203, 164, 162, 164, 1478, 99, 100, 101, 102, + 153, 125, 153, 173, 128, 129, 30, 202, 32, 162, + 34, 162, 128, 129, 162, 173, 40, 200, 162, 202, + 1437, 1438, 199, 172, 106, 406, 50, 204, 147, 173, + 50, 203, 56, 203, 178, 15, 16, 5, 6, 200, + 102, 103, 751, 162, 1399, 203, 199, 117, 118, 200, + 179, 200, 559, 201, 138, 125, 80, 25, 128, 129, + 130, 131, 179, 31, 167, 153, 1326, 139, 140, 141, + 199, 212, 196, 197, 162, 750, 8, 752, 102, 103, + 196, 197, 199, 178, 203, 760, 205, 172, 763, 155, + 164, 175, 172, 172, 160, 164, 162, 172, 338, 165, + 68, 69, 197, 601, 36, 178, 742, 669, 184, 671, + 727, 206, 335, 21, 22, 162, 339, 179, 126, 986, + 196, 173, 179, 685, 371, 199, 196, 197, 197, 62, + 172, 693, 694, 199, 102, 103, 205, 199, 875, 126, + 387, 126, 199, 901, 706, 132, 172, 709, 710, 711, + 712, 713, 995, 789, 959, 717, 792, 260, 200, 406, + 869, 185, 409, 410, 411, 173, 126, 1254, 176, 164, + 138, 203, 132, 197, 387, 155, 172, 558, 138, 203, + 160, 404, 162, 126, 162, 165, 173, 172, 173, 132, + 175, 572, 180, 178, 162, 172, 409, 410, 411, 340, + 172, 172, 198, 138, 199, 179, 943, 185, 126, 117, + 118, 179, 126, 173, 132, 203, 175, 125, 132, 127, + 128, 129, 130, 131, 139, 199, 141, 198, 200, 197, + 173, 798, 1319, 1320, 175, 1225, 204, 203, 800, 180, + 487, 488, 21, 22, 491, 1088, 493, 203, 495, 1336, + 497, 60, 61, 62, 963, 173, 179, 126, 199, 173, + 162, 153, 164, 132, 162, 34, 865, 514, 371, 172, + 162, 199, 163, 164, 487, 488, 199, 172, 491, 878, + 493, 172, 495, 172, 387, 176, 868, 172, 196, 197, + 99, 100, 101, 102, 63, 198, 172, 1019, 880, 1386, + 1387, 203, 172, 406, 173, 200, 409, 410, 411, 198, + 162, 558, 203, 416, 417, 200, 878, 1076, 880, 172, + 163, 1079, 155, 959, 200, 572, 147, 1462, 57, 172, + 200, 948, 196, 33, 63, 172, 115, 116, 117, 118, + 119, 162, 172, 122, 172, 726, 125, 200, 127, 128, + 129, 130, 131, 1488, 133, 134, 603, 604, 739, 740, + 60, 61, 131, 200, 162, 162, 163, 172, 749, 138, + 200, 618, 200, 754, 755, 172, 757, 162, 759, 1116, + 761, 762, 172, 764, 487, 488, 948, 153, 491, 636, + 493, 172, 495, 162, 497, 200, 162, 172, 172, 147, + 179, 180, 181, 182, 183, 184, 185, 138, 172, 162, + 200, 514, 659, 153, 162, 1174, 147, 196, 197, 200, + 189, 152, 162, 123, 527, 200, 200, 127, 163, 164, + 199, 162, 47, 163, 164, 1002, 200, 172, 153, 175, + 138, 162, 172, 1165, 180, 180, 659, 162, 179, 147, + 180, 175, 67, 175, 1021, 558, 180, 457, 180, 201, + 202, 1183, 204, 199, 162, 688, 162, 163, 203, 572, + 204, 163, 164, 203, 174, 199, 172, 199, 178, 726, + 172, 181, 200, 166, 57, 203, 163, 164, 180, 592, + 63, 738, 739, 740, 741, 172, 175, 197, 745, 178, + 1258, 501, 749, 180, 163, 164, 206, 754, 755, 1268, + 757, 203, 759, 172, 761, 762, 172, 764, 12, 175, + 162, 180, 178, 1281, 57, 738, 203, 75, 741, 23, + 24, 79, 745, 57, 172, 1400, 1172, 175, 162, 63, + 178, 57, 57, 57, 203, 93, 94, 63, 63, 63, + 98, 99, 100, 101, 57, 176, 659, 557, 176, 180, + 63, 348, 180, 162, 176, 1127, 163, 567, 180, 164, + 570, 358, 176, 1248, 176, 176, 180, 166, 180, 180, + 176, 368, 173, 830, 180, 966, 967, 968, 176, 176, + 176, 972, 180, 180, 180, 176, 203, 597, 205, 180, + 1358, 166, 167, 168, 169, 166, 167, 168, 5, 6, + 1368, 139, 1370, 1371, 10, 11, 863, 162, 865, 866, + 1001, 164, 1304, 726, 166, 167, 168, 52, 53, 54, + 202, 878, 166, 167, 163, 738, 739, 740, 741, 639, + 35, 888, 745, 35, 199, 1404, 749, 434, 435, 175, + 863, 754, 755, 866, 757, 106, 759, 162, 761, 762, + 179, 764, 202, 199, 451, 452, 453, 454, 455, 179, + 1232, 179, 1234, 460, 199, 888, 199, 179, 179, 179, + 179, 179, 179, 179, 179, 176, 204, 204, 1306, 162, + 162, 204, 162, 22, 198, 162, 175, 204, 162, 162, + 1458, 1337, 162, 132, 175, 198, 162, 197, 43, 197, + 199, 179, 204, 179, 179, 199, 1391, 179, 179, 966, + 967, 968, 199, 510, 1482, 972, 179, 179, 202, 179, + 199, 518, 179, 179, 162, 162, 162, 179, 525, 180, + 199, 199, 742, 200, 199, 199, 179, 13, 1506, 198, + 1508, 199, 1388, 540, 1001, 199, 199, 1432, 1375, 199, + 863, 199, 865, 866, 199, 204, 172, 199, 199, 172, + 4, 162, 559, 560, 175, 878, 563, 199, 565, 202, + 200, 43, 162, 155, 10, 888, 13, 9, 575, 576, + 577, 578, 579, 580, 1430, 42, 205, 66, 162, 162, + 162, 162, 180, 1184, 198, 1367, 199, 1424, 179, 199, + 1372, 200, 199, 199, 172, 200, 199, 1064, 605, 606, + 21, 22, 609, 610, 611, 612, 205, 614, 179, 616, + 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, + 627, 628, 629, 630, 631, 632, 633, 634, 635, 199, + 637, 1064, 199, 199, 1490, 199, 199, 199, 21, 22, + 1, 199, 162, 966, 967, 968, 180, 180, 180, 972, + 162, 162, 14, 175, 173, 155, 199, 199, 199, 199, + 199, 37, 1122, 173, 43, 180, 180, 180, 205, 200, + 200, 200, 679, 199, 180, 682, 200, 180, 1001, 1461, + 687, 180, 689, 180, 200, 180, 180, 180, 179, 43, + 162, 200, 199, 8, 115, 116, 117, 118, 200, 162, + 205, 199, 162, 1485, 125, 1487, 127, 128, 129, 130, + 131, 199, 133, 134, 1157, 199, 723, 1184, 199, 1186, + 205, 200, 729, 199, 180, 180, 200, 180, 180, 180, + 199, 162, 162, 199, 117, 118, 162, 744, 162, 1182, + 162, 1064, 125, 204, 127, 128, 129, 130, 131, 67, + 199, 199, 180, 1186, 199, 205, 200, 70, 199, 199, + 181, 182, 183, 184, 185, 199, 773, 199, 180, 162, + 777, 137, 180, 1374, 12, 196, 197, 200, 162, 786, + 787, 199, 199, 199, 199, 33, 205, 172, 53, 203, + 203, 200, 203, 800, 21, 22, 1119, 200, 181, 182, + 183, 184, 185, 200, 200, 200, 1026, 205, 200, 200, + 200, 200, 200, 196, 197, 581, 203, 199, 1038, 199, + 198, 198, 1289, 1043, 76, 200, 200, 1, 42, 126, + 79, 1510, 1366, 1329, 671, 671, 843, 218, 98, 1282, + 847, 1119, 1366, 1366, 1366, 1366, 1, 1378, 476, 1279, + 1428, 1381, 1314, 1429, 51, 1116, 1289, 1300, 523, 1302, + 1303, 1184, 943, 1186, 943, 416, 416, 332, 1311, 1388, + -1, -1, -1, -1, -1, -1, 883, -1, -1, -1, + -1, -1, -1, 890, 891, -1, -1, 894, -1, -1, + 117, 118, -1, -1, -1, 902, -1, -1, 125, -1, + 127, 128, 129, 130, 131, -1, -1, 1374, -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, -1, -1, -1, 1158, -1, + 1160, -1, 949, -1, -1, -1, 1166, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 183, 184, 185, -1, + -1, -1, -1, -1, -1, -1, 1289, -1, -1, 196, + 197, -1, -1, -1, -1, -1, -1, 1420, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1207, -1, -1, + -1, -1, 999, 1000, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1010, 1011, 1012, -1, 1014, -1, -1, + 1453, -1, -1, -1, -1, -1, 1023, -1, 1025, -1, + 1027, 1344, -1, -1, -1, -1, 1033, -1, -1, -1, + 1037, -1, -1, -1, -1, -1, -1, -1, 1045, -1, + -1, -1, 1262, -1, -1, 10, -1, -1, -1, -1, + -1, 1374, -1, -1, -1, -1, 21, 22, 1501, -1, + -1, -1, 1505, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1081, -1, 1399, -1, -1, 1086, + 1087, 1301, 1089, 1090, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1326, -1, 1115, -1, + -1, -1, -1, 1333, -1, -1, -1, -1, -1, 1126, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1145, -1, + -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, 1192, -1, 1194, -1, -1, + -1, -1, 1199, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1214, 173, 174, + -1, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, -1, 21, 22, 19, -1, -1, -1, -1, -1, + 25, 196, 197, 1240, -1, -1, 31, -1, -1, -1, + -1, -1, -1, 1250, 1251, 1252, 41, -1, -1, -1, + 1257, -1, -1, -1, 49, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1271, 1272, 1273, -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, 115, 116, 117, 118, + 119, -1, 1329, 122, 123, 124, 125, -1, 127, 128, + 129, 130, 131, -1, 133, 134, -1, -1, -1, -1, + 1347, 1348, -1, 138, -1, -1, -1, -1, 1355, -1, + -1, -1, -1, -1, -1, -1, 151, -1, -1, 1366, + -1, -1, -1, -1, -1, 1372, -1, 162, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1385, 178, + 179, 180, 181, 182, 183, 184, 185, -1, -1, 1396, + -1, -1, -1, 1400, -1, -1, -1, 196, 197, 1406, + -1, -1, -1, -1, -1, -1, 201, -1, -1, -1, + -1, 206, -1, -1, -1, -1, -1, -1, 1425, -1, + 1, -1, -1, -1, 5, 6, 7, -1, 9, 10, + 11, -1, 13, -1, 15, 16, 17, 18, 19, 1446, + -1, -1, 1449, 1450, 25, 26, 27, 28, 29, -1, + 31, -1, -1, 1460, -1, -1, -1, 38, 39, -1, + -1, 42, -1, 44, 45, -1, -1, 48, -1, 50, + 51, 52, -1, 54, 55, -1, 1483, 58, 59, -1, + -1, -1, -1, -1, 65, -1, 1493, 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, 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, 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, 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, -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, 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, 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, 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, -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, 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, 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, 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, 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, -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, -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, 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, 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, + -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, 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, 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, - -1, -1, 201, -1, 21, 22, -1, -1, -1, 115, - 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, + 99, 100, 101, 102, 103, -1, -1, -1, -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, 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, 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, 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, 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, -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, + 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, -1, + 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, 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, 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, + 184, 185, -1, -1, -1, -1, -1, -1, 35, 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, 71, 72, 73, 145, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + -1, 139, 140, 141, 71, -1, 73, 145, 75, 76, + 77, 78, 79, -1, 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, + 117, 118, -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, 153, 139, 140, 141, + -1, 133, 134, -1, -1, -1, -1, 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, @@ -3816,8 +3833,8 @@ static const yytype_int16 yycheck[] = -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, + 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, @@ -3825,17 +3842,25 @@ static const yytype_int16 yycheck[] = -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, 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, -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, + -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, 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, @@ -3850,143 +3875,118 @@ static const yytype_int16 yycheck[] = -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, 21, - 22, -1, -1, -1, -1, -1, 196, 197, 198, 115, - 116, 117, 118, 119, -1, -1, 122, 123, 124, 125, + 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, -1, -1, 139, 140, 141, -1, -1, -1, 145, + -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, 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, 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, + 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, -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, + -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, 38, -1, 139, 140, 141, -1, -1, - -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, + 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, - 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, + -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, -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, 19, 174, + -1, -1, -1, -1, -1, 170, -1, -1, -1, 174, -1, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, -1, -1, 188, 189, 21, 22, -1, -1, -1, + 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, - 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, 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, -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, 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, 21, 22, -1, -1, 139, - 140, 141, -1, -1, -1, 145, -1, -1, -1, -1, + -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, - -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, 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, -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, + -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, - -1, -1, -1, -1, -1, -1, -1, 115, 116, 117, + 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, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 176, 177, 178, + 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, 19, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, + -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, - -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, + 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, -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, + -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, 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, -1, 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, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 128, 129, -1, -1, + -1, -1, -1, -1, 128, 129, -1, -1, -1, -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, -1, -1, -1, 162, -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, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 196, 197 + -1, -1, 196, 197 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -3995,155 +3995,156 @@ static const yytype_int16 yystos[] = { 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, + 223, 227, 262, 267, 296, 374, 382, 389, 399, 446, + 451, 456, 19, 20, 162, 254, 255, 256, 155, 228, + 229, 162, 185, 224, 225, 57, 63, 379, 380, 162, + 201, 213, 457, 447, 452, 138, 162, 284, 34, 63, + 131, 189, 199, 258, 259, 260, 261, 284, 203, 203, + 203, 8, 36, 400, 62, 370, 173, 172, 175, 172, + 224, 22, 57, 184, 196, 226, 162, 203, 370, 379, + 379, 379, 162, 138, 221, 260, 260, 260, 199, 139, + 140, 141, 172, 198, 57, 63, 268, 270, 390, 5, + 6, 396, 57, 63, 371, 15, 16, 155, 160, 162, + 165, 199, 216, 255, 155, 229, 162, 162, 162, 381, + 57, 63, 212, 162, 162, 162, 162, 166, 219, 200, + 256, 260, 260, 260, 260, 271, 57, 63, 383, 57, + 63, 397, 204, 375, 166, 167, 168, 215, 15, 16, + 155, 160, 162, 216, 252, 253, 226, 173, 163, 387, + 388, 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, 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, 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, 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, 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, + 99, 100, 101, 117, 118, 162, 266, 269, 162, 384, + 401, 372, 202, 257, 343, 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, + 201, 284, 404, 406, 407, 410, 416, 417, 445, 163, + 458, 164, 448, 453, 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, + 174, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 188, 189, 196, 197, 35, 35, 199, 264, 275, + 276, 175, 385, 106, 394, 395, 203, 205, 373, 255, + 202, 162, 366, 369, 252, 179, 179, 179, 199, 179, + 179, 199, 179, 179, 179, 179, 179, 179, 199, 284, + 33, 60, 61, 123, 127, 174, 178, 181, 197, 206, + 415, 176, 204, 204, 204, 162, 162, 162, 198, 22, + 162, 198, 150, 200, 343, 353, 354, 175, 265, 204, + 75, 79, 93, 94, 98, 99, 100, 101, 405, 388, + 162, 234, 343, 234, 255, 172, 175, 178, 364, 418, + 423, 425, 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, + 165, 181, 182, 183, 188, 189, 197, 199, 201, 202, + 204, 218, 220, 278, 284, 289, 301, 308, 311, 314, + 318, 320, 322, 323, 325, 330, 333, 334, 341, 342, + 404, 461, 469, 479, 482, 494, 497, 427, 421, 162, + 411, 429, 431, 433, 435, 437, 439, 441, 443, 334, + 179, 199, 33, 178, 33, 178, 197, 206, 198, 334, + 197, 206, 416, 459, 449, 454, 162, 132, 199, 7, + 50, 295, 200, 203, 445, 280, 204, 175, 393, 402, + 147, 162, 365, 368, 234, 162, 416, 126, 132, 173, + 363, 445, 445, 414, 445, 179, 179, 179, 286, 406, + 461, 284, 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, + 199, 179, 179, 334, 334, 199, 199, 199, 199, 199, + 199, 217, 334, 334, 334, 334, 334, 13, 49, 312, + 334, 312, 202, 13, 334, 478, 493, 199, 262, 202, + 204, 314, 319, 21, 22, 115, 116, 117, 118, 119, 122, 123, 124, 125, 127, 128, 129, 130, 131, 133, 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, + 445, 445, 200, 162, 408, 445, 264, 445, 264, 445, + 264, 162, 355, 356, 445, 162, 358, 359, 200, 420, + 281, 312, 198, 198, 198, 334, 162, 409, 355, 357, + 358, 360, 334, 147, 162, 362, 403, 353, 1, 26, 28, 29, 38, 44, 52, 54, 58, 59, 65, 105, 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, + 245, 246, 247, 248, 249, 250, 251, 277, 279, 285, + 290, 291, 292, 293, 294, 296, 300, 321, 334, 391, + 284, 204, 398, 199, 43, 172, 175, 364, 203, 363, + 334, 180, 180, 180, 163, 172, 209, 210, 413, 470, + 472, 287, 199, 179, 199, 309, 179, 179, 179, 489, + 312, 416, 493, 334, 302, 304, 334, 306, 334, 491, + 312, 476, 480, 312, 474, 416, 334, 334, 334, 334, + 334, 334, 168, 169, 215, 199, 13, 172, 496, 496, + 147, 152, 179, 284, 324, 199, 137, 172, 496, 70, + 153, 162, 197, 200, 312, 462, 464, 4, 317, 202, + 280, 262, 19, 153, 162, 404, 19, 153, 162, 404, + 334, 334, 334, 334, 334, 334, 162, 334, 153, 162, + 334, 334, 334, 404, 334, 334, 334, 334, 334, 334, + 22, 334, 334, 334, 334, 334, 334, 334, 334, 334, + 334, 334, 128, 129, 153, 162, 196, 197, 331, 404, + 334, 200, 312, 180, 180, 180, 203, 180, 265, 180, + 265, 180, 265, 175, 180, 413, 175, 180, 413, 283, + 445, 200, 496, 198, 209, 377, 386, 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, + 361, 126, 334, 275, 61, 334, 162, 210, 155, 58, + 334, 234, 126, 334, 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, + 66, 297, 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 + 173, 162, 376, 378, 349, 334, 162, 162, 416, 363, + 334, 203, 419, 424, 426, 445, 416, 416, 445, 70, + 312, 464, 468, 162, 334, 445, 483, 485, 487, 416, + 496, 180, 413, 496, 200, 416, 416, 200, 416, 200, + 416, 496, 416, 416, 496, 416, 180, 200, 200, 200, + 200, 200, 200, 334, 403, 199, 334, 198, 200, 199, + 199, 326, 328, 403, 334, 478, 205, 162, 200, 464, + 199, 132, 361, 462, 172, 200, 172, 200, 199, 264, + 205, 317, 179, 199, 179, 199, 199, 199, 198, 19, + 153, 162, 404, 175, 153, 162, 334, 199, 199, 153, + 162, 334, 1, 199, 198, 172, 200, 428, 422, 412, + 162, 430, 180, 434, 180, 438, 180, 445, 442, 355, + 445, 444, 358, 180, 413, 162, 209, 460, 210, 355, + 450, 358, 455, 334, 162, 162, 445, 334, 334, 14, + 334, 173, 175, 155, 275, 334, 199, 199, 199, 199, + 199, 37, 272, 199, 204, 299, 368, 334, 334, 334, + 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, + 334, 334, 334, 334, 334, 173, 377, 386, 164, 197, + 205, 263, 350, 200, 43, 210, 363, 334, 203, 180, + 180, 180, 464, 200, 200, 200, 180, 413, 200, 180, + 416, 416, 416, 180, 200, 199, 416, 200, 180, 180, + 180, 180, 200, 180, 180, 200, 180, 317, 199, 170, + 20, 403, 334, 334, 416, 264, 20, 200, 334, 334, + 334, 198, 197, 153, 162, 126, 132, 162, 173, 178, + 315, 316, 265, 264, 335, 334, 337, 334, 200, 312, + 334, 179, 199, 334, 199, 198, 334, 200, 312, 199, + 198, 332, 200, 312, 432, 436, 440, 199, 445, 205, + 205, 205, 200, 43, 361, 275, 334, 334, 334, 403, + 334, 334, 273, 162, 298, 367, 334, 376, 392, 261, + 8, 343, 348, 162, 334, 210, 471, 473, 288, 200, + 199, 162, 310, 180, 180, 180, 490, 282, 493, 180, + 303, 305, 307, 492, 477, 481, 475, 199, 234, 200, + 312, 312, 20, 200, 200, 180, 265, 312, 200, 200, + 462, 199, 132, 361, 162, 162, 199, 162, 162, 172, + 200, 234, 265, 416, 200, 445, 200, 200, 200, 339, + 334, 334, 200, 200, 334, 200, 281, 162, 334, 200, + 200, 20, 200, 200, 204, 172, 200, 203, 205, 368, + 205, 198, 57, 63, 346, 67, 347, 210, 210, 199, + 199, 334, 180, 484, 486, 488, 199, 200, 496, 199, + 334, 334, 334, 199, 70, 468, 199, 199, 200, 334, + 275, 200, 200, 312, 327, 180, 200, 132, 361, 198, + 334, 334, 334, 162, 315, 137, 275, 313, 234, 180, + 180, 445, 200, 200, 200, 200, 12, 237, 234, 312, + 234, 234, 280, 162, 175, 364, 234, 47, 347, 46, + 106, 344, 468, 468, 200, 199, 199, 199, 199, 281, + 282, 312, 468, 462, 463, 200, 203, 200, 324, 329, + 203, 334, 334, 200, 200, 200, 126, 334, 275, 336, + 338, 180, 238, 290, 291, 292, 293, 334, 210, 275, + 200, 275, 275, 274, 416, 363, 33, 345, 344, 346, + 199, 462, 465, 466, 467, 467, 334, 468, 468, 463, + 200, 200, 496, 467, 200, 334, 203, 324, 478, 132, + 361, 334, 340, 12, 23, 24, 232, 235, 234, 205, + 363, 334, 351, 345, 362, 462, 172, 496, 200, 200, + 200, 467, 467, 200, 200, 200, 203, 495, 334, 495, + 334, 334, 234, 199, 275, 334, 210, 269, 352, 200, + 199, 200, 200, 53, 198, 495, 205, 275, 334, 210, + 210, 269, 462, 334, 198, 200, 234, 200, 234, 275, + 275, 235 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -4162,76 +4163,77 @@ static const yytype_int16 yyr1[] = 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, + 262, 262, 263, 263, 264, 264, 264, 265, 265, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 266, 266, 266, 266, 267, 268, 268, 268, 269, 271, + 270, 272, 273, 274, 272, 276, 277, 275, 278, 279, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 279, 280, 280, + 280, 281, 281, 282, 282, 283, 283, 284, 284, 284, + 285, 285, 287, 288, 286, 286, 289, 289, 289, 289, + 289, 289, 290, 291, 292, 292, 292, 293, 293, 294, + 295, 295, 295, 296, 296, 297, 297, 298, 298, 299, + 299, 300, 300, 300, 302, 303, 301, 304, 305, 301, + 306, 307, 301, 309, 310, 308, 311, 311, 311, 312, + 312, 313, 313, 313, 314, 314, 314, 315, 315, 315, + 315, 315, 316, 316, 317, 317, 318, 319, 319, 320, + 320, 320, 320, 320, 320, 320, 321, 321, 321, 321, + 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + 321, 321, 321, 321, 321, 322, 322, 323, 323, 324, + 324, 325, 326, 327, 325, 328, 329, 325, 330, 330, + 330, 330, 330, 330, 331, 332, 330, 333, 333, 333, + 333, 333, 333, 333, 334, 334, 334, 334, 334, 334, + 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, + 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, + 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, + 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, + 334, 334, 334, 334, 334, 334, 334, 334, 334, 335, + 336, 334, 334, 334, 334, 337, 338, 334, 334, 334, + 339, 340, 334, 334, 334, 334, 334, 334, 334, 334, + 334, 334, 334, 334, 334, 334, 341, 341, 341, 342, + 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, + 342, 342, 342, 342, 342, 343, 343, 344, 344, 344, + 345, 345, 346, 346, 346, 347, 347, 348, 349, 349, + 350, 349, 351, 349, 352, 349, 353, 353, 354, 354, + 355, 355, 356, 356, 357, 357, 357, 358, 359, 359, + 360, 360, 360, 361, 361, 362, 362, 362, 362, 362, + 363, 363, 363, 364, 364, 365, 365, 365, 365, 365, 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 + 369, 370, 370, 371, 371, 371, 372, 372, 373, 372, + 374, 375, 374, 376, 376, 377, 377, 378, 378, 378, + 379, 379, 379, 381, 380, 382, 383, 383, 383, 384, + 385, 385, 386, 386, 387, 387, 388, 388, 390, 391, + 392, 389, 393, 393, 394, 394, 395, 396, 396, 397, + 397, 397, 398, 398, 400, 401, 402, 399, 403, 403, + 403, 403, 403, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 405, 405, 405, 405, 405, 405, 405, 405, 406, 407, + 407, 407, 408, 408, 409, 409, 409, 411, 412, 410, + 413, 413, 414, 414, 415, 415, 415, 415, 416, 416, + 417, 417, 417, 417, 418, 419, 417, 417, 417, 420, + 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, + 417, 417, 417, 421, 422, 417, 417, 423, 424, 417, + 425, 426, 417, 427, 428, 417, 417, 429, 430, 417, + 431, 432, 417, 417, 433, 434, 417, 435, 436, 417, + 417, 437, 438, 417, 439, 440, 417, 441, 442, 417, + 443, 444, 417, 445, 445, 445, 447, 448, 449, 450, + 446, 452, 453, 454, 455, 451, 457, 458, 459, 460, + 456, 461, 461, 461, 461, 461, 462, 462, 462, 462, + 462, 462, 462, 462, 463, 464, 465, 465, 466, 466, + 467, 467, 468, 468, 470, 471, 469, 472, 473, 469, + 474, 475, 469, 476, 477, 469, 478, 478, 479, 480, + 481, 479, 482, 483, 484, 482, 485, 486, 482, 487, + 488, 482, 482, 489, 490, 482, 482, 491, 492, 482, + 493, 493, 494, 494, 494, 494, 495, 495, 496, 496, + 497, 497, 497 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -4248,78 +4250,79 @@ static const yytype_int8 yyr2[] = 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, + 1, 5, 1, 3, 3, 4, 1, 1, 1, 1, 4, 1, 2, 3, 3, 3, 3, 2, 1, 3, - 0, 3, 0, 2, 3, 0, 2, 1, 2, 2, + 0, 3, 0, 4, 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, 3, 3, 2, 2, 3, 4, 3, 2, 2, - 2, 2, 2, 3, 3, 3, 4, 1, 1, 1, + 2, 2, 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, 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, + 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, 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, - 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, + 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, 2, + 0, 4, 0, 9, 0, 11, 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, 0, 9, 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, 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 + 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 }; @@ -5004,6 +5007,10 @@ yydestruct (const char *yymsg, { delete ((*yyvaluep).faList); } break; + case YYSYMBOL_optional_annotation_list_with_emit_semis: /* optional_annotation_list_with_emit_semis */ + { delete ((*yyvaluep).faList); } + break; + case YYSYMBOL_optional_function_argument_list: /* optional_function_argument_list */ { deleteVariableDeclarationList(((*yyvaluep).pVarDeclList)); } break; @@ -6239,15 +6246,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 114: /* metadata_argument_list: '@' annotation_argument */ - { - (yyval.aaList) = ast_annotationArgumentListEntry(scanner,new AnnotationArgumentList(),(yyvsp[0].aa)); + case 114: /* metadata_argument_list: '@' annotation_argument optional_emit_semis */ + { + (yyval.aaList) = ast_annotationArgumentListEntry(scanner,new AnnotationArgumentList(),(yyvsp[-1].aa)); } break; - case 115: /* metadata_argument_list: metadata_argument_list '@' annotation_argument */ - { - (yyval.aaList) = ast_annotationArgumentListEntry(scanner,(yyvsp[-2].aaList),(yyvsp[0].aa)); + case 115: /* metadata_argument_list: metadata_argument_list '@' annotation_argument optional_emit_semis */ + { + (yyval.aaList) = ast_annotationArgumentListEntry(scanner,(yyvsp[-3].aaList),(yyvsp[-1].aa)); } break; @@ -6384,382 +6391,390 @@ YYLTYPE yylloc = yyloc_default; break; case 130: /* optional_annotation_list: %empty */ - { (yyval.faList) = nullptr; } + { (yyval.faList) = nullptr; } break; case 131: /* optional_annotation_list: '[' annotation_list ']' */ - { (yyval.faList) = (yyvsp[-1].faList); } + { (yyval.faList) = (yyvsp[-1].faList); } break; - case 132: /* optional_function_argument_list: %empty */ + case 132: /* optional_annotation_list_with_emit_semis: %empty */ + { (yyval.faList) = nullptr; } + break; + + case 133: /* optional_annotation_list_with_emit_semis: '[' annotation_list ']' optional_emit_semis */ + { (yyval.faList) = (yyvsp[-2].faList); } + break; + + case 134: /* optional_function_argument_list: %empty */ { (yyval.pVarDeclList) = nullptr; } break; - case 133: /* optional_function_argument_list: '(' ')' */ + case 135: /* optional_function_argument_list: '(' ')' */ { (yyval.pVarDeclList) = nullptr; } break; - case 134: /* optional_function_argument_list: '(' function_argument_list ')' */ + case 136: /* optional_function_argument_list: '(' function_argument_list ')' */ { (yyval.pVarDeclList) = (yyvsp[-1].pVarDeclList); } break; - case 135: /* optional_function_type: %empty */ + case 137: /* optional_function_type: %empty */ { (yyval.pTypeDecl) = new TypeDecl(Type::autoinfer); } break; - case 136: /* optional_function_type: ':' type_declaration */ + case 138: /* optional_function_type: ':' type_declaration */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[0])); } break; - case 137: /* function_name: "name" */ + case 139: /* function_name: "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); (yyval.s) = (yyvsp[0].s); } break; - case 138: /* function_name: "operator" '!' */ + case 140: /* function_name: "operator" '!' */ { (yyval.s) = new string("!"); } break; - case 139: /* function_name: "operator" '~' */ + case 141: /* function_name: "operator" '~' */ { (yyval.s) = new string("~"); } break; - case 140: /* function_name: "operator" "+=" */ + case 142: /* function_name: "operator" "+=" */ { (yyval.s) = new string("+="); } break; - case 141: /* function_name: "operator" "-=" */ + case 143: /* function_name: "operator" "-=" */ { (yyval.s) = new string("-="); } break; - case 142: /* function_name: "operator" "*=" */ + case 144: /* function_name: "operator" "*=" */ { (yyval.s) = new string("*="); } break; - case 143: /* function_name: "operator" "/=" */ + case 145: /* function_name: "operator" "/=" */ { (yyval.s) = new string("/="); } break; - case 144: /* function_name: "operator" "%=" */ + case 146: /* function_name: "operator" "%=" */ { (yyval.s) = new string("%="); } break; - case 145: /* function_name: "operator" "&=" */ + case 147: /* function_name: "operator" "&=" */ { (yyval.s) = new string("&="); } break; - case 146: /* function_name: "operator" "|=" */ + case 148: /* function_name: "operator" "|=" */ { (yyval.s) = new string("|="); } break; - case 147: /* function_name: "operator" "^=" */ + case 149: /* function_name: "operator" "^=" */ { (yyval.s) = new string("^="); } break; - case 148: /* function_name: "operator" "&&=" */ + case 150: /* function_name: "operator" "&&=" */ { (yyval.s) = new string("&&="); } break; - case 149: /* function_name: "operator" "||=" */ + case 151: /* function_name: "operator" "||=" */ { (yyval.s) = new string("||="); } break; - case 150: /* function_name: "operator" "^^=" */ + case 152: /* function_name: "operator" "^^=" */ { (yyval.s) = new string("^^="); } break; - case 151: /* function_name: "operator" "&&" */ + case 153: /* function_name: "operator" "&&" */ { (yyval.s) = new string("&&"); } break; - case 152: /* function_name: "operator" "||" */ + case 154: /* function_name: "operator" "||" */ { (yyval.s) = new string("||"); } break; - case 153: /* function_name: "operator" "^^" */ + case 155: /* function_name: "operator" "^^" */ { (yyval.s) = new string("^^"); } break; - case 154: /* function_name: "operator" '+' */ + case 156: /* function_name: "operator" '+' */ { (yyval.s) = new string("+"); } break; - case 155: /* function_name: "operator" '-' */ + case 157: /* function_name: "operator" '-' */ { (yyval.s) = new string("-"); } break; - case 156: /* function_name: "operator" '*' */ + case 158: /* function_name: "operator" '*' */ { (yyval.s) = new string("*"); } break; - case 157: /* function_name: "operator" '/' */ + case 159: /* function_name: "operator" '/' */ { (yyval.s) = new string("/"); } break; - case 158: /* function_name: "operator" '%' */ + case 160: /* function_name: "operator" '%' */ { (yyval.s) = new string("%"); } break; - case 159: /* function_name: "operator" '<' */ + case 161: /* function_name: "operator" '<' */ { (yyval.s) = new string("<"); } break; - case 160: /* function_name: "operator" '>' */ + case 162: /* function_name: "operator" '>' */ { (yyval.s) = new string(">"); } break; - case 161: /* function_name: "operator" ".." */ + case 163: /* function_name: "operator" ".." */ { (yyval.s) = new string("interval"); } break; - case 162: /* function_name: "operator" "==" */ + case 164: /* function_name: "operator" "==" */ { (yyval.s) = new string("=="); } break; - case 163: /* function_name: "operator" "!=" */ + case 165: /* function_name: "operator" "!=" */ { (yyval.s) = new string("!="); } break; - case 164: /* function_name: "operator" "<=" */ + case 166: /* function_name: "operator" "<=" */ { (yyval.s) = new string("<="); } break; - case 165: /* function_name: "operator" ">=" */ + case 167: /* function_name: "operator" ">=" */ { (yyval.s) = new string(">="); } break; - case 166: /* function_name: "operator" '&' */ + case 168: /* function_name: "operator" '&' */ { (yyval.s) = new string("&"); } break; - case 167: /* function_name: "operator" '|' */ + case 169: /* function_name: "operator" '|' */ { (yyval.s) = new string("|"); } break; - case 168: /* function_name: "operator" '^' */ + case 170: /* function_name: "operator" '^' */ { (yyval.s) = new string("^"); } break; - case 169: /* function_name: "++" "operator" */ + case 171: /* function_name: "++" "operator" */ { (yyval.s) = new string("++"); } break; - case 170: /* function_name: "--" "operator" */ + case 172: /* function_name: "--" "operator" */ { (yyval.s) = new string("--"); } break; - case 171: /* function_name: "operator" "++" */ + case 173: /* function_name: "operator" "++" */ { (yyval.s) = new string("+++"); } break; - case 172: /* function_name: "operator" "--" */ + case 174: /* function_name: "operator" "--" */ { (yyval.s) = new string("---"); } break; - case 173: /* function_name: "operator" "<<" */ + case 175: /* function_name: "operator" "<<" */ { (yyval.s) = new string("<<"); } break; - case 174: /* function_name: "operator" ">>" */ + case 176: /* function_name: "operator" ">>" */ { (yyval.s) = new string(">>"); } break; - case 175: /* function_name: "operator" "<<=" */ + case 177: /* function_name: "operator" "<<=" */ { (yyval.s) = new string("<<="); } break; - case 176: /* function_name: "operator" ">>=" */ + case 178: /* function_name: "operator" ">>=" */ { (yyval.s) = new string(">>="); } break; - case 177: /* function_name: "operator" "<<<" */ + case 179: /* function_name: "operator" "<<<" */ { (yyval.s) = new string("<<<"); } break; - case 178: /* function_name: "operator" ">>>" */ + case 180: /* function_name: "operator" ">>>" */ { (yyval.s) = new string(">>>"); } break; - case 179: /* function_name: "operator" "<<<=" */ + case 181: /* function_name: "operator" "<<<=" */ { (yyval.s) = new string("<<<="); } break; - case 180: /* function_name: "operator" ">>>=" */ + case 182: /* function_name: "operator" ">>>=" */ { (yyval.s) = new string(">>>="); } break; - case 181: /* function_name: "operator" '[' ']' */ + case 183: /* function_name: "operator" '[' ']' */ { (yyval.s) = new string("[]"); } break; - case 182: /* function_name: "operator" "?[" ']' */ + case 184: /* function_name: "operator" "?[" ']' */ { (yyval.s) = new string("?[]"); } break; - case 183: /* function_name: "operator" '.' */ + case 185: /* function_name: "operator" '.' */ { (yyval.s) = new string("."); } break; - case 184: /* function_name: "operator" "?." */ + case 186: /* function_name: "operator" "?." */ { (yyval.s) = new string("?."); } break; - case 185: /* function_name: "operator" '.' "name" */ + case 187: /* function_name: "operator" '.' "name" */ { (yyval.s) = new string(".`"+*(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 186: /* function_name: "operator" '.' "name" ":=" */ + case 188: /* function_name: "operator" '.' "name" ":=" */ { (yyval.s) = new string(".`"+*(yyvsp[-1].s)+"`clone"); delete (yyvsp[-1].s); } break; - case 187: /* function_name: "operator" "?." "name" */ + case 189: /* function_name: "operator" "?." "name" */ { (yyval.s) = new string("?.`"+*(yyvsp[0].s)); delete (yyvsp[0].s);} break; - case 188: /* function_name: "operator" ":=" */ + case 190: /* function_name: "operator" ":=" */ { (yyval.s) = new string("clone"); } break; - case 189: /* function_name: "operator" "delete" */ + case 191: /* function_name: "operator" "delete" */ { (yyval.s) = new string("finalize"); } break; - case 190: /* function_name: "operator" "??" */ + case 192: /* function_name: "operator" "??" */ { (yyval.s) = new string("??"); } break; - case 191: /* function_name: "operator" "is" */ + case 193: /* function_name: "operator" "is" */ { (yyval.s) = new string("`is"); } break; - case 192: /* function_name: "operator" "as" */ + case 194: /* function_name: "operator" "as" */ { (yyval.s) = new string("`as"); } break; - case 193: /* function_name: "operator" "is" "name" */ + case 195: /* function_name: "operator" "is" "name" */ { (yyval.s) = (yyvsp[0].s); *(yyvsp[0].s) = "`is`" + *(yyvsp[0].s); } break; - case 194: /* 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 195: /* function_name: "operator" '?' "as" */ + case 197: /* function_name: "operator" '?' "as" */ { (yyval.s) = new string("?as"); } break; - case 196: /* function_name: "operator" '?' "as" "name" */ + case 198: /* function_name: "operator" '?' "as" "name" */ { (yyval.s) = (yyvsp[0].s); *(yyvsp[0].s) = "?as`" + *(yyvsp[0].s); } break; - case 197: /* function_name: "bool" */ + case 199: /* function_name: "bool" */ { (yyval.s) = new string("bool"); } break; - case 198: /* function_name: "string" */ + case 200: /* function_name: "string" */ { (yyval.s) = new string("string"); } break; - case 199: /* function_name: "int" */ + case 201: /* function_name: "int" */ { (yyval.s) = new string("int"); } break; - case 200: /* function_name: "int2" */ + case 202: /* function_name: "int2" */ { (yyval.s) = new string("int2"); } break; - case 201: /* function_name: "int3" */ + case 203: /* function_name: "int3" */ { (yyval.s) = new string("int3"); } break; - case 202: /* function_name: "int4" */ + case 204: /* function_name: "int4" */ { (yyval.s) = new string("int4"); } break; - case 203: /* function_name: "uint" */ + case 205: /* function_name: "uint" */ { (yyval.s) = new string("uint"); } break; - case 204: /* function_name: "uint2" */ + case 206: /* function_name: "uint2" */ { (yyval.s) = new string("uint2"); } break; - case 205: /* function_name: "uint3" */ + case 207: /* function_name: "uint3" */ { (yyval.s) = new string("uint3"); } break; - case 206: /* function_name: "uint4" */ + case 208: /* function_name: "uint4" */ { (yyval.s) = new string("uint4"); } break; - case 207: /* function_name: "float" */ + case 209: /* function_name: "float" */ { (yyval.s) = new string("float"); } break; - case 208: /* function_name: "float2" */ + case 210: /* function_name: "float2" */ { (yyval.s) = new string("float2"); } break; - case 209: /* function_name: "float3" */ + case 211: /* function_name: "float3" */ { (yyval.s) = new string("float3"); } break; - case 210: /* function_name: "float4" */ + case 212: /* function_name: "float4" */ { (yyval.s) = new string("float4"); } break; - case 211: /* function_name: "range" */ + case 213: /* function_name: "range" */ { (yyval.s) = new string("range"); } break; - case 212: /* function_name: "urange" */ + case 214: /* function_name: "urange" */ { (yyval.s) = new string("urange"); } break; - case 213: /* function_name: "range64" */ + case 215: /* function_name: "range64" */ { (yyval.s) = new string("range64"); } break; - case 214: /* function_name: "urange64" */ + case 216: /* function_name: "urange64" */ { (yyval.s) = new string("urange64"); } break; - case 215: /* function_name: "int64" */ + case 217: /* function_name: "int64" */ { (yyval.s) = new string("int64"); } break; - case 216: /* function_name: "uint64" */ + case 218: /* function_name: "uint64" */ { (yyval.s) = new string("uint64"); } break; - case 217: /* function_name: "double" */ + case 219: /* function_name: "double" */ { (yyval.s) = new string("double"); } break; - case 218: /* function_name: "int8" */ + case 220: /* function_name: "int8" */ { (yyval.s) = new string("int8"); } break; - case 219: /* function_name: "uint8" */ + case 221: /* function_name: "uint8" */ { (yyval.s) = new string("uint8"); } break; - case 220: /* function_name: "int16" */ + case 222: /* function_name: "int16" */ { (yyval.s) = new string("int16"); } break; - case 221: /* function_name: "uint16" */ + case 223: /* function_name: "uint16" */ { (yyval.s) = new string("uint16"); } break; - case 222: /* global_function_declaration: optional_annotation_list "def" function_declaration */ + case 224: /* global_function_declaration: optional_annotation_list "def" function_declaration */ { (yyvsp[0].pFuncDecl)->atDecl = tokRangeAt(scanner,(yylsp[-1]),(yylsp[0])); assignDefaultArguments((yyvsp[0].pFuncDecl)); @@ -6777,25 +6792,25 @@ YYLTYPE yylloc = yyloc_default; } break; - case 223: /* optional_public_or_private_function: %empty */ + case 225: /* optional_public_or_private_function: %empty */ { (yyval.b) = yyextra->g_thisStructure ? !yyextra->g_thisStructure->privateStructure : yyextra->g_Program->thisModule->isPublic; } break; - case 224: /* optional_public_or_private_function: "private" */ + case 226: /* optional_public_or_private_function: "private" */ { (yyval.b) = false; } break; - case 225: /* optional_public_or_private_function: "public" */ + case 227: /* optional_public_or_private_function: "public" */ { (yyval.b) = true; } break; - case 226: /* function_declaration_header: function_name optional_function_argument_list optional_function_type */ + case 228: /* 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 227: /* $@6: %empty */ + case 229: /* $@6: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -6804,7 +6819,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 228: /* function_declaration: optional_public_or_private_function $@6 function_declaration_header expression_block */ + case 230: /* 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); @@ -6816,43 +6831,43 @@ YYLTYPE yylloc = yyloc_default; } break; - case 229: /* expression_block_finally: %empty */ + case 231: /* expression_block_finally: %empty */ { (yyval.pExpression) = nullptr; } break; - case 230: /* $@7: %empty */ + case 232: /* $@7: %empty */ { yyextra->push_nesteds(DAS_EMIT_SEMICOLON); } break; - case 231: /* $@8: %empty */ + case 233: /* $@8: %empty */ { yyextra->pop_nesteds(); } break; - case 232: /* expression_block_finally: "finally" $@7 '{' expressions $@8 '}' */ + case 234: /* expression_block_finally: "finally" $@7 '{' expressions $@8 '}' */ { (yyval.pExpression) = (yyvsp[-2].pExpression); } break; - case 233: /* $@9: %empty */ + case 235: /* $@9: %empty */ { yyextra->push_nesteds(DAS_EMIT_SEMICOLON); } break; - case 234: /* $@10: %empty */ + case 236: /* $@10: %empty */ { yyextra->pop_nesteds(); } break; - case 235: /* expression_block: $@9 '{' expressions $@10 '}' expression_block_finally */ + case 237: /* expression_block: $@9 '{' expressions $@10 '}' expression_block_finally */ { (yyval.pExpression) = (yyvsp[-3].pExpression); (yyval.pExpression)->at = tokRangeAt(scanner,(yylsp[-4]),(yylsp[0])); @@ -6865,7 +6880,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 236: /* expr_call_pipe: expr_call expr_full_block_assumed_piped */ + case 238: /* 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))); @@ -6877,83 +6892,83 @@ YYLTYPE yylloc = yyloc_default; } break; - case 237: /* expression_any: SEMICOLON */ + case 239: /* expression_any: SEMICOLON */ { (yyval.pExpression) = nullptr; } break; - case 238: /* expression_any: expr_assign SEMICOLON */ + case 240: /* expression_any: expr_assign SEMICOLON */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 239: /* expression_any: expression_delete SEMICOLON */ + case 241: /* expression_any: expression_delete SEMICOLON */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 240: /* expression_any: expression_let */ + case 242: /* expression_any: expression_let */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 241: /* expression_any: expression_while_loop */ + case 243: /* expression_any: expression_while_loop */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 242: /* expression_any: expression_unsafe */ + case 244: /* expression_any: expression_unsafe */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 243: /* expression_any: expression_with */ + case 245: /* expression_any: expression_with */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 244: /* expression_any: expression_with_alias SEMICOLON */ + case 246: /* expression_any: expression_with_alias SEMICOLON */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 245: /* expression_any: expression_for_loop */ + case 247: /* expression_any: expression_for_loop */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 246: /* expression_any: expression_break SEMICOLON */ + case 248: /* expression_any: expression_break SEMICOLON */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 247: /* expression_any: expression_continue SEMICOLON */ + case 249: /* expression_any: expression_continue SEMICOLON */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 248: /* expression_any: expression_return SEMICOLON */ + case 250: /* expression_any: expression_return SEMICOLON */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 249: /* expression_any: expression_yield SEMICOLON */ + case 251: /* expression_any: expression_yield SEMICOLON */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 250: /* expression_any: expression_if_then_else */ + case 252: /* expression_any: expression_if_then_else */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 251: /* expression_any: expression_if_then_else_oneliner */ + case 253: /* expression_any: expression_if_then_else_oneliner */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 252: /* expression_any: expression_try_catch */ + case 254: /* expression_any: expression_try_catch */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 253: /* expression_any: expression_label SEMICOLON */ + case 255: /* expression_any: expression_label SEMICOLON */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 254: /* expression_any: expression_goto SEMICOLON */ + case 256: /* expression_any: expression_goto SEMICOLON */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 255: /* expression_any: "pass" SEMICOLON */ + case 257: /* expression_any: "pass" SEMICOLON */ { (yyval.pExpression) = nullptr; } break; - case 256: /* expressions: %empty */ + case 258: /* expressions: %empty */ { (yyval.pExpression) = new ExprBlock(); (yyval.pExpression)->at = LineInfo(yyextra->g_FileAccessStack.back(), @@ -6961,7 +6976,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 257: /* expressions: expressions expression_any */ + case 259: /* expressions: expressions expression_any */ { (yyval.pExpression) = (yyvsp[-1].pExpression); if ( (yyvsp[0].pExpression) ) { @@ -6970,47 +6985,47 @@ YYLTYPE yylloc = yyloc_default; } break; - case 258: /* expressions: expressions error */ + case 260: /* expressions: expressions error */ { delete (yyvsp[-1].pExpression); (yyval.pExpression) = nullptr; YYABORT; } break; - case 259: /* optional_expr_list: %empty */ + case 261: /* optional_expr_list: %empty */ { (yyval.pExpression) = nullptr; } break; - case 260: /* optional_expr_list: expr_list optional_comma */ + case 262: /* optional_expr_list: expr_list optional_comma */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 261: /* optional_expr_map_tuple_list: %empty */ + case 263: /* optional_expr_map_tuple_list: %empty */ { (yyval.pExpression) = nullptr; } break; - case 262: /* optional_expr_map_tuple_list: expr_map_tuple_list optional_comma */ + case 264: /* optional_expr_map_tuple_list: expr_map_tuple_list optional_comma */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 263: /* type_declaration_no_options_list: type_declaration */ + case 265: /* 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 264: /* type_declaration_no_options_list: type_declaration_no_options_list c_or_s type_declaration */ + case 266: /* 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 265: /* name_in_namespace: "name" */ + case 267: /* name_in_namespace: "name" */ { (yyval.s) = (yyvsp[0].s); } break; - case 266: /* name_in_namespace: "name" "::" "name" */ + case 268: /* name_in_namespace: "name" "::" "name" */ { auto ita = yyextra->das_module_alias.find(*(yyvsp[-2].s)); if ( ita == yyextra->das_module_alias.end() ) { @@ -7024,17 +7039,17 @@ YYLTYPE yylloc = yyloc_default; } break; - case 267: /* name_in_namespace: "::" "name" */ + case 269: /* name_in_namespace: "::" "name" */ { *(yyvsp[0].s) = "::" + *(yyvsp[0].s); (yyval.s) = (yyvsp[0].s); } break; - case 268: /* expression_delete: "delete" expr */ + case 270: /* expression_delete: "delete" expr */ { (yyval.pExpression) = new ExprDelete(tokAt(scanner,(yylsp[-1])), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 269: /* expression_delete: "delete" "explicit" expr */ + case 271: /* expression_delete: "delete" "explicit" expr */ { auto delExpr = new ExprDelete(tokAt(scanner,(yylsp[-2])), ExpressionPtr((yyvsp[0].pExpression))); delExpr->native = true; @@ -7042,47 +7057,47 @@ YYLTYPE yylloc = yyloc_default; } break; - case 270: /* $@11: %empty */ + case 272: /* $@11: %empty */ { yyextra->das_arrow_depth ++; } break; - case 271: /* $@12: %empty */ + case 273: /* $@12: %empty */ { yyextra->das_arrow_depth --; } break; - case 272: /* new_type_declaration: '<' $@11 type_declaration '>' $@12 */ + case 274: /* new_type_declaration: '<' $@11 type_declaration '>' $@12 */ { (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); } break; - case 273: /* new_type_declaration: structure_type_declaration */ + case 275: /* new_type_declaration: structure_type_declaration */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); } break; - case 274: /* expr_new: "new" new_type_declaration */ + case 276: /* expr_new: "new" new_type_declaration */ { (yyval.pExpression) = new ExprNew(tokAt(scanner,(yylsp[-1])),TypeDeclPtr((yyvsp[0].pTypeDecl)),false); } break; - case 275: /* expr_new: "new" new_type_declaration '(' use_initializer ')' */ + case 277: /* 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 276: /* expr_new: "new" new_type_declaration '(' expr_list ')' */ + case 278: /* 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 277: /* expr_new: "new" new_type_declaration '(' make_struct_single ')' */ + case 279: /* 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); @@ -7092,7 +7107,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 278: /* expr_new: "new" new_type_declaration '(' "uninitialized" make_struct_single ')' */ + case 280: /* 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); @@ -7102,33 +7117,33 @@ YYLTYPE yylloc = yyloc_default; } break; - case 279: /* expr_new: "new" make_decl */ + case 281: /* expr_new: "new" make_decl */ { (yyval.pExpression) = new ExprAscend(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 280: /* expression_break: "break" */ + case 282: /* expression_break: "break" */ { (yyval.pExpression) = new ExprBreak(tokAt(scanner,(yylsp[0]))); } break; - case 281: /* expression_continue: "continue" */ + case 283: /* expression_continue: "continue" */ { (yyval.pExpression) = new ExprContinue(tokAt(scanner,(yylsp[0]))); } break; - case 282: /* expression_return: "return" */ + case 284: /* expression_return: "return" */ { (yyval.pExpression) = new ExprReturn(tokAt(scanner,(yylsp[0])),nullptr); } break; - case 283: /* expression_return: "return" expr */ + case 285: /* expression_return: "return" expr */ { (yyval.pExpression) = new ExprReturn(tokAt(scanner,(yylsp[-1])),(yyvsp[0].pExpression)); } break; - case 284: /* expression_return: "return" "<-" expr */ + case 286: /* expression_return: "return" "<-" expr */ { auto pRet = new ExprReturn(tokAt(scanner,(yylsp[-2])),(yyvsp[0].pExpression)); pRet->moveSemantics = true; @@ -7136,13 +7151,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 285: /* expression_yield: "yield" expr */ + case 287: /* expression_yield: "yield" expr */ { (yyval.pExpression) = new ExprYield(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 286: /* expression_yield: "yield" "<-" expr */ + case 288: /* expression_yield: "yield" "<-" expr */ { auto pRet = new ExprYield(tokAt(scanner,(yylsp[-2])),ExpressionPtr((yyvsp[0].pExpression))); pRet->moveSemantics = true; @@ -7150,41 +7165,41 @@ YYLTYPE yylloc = yyloc_default; } break; - case 287: /* expression_try_catch: "try" expression_block "recover" expression_block */ + case 289: /* 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 288: /* kwd_let_var_or_nothing: "let" */ + case 290: /* kwd_let_var_or_nothing: "let" */ { (yyval.b) = true; } break; - case 289: /* kwd_let_var_or_nothing: "var" */ + case 291: /* kwd_let_var_or_nothing: "var" */ { (yyval.b) = false; } break; - case 290: /* kwd_let_var_or_nothing: %empty */ + case 292: /* kwd_let_var_or_nothing: %empty */ { (yyval.b) = true; } break; - case 291: /* kwd_let: "let" */ + case 293: /* kwd_let: "let" */ { (yyval.b) = true; } break; - case 292: /* kwd_let: "var" */ + case 294: /* kwd_let: "var" */ { (yyval.b) = false; } break; - case 293: /* optional_in_scope: "inscope" */ + case 295: /* optional_in_scope: "inscope" */ { (yyval.b) = true; } break; - case 294: /* optional_in_scope: %empty */ + case 296: /* optional_in_scope: %empty */ { (yyval.b) = false; } break; - case 295: /* tuple_expansion: "name" */ + case 297: /* tuple_expansion: "name" */ { (yyval.pNameList) = new vector(); (yyval.pNameList)->push_back(*(yyvsp[0].s)); @@ -7192,7 +7207,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 296: /* tuple_expansion: tuple_expansion ',' "name" */ + case 298: /* tuple_expansion: tuple_expansion ',' "name" */ { (yyvsp[-2].pNameList)->push_back(*(yyvsp[0].s)); delete (yyvsp[0].s); @@ -7200,7 +7215,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 297: /* tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON */ + case 299: /* 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; @@ -7209,7 +7224,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 298: /* tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr SEMICOLON */ + case 300: /* 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])); @@ -7221,47 +7236,47 @@ YYLTYPE yylloc = yyloc_default; } break; - case 299: /* expression_let: kwd_let optional_in_scope let_variable_declaration */ + case 301: /* 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 300: /* expression_let: kwd_let optional_in_scope tuple_expansion_variable_declaration */ + case 302: /* 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 301: /* expression_let: kwd_let optional_in_scope '{' variable_declaration_list '}' */ + case 303: /* 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 302: /* $@13: %empty */ + case 304: /* $@13: %empty */ { yyextra->das_arrow_depth ++; } break; - case 303: /* $@14: %empty */ + case 305: /* $@14: %empty */ { yyextra->das_arrow_depth --; } break; - case 304: /* expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 expr */ + case 306: /* 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 305: /* $@15: %empty */ + case 307: /* $@15: %empty */ { yyextra->das_arrow_depth ++; } break; - case 306: /* $@16: %empty */ + case 308: /* $@16: %empty */ { yyextra->das_arrow_depth --; } break; - case 307: /* expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 expr */ + case 309: /* 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; @@ -7269,15 +7284,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 308: /* $@17: %empty */ + case 310: /* $@17: %empty */ { yyextra->das_arrow_depth ++; } break; - case 309: /* $@18: %empty */ + case 311: /* $@18: %empty */ { yyextra->das_arrow_depth --; } break; - case 310: /* expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 expr */ + case 312: /* 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; @@ -7285,21 +7300,21 @@ YYLTYPE yylloc = yyloc_default; } break; - case 311: /* $@19: %empty */ + case 313: /* $@19: %empty */ { yyextra->das_arrow_depth ++; } break; - case 312: /* $@20: %empty */ + case 314: /* $@20: %empty */ { yyextra->das_arrow_depth --; } break; - case 313: /* expr_type_decl: "type" '<' $@19 type_declaration '>' $@20 */ + case 315: /* expr_type_decl: "type" '<' $@19 type_declaration '>' $@20 */ { (yyval.pExpression) = new ExprTypeDecl(tokAt(scanner,(yylsp[-5])),TypeDeclPtr((yyvsp[-2].pTypeDecl))); } break; - case 314: /* expr_type_info: "typeinfo" name_in_namespace '(' expr ')' */ + case 316: /* expr_type_info: "typeinfo" name_in_namespace '(' expr ')' */ { if ( (yyvsp[-1].pExpression)->rtti_isTypeDecl() ) { auto ptd = (ExprTypeDecl *)(yyvsp[-1].pExpression); @@ -7312,7 +7327,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 315: /* expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' expr ')' */ + case 317: /* expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' expr ')' */ { if ( (yyvsp[-1].pExpression)->rtti_isTypeDecl() ) { auto ptd = (ExprTypeDecl *)(yyvsp[-1].pExpression); @@ -7326,7 +7341,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 316: /* expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' */ + case 318: /* 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); @@ -7341,23 +7356,23 @@ YYLTYPE yylloc = yyloc_default; } break; - case 317: /* expr_list: expr */ + case 319: /* expr_list: expr */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 318: /* expr_list: expr_list ',' expr */ + case 320: /* expr_list: expr_list ',' expr */ { (yyval.pExpression) = new ExprSequence(tokAt(scanner,(yylsp[-2])),ExpressionPtr((yyvsp[-2].pExpression)),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 319: /* block_or_simple_block: expression_block */ + case 321: /* block_or_simple_block: expression_block */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 320: /* block_or_simple_block: "=>" expr */ + case 322: /* block_or_simple_block: "=>" expr */ { auto retE = make_smart(tokAt(scanner,(yylsp[-1])), ExpressionPtr((yyvsp[0].pExpression))); auto blkE = new ExprBlock(); @@ -7367,7 +7382,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 321: /* block_or_simple_block: "=>" "<-" expr */ + case 323: /* block_or_simple_block: "=>" "<-" expr */ { auto retE = make_smart(tokAt(scanner,(yylsp[-2])), ExpressionPtr((yyvsp[0].pExpression))); retE->moveSemantics = true; @@ -7378,39 +7393,39 @@ YYLTYPE yylloc = yyloc_default; } break; - case 322: /* block_or_lambda: '$' */ + case 324: /* block_or_lambda: '$' */ { (yyval.i) = 0; /* block */ } break; - case 323: /* block_or_lambda: '@' */ + case 325: /* block_or_lambda: '@' */ { (yyval.i) = 1; /* lambda */ } break; - case 324: /* block_or_lambda: '@' '@' */ + case 326: /* block_or_lambda: '@' '@' */ { (yyval.i) = 2; /* local function */ } break; - case 325: /* capture_entry: '&' "name" */ + case 327: /* capture_entry: '&' "name" */ { (yyval.pCapt) = new CaptureEntry(*(yyvsp[0].s),CaptureMode::capture_by_reference); delete (yyvsp[0].s); } break; - case 326: /* capture_entry: '=' "name" */ + case 328: /* capture_entry: '=' "name" */ { (yyval.pCapt) = new CaptureEntry(*(yyvsp[0].s),CaptureMode::capture_by_copy); delete (yyvsp[0].s); } break; - case 327: /* capture_entry: "<-" "name" */ + case 329: /* capture_entry: "<-" "name" */ { (yyval.pCapt) = new CaptureEntry(*(yyvsp[0].s),CaptureMode::capture_by_move); delete (yyvsp[0].s); } break; - case 328: /* capture_entry: ":=" "name" */ + case 330: /* capture_entry: ":=" "name" */ { (yyval.pCapt) = new CaptureEntry(*(yyvsp[0].s),CaptureMode::capture_by_clone); delete (yyvsp[0].s); } break; - case 329: /* capture_entry: "name" '(' "name" ')' */ + case 331: /* 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 330: /* capture_list: capture_entry */ + case 332: /* capture_list: capture_entry */ { (yyval.pCaptList) = new vector(); (yyval.pCaptList)->push_back(*(yyvsp[0].pCapt)); @@ -7418,7 +7433,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 331: /* capture_list: capture_list ',' capture_entry */ + case 333: /* capture_list: capture_list ',' capture_entry */ { (yyvsp[-2].pCaptList)->push_back(*(yyvsp[0].pCapt)); delete (yyvsp[0].pCapt); @@ -7426,137 +7441,137 @@ YYLTYPE yylloc = yyloc_default; } break; - case 332: /* optional_capture_list: %empty */ + case 334: /* optional_capture_list: %empty */ { (yyval.pCaptList) = nullptr; } break; - case 333: /* optional_capture_list: "capture" '(' capture_list ')' */ + case 335: /* optional_capture_list: "capture" '(' capture_list ')' */ { (yyval.pCaptList) = (yyvsp[-1].pCaptList); } break; - 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 */ + case 336: /* 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 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 */ + case 337: /* 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 336: /* expr_full_block_assumed_piped: '{' expressions '}' */ + case 338: /* 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 337: /* expr_numeric_const: "integer constant" */ + case 339: /* expr_numeric_const: "integer constant" */ { (yyval.pExpression) = new ExprConstInt(tokAt(scanner,(yylsp[0])),(int32_t)(yyvsp[0].i)); } break; - case 338: /* expr_numeric_const: "unsigned integer constant" */ + case 340: /* expr_numeric_const: "unsigned integer constant" */ { (yyval.pExpression) = new ExprConstUInt(tokAt(scanner,(yylsp[0])),(uint32_t)(yyvsp[0].ui)); } break; - case 339: /* expr_numeric_const: "long integer constant" */ + case 341: /* expr_numeric_const: "long integer constant" */ { (yyval.pExpression) = new ExprConstInt64(tokAt(scanner,(yylsp[0])),(int64_t)(yyvsp[0].i64)); } break; - case 340: /* expr_numeric_const: "unsigned long integer constant" */ + case 342: /* expr_numeric_const: "unsigned long integer constant" */ { (yyval.pExpression) = new ExprConstUInt64(tokAt(scanner,(yylsp[0])),(uint64_t)(yyvsp[0].ui64)); } break; - case 341: /* expr_numeric_const: "unsigned int8 constant" */ + case 343: /* expr_numeric_const: "unsigned int8 constant" */ { (yyval.pExpression) = new ExprConstUInt8(tokAt(scanner,(yylsp[0])),(uint8_t)(yyvsp[0].ui)); } break; - case 342: /* expr_numeric_const: "floating point constant" */ + case 344: /* expr_numeric_const: "floating point constant" */ { (yyval.pExpression) = new ExprConstFloat(tokAt(scanner,(yylsp[0])),(float)(yyvsp[0].fd)); } break; - case 343: /* expr_numeric_const: "double constant" */ + case 345: /* expr_numeric_const: "double constant" */ { (yyval.pExpression) = new ExprConstDouble(tokAt(scanner,(yylsp[0])),(double)(yyvsp[0].d)); } break; - case 344: /* expr_assign: expr */ + case 346: /* expr_assign: expr */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 345: /* expr_assign: expr '=' expr */ + case 347: /* expr_assign: expr '=' expr */ { (yyval.pExpression) = new ExprCopy(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-2].pExpression)),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 346: /* expr_assign: expr "<-" expr */ + case 348: /* expr_assign: expr "<-" expr */ { (yyval.pExpression) = new ExprMove(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 347: /* expr_assign: expr ":=" expr */ + case 349: /* expr_assign: expr ":=" expr */ { (yyval.pExpression) = new ExprClone(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 348: /* 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 349: /* 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 350: /* 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 351: /* 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 352: /* 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 353: /* 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 354: /* 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 355: /* 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 356: /* 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 357: /* 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 358: /* 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 359: /* 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 360: /* 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 361: /* expr_assign: expr "<<<=" expr */ + case 363: /* expr_assign: expr "<<<=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"<<<=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 362: /* expr_assign: expr ">>>=" expr */ + case 364: /* expr_assign: expr ">>>=" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),">>>=", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 363: /* expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' ')' */ + case 365: /* 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); @@ -7566,7 +7581,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 364: /* expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' ')' */ + case 366: /* 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)); @@ -7577,7 +7592,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 365: /* expr_method_call: expr "->" "name" '(' ')' */ + case 367: /* expr_method_call: expr "->" "name" '(' ')' */ { auto pInvoke = makeInvokeMethod(tokAt(scanner,(yylsp[-3])), (yyvsp[-4].pExpression), *(yyvsp[-2].s)); delete (yyvsp[-2].s); @@ -7585,7 +7600,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 366: /* expr_method_call: expr "->" "name" '(' expr_list ')' */ + case 368: /* 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)); @@ -7595,35 +7610,35 @@ YYLTYPE yylloc = yyloc_default; } break; - case 367: /* func_addr_name: name_in_namespace */ + case 369: /* func_addr_name: name_in_namespace */ { (yyval.pExpression) = new ExprAddr(tokAt(scanner,(yylsp[0])),*(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 368: /* func_addr_name: "$i" '(' expr ')' */ + case 370: /* 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 369: /* func_addr_expr: '@' '@' func_addr_name */ + case 371: /* func_addr_expr: '@' '@' func_addr_name */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 370: /* $@21: %empty */ + case 372: /* $@21: %empty */ { yyextra->das_arrow_depth ++; } break; - case 371: /* $@22: %empty */ + case 373: /* $@22: %empty */ { yyextra->das_arrow_depth --; } break; - case 372: /* func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name */ + case 374: /* 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)); @@ -7631,15 +7646,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 373: /* $@23: %empty */ + case 375: /* $@23: %empty */ { yyextra->das_arrow_depth ++; } break; - case 374: /* $@24: %empty */ + case 376: /* $@24: %empty */ { yyextra->das_arrow_depth --; } break; - case 375: /* func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name */ + case 377: /* 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); @@ -7652,21 +7667,21 @@ YYLTYPE yylloc = yyloc_default; } break; - case 376: /* expr_field: expr '.' "name" */ + case 378: /* 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 377: /* expr_field: expr '.' '.' "name" */ + case 379: /* 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 378: /* expr_field: expr '.' "name" '(' ')' */ + case 380: /* expr_field: expr '.' "name" '(' ')' */ { auto pInvoke = makeInvokeMethod(tokAt(scanner,(yylsp[-3])), (yyvsp[-4].pExpression), *(yyvsp[-2].s)); delete (yyvsp[-2].s); @@ -7674,7 +7689,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 379: /* expr_field: expr '.' "name" '(' expr_list ')' */ + case 381: /* 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)); @@ -7684,7 +7699,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 380: /* expr_field: expr '.' basic_type_declaration '(' ')' */ + case 382: /* 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); @@ -7692,7 +7707,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 381: /* expr_field: expr '.' basic_type_declaration '(' expr_list ')' */ + case 383: /* 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); @@ -7702,29 +7717,29 @@ YYLTYPE yylloc = yyloc_default; } break; - case 382: /* $@25: %empty */ + case 384: /* $@25: %empty */ { yyextra->das_suppress_errors=true; } break; - case 383: /* $@26: %empty */ + case 385: /* $@26: %empty */ { yyextra->das_suppress_errors=false; } break; - case 384: /* expr_field: expr '.' $@25 error $@26 */ + case 386: /* 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 385: /* expr_call: name_in_namespace '(' ')' */ + case 387: /* 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 386: /* expr_call: name_in_namespace '(' "uninitialized" ')' */ + case 388: /* expr_call: name_in_namespace '(' "uninitialized" ')' */ { auto dd = new ExprMakeStruct(tokAt(scanner,(yylsp[-3]))); dd->at = tokAt(scanner,(yylsp[-3])); @@ -7737,7 +7752,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 387: /* expr_call: name_in_namespace '(' make_struct_single ')' */ + case 389: /* 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); @@ -7749,7 +7764,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 388: /* expr_call: name_in_namespace '(' "uninitialized" make_struct_single ')' */ + case 390: /* 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); @@ -7761,166 +7776,166 @@ YYLTYPE yylloc = yyloc_default; } break; - case 389: /* expr_call: name_in_namespace '(' expr_list ')' */ + case 391: /* 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 390: /* expr_call: basic_type_declaration '(' ')' */ + case 392: /* 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 391: /* expr_call: basic_type_declaration '(' expr_list ')' */ + case 393: /* 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 392: /* expr: "null" */ + case 394: /* expr: "null" */ { (yyval.pExpression) = new ExprConstPtr(tokAt(scanner,(yylsp[0])),nullptr); } break; - case 393: /* expr: name_in_namespace */ + case 395: /* expr: name_in_namespace */ { (yyval.pExpression) = new ExprVar(tokAt(scanner,(yylsp[0])),*(yyvsp[0].s)); delete (yyvsp[0].s); } break; - case 394: /* expr: expr_numeric_const */ + case 396: /* expr: expr_numeric_const */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 395: /* expr: expr_reader */ + case 397: /* expr: expr_reader */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 396: /* expr: string_builder */ + case 398: /* expr: string_builder */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 397: /* expr: make_decl */ + case 399: /* expr: make_decl */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 398: /* expr: "true" */ + case 400: /* expr: "true" */ { (yyval.pExpression) = new ExprConstBool(tokAt(scanner,(yylsp[0])),true); } break; - case 399: /* expr: "false" */ + case 401: /* expr: "false" */ { (yyval.pExpression) = new ExprConstBool(tokAt(scanner,(yylsp[0])),false); } break; - case 400: /* expr: expr_field */ + case 402: /* expr: expr_field */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 401: /* expr: expr_mtag */ + case 403: /* expr: expr_mtag */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 402: /* expr: '!' expr */ + case 404: /* expr: '!' expr */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[-1])),"!",ExpressionPtr((yyvsp[0].pExpression))); } break; - case 403: /* expr: '~' expr */ + case 405: /* expr: '~' expr */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[-1])),"~",ExpressionPtr((yyvsp[0].pExpression))); } break; - case 404: /* expr: '+' expr */ + case 406: /* expr: '+' expr */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[-1])),"+",ExpressionPtr((yyvsp[0].pExpression))); } break; - case 405: /* expr: '-' expr */ + case 407: /* expr: '-' expr */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[-1])),"-",ExpressionPtr((yyvsp[0].pExpression))); } break; - case 406: /* 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 407: /* 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 408: /* 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 409: /* 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 410: /* 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 411: /* 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 412: /* 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 413: /* 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 414: /* 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 415: /* 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 416: /* 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 417: /* 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 418: /* 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 419: /* 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 420: /* 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 421: /* 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 422: /* 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 423: /* 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 424: /* 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 425: /* expr: expr "||" expr */ + case 427: /* expr: expr "||" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"||", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 426: /* expr: expr "^^" expr */ + case 428: /* expr: expr "^^" expr */ { (yyval.pExpression) = new ExprOp2(tokAt(scanner,(yylsp[-1])),"^^", ExpressionPtr((yyvsp[-2].pExpression)), ExpressionPtr((yyvsp[0].pExpression))); } break; - case 427: /* expr: expr ".." expr */ + case 429: /* expr: expr ".." expr */ { auto itv = yyextra->g_Program->makeCall(tokAt(scanner,(yylsp[-1])),"interval"); itv->arguments.push_back(ExpressionPtr((yyvsp[-2].pExpression))); @@ -7929,23 +7944,23 @@ YYLTYPE yylloc = yyloc_default; } break; - case 428: /* expr: "++" expr */ + case 430: /* expr: "++" expr */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[-1])),"++", ExpressionPtr((yyvsp[0].pExpression))); } break; - case 429: /* expr: "--" expr */ + case 431: /* expr: "--" expr */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[-1])),"--", ExpressionPtr((yyvsp[0].pExpression))); } break; - case 430: /* expr: expr "++" */ + case 432: /* expr: expr "++" */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[0])),"+++", ExpressionPtr((yyvsp[-1].pExpression))); } break; - case 431: /* expr: expr "--" */ + case 433: /* expr: expr "--" */ { (yyval.pExpression) = new ExprOp1(tokAt(scanner,(yylsp[0])),"---", ExpressionPtr((yyvsp[-1].pExpression))); } break; - case 432: /* expr: '(' expr_list optional_comma ')' */ + case 434: /* expr: '(' expr_list optional_comma ')' */ { if ( (yyvsp[-2].pExpression)->rtti_isSequence() ) { auto mkt = new ExprMakeTuple(tokAt(scanner,(yylsp[-2]))); @@ -7961,79 +7976,79 @@ YYLTYPE yylloc = yyloc_default; } break; - case 433: /* expr: expr '[' expr ']' */ + case 435: /* expr: expr '[' expr ']' */ { (yyval.pExpression) = new ExprAt(tokAt(scanner,(yylsp[-2])), ExpressionPtr((yyvsp[-3].pExpression)), ExpressionPtr((yyvsp[-1].pExpression))); } break; - case 434: /* expr: expr '.' '[' expr ']' */ + case 436: /* expr: expr '.' '[' expr ']' */ { (yyval.pExpression) = new ExprAt(tokAt(scanner,(yylsp[-2])), ExpressionPtr((yyvsp[-4].pExpression)), ExpressionPtr((yyvsp[-1].pExpression)), true); } break; - case 435: /* expr: expr "?[" expr ']' */ + case 437: /* expr: expr "?[" expr ']' */ { (yyval.pExpression) = new ExprSafeAt(tokAt(scanner,(yylsp[-2])), ExpressionPtr((yyvsp[-3].pExpression)), ExpressionPtr((yyvsp[-1].pExpression))); } break; - case 436: /* expr: expr '.' "?[" expr ']' */ + case 438: /* expr: expr '.' "?[" expr ']' */ { (yyval.pExpression) = new ExprSafeAt(tokAt(scanner,(yylsp[-2])), ExpressionPtr((yyvsp[-4].pExpression)), ExpressionPtr((yyvsp[-1].pExpression)), true); } break; - case 437: /* expr: expr "?." "name" */ + case 439: /* 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 438: /* expr: expr '.' "?." "name" */ + case 440: /* 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 439: /* expr: func_addr_expr */ + case 441: /* expr: func_addr_expr */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 440: /* expr: expr_call */ + case 442: /* expr: expr_call */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 441: /* expr: '*' expr */ + case 443: /* expr: '*' expr */ { (yyval.pExpression) = new ExprPtr2Ref(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 442: /* expr: "deref" '(' expr ')' */ + case 444: /* expr: "deref" '(' expr ')' */ { (yyval.pExpression) = new ExprPtr2Ref(tokAt(scanner,(yylsp[-3])),ExpressionPtr((yyvsp[-1].pExpression))); } break; - case 443: /* expr: "addr" '(' expr ')' */ + case 445: /* expr: "addr" '(' expr ')' */ { (yyval.pExpression) = new ExprRef2Ptr(tokAt(scanner,(yylsp[-3])),ExpressionPtr((yyvsp[-1].pExpression))); } break; - case 444: /* expr: expr_generator */ + case 446: /* expr: expr_generator */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 445: /* expr: expr "??" expr */ + case 447: /* expr: expr "??" expr */ { (yyval.pExpression) = new ExprNullCoalescing(tokAt(scanner,(yylsp[-1])),ExpressionPtr((yyvsp[-2].pExpression)),ExpressionPtr((yyvsp[0].pExpression))); } break; - case 446: /* expr: expr '?' expr ':' expr */ + case 448: /* 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 447: /* $@27: %empty */ + case 449: /* $@27: %empty */ { yyextra->das_arrow_depth ++; } break; - case 448: /* $@28: %empty */ + case 450: /* $@28: %empty */ { yyextra->das_arrow_depth --; } break; - case 449: /* expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' $@28 */ + case 451: /* 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 450: /* expr: expr "is" basic_type_declaration */ + case 452: /* expr: expr "is" basic_type_declaration */ { auto vdecl = new TypeDecl((yyvsp[0].type)); vdecl->at = tokAt(scanner,(yylsp[0])); @@ -8041,29 +8056,29 @@ YYLTYPE yylloc = yyloc_default; } break; - case 451: /* expr: expr "is" "name" */ + case 453: /* 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 452: /* expr: expr "as" "name" */ + case 454: /* 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 453: /* $@29: %empty */ + case 455: /* $@29: %empty */ { yyextra->das_arrow_depth ++; } break; - case 454: /* $@30: %empty */ + case 456: /* $@30: %empty */ { yyextra->das_arrow_depth --; } break; - case 455: /* expr: expr "as" "type" '<' $@29 type_declaration '>' $@30 */ + case 457: /* 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); @@ -8071,28 +8086,28 @@ YYLTYPE yylloc = yyloc_default; } break; - case 456: /* expr: expr "as" basic_type_declaration */ + case 458: /* 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 457: /* expr: expr '?' "as" "name" */ + case 459: /* 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 458: /* $@31: %empty */ + case 460: /* $@31: %empty */ { yyextra->das_arrow_depth ++; } break; - case 459: /* $@32: %empty */ + case 461: /* $@32: %empty */ { yyextra->das_arrow_depth --; } break; - case 460: /* expr: expr '?' "as" "type" '<' $@31 type_declaration '>' $@32 */ + case 462: /* 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); @@ -8100,60 +8115,60 @@ YYLTYPE yylloc = yyloc_default; } break; - case 461: /* expr: expr '?' "as" basic_type_declaration */ + case 463: /* 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 462: /* expr: expr_type_info */ + case 464: /* expr: expr_type_info */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 463: /* expr: expr_type_decl */ + case 465: /* expr: expr_type_decl */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 464: /* expr: expr_cast */ + case 466: /* expr: expr_cast */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 465: /* expr: expr_new */ + case 467: /* expr: expr_new */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 466: /* expr: expr_method_call */ + case 468: /* expr: expr_method_call */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 467: /* expr: expr_named_call */ + case 469: /* expr: expr_named_call */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 468: /* expr: expr_full_block */ + case 470: /* expr: expr_full_block */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 469: /* expr: expr "<|" expr */ + case 471: /* expr: expr "<|" expr */ { (yyval.pExpression) = ast_lpipe(scanner,(yyvsp[-2].pExpression),(yyvsp[0].pExpression),tokAt(scanner,(yylsp[-1]))); } break; - case 470: /* expr: expr "|>" expr */ + case 472: /* expr: expr "|>" expr */ { (yyval.pExpression) = ast_rpipe(scanner,(yyvsp[-2].pExpression),(yyvsp[0].pExpression),tokAt(scanner,(yylsp[-1]))); } break; - case 471: /* expr: expr "|>" basic_type_declaration */ + case 473: /* 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 472: /* expr: expr_call_pipe */ + case 474: /* expr: expr_call_pipe */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 473: /* expr: "unsafe" '(' expr ')' */ + case 475: /* expr: "unsafe" '(' expr ')' */ { (yyvsp[-1].pExpression)->alwaysSafe = true; (yyvsp[-1].pExpression)->userSaidItsSafe = true; @@ -8161,19 +8176,19 @@ YYLTYPE yylloc = yyloc_default; } break; - case 474: /* expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' ')' */ + case 476: /* 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 475: /* expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' */ + case 477: /* 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 476: /* expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list optional_emit_semis expression_block */ + case 478: /* 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); @@ -8181,149 +8196,149 @@ YYLTYPE yylloc = yyloc_default; } break; - case 477: /* expr_mtag: "$$" '(' expr ')' */ + case 479: /* expr_mtag: "$$" '(' expr ')' */ { (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),"e"); } break; - case 478: /* expr_mtag: "$i" '(' expr ')' */ + case 480: /* expr_mtag: "$i" '(' expr ')' */ { (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),"i"); } break; - case 479: /* expr_mtag: "$v" '(' expr ')' */ + case 481: /* expr_mtag: "$v" '(' expr ')' */ { (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),"v"); } break; - case 480: /* expr_mtag: "$b" '(' expr ')' */ + case 482: /* expr_mtag: "$b" '(' expr ')' */ { (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),"b"); } break; - case 481: /* expr_mtag: "$a" '(' expr ')' */ + case 483: /* expr_mtag: "$a" '(' expr ')' */ { (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),"a"); } break; - case 482: /* expr_mtag: "..." */ + case 484: /* expr_mtag: "..." */ { (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[0])),nullptr,"..."); } break; - case 483: /* expr_mtag: "$c" '(' expr ')' '(' ')' */ + case 485: /* 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 484: /* expr_mtag: "$c" '(' expr ')' '(' expr_list ')' */ + case 486: /* 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 485: /* 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[-5].pExpression)), "``MACRO``TAG``FIELD``"); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),cfield,"f"); } break; - case 486: /* 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[-5].pExpression)), "``MACRO``TAG``FIELD``"); (yyval.pExpression) = new ExprTag(tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression),cfield,"f"); } break; - case 487: /* expr_mtag: expr '.' '.' "$f" '(' expr ')' */ + case 489: /* 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 488: /* expr_mtag: expr '.' "?." "$f" '(' expr ')' */ + case 490: /* 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 489: /* expr_mtag: expr "as" "$f" '(' expr ')' */ + case 491: /* 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 490: /* expr_mtag: expr '?' "as" "$f" '(' expr ')' */ + case 492: /* 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 491: /* expr_mtag: expr "is" "$f" '(' expr ')' */ + case 493: /* 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 492: /* expr_mtag: '@' '@' "$c" '(' expr ')' */ + case 494: /* 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 493: /* optional_field_annotation: %empty */ + case 495: /* optional_field_annotation: %empty */ { (yyval.aaList) = nullptr; } break; - case 494: /* optional_field_annotation: metadata_argument_list */ + case 496: /* optional_field_annotation: metadata_argument_list */ { (yyval.aaList) = (yyvsp[0].aaList); } break; - case 495: /* optional_override: %empty */ + case 497: /* optional_override: %empty */ { (yyval.i) = OVERRIDE_NONE; } break; - case 496: /* optional_override: "override" */ + case 498: /* optional_override: "override" */ { (yyval.i) = OVERRIDE_OVERRIDE; } break; - case 497: /* optional_override: "sealed" */ + case 499: /* optional_override: "sealed" */ { (yyval.i) = OVERRIDE_SEALED; } break; - case 498: /* optional_constant: %empty */ + case 500: /* optional_constant: %empty */ { (yyval.b) = false; } break; - case 499: /* optional_constant: "const" */ + case 501: /* optional_constant: "const" */ { (yyval.b) = true; } break; - case 500: /* optional_public_or_private_member_variable: %empty */ + case 502: /* optional_public_or_private_member_variable: %empty */ { (yyval.b) = false; } break; - case 501: /* optional_public_or_private_member_variable: "public" */ + case 503: /* optional_public_or_private_member_variable: "public" */ { (yyval.b) = false; } break; - case 502: /* optional_public_or_private_member_variable: "private" */ + case 504: /* optional_public_or_private_member_variable: "private" */ { (yyval.b) = true; } break; - case 503: /* optional_static_member_variable: %empty */ + case 505: /* optional_static_member_variable: %empty */ { (yyval.b) = false; } break; - case 504: /* optional_static_member_variable: "static" */ + case 506: /* optional_static_member_variable: "static" */ { (yyval.b) = true; } break; - case 505: /* structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration */ + case 507: /* 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; @@ -8334,13 +8349,17 @@ YYLTYPE yylloc = yyloc_default; } break; - case 506: /* struct_variable_declaration_list: %empty */ + case 508: /* struct_variable_declaration_list: %empty */ { (yyval.pVarDeclList) = new vector(); } break; - case 507: /* $@33: %empty */ + case 509: /* struct_variable_declaration_list: struct_variable_declaration_list "emitted ;" */ + { (yyval.pVarDeclList) = (yyvsp[-1].pVarDeclList); } + break; + + case 510: /* $@33: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -8349,8 +8368,8 @@ YYLTYPE yylloc = yyloc_default; } break; - case 508: /* struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration ';' */ - { + case 511: /* struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration SEMICOLON */ + { (yyval.pVarDeclList) = (yyvsp[-3].pVarDeclList); if ( (yyvsp[-1].pVarDecl) ) (yyvsp[-3].pVarDeclList)->push_back((yyvsp[-1].pVarDecl)); if ( !yyextra->g_CommentReaders.empty() ) { @@ -8365,7 +8384,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 509: /* $@34: %empty */ + case 512: /* $@34: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[-2])); @@ -8374,8 +8393,8 @@ YYLTYPE yylloc = yyloc_default; } break; - 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 ';' */ - { + case 513: /* struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header SEMICOLON */ + { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[-1])); for ( auto & crd : yyextra->g_CommentReaders ) crd->afterFunction((yyvsp[-1].pFuncDecl),tak); @@ -8384,7 +8403,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 511: /* $@35: %empty */ + case 514: /* $@35: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -8393,17 +8412,17 @@ YYLTYPE yylloc = yyloc_default; } break; - 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 */ - { + case 515: /* struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header optional_emit_semis expression_block */ + { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); - for ( auto & crd : yyextra->g_CommentReaders ) crd->afterFunction((yyvsp[-1].pFuncDecl),tak); + for ( auto & crd : yyextra->g_CommentReaders ) crd->afterFunction((yyvsp[-2].pFuncDecl),tak); } - (yyval.pVarDeclList) = ast_structVarDef(scanner,(yyvsp[-9].pVarDeclList),(yyvsp[-8].faList),(yyvsp[-5].b),(yyvsp[-6].b),(yyvsp[-4].i),(yyvsp[-3].b),(yyvsp[-1].pFuncDecl),(yyvsp[0].pExpression),tokRangeAt(scanner,(yylsp[-7]),(yylsp[0])),tokAt(scanner,(yylsp[-8]))); + (yyval.pVarDeclList) = ast_structVarDef(scanner,(yyvsp[-10].pVarDeclList),(yyvsp[-9].faList),(yyvsp[-6].b),(yyvsp[-7].b),(yyvsp[-5].i),(yyvsp[-4].b),(yyvsp[-2].pFuncDecl),(yyvsp[0].pExpression),tokRangeAt(scanner,(yylsp[-8]),(yylsp[0])),tokAt(scanner,(yylsp[-9]))); } break; - case 513: /* function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing variable_declaration */ + case 516: /* function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing variable_declaration */ { (yyval.pVarDecl) = (yyvsp[0].pVarDecl); if ( (yyvsp[-1].b) ) { @@ -8415,7 +8434,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 514: /* function_argument_declaration: "$a" '(' expr ')' */ + case 517: /* function_argument_declaration: "$a" '(' expr ')' */ { auto na = new vector(); na->push_back(VariableNameAndPosition{"``MACRO``TAG``","",tokAt(scanner,(yylsp[-1]))}); @@ -8425,21 +8444,21 @@ YYLTYPE yylloc = yyloc_default; } break; - case 515: /* function_argument_list: function_argument_declaration */ + case 518: /* function_argument_list: function_argument_declaration */ { (yyval.pVarDeclList) = new vector(); (yyval.pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 516: /* function_argument_list: function_argument_list ';' function_argument_declaration */ + case 519: /* function_argument_list: function_argument_list ';' function_argument_declaration */ { (yyval.pVarDeclList) = (yyvsp[-2].pVarDeclList); (yyvsp[-2].pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 517: /* tuple_type: type_declaration */ + case 520: /* tuple_type: type_declaration */ { (yyval.pVarDecl) = new VariableDeclaration(nullptr,(yyvsp[0].pTypeDecl),nullptr); } break; - case 518: /* tuple_type: "name" ':' type_declaration */ + case 521: /* tuple_type: "name" ':' type_declaration */ { auto na = new vector(); na->push_back(VariableNameAndPosition{*(yyvsp[-2].s),"",tokAt(scanner,(yylsp[-2]))}); @@ -8448,28 +8467,28 @@ YYLTYPE yylloc = yyloc_default; } break; - case 519: /* tuple_type_list: tuple_type */ + case 522: /* tuple_type_list: tuple_type */ { (yyval.pVarDeclList) = new vector(); (yyval.pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 520: /* tuple_type_list: tuple_type_list c_or_s tuple_type */ + case 523: /* 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 521: /* tuple_alias_type_list: %empty */ + case 524: /* tuple_alias_type_list: %empty */ { (yyval.pVarDeclList) = new vector(); } break; - case 522: /* tuple_alias_type_list: tuple_type */ + case 525: /* tuple_alias_type_list: tuple_type */ { (yyval.pVarDeclList) = new vector(); (yyval.pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 523: /* tuple_alias_type_list: tuple_alias_type_list semis tuple_type */ + case 526: /* 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() ) { @@ -8483,7 +8502,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 524: /* variant_type: "name" ':' type_declaration */ + case 527: /* variant_type: "name" ':' type_declaration */ { auto na = new vector(); na->push_back(VariableNameAndPosition{*(yyvsp[-2].s),"",tokAt(scanner,(yylsp[-2]))}); @@ -8492,28 +8511,28 @@ YYLTYPE yylloc = yyloc_default; } break; - case 525: /* variant_type_list: variant_type */ + case 528: /* variant_type_list: variant_type */ { (yyval.pVarDeclList) = new vector(); (yyval.pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 526: /* variant_type_list: variant_type_list c_or_s variant_type */ + case 529: /* 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 527: /* variant_alias_type_list: %empty */ + case 530: /* variant_alias_type_list: %empty */ { (yyval.pVarDeclList) = new vector(); } break; - case 528: /* variant_alias_type_list: variant_type */ + case 531: /* variant_alias_type_list: variant_type */ { (yyval.pVarDeclList) = new vector(); (yyval.pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 529: /* variant_alias_type_list: variant_alias_type_list semis variant_type */ + case 532: /* 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() ) { @@ -8527,15 +8546,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 530: /* copy_or_move: '=' */ + case 533: /* copy_or_move: '=' */ { (yyval.b) = false; } break; - case 531: /* copy_or_move: "<-" */ + case 534: /* copy_or_move: "<-" */ { (yyval.b) = true; } break; - case 532: /* variable_declaration: variable_name_with_pos_list */ + case 535: /* variable_declaration: variable_name_with_pos_list */ { auto autoT = new TypeDecl(Type::autoinfer); autoT->at = tokAt(scanner,(yylsp[0])); @@ -8544,7 +8563,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 533: /* variable_declaration: variable_name_with_pos_list '&' */ + case 536: /* variable_declaration: variable_name_with_pos_list '&' */ { auto autoT = new TypeDecl(Type::autoinfer); autoT->at = tokAt(scanner,(yylsp[-1])); @@ -8553,20 +8572,20 @@ YYLTYPE yylloc = yyloc_default; } break; - case 534: /* variable_declaration: variable_name_with_pos_list ':' type_declaration */ + case 537: /* variable_declaration: variable_name_with_pos_list ':' type_declaration */ { (yyval.pVarDecl) = new VariableDeclaration((yyvsp[-2].pNameWithPosList),(yyvsp[0].pTypeDecl),nullptr); } break; - case 535: /* variable_declaration: variable_name_with_pos_list ':' type_declaration copy_or_move expr */ + case 538: /* 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 536: /* variable_declaration: variable_name_with_pos_list copy_or_move expr */ + case 539: /* variable_declaration: variable_name_with_pos_list copy_or_move expr */ { auto typeDecl = new TypeDecl(Type::autoinfer); typeDecl->at = tokAt(scanner,(yylsp[-2])); @@ -8575,27 +8594,27 @@ YYLTYPE yylloc = yyloc_default; } break; - case 537: /* copy_or_move_or_clone: '=' */ + case 540: /* copy_or_move_or_clone: '=' */ { (yyval.i) = CorM_COPY; } break; - case 538: /* copy_or_move_or_clone: "<-" */ + case 541: /* copy_or_move_or_clone: "<-" */ { (yyval.i) = CorM_MOVE; } break; - case 539: /* copy_or_move_or_clone: ":=" */ + case 542: /* copy_or_move_or_clone: ":=" */ { (yyval.i) = CorM_CLONE; } break; - case 540: /* optional_ref: %empty */ + case 543: /* optional_ref: %empty */ { (yyval.b) = false; } break; - case 541: /* optional_ref: '&' */ + case 544: /* optional_ref: '&' */ { (yyval.b) = true; } break; - case 542: /* let_variable_name_with_pos_list: "name" */ + case 545: /* let_variable_name_with_pos_list: "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); auto pSL = new vector(); @@ -8605,7 +8624,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 543: /* let_variable_name_with_pos_list: "$i" '(' expr ')' */ + case 546: /* 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))}); @@ -8613,7 +8632,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 544: /* let_variable_name_with_pos_list: "name" "aka" "name" */ + case 547: /* 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]))); @@ -8625,7 +8644,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 545: /* let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" */ + case 548: /* 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]))}); @@ -8634,7 +8653,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 546: /* let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" "aka" "name" */ + case 549: /* 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]))); @@ -8645,7 +8664,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 547: /* global_let_variable_name_with_pos_list: "name" */ + case 550: /* global_let_variable_name_with_pos_list: "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); auto pSL = new vector(); @@ -8655,7 +8674,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 548: /* global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list ',' "name" */ + case 551: /* 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]))}); @@ -8664,32 +8683,32 @@ YYLTYPE yylloc = yyloc_default; } break; - case 549: /* variable_declaration_list: %empty */ + case 552: /* variable_declaration_list: %empty */ { (yyval.pVarDeclList) = new vector(); } break; - case 550: /* variable_declaration_list: variable_declaration_list ';' */ + case 553: /* variable_declaration_list: variable_declaration_list ';' */ { (yyval.pVarDeclList) = (yyvsp[-1].pVarDeclList); } break; - case 551: /* variable_declaration_list: variable_declaration_list let_variable_declaration */ + case 554: /* variable_declaration_list: variable_declaration_list let_variable_declaration */ { (yyval.pVarDeclList) = (yyvsp[-1].pVarDeclList); (yyvsp[-1].pVarDeclList)->push_back((yyvsp[0].pVarDecl)); } break; - case 552: /* let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options SEMICOLON */ + case 555: /* 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 553: /* let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON */ + case 556: /* 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; @@ -8697,7 +8716,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 554: /* let_variable_declaration: let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr SEMICOLON */ + case 557: /* 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])); @@ -8708,13 +8727,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 555: /* global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options ';' */ + case 558: /* 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 556: /* global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr ';' */ + case 559: /* 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; @@ -8722,7 +8741,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 557: /* global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' */ + case 560: /* 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])); @@ -8733,39 +8752,39 @@ YYLTYPE yylloc = yyloc_default; } break; - case 558: /* optional_shared: %empty */ + case 561: /* optional_shared: %empty */ { (yyval.b) = false; } break; - case 559: /* optional_shared: "shared" */ + case 562: /* optional_shared: "shared" */ { (yyval.b) = true; } break; - case 560: /* optional_public_or_private_variable: %empty */ + case 563: /* optional_public_or_private_variable: %empty */ { (yyval.b) = yyextra->g_Program->thisModule->isPublic; } break; - case 561: /* optional_public_or_private_variable: "private" */ + case 564: /* optional_public_or_private_variable: "private" */ { (yyval.b) = false; } break; - case 562: /* optional_public_or_private_variable: "public" */ + case 565: /* optional_public_or_private_variable: "public" */ { (yyval.b) = true; } break; - case 563: /* global_variable_declaration_list: %empty */ + case 566: /* global_variable_declaration_list: %empty */ { (yyval.pVarDeclList) = new vector(); } break; - case 564: /* global_variable_declaration_list: global_variable_declaration_list ';' */ + case 567: /* global_variable_declaration_list: global_variable_declaration_list ';' */ { (yyval.pVarDeclList) = (yyvsp[-1].pVarDeclList); } break; - case 565: /* $@36: %empty */ + case 568: /* $@36: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -8774,7 +8793,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 566: /* global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation let_variable_declaration */ + case 569: /* 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])); @@ -8789,13 +8808,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 567: /* global_let: kwd_let optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' */ + case 570: /* 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 568: /* $@37: %empty */ + case 571: /* $@37: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[0])); @@ -8804,7 +8823,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 569: /* global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration */ + case 572: /* 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])); @@ -8817,7 +8836,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 570: /* enum_expression: "name" */ + case 573: /* enum_expression: "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); (yyval.pEnumPair) = new EnumPair((yyvsp[0].s),tokAt(scanner,(yylsp[0]))); @@ -8825,7 +8844,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 571: /* enum_expression: "name" '=' expr */ + case 574: /* 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]))); @@ -8833,13 +8852,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 574: /* enum_list: %empty */ + case 577: /* enum_list: %empty */ { (yyval.pEnum) = new Enumeration(); } break; - case 575: /* enum_list: enum_expression */ + case 578: /* enum_list: enum_expression */ { (yyval.pEnum) = new Enumeration(); if ( !(yyval.pEnum)->add((yyvsp[0].pEnumPair)->name,(yyvsp[0].pEnumPair)->expr,(yyvsp[0].pEnumPair)->at) ) { @@ -8855,7 +8874,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 576: /* enum_list: enum_list commas enum_expression */ + case 579: /* 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, @@ -8871,19 +8890,19 @@ YYLTYPE yylloc = yyloc_default; } break; - case 577: /* optional_public_or_private_alias: %empty */ + case 580: /* optional_public_or_private_alias: %empty */ { (yyval.b) = yyextra->g_Program->thisModule->isPublic; } break; - case 578: /* optional_public_or_private_alias: "private" */ + case 581: /* optional_public_or_private_alias: "private" */ { (yyval.b) = false; } break; - case 579: /* optional_public_or_private_alias: "public" */ + case 582: /* optional_public_or_private_alias: "public" */ { (yyval.b) = true; } break; - case 580: /* $@38: %empty */ + case 583: /* $@38: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto pubename = tokAt(scanner,(yylsp[0])); @@ -8892,7 +8911,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 581: /* single_alias: optional_public_or_private_alias "name" $@38 '=' type_declaration */ + case 584: /* 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); @@ -8913,19 +8932,19 @@ YYLTYPE yylloc = yyloc_default; } break; - case 583: /* optional_public_or_private_enum: %empty */ + case 586: /* optional_public_or_private_enum: %empty */ { (yyval.b) = yyextra->g_Program->thisModule->isPublic; } break; - case 584: /* optional_public_or_private_enum: "private" */ + case 587: /* optional_public_or_private_enum: "private" */ { (yyval.b) = false; } break; - case 585: /* optional_public_or_private_enum: "public" */ + case 588: /* optional_public_or_private_enum: "public" */ { (yyval.b) = true; } break; - case 586: /* enum_name: "name" */ + case 589: /* enum_name: "name" */ { if ( !yyextra->g_CommentReaders.empty() ) { auto pubename = tokAt(scanner,(yylsp[0])); @@ -8935,25 +8954,25 @@ YYLTYPE yylloc = yyloc_default; } break; - case 587: /* optional_enum_basic_type_declaration: %empty */ + case 590: /* optional_enum_basic_type_declaration: %empty */ { (yyval.type) = Type::tInt; } break; - case 588: /* optional_enum_basic_type_declaration: ':' enum_basic_type_declaration */ + case 591: /* optional_enum_basic_type_declaration: ':' enum_basic_type_declaration */ { (yyval.type) = (yyvsp[0].type); } break; - case 595: /* $@39: %empty */ + case 598: /* $@39: %empty */ { yyextra->push_nesteds(DAS_EMIT_COMMA); } break; - case 596: /* $@40: %empty */ + case 599: /* $@40: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[-3])); @@ -8962,7 +8981,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 597: /* $@41: %empty */ + case 600: /* $@41: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[-1])); @@ -8972,7 +8991,7 @@ YYLTYPE yylloc = yyloc_default; } break; - 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 '}' */ + case 601: /* 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])); @@ -8982,62 +9001,68 @@ YYLTYPE yylloc = yyloc_default; } break; - case 599: /* optional_structure_parent: %empty */ + case 602: /* optional_structure_parent: %empty */ { (yyval.s) = nullptr; } break; - case 600: /* optional_structure_parent: ':' name_in_namespace */ + case 603: /* optional_structure_parent: ':' name_in_namespace */ { (yyval.s) = (yyvsp[0].s); } break; - case 601: /* optional_sealed: %empty */ + case 604: /* optional_sealed: %empty */ { (yyval.b) = false; } break; - case 602: /* optional_sealed: "sealed" */ + case 605: /* optional_sealed: "sealed" */ { (yyval.b) = true; } break; - case 603: /* structure_name: optional_sealed "name" optional_structure_parent */ + case 606: /* 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 604: /* class_or_struct: "class" */ + case 607: /* class_or_struct: "class" */ { (yyval.b) = true; } break; - case 605: /* class_or_struct: "struct" */ + case 608: /* class_or_struct: "struct" */ { (yyval.b) = false; } break; - case 606: /* optional_public_or_private_structure: %empty */ + case 609: /* optional_public_or_private_structure: %empty */ { (yyval.b) = yyextra->g_Program->thisModule->isPublic; } break; - case 607: /* optional_public_or_private_structure: "private" */ + case 610: /* optional_public_or_private_structure: "private" */ { (yyval.b) = false; } break; - case 608: /* optional_public_or_private_structure: "public" */ + case 611: /* optional_public_or_private_structure: "public" */ { (yyval.b) = true; } break; - case 609: /* optional_struct_variable_declaration_list: %empty */ + case 612: /* optional_struct_variable_declaration_list: %empty */ { (yyval.pVarDeclList) = new vector(); } break; - case 610: /* optional_struct_variable_declaration_list: '{' struct_variable_declaration_list '}' */ + case 613: /* optional_struct_variable_declaration_list: '{' struct_variable_declaration_list '}' */ { (yyval.pVarDeclList) = (yyvsp[-1].pVarDeclList); } break; - case 611: /* $@42: %empty */ - { + case 614: /* $@42: %empty */ + { + yyextra->push_nesteds(DAS_EMIT_SEMICOLON); + } + break; + + case 615: /* $@43: %empty */ + { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,(yylsp[-1])); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeStructure(tak); @@ -9045,17 +9070,18 @@ YYLTYPE yylloc = yyloc_default; } break; - case 612: /* $@43: %empty */ - { if ( (yyvsp[0].pStructure) ) { (yyvsp[0].pStructure)->isClass = (yyvsp[-3].b); (yyvsp[0].pStructure)->privateStructure = !(yyvsp[-2].b); } } + case 616: /* $@44: %empty */ + { if ( (yyvsp[-1].pStructure) ) { (yyvsp[-1].pStructure)->isClass = (yyvsp[-4].b); (yyvsp[-1].pStructure)->privateStructure = !(yyvsp[-3].b); } } break; - 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) ); + case 617: /* structure_declaration: optional_annotation_list $@42 class_or_struct optional_public_or_private_structure $@43 structure_name optional_emit_semis $@44 optional_struct_variable_declaration_list */ + { + yyextra->pop_nesteds(); + if ( (yyvsp[-3].pStructure) ) { + ast_structureDeclaration ( scanner, (yyvsp[-8].faList), tokAt(scanner,(yylsp[-6])), (yyvsp[-3].pStructure), tokAt(scanner,(yylsp[-3])), (yyvsp[0].pVarDeclList) ); if ( !yyextra->g_CommentReaders.empty() ) { - auto tak = tokAt(scanner,(yylsp[-5])); - for ( auto & crd : yyextra->g_CommentReaders ) crd->afterStructure((yyvsp[-2].pStructure),tak); + auto tak = tokAt(scanner,(yylsp[-6])); + for ( auto & crd : yyextra->g_CommentReaders ) crd->afterStructure((yyvsp[-3].pStructure),tak); } } else { deleteVariableDeclarationList((yyvsp[0].pVarDeclList)); @@ -9063,7 +9089,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 614: /* variable_name_with_pos_list: "name" */ + case 618: /* variable_name_with_pos_list: "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); auto pSL = new vector(); @@ -9073,7 +9099,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 615: /* variable_name_with_pos_list: "$i" '(' expr ')' */ + case 619: /* variable_name_with_pos_list: "$i" '(' expr ')' */ { auto pSL = new vector(); pSL->push_back(VariableNameAndPosition{"``MACRO``TAG``","",tokAt(scanner,(yylsp[-1])),(yyvsp[-1].pExpression)}); @@ -9081,7 +9107,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 616: /* variable_name_with_pos_list: "name" "aka" "name" */ + case 620: /* 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]))); @@ -9093,7 +9119,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 617: /* variable_name_with_pos_list: variable_name_with_pos_list ',' "name" */ + case 621: /* 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]))}); @@ -9102,7 +9128,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 618: /* variable_name_with_pos_list: variable_name_with_pos_list ',' "name" "aka" "name" */ + case 622: /* 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]))); @@ -9113,147 +9139,147 @@ YYLTYPE yylloc = yyloc_default; } break; - case 619: /* basic_type_declaration: "bool" */ + case 623: /* basic_type_declaration: "bool" */ { (yyval.type) = Type::tBool; } break; - case 620: /* basic_type_declaration: "string" */ + case 624: /* basic_type_declaration: "string" */ { (yyval.type) = Type::tString; } break; - case 621: /* basic_type_declaration: "int" */ + case 625: /* basic_type_declaration: "int" */ { (yyval.type) = Type::tInt; } break; - case 622: /* basic_type_declaration: "int8" */ + case 626: /* basic_type_declaration: "int8" */ { (yyval.type) = Type::tInt8; } break; - case 623: /* basic_type_declaration: "int16" */ + case 627: /* basic_type_declaration: "int16" */ { (yyval.type) = Type::tInt16; } break; - case 624: /* basic_type_declaration: "int64" */ + case 628: /* basic_type_declaration: "int64" */ { (yyval.type) = Type::tInt64; } break; - case 625: /* basic_type_declaration: "int2" */ + case 629: /* basic_type_declaration: "int2" */ { (yyval.type) = Type::tInt2; } break; - case 626: /* basic_type_declaration: "int3" */ + case 630: /* basic_type_declaration: "int3" */ { (yyval.type) = Type::tInt3; } break; - case 627: /* basic_type_declaration: "int4" */ + case 631: /* basic_type_declaration: "int4" */ { (yyval.type) = Type::tInt4; } break; - case 628: /* basic_type_declaration: "uint" */ + case 632: /* basic_type_declaration: "uint" */ { (yyval.type) = Type::tUInt; } break; - case 629: /* basic_type_declaration: "uint8" */ + case 633: /* basic_type_declaration: "uint8" */ { (yyval.type) = Type::tUInt8; } break; - case 630: /* basic_type_declaration: "uint16" */ + case 634: /* basic_type_declaration: "uint16" */ { (yyval.type) = Type::tUInt16; } break; - case 631: /* basic_type_declaration: "uint64" */ + case 635: /* basic_type_declaration: "uint64" */ { (yyval.type) = Type::tUInt64; } break; - case 632: /* basic_type_declaration: "uint2" */ + case 636: /* basic_type_declaration: "uint2" */ { (yyval.type) = Type::tUInt2; } break; - case 633: /* basic_type_declaration: "uint3" */ + case 637: /* basic_type_declaration: "uint3" */ { (yyval.type) = Type::tUInt3; } break; - case 634: /* basic_type_declaration: "uint4" */ + case 638: /* basic_type_declaration: "uint4" */ { (yyval.type) = Type::tUInt4; } break; - case 635: /* basic_type_declaration: "float" */ + case 639: /* basic_type_declaration: "float" */ { (yyval.type) = Type::tFloat; } break; - case 636: /* basic_type_declaration: "float2" */ + case 640: /* basic_type_declaration: "float2" */ { (yyval.type) = Type::tFloat2; } break; - case 637: /* basic_type_declaration: "float3" */ + case 641: /* basic_type_declaration: "float3" */ { (yyval.type) = Type::tFloat3; } break; - case 638: /* basic_type_declaration: "float4" */ + case 642: /* basic_type_declaration: "float4" */ { (yyval.type) = Type::tFloat4; } break; - case 639: /* basic_type_declaration: "void" */ + case 643: /* basic_type_declaration: "void" */ { (yyval.type) = Type::tVoid; } break; - case 640: /* basic_type_declaration: "range" */ + case 644: /* basic_type_declaration: "range" */ { (yyval.type) = Type::tRange; } break; - case 641: /* basic_type_declaration: "urange" */ + case 645: /* basic_type_declaration: "urange" */ { (yyval.type) = Type::tURange; } break; - case 642: /* basic_type_declaration: "range64" */ + case 646: /* basic_type_declaration: "range64" */ { (yyval.type) = Type::tRange64; } break; - case 643: /* basic_type_declaration: "urange64" */ + case 647: /* basic_type_declaration: "urange64" */ { (yyval.type) = Type::tURange64; } break; - case 644: /* basic_type_declaration: "double" */ + case 648: /* basic_type_declaration: "double" */ { (yyval.type) = Type::tDouble; } break; - case 645: /* basic_type_declaration: "bitfield" */ + case 649: /* basic_type_declaration: "bitfield" */ { (yyval.type) = Type::tBitfield; } break; - case 646: /* enum_basic_type_declaration: "int" */ + case 650: /* enum_basic_type_declaration: "int" */ { (yyval.type) = Type::tInt; } break; - case 647: /* enum_basic_type_declaration: "int8" */ + case 651: /* enum_basic_type_declaration: "int8" */ { (yyval.type) = Type::tInt8; } break; - case 648: /* enum_basic_type_declaration: "int16" */ + case 652: /* enum_basic_type_declaration: "int16" */ { (yyval.type) = Type::tInt16; } break; - case 649: /* enum_basic_type_declaration: "uint" */ + case 653: /* enum_basic_type_declaration: "uint" */ { (yyval.type) = Type::tUInt; } break; - case 650: /* enum_basic_type_declaration: "uint8" */ + case 654: /* enum_basic_type_declaration: "uint8" */ { (yyval.type) = Type::tUInt8; } break; - case 651: /* enum_basic_type_declaration: "uint16" */ + case 655: /* enum_basic_type_declaration: "uint16" */ { (yyval.type) = Type::tUInt16; } break; - case 652: /* enum_basic_type_declaration: "int64" */ + case 656: /* enum_basic_type_declaration: "int64" */ { (yyval.type) = Type::tInt64; } break; - case 653: /* enum_basic_type_declaration: "uint64" */ + case 657: /* enum_basic_type_declaration: "uint64" */ { (yyval.type) = Type::tUInt64; } break; - case 654: /* structure_type_declaration: name_in_namespace */ + case 658: /* structure_type_declaration: name_in_namespace */ { (yyval.pTypeDecl) = yyextra->g_Program->makeTypeDeclaration(tokAt(scanner,(yylsp[0])),*(yyvsp[0].s)); if ( !(yyval.pTypeDecl) ) { @@ -9264,14 +9290,14 @@ YYLTYPE yylloc = yyloc_default; } break; - case 655: /* auto_type_declaration: "auto" */ + case 659: /* auto_type_declaration: "auto" */ { (yyval.pTypeDecl) = new TypeDecl(Type::autoinfer); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[0])); } break; - case 656: /* auto_type_declaration: "auto" '(' "name" ')' */ + case 660: /* auto_type_declaration: "auto" '(' "name" ')' */ { das_checkName(scanner,*(yyvsp[-1].s),tokAt(scanner,(yylsp[-1]))); (yyval.pTypeDecl) = new TypeDecl(Type::autoinfer); @@ -9281,7 +9307,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 657: /* auto_type_declaration: "$t" '(' expr ')' */ + case 661: /* auto_type_declaration: "$t" '(' expr ')' */ { (yyval.pTypeDecl) = new TypeDecl(Type::alias); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-3])); @@ -9293,7 +9319,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 658: /* bitfield_bits: "name" */ + case 662: /* bitfield_bits: "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); auto pSL = new vector(); @@ -9303,7 +9329,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 659: /* bitfield_bits: bitfield_bits ';' "name" */ + case 663: /* bitfield_bits: bitfield_bits ';' "name" */ { das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); (yyvsp[-2].pNameList)->push_back(*(yyvsp[0].s)); @@ -9312,7 +9338,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 660: /* bitfield_alias_bits: %empty */ + case 664: /* bitfield_alias_bits: %empty */ { auto pSL = new vector(); (yyval.pNameList) = pSL; @@ -9320,7 +9346,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 661: /* bitfield_alias_bits: "name" */ + case 665: /* bitfield_alias_bits: "name" */ { (yyval.pNameList) = new vector(); das_checkName(scanner,*(yyvsp[0].s),tokAt(scanner,(yylsp[0]))); @@ -9333,7 +9359,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 662: /* bitfield_alias_bits: bitfield_alias_bits commas "name" */ + case 666: /* 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)); @@ -9346,15 +9372,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 663: /* $@44: %empty */ + case 667: /* $@45: %empty */ { yyextra->das_arrow_depth ++; } break; - case 664: /* $@45: %empty */ + case 668: /* $@46: %empty */ { yyextra->das_arrow_depth --; } break; - case 665: /* bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits '>' $@45 */ + case 669: /* bitfield_type_declaration: "bitfield" '<' $@45 bitfield_bits '>' $@46 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tBitfield); (yyval.pTypeDecl)->argNames = *(yyvsp[-2].pNameList); @@ -9367,55 +9393,55 @@ YYLTYPE yylloc = yyloc_default; } break; - case 668: /* table_type_pair: type_declaration */ + case 672: /* table_type_pair: type_declaration */ { (yyval.aTypePair).firstType = (yyvsp[0].pTypeDecl); (yyval.aTypePair).secondType = new TypeDecl(Type::tVoid); } break; - case 669: /* table_type_pair: type_declaration c_or_s type_declaration */ + case 673: /* table_type_pair: type_declaration c_or_s type_declaration */ { (yyval.aTypePair).firstType = (yyvsp[-2].pTypeDecl); (yyval.aTypePair).secondType = (yyvsp[0].pTypeDecl); } break; - case 670: /* dim_list: '[' expr ']' */ + case 674: /* dim_list: '[' expr ']' */ { (yyval.pTypeDecl) = new TypeDecl(Type::autoinfer); appendDimExpr((yyval.pTypeDecl), (yyvsp[-1].pExpression)); } break; - case 671: /* dim_list: '[' ']' */ + case 675: /* dim_list: '[' ']' */ { (yyval.pTypeDecl) = new TypeDecl(Type::autoinfer); appendDimExpr((yyval.pTypeDecl), nullptr); } break; - case 672: /* dim_list: dim_list '[' expr ']' */ + case 676: /* dim_list: dim_list '[' expr ']' */ { (yyval.pTypeDecl) = (yyvsp[-3].pTypeDecl); appendDimExpr((yyval.pTypeDecl), (yyvsp[-1].pExpression)); } break; - case 673: /* dim_list: dim_list '[' ']' */ + case 677: /* dim_list: dim_list '[' ']' */ { (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); appendDimExpr((yyval.pTypeDecl), nullptr); } break; - case 674: /* type_declaration_no_options: type_declaration_no_options_no_dim */ + case 678: /* type_declaration_no_options: type_declaration_no_options_no_dim */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); } break; - case 675: /* type_declaration_no_options: type_declaration_no_options_no_dim dim_list */ + case 679: /* 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])), @@ -9433,38 +9459,38 @@ YYLTYPE yylloc = yyloc_default; } break; - case 676: /* type_declaration_no_options_no_dim: basic_type_declaration */ + case 680: /* 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 677: /* type_declaration_no_options_no_dim: auto_type_declaration */ + case 681: /* type_declaration_no_options_no_dim: auto_type_declaration */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); } break; - case 678: /* type_declaration_no_options_no_dim: bitfield_type_declaration */ + case 682: /* type_declaration_no_options_no_dim: bitfield_type_declaration */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); } break; - case 679: /* type_declaration_no_options_no_dim: structure_type_declaration */ + case 683: /* type_declaration_no_options_no_dim: structure_type_declaration */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); } break; - case 680: /* $@46: %empty */ + case 684: /* $@47: %empty */ { yyextra->das_arrow_depth ++; } break; - case 681: /* $@47: %empty */ + case 685: /* $@48: %empty */ { yyextra->das_arrow_depth --; } break; - case 682: /* type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration '>' $@47 */ + case 686: /* type_declaration_no_options_no_dim: "type" '<' $@47 type_declaration '>' $@48 */ { (yyvsp[-2].pTypeDecl)->autoToAlias = true; (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); } break; - case 683: /* type_declaration_no_options_no_dim: "typedecl" '(' expr ')' */ + case 687: /* type_declaration_no_options_no_dim: "typedecl" '(' expr ')' */ { (yyval.pTypeDecl) = new TypeDecl(Type::typeDecl); (yyval.pTypeDecl)->at = tokRangeAt(scanner,(yylsp[-3]),(yylsp[-1])); @@ -9472,7 +9498,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 684: /* type_declaration_no_options_no_dim: '$' name_in_namespace '(' optional_expr_list ')' */ + case 688: /* 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])); @@ -9482,11 +9508,11 @@ YYLTYPE yylloc = yyloc_default; } break; - case 685: /* $@48: %empty */ + case 689: /* $@49: %empty */ { yyextra->das_arrow_depth ++; } break; - case 686: /* type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' */ + case 690: /* type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@49 type_declaration_no_options_list '>' '(' optional_expr_list ')' */ { (yyval.pTypeDecl) = new TypeDecl(Type::typeMacro); (yyval.pTypeDecl)->at = tokRangeAt(scanner,(yylsp[-7]), (yylsp[-1])); @@ -9496,21 +9522,21 @@ YYLTYPE yylloc = yyloc_default; } break; - case 687: /* 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[-3].pTypeDecl)->removeDim = true; (yyval.pTypeDecl) = (yyvsp[-3].pTypeDecl); } break; - case 688: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "explicit" */ + case 692: /* 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 689: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "const" */ + case 693: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "const" */ { (yyvsp[-1].pTypeDecl)->constant = true; (yyvsp[-1].pTypeDecl)->removeConstant = false; @@ -9518,7 +9544,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 690: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' "const" */ + case 694: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' "const" */ { (yyvsp[-2].pTypeDecl)->constant = false; (yyvsp[-2].pTypeDecl)->removeConstant = true; @@ -9526,7 +9552,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 691: /* 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[-1].pTypeDecl)->ref = true; (yyvsp[-1].pTypeDecl)->removeRef = false; @@ -9534,7 +9560,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 692: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '&' */ + case 696: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '&' */ { (yyvsp[-2].pTypeDecl)->ref = false; (yyvsp[-2].pTypeDecl)->removeRef = true; @@ -9542,21 +9568,21 @@ YYLTYPE yylloc = yyloc_default; } break; - case 693: /* 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 '#' */ { (yyval.pTypeDecl) = (yyvsp[-1].pTypeDecl); (yyval.pTypeDecl)->temporary = true; } break; - case 694: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "implicit" */ + case 698: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "implicit" */ { (yyval.pTypeDecl) = (yyvsp[-1].pTypeDecl); (yyval.pTypeDecl)->implicit = true; } break; - case 695: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '#' */ + case 699: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '#' */ { (yyvsp[-2].pTypeDecl)->temporary = false; (yyvsp[-2].pTypeDecl)->removeTemporary = true; @@ -9564,21 +9590,21 @@ YYLTYPE yylloc = yyloc_default; } break; - case 696: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" "const" */ + case 700: /* 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 697: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" '&' */ + case 701: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" '&' */ { (yyvsp[-2].pTypeDecl)->explicitRef = true; (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); } break; - case 698: /* 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])); @@ -9586,15 +9612,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 699: /* $@49: %empty */ + case 703: /* $@50: %empty */ { yyextra->das_arrow_depth ++; } break; - case 700: /* $@50: %empty */ + case 704: /* $@51: %empty */ { yyextra->das_arrow_depth --; } break; - case 701: /* type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration '>' $@50 */ + case 705: /* type_declaration_no_options_no_dim: "smart_ptr" '<' $@50 type_declaration '>' $@51 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tPointer); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9603,7 +9629,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 702: /* type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "??" */ + case 706: /* 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])); @@ -9613,15 +9639,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 703: /* $@51: %empty */ + case 707: /* $@52: %empty */ { yyextra->das_arrow_depth ++; } break; - case 704: /* $@52: %empty */ + case 708: /* $@53: %empty */ { yyextra->das_arrow_depth --; } break; - case 705: /* type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration '>' $@52 */ + case 709: /* type_declaration_no_options_no_dim: "array" '<' $@52 type_declaration '>' $@53 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tArray); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9629,15 +9655,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 706: /* $@53: %empty */ + case 710: /* $@54: %empty */ { yyextra->das_arrow_depth ++; } break; - case 707: /* $@54: %empty */ + case 711: /* $@55: %empty */ { yyextra->das_arrow_depth --; } break; - case 708: /* type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair '>' $@54 */ + case 712: /* type_declaration_no_options_no_dim: "table" '<' $@54 table_type_pair '>' $@55 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tTable); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9646,15 +9672,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 709: /* $@55: %empty */ + case 713: /* $@56: %empty */ { yyextra->das_arrow_depth ++; } break; - case 710: /* $@56: %empty */ + case 714: /* $@57: %empty */ { yyextra->das_arrow_depth --; } break; - case 711: /* type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration '>' $@56 */ + case 715: /* type_declaration_no_options_no_dim: "iterator" '<' $@56 type_declaration '>' $@57 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tIterator); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9662,22 +9688,22 @@ YYLTYPE yylloc = yyloc_default; } break; - case 712: /* type_declaration_no_options_no_dim: "block" */ + case 716: /* type_declaration_no_options_no_dim: "block" */ { (yyval.pTypeDecl) = new TypeDecl(Type::tBlock); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[0])); } break; - case 713: /* $@57: %empty */ + case 717: /* $@58: %empty */ { yyextra->das_arrow_depth ++; } break; - case 714: /* $@58: %empty */ + case 718: /* $@59: %empty */ { yyextra->das_arrow_depth --; } break; - case 715: /* type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration '>' $@58 */ + case 719: /* type_declaration_no_options_no_dim: "block" '<' $@58 type_declaration '>' $@59 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tBlock); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9685,15 +9711,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 716: /* $@59: %empty */ + case 720: /* $@60: %empty */ { yyextra->das_arrow_depth ++; } break; - case 717: /* $@60: %empty */ + case 721: /* $@61: %empty */ { yyextra->das_arrow_depth --; } break; - case 718: /* type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type '>' $@60 */ + case 722: /* type_declaration_no_options_no_dim: "block" '<' $@60 optional_function_argument_list optional_function_type '>' $@61 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tBlock); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-6])); @@ -9705,22 +9731,22 @@ YYLTYPE yylloc = yyloc_default; } break; - case 719: /* type_declaration_no_options_no_dim: "function" */ + case 723: /* type_declaration_no_options_no_dim: "function" */ { (yyval.pTypeDecl) = new TypeDecl(Type::tFunction); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[0])); } break; - case 720: /* $@61: %empty */ + case 724: /* $@62: %empty */ { yyextra->das_arrow_depth ++; } break; - case 721: /* $@62: %empty */ + case 725: /* $@63: %empty */ { yyextra->das_arrow_depth --; } break; - case 722: /* type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration '>' $@62 */ + case 726: /* type_declaration_no_options_no_dim: "function" '<' $@62 type_declaration '>' $@63 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tFunction); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9728,15 +9754,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 723: /* $@63: %empty */ + case 727: /* $@64: %empty */ { yyextra->das_arrow_depth ++; } break; - case 724: /* $@64: %empty */ + case 728: /* $@65: %empty */ { yyextra->das_arrow_depth --; } break; - case 725: /* type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type '>' $@64 */ + case 729: /* type_declaration_no_options_no_dim: "function" '<' $@64 optional_function_argument_list optional_function_type '>' $@65 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tFunction); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-6])); @@ -9748,22 +9774,22 @@ YYLTYPE yylloc = yyloc_default; } break; - case 726: /* type_declaration_no_options_no_dim: "lambda" */ + case 730: /* type_declaration_no_options_no_dim: "lambda" */ { (yyval.pTypeDecl) = new TypeDecl(Type::tLambda); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[0])); } break; - case 727: /* $@65: %empty */ + case 731: /* $@66: %empty */ { yyextra->das_arrow_depth ++; } break; - case 728: /* $@66: %empty */ + case 732: /* $@67: %empty */ { yyextra->das_arrow_depth --; } break; - case 729: /* type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration '>' $@66 */ + case 733: /* type_declaration_no_options_no_dim: "lambda" '<' $@66 type_declaration '>' $@67 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tLambda); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9771,15 +9797,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 730: /* $@67: %empty */ + case 734: /* $@68: %empty */ { yyextra->das_arrow_depth ++; } break; - case 731: /* $@68: %empty */ + case 735: /* $@69: %empty */ { yyextra->das_arrow_depth --; } break; - case 732: /* type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type '>' $@68 */ + case 736: /* type_declaration_no_options_no_dim: "lambda" '<' $@68 optional_function_argument_list optional_function_type '>' $@69 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tLambda); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-6])); @@ -9791,15 +9817,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 733: /* $@69: %empty */ + case 737: /* $@70: %empty */ { yyextra->das_arrow_depth ++; } break; - case 734: /* $@70: %empty */ + case 738: /* $@71: %empty */ { yyextra->das_arrow_depth --; } break; - case 735: /* type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list '>' $@70 */ + case 739: /* type_declaration_no_options_no_dim: "tuple" '<' $@70 tuple_type_list '>' $@71 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tTuple); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9808,15 +9834,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 736: /* $@71: %empty */ + case 740: /* $@72: %empty */ { yyextra->das_arrow_depth ++; } break; - case 737: /* $@72: %empty */ + case 741: /* $@73: %empty */ { yyextra->das_arrow_depth --; } break; - case 738: /* type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list '>' $@72 */ + case 742: /* type_declaration_no_options_no_dim: "variant" '<' $@72 variant_type_list '>' $@73 */ { (yyval.pTypeDecl) = new TypeDecl(Type::tVariant); (yyval.pTypeDecl)->at = tokAt(scanner,(yylsp[-5])); @@ -9825,13 +9851,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 739: /* type_declaration: type_declaration_no_options */ + case 743: /* type_declaration: type_declaration_no_options */ { (yyval.pTypeDecl) = (yyvsp[0].pTypeDecl); } break; - case 740: /* type_declaration: type_declaration '|' type_declaration_no_options */ + case 744: /* type_declaration: type_declaration '|' type_declaration_no_options */ { if ( (yyvsp[-2].pTypeDecl)->baseType==Type::option ) { (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); @@ -9845,7 +9871,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 741: /* type_declaration: type_declaration '|' '#' */ + case 745: /* type_declaration: type_declaration '|' '#' */ { if ( (yyvsp[-2].pTypeDecl)->baseType==Type::option ) { (yyval.pTypeDecl) = (yyvsp[-2].pTypeDecl); @@ -9861,13 +9887,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 742: /* $@73: %empty */ + case 746: /* $@74: %empty */ { yyextra->push_nesteds(DAS_EMIT_SEMICOLON); } break; - case 743: /* $@74: %empty */ + case 747: /* $@75: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-1])); @@ -9876,7 +9902,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 744: /* $@75: %empty */ + case 748: /* $@76: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-3])); @@ -9885,7 +9911,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 745: /* $@76: %empty */ + case 749: /* $@77: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-6])); @@ -9895,7 +9921,7 @@ YYLTYPE yylloc = yyloc_default; } break; - 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 '}' */ + case 750: /* tuple_alias_declaration: "tuple" $@74 optional_public_or_private_alias "name" optional_emit_semis $@75 '{' $@76 tuple_alias_type_list optional_semis $@77 '}' */ { auto vtype = make_smart(Type::tTuple); vtype->alias = *(yyvsp[-8].s); @@ -9915,13 +9941,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 747: /* $@77: %empty */ + case 751: /* $@78: %empty */ { yyextra->push_nesteds(DAS_EMIT_SEMICOLON); } break; - case 748: /* $@78: %empty */ + case 752: /* $@79: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-1])); @@ -9930,7 +9956,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 749: /* $@79: %empty */ + case 753: /* $@80: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-3])); @@ -9940,7 +9966,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 750: /* $@80: %empty */ + case 754: /* $@81: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-6])); @@ -9950,7 +9976,7 @@ YYLTYPE yylloc = yyloc_default; } break; - 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 '}' */ + case 755: /* variant_alias_declaration: "variant" $@78 optional_public_or_private_alias "name" optional_emit_semis $@79 '{' $@80 variant_alias_type_list optional_semis $@81 '}' */ { auto vtype = make_smart(Type::tVariant); vtype->alias = *(yyvsp[-8].s); @@ -9970,13 +9996,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 752: /* $@81: %empty */ + case 756: /* $@82: %empty */ { yyextra->push_nesteds(DAS_EMIT_COMMA); } break; - case 753: /* $@82: %empty */ + case 757: /* $@83: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-1])); @@ -9985,7 +10011,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 754: /* $@83: %empty */ + case 758: /* $@84: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-3])); @@ -9994,7 +10020,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 755: /* $@84: %empty */ + case 759: /* $@85: %empty */ { if ( !yyextra->g_CommentReaders.empty() ) { auto atvname = tokAt(scanner,(yylsp[-6])); @@ -10004,7 +10030,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 756: /* bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' */ + case 760: /* bitfield_alias_declaration: "bitfield" $@82 optional_public_or_private_alias "name" optional_emit_commas $@83 '{' $@84 bitfield_alias_bits optional_commas $@85 '}' */ { auto btype = make_smart(Type::tBitfield); btype->alias = *(yyvsp[-8].s); @@ -10028,27 +10054,27 @@ YYLTYPE yylloc = yyloc_default; } break; - case 757: /* make_decl: make_struct_decl */ + case 761: /* make_decl: make_struct_decl */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 758: /* make_decl: make_dim_decl */ + case 762: /* make_decl: make_dim_decl */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 759: /* make_decl: make_table_decl */ + case 763: /* make_decl: make_table_decl */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 760: /* make_decl: array_comprehension */ + case 764: /* make_decl: array_comprehension */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 761: /* make_decl: make_tuple_call */ + case 765: /* make_decl: make_tuple_call */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 762: /* make_struct_fields: "name" copy_or_move expr */ + case 766: /* 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); @@ -10058,7 +10084,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 763: /* make_struct_fields: "name" ":=" expr */ + case 767: /* 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); @@ -10068,7 +10094,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 764: /* make_struct_fields: make_struct_fields ',' "name" copy_or_move expr */ + case 768: /* 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); @@ -10077,7 +10103,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 765: /* make_struct_fields: make_struct_fields ',' "name" ":=" expr */ + case 769: /* 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); @@ -10086,7 +10112,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 766: /* make_struct_fields: "$f" '(' expr ')' copy_or_move expr */ + case 770: /* 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)); @@ -10096,7 +10122,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 767: /* make_struct_fields: "$f" '(' expr ')' ":=" expr */ + case 771: /* 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)); @@ -10106,7 +10132,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 768: /* make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' copy_or_move expr */ + case 772: /* 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)); @@ -10115,7 +10141,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 769: /* make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' ":=" expr */ + case 773: /* 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)); @@ -10124,13 +10150,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 770: /* make_variant_dim: make_struct_fields */ + case 774: /* make_variant_dim: make_struct_fields */ { (yyval.pExpression) = ast_makeStructToMakeVariant((yyvsp[0].pMakeStruct), tokAt(scanner,(yylsp[0]))); } break; - case 771: /* make_struct_single: make_struct_fields */ + case 775: /* make_struct_single: make_struct_fields */ { auto msd = new ExprMakeStruct(); msd->structs.push_back(MakeStructPtr((yyvsp[0].pMakeStruct))); @@ -10138,7 +10164,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 772: /* make_struct_dim_list: '(' make_struct_fields ')' */ + case 776: /* make_struct_dim_list: '(' make_struct_fields ')' */ { auto msd = new ExprMakeStruct(); msd->structs.push_back(MakeStructPtr((yyvsp[-1].pMakeStruct))); @@ -10146,14 +10172,14 @@ YYLTYPE yylloc = yyloc_default; } break; - case 773: /* make_struct_dim_list: make_struct_dim_list ',' '(' make_struct_fields ')' */ + case 777: /* 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 774: /* make_struct_dim_decl: make_struct_fields */ + case 778: /* make_struct_dim_decl: make_struct_fields */ { auto msd = new ExprMakeStruct(); msd->structs.push_back(MakeStructPtr((yyvsp[0].pMakeStruct))); @@ -10161,37 +10187,37 @@ YYLTYPE yylloc = yyloc_default; } break; - case 775: /* make_struct_dim_decl: make_struct_dim_list optional_comma */ + case 779: /* make_struct_dim_decl: make_struct_dim_list optional_comma */ { (yyval.pExpression) = (yyvsp[-1].pExpression); } break; - case 776: /* optional_make_struct_dim_decl: make_struct_dim_decl */ + case 780: /* optional_make_struct_dim_decl: make_struct_dim_decl */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 777: /* optional_make_struct_dim_decl: %empty */ + case 781: /* optional_make_struct_dim_decl: %empty */ { (yyval.pExpression) = new ExprMakeStruct(); } break; - case 778: /* use_initializer: %empty */ + case 782: /* use_initializer: %empty */ { (yyval.b) = true; } break; - case 779: /* use_initializer: "uninitialized" */ + case 783: /* use_initializer: "uninitialized" */ { (yyval.b) = false; } break; - case 780: /* $@85: %empty */ + case 784: /* $@86: %empty */ { yyextra->das_arrow_depth ++; } break; - case 781: /* $@86: %empty */ + case 785: /* $@87: %empty */ { yyextra->das_arrow_depth --; } break; - case 782: /* make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' */ + case 786: /* make_struct_decl: "struct" '<' $@86 type_declaration_no_options '>' $@87 '(' use_initializer optional_make_struct_dim_decl ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-9])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-6].pTypeDecl)); @@ -10202,15 +10228,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 783: /* $@87: %empty */ + case 787: /* $@88: %empty */ { yyextra->das_arrow_depth ++; } break; - case 784: /* $@88: %empty */ + case 788: /* $@89: %empty */ { yyextra->das_arrow_depth --; } break; - case 785: /* make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' */ + case 789: /* make_struct_decl: "class" '<' $@88 type_declaration_no_options '>' $@89 '(' use_initializer optional_make_struct_dim_decl ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-9])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-6].pTypeDecl)); @@ -10220,15 +10246,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 786: /* $@89: %empty */ + case 790: /* $@90: %empty */ { yyextra->das_arrow_depth ++; } break; - case 787: /* $@90: %empty */ + case 791: /* $@91: %empty */ { yyextra->das_arrow_depth --; } break; - case 788: /* make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' */ + case 792: /* make_struct_decl: "variant" '<' $@90 type_declaration_no_options '>' $@91 '(' make_variant_dim ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-8])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-5].pTypeDecl)); @@ -10238,15 +10264,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 789: /* $@91: %empty */ + case 793: /* $@92: %empty */ { yyextra->das_arrow_depth ++; } break; - case 790: /* $@92: %empty */ + case 794: /* $@93: %empty */ { yyextra->das_arrow_depth --; } break; - case 791: /* make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' $@92 use_initializer */ + case 795: /* make_struct_decl: "default" '<' $@92 type_declaration_no_options '>' $@93 use_initializer */ { auto msd = new ExprMakeStruct(); msd->at = tokAt(scanner,(yylsp[-6])); @@ -10257,7 +10283,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 792: /* make_map_tuple: expr "=>" expr */ + case 796: /* make_map_tuple: expr "=>" expr */ { ExprMakeTuple * mt = new ExprMakeTuple(tokAt(scanner,(yylsp[-1]))); mt->values.push_back(ExpressionPtr((yyvsp[-2].pExpression))); @@ -10266,13 +10292,13 @@ YYLTYPE yylloc = yyloc_default; } break; - case 793: /* make_map_tuple: expr */ + case 797: /* make_map_tuple: expr */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 794: /* make_tuple_call: "tuple" '(' expr_list optional_comma ')' */ + case 798: /* make_tuple_call: "tuple" '(' expr_list optional_comma ')' */ { auto mkt = new ExprMakeTuple(tokAt(scanner,(yylsp[-4]))); mkt->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10281,15 +10307,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 795: /* $@93: %empty */ + case 799: /* $@94: %empty */ { yyextra->das_arrow_depth ++; } break; - case 796: /* $@94: %empty */ + case 800: /* $@95: %empty */ { yyextra->das_arrow_depth --; } break; - case 797: /* make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' */ + case 801: /* make_tuple_call: "tuple" '<' $@94 type_declaration_no_options '>' $@95 '(' use_initializer optional_make_struct_dim_decl ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-9])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-6].pTypeDecl)); @@ -10299,7 +10325,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 798: /* make_dim_decl: '[' expr_list optional_comma ']' */ + case 802: /* make_dim_decl: '[' expr_list optional_comma ']' */ { auto mka = make_smart(tokAt(scanner,(yylsp[-3]))); mka->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10311,15 +10337,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 799: /* $@95: %empty */ + case 803: /* $@96: %empty */ { yyextra->das_arrow_depth ++; } break; - case 800: /* $@96: %empty */ + case 804: /* $@97: %empty */ { yyextra->das_arrow_depth --; } break; - case 801: /* make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' */ + case 805: /* make_dim_decl: "array" "struct" '<' $@96 type_declaration_no_options '>' $@97 '(' use_initializer optional_make_struct_dim_decl ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-10])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-6].pTypeDecl)); @@ -10332,15 +10358,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 802: /* $@97: %empty */ + case 806: /* $@98: %empty */ { yyextra->das_arrow_depth ++; } break; - case 803: /* $@98: %empty */ + case 807: /* $@99: %empty */ { yyextra->das_arrow_depth --; } break; - case 804: /* make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' */ + case 808: /* make_dim_decl: "array" "tuple" '<' $@98 type_declaration_no_options '>' $@99 '(' use_initializer optional_make_struct_dim_decl ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-10])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-6].pTypeDecl)); @@ -10353,15 +10379,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 805: /* $@99: %empty */ + case 809: /* $@100: %empty */ { yyextra->das_arrow_depth ++; } break; - case 806: /* $@100: %empty */ + case 810: /* $@101: %empty */ { yyextra->das_arrow_depth --; } break; - case 807: /* make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' */ + case 811: /* make_dim_decl: "array" "variant" '<' $@100 type_declaration_no_options '>' $@101 '(' make_variant_dim ')' */ { (yyvsp[-1].pExpression)->at = tokAt(scanner,(yylsp[-9])); ((ExprMakeStruct *)(yyvsp[-1].pExpression))->makeType = TypeDeclPtr((yyvsp[-5].pTypeDecl)); @@ -10374,7 +10400,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 808: /* make_dim_decl: "array" '(' expr_list optional_comma ')' */ + case 812: /* make_dim_decl: "array" '(' expr_list optional_comma ')' */ { auto mka = make_smart(tokAt(scanner,(yylsp[-4]))); mka->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10386,15 +10412,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 809: /* $@101: %empty */ + case 813: /* $@102: %empty */ { yyextra->das_arrow_depth ++; } break; - case 810: /* $@102: %empty */ + case 814: /* $@103: %empty */ { yyextra->das_arrow_depth --; } break; - case 811: /* make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' */ + case 815: /* make_dim_decl: "array" '<' $@102 type_declaration_no_options '>' $@103 '(' optional_expr_list ')' */ { if ( (yyvsp[-1].pExpression) ) { auto mka = make_smart(tokAt(scanner,(yylsp[-8]))); @@ -10417,7 +10443,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 812: /* make_dim_decl: "fixed_array" '(' expr_list optional_comma ')' */ + case 816: /* make_dim_decl: "fixed_array" '(' expr_list optional_comma ')' */ { auto mka = new ExprMakeArray(tokAt(scanner,(yylsp[-4]))); mka->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10427,15 +10453,15 @@ YYLTYPE yylloc = yyloc_default; } break; - case 813: /* $@103: %empty */ + case 817: /* $@104: %empty */ { yyextra->das_arrow_depth ++; } break; - case 814: /* $@104: %empty */ + case 818: /* $@105: %empty */ { yyextra->das_arrow_depth --; } break; - case 815: /* make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' */ + case 819: /* make_dim_decl: "fixed_array" '<' $@104 type_declaration_no_options '>' $@105 '(' expr_list optional_comma ')' */ { auto mka = new ExprMakeArray(tokAt(scanner,(yylsp[-9]))); mka->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10445,19 +10471,19 @@ YYLTYPE yylloc = yyloc_default; } break; - case 816: /* expr_map_tuple_list: make_map_tuple */ + case 820: /* expr_map_tuple_list: make_map_tuple */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 817: /* expr_map_tuple_list: expr_map_tuple_list ',' make_map_tuple */ + case 821: /* 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 818: /* make_table_decl: '{' expr_map_tuple_list optional_comma '}' */ + case 822: /* make_table_decl: '{' expr_map_tuple_list optional_comma '}' */ { auto mka = make_smart(tokAt(scanner,(yylsp[-3]))); mka->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10468,7 +10494,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 819: /* make_table_decl: "table" '(' expr_map_tuple_list optional_comma ')' */ + case 823: /* make_table_decl: "table" '(' expr_map_tuple_list optional_comma ')' */ { auto mka = make_smart(tokAt(scanner,(yylsp[-4]))); mka->values = sequenceToList((yyvsp[-2].pExpression)); @@ -10479,7 +10505,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 820: /* make_table_decl: "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' */ + case 824: /* 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]))); @@ -10502,7 +10528,7 @@ YYLTYPE yylloc = yyloc_default; } break; - case 821: /* make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' */ + case 825: /* 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]))); @@ -10527,35 +10553,35 @@ YYLTYPE yylloc = yyloc_default; } break; - case 822: /* array_comprehension_where: %empty */ + case 826: /* array_comprehension_where: %empty */ { (yyval.pExpression) = nullptr; } break; - case 823: /* array_comprehension_where: ';' "where" expr */ + case 827: /* array_comprehension_where: ';' "where" expr */ { (yyval.pExpression) = (yyvsp[0].pExpression); } break; - case 824: /* optional_comma: %empty */ + case 828: /* optional_comma: %empty */ { (yyval.b) = false; } break; - case 825: /* optional_comma: ',' */ + case 829: /* optional_comma: ',' */ { (yyval.b) = true; } break; - case 826: /* array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' */ + case 830: /* 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 827: /* array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' */ + case 831: /* 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 828: /* array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' */ + case 832: /* 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.output b/src/parser/ds2_parser.output index b50196887..0ab6cde60 100644 --- a/src/parser/ds2_parser.output +++ b/src/parser/ds2_parser.output @@ -170,8 +170,8 @@ Grammar 111 annotation_argument_list: annotation_argument 112 | annotation_argument_list ',' annotation_argument - 113 metadata_argument_list: '@' annotation_argument - 114 | metadata_argument_list '@' annotation_argument + 113 metadata_argument_list: '@' annotation_argument optional_emit_semis + 114 | metadata_argument_list '@' annotation_argument optional_emit_semis 115 annotation_declaration_name: name_in_namespace 116 | "require" @@ -194,1167 +194,1173 @@ Grammar 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 + 131 optional_annotation_list_with_emit_semis: %empty + 132 | '[' annotation_list ']' optional_emit_semis + + 133 optional_function_argument_list: %empty + 134 | '(' ')' + 135 | '(' function_argument_list ')' + + 136 optional_function_type: %empty + 137 | ':' type_declaration + + 138 function_name: "name" + 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" '.' + 185 | "operator" "?." + 186 | "operator" '.' "name" + 187 | "operator" '.' "name" ":=" + 188 | "operator" "?." "name" + 189 | "operator" ":=" + 190 | "operator" "delete" + 191 | "operator" "??" + 192 | "operator" "is" + 193 | "operator" "as" + 194 | "operator" "is" "name" + 195 | "operator" "as" "name" + 196 | "operator" '?' "as" + 197 | "operator" '?' "as" "name" + 198 | "bool" + 199 | "string" + 200 | "int" + 201 | "int2" + 202 | "int3" + 203 | "int4" + 204 | "uint" + 205 | "uint2" + 206 | "uint3" + 207 | "uint4" + 208 | "float" + 209 | "float2" + 210 | "float3" + 211 | "float4" + 212 | "range" + 213 | "urange" + 214 | "range64" + 215 | "urange64" + 216 | "int64" + 217 | "uint64" + 218 | "double" + 219 | "int8" + 220 | "uint8" + 221 | "int16" + 222 | "uint16" + + 223 global_function_declaration: optional_annotation_list "def" function_declaration + + 224 optional_public_or_private_function: %empty + 225 | "private" + 226 | "public" + + 227 function_declaration_header: function_name optional_function_argument_list optional_function_type + + 228 $@6: %empty + + 229 function_declaration: optional_public_or_private_function $@6 function_declaration_header expression_block + + 230 expression_block_finally: %empty + + 231 $@7: %empty + + 232 $@8: %empty + + 233 expression_block_finally: "finally" $@7 '{' expressions $@8 '}' + + 234 $@9: %empty + + 235 $@10: %empty + + 236 expression_block: $@9 '{' expressions $@10 '}' expression_block_finally + + 237 expr_call_pipe: expr_call expr_full_block_assumed_piped + + 238 expression_any: SEMICOLON + 239 | expr_assign SEMICOLON + 240 | expression_delete SEMICOLON + 241 | expression_let + 242 | expression_while_loop + 243 | expression_unsafe + 244 | expression_with + 245 | expression_with_alias SEMICOLON + 246 | expression_for_loop + 247 | expression_break SEMICOLON + 248 | expression_continue SEMICOLON + 249 | expression_return SEMICOLON + 250 | expression_yield SEMICOLON + 251 | expression_if_then_else + 252 | expression_if_then_else_oneliner + 253 | expression_try_catch + 254 | expression_label SEMICOLON + 255 | expression_goto SEMICOLON + 256 | "pass" SEMICOLON - 255 expressions: %empty - 256 | expressions expression_any - 257 | expressions error + 257 expressions: %empty + 258 | expressions expression_any + 259 | expressions error - 258 optional_expr_list: %empty - 259 | expr_list optional_comma + 260 optional_expr_list: %empty + 261 | expr_list optional_comma - 260 optional_expr_map_tuple_list: %empty - 261 | expr_map_tuple_list optional_comma + 262 optional_expr_map_tuple_list: %empty + 263 | expr_map_tuple_list optional_comma - 262 type_declaration_no_options_list: type_declaration - 263 | type_declaration_no_options_list c_or_s type_declaration + 264 type_declaration_no_options_list: type_declaration + 265 | type_declaration_no_options_list c_or_s type_declaration - 264 name_in_namespace: "name" - 265 | "name" "::" "name" - 266 | "::" "name" + 266 name_in_namespace: "name" + 267 | "name" "::" "name" + 268 | "::" "name" - 267 expression_delete: "delete" expr - 268 | "delete" "explicit" expr + 269 expression_delete: "delete" expr + 270 | "delete" "explicit" expr - 269 $@11: %empty + 271 $@11: %empty - 270 $@12: %empty + 272 $@12: %empty - 271 new_type_declaration: '<' $@11 type_declaration '>' $@12 - 272 | structure_type_declaration + 273 new_type_declaration: '<' $@11 type_declaration '>' $@12 + 274 | structure_type_declaration - 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 + 275 expr_new: "new" new_type_declaration + 276 | "new" new_type_declaration '(' use_initializer ')' + 277 | "new" new_type_declaration '(' expr_list ')' + 278 | "new" new_type_declaration '(' make_struct_single ')' + 279 | "new" new_type_declaration '(' "uninitialized" make_struct_single ')' + 280 | "new" make_decl - 279 expression_break: "break" + 281 expression_break: "break" - 280 expression_continue: "continue" + 282 expression_continue: "continue" - 281 expression_return: "return" - 282 | "return" expr - 283 | "return" "<-" expr + 283 expression_return: "return" + 284 | "return" expr + 285 | "return" "<-" expr - 284 expression_yield: "yield" expr - 285 | "yield" "<-" expr + 286 expression_yield: "yield" expr + 287 | "yield" "<-" expr - 286 expression_try_catch: "try" expression_block "recover" expression_block + 288 expression_try_catch: "try" expression_block "recover" expression_block - 287 kwd_let_var_or_nothing: "let" - 288 | "var" - 289 | %empty + 289 kwd_let_var_or_nothing: "let" + 290 | "var" + 291 | %empty - 290 kwd_let: "let" - 291 | "var" + 292 kwd_let: "let" + 293 | "var" - 292 optional_in_scope: "inscope" - 293 | %empty + 294 optional_in_scope: "inscope" + 295 | %empty - 294 tuple_expansion: "name" - 295 | tuple_expansion ',' "name" + 296 tuple_expansion: "name" + 297 | 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 + 298 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + 299 | '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr SEMICOLON - 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 '}' + 300 expression_let: kwd_let optional_in_scope let_variable_declaration + 301 | kwd_let optional_in_scope tuple_expansion_variable_declaration + 302 | kwd_let optional_in_scope '{' variable_declaration_list '}' - 301 $@13: %empty + 303 $@13: %empty - 302 $@14: %empty + 304 $@14: %empty - 303 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 expr + 305 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 expr - 304 $@15: %empty + 306 $@15: %empty - 305 $@16: %empty + 307 $@16: %empty - 306 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 expr + 308 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 expr - 307 $@17: %empty + 309 $@17: %empty - 308 $@18: %empty + 310 $@18: %empty - 309 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 expr + 311 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 expr - 310 $@19: %empty + 312 $@19: %empty - 311 $@20: %empty + 313 $@20: %empty - 312 expr_type_decl: "type" '<' $@19 type_declaration '>' $@20 + 314 expr_type_decl: "type" '<' $@19 type_declaration '>' $@20 - 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 ')' + 315 expr_type_info: "typeinfo" name_in_namespace '(' expr ')' + 316 | "typeinfo" name_in_namespace '<' "name" '>' '(' expr ')' + 317 | "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' - 316 expr_list: expr - 317 | expr_list ',' expr + 318 expr_list: expr + 319 | expr_list ',' expr - 318 block_or_simple_block: expression_block - 319 | "=>" expr - 320 | "=>" "<-" expr + 320 block_or_simple_block: expression_block + 321 | "=>" expr + 322 | "=>" "<-" expr - 321 block_or_lambda: '$' - 322 | '@' - 323 | '@' '@' + 323 block_or_lambda: '$' + 324 | '@' + 325 | '@' '@' - 324 capture_entry: '&' "name" - 325 | '=' "name" - 326 | "<-" "name" - 327 | ":=" "name" - 328 | "name" '(' "name" ')' + 326 capture_entry: '&' "name" + 327 | '=' "name" + 328 | "<-" "name" + 329 | ":=" "name" + 330 | "name" '(' "name" ')' - 329 capture_list: capture_entry - 330 | capture_list ',' capture_entry + 331 capture_list: capture_entry + 332 | capture_list ',' capture_entry - 331 optional_capture_list: %empty - 332 | "capture" '(' capture_list ')' + 333 optional_capture_list: %empty + 334 | "capture" '(' capture_list ')' - 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 + 335 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 - 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 '}' + 336 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 + 337 | '{' expressions '}' - 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" + 338 expr_numeric_const: "integer constant" + 339 | "unsigned integer constant" + 340 | "long integer constant" + 341 | "unsigned long integer constant" + 342 | "unsigned int8 constant" + 343 | "floating point constant" + 344 | "double constant" - 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" + 345 expr_assign: 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 "<<<=" expr + 363 | expr ">>>=" expr + + 364 expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' ')' + 365 | name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' ')' + + 366 expr_method_call: expr "->" "name" '(' ')' + 367 | expr "->" "name" '(' expr_list ')' + + 368 func_addr_name: name_in_namespace + 369 | "$i" '(' expr ')' + + 370 func_addr_expr: '@' '@' func_addr_name + + 371 $@21: %empty + + 372 $@22: %empty + + 373 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name + + 374 $@23: %empty + + 375 $@24: %empty + + 376 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name + + 377 expr_field: expr '.' "name" + 378 | expr '.' '.' "name" + 379 | expr '.' "name" '(' ')' + 380 | expr '.' "name" '(' expr_list ')' + 381 | expr '.' basic_type_declaration '(' ')' + 382 | expr '.' basic_type_declaration '(' expr_list ')' + + 383 $@25: %empty + + 384 $@26: %empty + + 385 expr_field: expr '.' $@25 error $@26 + + 386 expr_call: name_in_namespace '(' ')' + 387 | name_in_namespace '(' "uninitialized" ')' + 388 | name_in_namespace '(' make_struct_single ')' + 389 | name_in_namespace '(' "uninitialized" make_struct_single ')' + 390 | name_in_namespace '(' expr_list ')' + 391 | basic_type_declaration '(' ')' + 392 | basic_type_declaration '(' expr_list ')' + + 393 expr: "null" + 394 | name_in_namespace + 395 | expr_numeric_const + 396 | expr_reader + 397 | string_builder + 398 | make_decl + 399 | "true" + 400 | "false" + 401 | expr_field + 402 | expr_mtag + 403 | '!' expr + 404 | '~' expr + 405 | '+' expr + 406 | '-' 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 "^^" expr + 428 | expr ".." expr + 429 | "++" expr + 430 | "--" expr + 431 | expr "++" + 432 | expr "--" + 433 | '(' expr_list optional_comma ')' + 434 | expr '[' expr ']' + 435 | expr '.' '[' expr ']' + 436 | expr "?[" expr ']' + 437 | expr '.' "?[" expr ']' + 438 | expr "?." "name" + 439 | expr '.' "?." "name" + 440 | func_addr_expr + 441 | expr_call + 442 | '*' expr + 443 | "deref" '(' expr ')' + 444 | "addr" '(' expr ')' + 445 | expr_generator + 446 | expr "??" expr + 447 | expr '?' expr ':' expr + + 448 $@27: %empty + + 449 $@28: %empty + + 450 expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr "is" basic_type_declaration + 452 | expr "is" "name" + 453 | expr "as" "name" + + 454 $@29: %empty + + 455 $@30: %empty + + 456 expr: expr "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr "as" basic_type_declaration + 458 | expr '?' "as" "name" + + 459 $@31: %empty + + 460 $@32: %empty + + 461 expr: expr '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr '?' "as" basic_type_declaration + 463 | expr_type_info + 464 | expr_type_decl + 465 | expr_cast + 466 | expr_new + 467 | expr_method_call + 468 | expr_named_call + 469 | expr_full_block + 470 | expr "<|" expr + 471 | expr "|>" expr + 472 | expr "|>" basic_type_declaration + 473 | expr_call_pipe + 474 | "unsafe" '(' expr ')' + + 475 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' ')' + 476 | "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' + 477 | "generator" '<' type_declaration_no_options '>' optional_capture_list optional_emit_semis expression_block + + 478 expr_mtag: "$$" '(' expr ')' + 479 | "$i" '(' expr ')' + 480 | "$v" '(' expr ')' + 481 | "$b" '(' expr ')' + 482 | "$a" '(' expr ')' + 483 | "..." + 484 | "$c" '(' expr ')' '(' ')' + 485 | "$c" '(' expr ')' '(' expr_list ')' + 486 | expr '.' "$f" '(' expr ')' + 487 | expr "?." "$f" '(' expr ')' + 488 | expr '.' '.' "$f" '(' expr ')' + 489 | expr '.' "?." "$f" '(' expr ')' + 490 | expr "as" "$f" '(' expr ')' + 491 | expr '?' "as" "$f" '(' expr ')' + 492 | expr "is" "$f" '(' expr ')' + 493 | '@' '@' "$c" '(' expr ')' + + 494 optional_field_annotation: %empty + 495 | metadata_argument_list + + 496 optional_override: %empty + 497 | "override" + 498 | "sealed" + + 499 optional_constant: %empty + 500 | "const" + + 501 optional_public_or_private_member_variable: %empty + 502 | "public" + 503 | "private" + + 504 optional_static_member_variable: %empty + 505 | "static" - 504 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration + 506 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration - 505 struct_variable_declaration_list: %empty + 507 struct_variable_declaration_list: %empty + 508 | struct_variable_declaration_list "emitted ;" - 506 $@33: %empty + 509 $@33: %empty - 507 struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration ';' + 510 struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration SEMICOLON - 508 $@34: %empty + 511 $@34: %empty - 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 ';' + 512 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header SEMICOLON - 510 $@35: %empty + 513 $@35: %empty - 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 + 514 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header optional_emit_semis expression_block - 512 function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing variable_declaration - 513 | "$a" '(' expr ')' + 515 function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing variable_declaration + 516 | "$a" '(' expr ')' - 514 function_argument_list: function_argument_declaration - 515 | function_argument_list ';' function_argument_declaration + 517 function_argument_list: function_argument_declaration + 518 | function_argument_list ';' function_argument_declaration - 516 tuple_type: type_declaration - 517 | "name" ':' type_declaration + 519 tuple_type: type_declaration + 520 | "name" ':' type_declaration - 518 tuple_type_list: tuple_type - 519 | tuple_type_list c_or_s tuple_type + 521 tuple_type_list: tuple_type + 522 | tuple_type_list c_or_s tuple_type - 520 tuple_alias_type_list: %empty - 521 | tuple_type - 522 | tuple_alias_type_list semis tuple_type + 523 tuple_alias_type_list: %empty + 524 | tuple_type + 525 | tuple_alias_type_list semis tuple_type - 523 variant_type: "name" ':' type_declaration + 526 variant_type: "name" ':' type_declaration - 524 variant_type_list: variant_type - 525 | variant_type_list c_or_s variant_type + 527 variant_type_list: variant_type + 528 | variant_type_list c_or_s variant_type - 526 variant_alias_type_list: %empty - 527 | variant_type - 528 | variant_alias_type_list semis variant_type + 529 variant_alias_type_list: %empty + 530 | variant_type + 531 | variant_alias_type_list semis variant_type - 529 copy_or_move: '=' - 530 | "<-" + 532 copy_or_move: '=' + 533 | "<-" - 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 + 534 variable_declaration: variable_name_with_pos_list + 535 | variable_name_with_pos_list '&' + 536 | variable_name_with_pos_list ':' type_declaration + 537 | variable_name_with_pos_list ':' type_declaration copy_or_move expr + 538 | variable_name_with_pos_list copy_or_move expr - 536 copy_or_move_or_clone: '=' - 537 | "<-" - 538 | ":=" + 539 copy_or_move_or_clone: '=' + 540 | "<-" + 541 | ":=" - 539 optional_ref: %empty - 540 | '&' + 542 optional_ref: %empty + 543 | '&' - 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" + 544 let_variable_name_with_pos_list: "name" + 545 | "$i" '(' expr ')' + 546 | "name" "aka" "name" + 547 | let_variable_name_with_pos_list ',' "name" + 548 | let_variable_name_with_pos_list ',' "name" "aka" "name" - 546 global_let_variable_name_with_pos_list: "name" - 547 | global_let_variable_name_with_pos_list ',' "name" + 549 global_let_variable_name_with_pos_list: "name" + 550 | global_let_variable_name_with_pos_list ',' "name" - 548 variable_declaration_list: %empty - 549 | variable_declaration_list ';' - 550 | variable_declaration_list let_variable_declaration + 551 variable_declaration_list: %empty + 552 | variable_declaration_list ';' + 553 | variable_declaration_list let_variable_declaration - 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 + 554 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options SEMICOLON + 555 | let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + 556 | let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr SEMICOLON - 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_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options ';' + 558 | global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr ';' + 559 | global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' - 557 optional_shared: %empty - 558 | "shared" + 560 optional_shared: %empty + 561 | "shared" - 559 optional_public_or_private_variable: %empty - 560 | "private" - 561 | "public" + 562 optional_public_or_private_variable: %empty + 563 | "private" + 564 | "public" - 562 global_variable_declaration_list: %empty - 563 | global_variable_declaration_list ';' + 565 global_variable_declaration_list: %empty + 566 | global_variable_declaration_list ';' - 564 $@36: %empty + 567 $@36: %empty - 565 global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation let_variable_declaration + 568 global_variable_declaration_list: 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 '}' + 569 global_let: kwd_let optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' - 567 $@37: %empty + 570 $@37: %empty - 568 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration + 571 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration - 569 enum_expression: "name" - 570 | "name" '=' expr + 572 enum_expression: "name" + 573 | "name" '=' expr - 571 commas: COMMA - 572 | commas COMMA + 574 commas: COMMA + 575 | commas COMMA - 573 enum_list: %empty - 574 | enum_expression - 575 | enum_list commas enum_expression + 576 enum_list: %empty + 577 | enum_expression + 578 | enum_list commas enum_expression - 576 optional_public_or_private_alias: %empty - 577 | "private" - 578 | "public" + 579 optional_public_or_private_alias: %empty + 580 | "private" + 581 | "public" - 579 $@38: %empty + 582 $@38: %empty - 580 single_alias: optional_public_or_private_alias "name" $@38 '=' type_declaration + 583 single_alias: optional_public_or_private_alias "name" $@38 '=' type_declaration - 581 alias_declaration: "typedef" single_alias ';' + 584 alias_declaration: "typedef" single_alias ';' - 582 optional_public_or_private_enum: %empty - 583 | "private" - 584 | "public" + 585 optional_public_or_private_enum: %empty + 586 | "private" + 587 | "public" - 585 enum_name: "name" + 588 enum_name: "name" - 586 optional_enum_basic_type_declaration: %empty - 587 | ':' enum_basic_type_declaration + 589 optional_enum_basic_type_declaration: %empty + 590 | ':' enum_basic_type_declaration - 588 optional_commas: %empty - 589 | commas + 591 optional_commas: %empty + 592 | commas - 590 emit_commas: "emitted ," - 591 | emit_commas "emitted ," + 593 emit_commas: "emitted ," + 594 | emit_commas "emitted ," - 592 optional_emit_commas: %empty - 593 | emit_commas + 595 optional_emit_commas: %empty + 596 | emit_commas - 594 $@39: %empty + 597 $@39: %empty - 595 $@40: %empty + 598 $@40: %empty - 596 $@41: %empty + 599 $@41: %empty - 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 '}' + 600 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 optional_structure_parent: %empty - 599 | ':' name_in_namespace + 601 optional_structure_parent: %empty + 602 | ':' name_in_namespace - 600 optional_sealed: %empty - 601 | "sealed" + 603 optional_sealed: %empty + 604 | "sealed" - 602 structure_name: optional_sealed "name" optional_structure_parent + 605 structure_name: optional_sealed "name" optional_structure_parent - 603 class_or_struct: "class" - 604 | "struct" + 606 class_or_struct: "class" + 607 | "struct" - 605 optional_public_or_private_structure: %empty - 606 | "private" - 607 | "public" + 608 optional_public_or_private_structure: %empty + 609 | "private" + 610 | "public" - 608 optional_struct_variable_declaration_list: %empty - 609 | '{' struct_variable_declaration_list '}' + 611 optional_struct_variable_declaration_list: %empty + 612 | '{' struct_variable_declaration_list '}' - 610 $@42: %empty + 613 $@42: %empty - 611 $@43: %empty + 614 $@43: %empty - 612 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 structure_name $@43 optional_struct_variable_declaration_list + 615 $@44: %empty - 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" + 616 structure_declaration: optional_annotation_list $@42 class_or_struct optional_public_or_private_structure $@43 structure_name optional_emit_semis $@44 optional_struct_variable_declaration_list - 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" + 617 variable_name_with_pos_list: "name" + 618 | "$i" '(' expr ')' + 619 | "name" "aka" "name" + 620 | variable_name_with_pos_list ',' "name" + 621 | variable_name_with_pos_list ',' "name" "aka" "name" - 645 enum_basic_type_declaration: "int" - 646 | "int8" - 647 | "int16" - 648 | "uint" - 649 | "uint8" - 650 | "uint16" - 651 | "int64" - 652 | "uint64" + 622 basic_type_declaration: "bool" + 623 | "string" + 624 | "int" + 625 | "int8" + 626 | "int16" + 627 | "int64" + 628 | "int2" + 629 | "int3" + 630 | "int4" + 631 | "uint" + 632 | "uint8" + 633 | "uint16" + 634 | "uint64" + 635 | "uint2" + 636 | "uint3" + 637 | "uint4" + 638 | "float" + 639 | "float2" + 640 | "float3" + 641 | "float4" + 642 | "void" + 643 | "range" + 644 | "urange" + 645 | "range64" + 646 | "urange64" + 647 | "double" + 648 | "bitfield" - 653 structure_type_declaration: name_in_namespace + 649 enum_basic_type_declaration: "int" + 650 | "int8" + 651 | "int16" + 652 | "uint" + 653 | "uint8" + 654 | "uint16" + 655 | "int64" + 656 | "uint64" - 654 auto_type_declaration: "auto" - 655 | "auto" '(' "name" ')' - 656 | "$t" '(' expr ')' + 657 structure_type_declaration: name_in_namespace - 657 bitfield_bits: "name" - 658 | bitfield_bits ';' "name" + 658 auto_type_declaration: "auto" + 659 | "auto" '(' "name" ')' + 660 | "$t" '(' expr ')' - 659 bitfield_alias_bits: %empty - 660 | "name" - 661 | bitfield_alias_bits commas "name" + 661 bitfield_bits: "name" + 662 | bitfield_bits ';' "name" - 662 $@44: %empty + 663 bitfield_alias_bits: %empty + 664 | "name" + 665 | bitfield_alias_bits commas "name" - 663 $@45: %empty + 666 $@45: %empty - 664 bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits '>' $@45 + 667 $@46: %empty - 665 c_or_s: COMMA - 666 | SEMICOLON + 668 bitfield_type_declaration: "bitfield" '<' $@45 bitfield_bits '>' $@46 - 667 table_type_pair: type_declaration - 668 | type_declaration c_or_s type_declaration + 669 c_or_s: COMMA + 670 | SEMICOLON - 669 dim_list: '[' expr ']' - 670 | '[' ']' - 671 | dim_list '[' expr ']' - 672 | dim_list '[' ']' + 671 table_type_pair: type_declaration + 672 | type_declaration c_or_s type_declaration - 673 type_declaration_no_options: type_declaration_no_options_no_dim - 674 | type_declaration_no_options_no_dim dim_list + 673 dim_list: '[' expr ']' + 674 | '[' ']' + 675 | dim_list '[' expr ']' + 676 | dim_list '[' ']' - 675 type_declaration_no_options_no_dim: basic_type_declaration - 676 | auto_type_declaration - 677 | bitfield_type_declaration - 678 | structure_type_declaration - - 679 $@46: %empty - - 680 $@47: %empty - - 681 type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration '>' $@47 - 682 | "typedecl" '(' expr ')' - 683 | '$' name_in_namespace '(' optional_expr_list ')' + 677 type_declaration_no_options: type_declaration_no_options_no_dim + 678 | type_declaration_no_options_no_dim dim_list + + 679 type_declaration_no_options_no_dim: basic_type_declaration + 680 | auto_type_declaration + 681 | bitfield_type_declaration + 682 | structure_type_declaration + + 683 $@47: %empty 684 $@48: %empty - 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 '?' + 685 type_declaration_no_options_no_dim: "type" '<' $@47 type_declaration '>' $@48 + 686 | "typedecl" '(' expr ')' + 687 | '$' name_in_namespace '(' optional_expr_list ')' - 698 $@49: %empty + 688 $@49: %empty - 699 $@50: %empty + 689 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@49 type_declaration_no_options_list '>' '(' optional_expr_list ')' + 690 | type_declaration_no_options_no_dim '-' '[' ']' + 691 | type_declaration_no_options_no_dim "explicit" + 692 | type_declaration_no_options_no_dim "const" + 693 | type_declaration_no_options_no_dim '-' "const" + 694 | type_declaration_no_options_no_dim '&' + 695 | type_declaration_no_options_no_dim '-' '&' + 696 | type_declaration_no_options_no_dim '#' + 697 | type_declaration_no_options_no_dim "implicit" + 698 | type_declaration_no_options_no_dim '-' '#' + 699 | type_declaration_no_options_no_dim "==" "const" + 700 | type_declaration_no_options_no_dim "==" '&' + 701 | type_declaration_no_options_no_dim '?' - 700 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration '>' $@50 - 701 | type_declaration_no_options_no_dim "??" + 702 $@50: %empty - 702 $@51: %empty + 703 $@51: %empty - 703 $@52: %empty + 704 type_declaration_no_options_no_dim: "smart_ptr" '<' $@50 type_declaration '>' $@51 + 705 | type_declaration_no_options_no_dim "??" - 704 type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration '>' $@52 + 706 $@52: %empty - 705 $@53: %empty + 707 $@53: %empty - 706 $@54: %empty + 708 type_declaration_no_options_no_dim: "array" '<' $@52 type_declaration '>' $@53 - 707 type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair '>' $@54 + 709 $@54: %empty - 708 $@55: %empty + 710 $@55: %empty - 709 $@56: %empty + 711 type_declaration_no_options_no_dim: "table" '<' $@54 table_type_pair '>' $@55 - 710 type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration '>' $@56 - 711 | "block" + 712 $@56: %empty - 712 $@57: %empty + 713 $@57: %empty - 713 $@58: %empty + 714 type_declaration_no_options_no_dim: "iterator" '<' $@56 type_declaration '>' $@57 + 715 | "block" - 714 type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration '>' $@58 + 716 $@58: %empty - 715 $@59: %empty + 717 $@59: %empty - 716 $@60: %empty + 718 type_declaration_no_options_no_dim: "block" '<' $@58 type_declaration '>' $@59 - 717 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type '>' $@60 - 718 | "function" + 719 $@60: %empty - 719 $@61: %empty + 720 $@61: %empty - 720 $@62: %empty + 721 type_declaration_no_options_no_dim: "block" '<' $@60 optional_function_argument_list optional_function_type '>' $@61 + 722 | "function" - 721 type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration '>' $@62 + 723 $@62: %empty - 722 $@63: %empty + 724 $@63: %empty - 723 $@64: %empty + 725 type_declaration_no_options_no_dim: "function" '<' $@62 type_declaration '>' $@63 - 724 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type '>' $@64 - 725 | "lambda" + 726 $@64: %empty - 726 $@65: %empty + 727 $@65: %empty - 727 $@66: %empty + 728 type_declaration_no_options_no_dim: "function" '<' $@64 optional_function_argument_list optional_function_type '>' $@65 + 729 | "lambda" - 728 type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration '>' $@66 + 730 $@66: %empty - 729 $@67: %empty + 731 $@67: %empty - 730 $@68: %empty + 732 type_declaration_no_options_no_dim: "lambda" '<' $@66 type_declaration '>' $@67 - 731 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type '>' $@68 + 733 $@68: %empty - 732 $@69: %empty + 734 $@69: %empty - 733 $@70: %empty + 735 type_declaration_no_options_no_dim: "lambda" '<' $@68 optional_function_argument_list optional_function_type '>' $@69 - 734 type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list '>' $@70 + 736 $@70: %empty - 735 $@71: %empty + 737 $@71: %empty - 736 $@72: %empty + 738 type_declaration_no_options_no_dim: "tuple" '<' $@70 tuple_type_list '>' $@71 - 737 type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list '>' $@72 + 739 $@72: %empty - 738 type_declaration: type_declaration_no_options - 739 | type_declaration '|' type_declaration_no_options - 740 | type_declaration '|' '#' + 740 $@73: %empty - 741 $@73: %empty + 741 type_declaration_no_options_no_dim: "variant" '<' $@72 variant_type_list '>' $@73 - 742 $@74: %empty + 742 type_declaration: type_declaration_no_options + 743 | type_declaration '|' type_declaration_no_options + 744 | type_declaration '|' '#' - 743 $@75: %empty + 745 $@74: %empty - 744 $@76: %empty + 746 $@75: %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 '}' + 747 $@76: %empty - 746 $@77: %empty + 748 $@77: %empty - 747 $@78: %empty + 749 tuple_alias_declaration: "tuple" $@74 optional_public_or_private_alias "name" optional_emit_semis $@75 '{' $@76 tuple_alias_type_list optional_semis $@77 '}' - 748 $@79: %empty + 750 $@78: %empty - 749 $@80: %empty + 751 $@79: %empty - 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 752 $@80: %empty - 751 $@81: %empty + 753 $@81: %empty - 752 $@82: %empty + 754 variant_alias_declaration: "variant" $@78 optional_public_or_private_alias "name" optional_emit_semis $@79 '{' $@80 variant_alias_type_list optional_semis $@81 '}' - 753 $@83: %empty + 755 $@82: %empty - 754 $@84: %empty + 756 $@83: %empty - 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 757 $@84: %empty - 756 make_decl: make_struct_decl - 757 | make_dim_decl - 758 | make_table_decl - 759 | array_comprehension - 760 | make_tuple_call + 758 $@85: %empty - 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 + 759 bitfield_alias_declaration: "bitfield" $@82 optional_public_or_private_alias "name" optional_emit_commas $@83 '{' $@84 bitfield_alias_bits optional_commas $@85 '}' - 769 make_variant_dim: make_struct_fields + 760 make_decl: make_struct_decl + 761 | make_dim_decl + 762 | make_table_decl + 763 | array_comprehension + 764 | make_tuple_call - 770 make_struct_single: make_struct_fields + 765 make_struct_fields: "name" copy_or_move expr + 766 | "name" ":=" expr + 767 | make_struct_fields ',' "name" copy_or_move expr + 768 | make_struct_fields ',' "name" ":=" expr + 769 | "$f" '(' expr ')' copy_or_move expr + 770 | "$f" '(' expr ')' ":=" expr + 771 | make_struct_fields ',' "$f" '(' expr ')' copy_or_move expr + 772 | make_struct_fields ',' "$f" '(' expr ')' ":=" expr - 771 make_struct_dim_list: '(' make_struct_fields ')' - 772 | make_struct_dim_list ',' '(' make_struct_fields ')' + 773 make_variant_dim: make_struct_fields - 773 make_struct_dim_decl: make_struct_fields - 774 | make_struct_dim_list optional_comma + 774 make_struct_single: make_struct_fields - 775 optional_make_struct_dim_decl: make_struct_dim_decl - 776 | %empty + 775 make_struct_dim_list: '(' make_struct_fields ')' + 776 | make_struct_dim_list ',' '(' make_struct_fields ')' - 777 use_initializer: %empty - 778 | "uninitialized" + 777 make_struct_dim_decl: make_struct_fields + 778 | make_struct_dim_list optional_comma - 779 $@85: %empty + 779 optional_make_struct_dim_decl: make_struct_dim_decl + 780 | %empty - 780 $@86: %empty + 781 use_initializer: %empty + 782 | "uninitialized" - 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' + 783 $@86: %empty - 782 $@87: %empty + 784 $@87: %empty - 783 $@88: %empty + 785 make_struct_decl: "struct" '<' $@86 type_declaration_no_options '>' $@87 '(' 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 ')' + 786 $@88: %empty - 785 $@89: %empty + 787 $@89: %empty - 786 $@90: %empty + 788 make_struct_decl: "class" '<' $@88 type_declaration_no_options '>' $@89 '(' use_initializer optional_make_struct_dim_decl ')' - 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' + 789 $@90: %empty - 788 $@91: %empty + 790 $@91: %empty - 789 $@92: %empty + 791 make_struct_decl: "variant" '<' $@90 type_declaration_no_options '>' $@91 '(' make_variant_dim ')' - 790 make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' $@92 use_initializer + 792 $@92: %empty - 791 make_map_tuple: expr "=>" expr - 792 | expr + 793 $@93: %empty - 793 make_tuple_call: "tuple" '(' expr_list optional_comma ')' + 794 make_struct_decl: "default" '<' $@92 type_declaration_no_options '>' $@93 use_initializer - 794 $@93: %empty + 795 make_map_tuple: expr "=>" expr + 796 | expr - 795 $@94: %empty + 797 make_tuple_call: "tuple" '(' expr_list optional_comma ')' - 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' + 798 $@94: %empty - 797 make_dim_decl: '[' expr_list optional_comma ']' + 799 $@95: %empty - 798 $@95: %empty + 800 make_tuple_call: "tuple" '<' $@94 type_declaration_no_options '>' $@95 '(' use_initializer optional_make_struct_dim_decl ')' - 799 $@96: %empty + 801 make_dim_decl: '[' expr_list optional_comma ']' - 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' + 802 $@96: %empty - 801 $@97: %empty + 803 $@97: %empty - 802 $@98: %empty + 804 make_dim_decl: "array" "struct" '<' $@96 type_declaration_no_options '>' $@97 '(' 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 ')' + 805 $@98: %empty - 804 $@99: %empty + 806 $@99: %empty - 805 $@100: %empty + 807 make_dim_decl: "array" "tuple" '<' $@98 type_declaration_no_options '>' $@99 '(' use_initializer optional_make_struct_dim_decl ')' - 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' - 807 | "array" '(' expr_list optional_comma ')' + 808 $@100: %empty - 808 $@101: %empty + 809 $@101: %empty - 809 $@102: %empty + 810 make_dim_decl: "array" "variant" '<' $@100 type_declaration_no_options '>' $@101 '(' make_variant_dim ')' + 811 | "array" '(' expr_list optional_comma ')' - 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' - 811 | "fixed_array" '(' expr_list optional_comma ')' + 812 $@102: %empty - 812 $@103: %empty + 813 $@103: %empty - 813 $@104: %empty + 814 make_dim_decl: "array" '<' $@102 type_declaration_no_options '>' $@103 '(' optional_expr_list ')' + 815 | "fixed_array" '(' expr_list optional_comma ')' - 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' + 816 $@104: %empty - 815 expr_map_tuple_list: make_map_tuple - 816 | expr_map_tuple_list ',' make_map_tuple + 817 $@105: %empty - 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 ')' + 818 make_dim_decl: "fixed_array" '<' $@104 type_declaration_no_options '>' $@105 '(' expr_list optional_comma ')' - 821 array_comprehension_where: %empty - 822 | ';' "where" expr + 819 expr_map_tuple_list: make_map_tuple + 820 | expr_map_tuple_list ',' make_map_tuple - 823 optional_comma: %empty - 824 | ',' + 821 make_table_decl: '{' expr_map_tuple_list optional_comma '}' + 822 | "table" '(' expr_map_tuple_list optional_comma ')' + 823 | "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + 824 | "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' - 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 '}' + 825 array_comprehension_where: %empty + 826 | ';' "where" expr + + 827 optional_comma: %empty + 828 | ',' + + 829 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 830 | '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 831 | '{' "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) 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 + '!' (33) 121 139 403 + '#' (35) 696 698 744 + '$' (36) 24 323 687 689 + '%' (37) 40 44 159 415 + '&' (38) 167 326 422 535 543 694 695 700 + '(' (40) 67 82 83 85 88 90 110 119 125 134 135 276 277 278 279 298 299 315 316 317 330 334 364 365 366 367 369 379 380 381 382 386 387 388 389 390 391 392 433 443 444 474 475 476 478 479 480 481 482 484 485 486 487 488 489 490 491 492 493 516 545 618 659 660 686 687 689 769 770 771 772 775 776 785 788 791 797 800 804 807 810 811 814 815 818 822 823 824 829 830 831 + ')' (41) 67 82 83 85 88 90 110 119 125 134 135 276 277 278 279 298 299 315 316 317 330 334 364 365 366 367 369 379 380 381 382 386 387 388 389 390 391 392 433 443 444 474 475 476 478 479 480 481 482 484 485 486 487 488 489 490 491 492 493 516 545 618 659 660 686 687 689 769 770 771 772 775 776 785 788 791 797 800 804 807 810 811 814 815 818 822 823 824 829 830 831 + '*' (42) 157 413 442 + '+' (43) 155 405 411 + ',' (44) 16 53 99 112 128 297 319 332 365 547 548 550 620 621 767 768 771 772 776 820 828 + '-' (45) 156 406 412 690 693 695 698 + '.' (46) 45 184 186 187 377 378 379 380 381 382 385 435 437 439 486 488 489 + '/' (47) 46 158 414 + ':' (58) 55 56 137 298 447 520 526 536 537 554 555 557 558 590 602 + ';' (59) 8 9 15 18 20 518 552 557 558 559 566 584 662 826 829 830 831 + '<' (60) 160 273 305 308 311 314 316 317 373 376 416 450 456 461 475 476 477 668 685 689 704 708 711 714 718 721 725 728 732 735 738 741 785 788 791 794 800 804 807 810 814 818 823 824 + '=' (61) 91 103 104 105 106 107 108 110 327 346 532 539 573 583 + '>' (62) 161 273 305 308 311 314 316 317 373 376 417 450 456 461 475 476 477 668 685 689 704 708 711 714 718 721 725 728 732 735 738 741 785 788 791 794 800 804 807 810 814 818 823 824 + '?' (63) 196 197 447 458 461 462 491 701 + '@' (64) 113 114 324 325 370 373 376 493 + '[' (91) 130 132 182 364 365 434 435 673 674 675 676 690 801 829 830 + ']' (93) 130 132 182 183 364 365 434 435 436 437 673 674 675 676 690 801 829 830 + '^' (94) 169 424 + '{' (123) 233 236 302 337 569 600 612 749 754 759 821 831 + '|' (124) 168 423 743 744 + '}' (125) 233 236 302 337 569 600 612 749 754 759 821 831 + '~' (126) 140 404 + error (256) 259 385 "lexer error" (258) - "capture" (259) 332 - "struct" (260) 604 781 800 - "class" (261) 603 784 - "let" (262) 287 290 - "def" (263) 221 509 511 + "capture" (259) 334 + "struct" (260) 607 785 804 + "class" (261) 606 788 + "let" (262) 289 292 + "def" (263) 223 512 514 "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 + "for" (268) 85 829 830 831 + "recover" (269) 288 + "true" (270) 96 107 399 + "false" (271) 97 108 400 + "new" (272) 275 276 277 278 279 280 + "typeinfo" (273) 315 316 317 + "type" (274) 101 314 450 456 461 685 + "in" (275) 85 102 829 830 831 + "is" (276) 192 194 450 451 452 492 + "as" (277) 48 193 195 196 197 453 456 457 458 461 462 490 491 "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 + "array" (280) 708 804 807 810 811 814 + "return" (281) 283 284 285 + "null" (282) 393 + "break" (283) 281 + "try" (284) 288 "options" (285) 41 - "table" (286) 707 818 819 820 + "table" (286) 711 822 823 824 "expect" (287) 51 - "const" (288) 498 688 689 695 + "const" (288) 500 692 693 699 "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 + "operator" (290) 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 + "enum" (291) 600 + "finally" (292) 233 + "delete" (293) 190 269 270 + "deref" (294) 443 + "typedef" (295) 584 + "typedecl" (296) 686 "with" (297) 90 - "aka" (298) 543 545 615 617 + "aka" (298) 546 548 619 621 "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 + "cast" (300) 305 + "override" (301) 497 + "abstract" (302) 512 + "upcast" (303) 308 + "iterator" (304) 714 830 + "var" (305) 290 293 + "addr" (306) 444 + "continue" (307) 282 + "where" (308) 826 + "pass" (309) 256 + "reinterpret" (310) 311 "module" (311) 26 - "public" (312) 22 50 224 500 561 578 584 607 + "public" (312) 22 50 226 502 564 581 587 610 "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 + "implicit" (315) 697 + "explicit" (316) 270 691 + "shared" (317) 561 + "private" (318) 23 117 225 503 563 580 586 609 + "smart_ptr" (319) 704 + "unsafe" (320) 86 474 + "inscope" (321) 294 + "static" (322) 505 + "fixed_array" (323) 815 818 + "default" (324) 794 + "uninitialized" (325) 279 387 389 782 + "bool" (326) 198 622 + "void" (327) 642 + "string" (328) 199 623 + "auto" (329) 658 659 + "int" (330) 200 624 649 + "int2" (331) 201 628 + "int3" (332) 202 629 + "int4" (333) 203 630 + "uint" (334) 204 631 652 + "bitfield" (335) 648 668 759 + "uint2" (336) 205 635 + "uint3" (337) 206 636 + "uint4" (338) 207 637 + "float" (339) 208 638 + "float2" (340) 209 639 + "float3" (341) 210 640 + "float4" (342) 211 641 + "range" (343) 212 643 + "urange" (344) 213 644 + "range64" (345) 214 645 + "urange64" (346) 215 646 + "block" (347) 715 718 721 + "int64" (348) 216 627 655 + "uint64" (349) 217 634 656 + "double" (350) 218 647 + "function" (351) 722 725 728 + "lambda" (352) 729 732 735 + "int8" (353) 219 625 650 + "uint8" (354) 220 632 653 + "int16" (355) 221 626 651 + "uint16" (356) 222 633 654 + "tuple" (357) 738 749 797 800 807 + "variant" (358) 741 754 791 810 + "generator" (359) 475 476 477 + "yield" (360) 286 287 + "sealed" (361) 498 604 + "+=" (362) 141 355 + "-=" (363) 142 356 + "/=" (364) 144 358 + "*=" (365) 143 357 + "%=" (366) 145 359 + "&=" (367) 146 349 + "|=" (368) 147 350 + "^=" (369) 148 351 + "<<" (370) 174 407 + ">>" (371) 175 408 + "++" (372) 170 172 429 431 + "--" (373) 171 173 430 432 + "<=" (374) 165 420 + "<<=" (375) 176 360 + ">>=" (376) 177 361 + ">=" (377) 166 421 + "==" (378) 163 418 699 700 + "!=" (379) 164 419 + "->" (380) 366 367 + "<-" (381) 285 287 322 328 347 533 540 + "??" (382) 191 446 705 + "?." (383) 185 188 438 439 487 489 + "?[" (384) 183 436 437 + "<|" (385) 470 + "|>" (386) 126 471 472 + ":=" (387) 187 189 329 348 541 766 768 770 772 + "<<<" (388) 178 409 + ">>>" (389) 179 410 + "<<<=" (390) 180 362 + ">>>=" (391) 181 363 + "=>" (392) 321 322 795 + "::" (393) 267 268 + "&&" (394) 122 152 425 + "||" (395) 123 153 426 + "^^" (396) 124 154 427 + "&&=" (397) 149 352 + "||=" (398) 150 353 + "^^=" (399) 151 354 + ".." (400) 162 428 + "$$" (401) 478 + "$i" (402) 369 479 545 618 + "$v" (403) 480 + "$b" (404) 481 + "$a" (405) 482 516 + "$t" (406) 660 + "$c" (407) 484 485 493 + "$f" (408) 486 487 488 489 490 491 492 769 770 771 772 + "..." (409) 483 + "integer constant" (410) 54 55 56 57 94 105 338 + "long integer constant" (411) 340 + "unsigned integer constant" (412) 339 + "unsigned long integer constant" (413) 341 + "unsigned int8 constant" (414) 342 + "floating point constant" (415) 95 106 343 + "double constant" (416) 344 + "name" (417) 25 43 45 46 48 91 93 100 104 138 186 187 188 194 195 197 266 267 268 296 297 316 317 326 327 328 329 330 366 367 377 378 379 380 438 439 452 453 458 520 526 544 546 547 548 549 550 572 573 583 588 605 617 619 620 621 659 661 662 664 665 749 754 759 765 766 767 768 + "emitted ," (418) 17 593 594 + "emitted ;" (419) 19 61 62 508 "start of the string" (420) 31 32 36 STRING_CHARACTER (421) 27 29 37 38 STRING_CHARACTER_ESC (422) 28 30 @@ -1381,10 +1387,10 @@ Nonterminals, with rules where they appear on right: 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 COMMA (209) on left: 16 17 - on right: 571 572 665 + on right: 574 575 669 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 + on right: 77 78 83 238 239 240 245 247 248 249 250 254 255 256 298 299 510 512 554 555 556 670 top_level_reader_macro (211) on left: 20 on right: 14 @@ -1408,13 +1414,13 @@ Nonterminals, with rules where they appear on right: 34 35 36 string_builder (218) on left: 36 - on right: 395 + on right: 397 reader_character_sequence (219) on left: 37 38 on right: 38 40 expr_reader (220) on left: 40 - on right: 20 394 + on right: 20 396 $@1 (221) on left: 39 on right: 40 @@ -1444,10 +1450,10 @@ Nonterminals, with rules where they appear on right: 52 53 expression_label (230) on left: 56 - on right: 252 + on right: 254 expression_goto (231) on left: 57 58 - on right: 253 + on right: 255 elif_or_static_elif (232) on left: 59 60 on right: 67 @@ -1456,7 +1462,7 @@ Nonterminals, with rules where they appear 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 + on right: 66 67 82 85 86 88 90 113 114 132 335 336 477 514 616 749 754 expression_else (235) on left: 65 66 67 on right: 67 82 @@ -1471,43 +1477,43 @@ Nonterminals, with rules where they appear on right: 71 83 semis (239) on left: 77 78 - on right: 78 80 522 528 + on right: 78 80 525 531 optional_semis (240) on left: 79 80 - on right: 745 750 + on right: 749 754 expression_if_then_else (241) on left: 82 - on right: 249 + on right: 251 $@2 (242) on left: 81 on right: 82 expression_if_then_else_oneliner (243) on left: 83 - on right: 250 + on right: 252 expression_for_loop (244) on left: 85 - on right: 244 + on right: 246 $@3 (245) on left: 84 on right: 85 expression_unsafe (246) on left: 86 - on right: 241 + on right: 243 expression_while_loop (247) on left: 88 - on right: 240 + on right: 242 $@4 (248) on left: 87 on right: 88 expression_with (249) on left: 90 - on right: 242 + on right: 244 $@5 (250) on left: 89 on right: 90 expression_with_alias (251) on left: 91 - on right: 243 + on right: 245 annotation_argument_value (252) on left: 92 93 94 95 96 97 on right: 98 99 @@ -1525,7 +1531,7 @@ Nonterminals, with rules where they appear on right: 41 112 119 metadata_argument_list (257) on left: 113 114 - on right: 114 493 + on right: 114 495 annotation_declaration_name (258) on left: 115 116 117 on right: 118 119 @@ -1537,709 +1543,715 @@ Nonterminals, with rules where they appear on right: 121 122 123 124 125 126 127 128 annotation_list (261) on left: 127 128 - on right: 128 130 + on right: 128 130 132 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: 6 - optional_public_or_private_function (267) - on left: 222 223 224 + on right: 223 335 336 600 616 + optional_annotation_list_with_emit_semis (263) + on left: 131 132 + on right: 512 514 + optional_function_argument_list (264) + on left: 133 134 135 + on right: 227 335 336 376 721 728 735 + optional_function_type (265) + on left: 136 137 + on right: 227 335 336 376 721 728 735 + function_name (266) + on left: 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 221 222 on right: 227 - function_declaration_header (268) - on left: 225 - on right: 227 509 511 - function_declaration (269) + global_function_declaration (267) + on left: 223 + on right: 6 + optional_public_or_private_function (268) + on left: 224 225 226 + on right: 229 + function_declaration_header (269) on left: 227 - 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 right: 229 512 514 + function_declaration (270) on left: 229 - on right: 231 - $@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 right: 223 + $@6 (271) + on left: 228 + on right: 229 + expression_block_finally (272) + on left: 230 233 + on right: 236 + $@7 (273) + on left: 231 + on right: 233 + $@8 (274) on left: 232 - on right: 234 - $@10 (276) - on left: 233 - on right: 234 - expr_call_pipe (277) + on right: 233 + expression_block (275) + on left: 236 + on right: 66 67 82 85 86 88 90 229 288 320 336 477 514 + $@9 (276) + on left: 234 + on right: 236 + $@10 (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 right: 236 + expr_call_pipe (278) + on left: 237 + on right: 473 + expression_any (279) + on left: 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 + on right: 258 + expressions (280) + on left: 257 258 259 + on right: 233 236 258 259 337 + optional_expr_list (281) on left: 260 261 - on right: 819 820 - type_declaration_no_options_list (282) + on right: 687 689 814 + optional_expr_map_tuple_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 right: 823 824 + type_declaration_no_options_list (283) + on left: 264 265 + on right: 265 689 + name_in_namespace (284) + on left: 266 267 268 + on right: 40 115 315 316 317 364 365 368 386 387 388 389 390 394 602 657 687 689 + expression_delete (285) + on left: 269 270 + on right: 240 + new_type_declaration (286) + on left: 273 274 + on right: 275 276 277 278 279 + $@11 (287) + on left: 271 + on right: 273 + $@12 (288) + on left: 272 + on right: 273 + expr_new (289) + on left: 275 276 277 278 279 280 + on right: 466 + expression_break (290) + on left: 281 + on right: 75 247 + expression_continue (291) + on left: 282 + on right: 76 248 + expression_return (292) + on left: 283 284 285 + on right: 73 249 + expression_yield (293) + on left: 286 287 + on right: 74 250 + expression_try_catch (294) + on left: 288 + on right: 253 + kwd_let_var_or_nothing (295) + on left: 289 290 291 + on right: 515 + kwd_let (296) on left: 292 293 - on right: 298 299 300 - tuple_expansion (297) + on right: 300 301 302 569 571 + optional_in_scope (297) on left: 294 295 - on right: 295 296 297 - tuple_expansion_variable_declaration (298) + on right: 300 301 302 + tuple_expansion (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: 303 - $@15 (303) + on right: 297 298 299 + tuple_expansion_variable_declaration (299) + on left: 298 299 + on right: 301 + expression_let (300) + on left: 300 301 302 + on right: 241 + expr_cast (301) + on left: 305 308 311 + on right: 465 + $@13 (302) + on left: 303 + on right: 305 + $@14 (303) on left: 304 - on right: 306 - $@16 (304) - on left: 305 - on right: 306 - $@17 (305) + on right: 305 + $@15 (304) + on left: 306 + on right: 308 + $@16 (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 right: 308 + $@17 (306) + on left: 309 + on right: 311 + $@18 (307) 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: 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 right: 311 + expr_type_decl (308) + on left: 314 + on right: 464 + $@19 (309) + on left: 312 + on right: 314 + $@20 (310) + on left: 313 + on right: 314 + expr_type_info (311) + on left: 315 316 317 + on right: 463 + expr_list (312) + on left: 318 319 + on right: 85 261 277 319 365 367 380 382 390 392 433 485 797 801 811 815 818 829 830 831 + block_or_simple_block (313) + on left: 320 321 322 + on right: 335 + block_or_lambda (314) + on left: 323 324 325 + on right: 335 336 + capture_entry (315) + on left: 326 327 328 329 330 + on right: 331 332 + 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: 332 334 + optional_capture_list (317) + on left: 333 334 + on right: 335 336 475 476 477 + expr_full_block (318) + on left: 335 + on right: 469 + expr_full_block_assumed_piped (319) + on left: 336 337 on right: 237 - expr_named_call (321) - on left: 362 363 - on right: 466 - expr_method_call (322) + expr_numeric_const (320) + on left: 338 339 340 341 342 343 344 + on right: 395 + expr_assign (321) + on left: 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 + on right: 239 + expr_named_call (322) on left: 364 365 - on right: 465 - func_addr_name (323) + on right: 468 + expr_method_call (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 right: 467 + func_addr_name (324) + on left: 368 369 + on right: 370 373 376 + func_addr_expr (325) + on left: 370 373 376 + on right: 440 + $@21 (326) + on left: 371 + on right: 373 + $@22 (327) on left: 372 - on right: 374 - $@24 (328) - on left: 373 - 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 right: 373 + $@23 (328) + on left: 374 + on right: 376 + $@24 (329) + on left: 375 + on right: 376 + expr_field (330) + on left: 377 378 379 380 381 382 385 + on right: 401 + $@25 (331) + on left: 383 + on right: 385 + $@26 (332) + on left: 384 + on right: 385 + expr_call (333) + on left: 386 387 388 389 390 391 392 + on right: 237 441 + expr (334) + on left: 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 446 447 450 451 452 453 456 457 458 461 462 463 464 465 466 467 468 469 470 471 472 473 474 + on right: 35 58 67 72 82 83 88 90 91 269 270 284 285 286 287 298 299 305 308 311 315 316 317 318 319 321 322 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 366 367 369 377 378 379 380 381 382 385 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 434 435 436 437 438 439 442 443 444 446 447 450 451 452 453 456 457 458 461 462 470 471 472 474 476 478 479 480 481 482 484 485 486 487 488 489 490 491 492 493 516 537 538 545 555 556 558 559 573 618 660 673 675 686 765 766 767 768 769 770 771 772 795 796 826 829 830 + $@27 (335) + on left: 448 + on right: 450 + $@28 (336) + on left: 449 + on right: 450 + $@29 (337) + on left: 454 + on right: 456 + $@30 (338) + on left: 455 + on right: 456 + $@31 (339) + on left: 459 + on right: 461 + $@32 (340) + on left: 460 + on right: 461 + expr_generator (341) + on left: 475 476 477 + on right: 445 + expr_mtag (342) + on left: 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 + on right: 402 + optional_field_annotation (343) + on left: 494 495 + on right: 506 515 568 571 + optional_override (344) + on left: 496 497 498 + on right: 506 514 + optional_constant (345) + on left: 499 500 + on right: 512 514 + optional_public_or_private_member_variable (346) + on left: 501 502 503 + on right: 506 512 514 + optional_static_member_variable (347) + on left: 504 505 + on right: 506 514 + structure_variable_declaration (348) 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: 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 right: 510 + struct_variable_declaration_list (349) + on left: 507 508 510 512 514 + on right: 508 510 512 514 612 + $@33 (350) + on left: 509 + on right: 510 + $@34 (351) + on left: 511 + on right: 512 + $@35 (352) + on left: 513 + on right: 514 + function_argument_declaration (353) + on left: 515 516 + on right: 517 518 + function_argument_list (354) + on left: 517 518 + on right: 135 518 + tuple_type (355) + on left: 519 520 + on right: 521 522 524 525 + tuple_type_list (356) + on left: 521 522 + on right: 522 738 + tuple_alias_type_list (357) + on left: 523 524 525 + on right: 525 749 + variant_type (358) + on left: 526 + on right: 527 528 530 531 + variant_type_list (359) + on left: 527 528 + on right: 528 741 + variant_alias_type_list (360) + on left: 529 530 531 + on right: 531 754 + copy_or_move (361) + on left: 532 533 + on right: 537 538 765 767 769 771 + variable_declaration (362) + on left: 534 535 536 537 538 + on right: 506 515 + copy_or_move_or_clone (363) + on left: 539 540 541 + on right: 298 299 555 556 558 559 + optional_ref (364) + on left: 542 543 + on right: 299 556 559 + let_variable_name_with_pos_list (365) + on left: 544 545 546 547 548 + on right: 547 548 554 555 556 + global_let_variable_name_with_pos_list (366) + on left: 549 550 + on right: 550 557 558 559 + variable_declaration_list (367) on left: 551 552 553 - on right: 298 550 565 - global_let_variable_declaration (368) + on right: 302 552 553 + 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 (374) + on right: 300 553 568 + global_let_variable_declaration (369) + on left: 557 558 559 + on right: 571 + optional_shared (370) + on left: 560 561 + on right: 26 569 571 + optional_public_or_private_variable (371) + on left: 562 563 564 + on right: 569 571 + global_variable_declaration_list (372) + on left: 565 566 568 + on right: 566 568 569 + $@36 (373) 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) + global_let (374) + on left: 569 571 + on right: 5 + $@37 (375) + on left: 570 + on right: 571 + enum_expression (376) + on left: 572 573 + on right: 577 578 + commas (377) + on left: 574 575 + on right: 575 578 592 665 + enum_list (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: 578 600 + optional_public_or_private_alias (379) + on left: 579 580 581 + on right: 583 749 754 759 + single_alias (380) + on left: 583 + on right: 584 + $@38 (381) + on left: 582 + on right: 583 + alias_declaration (382) + on left: 584 on right: 10 - optional_public_or_private_enum (382) - on left: 582 583 584 - on right: 597 - enum_name (383) - on left: 585 - on right: 597 - optional_enum_basic_type_declaration (384) - on left: 586 587 - on right: 597 - optional_commas (385) - on left: 588 589 - 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 + optional_public_or_private_enum (383) + on left: 585 586 587 + on right: 600 + enum_name (384) + on left: 588 + on right: 600 + optional_enum_basic_type_declaration (385) + on left: 589 590 + on right: 600 + optional_commas (386) + on left: 591 592 + on right: 600 759 + emit_commas (387) + on left: 593 594 + on right: 594 596 + optional_emit_commas (388) + on left: 595 596 + on right: 600 759 + enum_declaration (389) + on left: 600 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) + $@39 (390) + on left: 597 + on right: 600 + $@40 (391) + on left: 598 + on right: 600 + $@41 (392) + on left: 599 + on right: 600 + optional_structure_parent (393) + on left: 601 602 + on right: 605 + optional_sealed (394) 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: 605 + structure_name (395) + on left: 605 + on right: 616 + class_or_struct (396) + on left: 606 607 + on right: 616 + optional_public_or_private_structure (397) + on left: 608 609 610 + on right: 616 + optional_struct_variable_declaration_list (398) + on left: 611 612 + on right: 616 + structure_declaration (399) + on left: 616 on right: 3 - $@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 - $@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 + $@42 (400) + on left: 613 + on right: 616 + $@43 (401) + on left: 614 + on right: 616 + $@44 (402) + on left: 615 + on right: 616 + variable_name_with_pos_list (403) + on left: 617 618 619 620 621 + on right: 85 534 535 536 537 538 620 621 829 830 831 + basic_type_declaration (404) + on left: 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 + on right: 381 382 391 392 451 457 462 472 679 + enum_basic_type_declaration (405) + on left: 649 650 651 652 653 654 655 656 + on right: 590 + structure_type_declaration (406) + on left: 657 + on right: 274 682 + auto_type_declaration (407) + on left: 658 659 660 + on right: 680 + bitfield_bits (408) + on left: 661 662 + on right: 662 668 + bitfield_alias_bits (409) + on left: 663 664 665 + on right: 665 759 + bitfield_type_declaration (410) + on left: 668 on right: 681 - $@48 (418) + $@45 (411) + on left: 666 + on right: 668 + $@46 (412) + on left: 667 + on right: 668 + c_or_s (413) + on left: 669 670 + on right: 265 317 522 528 672 824 + table_type_pair (414) + on left: 671 672 + on right: 711 + dim_list (415) + on left: 673 674 675 676 + on right: 675 676 678 + type_declaration_no_options (416) + on left: 677 678 + on right: 298 305 308 311 373 450 475 476 477 554 555 557 558 742 743 785 788 791 794 800 804 807 810 814 818 823 824 + type_declaration_no_options_no_dim (417) + on left: 679 680 681 682 685 686 687 689 690 691 692 693 694 695 696 697 698 699 700 701 704 705 708 711 714 715 718 721 722 725 728 729 732 735 738 741 + on right: 677 678 690 691 692 693 694 695 696 697 698 699 700 701 705 + $@47 (418) + on left: 683 + on right: 685 + $@48 (419) on left: 684 on right: 685 - $@49 (419) - on left: 698 - on right: 700 - $@50 (420) - on left: 699 - on right: 700 - $@51 (421) + $@49 (420) + on left: 688 + on right: 689 + $@50 (421) on left: 702 on right: 704 - $@52 (422) + $@51 (422) on left: 703 on right: 704 - $@53 (423) - on left: 705 - on right: 707 - $@54 (424) + $@52 (423) on left: 706 - on right: 707 - $@55 (425) - on left: 708 - on right: 710 - $@56 (426) + on right: 708 + $@53 (424) + on left: 707 + on right: 708 + $@54 (425) on left: 709 - on right: 710 - $@57 (427) + on right: 711 + $@55 (426) + on left: 710 + on right: 711 + $@56 (427) on left: 712 on right: 714 - $@58 (428) + $@57 (428) on left: 713 on right: 714 - $@59 (429) - on left: 715 - on right: 717 - $@60 (430) + $@58 (429) on left: 716 - on right: 717 - $@61 (431) + on right: 718 + $@59 (430) + on left: 717 + on right: 718 + $@60 (431) on left: 719 on right: 721 - $@62 (432) + $@61 (432) on left: 720 on right: 721 - $@63 (433) - on left: 722 - on right: 724 - $@64 (434) + $@62 (433) on left: 723 - on right: 724 - $@65 (435) + on right: 725 + $@63 (434) + on left: 724 + on right: 725 + $@64 (435) on left: 726 on right: 728 - $@66 (436) + $@65 (436) on left: 727 on right: 728 - $@67 (437) - on left: 729 - on right: 731 - $@68 (438) + $@66 (437) on left: 730 - on right: 731 - $@69 (439) - on left: 732 - on right: 734 - $@70 (440) + on right: 732 + $@67 (438) + on left: 731 + on right: 732 + $@68 (439) on left: 733 - on right: 734 - $@71 (441) - on left: 735 - on right: 737 - $@72 (442) + on right: 735 + $@69 (440) + on left: 734 + on right: 735 + $@70 (441) on left: 736 - 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: 738 + $@71 (442) + on left: 737 + on right: 738 + $@72 (443) + on left: 739 + on right: 741 + $@73 (444) + on left: 740 + on right: 741 + type_declaration (445) + on left: 742 743 744 + on right: 137 264 265 273 314 456 461 519 520 526 536 537 583 671 672 685 704 708 714 718 725 732 743 744 + tuple_alias_declaration (446) + on left: 749 on right: 12 - $@73 (445) - on left: 741 - on right: 745 - $@74 (446) - on left: 742 - 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) + $@74 (447) + on left: 745 + on right: 749 + $@75 (448) on left: 746 - on right: 750 - $@78 (451) + on right: 749 + $@76 (449) on left: 747 - on right: 750 - $@79 (452) + on right: 749 + $@77 (450) 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 right: 749 + variant_alias_declaration (451) + on left: 754 + on right: 11 + $@78 (452) + on left: 750 + on right: 754 + $@79 (453) on left: 751 - on right: 755 - $@82 (456) + on right: 754 + $@80 (454) on left: 752 - on right: 755 - $@83 (457) + on right: 754 + $@81 (455) 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: 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 - optional_make_struct_dim_decl (465) + on right: 754 + bitfield_alias_declaration (456) + on left: 759 + on right: 13 + $@82 (457) + on left: 755 + on right: 759 + $@83 (458) + on left: 756 + on right: 759 + $@84 (459) + on left: 757 + on right: 759 + $@85 (460) + on left: 758 + on right: 759 + make_decl (461) + on left: 760 761 762 763 764 + on right: 280 398 + make_struct_fields (462) + on left: 765 766 767 768 769 770 771 772 + on right: 364 365 767 768 771 772 773 774 775 776 777 + make_variant_dim (463) + on left: 773 + on right: 791 810 + make_struct_single (464) + on left: 774 + on right: 278 279 388 389 + make_struct_dim_list (465) on left: 775 776 - on right: 781 784 796 800 803 - use_initializer (466) + on right: 776 778 + make_struct_dim_decl (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 - $@88 (471) + on right: 779 + optional_make_struct_dim_decl (467) + on left: 779 780 + on right: 785 788 800 804 807 + use_initializer (468) + on left: 781 782 + on right: 276 785 788 794 800 804 807 + make_struct_decl (469) + on left: 785 788 791 794 + on right: 760 + $@86 (470) on left: 783 - on right: 784 - $@89 (472) - on left: 785 - on right: 787 - $@90 (473) + on right: 785 + $@87 (471) + on left: 784 + on right: 785 + $@88 (472) on left: 786 - on right: 787 - $@91 (474) - on left: 788 - on right: 790 - $@92 (475) + on right: 788 + $@89 (473) + on left: 787 + on right: 788 + $@90 (474) on left: 789 - 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 right: 791 + $@91 (475) + on left: 790 + on right: 791 + $@92 (476) + on left: 792 + on right: 794 + $@93 (477) + on left: 793 + on right: 794 + make_map_tuple (478) + on left: 795 796 + on right: 819 820 831 + make_tuple_call (479) + on left: 797 800 + on right: 764 + $@94 (480) on left: 798 on right: 800 - $@96 (482) + $@95 (481) on left: 799 on right: 800 - $@97 (483) - on left: 801 - on right: 803 - $@98 (484) + make_dim_decl (482) + on left: 801 804 807 810 811 814 815 818 + on right: 761 + $@96 (483) on left: 802 - on right: 803 - $@99 (485) - on left: 804 - on right: 806 - $@100 (486) + on right: 804 + $@97 (484) + on left: 803 + on right: 804 + $@98 (485) on left: 805 - on right: 806 - $@101 (487) + on right: 807 + $@99 (486) + on left: 806 + on right: 807 + $@100 (487) on left: 808 on right: 810 - $@102 (488) + $@101 (488) on left: 809 on right: 810 - $@103 (489) + $@102 (489) on left: 812 on right: 814 - $@104 (490) + $@103 (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 + $@104 (491) + on left: 816 + on right: 818 + $@105 (492) + on left: 817 + on right: 818 + expr_map_tuple_list (493) + on left: 819 820 + on right: 263 820 821 822 + make_table_decl (494) + on left: 821 822 823 824 + on right: 762 + array_comprehension_where (495) + on left: 825 826 + on right: 829 830 831 + optional_comma (496) + on left: 827 828 + on right: 261 263 433 778 797 801 811 815 818 821 822 + array_comprehension (497) + on left: 829 830 831 + on right: 763 State 0 @@ -2313,9 +2325,9 @@ State 2 State 3 - 290 kwd_let: "let" . + 292 kwd_let: "let" . - $default reduce using rule 290 (kwd_let) + $default reduce using rule 292 (kwd_let) State 4 @@ -2354,12 +2366,12 @@ State 6 State 7 - 581 alias_declaration: "typedef" . single_alias ';' + 584 alias_declaration: "typedef" . single_alias ';' "public" shift, and go to state 45 "private" shift, and go to state 46 - $default reduce using rule 576 (optional_public_or_private_alias) + $default reduce using rule 579 (optional_public_or_private_alias) optional_public_or_private_alias go to state 47 single_alias go to state 48 @@ -2367,9 +2379,9 @@ State 7 State 8 - 291 kwd_let: "var" . + 293 kwd_let: "var" . - $default reduce using rule 291 (kwd_let) + $default reduce using rule 293 (kwd_let) State 9 @@ -2384,29 +2396,29 @@ State 9 State 10 - 755 bitfield_alias_declaration: "bitfield" . $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 759 bitfield_alias_declaration: "bitfield" . $@82 optional_public_or_private_alias "name" optional_emit_commas $@83 '{' $@84 bitfield_alias_bits optional_commas $@85 '}' - $default reduce using rule 751 ($@81) + $default reduce using rule 755 ($@82) - $@81 go to state 52 + $@82 go to state 52 State 11 - 745 tuple_alias_declaration: "tuple" . $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 749 tuple_alias_declaration: "tuple" . $@74 optional_public_or_private_alias "name" optional_emit_semis $@75 '{' $@76 tuple_alias_type_list optional_semis $@77 '}' - $default reduce using rule 741 ($@73) + $default reduce using rule 745 ($@74) - $@73 go to state 53 + $@74 go to state 53 State 12 - 750 variant_alias_declaration: "variant" . $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 754 variant_alias_declaration: "variant" . $@78 optional_public_or_private_alias "name" optional_emit_semis $@79 '{' $@80 variant_alias_type_list optional_semis $@81 '}' - $default reduce using rule 746 ($@77) + $default reduce using rule 750 ($@78) - $@77 go to state 54 + $@78 go to state 54 State 13 @@ -2489,16 +2501,16 @@ State 21 State 22 - 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 + 223 global_function_declaration: optional_annotation_list . "def" function_declaration + 600 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 '}' + 616 structure_declaration: optional_annotation_list . $@42 class_or_struct optional_public_or_private_structure $@43 structure_name optional_emit_semis $@44 optional_struct_variable_declaration_list - "struct" shift, and go to state 71 - "class" shift, and go to state 72 - "def" shift, and go to state 73 - "enum" shift, and go to state 74 + "def" shift, and go to state 71 + "enum" shift, and go to state 72 - class_or_struct go to state 75 + $default reduce using rule 613 ($@42) + + $@42 go to state 73 State 23 @@ -2510,14 +2522,14 @@ State 23 State 24 - 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 + 569 global_let: kwd_let . optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' + 571 | kwd_let . optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration - "shared" shift, and go to state 76 + "shared" shift, and go to state 74 - $default reduce using rule 557 (optional_shared) + $default reduce using rule 560 (optional_shared) - optional_shared go to state 77 + optional_shared go to state 75 State 25 @@ -2601,7 +2613,7 @@ State 35 109 | annotation_argument_name . 110 | annotation_argument_name . '=' '(' annotation_argument_value_list ')' - '=' shift, and go to state 78 + '=' shift, and go to state 76 $default reduce using rule 109 (annotation_argument) @@ -2618,7 +2630,7 @@ State 37 41 options_declaration: "options" annotation_argument_list . 112 annotation_argument_list: annotation_argument_list . ',' annotation_argument - ',' shift, and go to state 79 + ',' shift, and go to state 77 $default reduce using rule 41 (options_declaration) @@ -2628,7 +2640,7 @@ State 38 54 expect_error: "integer constant" . 55 | "integer constant" . ':' "integer constant" - ':' shift, and go to state 80 + ':' shift, and go to state 78 $default reduce using rule 54 (expect_error) @@ -2638,7 +2650,7 @@ State 39 51 expect_declaration: "expect" expect_list . 53 expect_list: expect_list . ',' expect_error - ',' shift, and go to state 81 + ',' shift, and go to state 79 $default reduce using rule 51 (expect_declaration) @@ -2664,7 +2676,7 @@ State 42 "name" shift, and go to state 41 '%' shift, and go to state 42 - require_module_name go to state 82 + require_module_name go to state 80 State 43 @@ -2674,14 +2686,14 @@ State 43 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 + "as" shift, and go to state 81 + "public" shift, and go to state 82 + '/' shift, and go to state 83 + '.' shift, and go to state 84 $default reduce using rule 49 (is_public_module) - is_public_module go to state 87 + is_public_module go to state 85 State 44 @@ -2693,30 +2705,30 @@ State 44 State 45 - 578 optional_public_or_private_alias: "public" . + 581 optional_public_or_private_alias: "public" . - $default reduce using rule 578 (optional_public_or_private_alias) + $default reduce using rule 581 (optional_public_or_private_alias) State 46 - 577 optional_public_or_private_alias: "private" . + 580 optional_public_or_private_alias: "private" . - $default reduce using rule 577 (optional_public_or_private_alias) + $default reduce using rule 580 (optional_public_or_private_alias) State 47 - 580 single_alias: optional_public_or_private_alias . "name" $@38 '=' type_declaration + 583 single_alias: optional_public_or_private_alias . "name" $@38 '=' type_declaration - "name" shift, and go to state 88 + "name" shift, and go to state 86 State 48 - 581 alias_declaration: "typedef" single_alias . ';' + 584 alias_declaration: "typedef" single_alias . ';' - ';' shift, and go to state 89 + ';' shift, and go to state 87 State 49 @@ -2737,64 +2749,64 @@ State 51 26 module_declaration: "module" module_name . optional_shared optional_public_or_private_module - "shared" shift, and go to state 76 + "shared" shift, and go to state 74 - $default reduce using rule 557 (optional_shared) + $default reduce using rule 560 (optional_shared) - optional_shared go to state 90 + optional_shared go to state 88 State 52 - 755 bitfield_alias_declaration: "bitfield" $@81 . optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 759 bitfield_alias_declaration: "bitfield" $@82 . optional_public_or_private_alias "name" optional_emit_commas $@83 '{' $@84 bitfield_alias_bits optional_commas $@85 '}' "public" shift, and go to state 45 "private" shift, and go to state 46 - $default reduce using rule 576 (optional_public_or_private_alias) + $default reduce using rule 579 (optional_public_or_private_alias) - optional_public_or_private_alias go to state 91 + optional_public_or_private_alias go to state 89 State 53 - 745 tuple_alias_declaration: "tuple" $@73 . optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 749 tuple_alias_declaration: "tuple" $@74 . optional_public_or_private_alias "name" optional_emit_semis $@75 '{' $@76 tuple_alias_type_list optional_semis $@77 '}' "public" shift, and go to state 45 "private" shift, and go to state 46 - $default reduce using rule 576 (optional_public_or_private_alias) + $default reduce using rule 579 (optional_public_or_private_alias) - optional_public_or_private_alias go to state 92 + optional_public_or_private_alias go to state 90 State 54 - 750 variant_alias_declaration: "variant" $@77 . optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 754 variant_alias_declaration: "variant" $@78 . optional_public_or_private_alias "name" optional_emit_semis $@79 '{' $@80 variant_alias_type_list optional_semis $@81 '}' "public" shift, and go to state 45 "private" shift, and go to state 46 - $default reduce using rule 576 (optional_public_or_private_alias) + $default reduce using rule 579 (optional_public_or_private_alias) - optional_public_or_private_alias go to state 93 + optional_public_or_private_alias go to state 91 State 55 - 266 name_in_namespace: "::" . "name" + 268 name_in_namespace: "::" . "name" - "name" shift, and go to state 94 + "name" shift, and go to state 92 State 56 - 264 name_in_namespace: "name" . - 265 | "name" . "::" "name" + 266 name_in_namespace: "name" . + 267 | "name" . "::" "name" - "::" shift, and go to state 95 + "::" shift, and go to state 93 - $default reduce using rule 264 (name_in_namespace) + $default reduce using rule 266 (name_in_namespace) State 57 @@ -2803,7 +2815,7 @@ State 57 $default reduce using rule 39 ($@1) - $@1 go to state 96 + $@1 go to state 94 State 58 @@ -2834,7 +2846,7 @@ State 60 annotation_declaration_name go to state 63 annotation_declaration_basic go to state 64 - annotation_declaration go to state 97 + annotation_declaration go to state 95 name_in_namespace go to state 67 @@ -2852,7 +2864,7 @@ State 61 annotation_declaration_name go to state 63 annotation_declaration_basic go to state 64 - annotation_declaration go to state 98 + annotation_declaration go to state 96 name_in_namespace go to state 67 @@ -2870,7 +2882,7 @@ State 62 annotation_declaration_name go to state 63 annotation_declaration_basic go to state 64 - annotation_declaration go to state 99 + annotation_declaration go to state 97 name_in_namespace go to state 67 @@ -2879,7 +2891,7 @@ State 63 118 annotation_declaration_basic: annotation_declaration_name . 119 | annotation_declaration_name . '(' annotation_argument_list ')' - '(' shift, and go to state 100 + '(' shift, and go to state 98 $default reduce using rule 118 (annotation_declaration_basic) @@ -2898,9 +2910,9 @@ State 65 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 + "&&" shift, and go to state 99 + "||" shift, and go to state 100 + "^^" shift, and go to state 101 $default reduce using rule 127 (annotation_list) @@ -2910,8 +2922,8 @@ State 66 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 + ',' shift, and go to state 102 + ']' shift, and go to state 103 State 67 @@ -2944,74 +2956,58 @@ State 70 State 71 - 604 class_or_struct: "struct" . + 223 global_function_declaration: optional_annotation_list "def" . function_declaration + + "public" shift, and go to state 104 + "private" shift, and go to state 105 + + $default reduce using rule 224 (optional_public_or_private_function) - $default reduce using rule 604 (class_or_struct) + optional_public_or_private_function go to state 106 + function_declaration go to state 107 State 72 - 603 class_or_struct: "class" . + 600 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 603 (class_or_struct) + $default reduce using rule 597 ($@39) + $@39 go to state 108 -State 73 - 221 global_function_declaration: optional_annotation_list "def" . function_declaration +State 73 - "public" shift, and go to state 106 - "private" shift, and go to state 107 + 616 structure_declaration: optional_annotation_list $@42 . class_or_struct optional_public_or_private_structure $@43 structure_name optional_emit_semis $@44 optional_struct_variable_declaration_list - $default reduce using rule 222 (optional_public_or_private_function) + "struct" shift, and go to state 109 + "class" shift, and go to state 110 - optional_public_or_private_function go to state 108 - function_declaration go to state 109 + class_or_struct go to state 111 State 74 - 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 594 ($@39) + 561 optional_shared: "shared" . - $@39 go to state 110 + $default reduce using rule 561 (optional_shared) State 75 - 612 structure_declaration: optional_annotation_list class_or_struct . optional_public_or_private_structure $@42 structure_name $@43 optional_struct_variable_declaration_list + 569 global_let: kwd_let optional_shared . optional_public_or_private_variable '{' global_variable_declaration_list '}' + 571 | kwd_let optional_shared . optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration - "public" shift, and go to state 111 - "private" shift, and go to state 112 + "public" shift, and go to state 112 + "private" shift, and go to state 113 - $default reduce using rule 605 (optional_public_or_private_structure) + $default reduce using rule 562 (optional_public_or_private_variable) - optional_public_or_private_structure go to state 113 + optional_public_or_private_variable go to state 114 State 76 - 558 optional_shared: "shared" . - - $default reduce using rule 558 (optional_shared) - - -State 77 - - 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 559 (optional_public_or_private_variable) - - optional_public_or_private_variable go to state 116 - - -State 78 - 103 annotation_argument: annotation_argument_name '=' . string_constant 104 | annotation_argument_name '=' . "name" 105 | annotation_argument_name '=' . "integer constant" @@ -3020,18 +3016,18 @@ State 78 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 - "integer constant" shift, and go to state 119 - "floating point constant" shift, and go to state 120 - "name" shift, and go to state 121 - "start of the string" shift, and go to state 122 - '(' shift, and go to state 123 + "true" shift, and go to state 115 + "false" shift, and go to state 116 + "integer constant" shift, and go to state 117 + "floating point constant" shift, and go to state 118 + "name" shift, and go to state 119 + "start of the string" shift, and go to state 120 + '(' shift, and go to state 121 - string_constant go to state 124 + string_constant go to state 122 -State 79 +State 77 112 annotation_argument_list: annotation_argument_list ',' . annotation_argument @@ -3040,144 +3036,144 @@ State 79 "name" shift, and go to state 34 annotation_argument_name go to state 35 - annotation_argument go to state 125 + annotation_argument go to state 123 -State 80 +State 78 55 expect_error: "integer constant" ':' . "integer constant" - "integer constant" shift, and go to state 126 + "integer constant" shift, and go to state 124 -State 81 +State 79 53 expect_list: expect_list ',' . expect_error "integer constant" shift, and go to state 38 - expect_error go to state 127 + expect_error go to state 125 -State 82 +State 80 44 require_module_name: '%' require_module_name . 45 | require_module_name . '.' "name" 46 | require_module_name . '/' "name" - '.' shift, and go to state 86 + '.' shift, and go to state 84 $default reduce using rule 44 (require_module_name) -State 83 +State 81 48 require_module: require_module_name "as" . "name" is_public_module - "name" shift, and go to state 128 + "name" shift, and go to state 126 -State 84 +State 82 50 is_public_module: "public" . $default reduce using rule 50 (is_public_module) -State 85 +State 83 46 require_module_name: require_module_name '/' . "name" - "name" shift, and go to state 129 + "name" shift, and go to state 127 -State 86 +State 84 45 require_module_name: require_module_name '.' . "name" - "name" shift, and go to state 130 + "name" shift, and go to state 128 -State 87 +State 85 47 require_module: require_module_name is_public_module . $default reduce using rule 47 (require_module) -State 88 +State 86 - 580 single_alias: optional_public_or_private_alias "name" . $@38 '=' type_declaration + 583 single_alias: optional_public_or_private_alias "name" . $@38 '=' type_declaration - $default reduce using rule 579 ($@38) + $default reduce using rule 582 ($@38) - $@38 go to state 131 + $@38 go to state 129 -State 89 +State 87 - 581 alias_declaration: "typedef" single_alias ';' . + 584 alias_declaration: "typedef" single_alias ';' . - $default reduce using rule 581 (alias_declaration) + $default reduce using rule 584 (alias_declaration) -State 90 +State 88 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 + "public" shift, and go to state 130 + "private" shift, and go to state 131 $default reduce using rule 21 (optional_public_or_private_module) - optional_public_or_private_module go to state 134 + optional_public_or_private_module go to state 132 -State 91 +State 89 - 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias . "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 759 bitfield_alias_declaration: "bitfield" $@82 optional_public_or_private_alias . "name" optional_emit_commas $@83 '{' $@84 bitfield_alias_bits optional_commas $@85 '}' - "name" shift, and go to state 135 + "name" shift, and go to state 133 -State 92 +State 90 - 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias . "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 749 tuple_alias_declaration: "tuple" $@74 optional_public_or_private_alias . "name" optional_emit_semis $@75 '{' $@76 tuple_alias_type_list optional_semis $@77 '}' - "name" shift, and go to state 136 + "name" shift, and go to state 134 -State 93 +State 91 - 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias . "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 754 variant_alias_declaration: "variant" $@78 optional_public_or_private_alias . "name" optional_emit_semis $@79 '{' $@80 variant_alias_type_list optional_semis $@81 '}' - "name" shift, and go to state 137 + "name" shift, and go to state 135 -State 94 +State 92 - 266 name_in_namespace: "::" "name" . + 268 name_in_namespace: "::" "name" . - $default reduce using rule 266 (name_in_namespace) + $default reduce using rule 268 (name_in_namespace) -State 95 +State 93 - 265 name_in_namespace: "name" "::" . "name" + 267 name_in_namespace: "name" "::" . "name" - "name" shift, and go to state 138 + "name" shift, and go to state 136 -State 96 +State 94 40 expr_reader: '%' name_in_namespace $@1 . reader_character_sequence - STRING_CHARACTER shift, and go to state 139 + STRING_CHARACTER shift, and go to state 137 - reader_character_sequence go to state 140 + reader_character_sequence go to state 138 -State 97 +State 95 122 annotation_declaration: annotation_declaration . "&&" annotation_declaration 123 | annotation_declaration . "||" annotation_declaration @@ -3187,7 +3183,7 @@ State 97 $default reduce using rule 126 (annotation_declaration) -State 98 +State 96 121 annotation_declaration: '!' annotation_declaration . 122 | annotation_declaration . "&&" annotation_declaration @@ -3197,20 +3193,20 @@ State 98 $default reduce using rule 121 (annotation_declaration) -State 99 +State 97 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 - "^^" shift, and go to state 103 - ')' shift, and go to state 141 + "&&" shift, and go to state 99 + "||" shift, and go to state 100 + "^^" shift, and go to state 101 + ')' shift, and go to state 139 -State 100 +State 98 119 annotation_declaration_basic: annotation_declaration_name '(' . annotation_argument_list ')' @@ -3220,10 +3216,10 @@ State 100 annotation_argument_name go to state 35 annotation_argument go to state 36 - annotation_argument_list go to state 142 + annotation_argument_list go to state 140 -State 101 +State 99 122 annotation_declaration: annotation_declaration "&&" . annotation_declaration @@ -3237,11 +3233,11 @@ State 101 annotation_declaration_name go to state 63 annotation_declaration_basic go to state 64 - annotation_declaration go to state 143 + annotation_declaration go to state 141 name_in_namespace go to state 67 -State 102 +State 100 123 annotation_declaration: annotation_declaration "||" . annotation_declaration @@ -3255,11 +3251,11 @@ State 102 annotation_declaration_name go to state 63 annotation_declaration_basic go to state 64 - annotation_declaration go to state 144 + annotation_declaration go to state 142 name_in_namespace go to state 67 -State 103 +State 101 124 annotation_declaration: annotation_declaration "^^" . annotation_declaration @@ -3273,11 +3269,11 @@ State 103 annotation_declaration_name go to state 63 annotation_declaration_basic go to state 64 - annotation_declaration go to state 145 + annotation_declaration go to state 143 name_in_namespace go to state 67 -State 104 +State 102 128 annotation_list: annotation_list ',' . annotation_declaration @@ -3291,144 +3287,147 @@ State 104 annotation_declaration_name go to state 63 annotation_declaration_basic go to state 64 - annotation_declaration go to state 146 + annotation_declaration go to state 144 name_in_namespace go to state 67 -State 105 +State 103 130 optional_annotation_list: '[' annotation_list ']' . $default reduce using rule 130 (optional_annotation_list) -State 106 +State 104 - 224 optional_public_or_private_function: "public" . + 226 optional_public_or_private_function: "public" . - $default reduce using rule 224 (optional_public_or_private_function) + $default reduce using rule 226 (optional_public_or_private_function) -State 107 +State 105 - 223 optional_public_or_private_function: "private" . + 225 optional_public_or_private_function: "private" . - $default reduce using rule 223 (optional_public_or_private_function) + $default reduce using rule 225 (optional_public_or_private_function) -State 108 +State 106 - 227 function_declaration: optional_public_or_private_function . $@6 function_declaration_header expression_block + 229 function_declaration: optional_public_or_private_function . $@6 function_declaration_header expression_block - $default reduce using rule 226 ($@6) + $default reduce using rule 228 ($@6) - $@6 go to state 147 + $@6 go to state 145 -State 109 +State 107 - 221 global_function_declaration: optional_annotation_list "def" function_declaration . + 223 global_function_declaration: optional_annotation_list "def" function_declaration . - $default reduce using rule 221 (global_function_declaration) + $default reduce using rule 223 (global_function_declaration) -State 110 +State 108 - 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 '}' + 600 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 + "public" shift, and go to state 146 + "private" shift, and go to state 147 - $default reduce using rule 582 (optional_public_or_private_enum) + $default reduce using rule 585 (optional_public_or_private_enum) - optional_public_or_private_enum go to state 150 + optional_public_or_private_enum go to state 148 -State 111 +State 109 - 607 optional_public_or_private_structure: "public" . + 607 class_or_struct: "struct" . - $default reduce using rule 607 (optional_public_or_private_structure) + $default reduce using rule 607 (class_or_struct) -State 112 +State 110 - 606 optional_public_or_private_structure: "private" . + 606 class_or_struct: "class" . - $default reduce using rule 606 (optional_public_or_private_structure) + $default reduce using rule 606 (class_or_struct) -State 113 +State 111 - 612 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure . $@42 structure_name $@43 optional_struct_variable_declaration_list + 616 structure_declaration: optional_annotation_list $@42 class_or_struct . optional_public_or_private_structure $@43 structure_name optional_emit_semis $@44 optional_struct_variable_declaration_list - $default reduce using rule 610 ($@42) + "public" shift, and go to state 149 + "private" shift, and go to state 150 - $@42 go to state 151 + $default reduce using rule 608 (optional_public_or_private_structure) + optional_public_or_private_structure go to state 151 -State 114 - 561 optional_public_or_private_variable: "public" . +State 112 + + 564 optional_public_or_private_variable: "public" . - $default reduce using rule 561 (optional_public_or_private_variable) + $default reduce using rule 564 (optional_public_or_private_variable) -State 115 +State 113 - 560 optional_public_or_private_variable: "private" . + 563 optional_public_or_private_variable: "private" . - $default reduce using rule 560 (optional_public_or_private_variable) + $default reduce using rule 563 (optional_public_or_private_variable) -State 116 +State 114 - 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 + 569 global_let: kwd_let optional_shared optional_public_or_private_variable . '{' global_variable_declaration_list '}' + 571 | 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 567 ($@37) + $default reduce using rule 570 ($@37) $@37 go to state 153 -State 117 +State 115 107 annotation_argument: annotation_argument_name '=' "true" . $default reduce using rule 107 (annotation_argument) -State 118 +State 116 108 annotation_argument: annotation_argument_name '=' "false" . $default reduce using rule 108 (annotation_argument) -State 119 +State 117 105 annotation_argument: annotation_argument_name '=' "integer constant" . $default reduce using rule 105 (annotation_argument) -State 120 +State 118 106 annotation_argument: annotation_argument_name '=' "floating point constant" . $default reduce using rule 106 (annotation_argument) -State 121 +State 119 104 annotation_argument: annotation_argument_name '=' "name" . $default reduce using rule 104 (annotation_argument) -State 122 +State 120 31 string_constant: "start of the string" . character_sequence "end of the string" 32 | "start of the string" . "end of the string" @@ -3440,7 +3439,7 @@ State 122 character_sequence go to state 157 -State 123 +State 121 110 annotation_argument: annotation_argument_name '=' '(' . annotation_argument_value_list ')' @@ -3449,109 +3448,109 @@ State 123 "integer constant" shift, and go to state 160 "floating point constant" shift, and go to state 161 "name" shift, and go to state 162 - "start of the string" shift, and go to state 122 + "start of the string" shift, and go to state 120 string_constant go to state 163 annotation_argument_value go to state 164 annotation_argument_value_list go to state 165 -State 124 +State 122 103 annotation_argument: annotation_argument_name '=' string_constant . $default reduce using rule 103 (annotation_argument) -State 125 +State 123 112 annotation_argument_list: annotation_argument_list ',' annotation_argument . $default reduce using rule 112 (annotation_argument_list) -State 126 +State 124 55 expect_error: "integer constant" ':' "integer constant" . $default reduce using rule 55 (expect_error) -State 127 +State 125 53 expect_list: expect_list ',' expect_error . $default reduce using rule 53 (expect_list) -State 128 +State 126 48 require_module: require_module_name "as" "name" . is_public_module - "public" shift, and go to state 84 + "public" shift, and go to state 82 $default reduce using rule 49 (is_public_module) is_public_module go to state 166 -State 129 +State 127 46 require_module_name: require_module_name '/' "name" . $default reduce using rule 46 (require_module_name) -State 130 +State 128 45 require_module_name: require_module_name '.' "name" . $default reduce using rule 45 (require_module_name) -State 131 +State 129 - 580 single_alias: optional_public_or_private_alias "name" $@38 . '=' type_declaration + 583 single_alias: optional_public_or_private_alias "name" $@38 . '=' type_declaration '=' shift, and go to state 167 -State 132 +State 130 22 optional_public_or_private_module: "public" . $default reduce using rule 22 (optional_public_or_private_module) -State 133 +State 131 23 optional_public_or_private_module: "private" . $default reduce using rule 23 (optional_public_or_private_module) -State 134 +State 132 26 module_declaration: "module" module_name optional_shared optional_public_or_private_module . $default reduce using rule 26 (module_declaration) -State 135 +State 133 - 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" . optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 759 bitfield_alias_declaration: "bitfield" $@82 optional_public_or_private_alias "name" . optional_emit_commas $@83 '{' $@84 bitfield_alias_bits optional_commas $@85 '}' "emitted ," shift, and go to state 168 - $default reduce using rule 592 (optional_emit_commas) + $default reduce using rule 595 (optional_emit_commas) emit_commas go to state 169 optional_emit_commas go to state 170 -State 136 +State 134 - 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" . optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 749 tuple_alias_declaration: "tuple" $@74 optional_public_or_private_alias "name" . optional_emit_semis $@75 '{' $@76 tuple_alias_type_list optional_semis $@77 '}' "emitted ;" shift, and go to state 171 @@ -3561,9 +3560,9 @@ State 136 optional_emit_semis go to state 173 -State 137 +State 135 - 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" . optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 754 variant_alias_declaration: "variant" $@78 optional_public_or_private_alias "name" . optional_emit_semis $@79 '{' $@80 variant_alias_type_list optional_semis $@81 '}' "emitted ;" shift, and go to state 171 @@ -3573,21 +3572,21 @@ State 137 optional_emit_semis go to state 174 -State 138 +State 136 - 265 name_in_namespace: "name" "::" "name" . + 267 name_in_namespace: "name" "::" "name" . - $default reduce using rule 265 (name_in_namespace) + $default reduce using rule 267 (name_in_namespace) -State 139 +State 137 37 reader_character_sequence: STRING_CHARACTER . $default reduce using rule 37 (reader_character_sequence) -State 140 +State 138 38 reader_character_sequence: reader_character_sequence . STRING_CHARACTER 40 expr_reader: '%' name_in_namespace $@1 reader_character_sequence . @@ -3597,23 +3596,23 @@ State 140 $default reduce using rule 40 (expr_reader) -State 141 +State 139 125 annotation_declaration: '(' annotation_declaration ')' . $default reduce using rule 125 (annotation_declaration) -State 142 +State 140 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 77 ')' shift, and go to state 176 -State 143 +State 141 122 annotation_declaration: annotation_declaration . "&&" annotation_declaration 122 | annotation_declaration "&&" annotation_declaration . @@ -3623,48 +3622,48 @@ State 143 $default reduce using rule 122 (annotation_declaration) -State 144 +State 142 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 + "&&" shift, and go to state 99 + "^^" shift, and go to state 101 $default reduce using rule 123 (annotation_declaration) -State 145 +State 143 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 + "&&" shift, and go to state 99 $default reduce using rule 124 (annotation_declaration) -State 146 +State 144 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 + "&&" shift, and go to state 99 + "||" shift, and go to state 100 + "^^" shift, and go to state 101 $default reduce using rule 128 (annotation_list) -State 147 +State 145 - 227 function_declaration: optional_public_or_private_function $@6 . function_declaration_header expression_block + 229 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 @@ -3700,60 +3699,71 @@ State 147 function_declaration_header go to state 207 -State 148 +State 146 - 584 optional_public_or_private_enum: "public" . + 587 optional_public_or_private_enum: "public" . - $default reduce using rule 584 (optional_public_or_private_enum) + $default reduce using rule 587 (optional_public_or_private_enum) -State 149 +State 147 - 583 optional_public_or_private_enum: "private" . + 586 optional_public_or_private_enum: "private" . - $default reduce using rule 583 (optional_public_or_private_enum) + $default reduce using rule 586 (optional_public_or_private_enum) -State 150 +State 148 - 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 '}' + 600 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 enum_name go to state 209 -State 151 +State 149 + + 610 optional_public_or_private_structure: "public" . + + $default reduce using rule 610 (optional_public_or_private_structure) + + +State 150 + + 609 optional_public_or_private_structure: "private" . + + $default reduce using rule 609 (optional_public_or_private_structure) + - 612 structure_declaration: optional_annotation_list class_or_struct optional_public_or_private_structure $@42 . structure_name $@43 optional_struct_variable_declaration_list +State 151 - "sealed" shift, and go to state 210 + 616 structure_declaration: optional_annotation_list $@42 class_or_struct optional_public_or_private_structure . $@43 structure_name optional_emit_semis $@44 optional_struct_variable_declaration_list - $default reduce using rule 600 (optional_sealed) + $default reduce using rule 614 ($@43) - optional_sealed go to state 211 - structure_name go to state 212 + $@43 go to state 210 State 152 - 566 global_let: kwd_let optional_shared optional_public_or_private_variable '{' . global_variable_declaration_list '}' + 569 global_let: kwd_let optional_shared optional_public_or_private_variable '{' . global_variable_declaration_list '}' - $default reduce using rule 562 (global_variable_declaration_list) + $default reduce using rule 565 (global_variable_declaration_list) - global_variable_declaration_list go to state 213 + global_variable_declaration_list go to state 211 State 153 - 568 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 . optional_field_annotation global_let_variable_declaration + 571 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 + '@' shift, and go to state 212 - $default reduce using rule 492 (optional_field_annotation) + $default reduce using rule 494 (optional_field_annotation) - metadata_argument_list go to state 215 - optional_field_annotation go to state 216 + metadata_argument_list go to state 213 + optional_field_annotation go to state 214 State 154 @@ -3783,9 +3793,9 @@ State 157 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 - "end of the string" shift, and go to state 219 + STRING_CHARACTER shift, and go to state 215 + STRING_CHARACTER_ESC shift, and go to state 216 + "end of the string" shift, and go to state 217 State 158 @@ -3842,8 +3852,8 @@ State 165 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 + ',' shift, and go to state 218 + ')' shift, and go to state 219 State 166 @@ -3855,86 +3865,86 @@ State 166 State 167 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 583 single_alias: optional_public_or_private_alias "name" $@38 '=' . type_declaration + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 270 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 + type_declaration go to state 268 State 168 - 590 emit_commas: "emitted ," . + 593 emit_commas: "emitted ," . - $default reduce using rule 590 (emit_commas) + $default reduce using rule 593 (emit_commas) State 169 - 591 emit_commas: emit_commas . "emitted ," - 593 optional_emit_commas: emit_commas . + 594 emit_commas: emit_commas . "emitted ," + 596 optional_emit_commas: emit_commas . - "emitted ," shift, and go to state 271 + "emitted ," shift, and go to state 269 - $default reduce using rule 593 (optional_emit_commas) + $default reduce using rule 596 (optional_emit_commas) State 170 - 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas . $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 759 bitfield_alias_declaration: "bitfield" $@82 optional_public_or_private_alias "name" optional_emit_commas . $@83 '{' $@84 bitfield_alias_bits optional_commas $@85 '}' - $default reduce using rule 752 ($@82) + $default reduce using rule 756 ($@83) - $@82 go to state 272 + $@83 go to state 270 State 171 @@ -3949,27 +3959,27 @@ State 172 62 emit_semis: emit_semis . "emitted ;" 64 optional_emit_semis: emit_semis . - "emitted ;" shift, and go to state 273 + "emitted ;" shift, and go to state 271 $default reduce using rule 64 (optional_emit_semis) State 173 - 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis . $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 749 tuple_alias_declaration: "tuple" $@74 optional_public_or_private_alias "name" optional_emit_semis . $@75 '{' $@76 tuple_alias_type_list optional_semis $@77 '}' - $default reduce using rule 742 ($@74) + $default reduce using rule 746 ($@75) - $@74 go to state 274 + $@75 go to state 272 State 174 - 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis . $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 754 variant_alias_declaration: "variant" $@78 optional_public_or_private_alias "name" optional_emit_semis . $@79 '{' $@80 variant_alias_type_list optional_semis $@81 '}' - $default reduce using rule 747 ($@78) + $default reduce using rule 751 ($@79) - $@78 go to state 275 + $@79 go to state 273 State 175 @@ -3988,443 +3998,432 @@ State 176 State 177 - 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 - "delete" shift, and go to state 278 - "+=" shift, and go to state 279 - "-=" shift, and go to state 280 - "/=" shift, and go to state 281 - "*=" shift, and go to state 282 - "%=" shift, and go to state 283 - "&=" shift, and go to state 284 - "|=" shift, and go to state 285 - "^=" shift, and go to state 286 - "<<" shift, and go to state 287 - ">>" shift, and go to state 288 - "++" shift, and go to state 289 - "--" shift, and go to state 290 - "<=" shift, and go to state 291 - "<<=" shift, and go to state 292 - ">>=" shift, and go to state 293 - ">=" shift, and go to state 294 - "==" shift, and go to state 295 - "!=" shift, and go to state 296 - "??" shift, and go to state 297 - "?." shift, and go to state 298 - "?[" shift, and go to state 299 - ":=" shift, and go to state 300 - "<<<" shift, and go to state 301 - ">>>" shift, and go to state 302 - "<<<=" shift, and go to state 303 - ">>>=" shift, and go to state 304 - "&&" shift, and go to state 305 - "||" shift, and go to state 306 - "^^" shift, and go to state 307 - "&&=" shift, and go to state 308 - "||=" shift, and go to state 309 - "^^=" shift, and go to state 310 - ".." shift, and go to state 311 - '?' shift, and go to state 312 - '|' shift, and go to state 313 - '^' shift, and go to state 314 - '&' shift, and go to state 315 - '<' shift, and go to state 316 - '>' shift, and go to state 317 - '-' shift, and go to state 318 - '+' shift, and go to state 319 - '*' shift, and go to state 320 - '/' shift, and go to state 321 - '%' shift, and go to state 322 - '~' shift, and go to state 323 - '!' shift, and go to state 324 - '.' shift, and go to state 325 - '[' shift, and go to state 326 + 139 function_name: "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" . '^' + 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" . '.' + 185 | "operator" . "?." + 186 | "operator" . '.' "name" + 187 | "operator" . '.' "name" ":=" + 188 | "operator" . "?." "name" + 189 | "operator" . ":=" + 190 | "operator" . "delete" + 191 | "operator" . "??" + 192 | "operator" . "is" + 193 | "operator" . "as" + 194 | "operator" . "is" "name" + 195 | "operator" . "as" "name" + 196 | "operator" . '?' "as" + 197 | "operator" . '?' "as" "name" + + "is" shift, and go to state 274 + "as" shift, and go to state 275 + "delete" shift, and go to state 276 + "+=" shift, and go to state 277 + "-=" shift, and go to state 278 + "/=" shift, and go to state 279 + "*=" shift, and go to state 280 + "%=" shift, and go to state 281 + "&=" shift, and go to state 282 + "|=" shift, and go to state 283 + "^=" shift, and go to state 284 + "<<" shift, and go to state 285 + ">>" shift, and go to state 286 + "++" shift, and go to state 287 + "--" shift, and go to state 288 + "<=" shift, and go to state 289 + "<<=" shift, and go to state 290 + ">>=" shift, and go to state 291 + ">=" shift, and go to state 292 + "==" shift, and go to state 293 + "!=" shift, and go to state 294 + "??" shift, and go to state 295 + "?." shift, and go to state 296 + "?[" shift, and go to state 297 + ":=" shift, and go to state 298 + "<<<" shift, and go to state 299 + ">>>" shift, and go to state 300 + "<<<=" shift, and go to state 301 + ">>>=" shift, and go to state 302 + "&&" shift, and go to state 303 + "||" shift, and go to state 304 + "^^" shift, and go to state 305 + "&&=" shift, and go to state 306 + "||=" shift, and go to state 307 + "^^=" shift, and go to state 308 + ".." shift, and go to state 309 + '?' shift, and go to state 310 + '|' shift, and go to state 311 + '^' shift, and go to state 312 + '&' shift, and go to state 313 + '<' shift, and go to state 314 + '>' shift, and go to state 315 + '-' shift, and go to state 316 + '+' shift, and go to state 317 + '*' shift, and go to state 318 + '/' shift, and go to state 319 + '%' shift, and go to state 320 + '~' shift, and go to state 321 + '!' shift, and go to state 322 + '.' shift, and go to state 323 + '[' shift, and go to state 324 State 178 - 196 function_name: "bool" . + 198 function_name: "bool" . - $default reduce using rule 196 (function_name) + $default reduce using rule 198 (function_name) State 179 - 197 function_name: "string" . + 199 function_name: "string" . - $default reduce using rule 197 (function_name) + $default reduce using rule 199 (function_name) State 180 - 198 function_name: "int" . + 200 function_name: "int" . - $default reduce using rule 198 (function_name) + $default reduce using rule 200 (function_name) State 181 - 199 function_name: "int2" . + 201 function_name: "int2" . - $default reduce using rule 199 (function_name) + $default reduce using rule 201 (function_name) State 182 - 200 function_name: "int3" . + 202 function_name: "int3" . - $default reduce using rule 200 (function_name) + $default reduce using rule 202 (function_name) State 183 - 201 function_name: "int4" . + 203 function_name: "int4" . - $default reduce using rule 201 (function_name) + $default reduce using rule 203 (function_name) State 184 - 202 function_name: "uint" . + 204 function_name: "uint" . - $default reduce using rule 202 (function_name) + $default reduce using rule 204 (function_name) State 185 - 203 function_name: "uint2" . + 205 function_name: "uint2" . - $default reduce using rule 203 (function_name) + $default reduce using rule 205 (function_name) State 186 - 204 function_name: "uint3" . + 206 function_name: "uint3" . - $default reduce using rule 204 (function_name) + $default reduce using rule 206 (function_name) State 187 - 205 function_name: "uint4" . + 207 function_name: "uint4" . - $default reduce using rule 205 (function_name) + $default reduce using rule 207 (function_name) State 188 - 206 function_name: "float" . + 208 function_name: "float" . - $default reduce using rule 206 (function_name) + $default reduce using rule 208 (function_name) State 189 - 207 function_name: "float2" . + 209 function_name: "float2" . - $default reduce using rule 207 (function_name) + $default reduce using rule 209 (function_name) State 190 - 208 function_name: "float3" . + 210 function_name: "float3" . - $default reduce using rule 208 (function_name) + $default reduce using rule 210 (function_name) State 191 - 209 function_name: "float4" . + 211 function_name: "float4" . - $default reduce using rule 209 (function_name) + $default reduce using rule 211 (function_name) State 192 - 210 function_name: "range" . + 212 function_name: "range" . - $default reduce using rule 210 (function_name) + $default reduce using rule 212 (function_name) State 193 - 211 function_name: "urange" . + 213 function_name: "urange" . - $default reduce using rule 211 (function_name) + $default reduce using rule 213 (function_name) State 194 - 212 function_name: "range64" . + 214 function_name: "range64" . - $default reduce using rule 212 (function_name) + $default reduce using rule 214 (function_name) State 195 - 213 function_name: "urange64" . + 215 function_name: "urange64" . - $default reduce using rule 213 (function_name) + $default reduce using rule 215 (function_name) State 196 - 214 function_name: "int64" . + 216 function_name: "int64" . - $default reduce using rule 214 (function_name) + $default reduce using rule 216 (function_name) State 197 - 215 function_name: "uint64" . + 217 function_name: "uint64" . - $default reduce using rule 215 (function_name) + $default reduce using rule 217 (function_name) State 198 - 216 function_name: "double" . + 218 function_name: "double" . - $default reduce using rule 216 (function_name) + $default reduce using rule 218 (function_name) State 199 - 217 function_name: "int8" . + 219 function_name: "int8" . - $default reduce using rule 217 (function_name) + $default reduce using rule 219 (function_name) State 200 - 218 function_name: "uint8" . + 220 function_name: "uint8" . - $default reduce using rule 218 (function_name) + $default reduce using rule 220 (function_name) State 201 - 219 function_name: "int16" . + 221 function_name: "int16" . - $default reduce using rule 219 (function_name) + $default reduce using rule 221 (function_name) State 202 - 220 function_name: "uint16" . + 222 function_name: "uint16" . - $default reduce using rule 220 (function_name) + $default reduce using rule 222 (function_name) State 203 - 168 function_name: "++" . "operator" + 170 function_name: "++" . "operator" - "operator" shift, and go to state 327 + "operator" shift, and go to state 325 State 204 - 169 function_name: "--" . "operator" + 171 function_name: "--" . "operator" - "operator" shift, and go to state 328 + "operator" shift, and go to state 326 State 205 - 136 function_name: "name" . + 138 function_name: "name" . - $default reduce using rule 136 (function_name) + $default reduce using rule 138 (function_name) State 206 - 225 function_declaration_header: function_name . optional_function_argument_list optional_function_type + 227 function_declaration_header: function_name . optional_function_argument_list optional_function_type - '(' shift, and go to state 329 + '(' shift, and go to state 327 - $default reduce using rule 131 (optional_function_argument_list) + $default reduce using rule 133 (optional_function_argument_list) - optional_function_argument_list go to state 330 + optional_function_argument_list go to state 328 State 207 - 227 function_declaration: optional_public_or_private_function $@6 function_declaration_header . expression_block + 229 function_declaration: optional_public_or_private_function $@6 function_declaration_header . expression_block - $default reduce using rule 232 ($@9) + $default reduce using rule 234 ($@9) - expression_block go to state 331 - $@9 go to state 332 + expression_block go to state 329 + $@9 go to state 330 State 208 - 585 enum_name: "name" . + 588 enum_name: "name" . - $default reduce using rule 585 (enum_name) + $default reduce using rule 588 (enum_name) State 209 - 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 '}' + 600 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 + ':' shift, and go to state 331 - $default reduce using rule 586 (optional_enum_basic_type_declaration) + $default reduce using rule 589 (optional_enum_basic_type_declaration) - optional_enum_basic_type_declaration go to state 334 + optional_enum_basic_type_declaration go to state 332 State 210 - 601 optional_sealed: "sealed" . - - $default reduce using rule 601 (optional_sealed) - - -State 211 - - 602 structure_name: optional_sealed . "name" optional_structure_parent - - "name" shift, and go to state 335 - - -State 212 + 616 structure_declaration: optional_annotation_list $@42 class_or_struct optional_public_or_private_structure $@43 . structure_name optional_emit_semis $@44 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 333 - $default reduce using rule 611 ($@43) + $default reduce using rule 603 (optional_sealed) - $@43 go to state 336 + optional_sealed go to state 334 + structure_name go to state 335 -State 213 +State 211 - 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 . '}' + 566 global_variable_declaration_list: global_variable_declaration_list . ';' + 568 | global_variable_declaration_list . $@36 optional_field_annotation let_variable_declaration + 569 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 + ';' shift, and go to state 336 + '}' shift, and go to state 337 - $default reduce using rule 564 ($@36) + $default reduce using rule 567 ($@36) - $@36 go to state 339 + $@36 go to state 338 -State 214 +State 212 - 113 metadata_argument_list: '@' . annotation_argument + 113 metadata_argument_list: '@' . annotation_argument optional_emit_semis "type" shift, and go to state 32 "in" shift, and go to state 33 "name" shift, and go to state 34 annotation_argument_name go to state 35 - annotation_argument go to state 340 + annotation_argument go to state 339 -State 215 +State 213 - 114 metadata_argument_list: metadata_argument_list . '@' annotation_argument - 493 optional_field_annotation: metadata_argument_list . + 114 metadata_argument_list: metadata_argument_list . '@' annotation_argument optional_emit_semis + 495 optional_field_annotation: metadata_argument_list . - '@' shift, and go to state 341 + '@' shift, and go to state 340 - $default reduce using rule 493 (optional_field_annotation) + $default reduce using rule 495 (optional_field_annotation) -State 216 +State 214 - 568 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation . global_let_variable_declaration + 571 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 + "name" shift, and go to state 341 - global_let_variable_name_with_pos_list go to state 343 - global_let_variable_declaration go to state 344 + global_let_variable_name_with_pos_list go to state 342 + global_let_variable_declaration go to state 343 -State 217 +State 215 29 character_sequence: character_sequence STRING_CHARACTER . $default reduce using rule 29 (character_sequence) -State 218 +State 216 30 character_sequence: character_sequence STRING_CHARACTER_ESC . $default reduce using rule 30 (character_sequence) -State 219 +State 217 31 string_constant: "start of the string" character_sequence "end of the string" . $default reduce using rule 31 (string_constant) -State 220 +State 218 99 annotation_argument_value_list: annotation_argument_value_list ',' . annotation_argument_value @@ -4433,2009 +4432,2017 @@ State 220 "integer constant" shift, and go to state 160 "floating point constant" shift, and go to state 161 "name" shift, and go to state 162 - "start of the string" shift, and go to state 122 + "start of the string" shift, and go to state 120 string_constant go to state 163 - annotation_argument_value go to state 345 + annotation_argument_value go to state 344 -State 221 +State 219 110 annotation_argument: annotation_argument_name '=' '(' annotation_argument_value_list ')' . $default reduce using rule 110 (annotation_argument) -State 222 +State 220 + + 685 type_declaration_no_options_no_dim: "type" . '<' $@47 type_declaration '>' $@48 + + '<' shift, and go to state 345 + - 681 type_declaration_no_options_no_dim: "type" . '<' $@46 type_declaration '>' $@47 +State 221 + + 708 type_declaration_no_options_no_dim: "array" . '<' $@52 type_declaration '>' $@53 '<' shift, and go to state 346 -State 223 +State 222 - 704 type_declaration_no_options_no_dim: "array" . '<' $@51 type_declaration '>' $@52 + 711 type_declaration_no_options_no_dim: "table" . '<' $@54 table_type_pair '>' $@55 '<' shift, and go to state 347 +State 223 + + 686 type_declaration_no_options_no_dim: "typedecl" . '(' expr ')' + + '(' shift, and go to state 348 + + State 224 - 707 type_declaration_no_options_no_dim: "table" . '<' $@53 table_type_pair '>' $@54 + 714 type_declaration_no_options_no_dim: "iterator" . '<' $@56 type_declaration '>' $@57 - '<' shift, and go to state 348 + '<' shift, and go to state 349 State 225 - 682 type_declaration_no_options_no_dim: "typedecl" . '(' expr ')' + 704 type_declaration_no_options_no_dim: "smart_ptr" . '<' $@50 type_declaration '>' $@51 - '(' shift, and go to state 349 + '<' shift, and go to state 350 State 226 - 710 type_declaration_no_options_no_dim: "iterator" . '<' $@55 type_declaration '>' $@56 + 622 basic_type_declaration: "bool" . - '<' shift, and go to state 350 + $default reduce using rule 622 (basic_type_declaration) State 227 - 700 type_declaration_no_options_no_dim: "smart_ptr" . '<' $@49 type_declaration '>' $@50 + 642 basic_type_declaration: "void" . - '<' shift, and go to state 351 + $default reduce using rule 642 (basic_type_declaration) State 228 - 618 basic_type_declaration: "bool" . + 623 basic_type_declaration: "string" . - $default reduce using rule 618 (basic_type_declaration) + $default reduce using rule 623 (basic_type_declaration) State 229 - 638 basic_type_declaration: "void" . + 658 auto_type_declaration: "auto" . + 659 | "auto" . '(' "name" ')' - $default reduce using rule 638 (basic_type_declaration) + '(' shift, and go to state 351 + + $default reduce using rule 658 (auto_type_declaration) State 230 - 619 basic_type_declaration: "string" . + 624 basic_type_declaration: "int" . - $default reduce using rule 619 (basic_type_declaration) + $default reduce using rule 624 (basic_type_declaration) State 231 - 654 auto_type_declaration: "auto" . - 655 | "auto" . '(' "name" ')' - - '(' shift, and go to state 352 + 628 basic_type_declaration: "int2" . - $default reduce using rule 654 (auto_type_declaration) + $default reduce using rule 628 (basic_type_declaration) State 232 - 620 basic_type_declaration: "int" . + 629 basic_type_declaration: "int3" . - $default reduce using rule 620 (basic_type_declaration) + $default reduce using rule 629 (basic_type_declaration) State 233 - 624 basic_type_declaration: "int2" . + 630 basic_type_declaration: "int4" . - $default reduce using rule 624 (basic_type_declaration) + $default reduce using rule 630 (basic_type_declaration) State 234 - 625 basic_type_declaration: "int3" . + 631 basic_type_declaration: "uint" . - $default reduce using rule 625 (basic_type_declaration) + $default reduce using rule 631 (basic_type_declaration) State 235 - 626 basic_type_declaration: "int4" . + 648 basic_type_declaration: "bitfield" . + 668 bitfield_type_declaration: "bitfield" . '<' $@45 bitfield_bits '>' $@46 - $default reduce using rule 626 (basic_type_declaration) + '<' shift, and go to state 352 + + $default reduce using rule 648 (basic_type_declaration) State 236 - 627 basic_type_declaration: "uint" . + 635 basic_type_declaration: "uint2" . - $default reduce using rule 627 (basic_type_declaration) + $default reduce using rule 635 (basic_type_declaration) State 237 - 644 basic_type_declaration: "bitfield" . - 664 bitfield_type_declaration: "bitfield" . '<' $@44 bitfield_bits '>' $@45 + 636 basic_type_declaration: "uint3" . - '<' shift, and go to state 353 - - $default reduce using rule 644 (basic_type_declaration) + $default reduce using rule 636 (basic_type_declaration) State 238 - 631 basic_type_declaration: "uint2" . + 637 basic_type_declaration: "uint4" . - $default reduce using rule 631 (basic_type_declaration) + $default reduce using rule 637 (basic_type_declaration) State 239 - 632 basic_type_declaration: "uint3" . + 638 basic_type_declaration: "float" . - $default reduce using rule 632 (basic_type_declaration) + $default reduce using rule 638 (basic_type_declaration) State 240 - 633 basic_type_declaration: "uint4" . + 639 basic_type_declaration: "float2" . - $default reduce using rule 633 (basic_type_declaration) + $default reduce using rule 639 (basic_type_declaration) State 241 - 634 basic_type_declaration: "float" . + 640 basic_type_declaration: "float3" . - $default reduce using rule 634 (basic_type_declaration) + $default reduce using rule 640 (basic_type_declaration) State 242 - 635 basic_type_declaration: "float2" . + 641 basic_type_declaration: "float4" . - $default reduce using rule 635 (basic_type_declaration) + $default reduce using rule 641 (basic_type_declaration) State 243 - 636 basic_type_declaration: "float3" . + 643 basic_type_declaration: "range" . - $default reduce using rule 636 (basic_type_declaration) + $default reduce using rule 643 (basic_type_declaration) State 244 - 637 basic_type_declaration: "float4" . + 644 basic_type_declaration: "urange" . - $default reduce using rule 637 (basic_type_declaration) + $default reduce using rule 644 (basic_type_declaration) State 245 - 639 basic_type_declaration: "range" . + 645 basic_type_declaration: "range64" . - $default reduce using rule 639 (basic_type_declaration) + $default reduce using rule 645 (basic_type_declaration) State 246 - 640 basic_type_declaration: "urange" . + 646 basic_type_declaration: "urange64" . - $default reduce using rule 640 (basic_type_declaration) + $default reduce using rule 646 (basic_type_declaration) State 247 - 641 basic_type_declaration: "range64" . + 715 type_declaration_no_options_no_dim: "block" . + 718 | "block" . '<' $@58 type_declaration '>' $@59 + 721 | "block" . '<' $@60 optional_function_argument_list optional_function_type '>' $@61 - $default reduce using rule 641 (basic_type_declaration) + '<' shift, and go to state 353 + + $default reduce using rule 715 (type_declaration_no_options_no_dim) State 248 - 642 basic_type_declaration: "urange64" . + 627 basic_type_declaration: "int64" . - $default reduce using rule 642 (basic_type_declaration) + $default reduce using rule 627 (basic_type_declaration) State 249 - 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 + 634 basic_type_declaration: "uint64" . - $default reduce using rule 711 (type_declaration_no_options_no_dim) + $default reduce using rule 634 (basic_type_declaration) State 250 - 623 basic_type_declaration: "int64" . + 647 basic_type_declaration: "double" . - $default reduce using rule 623 (basic_type_declaration) + $default reduce using rule 647 (basic_type_declaration) State 251 - 630 basic_type_declaration: "uint64" . + 722 type_declaration_no_options_no_dim: "function" . + 725 | "function" . '<' $@62 type_declaration '>' $@63 + 728 | "function" . '<' $@64 optional_function_argument_list optional_function_type '>' $@65 - $default reduce using rule 630 (basic_type_declaration) + '<' shift, and go to state 354 + + $default reduce using rule 722 (type_declaration_no_options_no_dim) State 252 - 643 basic_type_declaration: "double" . + 729 type_declaration_no_options_no_dim: "lambda" . + 732 | "lambda" . '<' $@66 type_declaration '>' $@67 + 735 | "lambda" . '<' $@68 optional_function_argument_list optional_function_type '>' $@69 - $default reduce using rule 643 (basic_type_declaration) + '<' shift, and go to state 355 + $default reduce using rule 729 (type_declaration_no_options_no_dim) -State 253 - 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 +State 253 - '<' shift, and go to state 355 + 625 basic_type_declaration: "int8" . - $default reduce using rule 718 (type_declaration_no_options_no_dim) + $default reduce using rule 625 (basic_type_declaration) State 254 - 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 + 632 basic_type_declaration: "uint8" . - '<' shift, and go to state 356 - - $default reduce using rule 725 (type_declaration_no_options_no_dim) + $default reduce using rule 632 (basic_type_declaration) State 255 - 621 basic_type_declaration: "int8" . + 626 basic_type_declaration: "int16" . - $default reduce using rule 621 (basic_type_declaration) + $default reduce using rule 626 (basic_type_declaration) State 256 - 628 basic_type_declaration: "uint8" . + 633 basic_type_declaration: "uint16" . - $default reduce using rule 628 (basic_type_declaration) + $default reduce using rule 633 (basic_type_declaration) State 257 - 622 basic_type_declaration: "int16" . + 738 type_declaration_no_options_no_dim: "tuple" . '<' $@70 tuple_type_list '>' $@71 - $default reduce using rule 622 (basic_type_declaration) + '<' shift, and go to state 356 State 258 - 629 basic_type_declaration: "uint16" . + 741 type_declaration_no_options_no_dim: "variant" . '<' $@72 variant_type_list '>' $@73 - $default reduce using rule 629 (basic_type_declaration) + '<' shift, and go to state 357 State 259 - 734 type_declaration_no_options_no_dim: "tuple" . '<' $@69 tuple_type_list '>' $@70 + 660 auto_type_declaration: "$t" . '(' expr ')' - '<' shift, and go to state 357 + '(' shift, and go to state 358 State 260 - 737 type_declaration_no_options_no_dim: "variant" . '<' $@71 variant_type_list '>' $@72 + 687 type_declaration_no_options_no_dim: '$' . name_in_namespace '(' optional_expr_list ')' + 689 | '$' . name_in_namespace '<' $@49 type_declaration_no_options_list '>' '(' optional_expr_list ')' - '<' shift, and go to state 358 + "::" shift, and go to state 55 + "name" shift, and go to state 56 + + name_in_namespace go to state 359 State 261 - 656 auto_type_declaration: "$t" . '(' expr ')' + 657 structure_type_declaration: name_in_namespace . - '(' shift, and go to state 359 + $default reduce using rule 657 (structure_type_declaration) State 262 - 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 + 679 type_declaration_no_options_no_dim: basic_type_declaration . - name_in_namespace go to state 360 + $default reduce using rule 679 (type_declaration_no_options_no_dim) State 263 - 653 structure_type_declaration: name_in_namespace . + 682 type_declaration_no_options_no_dim: structure_type_declaration . - $default reduce using rule 653 (structure_type_declaration) + $default reduce using rule 682 (type_declaration_no_options_no_dim) State 264 - 675 type_declaration_no_options_no_dim: basic_type_declaration . + 680 type_declaration_no_options_no_dim: auto_type_declaration . - $default reduce using rule 675 (type_declaration_no_options_no_dim) + $default reduce using rule 680 (type_declaration_no_options_no_dim) State 265 - 678 type_declaration_no_options_no_dim: structure_type_declaration . + 681 type_declaration_no_options_no_dim: bitfield_type_declaration . - $default reduce using rule 678 (type_declaration_no_options_no_dim) + $default reduce using rule 681 (type_declaration_no_options_no_dim) State 266 - 676 type_declaration_no_options_no_dim: auto_type_declaration . + 742 type_declaration: type_declaration_no_options . - $default reduce using rule 676 (type_declaration_no_options_no_dim) + $default reduce using rule 742 (type_declaration) State 267 - 677 type_declaration_no_options_no_dim: bitfield_type_declaration . - - $default reduce using rule 677 (type_declaration_no_options_no_dim) + 677 type_declaration_no_options: type_declaration_no_options_no_dim . + 678 | type_declaration_no_options_no_dim . dim_list + 690 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim . '-' '[' ']' + 691 | type_declaration_no_options_no_dim . "explicit" + 692 | type_declaration_no_options_no_dim . "const" + 693 | type_declaration_no_options_no_dim . '-' "const" + 694 | type_declaration_no_options_no_dim . '&' + 695 | type_declaration_no_options_no_dim . '-' '&' + 696 | type_declaration_no_options_no_dim . '#' + 697 | type_declaration_no_options_no_dim . "implicit" + 698 | type_declaration_no_options_no_dim . '-' '#' + 699 | type_declaration_no_options_no_dim . "==" "const" + 700 | type_declaration_no_options_no_dim . "==" '&' + 701 | type_declaration_no_options_no_dim . '?' + 705 | type_declaration_no_options_no_dim . "??" + + "const" shift, and go to state 360 + "implicit" shift, and go to state 361 + "explicit" shift, and go to state 362 + "==" shift, and go to state 363 + "??" shift, and go to state 364 + '?' shift, and go to state 365 + '&' shift, and go to state 366 + '-' shift, and go to state 367 + '[' shift, and go to state 368 + '#' shift, and go to state 369 + + $default reduce using rule 677 (type_declaration_no_options) + + dim_list go to state 370 State 268 - 738 type_declaration: type_declaration_no_options . + 583 single_alias: optional_public_or_private_alias "name" $@38 '=' type_declaration . + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' + + '|' shift, and go to state 371 - $default reduce using rule 738 (type_declaration) + $default reduce using rule 583 (single_alias) State 269 - 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 - "explicit" shift, and go to state 363 - "==" shift, and go to state 364 - "??" shift, and go to state 365 - '?' shift, and go to state 366 - '&' shift, and go to state 367 - '-' shift, and go to state 368 - '[' shift, and go to state 369 - '#' shift, and go to state 370 - - $default reduce using rule 673 (type_declaration_no_options) - - dim_list go to state 371 + 594 emit_commas: emit_commas "emitted ," . + $default reduce using rule 594 (emit_commas) -State 270 - 580 single_alias: optional_public_or_private_alias "name" $@38 '=' type_declaration . - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' +State 270 - '|' shift, and go to state 372 + 759 bitfield_alias_declaration: "bitfield" $@82 optional_public_or_private_alias "name" optional_emit_commas $@83 . '{' $@84 bitfield_alias_bits optional_commas $@85 '}' - $default reduce using rule 580 (single_alias) + '{' shift, and go to state 372 State 271 - 591 emit_commas: emit_commas "emitted ," . + 62 emit_semis: emit_semis "emitted ;" . - $default reduce using rule 591 (emit_commas) + $default reduce using rule 62 (emit_semis) State 272 - 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 . '{' $@83 bitfield_alias_bits optional_commas $@84 '}' + 749 tuple_alias_declaration: "tuple" $@74 optional_public_or_private_alias "name" optional_emit_semis $@75 . '{' $@76 tuple_alias_type_list optional_semis $@77 '}' '{' shift, and go to state 373 State 273 - 62 emit_semis: emit_semis "emitted ;" . + 754 variant_alias_declaration: "variant" $@78 optional_public_or_private_alias "name" optional_emit_semis $@79 . '{' $@80 variant_alias_type_list optional_semis $@81 '}' - $default reduce using rule 62 (emit_semis) + '{' shift, and go to state 374 State 274 - 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 . '{' $@75 tuple_alias_type_list optional_semis $@76 '}' + 192 function_name: "operator" "is" . + 194 | "operator" "is" . "name" - '{' shift, and go to state 374 + "name" shift, and go to state 375 + + $default reduce using rule 192 (function_name) State 275 - 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 . '{' $@79 variant_alias_type_list optional_semis $@80 '}' + 193 function_name: "operator" "as" . + 195 | "operator" "as" . "name" - '{' shift, and go to state 375 + "name" shift, and go to state 376 + + $default reduce using rule 193 (function_name) State 276 - 190 function_name: "operator" "is" . - 192 | "operator" "is" . "name" - - "name" shift, and go to state 376 + 190 function_name: "operator" "delete" . $default reduce using rule 190 (function_name) State 277 - 191 function_name: "operator" "as" . - 193 | "operator" "as" . "name" - - "name" shift, and go to state 377 + 141 function_name: "operator" "+=" . - $default reduce using rule 191 (function_name) + $default reduce using rule 141 (function_name) State 278 - 188 function_name: "operator" "delete" . + 142 function_name: "operator" "-=" . - $default reduce using rule 188 (function_name) + $default reduce using rule 142 (function_name) State 279 - 139 function_name: "operator" "+=" . + 144 function_name: "operator" "/=" . - $default reduce using rule 139 (function_name) + $default reduce using rule 144 (function_name) State 280 - 140 function_name: "operator" "-=" . + 143 function_name: "operator" "*=" . - $default reduce using rule 140 (function_name) + $default reduce using rule 143 (function_name) State 281 - 142 function_name: "operator" "/=" . + 145 function_name: "operator" "%=" . - $default reduce using rule 142 (function_name) + $default reduce using rule 145 (function_name) State 282 - 141 function_name: "operator" "*=" . + 146 function_name: "operator" "&=" . - $default reduce using rule 141 (function_name) + $default reduce using rule 146 (function_name) State 283 - 143 function_name: "operator" "%=" . + 147 function_name: "operator" "|=" . - $default reduce using rule 143 (function_name) + $default reduce using rule 147 (function_name) State 284 - 144 function_name: "operator" "&=" . + 148 function_name: "operator" "^=" . - $default reduce using rule 144 (function_name) + $default reduce using rule 148 (function_name) State 285 - 145 function_name: "operator" "|=" . + 174 function_name: "operator" "<<" . - $default reduce using rule 145 (function_name) + $default reduce using rule 174 (function_name) State 286 - 146 function_name: "operator" "^=" . + 175 function_name: "operator" ">>" . - $default reduce using rule 146 (function_name) + $default reduce using rule 175 (function_name) State 287 - 172 function_name: "operator" "<<" . + 172 function_name: "operator" "++" . $default reduce using rule 172 (function_name) State 288 - 173 function_name: "operator" ">>" . + 173 function_name: "operator" "--" . $default reduce using rule 173 (function_name) State 289 - 170 function_name: "operator" "++" . + 165 function_name: "operator" "<=" . - $default reduce using rule 170 (function_name) + $default reduce using rule 165 (function_name) State 290 - 171 function_name: "operator" "--" . + 176 function_name: "operator" "<<=" . - $default reduce using rule 171 (function_name) + $default reduce using rule 176 (function_name) State 291 - 163 function_name: "operator" "<=" . + 177 function_name: "operator" ">>=" . - $default reduce using rule 163 (function_name) + $default reduce using rule 177 (function_name) State 292 - 174 function_name: "operator" "<<=" . + 166 function_name: "operator" ">=" . - $default reduce using rule 174 (function_name) + $default reduce using rule 166 (function_name) State 293 - 175 function_name: "operator" ">>=" . + 163 function_name: "operator" "==" . - $default reduce using rule 175 (function_name) + $default reduce using rule 163 (function_name) State 294 - 164 function_name: "operator" ">=" . + 164 function_name: "operator" "!=" . $default reduce using rule 164 (function_name) State 295 - 161 function_name: "operator" "==" . + 191 function_name: "operator" "??" . - $default reduce using rule 161 (function_name) + $default reduce using rule 191 (function_name) State 296 - 162 function_name: "operator" "!=" . + 185 function_name: "operator" "?." . + 188 | "operator" "?." . "name" - $default reduce using rule 162 (function_name) + "name" shift, and go to state 377 + + $default reduce using rule 185 (function_name) State 297 - 189 function_name: "operator" "??" . + 183 function_name: "operator" "?[" . ']' - $default reduce using rule 189 (function_name) + ']' shift, and go to state 378 State 298 - 183 function_name: "operator" "?." . - 186 | "operator" "?." . "name" + 189 function_name: "operator" ":=" . - "name" shift, and go to state 378 - - $default reduce using rule 183 (function_name) + $default reduce using rule 189 (function_name) State 299 - 181 function_name: "operator" "?[" . ']' + 178 function_name: "operator" "<<<" . - ']' shift, and go to state 379 + $default reduce using rule 178 (function_name) State 300 - 187 function_name: "operator" ":=" . + 179 function_name: "operator" ">>>" . - $default reduce using rule 187 (function_name) + $default reduce using rule 179 (function_name) State 301 - 176 function_name: "operator" "<<<" . + 180 function_name: "operator" "<<<=" . - $default reduce using rule 176 (function_name) + $default reduce using rule 180 (function_name) State 302 - 177 function_name: "operator" ">>>" . + 181 function_name: "operator" ">>>=" . - $default reduce using rule 177 (function_name) + $default reduce using rule 181 (function_name) State 303 - 178 function_name: "operator" "<<<=" . + 152 function_name: "operator" "&&" . - $default reduce using rule 178 (function_name) + $default reduce using rule 152 (function_name) State 304 - 179 function_name: "operator" ">>>=" . + 153 function_name: "operator" "||" . - $default reduce using rule 179 (function_name) + $default reduce using rule 153 (function_name) State 305 - 150 function_name: "operator" "&&" . + 154 function_name: "operator" "^^" . - $default reduce using rule 150 (function_name) + $default reduce using rule 154 (function_name) State 306 - 151 function_name: "operator" "||" . + 149 function_name: "operator" "&&=" . - $default reduce using rule 151 (function_name) + $default reduce using rule 149 (function_name) State 307 - 152 function_name: "operator" "^^" . + 150 function_name: "operator" "||=" . - $default reduce using rule 152 (function_name) + $default reduce using rule 150 (function_name) State 308 - 147 function_name: "operator" "&&=" . + 151 function_name: "operator" "^^=" . - $default reduce using rule 147 (function_name) + $default reduce using rule 151 (function_name) State 309 - 148 function_name: "operator" "||=" . + 162 function_name: "operator" ".." . - $default reduce using rule 148 (function_name) + $default reduce using rule 162 (function_name) State 310 - 149 function_name: "operator" "^^=" . + 196 function_name: "operator" '?' . "as" + 197 | "operator" '?' . "as" "name" - $default reduce using rule 149 (function_name) + "as" shift, and go to state 379 State 311 - 160 function_name: "operator" ".." . + 168 function_name: "operator" '|' . - $default reduce using rule 160 (function_name) + $default reduce using rule 168 (function_name) State 312 - 194 function_name: "operator" '?' . "as" - 195 | "operator" '?' . "as" "name" + 169 function_name: "operator" '^' . - "as" shift, and go to state 380 + $default reduce using rule 169 (function_name) State 313 - 166 function_name: "operator" '|' . + 167 function_name: "operator" '&' . - $default reduce using rule 166 (function_name) + $default reduce using rule 167 (function_name) State 314 - 167 function_name: "operator" '^' . + 160 function_name: "operator" '<' . - $default reduce using rule 167 (function_name) + $default reduce using rule 160 (function_name) State 315 - 165 function_name: "operator" '&' . + 161 function_name: "operator" '>' . - $default reduce using rule 165 (function_name) + $default reduce using rule 161 (function_name) State 316 - 158 function_name: "operator" '<' . + 156 function_name: "operator" '-' . - $default reduce using rule 158 (function_name) + $default reduce using rule 156 (function_name) State 317 - 159 function_name: "operator" '>' . + 155 function_name: "operator" '+' . - $default reduce using rule 159 (function_name) + $default reduce using rule 155 (function_name) State 318 - 154 function_name: "operator" '-' . + 157 function_name: "operator" '*' . - $default reduce using rule 154 (function_name) + $default reduce using rule 157 (function_name) State 319 - 153 function_name: "operator" '+' . + 158 function_name: "operator" '/' . - $default reduce using rule 153 (function_name) + $default reduce using rule 158 (function_name) State 320 - 155 function_name: "operator" '*' . + 159 function_name: "operator" '%' . - $default reduce using rule 155 (function_name) + $default reduce using rule 159 (function_name) State 321 - 156 function_name: "operator" '/' . + 140 function_name: "operator" '~' . - $default reduce using rule 156 (function_name) + $default reduce using rule 140 (function_name) State 322 - 157 function_name: "operator" '%' . + 139 function_name: "operator" '!' . - $default reduce using rule 157 (function_name) + $default reduce using rule 139 (function_name) State 323 - 138 function_name: "operator" '~' . + 184 function_name: "operator" '.' . + 186 | "operator" '.' . "name" + 187 | "operator" '.' . "name" ":=" - $default reduce using rule 138 (function_name) + "name" shift, and go to state 380 + + $default reduce using rule 184 (function_name) State 324 - 137 function_name: "operator" '!' . + 182 function_name: "operator" '[' . ']' - $default reduce using rule 137 (function_name) + ']' shift, and go to state 381 State 325 - 182 function_name: "operator" '.' . - 184 | "operator" '.' . "name" - 185 | "operator" '.' . "name" ":=" + 170 function_name: "++" "operator" . - "name" shift, and go to state 381 - - $default reduce using rule 182 (function_name) + $default reduce using rule 170 (function_name) State 326 - 180 function_name: "operator" '[' . ']' + 171 function_name: "--" "operator" . - ']' shift, and go to state 382 + $default reduce using rule 171 (function_name) State 327 - 168 function_name: "++" "operator" . + 134 optional_function_argument_list: '(' . ')' + 135 | '(' . function_argument_list ')' - $default reduce using rule 168 (function_name) + "$a" shift, and go to state 382 + ')' shift, and go to state 383 + '@' shift, and go to state 212 + $default reduce using rule 494 (optional_field_annotation) -State 328 + metadata_argument_list go to state 213 + optional_field_annotation go to state 384 + function_argument_declaration go to state 385 + function_argument_list go to state 386 - 169 function_name: "--" "operator" . - $default reduce using rule 169 (function_name) +State 328 + 227 function_declaration_header: function_name optional_function_argument_list . optional_function_type -State 329 + ':' shift, and go to state 387 - 132 optional_function_argument_list: '(' . ')' - 133 | '(' . function_argument_list ')' + $default reduce using rule 136 (optional_function_type) - "$a" shift, and go to state 383 - ')' shift, and go to state 384 - '@' shift, and go to state 214 + optional_function_type go to state 388 - $default reduce using rule 492 (optional_field_annotation) - metadata_argument_list go to state 215 - optional_field_annotation go to state 385 - function_argument_declaration go to state 386 - function_argument_list go to state 387 +State 329 + 229 function_declaration: optional_public_or_private_function $@6 function_declaration_header expression_block . -State 330 + $default reduce using rule 229 (function_declaration) - 225 function_declaration_header: function_name optional_function_argument_list . optional_function_type - ':' shift, and go to state 388 +State 330 - $default reduce using rule 134 (optional_function_type) + 236 expression_block: $@9 . '{' expressions $@10 '}' expression_block_finally - optional_function_type go to state 389 + '{' shift, and go to state 389 State 331 - 227 function_declaration: optional_public_or_private_function $@6 function_declaration_header expression_block . + 590 optional_enum_basic_type_declaration: ':' . enum_basic_type_declaration + + "int" shift, and go to state 390 + "uint" shift, and go to state 391 + "int64" shift, and go to state 392 + "uint64" shift, and go to state 393 + "int8" shift, and go to state 394 + "uint8" shift, and go to state 395 + "int16" shift, and go to state 396 + "uint16" shift, and go to state 397 - $default reduce using rule 227 (function_declaration) + enum_basic_type_declaration go to state 398 State 332 - 234 expression_block: $@9 . '{' expressions $@10 '}' expression_block_finally + 600 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 390 + "emitted ," shift, and go to state 168 + $default reduce using rule 595 (optional_emit_commas) -State 333 - - 587 optional_enum_basic_type_declaration: ':' . enum_basic_type_declaration + emit_commas go to state 169 + optional_emit_commas go to state 399 - "int" shift, and go to state 391 - "uint" shift, and go to state 392 - "int64" shift, and go to state 393 - "uint64" shift, and go to state 394 - "int8" shift, and go to state 395 - "uint8" shift, and go to state 396 - "int16" shift, and go to state 397 - "uint16" shift, and go to state 398 - enum_basic_type_declaration go to state 399 +State 333 + 604 optional_sealed: "sealed" . -State 334 + $default reduce using rule 604 (optional_sealed) - 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 '}' - "emitted ," shift, and go to state 168 +State 334 - $default reduce using rule 592 (optional_emit_commas) + 605 structure_name: optional_sealed . "name" optional_structure_parent - emit_commas go to state 169 - optional_emit_commas go to state 400 + "name" shift, and go to state 400 State 335 - 602 structure_name: optional_sealed "name" . optional_structure_parent + 616 structure_declaration: optional_annotation_list $@42 class_or_struct optional_public_or_private_structure $@43 structure_name . optional_emit_semis $@44 optional_struct_variable_declaration_list - ':' shift, and go to state 401 + "emitted ;" shift, and go to state 171 - $default reduce using rule 598 (optional_structure_parent) + $default reduce using rule 63 (optional_emit_semis) - optional_structure_parent go to state 402 + emit_semis go to state 172 + optional_emit_semis go to state 401 State 336 - 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 + 566 global_variable_declaration_list: global_variable_declaration_list ';' . - $default reduce using rule 608 (optional_struct_variable_declaration_list) - - optional_struct_variable_declaration_list go to state 404 + $default reduce using rule 566 (global_variable_declaration_list) State 337 - 563 global_variable_declaration_list: global_variable_declaration_list ';' . + 569 global_let: kwd_let optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' . - $default reduce using rule 563 (global_variable_declaration_list) + $default reduce using rule 569 (global_let) State 338 - 566 global_let: kwd_let optional_shared optional_public_or_private_variable '{' global_variable_declaration_list '}' . - - $default reduce using rule 566 (global_let) + 568 global_variable_declaration_list: global_variable_declaration_list $@36 . optional_field_annotation let_variable_declaration + '@' shift, and go to state 212 -State 339 - - 565 global_variable_declaration_list: global_variable_declaration_list $@36 . optional_field_annotation let_variable_declaration + $default reduce using rule 494 (optional_field_annotation) - '@' shift, and go to state 214 + metadata_argument_list go to state 213 + optional_field_annotation go to state 402 - $default reduce using rule 492 (optional_field_annotation) - metadata_argument_list go to state 215 - optional_field_annotation go to state 405 +State 339 + 113 metadata_argument_list: '@' annotation_argument . optional_emit_semis -State 340 + "emitted ;" shift, and go to state 171 - 113 metadata_argument_list: '@' annotation_argument . + $default reduce using rule 63 (optional_emit_semis) - $default reduce using rule 113 (metadata_argument_list) + emit_semis go to state 172 + optional_emit_semis go to state 403 -State 341 +State 340 - 114 metadata_argument_list: metadata_argument_list '@' . annotation_argument + 114 metadata_argument_list: metadata_argument_list '@' . annotation_argument optional_emit_semis "type" shift, and go to state 32 "in" shift, and go to state 33 "name" shift, and go to state 34 annotation_argument_name go to state 35 - annotation_argument go to state 406 + annotation_argument go to state 404 + + +State 341 + + 549 global_let_variable_name_with_pos_list: "name" . + + $default reduce using rule 549 (global_let_variable_name_with_pos_list) State 342 - 546 global_let_variable_name_with_pos_list: "name" . + 550 global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list . ',' "name" + 557 global_let_variable_declaration: global_let_variable_name_with_pos_list . ':' type_declaration_no_options ';' + 558 | global_let_variable_name_with_pos_list . ':' type_declaration_no_options copy_or_move_or_clone expr ';' + 559 | global_let_variable_name_with_pos_list . optional_ref copy_or_move_or_clone expr ';' - $default reduce using rule 546 (global_let_variable_name_with_pos_list) + ',' shift, and go to state 405 + ':' shift, and go to state 406 + '&' shift, and go to state 407 + $default reduce using rule 542 (optional_ref) -State 343 + optional_ref go to state 408 - 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 +State 343 - $default reduce using rule 539 (optional_ref) + 571 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration . - optional_ref go to state 410 + $default reduce using rule 571 (global_let) State 344 - 568 global_let: kwd_let optional_shared optional_public_or_private_variable $@37 optional_field_annotation global_let_variable_declaration . + 99 annotation_argument_value_list: annotation_argument_value_list ',' annotation_argument_value . - $default reduce using rule 568 (global_let) + $default reduce using rule 99 (annotation_argument_value_list) State 345 - 99 annotation_argument_value_list: annotation_argument_value_list ',' annotation_argument_value . + 685 type_declaration_no_options_no_dim: "type" '<' . $@47 type_declaration '>' $@48 - $default reduce using rule 99 (annotation_argument_value_list) + $default reduce using rule 683 ($@47) + + $@47 go to state 409 State 346 - 681 type_declaration_no_options_no_dim: "type" '<' . $@46 type_declaration '>' $@47 + 708 type_declaration_no_options_no_dim: "array" '<' . $@52 type_declaration '>' $@53 - $default reduce using rule 679 ($@46) + $default reduce using rule 706 ($@52) - $@46 go to state 411 + $@52 go to state 410 State 347 - 704 type_declaration_no_options_no_dim: "array" '<' . $@51 type_declaration '>' $@52 + 711 type_declaration_no_options_no_dim: "table" '<' . $@54 table_type_pair '>' $@55 - $default reduce using rule 702 ($@51) + $default reduce using rule 709 ($@54) - $@51 go to state 412 + $@54 go to state 411 State 348 - 707 type_declaration_no_options_no_dim: "table" '<' . $@53 table_type_pair '>' $@54 + 686 type_declaration_no_options_no_dim: "typedecl" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 + "::" shift, and go to state 55 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 + "name" shift, and go to state 56 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 + '%' shift, and go to state 13 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 477 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 - $default reduce using rule 705 ($@53) - $@53 go to state 413 +State 349 + 714 type_declaration_no_options_no_dim: "iterator" '<' . $@56 type_declaration '>' $@57 -State 349 + $default reduce using rule 712 ($@56) - 682 type_declaration_no_options_no_dim: "typedecl" '(' . 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 479 - 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 + $@56 go to state 487 State 350 - 710 type_declaration_no_options_no_dim: "iterator" '<' . $@55 type_declaration '>' $@56 + 704 type_declaration_no_options_no_dim: "smart_ptr" '<' . $@50 type_declaration '>' $@51 - $default reduce using rule 708 ($@55) + $default reduce using rule 702 ($@50) - $@55 go to state 489 + $@50 go to state 488 State 351 - 700 type_declaration_no_options_no_dim: "smart_ptr" '<' . $@49 type_declaration '>' $@50 + 659 auto_type_declaration: "auto" '(' . "name" ')' - $default reduce using rule 698 ($@49) - - $@49 go to state 490 + "name" shift, and go to state 489 State 352 - 655 auto_type_declaration: "auto" '(' . "name" ')' + 668 bitfield_type_declaration: "bitfield" '<' . $@45 bitfield_bits '>' $@46 + + $default reduce using rule 666 ($@45) - "name" shift, and go to state 491 + $@45 go to state 490 State 353 - 664 bitfield_type_declaration: "bitfield" '<' . $@44 bitfield_bits '>' $@45 + 718 type_declaration_no_options_no_dim: "block" '<' . $@58 type_declaration '>' $@59 + 721 | "block" '<' . $@60 optional_function_argument_list optional_function_type '>' $@61 - $default reduce using rule 662 ($@44) + ':' reduce using rule 719 ($@60) + '>' reduce using rule 719 ($@60) + '(' reduce using rule 719 ($@60) + $default reduce using rule 716 ($@58) - $@44 go to state 492 + $@58 go to state 491 + $@60 go to state 492 State 354 - 714 type_declaration_no_options_no_dim: "block" '<' . $@57 type_declaration '>' $@58 - 717 | "block" '<' . $@59 optional_function_argument_list optional_function_type '>' $@60 + 725 type_declaration_no_options_no_dim: "function" '<' . $@62 type_declaration '>' $@63 + 728 | "function" '<' . $@64 optional_function_argument_list optional_function_type '>' $@65 - ':' reduce using rule 715 ($@59) - '>' reduce using rule 715 ($@59) - '(' reduce using rule 715 ($@59) - $default reduce using rule 712 ($@57) + ':' reduce using rule 726 ($@64) + '>' reduce using rule 726 ($@64) + '(' reduce using rule 726 ($@64) + $default reduce using rule 723 ($@62) - $@57 go to state 493 - $@59 go to state 494 + $@62 go to state 493 + $@64 go to state 494 State 355 - 721 type_declaration_no_options_no_dim: "function" '<' . $@61 type_declaration '>' $@62 - 724 | "function" '<' . $@63 optional_function_argument_list optional_function_type '>' $@64 + 732 type_declaration_no_options_no_dim: "lambda" '<' . $@66 type_declaration '>' $@67 + 735 | "lambda" '<' . $@68 optional_function_argument_list optional_function_type '>' $@69 - ':' reduce using rule 722 ($@63) - '>' reduce using rule 722 ($@63) - '(' reduce using rule 722 ($@63) - $default reduce using rule 719 ($@61) + ':' reduce using rule 733 ($@68) + '>' reduce using rule 733 ($@68) + '(' reduce using rule 733 ($@68) + $default reduce using rule 730 ($@66) - $@61 go to state 495 - $@63 go to state 496 + $@66 go to state 495 + $@68 go to state 496 State 356 - 728 type_declaration_no_options_no_dim: "lambda" '<' . $@65 type_declaration '>' $@66 - 731 | "lambda" '<' . $@67 optional_function_argument_list optional_function_type '>' $@68 + 738 type_declaration_no_options_no_dim: "tuple" '<' . $@70 tuple_type_list '>' $@71 - ':' reduce using rule 729 ($@67) - '>' reduce using rule 729 ($@67) - '(' reduce using rule 729 ($@67) - $default reduce using rule 726 ($@65) + $default reduce using rule 736 ($@70) - $@65 go to state 497 - $@67 go to state 498 + $@70 go to state 497 State 357 - 734 type_declaration_no_options_no_dim: "tuple" '<' . $@69 tuple_type_list '>' $@70 + 741 type_declaration_no_options_no_dim: "variant" '<' . $@72 variant_type_list '>' $@73 - $default reduce using rule 732 ($@69) + $default reduce using rule 739 ($@72) - $@69 go to state 499 + $@72 go to state 498 State 358 - 737 type_declaration_no_options_no_dim: "variant" '<' . $@71 variant_type_list '>' $@72 - - $default reduce using rule 735 ($@71) - - $@71 go to state 500 + 660 auto_type_declaration: "$t" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 + "::" shift, and go to state 55 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 + "name" shift, and go to state 56 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 + '%' shift, and go to state 13 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 499 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 359 - 656 auto_type_declaration: "$t" '(' . 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 501 - 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 + 687 type_declaration_no_options_no_dim: '$' name_in_namespace . '(' optional_expr_list ')' + 689 | '$' name_in_namespace . '<' $@49 type_declaration_no_options_list '>' '(' optional_expr_list ')' + + '<' shift, and go to state 500 + '(' shift, and go to state 501 State 360 - 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 ')' + 692 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "const" . - '<' shift, and go to state 502 - '(' shift, and go to state 503 + $default reduce using rule 692 (type_declaration_no_options_no_dim) State 361 - 688 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "const" . + 697 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "implicit" . - $default reduce using rule 688 (type_declaration_no_options_no_dim) + $default reduce using rule 697 (type_declaration_no_options_no_dim) State 362 - 693 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "implicit" . + 691 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "explicit" . - $default reduce using rule 693 (type_declaration_no_options_no_dim) + $default reduce using rule 691 (type_declaration_no_options_no_dim) State 363 - 687 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "explicit" . + 699 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" . "const" + 700 | type_declaration_no_options_no_dim "==" . '&' - $default reduce using rule 687 (type_declaration_no_options_no_dim) + "const" shift, and go to state 502 + '&' shift, and go to state 503 State 364 - 695 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" . "const" - 696 | type_declaration_no_options_no_dim "==" . '&' + 705 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "??" . - "const" shift, and go to state 504 - '&' shift, and go to state 505 + $default reduce using rule 705 (type_declaration_no_options_no_dim) State 365 - 701 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 701 (type_declaration_no_options_no_dim) State 366 - 697 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 697 (type_declaration_no_options_no_dim) + $default reduce using rule 694 (type_declaration_no_options_no_dim) State 367 - 690 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 '-' . '[' ']' + 693 | type_declaration_no_options_no_dim '-' . "const" + 695 | type_declaration_no_options_no_dim '-' . '&' + 698 | type_declaration_no_options_no_dim '-' . '#' - $default reduce using rule 690 (type_declaration_no_options_no_dim) + "const" shift, and go to state 504 + '&' shift, and go to state 505 + '[' shift, and go to state 506 + '#' shift, and go to state 507 State 368 - 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 - '[' shift, and go to state 508 - '#' shift, and go to state 509 + 673 dim_list: '[' . expr ']' + 674 | '[' . ']' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 + "::" shift, and go to state 55 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 + "name" shift, and go to state 56 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 + '%' shift, and go to state 13 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' shift, and go to state 456 + ']' shift, and go to state 508 + '(' shift, and go to state 457 + '$' shift, and go to state 458 + '@' shift, and go to state 459 + '{' shift, and go to state 460 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 509 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 369 - 669 dim_list: '[' . expr ']' - 670 | '[' . ']' - - "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 510 - '(' 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 511 - 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 + 696 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '#' . + + $default reduce using rule 696 (type_declaration_no_options_no_dim) State 370 - 692 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '#' . + 675 dim_list: dim_list . '[' expr ']' + 676 | dim_list . '[' ']' + 678 type_declaration_no_options: type_declaration_no_options_no_dim dim_list . - $default reduce using rule 692 (type_declaration_no_options_no_dim) + '[' shift, and go to state 510 + $default reduce using rule 678 (type_declaration_no_options) -State 371 - 671 dim_list: dim_list . '[' expr ']' - 672 | dim_list . '[' ']' - 674 type_declaration_no_options: type_declaration_no_options_no_dim dim_list . +State 371 - '[' shift, and go to state 512 + 743 type_declaration: type_declaration '|' . type_declaration_no_options + 744 | type_declaration '|' . '#' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 + "::" shift, and go to state 55 + "$t" shift, and go to state 259 + "name" shift, and go to state 56 + '$' shift, and go to state 260 + '#' shift, and go to state 511 - $default reduce using rule 674 (type_declaration_no_options) + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 512 + type_declaration_no_options_no_dim go to state 267 State 372 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 - "::" shift, and go to state 55 - "$t" shift, and go to state 261 - "name" shift, and go to state 56 - '$' shift, and go to state 262 - '#' shift, and go to state 513 + 759 bitfield_alias_declaration: "bitfield" $@82 optional_public_or_private_alias "name" optional_emit_commas $@83 '{' . $@84 bitfield_alias_bits optional_commas $@85 '}' - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 514 - type_declaration_no_options_no_dim go to state 269 + $default reduce using rule 757 ($@84) + + $@84 go to state 513 State 373 - 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' . $@83 bitfield_alias_bits optional_commas $@84 '}' + 749 tuple_alias_declaration: "tuple" $@74 optional_public_or_private_alias "name" optional_emit_semis $@75 '{' . $@76 tuple_alias_type_list optional_semis $@77 '}' - $default reduce using rule 753 ($@83) + $default reduce using rule 747 ($@76) - $@83 go to state 515 + $@76 go to state 514 State 374 - 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' . $@75 tuple_alias_type_list optional_semis $@76 '}' + 754 variant_alias_declaration: "variant" $@78 optional_public_or_private_alias "name" optional_emit_semis $@79 '{' . $@80 variant_alias_type_list optional_semis $@81 '}' - $default reduce using rule 743 ($@75) + $default reduce using rule 752 ($@80) - $@75 go to state 516 + $@80 go to state 515 State 375 - 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 748 ($@79) + 194 function_name: "operator" "is" "name" . - $@79 go to state 517 + $default reduce using rule 194 (function_name) State 376 - 192 function_name: "operator" "is" "name" . + 195 function_name: "operator" "as" "name" . - $default reduce using rule 192 (function_name) + $default reduce using rule 195 (function_name) State 377 - 193 function_name: "operator" "as" "name" . + 188 function_name: "operator" "?." "name" . - $default reduce using rule 193 (function_name) + $default reduce using rule 188 (function_name) State 378 - 186 function_name: "operator" "?." "name" . + 183 function_name: "operator" "?[" ']' . - $default reduce using rule 186 (function_name) + $default reduce using rule 183 (function_name) State 379 - 181 function_name: "operator" "?[" ']' . + 196 function_name: "operator" '?' "as" . + 197 | "operator" '?' "as" . "name" - $default reduce using rule 181 (function_name) + "name" shift, and go to state 516 + + $default reduce using rule 196 (function_name) State 380 - 194 function_name: "operator" '?' "as" . - 195 | "operator" '?' "as" . "name" + 186 function_name: "operator" '.' "name" . + 187 | "operator" '.' "name" . ":=" - "name" shift, and go to state 518 + ":=" shift, and go to state 517 - $default reduce using rule 194 (function_name) + $default reduce using rule 186 (function_name) State 381 - 184 function_name: "operator" '.' "name" . - 185 | "operator" '.' "name" . ":=" - - ":=" shift, and go to state 519 + 182 function_name: "operator" '[' ']' . - $default reduce using rule 184 (function_name) + $default reduce using rule 182 (function_name) State 382 - 180 function_name: "operator" '[' ']' . + 516 function_argument_declaration: "$a" . '(' expr ')' - $default reduce using rule 180 (function_name) + '(' shift, and go to state 518 State 383 - 513 function_argument_declaration: "$a" . '(' expr ')' + 134 optional_function_argument_list: '(' ')' . - '(' shift, and go to state 520 + $default reduce using rule 134 (optional_function_argument_list) State 384 - 132 optional_function_argument_list: '(' ')' . + 515 function_argument_declaration: optional_field_annotation . kwd_let_var_or_nothing variable_declaration - $default reduce using rule 132 (optional_function_argument_list) + "let" shift, and go to state 519 + "var" shift, and go to state 520 + $default reduce using rule 291 (kwd_let_var_or_nothing) -State 385 + kwd_let_var_or_nothing go to state 521 - 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 +State 385 - $default reduce using rule 289 (kwd_let_var_or_nothing) + 517 function_argument_list: function_argument_declaration . - kwd_let_var_or_nothing go to state 523 + $default reduce using rule 517 (function_argument_list) State 386 - 514 function_argument_list: function_argument_declaration . + 135 optional_function_argument_list: '(' function_argument_list . ')' + 518 function_argument_list: function_argument_list . ';' function_argument_declaration - $default reduce using rule 514 (function_argument_list) + ')' shift, and go to state 522 + ';' shift, and go to state 523 State 387 - 133 optional_function_argument_list: '(' function_argument_list . ')' - 515 function_argument_list: function_argument_list . ';' function_argument_declaration + 137 optional_function_type: ':' . type_declaration + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 + "::" shift, and go to state 55 + "$t" shift, and go to state 259 + "name" shift, and go to state 56 + '$' shift, and go to state 260 - ')' shift, and go to state 524 - ';' shift, and go to state 525 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 + type_declaration go to state 524 State 388 - 135 optional_function_type: ':' . type_declaration - - "type" shift, and go to state 222 - "array" shift, and go to state 223 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 - "::" shift, and go to state 55 - "$t" shift, and go to state 261 - "name" shift, and go to state 56 - '$' shift, and go to state 262 + 227 function_declaration_header: function_name optional_function_argument_list optional_function_type . - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 526 + $default reduce using rule 227 (function_declaration_header) State 389 - 225 function_declaration_header: function_name optional_function_argument_list optional_function_type . + 236 expression_block: $@9 '{' . expressions $@10 '}' expression_block_finally - $default reduce using rule 225 (function_declaration_header) + $default reduce using rule 257 (expressions) + expressions go to state 525 -State 390 - 234 expression_block: $@9 '{' . expressions $@10 '}' expression_block_finally +State 390 - $default reduce using rule 255 (expressions) + 649 enum_basic_type_declaration: "int" . - expressions go to state 527 + $default reduce using rule 649 (enum_basic_type_declaration) State 391 - 645 enum_basic_type_declaration: "int" . + 652 enum_basic_type_declaration: "uint" . - $default reduce using rule 645 (enum_basic_type_declaration) + $default reduce using rule 652 (enum_basic_type_declaration) State 392 - 648 enum_basic_type_declaration: "uint" . + 655 enum_basic_type_declaration: "int64" . - $default reduce using rule 648 (enum_basic_type_declaration) + $default reduce using rule 655 (enum_basic_type_declaration) State 393 - 651 enum_basic_type_declaration: "int64" . + 656 enum_basic_type_declaration: "uint64" . - $default reduce using rule 651 (enum_basic_type_declaration) + $default reduce using rule 656 (enum_basic_type_declaration) State 394 - 652 enum_basic_type_declaration: "uint64" . + 650 enum_basic_type_declaration: "int8" . - $default reduce using rule 652 (enum_basic_type_declaration) + $default reduce using rule 650 (enum_basic_type_declaration) State 395 - 646 enum_basic_type_declaration: "int8" . + 653 enum_basic_type_declaration: "uint8" . - $default reduce using rule 646 (enum_basic_type_declaration) + $default reduce using rule 653 (enum_basic_type_declaration) State 396 - 649 enum_basic_type_declaration: "uint8" . + 651 enum_basic_type_declaration: "int16" . - $default reduce using rule 649 (enum_basic_type_declaration) + $default reduce using rule 651 (enum_basic_type_declaration) State 397 - 647 enum_basic_type_declaration: "int16" . + 654 enum_basic_type_declaration: "uint16" . - $default reduce using rule 647 (enum_basic_type_declaration) + $default reduce using rule 654 (enum_basic_type_declaration) State 398 - 650 enum_basic_type_declaration: "uint16" . + 590 optional_enum_basic_type_declaration: ':' enum_basic_type_declaration . - $default reduce using rule 650 (enum_basic_type_declaration) + $default reduce using rule 590 (optional_enum_basic_type_declaration) State 399 - 587 optional_enum_basic_type_declaration: ':' enum_basic_type_declaration . + 600 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 587 (optional_enum_basic_type_declaration) + '{' shift, and go to state 526 State 400 - 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 '}' + 605 structure_name: optional_sealed "name" . optional_structure_parent + + ':' shift, and go to state 527 + + $default reduce using rule 601 (optional_structure_parent) - '{' shift, and go to state 528 + optional_structure_parent go to state 528 State 401 - 599 optional_structure_parent: ':' . name_in_namespace + 616 structure_declaration: optional_annotation_list $@42 class_or_struct optional_public_or_private_structure $@43 structure_name optional_emit_semis . $@44 optional_struct_variable_declaration_list - "::" shift, and go to state 55 - "name" shift, and go to state 56 + $default reduce using rule 615 ($@44) - name_in_namespace go to state 529 + $@44 go to state 529 State 402 - 602 structure_name: optional_sealed "name" optional_structure_parent . + 568 global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation . let_variable_declaration - $default reduce using rule 602 (structure_name) + "$i" shift, and go to state 530 + "name" shift, and go to state 531 + let_variable_name_with_pos_list go to state 532 + let_variable_declaration go to state 533 -State 403 - 609 optional_struct_variable_declaration_list: '{' . struct_variable_declaration_list '}' +State 403 - $default reduce using rule 505 (struct_variable_declaration_list) + 113 metadata_argument_list: '@' annotation_argument optional_emit_semis . - struct_variable_declaration_list go to state 530 + $default reduce using rule 113 (metadata_argument_list) State 404 - 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 612 (structure_declaration) - + 114 metadata_argument_list: metadata_argument_list '@' annotation_argument . optional_emit_semis -State 405 - - 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 - - let_variable_name_with_pos_list go to state 533 - let_variable_declaration go to state 534 - - -State 406 + "emitted ;" shift, and go to state 171 - 114 metadata_argument_list: metadata_argument_list '@' annotation_argument . + $default reduce using rule 63 (optional_emit_semis) - $default reduce using rule 114 (metadata_argument_list) + emit_semis go to state 172 + optional_emit_semis go to state 534 -State 407 +State 405 - 547 global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list ',' . "name" + 550 global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list ',' . "name" "name" shift, and go to state 535 -State 408 +State 406 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 557 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' . type_declaration_no_options ';' + 558 | global_let_variable_name_with_pos_list ':' . type_declaration_no_options copy_or_move_or_clone expr ';' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - structure_type_declaration go to state 265 - auto_type_declaration go to state 266 - bitfield_type_declaration go to state 267 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 type_declaration_no_options go to state 536 - type_declaration_no_options_no_dim go to state 269 + type_declaration_no_options_no_dim go to state 267 -State 409 +State 407 - 540 optional_ref: '&' . + 543 optional_ref: '&' . - $default reduce using rule 540 (optional_ref) + $default reduce using rule 543 (optional_ref) -State 410 +State 408 - 556 global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref . copy_or_move_or_clone expr ';' + 559 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 @@ -6444,248 +6451,248 @@ State 410 copy_or_move_or_clone go to state 540 -State 411 +State 409 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 685 type_declaration_no_options_no_dim: "type" '<' $@47 . type_declaration '>' $@48 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 - - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 + '$' shift, and go to state 260 + + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 541 -State 412 +State 410 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 708 type_declaration_no_options_no_dim: "array" '<' $@52 . type_declaration '>' $@53 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 - - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 + '$' shift, and go to state 260 + + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 542 -State 413 +State 411 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 711 type_declaration_no_options_no_dim: "table" '<' $@54 . table_type_pair '>' $@55 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - structure_type_declaration go to state 265 - auto_type_declaration go to state 266 - bitfield_type_declaration go to state 267 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 table_type_pair go to state 543 - type_declaration_no_options go to state 268 - type_declaration_no_options_no_dim go to state 269 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 544 -State 414 +State 412 - 781 make_struct_decl: "struct" . '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' + 785 make_struct_decl: "struct" . '<' $@86 type_declaration_no_options '>' $@87 '(' use_initializer optional_make_struct_dim_decl ')' '<' shift, and go to state 545 -State 415 +State 413 - 784 make_struct_decl: "class" . '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' + 788 make_struct_decl: "class" . '<' $@88 type_declaration_no_options '>' $@89 '(' use_initializer optional_make_struct_dim_decl ')' '<' shift, and go to state 546 -State 416 +State 414 - 397 expr: "true" . + 399 expr: "true" . - $default reduce using rule 397 (expr) + $default reduce using rule 399 (expr) -State 417 +State 415 - 398 expr: "false" . + 400 expr: "false" . - $default reduce using rule 398 (expr) + $default reduce using rule 400 (expr) -State 418 +State 416 - 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 - "array" shift, and go to state 421 - "table" shift, and go to state 423 - "fixed_array" shift, and go to state 430 - "default" shift, and go to state 431 - "tuple" shift, and go to state 433 - "variant" shift, and go to state 434 + 275 expr_new: "new" . new_type_declaration + 276 | "new" . new_type_declaration '(' use_initializer ')' + 277 | "new" . new_type_declaration '(' expr_list ')' + 278 | "new" . new_type_declaration '(' make_struct_single ')' + 279 | "new" . new_type_declaration '(' "uninitialized" make_struct_single ')' + 280 | "new" . make_decl + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "array" shift, and go to state 419 + "table" shift, and go to state 421 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 "::" shift, and go to state 55 "name" shift, and go to state 56 '<' shift, and go to state 547 - '[' shift, and go to state 458 - '{' shift, and go to state 462 + '[' shift, and go to state 456 + '{' shift, and go to state 460 - name_in_namespace go to state 263 + name_in_namespace go to state 261 new_type_declaration go to state 548 structure_type_declaration go to state 549 make_decl go to state 550 - 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 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 419 +State 417 - 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 ')' + 315 expr_type_info: "typeinfo" . name_in_namespace '(' expr ')' + 316 | "typeinfo" . name_in_namespace '<' "name" '>' '(' expr ')' + 317 | "typeinfo" . name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' "::" shift, and go to state 55 "name" shift, and go to state 56 @@ -6693,20 +6700,20 @@ State 419 name_in_namespace go to state 551 -State 420 +State 418 - 312 expr_type_decl: "type" . '<' $@19 type_declaration '>' $@20 + 314 expr_type_decl: "type" . '<' $@19 type_declaration '>' $@20 '<' shift, and go to state 552 -State 421 +State 419 - 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 ')' + 804 make_dim_decl: "array" . "struct" '<' $@96 type_declaration_no_options '>' $@97 '(' use_initializer optional_make_struct_dim_decl ')' + 807 | "array" . "tuple" '<' $@98 type_declaration_no_options '>' $@99 '(' use_initializer optional_make_struct_dim_decl ')' + 810 | "array" . "variant" '<' $@100 type_declaration_no_options '>' $@101 '(' make_variant_dim ')' + 811 | "array" . '(' expr_list optional_comma ')' + 814 | "array" . '<' $@102 type_declaration_no_options '>' $@103 '(' optional_expr_list ')' "struct" shift, and go to state 553 "tuple" shift, and go to state 554 @@ -6715,435 +6722,435 @@ State 421 '(' shift, and go to state 557 -State 422 +State 420 - 391 expr: "null" . + 393 expr: "null" . - $default reduce using rule 391 (expr) + $default reduce using rule 393 (expr) -State 423 +State 421 - 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 ')' + 822 make_table_decl: "table" . '(' expr_map_tuple_list optional_comma ')' + 823 | "table" . '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + 824 | "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 -State 424 +State 422 - 441 expr: "deref" . '(' expr ')' + 443 expr: "deref" . '(' expr ')' '(' shift, and go to state 560 -State 425 +State 423 - 303 expr_cast: "cast" . '<' $@13 type_declaration_no_options '>' $@14 expr + 305 expr_cast: "cast" . '<' $@13 type_declaration_no_options '>' $@14 expr '<' shift, and go to state 561 -State 426 +State 424 - 306 expr_cast: "upcast" . '<' $@15 type_declaration_no_options '>' $@16 expr + 308 expr_cast: "upcast" . '<' $@15 type_declaration_no_options '>' $@16 expr '<' shift, and go to state 562 -State 427 +State 425 - 442 expr: "addr" . '(' expr ')' + 444 expr: "addr" . '(' expr ')' '(' shift, and go to state 563 -State 428 +State 426 - 309 expr_cast: "reinterpret" . '<' $@17 type_declaration_no_options '>' $@18 expr + 311 expr_cast: "reinterpret" . '<' $@17 type_declaration_no_options '>' $@18 expr '<' shift, and go to state 564 -State 429 +State 427 - 472 expr: "unsafe" . '(' expr ')' + 474 expr: "unsafe" . '(' expr ')' '(' shift, and go to state 565 -State 430 +State 428 - 811 make_dim_decl: "fixed_array" . '(' expr_list optional_comma ')' - 814 | "fixed_array" . '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' + 815 make_dim_decl: "fixed_array" . '(' expr_list optional_comma ')' + 818 | "fixed_array" . '<' $@104 type_declaration_no_options '>' $@105 '(' expr_list optional_comma ')' '<' shift, and go to state 566 '(' shift, and go to state 567 -State 431 +State 429 - 790 make_struct_decl: "default" . '<' $@91 type_declaration_no_options '>' $@92 use_initializer + 794 make_struct_decl: "default" . '<' $@92 type_declaration_no_options '>' $@93 use_initializer '<' shift, and go to state 568 -State 432 +State 430 - 644 basic_type_declaration: "bitfield" . + 648 basic_type_declaration: "bitfield" . - $default reduce using rule 644 (basic_type_declaration) + $default reduce using rule 648 (basic_type_declaration) -State 433 +State 431 - 793 make_tuple_call: "tuple" . '(' expr_list optional_comma ')' - 796 | "tuple" . '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' + 797 make_tuple_call: "tuple" . '(' expr_list optional_comma ')' + 800 | "tuple" . '<' $@94 type_declaration_no_options '>' $@95 '(' use_initializer optional_make_struct_dim_decl ')' '<' shift, and go to state 569 '(' shift, and go to state 570 -State 434 +State 432 - 787 make_struct_decl: "variant" . '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' + 791 make_struct_decl: "variant" . '<' $@90 type_declaration_no_options '>' $@91 '(' make_variant_dim ')' '<' shift, and go to state 571 -State 435 +State 433 - 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 + 475 expr_generator: "generator" . '<' type_declaration_no_options '>' optional_capture_list '(' ')' + 476 | "generator" . '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' + 477 | "generator" . '<' type_declaration_no_options '>' optional_capture_list optional_emit_semis expression_block '<' shift, and go to state 572 -State 436 +State 434 - 427 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 + 429 expr: "++" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 573 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 437 +State 435 - 428 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 + 430 expr: "--" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 574 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 438 +State 436 - 476 expr_mtag: "$$" . '(' expr ')' + 478 expr_mtag: "$$" . '(' expr ')' '(' shift, and go to state 575 -State 439 +State 437 - 477 expr_mtag: "$i" . '(' expr ')' + 479 expr_mtag: "$i" . '(' expr ')' '(' shift, and go to state 576 -State 440 +State 438 - 478 expr_mtag: "$v" . '(' expr ')' + 480 expr_mtag: "$v" . '(' expr ')' '(' shift, and go to state 577 -State 441 +State 439 - 479 expr_mtag: "$b" . '(' expr ')' + 481 expr_mtag: "$b" . '(' expr ')' '(' shift, and go to state 578 -State 442 +State 440 - 480 expr_mtag: "$a" . '(' expr ')' + 482 expr_mtag: "$a" . '(' expr ')' '(' shift, and go to state 579 -State 443 +State 441 - 482 expr_mtag: "$c" . '(' expr ')' '(' ')' - 483 | "$c" . '(' expr ')' '(' expr_list ')' + 484 expr_mtag: "$c" . '(' expr ')' '(' ')' + 485 | "$c" . '(' expr ')' '(' expr_list ')' '(' shift, and go to state 580 -State 444 +State 442 - 481 expr_mtag: "..." . + 483 expr_mtag: "..." . - $default reduce using rule 481 (expr_mtag) + $default reduce using rule 483 (expr_mtag) -State 445 +State 443 - 336 expr_numeric_const: "integer constant" . + 338 expr_numeric_const: "integer constant" . - $default reduce using rule 336 (expr_numeric_const) + $default reduce using rule 338 (expr_numeric_const) -State 446 +State 444 - 338 expr_numeric_const: "long integer constant" . + 340 expr_numeric_const: "long integer constant" . - $default reduce using rule 338 (expr_numeric_const) + $default reduce using rule 340 (expr_numeric_const) -State 447 +State 445 - 337 expr_numeric_const: "unsigned integer constant" . + 339 expr_numeric_const: "unsigned integer constant" . - $default reduce using rule 337 (expr_numeric_const) + $default reduce using rule 339 (expr_numeric_const) -State 448 +State 446 - 339 expr_numeric_const: "unsigned long integer constant" . + 341 expr_numeric_const: "unsigned long integer constant" . - $default reduce using rule 339 (expr_numeric_const) + $default reduce using rule 341 (expr_numeric_const) -State 449 +State 447 - 340 expr_numeric_const: "unsigned int8 constant" . + 342 expr_numeric_const: "unsigned int8 constant" . - $default reduce using rule 340 (expr_numeric_const) + $default reduce using rule 342 (expr_numeric_const) -State 450 +State 448 - 341 expr_numeric_const: "floating point constant" . + 343 expr_numeric_const: "floating point constant" . - $default reduce using rule 341 (expr_numeric_const) + $default reduce using rule 343 (expr_numeric_const) -State 451 +State 449 - 342 expr_numeric_const: "double constant" . + 344 expr_numeric_const: "double constant" . - $default reduce using rule 342 (expr_numeric_const) + $default reduce using rule 344 (expr_numeric_const) -State 452 +State 450 36 string_builder: "start of the string" . string_builder_body "end of the string" @@ -7152,1121 +7159,1121 @@ State 452 string_builder_body go to state 581 -State 453 +State 451 - 404 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 + 406 expr: '-' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 582 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 454 +State 452 - 403 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 + 405 expr: '+' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 583 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 455 +State 453 - 440 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 + 442 expr: '*' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 584 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 456 +State 454 - 402 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 + 404 expr: '~' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 585 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 457 +State 455 - 401 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 + 403 expr: '!' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 586 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 458 +State 456 - 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 ']' + 801 make_dim_decl: '[' . expr_list optional_comma ']' + 829 array_comprehension: '[' . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 830 | '[' . "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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 "for" shift, and go to state 587 - "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 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 "iterator" shift, and go to state 588 - "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 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 expr_list go to state 589 - 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 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 459 +State 457 - 431 expr: '(' . expr_list optional_comma ')' - - "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 + 433 expr: '(' . expr_list optional_comma ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 expr_list go to state 591 - 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 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 460 +State 458 - 321 block_or_lambda: '$' . + 323 block_or_lambda: '$' . - $default reduce using rule 321 (block_or_lambda) + $default reduce using rule 323 (block_or_lambda) -State 461 +State 459 - 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 ')' + 324 block_or_lambda: '@' . + 325 | '@' . '@' + 370 func_addr_expr: '@' . '@' func_addr_name + 373 | '@' . '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name + 376 | '@' . '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name + 493 expr_mtag: '@' . '@' "$c" '(' expr ')' '@' shift, and go to state 592 - $default reduce using rule 322 (block_or_lambda) + $default reduce using rule 324 (block_or_lambda) -State 462 +State 460 - 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 '}' + 821 make_table_decl: '{' . expr_map_tuple_list optional_comma '}' + 831 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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 "for" shift, and go to state 593 - "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 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 594 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 make_map_tuple go to state 595 - make_tuple_call go to state 485 - make_dim_decl go to state 486 + make_tuple_call go to state 483 + make_dim_decl go to state 484 expr_map_tuple_list go to state 596 - make_table_decl go to state 487 - array_comprehension go to state 488 + make_table_decl go to state 485 + array_comprehension go to state 486 + + +State 461 + + 397 expr: string_builder . + + $default reduce using rule 397 (expr) + + +State 462 + + 396 expr: expr_reader . + + $default reduce using rule 396 (expr) State 463 - 395 expr: string_builder . + 473 expr: expr_call_pipe . - $default reduce using rule 395 (expr) + $default reduce using rule 473 (expr) State 464 - 394 expr: expr_reader . + 364 expr_named_call: name_in_namespace . '(' '[' make_struct_fields ']' ')' + 365 | name_in_namespace . '(' expr_list ',' '[' make_struct_fields ']' ')' + 386 expr_call: name_in_namespace . '(' ')' + 387 | name_in_namespace . '(' "uninitialized" ')' + 388 | name_in_namespace . '(' make_struct_single ')' + 389 | name_in_namespace . '(' "uninitialized" make_struct_single ')' + 390 | name_in_namespace . '(' expr_list ')' + 394 expr: name_in_namespace . + + '(' shift, and go to state 597 $default reduce using rule 394 (expr) State 465 - 471 expr: expr_call_pipe . + 466 expr: expr_new . - $default reduce using rule 471 (expr) + $default reduce using rule 466 (expr) State 466 - 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 . + 465 expr: expr_cast . - '(' shift, and go to state 597 - - $default reduce using rule 392 (expr) + $default reduce using rule 465 (expr) State 467 - 464 expr: expr_new . + 464 expr: expr_type_decl . $default reduce using rule 464 (expr) State 468 - 463 expr: expr_cast . + 463 expr: expr_type_info . $default reduce using rule 463 (expr) State 469 - 462 expr: expr_type_decl . + 335 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 462 (expr) + '[' shift, and go to state 14 + $default reduce using rule 129 (optional_annotation_list) -State 470 + optional_annotation_list go to state 598 - 461 expr: expr_type_info . - $default reduce using rule 461 (expr) +State 470 + 469 expr: expr_full_block . -State 471 + $default reduce using rule 469 (expr) - 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 +State 471 - $default reduce using rule 129 (optional_annotation_list) + 395 expr: expr_numeric_const . - optional_annotation_list go to state 598 + $default reduce using rule 395 (expr) State 472 - 467 expr: expr_full_block . + 468 expr: expr_named_call . - $default reduce using rule 467 (expr) + $default reduce using rule 468 (expr) State 473 - 393 expr: expr_numeric_const . + 467 expr: expr_method_call . - $default reduce using rule 393 (expr) + $default reduce using rule 467 (expr) State 474 - 466 expr: expr_named_call . + 440 expr: func_addr_expr . - $default reduce using rule 466 (expr) + $default reduce using rule 440 (expr) State 475 - 465 expr: expr_method_call . + 401 expr: expr_field . - $default reduce using rule 465 (expr) + $default reduce using rule 401 (expr) State 476 - 438 expr: func_addr_expr . - - $default reduce using rule 438 (expr) - - -State 477 - - 399 expr: expr_field . - - $default reduce using rule 399 (expr) - - -State 478 - - 235 expr_call_pipe: expr_call . expr_full_block_assumed_piped - 439 expr: expr_call . + 237 expr_call_pipe: expr_call . expr_full_block_assumed_piped + 441 expr: expr_call . - '$' shift, and go to state 460 + '$' shift, and go to state 458 '@' shift, and go to state 599 '{' shift, and go to state 600 - $default reduce using rule 439 (expr) + $default reduce using rule 441 (expr) block_or_lambda go to state 601 expr_full_block_assumed_piped go to state 602 -State 479 +State 477 - 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 . ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 686 type_declaration_no_options_no_dim: "typedecl" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -8306,472 +8313,472 @@ State 479 ')' shift, and go to state 638 -State 480 +State 478 - 443 expr: expr_generator . + 445 expr: expr_generator . - $default reduce using rule 443 (expr) + $default reduce using rule 445 (expr) -State 481 +State 479 - 400 expr: expr_mtag . + 402 expr: expr_mtag . - $default reduce using rule 400 (expr) + $default reduce using rule 402 (expr) -State 482 +State 480 - 389 expr_call: basic_type_declaration . '(' ')' - 390 | basic_type_declaration . '(' expr_list ')' + 391 expr_call: basic_type_declaration . '(' ')' + 392 | basic_type_declaration . '(' expr_list ')' '(' shift, and go to state 639 -State 483 +State 481 - 396 expr: make_decl . + 398 expr: make_decl . - $default reduce using rule 396 (expr) + $default reduce using rule 398 (expr) -State 484 +State 482 - 756 make_decl: make_struct_decl . + 760 make_decl: make_struct_decl . - $default reduce using rule 756 (make_decl) + $default reduce using rule 760 (make_decl) -State 485 +State 483 - 760 make_decl: make_tuple_call . + 764 make_decl: make_tuple_call . - $default reduce using rule 760 (make_decl) + $default reduce using rule 764 (make_decl) -State 486 +State 484 - 757 make_decl: make_dim_decl . + 761 make_decl: make_dim_decl . - $default reduce using rule 757 (make_decl) + $default reduce using rule 761 (make_decl) -State 487 +State 485 - 758 make_decl: make_table_decl . + 762 make_decl: make_table_decl . - $default reduce using rule 758 (make_decl) + $default reduce using rule 762 (make_decl) -State 488 +State 486 - 759 make_decl: array_comprehension . + 763 make_decl: array_comprehension . - $default reduce using rule 759 (make_decl) + $default reduce using rule 763 (make_decl) -State 489 +State 487 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 714 type_declaration_no_options_no_dim: "iterator" '<' $@56 . type_declaration '>' $@57 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 - - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 + '$' shift, and go to state 260 + + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 640 -State 490 +State 488 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 704 type_declaration_no_options_no_dim: "smart_ptr" '<' $@50 . type_declaration '>' $@51 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 - - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 + '$' shift, and go to state 260 + + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 641 -State 491 +State 489 - 655 auto_type_declaration: "auto" '(' "name" . ')' + 659 auto_type_declaration: "auto" '(' "name" . ')' ')' shift, and go to state 642 -State 492 +State 490 - 664 bitfield_type_declaration: "bitfield" '<' $@44 . bitfield_bits '>' $@45 + 668 bitfield_type_declaration: "bitfield" '<' $@45 . bitfield_bits '>' $@46 "name" shift, and go to state 643 bitfield_bits go to state 644 -State 493 +State 491 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 718 type_declaration_no_options_no_dim: "block" '<' $@58 . type_declaration '>' $@59 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 - - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 + '$' shift, and go to state 260 + + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 645 -State 494 +State 492 - 717 type_declaration_no_options_no_dim: "block" '<' $@59 . optional_function_argument_list optional_function_type '>' $@60 + 721 type_declaration_no_options_no_dim: "block" '<' $@60 . optional_function_argument_list optional_function_type '>' $@61 - '(' shift, and go to state 329 + '(' shift, and go to state 327 - $default reduce using rule 131 (optional_function_argument_list) + $default reduce using rule 133 (optional_function_argument_list) optional_function_argument_list go to state 646 -State 495 +State 493 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 725 type_declaration_no_options_no_dim: "function" '<' $@62 . type_declaration '>' $@63 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 - - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 + '$' shift, and go to state 260 + + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 647 -State 496 +State 494 - 724 type_declaration_no_options_no_dim: "function" '<' $@63 . optional_function_argument_list optional_function_type '>' $@64 + 728 type_declaration_no_options_no_dim: "function" '<' $@64 . optional_function_argument_list optional_function_type '>' $@65 - '(' shift, and go to state 329 + '(' shift, and go to state 327 - $default reduce using rule 131 (optional_function_argument_list) + $default reduce using rule 133 (optional_function_argument_list) optional_function_argument_list go to state 648 -State 497 +State 495 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 732 type_declaration_no_options_no_dim: "lambda" '<' $@66 . type_declaration '>' $@67 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 - - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 + '$' shift, and go to state 260 + + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 649 -State 498 +State 496 - 731 type_declaration_no_options_no_dim: "lambda" '<' $@67 . optional_function_argument_list optional_function_type '>' $@68 + 735 type_declaration_no_options_no_dim: "lambda" '<' $@68 . optional_function_argument_list optional_function_type '>' $@69 - '(' shift, and go to state 329 + '(' shift, and go to state 327 - $default reduce using rule 131 (optional_function_argument_list) + $default reduce using rule 133 (optional_function_argument_list) optional_function_argument_list go to state 650 -State 499 +State 497 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 738 type_declaration_no_options_no_dim: "tuple" '<' $@70 . tuple_type_list '>' $@71 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 651 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 + name_in_namespace go to state 261 tuple_type go to state 652 tuple_type_list go to state 653 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 654 -State 500 +State 498 - 737 type_declaration_no_options_no_dim: "variant" '<' $@71 . variant_type_list '>' $@72 + 741 type_declaration_no_options_no_dim: "variant" '<' $@72 . variant_type_list '>' $@73 "name" shift, and go to state 655 @@ -8779,69 +8786,69 @@ State 500 variant_type_list go to state 657 -State 501 +State 499 - 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 . ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 660 auto_type_declaration: "$t" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -8881,242 +8888,242 @@ State 501 ')' shift, and go to state 658 -State 502 +State 500 - 685 type_declaration_no_options_no_dim: '$' name_in_namespace '<' . $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' + 689 type_declaration_no_options_no_dim: '$' name_in_namespace '<' . $@49 type_declaration_no_options_list '>' '(' optional_expr_list ')' - $default reduce using rule 684 ($@48) + $default reduce using rule 688 ($@49) - $@48 go to state 659 + $@49 go to state 659 -State 503 +State 501 - 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 - "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 + 687 type_declaration_no_options_no_dim: '$' name_in_namespace '(' . optional_expr_list ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - - $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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + $default reduce using rule 260 (optional_expr_list) + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 optional_expr_list go to state 660 - 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 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 expr_list go to state 661 - 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 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 504 +State 502 - 695 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" "const" . + 699 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" "const" . - $default reduce using rule 695 (type_declaration_no_options_no_dim) + $default reduce using rule 699 (type_declaration_no_options_no_dim) -State 505 +State 503 - 696 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" '&' . + 700 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim "==" '&' . - $default reduce using rule 696 (type_declaration_no_options_no_dim) + $default reduce using rule 700 (type_declaration_no_options_no_dim) -State 506 +State 504 - 689 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' "const" . + 693 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' "const" . - $default reduce using rule 689 (type_declaration_no_options_no_dim) + $default reduce using rule 693 (type_declaration_no_options_no_dim) -State 507 +State 505 - 691 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '&' . + 695 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '&' . - $default reduce using rule 691 (type_declaration_no_options_no_dim) + $default reduce using rule 695 (type_declaration_no_options_no_dim) -State 508 +State 506 - 686 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 '-' '[' . ']' ']' shift, and go to state 662 -State 509 +State 507 - 694 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '#' . + 698 type_declaration_no_options_no_dim: type_declaration_no_options_no_dim '-' '#' . - $default reduce using rule 694 (type_declaration_no_options_no_dim) + $default reduce using rule 698 (type_declaration_no_options_no_dim) -State 510 +State 508 - 670 dim_list: '[' ']' . + 674 dim_list: '[' ']' . - $default reduce using rule 670 (dim_list) + $default reduce using rule 674 (dim_list) -State 511 +State 509 - 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 . ']' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 673 dim_list: '[' expr . ']' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -9156,360 +9163,360 @@ State 511 ']' shift, and go to state 663 -State 512 +State 510 - 671 dim_list: dim_list '[' . expr ']' - 672 | dim_list '[' . ']' - - "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 + 675 dim_list: dim_list '[' . expr ']' + 676 | dim_list '[' . ']' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 454 + '!' shift, and go to state 455 + '[' shift, and go to state 456 ']' shift, and go to state 664 - '(' 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 + '(' shift, and go to state 457 + '$' shift, and go to state 458 + '@' shift, and go to state 459 + '{' shift, and go to state 460 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 665 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 513 +State 511 - 740 type_declaration: type_declaration '|' '#' . + 744 type_declaration: type_declaration '|' '#' . - $default reduce using rule 740 (type_declaration) + $default reduce using rule 744 (type_declaration) -State 514 +State 512 - 739 type_declaration: type_declaration '|' type_declaration_no_options . + 743 type_declaration: type_declaration '|' type_declaration_no_options . - $default reduce using rule 739 (type_declaration) + $default reduce using rule 743 (type_declaration) -State 515 +State 513 - 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 . bitfield_alias_bits optional_commas $@84 '}' + 759 bitfield_alias_declaration: "bitfield" $@82 optional_public_or_private_alias "name" optional_emit_commas $@83 '{' $@84 . bitfield_alias_bits optional_commas $@85 '}' "name" shift, and go to state 666 - $default reduce using rule 659 (bitfield_alias_bits) + $default reduce using rule 663 (bitfield_alias_bits) bitfield_alias_bits go to state 667 -State 516 +State 514 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 749 tuple_alias_declaration: "tuple" $@74 optional_public_or_private_alias "name" optional_emit_semis $@75 '{' $@76 . tuple_alias_type_list optional_semis $@77 '}' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 651 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - $default reduce using rule 520 (tuple_alias_type_list) + $default reduce using rule 523 (tuple_alias_type_list) - name_in_namespace go to state 263 + name_in_namespace go to state 261 tuple_type go to state 668 tuple_alias_type_list go to state 669 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 654 -State 517 +State 515 - 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 . variant_alias_type_list optional_semis $@80 '}' + 754 variant_alias_declaration: "variant" $@78 optional_public_or_private_alias "name" optional_emit_semis $@79 '{' $@80 . variant_alias_type_list optional_semis $@81 '}' "name" shift, and go to state 655 - $default reduce using rule 526 (variant_alias_type_list) + $default reduce using rule 529 (variant_alias_type_list) variant_type go to state 670 variant_alias_type_list go to state 671 -State 518 +State 516 - 195 function_name: "operator" '?' "as" "name" . + 197 function_name: "operator" '?' "as" "name" . - $default reduce using rule 195 (function_name) + $default reduce using rule 197 (function_name) -State 519 +State 517 - 185 function_name: "operator" '.' "name" ":=" . + 187 function_name: "operator" '.' "name" ":=" . - $default reduce using rule 185 (function_name) + $default reduce using rule 187 (function_name) -State 520 +State 518 - 513 function_argument_declaration: "$a" '(' . 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 + 516 function_argument_declaration: "$a" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 672 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 521 +State 519 - 287 kwd_let_var_or_nothing: "let" . + 289 kwd_let_var_or_nothing: "let" . - $default reduce using rule 287 (kwd_let_var_or_nothing) + $default reduce using rule 289 (kwd_let_var_or_nothing) -State 522 +State 520 - 288 kwd_let_var_or_nothing: "var" . + 290 kwd_let_var_or_nothing: "var" . - $default reduce using rule 288 (kwd_let_var_or_nothing) + $default reduce using rule 290 (kwd_let_var_or_nothing) -State 523 +State 521 - 512 function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing . variable_declaration + 515 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 @@ -9518,148 +9525,148 @@ State 523 variable_name_with_pos_list go to state 676 -State 524 +State 522 - 133 optional_function_argument_list: '(' function_argument_list ')' . + 135 optional_function_argument_list: '(' function_argument_list ')' . - $default reduce using rule 133 (optional_function_argument_list) + $default reduce using rule 135 (optional_function_argument_list) -State 525 +State 523 - 515 function_argument_list: function_argument_list ';' . function_argument_declaration + 518 function_argument_list: function_argument_list ';' . function_argument_declaration - "$a" shift, and go to state 383 - '@' shift, and go to state 214 + "$a" shift, and go to state 382 + '@' shift, and go to state 212 - $default reduce using rule 492 (optional_field_annotation) + $default reduce using rule 494 (optional_field_annotation) - metadata_argument_list go to state 215 - optional_field_annotation go to state 385 + metadata_argument_list go to state 213 + optional_field_annotation go to state 384 function_argument_declaration go to state 677 -State 526 +State 524 - 135 optional_function_type: ':' type_declaration . - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 137 optional_function_type: ':' type_declaration . + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 + '|' shift, and go to state 371 - $default reduce using rule 135 (optional_function_type) + $default reduce using rule 137 (optional_function_type) -State 527 +State 525 - 234 expression_block: $@9 '{' expressions . $@10 '}' expression_block_finally - 256 expressions: expressions . expression_any - 257 | expressions . error + 236 expression_block: $@9 '{' expressions . $@10 '}' expression_block_finally + 258 expressions: expressions . expression_any + 259 | expressions . error error shift, and go to state 678 - "struct" shift, and go to state 414 - "class" shift, and go to state 415 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 "let" shift, and go to state 3 - "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 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 "return" shift, and go to state 679 - "null" shift, and go to state 422 + "null" shift, and go to state 420 "break" shift, and go to state 680 "try" shift, and go to state 681 - "table" shift, and go to state 423 + "table" shift, and go to state 421 "delete" shift, and go to state 682 - "deref" shift, and go to state 424 + "deref" shift, and go to state 422 "assume" shift, and go to state 683 - "cast" shift, and go to state 425 - "upcast" shift, and go to state 426 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 "var" shift, and go to state 8 - "addr" shift, and go to state 427 + "addr" shift, and go to state 425 "continue" shift, and go to state 684 "pass" shift, and go to state 685 - "reinterpret" shift, and go to state 428 + "reinterpret" shift, and go to state 426 "label" shift, and go to state 686 "goto" shift, and go to state 687 "unsafe" shift, and go to state 688 - "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 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 "yield" shift, and go to state 689 - "++" shift, and go to state 436 - "--" shift, and go to state 437 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 - '*' shift, and go to state 455 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 454 + '!' shift, and go to state 455 + '[' 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 691 - '{' shift, and go to state 462 + '{' shift, and go to state 460 "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) + '}' reduce using rule 235 ($@10) SEMICOLON go to state 692 - string_builder go to state 463 - expr_reader go to state 464 + string_builder go to state 461 + expr_reader go to state 462 expression_label go to state 693 expression_goto go to state 694 expression_if_one_liner go to state 695 @@ -9675,11 +9682,11 @@ State 527 $@5 go to state 705 expression_with_alias go to state 706 $@10 go to state 707 - expr_call_pipe go to state 465 + expr_call_pipe go to state 463 expression_any go to state 708 - name_in_namespace go to state 466 + name_in_namespace go to state 464 expression_delete go to state 709 - expr_new go to state 467 + expr_new go to state 465 expression_break go to state 710 expression_continue go to state 711 expression_return go to state 712 @@ -9687,115 +9694,126 @@ State 527 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_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 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_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 718 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 528 +State 526 - 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 '}' + 600 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 595 ($@40) + $default reduce using rule 598 ($@40) $@40 go to state 719 -State 529 +State 527 - 599 optional_structure_parent: ':' name_in_namespace . + 602 optional_structure_parent: ':' . name_in_namespace - $default reduce using rule 599 (optional_structure_parent) + "::" shift, and go to state 55 + "name" shift, and go to state 56 + name_in_namespace go to state 720 -State 530 - 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 . '}' +State 528 - '[' shift, and go to state 14 - '}' shift, and go to state 720 + 605 structure_name: optional_sealed "name" optional_structure_parent . - "def" reduce using rule 129 (optional_annotation_list) - $default reduce using rule 506 ($@33) + $default reduce using rule 605 (structure_name) - optional_annotation_list go to state 721 - $@33 go to state 722 +State 529 -State 531 + 616 structure_declaration: optional_annotation_list $@42 class_or_struct optional_public_or_private_structure $@43 structure_name optional_emit_semis $@44 . optional_struct_variable_declaration_list - 542 let_variable_name_with_pos_list: "$i" . '(' expr ')' + '{' shift, and go to state 721 + + $default reduce using rule 611 (optional_struct_variable_declaration_list) + + optional_struct_variable_declaration_list go to state 722 + + +State 530 + + 545 let_variable_name_with_pos_list: "$i" . '(' expr ')' '(' shift, and go to state 723 -State 532 +State 531 - 541 let_variable_name_with_pos_list: "name" . - 543 | "name" . "aka" "name" + 544 let_variable_name_with_pos_list: "name" . + 546 | "name" . "aka" "name" "aka" shift, and go to state 724 - $default reduce using rule 541 (let_variable_name_with_pos_list) + $default reduce using rule 544 (let_variable_name_with_pos_list) -State 533 +State 532 - 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 + 547 let_variable_name_with_pos_list: let_variable_name_with_pos_list . ',' "name" + 548 | let_variable_name_with_pos_list . ',' "name" "aka" "name" + 554 let_variable_declaration: let_variable_name_with_pos_list . ':' type_declaration_no_options SEMICOLON + 555 | let_variable_name_with_pos_list . ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + 556 | let_variable_name_with_pos_list . optional_ref copy_or_move_or_clone expr SEMICOLON ',' shift, and go to state 725 ':' shift, and go to state 726 - '&' shift, and go to state 409 + '&' shift, and go to state 407 - $default reduce using rule 539 (optional_ref) + $default reduce using rule 542 (optional_ref) optional_ref go to state 727 +State 533 + + 568 global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation let_variable_declaration . + + $default reduce using rule 568 (global_variable_declaration_list) + + State 534 - 565 global_variable_declaration_list: global_variable_declaration_list $@36 optional_field_annotation let_variable_declaration . + 114 metadata_argument_list: metadata_argument_list '@' annotation_argument optional_emit_semis . - $default reduce using rule 565 (global_variable_declaration_list) + $default reduce using rule 114 (metadata_argument_list) State 535 - 547 global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list ',' "name" . + 550 global_let_variable_name_with_pos_list: global_let_variable_name_with_pos_list ',' "name" . - $default reduce using rule 547 (global_let_variable_name_with_pos_list) + $default reduce using rule 550 (global_let_variable_name_with_pos_list) State 536 - 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 ';' + 557 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options . ';' + 558 | 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 @@ -9807,177 +9825,177 @@ State 536 State 537 - 537 copy_or_move_or_clone: "<-" . + 540 copy_or_move_or_clone: "<-" . - $default reduce using rule 537 (copy_or_move_or_clone) + $default reduce using rule 540 (copy_or_move_or_clone) State 538 - 538 copy_or_move_or_clone: ":=" . + 541 copy_or_move_or_clone: ":=" . - $default reduce using rule 538 (copy_or_move_or_clone) + $default reduce using rule 541 (copy_or_move_or_clone) State 539 - 536 copy_or_move_or_clone: '=' . + 539 copy_or_move_or_clone: '=' . - $default reduce using rule 536 (copy_or_move_or_clone) + $default reduce using rule 539 (copy_or_move_or_clone) State 540 - 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 - "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 + 559 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 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 730 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 541 - 681 type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration . '>' $@47 - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 685 type_declaration_no_options_no_dim: "type" '<' $@47 type_declaration . '>' $@48 + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 + '|' shift, and go to state 371 '>' shift, and go to state 731 State 542 - 704 type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration . '>' $@52 - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 708 type_declaration_no_options_no_dim: "array" '<' $@52 type_declaration . '>' $@53 + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 + '|' shift, and go to state 371 '>' shift, and go to state 732 State 543 - 707 type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair . '>' $@54 + 711 type_declaration_no_options_no_dim: "table" '<' $@54 table_type_pair . '>' $@55 '>' shift, and go to state 733 State 544 - 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 . '|' '#' + 671 table_type_pair: type_declaration . + 672 | type_declaration . c_or_s type_declaration + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' "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 371 ';' shift, and go to state 691 - $default reduce using rule 667 (table_type_pair) + $default reduce using rule 671 (table_type_pair) COMMA go to state 736 SEMICOLON go to state 737 @@ -9986,63 +10004,63 @@ State 544 State 545 - 781 make_struct_decl: "struct" '<' . $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' + 785 make_struct_decl: "struct" '<' . $@86 type_declaration_no_options '>' $@87 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 779 ($@85) + $default reduce using rule 783 ($@86) - $@85 go to state 739 + $@86 go to state 739 State 546 - 784 make_struct_decl: "class" '<' . $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' + 788 make_struct_decl: "class" '<' . $@88 type_declaration_no_options '>' $@89 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 782 ($@87) + $default reduce using rule 786 ($@88) - $@87 go to state 740 + $@88 go to state 740 State 547 - 271 new_type_declaration: '<' . $@11 type_declaration '>' $@12 + 273 new_type_declaration: '<' . $@11 type_declaration '>' $@12 - $default reduce using rule 269 ($@11) + $default reduce using rule 271 ($@11) $@11 go to state 741 State 548 - 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 ')' + 275 expr_new: "new" new_type_declaration . + 276 | "new" new_type_declaration . '(' use_initializer ')' + 277 | "new" new_type_declaration . '(' expr_list ')' + 278 | "new" new_type_declaration . '(' make_struct_single ')' + 279 | "new" new_type_declaration . '(' "uninitialized" make_struct_single ')' '(' shift, and go to state 742 - $default reduce using rule 273 (expr_new) + $default reduce using rule 275 (expr_new) State 549 - 272 new_type_declaration: structure_type_declaration . + 274 new_type_declaration: structure_type_declaration . - $default reduce using rule 272 (new_type_declaration) + $default reduce using rule 274 (new_type_declaration) State 550 - 278 expr_new: "new" make_decl . + 280 expr_new: "new" make_decl . - $default reduce using rule 278 (expr_new) + $default reduce using rule 280 (expr_new) State 551 - 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 ')' + 315 expr_type_info: "typeinfo" name_in_namespace . '(' expr ')' + 316 | "typeinfo" name_in_namespace . '<' "name" '>' '(' expr ')' + 317 | "typeinfo" name_in_namespace . '<' "name" c_or_s "name" '>' '(' expr ')' '<' shift, and go to state 743 '(' shift, and go to state 744 @@ -10050,1068 +10068,1068 @@ State 551 State 552 - 312 expr_type_decl: "type" '<' . $@19 type_declaration '>' $@20 + 314 expr_type_decl: "type" '<' . $@19 type_declaration '>' $@20 - $default reduce using rule 310 ($@19) + $default reduce using rule 312 ($@19) $@19 go to state 745 State 553 - 800 make_dim_decl: "array" "struct" . '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' + 804 make_dim_decl: "array" "struct" . '<' $@96 type_declaration_no_options '>' $@97 '(' use_initializer optional_make_struct_dim_decl ')' '<' shift, and go to state 746 State 554 - 803 make_dim_decl: "array" "tuple" . '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' + 807 make_dim_decl: "array" "tuple" . '<' $@98 type_declaration_no_options '>' $@99 '(' use_initializer optional_make_struct_dim_decl ')' '<' shift, and go to state 747 State 555 - 806 make_dim_decl: "array" "variant" . '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' + 810 make_dim_decl: "array" "variant" . '<' $@100 type_declaration_no_options '>' $@101 '(' make_variant_dim ')' '<' shift, and go to state 748 State 556 - 810 make_dim_decl: "array" '<' . $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' + 814 make_dim_decl: "array" '<' . $@102 type_declaration_no_options '>' $@103 '(' optional_expr_list ')' - $default reduce using rule 808 ($@101) + $default reduce using rule 812 ($@102) - $@101 go to state 749 + $@102 go to state 749 State 557 - 807 make_dim_decl: "array" '(' . expr_list optional_comma ')' - - "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 + 811 make_dim_decl: "array" '(' . expr_list optional_comma ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 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 - 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 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 558 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 823 make_table_decl: "table" '<' . type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + 824 | "table" '<' . type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - structure_type_declaration go to state 265 - auto_type_declaration go to state 266 - bitfield_type_declaration go to state 267 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 type_declaration_no_options go to state 751 - type_declaration_no_options_no_dim go to state 269 + type_declaration_no_options_no_dim go to state 267 State 559 - 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 - "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 + 822 make_table_decl: "table" '(' . expr_map_tuple_list optional_comma ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 594 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 make_map_tuple go to state 595 - make_tuple_call go to state 485 - make_dim_decl go to state 486 + make_tuple_call go to state 483 + make_dim_decl go to state 484 expr_map_tuple_list go to state 752 - make_table_decl go to state 487 - array_comprehension go to state 488 + make_table_decl go to state 485 + array_comprehension go to state 486 State 560 - 441 expr: "deref" '(' . 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 + 443 expr: "deref" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 753 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 561 - 303 expr_cast: "cast" '<' . $@13 type_declaration_no_options '>' $@14 expr + 305 expr_cast: "cast" '<' . $@13 type_declaration_no_options '>' $@14 expr - $default reduce using rule 301 ($@13) + $default reduce using rule 303 ($@13) $@13 go to state 754 State 562 - 306 expr_cast: "upcast" '<' . $@15 type_declaration_no_options '>' $@16 expr + 308 expr_cast: "upcast" '<' . $@15 type_declaration_no_options '>' $@16 expr - $default reduce using rule 304 ($@15) + $default reduce using rule 306 ($@15) $@15 go to state 755 State 563 - 442 expr: "addr" '(' . 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 + 444 expr: "addr" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 756 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 564 - 309 expr_cast: "reinterpret" '<' . $@17 type_declaration_no_options '>' $@18 expr + 311 expr_cast: "reinterpret" '<' . $@17 type_declaration_no_options '>' $@18 expr - $default reduce using rule 307 ($@17) + $default reduce using rule 309 ($@17) $@17 go to state 757 State 565 - 472 expr: "unsafe" '(' . 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 + 474 expr: "unsafe" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 758 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 566 - 814 make_dim_decl: "fixed_array" '<' . $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' + 818 make_dim_decl: "fixed_array" '<' . $@104 type_declaration_no_options '>' $@105 '(' expr_list optional_comma ')' - $default reduce using rule 812 ($@103) + $default reduce using rule 816 ($@104) - $@103 go to state 759 + $@104 go to state 759 State 567 - 811 make_dim_decl: "fixed_array" '(' . expr_list optional_comma ')' - - "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 + 815 make_dim_decl: "fixed_array" '(' . expr_list optional_comma ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 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 - 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 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 568 - 790 make_struct_decl: "default" '<' . $@91 type_declaration_no_options '>' $@92 use_initializer + 794 make_struct_decl: "default" '<' . $@92 type_declaration_no_options '>' $@93 use_initializer - $default reduce using rule 788 ($@91) + $default reduce using rule 792 ($@92) - $@91 go to state 761 + $@92 go to state 761 State 569 - 796 make_tuple_call: "tuple" '<' . $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' + 800 make_tuple_call: "tuple" '<' . $@94 type_declaration_no_options '>' $@95 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 794 ($@93) + $default reduce using rule 798 ($@94) - $@93 go to state 762 + $@94 go to state 762 State 570 - 793 make_tuple_call: "tuple" '(' . expr_list optional_comma ')' - - "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 + 797 make_tuple_call: "tuple" '(' . expr_list optional_comma ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 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 - 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 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 571 - 787 make_struct_decl: "variant" '<' . $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' + 791 make_struct_decl: "variant" '<' . $@90 type_declaration_no_options '>' $@91 '(' make_variant_dim ')' - $default reduce using rule 785 ($@89) + $default reduce using rule 789 ($@90) - $@89 go to state 764 + $@90 go to state 764 State 572 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 475 expr_generator: "generator" '<' . type_declaration_no_options '>' optional_capture_list '(' ')' + 476 | "generator" '<' . type_declaration_no_options '>' optional_capture_list '(' expr ')' + 477 | "generator" '<' . type_declaration_no_options '>' optional_capture_list optional_emit_semis expression_block + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - structure_type_declaration go to state 265 - auto_type_declaration go to state 266 - bitfield_type_declaration go to state 267 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 type_declaration_no_options go to state 765 - type_declaration_no_options_no_dim go to state 269 + type_declaration_no_options_no_dim go to state 267 State 573 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 429 | "++" expr . + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -11125,72 +11143,72 @@ State 573 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 427 (expr) + $default reduce using rule 429 (expr) State 574 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 430 | "--" expr . + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -11204,674 +11222,674 @@ State 574 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 428 (expr) + $default reduce using rule 430 (expr) State 575 - 476 expr_mtag: "$$" '(' . 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 + 478 expr_mtag: "$$" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 766 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 576 - 477 expr_mtag: "$i" '(' . 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 + 479 expr_mtag: "$i" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 767 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 577 - 478 expr_mtag: "$v" '(' . 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 + 480 expr_mtag: "$v" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 768 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 578 - 479 expr_mtag: "$b" '(' . 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 + 481 expr_mtag: "$b" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 769 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 579 - 480 expr_mtag: "$a" '(' . 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 + 482 expr_mtag: "$a" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 770 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 580 - 482 expr_mtag: "$c" '(' . expr ')' '(' ')' - 483 | "$c" '(' . expr ')' '(' expr_list ')' - - "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 + 484 expr_mtag: "$c" '(' . expr ')' '(' ')' + 485 | "$c" '(' . expr ')' '(' expr_list ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 771 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 581 @@ -11890,67 +11908,67 @@ State 581 State 582 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -11964,72 +11982,72 @@ State 582 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 404 (expr) + $default reduce using rule 406 (expr) State 583 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 405 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -12043,144 +12061,144 @@ State 583 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 403 (expr) + $default reduce using rule 405 (expr) State 584 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 442 | '*' expr . + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | 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 440 (expr) + $default reduce using rule 442 (expr) State 585 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 404 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -12194,72 +12212,72 @@ State 585 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 402 (expr) + $default reduce using rule 404 (expr) State 586 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 403 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -12273,98 +12291,98 @@ State 586 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 401 (expr) + $default reduce using rule 403 (expr) State 587 - 825 array_comprehension: '[' "for" . '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 829 array_comprehension: '[' "for" . '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' '(' shift, and go to state 775 State 588 - 826 array_comprehension: '[' "iterator" . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 830 array_comprehension: '[' "iterator" . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' "for" shift, and go to state 776 State 589 - 317 expr_list: expr_list . ',' expr - 797 make_dim_decl: '[' expr_list . optional_comma ']' + 319 expr_list: expr_list . ',' expr + 801 make_dim_decl: '[' expr_list . optional_comma ']' ',' shift, and go to state 777 - $default reduce using rule 823 (optional_comma) + $default reduce using rule 827 (optional_comma) optional_comma go to state 778 State 590 - 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 ')' + 318 expr_list: expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -12402,28 +12420,28 @@ State 590 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 316 (expr_list) + $default reduce using rule 318 (expr_list) State 591 - 317 expr_list: expr_list . ',' expr - 431 expr: '(' expr_list . optional_comma ')' + 319 expr_list: expr_list . ',' expr + 433 expr: '(' expr_list . optional_comma ')' ',' shift, and go to state 777 - $default reduce using rule 823 (optional_comma) + $default reduce using rule 827 (optional_comma) optional_comma go to state 779 State 592 - 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 ')' + 325 block_or_lambda: '@' '@' . + 370 func_addr_expr: '@' '@' . func_addr_name + 373 | '@' '@' . '<' $@21 type_declaration_no_options '>' $@22 func_addr_name + 376 | '@' '@' . '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name + 493 expr_mtag: '@' '@' . "$c" '(' expr ')' "::" shift, and go to state 55 "$i" shift, and go to state 780 @@ -12431,7 +12449,7 @@ State 592 "name" shift, and go to state 56 '<' shift, and go to state 782 - $default reduce using rule 323 (block_or_lambda) + $default reduce using rule 325 (block_or_lambda) name_in_namespace go to state 783 func_addr_name go to state 784 @@ -12439,75 +12457,75 @@ State 592 State 593 - 827 array_comprehension: '{' "for" . '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' + 831 array_comprehension: '{' "for" . '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' '(' shift, and go to state 785 State 594 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 795 make_map_tuple: expr . "=>" expr + 796 | expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -12546,184 +12564,184 @@ State 594 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 792 (make_map_tuple) + $default reduce using rule 796 (make_map_tuple) State 595 - 815 expr_map_tuple_list: make_map_tuple . + 819 expr_map_tuple_list: make_map_tuple . - $default reduce using rule 815 (expr_map_tuple_list) + $default reduce using rule 819 (expr_map_tuple_list) State 596 - 816 expr_map_tuple_list: expr_map_tuple_list . ',' make_map_tuple - 817 make_table_decl: '{' expr_map_tuple_list . optional_comma '}' + 820 expr_map_tuple_list: expr_map_tuple_list . ',' make_map_tuple + 821 make_table_decl: '{' expr_map_tuple_list . optional_comma '}' ',' shift, and go to state 787 - $default reduce using rule 823 (optional_comma) + $default reduce using rule 827 (optional_comma) optional_comma go to state 788 State 597 - 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 - "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 + 364 expr_named_call: name_in_namespace '(' . '[' make_struct_fields ']' ')' + 365 | name_in_namespace '(' . expr_list ',' '[' make_struct_fields ']' ')' + 386 expr_call: name_in_namespace '(' . ')' + 387 | name_in_namespace '(' . "uninitialized" ')' + 388 | name_in_namespace '(' . make_struct_single ')' + 389 | name_in_namespace '(' . "uninitialized" make_struct_single ')' + 390 | name_in_namespace '(' . expr_list ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 "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 - "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 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 "$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 - "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 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 - '*' shift, and go to state 455 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' shift, and go to state 13 - '~' shift, and go to state 456 - '!' shift, and go to state 457 + '~' shift, and go to state 454 + '!' shift, and go to state 455 '[' shift, and go to state 792 - '(' shift, and go to state 459 + '(' shift, and go to state 457 ')' shift, and go to state 793 - '$' 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 + '$' shift, and go to state 458 + '@' shift, and go to state 459 + '{' shift, and go to state 460 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 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 - 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 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 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 - make_table_decl go to state 487 - array_comprehension go to state 488 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 598 - 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 + 335 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 797 - $default reduce using rule 331 (optional_capture_list) + $default reduce using rule 333 (optional_capture_list) optional_capture_list go to state 798 State 599 - 322 block_or_lambda: '@' . - 323 | '@' . '@' + 324 block_or_lambda: '@' . + 325 | '@' . '@' '@' shift, and go to state 799 - $default reduce using rule 322 (block_or_lambda) + $default reduce using rule 324 (block_or_lambda) State 600 - 335 expr_full_block_assumed_piped: '{' . expressions '}' + 337 expr_full_block_assumed_piped: '{' . expressions '}' - $default reduce using rule 255 (expressions) + $default reduce using rule 257 (expressions) expressions go to state 800 State 601 - 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 + 336 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 @@ -12734,46 +12752,46 @@ State 601 State 602 - 235 expr_call_pipe: expr_call expr_full_block_assumed_piped . + 237 expr_call_pipe: expr_call expr_full_block_assumed_piped . - $default reduce using rule 235 (expr_call_pipe) + $default reduce using rule 237 (expr_call_pipe) State 603 - 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 ')' + 450 expr: expr "is" . "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr "is" . basic_type_declaration + 452 | expr "is" . "name" + 492 expr_mtag: expr "is" . "$f" '(' expr ')' "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 - "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 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 "$f" shift, and go to state 803 "name" shift, and go to state 804 @@ -12782,39 +12800,39 @@ State 603 State 604 - 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 ')' + 453 expr: expr "as" . "name" + 456 | expr "as" . "type" '<' $@29 type_declaration '>' $@30 + 457 | expr "as" . basic_type_declaration + 490 expr_mtag: expr "as" . "$f" '(' expr ')' "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 - "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 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 "$f" shift, and go to state 807 "name" shift, and go to state 808 @@ -12823,807 +12841,807 @@ State 604 State 605 - 405 expr: 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 + 407 expr: expr "<<" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 810 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 606 - 406 expr: 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 + 408 expr: expr ">>" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 811 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 607 - 429 expr: expr "++" . + 431 expr: expr "++" . - $default reduce using rule 429 (expr) + $default reduce using rule 431 (expr) State 608 - 430 expr: expr "--" . + 432 expr: expr "--" . - $default reduce using rule 430 (expr) + $default reduce using rule 432 (expr) State 609 - 418 expr: 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 + 420 expr: expr "<=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 812 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 610 - 419 expr: 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 + 421 expr: expr ">=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 813 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 611 - 416 expr: 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 + 418 expr: expr "==" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 814 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 612 - 417 expr: 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 + 419 expr: expr "!=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 815 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 613 - 364 expr_method_call: expr "->" . "name" '(' ')' - 365 | expr "->" . "name" '(' expr_list ')' + 366 expr_method_call: expr "->" . "name" '(' ')' + 367 | expr "->" . "name" '(' expr_list ')' "name" shift, and go to state 816 State 614 - 444 expr: 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 + 446 expr: expr "??" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 817 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 615 - 436 expr: expr "?." . "name" - 485 expr_mtag: expr "?." . "$f" '(' expr ')' + 438 expr: expr "?." . "name" + 487 expr_mtag: expr "?." . "$f" '(' expr ')' "$f" shift, and go to state 818 "name" shift, and go to state 819 @@ -13631,2273 +13649,2273 @@ State 615 State 616 - 434 expr: 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 + 436 expr: expr "?[" . expr ']' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 820 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 617 - 468 expr: 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 + 470 expr: expr "<|" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 821 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 618 - 469 expr: expr "|>" . expr - 470 | expr "|>" . basic_type_declaration - - "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 + 471 expr: expr "|>" . expr + 472 | expr "|>" . basic_type_declaration + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 822 - expr_generator go to state 480 - expr_mtag go to state 481 + expr_generator go to state 478 + expr_mtag go to state 479 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 - make_dim_decl go to state 486 - make_table_decl go to state 487 - array_comprehension go to state 488 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 619 - 407 expr: 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 + 409 expr: expr "<<<" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 824 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 620 - 408 expr: 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 + 410 expr: expr ">>>" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 825 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 621 - 423 expr: 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 + 425 expr: expr "&&" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 826 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 622 - 424 expr: 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 + 426 expr: expr "||" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 827 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 623 - 425 expr: 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 + 427 expr: expr "^^" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 828 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 624 - 426 expr: 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 + 428 expr: expr ".." . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 829 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 625 - 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 - "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 + 447 expr: expr '?' . expr ':' expr + 458 | expr '?' . "as" "name" + 461 | expr '?' . "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr '?' . "as" basic_type_declaration + 491 expr_mtag: expr '?' . "as" "$f" '(' expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 "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 - "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 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 831 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 626 - 421 expr: 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 + 423 expr: expr '|' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 832 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 627 - 422 expr: 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 + 424 expr: expr '^' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 833 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 628 - 420 expr: 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 + 422 expr: expr '&' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 834 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 629 - 414 expr: 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 + 416 expr: expr '<' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 835 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 630 - 415 expr: 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 + 417 expr: expr '>' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 836 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 631 - 410 expr: 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 + 412 expr: expr '-' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 837 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 632 - 409 expr: 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 + 411 expr: expr '+' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 838 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 633 - 411 expr: 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 + 413 expr: expr '*' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 839 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 634 - 412 expr: 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 + 414 expr: expr '/' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 840 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 635 - 413 expr: 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 + 415 expr: expr '%' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 841 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 636 - 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 - "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 + 377 expr_field: expr '.' . "name" + 378 | expr '.' . '.' "name" + 379 | expr '.' . "name" '(' ')' + 380 | expr '.' . "name" '(' expr_list ')' + 381 | expr '.' . basic_type_declaration '(' ')' + 382 | expr '.' . basic_type_declaration '(' expr_list ')' + 385 | expr '.' . $@25 error $@26 + 435 expr: expr '.' . '[' expr ']' + 437 | expr '.' . "?[" expr ']' + 439 | expr '.' . "?." "name" + 486 expr_mtag: expr '.' . "$f" '(' expr ')' + 488 | expr '.' . '.' "$f" '(' expr ')' + 489 | expr '.' . "?." "$f" '(' expr ')' + + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 "?." shift, and go to state 842 "?[" shift, and go to state 843 "$f" shift, and go to state 844 @@ -15905,7 +15923,7 @@ State 636 '.' shift, and go to state 846 '[' shift, and go to state 847 - $default reduce using rule 381 ($@25) + $default reduce using rule 383 ($@25) $@25 go to state 848 basic_type_declaration go to state 849 @@ -15913,274 +15931,274 @@ State 636 State 637 - 432 expr: 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 + 434 expr: expr '[' . expr ']' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 850 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 638 - 682 type_declaration_no_options_no_dim: "typedecl" '(' expr ')' . + 686 type_declaration_no_options_no_dim: "typedecl" '(' expr ')' . - $default reduce using rule 682 (type_declaration_no_options_no_dim) + $default reduce using rule 686 (type_declaration_no_options_no_dim) State 639 - 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 - "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 + 391 expr_call: basic_type_declaration '(' . ')' + 392 | basic_type_declaration '(' . expr_list ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 454 + '!' shift, and go to state 455 + '[' shift, and go to state 456 + '(' shift, and go to state 457 ')' shift, and go to state 851 - '$' 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 + '$' shift, and go to state 458 + '@' shift, and go to state 459 + '{' shift, and go to state 460 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 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 - 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 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 640 - 710 type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration . '>' $@56 - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 714 type_declaration_no_options_no_dim: "iterator" '<' $@56 type_declaration . '>' $@57 + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 + '|' shift, and go to state 371 '>' shift, and go to state 853 State 641 - 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 . '|' '#' + 704 type_declaration_no_options_no_dim: "smart_ptr" '<' $@50 type_declaration . '>' $@51 + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 + '|' shift, and go to state 371 '>' shift, and go to state 854 State 642 - 655 auto_type_declaration: "auto" '(' "name" ')' . + 659 auto_type_declaration: "auto" '(' "name" ')' . - $default reduce using rule 655 (auto_type_declaration) + $default reduce using rule 659 (auto_type_declaration) State 643 - 657 bitfield_bits: "name" . + 661 bitfield_bits: "name" . - $default reduce using rule 657 (bitfield_bits) + $default reduce using rule 661 (bitfield_bits) State 644 - 658 bitfield_bits: bitfield_bits . ';' "name" - 664 bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits . '>' $@45 + 662 bitfield_bits: bitfield_bits . ';' "name" + 668 bitfield_type_declaration: "bitfield" '<' $@45 bitfield_bits . '>' $@46 '>' shift, and go to state 855 ';' shift, and go to state 856 @@ -16188,90 +16206,90 @@ State 644 State 645 - 714 type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration . '>' $@58 - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 718 type_declaration_no_options_no_dim: "block" '<' $@58 type_declaration . '>' $@59 + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 + '|' shift, and go to state 371 '>' shift, and go to state 857 State 646 - 717 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list . optional_function_type '>' $@60 + 721 type_declaration_no_options_no_dim: "block" '<' $@60 optional_function_argument_list . optional_function_type '>' $@61 - ':' shift, and go to state 388 + ':' shift, and go to state 387 - $default reduce using rule 134 (optional_function_type) + $default reduce using rule 136 (optional_function_type) optional_function_type go to state 858 State 647 - 721 type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration . '>' $@62 - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 725 type_declaration_no_options_no_dim: "function" '<' $@62 type_declaration . '>' $@63 + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 + '|' shift, and go to state 371 '>' shift, and go to state 859 State 648 - 724 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list . optional_function_type '>' $@64 + 728 type_declaration_no_options_no_dim: "function" '<' $@64 optional_function_argument_list . optional_function_type '>' $@65 - ':' shift, and go to state 388 + ':' shift, and go to state 387 - $default reduce using rule 134 (optional_function_type) + $default reduce using rule 136 (optional_function_type) optional_function_type go to state 860 State 649 - 728 type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration . '>' $@66 - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 732 type_declaration_no_options_no_dim: "lambda" '<' $@66 type_declaration . '>' $@67 + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 + '|' shift, and go to state 371 '>' shift, and go to state 861 State 650 - 731 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list . optional_function_type '>' $@68 + 735 type_declaration_no_options_no_dim: "lambda" '<' $@68 optional_function_argument_list . optional_function_type '>' $@69 - ':' shift, and go to state 388 + ':' shift, and go to state 387 - $default reduce using rule 134 (optional_function_type) + $default reduce using rule 136 (optional_function_type) optional_function_type go to state 862 State 651 - 264 name_in_namespace: "name" . - 265 | "name" . "::" "name" - 517 tuple_type: "name" . ':' type_declaration + 266 name_in_namespace: "name" . + 267 | "name" . "::" "name" + 520 tuple_type: "name" . ':' type_declaration - "::" shift, and go to state 95 + "::" shift, and go to state 93 ':' shift, and go to state 863 - $default reduce using rule 264 (name_in_namespace) + $default reduce using rule 266 (name_in_namespace) State 652 - 518 tuple_type_list: tuple_type . + 521 tuple_type_list: tuple_type . - $default reduce using rule 518 (tuple_type_list) + $default reduce using rule 521 (tuple_type_list) State 653 - 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 + 522 tuple_type_list: tuple_type_list . c_or_s tuple_type + 738 type_declaration_no_options_no_dim: "tuple" '<' $@70 tuple_type_list . '>' $@71 "emitted ," shift, and go to state 734 "emitted ;" shift, and go to state 690 @@ -16286,33 +16304,33 @@ State 653 State 654 - 516 tuple_type: type_declaration . - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 519 tuple_type: type_declaration . + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 + '|' shift, and go to state 371 - $default reduce using rule 516 (tuple_type) + $default reduce using rule 519 (tuple_type) State 655 - 523 variant_type: "name" . ':' type_declaration + 526 variant_type: "name" . ':' type_declaration ':' shift, and go to state 866 State 656 - 524 variant_type_list: variant_type . + 527 variant_type_list: variant_type . - $default reduce using rule 524 (variant_type_list) + $default reduce using rule 527 (variant_type_list) State 657 - 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 + 528 variant_type_list: variant_type_list . c_or_s variant_type + 741 type_declaration_no_options_no_dim: "variant" '<' $@72 variant_type_list . '>' $@73 "emitted ," shift, and go to state 734 "emitted ;" shift, and go to state 690 @@ -16327,173 +16345,173 @@ State 657 State 658 - 656 auto_type_declaration: "$t" '(' expr ')' . + 660 auto_type_declaration: "$t" '(' expr ')' . - $default reduce using rule 656 (auto_type_declaration) + $default reduce using rule 660 (auto_type_declaration) State 659 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 689 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@49 . type_declaration_no_options_list '>' '(' optional_expr_list ')' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 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 - auto_type_declaration go to state 266 - 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 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 870 State 660 - 683 type_declaration_no_options_no_dim: '$' name_in_namespace '(' optional_expr_list . ')' + 687 type_declaration_no_options_no_dim: '$' name_in_namespace '(' optional_expr_list . ')' ')' shift, and go to state 871 State 661 - 259 optional_expr_list: expr_list . optional_comma - 317 expr_list: expr_list . ',' expr + 261 optional_expr_list: expr_list . optional_comma + 319 expr_list: expr_list . ',' expr ',' shift, and go to state 777 - $default reduce using rule 823 (optional_comma) + $default reduce using rule 827 (optional_comma) optional_comma go to state 872 State 662 - 686 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 686 (type_declaration_no_options_no_dim) + $default reduce using rule 690 (type_declaration_no_options_no_dim) State 663 - 669 dim_list: '[' expr ']' . + 673 dim_list: '[' expr ']' . - $default reduce using rule 669 (dim_list) + $default reduce using rule 673 (dim_list) State 664 - 672 dim_list: dim_list '[' ']' . + 676 dim_list: dim_list '[' ']' . - $default reduce using rule 672 (dim_list) + $default reduce using rule 676 (dim_list) State 665 - 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 . ']' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 675 dim_list: dim_list '[' expr . ']' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -16535,20 +16553,20 @@ State 665 State 666 - 660 bitfield_alias_bits: "name" . + 664 bitfield_alias_bits: "name" . - $default reduce using rule 660 (bitfield_alias_bits) + $default reduce using rule 664 (bitfield_alias_bits) State 667 - 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 '}' + 665 bitfield_alias_bits: bitfield_alias_bits . commas "name" + 759 bitfield_alias_declaration: "bitfield" $@82 optional_public_or_private_alias "name" optional_emit_commas $@83 '{' $@84 bitfield_alias_bits . optional_commas $@85 '}' "emitted ," shift, and go to state 734 ',' shift, and go to state 735 - $default reduce using rule 588 (optional_commas) + $default reduce using rule 591 (optional_commas) COMMA go to state 874 commas go to state 875 @@ -16557,15 +16575,15 @@ State 667 State 668 - 521 tuple_alias_type_list: tuple_type . + 524 tuple_alias_type_list: tuple_type . - $default reduce using rule 521 (tuple_alias_type_list) + $default reduce using rule 524 (tuple_alias_type_list) State 669 - 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 '}' + 525 tuple_alias_type_list: tuple_alias_type_list . semis tuple_type + 749 tuple_alias_declaration: "tuple" $@74 optional_public_or_private_alias "name" optional_emit_semis $@75 '{' $@76 tuple_alias_type_list . optional_semis $@77 '}' "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 @@ -16579,15 +16597,15 @@ State 669 State 670 - 527 variant_alias_type_list: variant_type . + 530 variant_alias_type_list: variant_type . - $default reduce using rule 527 (variant_alias_type_list) + $default reduce using rule 530 (variant_alias_type_list) State 671 - 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 '}' + 531 variant_alias_type_list: variant_alias_type_list . semis variant_type + 754 variant_alias_declaration: "variant" $@78 optional_public_or_private_alias "name" optional_emit_semis $@79 '{' $@80 variant_alias_type_list . optional_semis $@81 '}' "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 @@ -16601,67 +16619,67 @@ State 671 State 672 - 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 . ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 516 function_argument_declaration: "$a" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -16703,37 +16721,37 @@ State 672 State 673 - 614 variable_name_with_pos_list: "$i" . '(' expr ')' + 618 variable_name_with_pos_list: "$i" . '(' expr ')' '(' shift, and go to state 883 State 674 - 613 variable_name_with_pos_list: "name" . - 615 | "name" . "aka" "name" + 617 variable_name_with_pos_list: "name" . + 619 | "name" . "aka" "name" "aka" shift, and go to state 884 - $default reduce using rule 613 (variable_name_with_pos_list) + $default reduce using rule 617 (variable_name_with_pos_list) State 675 - 512 function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing variable_declaration . + 515 function_argument_declaration: optional_field_annotation kwd_let_var_or_nothing variable_declaration . - $default reduce using rule 512 (function_argument_declaration) + $default reduce using rule 515 (function_argument_declaration) State 676 - 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" + 534 variable_declaration: variable_name_with_pos_list . + 535 | variable_name_with_pos_list . '&' + 536 | variable_name_with_pos_list . ':' type_declaration + 537 | variable_name_with_pos_list . ':' type_declaration copy_or_move expr + 538 | variable_name_with_pos_list . copy_or_move expr + 620 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" + 621 | variable_name_with_pos_list . ',' "name" "aka" "name" "<-" shift, and go to state 885 ',' shift, and go to state 886 @@ -16741,269 +16759,269 @@ State 676 ':' shift, and go to state 888 '&' shift, and go to state 889 - $default reduce using rule 531 (variable_declaration) + $default reduce using rule 534 (variable_declaration) copy_or_move go to state 890 State 677 - 515 function_argument_list: function_argument_list ';' function_argument_declaration . + 518 function_argument_list: function_argument_list ';' function_argument_declaration . - $default reduce using rule 515 (function_argument_list) + $default reduce using rule 518 (function_argument_list) State 678 - 257 expressions: expressions error . + 259 expressions: expressions error . - $default reduce using rule 257 (expressions) + $default reduce using rule 259 (expressions) State 679 - 281 expression_return: "return" . - 282 | "return" . expr - 283 | "return" . "<-" 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 + 283 expression_return: "return" . + 284 | "return" . expr + 285 | "return" . "<-" expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "<-" 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 - "$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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - - $default reduce using rule 281 (expression_return) - - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + $default reduce using rule 283 (expression_return) + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 892 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 680 - 279 expression_break: "break" . + 281 expression_break: "break" . - $default reduce using rule 279 (expression_break) + $default reduce using rule 281 (expression_break) State 681 - 286 expression_try_catch: "try" . expression_block "recover" expression_block + 288 expression_try_catch: "try" . expression_block "recover" expression_block - $default reduce using rule 232 ($@9) + $default reduce using rule 234 ($@9) expression_block go to state 893 - $@9 go to state 332 + $@9 go to state 330 State 682 - 267 expression_delete: "delete" . expr - 268 | "delete" . "explicit" 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 + 269 expression_delete: "delete" . expr + 270 | "delete" . "explicit" expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 "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 - "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 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 895 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 683 @@ -17015,14 +17033,14 @@ State 683 State 684 - 280 expression_continue: "continue" . + 282 expression_continue: "continue" . - $default reduce using rule 280 (expression_continue) + $default reduce using rule 282 (expression_continue) State 685 - 254 expression_any: "pass" . SEMICOLON + 256 expression_any: "pass" . SEMICOLON "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 @@ -17042,118 +17060,118 @@ State 687 57 expression_goto: "goto" . "label" "integer constant" 58 | "goto" . 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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 "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 - "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 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 900 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 688 86 expression_unsafe: "unsafe" . optional_emit_semis expression_block - 472 expr: "unsafe" . '(' expr ')' + 474 expr: "unsafe" . '(' expr ')' "emitted ;" shift, and go to state 171 '(' shift, and go to state 565 @@ -17166,115 +17184,115 @@ State 688 State 689 - 284 expression_yield: "yield" . expr - 285 | "yield" . "<-" 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 + 286 expression_yield: "yield" . expr + 287 | "yield" . "<-" expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "<-" 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 - "$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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 903 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 690 @@ -17293,14 +17311,14 @@ State 691 State 692 - 236 expression_any: SEMICOLON . + 238 expression_any: SEMICOLON . - $default reduce using rule 236 (expression_any) + $default reduce using rule 238 (expression_any) State 693 - 252 expression_any: expression_label . SEMICOLON + 254 expression_any: expression_label . SEMICOLON "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 @@ -17310,7 +17328,7 @@ State 693 State 694 - 253 expression_any: expression_goto . SEMICOLON + 255 expression_any: expression_goto . SEMICOLON "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 @@ -17327,9 +17345,9 @@ State 695 State 696 - 249 expression_any: expression_if_then_else . + 251 expression_any: expression_if_then_else . - $default reduce using rule 249 (expression_any) + $default reduce using rule 251 (expression_any) State 697 @@ -17344,16 +17362,16 @@ State 697 State 698 - 250 expression_any: expression_if_then_else_oneliner . + 252 expression_any: expression_if_then_else_oneliner . - $default reduce using rule 250 (expression_any) + $default reduce using rule 252 (expression_any) State 699 - 244 expression_any: expression_for_loop . + 246 expression_any: expression_for_loop . - $default reduce using rule 244 (expression_any) + $default reduce using rule 246 (expression_any) State 700 @@ -17365,16 +17383,16 @@ State 700 State 701 - 241 expression_any: expression_unsafe . + 243 expression_any: expression_unsafe . - $default reduce using rule 241 (expression_any) + $default reduce using rule 243 (expression_any) State 702 - 240 expression_any: expression_while_loop . + 242 expression_any: expression_while_loop . - $default reduce using rule 240 (expression_any) + $default reduce using rule 242 (expression_any) State 703 @@ -17386,9 +17404,9 @@ State 703 State 704 - 242 expression_any: expression_with . + 244 expression_any: expression_with . - $default reduce using rule 242 (expression_any) + $default reduce using rule 244 (expression_any) State 705 @@ -17400,7 +17418,7 @@ State 705 State 706 - 243 expression_any: expression_with_alias . SEMICOLON + 245 expression_any: expression_with_alias . SEMICOLON "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 @@ -17410,21 +17428,21 @@ State 706 State 707 - 234 expression_block: $@9 '{' expressions $@10 . '}' expression_block_finally + 236 expression_block: $@9 '{' expressions $@10 . '}' expression_block_finally '}' shift, and go to state 914 State 708 - 256 expressions: expressions expression_any . + 258 expressions: expressions expression_any . - $default reduce using rule 256 (expressions) + $default reduce using rule 258 (expressions) State 709 - 238 expression_any: expression_delete . SEMICOLON + 240 expression_any: expression_delete . SEMICOLON "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 @@ -17435,7 +17453,7 @@ State 709 State 710 75 expression_if_one_liner: expression_break . - 245 expression_any: expression_break . SEMICOLON + 247 expression_any: expression_break . SEMICOLON "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 @@ -17448,7 +17466,7 @@ State 710 State 711 76 expression_if_one_liner: expression_continue . - 246 expression_any: expression_continue . SEMICOLON + 248 expression_any: expression_continue . SEMICOLON "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 @@ -17461,7 +17479,7 @@ State 711 State 712 73 expression_if_one_liner: expression_return . - 247 expression_any: expression_return . SEMICOLON + 249 expression_any: expression_return . SEMICOLON "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 @@ -17474,7 +17492,7 @@ State 712 State 713 74 expression_if_one_liner: expression_yield . - 248 expression_any: expression_yield . SEMICOLON + 250 expression_any: expression_yield . SEMICOLON "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 @@ -17486,34 +17504,34 @@ State 713 State 714 - 251 expression_any: expression_try_catch . + 253 expression_any: expression_try_catch . - $default reduce using rule 251 (expression_any) + $default reduce using rule 253 (expression_any) State 715 - 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 '}' + 300 expression_let: kwd_let . optional_in_scope let_variable_declaration + 301 | kwd_let . optional_in_scope tuple_expansion_variable_declaration + 302 | kwd_let . optional_in_scope '{' variable_declaration_list '}' "inscope" shift, and go to state 920 - $default reduce using rule 293 (optional_in_scope) + $default reduce using rule 295 (optional_in_scope) optional_in_scope go to state 921 State 716 - 239 expression_any: expression_let . + 241 expression_any: expression_let . - $default reduce using rule 239 (expression_any) + $default reduce using rule 241 (expression_any) State 717 - 237 expression_any: expr_assign . SEMICOLON + 239 expression_any: expr_assign . SEMICOLON "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 @@ -17524,85 +17542,85 @@ State 717 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 ')' + 345 expr_assign: 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 . "<<<=" expr + 363 | expr . ">>>=" expr + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -17659,16 +17677,16 @@ State 718 '[' shift, and go to state 637 "if" reduce using rule 72 (expression_if_one_liner) - $default reduce using rule 343 (expr_assign) + $default reduce using rule 345 (expr_assign) State 719 - 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 '}' + 600 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 941 - $default reduce using rule 573 (enum_list) + $default reduce using rule 576 (enum_list) enum_expression go to state 942 enum_list go to state 943 @@ -17676,408 +17694,403 @@ State 719 State 720 - 609 optional_struct_variable_declaration_list: '{' struct_variable_declaration_list '}' . + 602 optional_structure_parent: ':' name_in_namespace . - $default reduce using rule 609 (optional_struct_variable_declaration_list) + $default reduce using rule 602 (optional_structure_parent) State 721 - 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 944 + 612 optional_struct_variable_declaration_list: '{' . struct_variable_declaration_list '}' + $default reduce using rule 507 (struct_variable_declaration_list) -State 722 + struct_variable_declaration_list go to state 944 - 507 struct_variable_declaration_list: struct_variable_declaration_list $@33 . structure_variable_declaration ';' - '@' shift, and go to state 214 +State 722 - $default reduce using rule 492 (optional_field_annotation) + 616 structure_declaration: optional_annotation_list $@42 class_or_struct optional_public_or_private_structure $@43 structure_name optional_emit_semis $@44 optional_struct_variable_declaration_list . - metadata_argument_list go to state 215 - optional_field_annotation go to state 945 - structure_variable_declaration go to state 946 + $default reduce using rule 616 (structure_declaration) State 723 - 542 let_variable_name_with_pos_list: "$i" '(' . 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 + 545 let_variable_name_with_pos_list: "$i" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 947 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 945 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 724 - 543 let_variable_name_with_pos_list: "name" "aka" . "name" + 546 let_variable_name_with_pos_list: "name" "aka" . "name" - "name" shift, and go to state 948 + "name" shift, and go to state 946 State 725 - 544 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' . "name" - 545 | let_variable_name_with_pos_list ',' . "name" "aka" "name" + 547 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' . "name" + 548 | let_variable_name_with_pos_list ',' . "name" "aka" "name" - "name" shift, and go to state 949 + "name" shift, and go to state 947 State 726 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 554 let_variable_declaration: let_variable_name_with_pos_list ':' . type_declaration_no_options SEMICOLON + 555 | let_variable_name_with_pos_list ':' . type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 950 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 948 + type_declaration_no_options_no_dim go to state 267 State 727 - 553 let_variable_declaration: let_variable_name_with_pos_list optional_ref . copy_or_move_or_clone expr SEMICOLON + 556 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 951 + copy_or_move_or_clone go to state 949 State 728 - 554 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options ';' . + 557 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options ';' . - $default reduce using rule 554 (global_let_variable_declaration) + $default reduce using rule 557 (global_let_variable_declaration) State 729 - 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 - "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 + 558 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 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 952 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 950 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 730 - 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 . ';' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 559 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 @@ -18114,34 +18127,34 @@ State 730 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ';' shift, and go to state 953 + ';' shift, and go to state 951 State 731 - 681 type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration '>' . $@47 + 685 type_declaration_no_options_no_dim: "type" '<' $@47 type_declaration '>' . $@48 - $default reduce using rule 680 ($@47) + $default reduce using rule 684 ($@48) - $@47 go to state 954 + $@48 go to state 952 State 732 - 704 type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration '>' . $@52 + 708 type_declaration_no_options_no_dim: "array" '<' $@52 type_declaration '>' . $@53 - $default reduce using rule 703 ($@52) + $default reduce using rule 707 ($@53) - $@52 go to state 955 + $@53 go to state 953 State 733 - 707 type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair '>' . $@54 + 711 type_declaration_no_options_no_dim: "table" '<' $@54 table_type_pair '>' . $@55 - $default reduce using rule 706 ($@54) + $default reduce using rule 710 ($@55) - $@54 go to state 956 + $@55 go to state 954 State 734 @@ -18160,734 +18173,734 @@ State 735 State 736 - 665 c_or_s: COMMA . + 669 c_or_s: COMMA . - $default reduce using rule 665 (c_or_s) + $default reduce using rule 669 (c_or_s) State 737 - 666 c_or_s: SEMICOLON . + 670 c_or_s: SEMICOLON . - $default reduce using rule 666 (c_or_s) + $default reduce using rule 670 (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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 672 table_type_pair: type_declaration c_or_s . type_declaration + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 957 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 + type_declaration go to state 955 State 739 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 785 make_struct_decl: "struct" '<' $@86 . type_declaration_no_options '>' $@87 '(' use_initializer optional_make_struct_dim_decl ')' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 958 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 956 + type_declaration_no_options_no_dim go to state 267 State 740 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 788 make_struct_decl: "class" '<' $@88 . type_declaration_no_options '>' $@89 '(' use_initializer optional_make_struct_dim_decl ')' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 959 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 957 + type_declaration_no_options_no_dim go to state 267 State 741 - 271 new_type_declaration: '<' $@11 . type_declaration '>' $@12 - - "type" shift, and go to state 222 - "array" shift, and go to state 223 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 273 new_type_declaration: '<' $@11 . type_declaration '>' $@12 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 960 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 + type_declaration go to state 958 State 742 - 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 - "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 - "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 - "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 + 276 expr_new: "new" new_type_declaration '(' . use_initializer ')' + 277 | "new" new_type_declaration '(' . expr_list ')' + 278 | "new" new_type_declaration '(' . make_struct_single ')' + 279 | "new" new_type_declaration '(' . "uninitialized" make_struct_single ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "uninitialized" shift, and go to state 959 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 "$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 - "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 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 - '*' shift, and go to state 455 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - - $default reduce using rule 777 (use_initializer) - - 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 - 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 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + $default reduce using rule 781 (use_initializer) + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + expr_list go to state 960 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 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 - make_table_decl go to state 487 - array_comprehension go to state 488 + make_struct_single go to state 961 + use_initializer go to state 962 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 743 - 314 expr_type_info: "typeinfo" name_in_namespace '<' . "name" '>' '(' expr ')' - 315 | "typeinfo" name_in_namespace '<' . "name" c_or_s "name" '>' '(' expr ')' + 316 expr_type_info: "typeinfo" name_in_namespace '<' . "name" '>' '(' expr ')' + 317 | "typeinfo" name_in_namespace '<' . "name" c_or_s "name" '>' '(' expr ')' - "name" shift, and go to state 965 + "name" shift, and go to state 963 State 744 - 313 expr_type_info: "typeinfo" name_in_namespace '(' . 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 + 315 expr_type_info: "typeinfo" name_in_namespace '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 966 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 964 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 745 - 312 expr_type_decl: "type" '<' $@19 . type_declaration '>' $@20 - - "type" shift, and go to state 222 - "array" shift, and go to state 223 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 314 expr_type_decl: "type" '<' $@19 . type_declaration '>' $@20 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 967 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 + type_declaration go to state 965 State 746 - 800 make_dim_decl: "array" "struct" '<' . $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' + 804 make_dim_decl: "array" "struct" '<' . $@96 type_declaration_no_options '>' $@97 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 798 ($@95) + $default reduce using rule 802 ($@96) - $@95 go to state 968 + $@96 go to state 966 State 747 - 803 make_dim_decl: "array" "tuple" '<' . $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' + 807 make_dim_decl: "array" "tuple" '<' . $@98 type_declaration_no_options '>' $@99 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 801 ($@97) + $default reduce using rule 805 ($@98) - $@97 go to state 969 + $@98 go to state 967 State 748 - 806 make_dim_decl: "array" "variant" '<' . $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' + 810 make_dim_decl: "array" "variant" '<' . $@100 type_declaration_no_options '>' $@101 '(' make_variant_dim ')' - $default reduce using rule 804 ($@99) + $default reduce using rule 808 ($@100) - $@99 go to state 970 + $@100 go to state 968 State 749 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 814 make_dim_decl: "array" '<' $@102 . type_declaration_no_options '>' $@103 '(' optional_expr_list ')' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 969 + type_declaration_no_options_no_dim go to state 267 State 750 - 317 expr_list: expr_list . ',' expr - 807 make_dim_decl: "array" '(' expr_list . optional_comma ')' + 319 expr_list: expr_list . ',' expr + 811 make_dim_decl: "array" '(' expr_list . optional_comma ')' ',' shift, and go to state 777 - $default reduce using rule 823 (optional_comma) + $default reduce using rule 827 (optional_comma) - optional_comma go to state 972 + optional_comma go to state 970 State 751 - 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 ')' + 823 make_table_decl: "table" '<' type_declaration_no_options . '>' '(' optional_expr_map_tuple_list ')' + 824 | "table" '<' type_declaration_no_options . c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' "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 971 ';' shift, and go to state 691 COMMA go to state 736 SEMICOLON go to state 737 - c_or_s go to state 974 + c_or_s go to state 972 State 752 - 816 expr_map_tuple_list: expr_map_tuple_list . ',' make_map_tuple - 818 make_table_decl: "table" '(' expr_map_tuple_list . optional_comma ')' + 820 expr_map_tuple_list: expr_map_tuple_list . ',' make_map_tuple + 822 make_table_decl: "table" '(' expr_map_tuple_list . optional_comma ')' ',' shift, and go to state 787 - $default reduce using rule 823 (optional_comma) + $default reduce using rule 827 (optional_comma) - optional_comma go to state 975 + optional_comma go to state 973 State 753 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 443 | "deref" '(' expr . ')' + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -18924,186 +18937,186 @@ State 753 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 976 + ')' shift, and go to state 974 State 754 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 305 expr_cast: "cast" '<' $@13 . type_declaration_no_options '>' $@14 expr + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 977 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 975 + type_declaration_no_options_no_dim go to state 267 State 755 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 308 expr_cast: "upcast" '<' $@15 . type_declaration_no_options '>' $@16 expr + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 976 + type_declaration_no_options_no_dim go to state 267 State 756 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 444 | "addr" '(' expr . ')' + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19140,129 +19153,129 @@ State 756 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 979 + ')' shift, and go to state 977 State 757 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 311 expr_cast: "reinterpret" '<' $@17 . type_declaration_no_options '>' $@18 expr + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 980 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 978 + type_declaration_no_options_no_dim go to state 267 State 758 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 474 | "unsafe" '(' expr . ')' + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19299,333 +19312,333 @@ State 758 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 981 + ')' shift, and go to state 979 State 759 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 818 make_dim_decl: "fixed_array" '<' $@104 . type_declaration_no_options '>' $@105 '(' expr_list optional_comma ')' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 982 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 980 + type_declaration_no_options_no_dim go to state 267 State 760 - 317 expr_list: expr_list . ',' expr - 811 make_dim_decl: "fixed_array" '(' expr_list . optional_comma ')' + 319 expr_list: expr_list . ',' expr + 815 make_dim_decl: "fixed_array" '(' expr_list . optional_comma ')' ',' shift, and go to state 777 - $default reduce using rule 823 (optional_comma) + $default reduce using rule 827 (optional_comma) - optional_comma go to state 983 + optional_comma go to state 981 State 761 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 794 make_struct_decl: "default" '<' $@92 . type_declaration_no_options '>' $@93 use_initializer + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 984 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 982 + type_declaration_no_options_no_dim go to state 267 State 762 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 800 make_tuple_call: "tuple" '<' $@94 . type_declaration_no_options '>' $@95 '(' use_initializer optional_make_struct_dim_decl ')' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 985 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 983 + type_declaration_no_options_no_dim go to state 267 State 763 - 317 expr_list: expr_list . ',' expr - 793 make_tuple_call: "tuple" '(' expr_list . optional_comma ')' + 319 expr_list: expr_list . ',' expr + 797 make_tuple_call: "tuple" '(' expr_list . optional_comma ')' ',' shift, and go to state 777 - $default reduce using rule 823 (optional_comma) + $default reduce using rule 827 (optional_comma) - optional_comma go to state 986 + optional_comma go to state 984 State 764 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 791 make_struct_decl: "variant" '<' $@90 . type_declaration_no_options '>' $@91 '(' make_variant_dim ')' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 987 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 985 + type_declaration_no_options_no_dim go to state 267 State 765 - 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 + 475 expr_generator: "generator" '<' type_declaration_no_options . '>' optional_capture_list '(' ')' + 476 | "generator" '<' type_declaration_no_options . '>' optional_capture_list '(' expr ')' + 477 | "generator" '<' type_declaration_no_options . '>' optional_capture_list optional_emit_semis expression_block - '>' shift, and go to state 988 + '>' shift, and go to state 986 State 766 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 478 expr_mtag: "$$" '(' expr . ')' + 486 | expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19662,72 +19675,72 @@ 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 989 + ')' shift, and go to state 987 State 767 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 479 expr_mtag: "$i" '(' expr . ')' + 486 | expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19764,72 +19777,72 @@ 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 990 + ')' shift, and go to state 988 State 768 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 480 expr_mtag: "$v" '(' expr . ')' + 486 | expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19866,72 +19879,72 @@ State 768 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 991 + ')' shift, and go to state 989 State 769 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 481 expr_mtag: "$b" '(' expr . ')' + 486 | expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -19968,72 +19981,72 @@ State 769 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 992 + ')' shift, and go to state 990 State 770 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 482 expr_mtag: "$a" '(' expr . ')' + 486 | expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -20070,73 +20083,73 @@ State 770 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 993 + ')' shift, and go to state 991 State 771 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 484 expr_mtag: "$c" '(' expr . ')' '(' ')' + 485 | "$c" '(' expr . ')' '(' expr_list ')' + 486 | expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -20173,7 +20186,7 @@ State 771 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 994 + ')' shift, and go to state 992 State 772 @@ -20187,111 +20200,111 @@ State 773 35 string_builder_body: string_builder_body "{" . 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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 995 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 993 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 774 @@ -20300,761 +20313,761 @@ State 774 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 + STRING_CHARACTER shift, and go to state 215 + STRING_CHARACTER_ESC shift, and go to state 216 $default reduce using rule 34 (string_builder_body) State 775 - 825 array_comprehension: '[' "for" '(' . variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 829 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 996 + variable_name_with_pos_list go to state 994 State 776 - 826 array_comprehension: '[' "iterator" "for" . '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 830 array_comprehension: '[' "iterator" "for" . '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' - '(' shift, and go to state 997 + '(' shift, and go to state 995 State 777 - 317 expr_list: expr_list ',' . expr - 824 optional_comma: ',' . - - "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 + 319 expr_list: expr_list ',' . expr + 828 optional_comma: ',' . + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - - $default reduce using rule 824 (optional_comma) - - 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 998 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + $default reduce using rule 828 (optional_comma) + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 996 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 778 - 797 make_dim_decl: '[' expr_list optional_comma . ']' + 801 make_dim_decl: '[' expr_list optional_comma . ']' - ']' shift, and go to state 999 + ']' shift, and go to state 997 State 779 - 431 expr: '(' expr_list optional_comma . ')' + 433 expr: '(' expr_list optional_comma . ')' - ')' shift, and go to state 1000 + ')' shift, and go to state 998 State 780 - 367 func_addr_name: "$i" . '(' expr ')' + 369 func_addr_name: "$i" . '(' expr ')' - '(' shift, and go to state 1001 + '(' shift, and go to state 999 State 781 - 491 expr_mtag: '@' '@' "$c" . '(' expr ')' + 493 expr_mtag: '@' '@' "$c" . '(' expr ')' - '(' shift, and go to state 1002 + '(' shift, and go to state 1000 State 782 - 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 + 373 func_addr_expr: '@' '@' '<' . $@21 type_declaration_no_options '>' $@22 func_addr_name + 376 | '@' '@' '<' . $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name - ':' reduce using rule 372 ($@23) - '>' reduce using rule 372 ($@23) - '(' reduce using rule 372 ($@23) - $default reduce using rule 369 ($@21) + ':' reduce using rule 374 ($@23) + '>' reduce using rule 374 ($@23) + '(' reduce using rule 374 ($@23) + $default reduce using rule 371 ($@21) - $@21 go to state 1003 - $@23 go to state 1004 + $@21 go to state 1001 + $@23 go to state 1002 State 783 - 366 func_addr_name: name_in_namespace . + 368 func_addr_name: name_in_namespace . - $default reduce using rule 366 (func_addr_name) + $default reduce using rule 368 (func_addr_name) State 784 - 368 func_addr_expr: '@' '@' func_addr_name . + 370 func_addr_expr: '@' '@' func_addr_name . - $default reduce using rule 368 (func_addr_expr) + $default reduce using rule 370 (func_addr_expr) State 785 - 827 array_comprehension: '{' "for" '(' . variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' + 831 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 1005 + variable_name_with_pos_list go to state 1003 State 786 - 791 make_map_tuple: 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 + 795 make_map_tuple: expr "=>" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1006 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1004 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 787 - 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 - "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 + 820 expr_map_tuple_list: expr_map_tuple_list ',' . make_map_tuple + 828 optional_comma: ',' . + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - - $default reduce using rule 824 (optional_comma) - - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + $default reduce using rule 828 (optional_comma) + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 594 - 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_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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_map_tuple go to state 1005 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 788 - 817 make_table_decl: '{' expr_map_tuple_list optional_comma . '}' + 821 make_table_decl: '{' expr_map_tuple_list optional_comma . '}' - '}' shift, and go to state 1008 + '}' shift, and go to state 1006 State 789 - 385 expr_call: name_in_namespace '(' "uninitialized" . ')' - 387 | name_in_namespace '(' "uninitialized" . make_struct_single ')' + 387 expr_call: name_in_namespace '(' "uninitialized" . ')' + 389 | name_in_namespace '(' "uninitialized" . make_struct_single ')' "$f" shift, and go to state 790 - "name" shift, and go to state 1009 - ')' shift, and go to state 1010 + "name" shift, and go to state 1007 + ')' shift, and go to state 1008 make_struct_fields go to state 795 - make_struct_single go to state 1011 + make_struct_single go to state 1009 State 790 - 765 make_struct_fields: "$f" . '(' expr ')' copy_or_move expr - 766 | "$f" . '(' expr ')' ":=" expr + 769 make_struct_fields: "$f" . '(' expr ')' copy_or_move expr + 770 | "$f" . '(' expr ')' ":=" expr - '(' shift, and go to state 1012 + '(' shift, and go to state 1010 State 791 - 264 name_in_namespace: "name" . - 265 | "name" . "::" "name" - 761 make_struct_fields: "name" . copy_or_move expr - 762 | "name" . ":=" expr + 266 name_in_namespace: "name" . + 267 | "name" . "::" "name" + 765 make_struct_fields: "name" . copy_or_move expr + 766 | "name" . ":=" expr "<-" shift, and go to state 885 - ":=" shift, and go to state 1013 - "::" shift, and go to state 95 + ":=" shift, and go to state 1011 + "::" shift, and go to state 93 '=' shift, and go to state 887 - $default reduce using rule 264 (name_in_namespace) + $default reduce using rule 266 (name_in_namespace) - copy_or_move go to state 1014 + copy_or_move go to state 1012 State 792 - 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 ']' + 364 expr_named_call: name_in_namespace '(' '[' . make_struct_fields ']' ')' + 801 make_dim_decl: '[' . expr_list optional_comma ']' + 829 array_comprehension: '[' . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 830 | '[' . "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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 "for" shift, and go to state 587 - "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 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 "iterator" shift, and go to state 588 - "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 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 "$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 - "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 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 - '*' shift, and go to state 455 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 expr_list go to state 589 - 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 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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_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 - make_table_decl go to state 487 - array_comprehension go to state 488 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_fields go to state 1013 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 793 - 384 expr_call: name_in_namespace '(' ')' . + 386 expr_call: name_in_namespace '(' ')' . - $default reduce using rule 384 (expr_call) + $default reduce using rule 386 (expr_call) State 794 - 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 . ')' + 319 expr_list: expr_list . ',' expr + 365 expr_named_call: name_in_namespace '(' expr_list . ',' '[' make_struct_fields ']' ')' + 390 expr_call: name_in_namespace '(' expr_list . ')' - ',' shift, and go to state 1016 - ')' shift, and go to state 1017 + ',' shift, and go to state 1014 + ')' shift, and go to state 1015 State 795 - 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 . + 767 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 768 | make_struct_fields . ',' "name" ":=" expr + 771 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 772 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr + 774 make_struct_single: make_struct_fields . - ',' shift, and go to state 1018 + ',' shift, and go to state 1016 - $default reduce using rule 770 (make_struct_single) + $default reduce using rule 774 (make_struct_single) State 796 - 386 expr_call: name_in_namespace '(' make_struct_single . ')' + 388 expr_call: name_in_namespace '(' make_struct_single . ')' - ')' shift, and go to state 1019 + ')' shift, and go to state 1017 State 797 - 332 optional_capture_list: "capture" . '(' capture_list ')' + 334 optional_capture_list: "capture" . '(' capture_list ')' - '(' shift, and go to state 1020 + '(' shift, and go to state 1018 State 798 - 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 + 335 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 + '(' shift, and go to state 327 - $default reduce using rule 131 (optional_function_argument_list) + $default reduce using rule 133 (optional_function_argument_list) - optional_function_argument_list go to state 1021 + optional_function_argument_list go to state 1019 State 799 - 323 block_or_lambda: '@' '@' . + 325 block_or_lambda: '@' '@' . - $default reduce using rule 323 (block_or_lambda) + $default reduce using rule 325 (block_or_lambda) State 800 - 256 expressions: expressions . expression_any - 257 | expressions . error - 335 expr_full_block_assumed_piped: '{' expressions . '}' + 258 expressions: expressions . expression_any + 259 | expressions . error + 337 expr_full_block_assumed_piped: '{' expressions . '}' error shift, and go to state 678 - "struct" shift, and go to state 414 - "class" shift, and go to state 415 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 "let" shift, and go to state 3 - "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 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 "return" shift, and go to state 679 - "null" shift, and go to state 422 + "null" shift, and go to state 420 "break" shift, and go to state 680 "try" shift, and go to state 681 - "table" shift, and go to state 423 + "table" shift, and go to state 421 "delete" shift, and go to state 682 - "deref" shift, and go to state 424 + "deref" shift, and go to state 422 "assume" shift, and go to state 683 - "cast" shift, and go to state 425 - "upcast" shift, and go to state 426 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 "var" shift, and go to state 8 - "addr" shift, and go to state 427 + "addr" shift, and go to state 425 "continue" shift, and go to state 684 "pass" shift, and go to state 685 - "reinterpret" shift, and go to state 428 + "reinterpret" shift, and go to state 426 "label" shift, and go to state 686 "goto" shift, and go to state 687 "unsafe" shift, and go to state 688 - "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 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 "yield" shift, and go to state 689 - "++" shift, and go to state 436 - "--" shift, and go to state 437 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 - '*' shift, and go to state 455 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 454 + '!' shift, and go to state 455 + '[' 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 691 - '{' shift, and go to state 462 - '}' shift, and go to state 1022 + '{' shift, and go to state 460 + '}' shift, and go to state 1020 "while" reduce using rule 87 ($@4) "if" reduce using rule 81 ($@2) @@ -21063,8 +21076,8 @@ State 800 "with" reduce using rule 89 ($@5) SEMICOLON go to state 692 - string_builder go to state 463 - expr_reader go to state 464 + string_builder go to state 461 + expr_reader go to state 462 expression_label go to state 693 expression_goto go to state 694 expression_if_one_liner go to state 695 @@ -21079,11 +21092,11 @@ State 800 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 + expr_call_pipe go to state 463 expression_any go to state 708 - name_in_namespace go to state 466 + name_in_namespace go to state 464 expression_delete go to state 709 - expr_new go to state 467 + expr_new go to state 465 expression_break go to state 710 expression_continue go to state 711 expression_return go to state 712 @@ -21091,160 +21104,160 @@ State 800 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_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 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_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 718 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 801 - 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 + 336 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 797 - $default reduce using rule 331 (optional_capture_list) + $default reduce using rule 333 (optional_capture_list) - optional_capture_list go to state 1023 + optional_capture_list go to state 1021 State 802 - 448 expr: expr "is" "type" . '<' $@27 type_declaration_no_options '>' $@28 + 450 expr: expr "is" "type" . '<' $@27 type_declaration_no_options '>' $@28 - '<' shift, and go to state 1024 + '<' shift, and go to state 1022 State 803 - 490 expr_mtag: expr "is" "$f" . '(' expr ')' + 492 expr_mtag: expr "is" "$f" . '(' expr ')' - '(' shift, and go to state 1025 + '(' shift, and go to state 1023 State 804 - 450 expr: expr "is" "name" . + 452 expr: expr "is" "name" . - $default reduce using rule 450 (expr) + $default reduce using rule 452 (expr) State 805 - 449 expr: expr "is" basic_type_declaration . + 451 expr: expr "is" basic_type_declaration . - $default reduce using rule 449 (expr) + $default reduce using rule 451 (expr) State 806 - 454 expr: expr "as" "type" . '<' $@29 type_declaration '>' $@30 + 456 expr: expr "as" "type" . '<' $@29 type_declaration '>' $@30 - '<' shift, and go to state 1026 + '<' shift, and go to state 1024 State 807 - 488 expr_mtag: expr "as" "$f" . '(' expr ')' + 490 expr_mtag: expr "as" "$f" . '(' expr ')' - '(' shift, and go to state 1027 + '(' shift, and go to state 1025 State 808 - 451 expr: expr "as" "name" . + 453 expr: expr "as" "name" . - $default reduce using rule 451 (expr) + $default reduce using rule 453 (expr) State 809 - 455 expr: expr "as" basic_type_declaration . + 457 expr: expr "as" basic_type_declaration . - $default reduce using rule 455 (expr) + $default reduce using rule 457 (expr) State 810 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21264,72 +21277,72 @@ State 810 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 405 (expr) + $default reduce using rule 407 (expr) State 811 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21349,72 +21362,72 @@ State 811 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 406 (expr) + $default reduce using rule 408 (expr) State 812 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21438,72 +21451,72 @@ State 812 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 418 (expr) + $default reduce using rule 420 (expr) State 813 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21527,72 +21540,72 @@ State 813 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 419 (expr) + $default reduce using rule 421 (expr) State 814 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21620,72 +21633,72 @@ State 814 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 416 (expr) + $default reduce using rule 418 (expr) State 815 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21713,80 +21726,80 @@ State 815 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 417 (expr) + $default reduce using rule 419 (expr) State 816 - 364 expr_method_call: expr "->" "name" . '(' ')' - 365 | expr "->" "name" . '(' expr_list ')' + 366 expr_method_call: expr "->" "name" . '(' ')' + 367 | expr "->" "name" . '(' expr_list ')' - '(' shift, and go to state 1028 + '(' shift, and go to state 1026 State 817 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 446 | expr "??" expr . + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21801,86 +21814,86 @@ State 817 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 444 (expr) + $default reduce using rule 446 (expr) State 818 - 485 expr_mtag: expr "?." "$f" . '(' expr ')' + 487 expr_mtag: expr "?." "$f" . '(' expr ')' - '(' shift, and go to state 1029 + '(' shift, and go to state 1027 State 819 - 436 expr: expr "?." "name" . + 438 expr: expr "?." "name" . - $default reduce using rule 436 (expr) + $default reduce using rule 438 (expr) State 820 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 436 | expr "?[" expr . ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -21917,72 +21930,72 @@ State 820 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ']' shift, and go to state 1030 + ']' shift, and go to state 1028 State 821 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 470 | expr "<|" expr . + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "->" shift, and go to state 613 "?." shift, and go to state 615 @@ -21990,72 +22003,72 @@ State 821 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 468 (expr) + $default reduce using rule 470 (expr) State 822 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 471 | expr "|>" expr . + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "->" shift, and go to state 613 "?." shift, and go to state 615 @@ -22063,83 +22076,83 @@ State 822 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 469 (expr) + $default reduce using rule 471 (expr) State 823 - 389 expr_call: basic_type_declaration . '(' ')' - 390 | basic_type_declaration . '(' expr_list ')' - 470 expr: expr "|>" basic_type_declaration . + 391 expr_call: basic_type_declaration . '(' ')' + 392 | basic_type_declaration . '(' expr_list ')' + 472 expr: expr "|>" basic_type_declaration . '(' shift, and go to state 639 - $default reduce using rule 470 (expr) + $default reduce using rule 472 (expr) State 824 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22159,72 +22172,72 @@ State 824 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 407 (expr) + $default reduce using rule 409 (expr) State 825 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22244,72 +22257,72 @@ State 825 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 408 (expr) + $default reduce using rule 410 (expr) State 826 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22342,72 +22355,72 @@ State 826 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 423 (expr) + $default reduce using rule 425 (expr) State 827 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22442,72 +22455,72 @@ State 827 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 424 (expr) + $default reduce using rule 426 (expr) State 828 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 427 | expr "^^" expr . + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22541,72 +22554,72 @@ State 828 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 425 (expr) + $default reduce using rule 427 (expr) State 829 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 428 | expr ".." expr . + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22645,113 +22658,113 @@ State 829 ".." error (nonassociative) - $default reduce using rule 426 (expr) + $default reduce using rule 428 (expr) State 830 - 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 1031 - "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 - "$f" shift, and go to state 1032 - "name" shift, and go to state 1033 - - basic_type_declaration go to state 1034 + 458 expr: expr '?' "as" . "name" + 461 | expr '?' "as" . "type" '<' $@31 type_declaration '>' $@32 + 462 | expr '?' "as" . basic_type_declaration + 491 expr_mtag: expr '?' "as" . "$f" '(' expr ')' + + "type" shift, and go to state 1029 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "$f" shift, and go to state 1030 + "name" shift, and go to state 1031 + + basic_type_declaration go to state 1032 State 831 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 447 | expr '?' expr . ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22776,7 +22789,7 @@ State 831 "^^" shift, and go to state 623 ".." shift, and go to state 624 '?' shift, and go to state 625 - ':' shift, and go to state 1035 + ':' shift, and go to state 1033 '|' shift, and go to state 626 '^' shift, and go to state 627 '&' shift, and go to state 628 @@ -22793,67 +22806,67 @@ State 831 State 832 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22885,72 +22898,72 @@ State 832 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 421 (expr) + $default reduce using rule 423 (expr) State 833 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -22981,72 +22994,72 @@ State 833 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 422 (expr) + $default reduce using rule 424 (expr) State 834 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23076,72 +23089,72 @@ State 834 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 420 (expr) + $default reduce using rule 422 (expr) State 835 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23165,72 +23178,72 @@ State 835 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 414 (expr) + $default reduce using rule 416 (expr) State 836 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23254,72 +23267,72 @@ State 836 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 415 (expr) + $default reduce using rule 417 (expr) State 837 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23337,72 +23350,72 @@ State 837 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 410 (expr) + $default reduce using rule 412 (expr) State 838 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23420,72 +23433,72 @@ State 838 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 409 (expr) + $default reduce using rule 411 (expr) State 839 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23500,72 +23513,72 @@ State 839 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 411 (expr) + $default reduce using rule 413 (expr) State 840 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23580,72 +23593,72 @@ State 840 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 412 (expr) + $default reduce using rule 414 (expr) State 841 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 + 427 | expr . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -23660,345 +23673,345 @@ State 841 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 413 (expr) + $default reduce using rule 415 (expr) State 842 - 437 expr: expr '.' "?." . "name" - 487 expr_mtag: expr '.' "?." . "$f" '(' expr ')' + 439 expr: expr '.' "?." . "name" + 489 expr_mtag: expr '.' "?." . "$f" '(' expr ')' - "$f" shift, and go to state 1036 - "name" shift, and go to state 1037 + "$f" shift, and go to state 1034 + "name" shift, and go to state 1035 State 843 - 435 expr: 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 + 437 expr: expr '.' "?[" . expr ']' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1038 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1036 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 844 - 484 expr_mtag: expr '.' "$f" . '(' expr ')' + 486 expr_mtag: expr '.' "$f" . '(' expr ')' - '(' shift, and go to state 1039 + '(' shift, and go to state 1037 State 845 - 375 expr_field: expr '.' "name" . - 377 | expr '.' "name" . '(' ')' - 378 | expr '.' "name" . '(' expr_list ')' + 377 expr_field: expr '.' "name" . + 379 | expr '.' "name" . '(' ')' + 380 | expr '.' "name" . '(' expr_list ')' - '(' shift, and go to state 1040 + '(' shift, and go to state 1038 - $default reduce using rule 375 (expr_field) + $default reduce using rule 377 (expr_field) State 846 - 376 expr_field: expr '.' '.' . "name" - 486 expr_mtag: expr '.' '.' . "$f" '(' expr ')' + 378 expr_field: expr '.' '.' . "name" + 488 expr_mtag: expr '.' '.' . "$f" '(' expr ')' - "$f" shift, and go to state 1041 - "name" shift, and go to state 1042 + "$f" shift, and go to state 1039 + "name" shift, and go to state 1040 State 847 - 433 expr: 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 + 435 expr: expr '.' '[' . expr ']' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1043 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1041 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 848 - 383 expr_field: expr '.' $@25 . error $@26 + 385 expr_field: expr '.' $@25 . error $@26 - error shift, and go to state 1044 + error shift, and go to state 1042 State 849 - 379 expr_field: expr '.' basic_type_declaration . '(' ')' - 380 | expr '.' basic_type_declaration . '(' expr_list ')' + 381 expr_field: expr '.' basic_type_declaration . '(' ')' + 382 | expr '.' basic_type_declaration . '(' expr_list ')' - '(' shift, and go to state 1045 + '(' shift, and go to state 1043 State 850 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 434 | expr '[' expr . ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -24035,386 +24048,386 @@ State 850 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ']' shift, and go to state 1046 + ']' shift, and go to state 1044 State 851 - 389 expr_call: basic_type_declaration '(' ')' . + 391 expr_call: basic_type_declaration '(' ')' . - $default reduce using rule 389 (expr_call) + $default reduce using rule 391 (expr_call) State 852 - 317 expr_list: expr_list . ',' expr - 390 expr_call: basic_type_declaration '(' expr_list . ')' + 319 expr_list: expr_list . ',' expr + 392 expr_call: basic_type_declaration '(' expr_list . ')' - ',' shift, and go to state 1047 - ')' shift, and go to state 1048 + ',' shift, and go to state 1045 + ')' shift, and go to state 1046 State 853 - 710 type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration '>' . $@56 + 714 type_declaration_no_options_no_dim: "iterator" '<' $@56 type_declaration '>' . $@57 - $default reduce using rule 709 ($@56) + $default reduce using rule 713 ($@57) - $@56 go to state 1049 + $@57 go to state 1047 State 854 - 700 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration '>' . $@50 + 704 type_declaration_no_options_no_dim: "smart_ptr" '<' $@50 type_declaration '>' . $@51 - $default reduce using rule 699 ($@50) + $default reduce using rule 703 ($@51) - $@50 go to state 1050 + $@51 go to state 1048 State 855 - 664 bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits '>' . $@45 + 668 bitfield_type_declaration: "bitfield" '<' $@45 bitfield_bits '>' . $@46 - $default reduce using rule 663 ($@45) + $default reduce using rule 667 ($@46) - $@45 go to state 1051 + $@46 go to state 1049 State 856 - 658 bitfield_bits: bitfield_bits ';' . "name" + 662 bitfield_bits: bitfield_bits ';' . "name" - "name" shift, and go to state 1052 + "name" shift, and go to state 1050 State 857 - 714 type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration '>' . $@58 + 718 type_declaration_no_options_no_dim: "block" '<' $@58 type_declaration '>' . $@59 - $default reduce using rule 713 ($@58) + $default reduce using rule 717 ($@59) - $@58 go to state 1053 + $@59 go to state 1051 State 858 - 717 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type . '>' $@60 + 721 type_declaration_no_options_no_dim: "block" '<' $@60 optional_function_argument_list optional_function_type . '>' $@61 - '>' shift, and go to state 1054 + '>' shift, and go to state 1052 State 859 - 721 type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration '>' . $@62 + 725 type_declaration_no_options_no_dim: "function" '<' $@62 type_declaration '>' . $@63 - $default reduce using rule 720 ($@62) + $default reduce using rule 724 ($@63) - $@62 go to state 1055 + $@63 go to state 1053 State 860 - 724 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type . '>' $@64 + 728 type_declaration_no_options_no_dim: "function" '<' $@64 optional_function_argument_list optional_function_type . '>' $@65 - '>' shift, and go to state 1056 + '>' shift, and go to state 1054 State 861 - 728 type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration '>' . $@66 + 732 type_declaration_no_options_no_dim: "lambda" '<' $@66 type_declaration '>' . $@67 - $default reduce using rule 727 ($@66) + $default reduce using rule 731 ($@67) - $@66 go to state 1057 + $@67 go to state 1055 State 862 - 731 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type . '>' $@68 + 735 type_declaration_no_options_no_dim: "lambda" '<' $@68 optional_function_argument_list optional_function_type . '>' $@69 - '>' shift, and go to state 1058 + '>' shift, and go to state 1056 State 863 - 517 tuple_type: "name" ':' . type_declaration - - "type" shift, and go to state 222 - "array" shift, and go to state 223 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 520 tuple_type: "name" ':' . type_declaration + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 1059 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 + type_declaration go to state 1057 State 864 - 734 type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list '>' . $@70 + 738 type_declaration_no_options_no_dim: "tuple" '<' $@70 tuple_type_list '>' . $@71 - $default reduce using rule 733 ($@70) + $default reduce using rule 737 ($@71) - $@70 go to state 1060 + $@71 go to state 1058 State 865 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 522 tuple_type_list: tuple_type_list c_or_s . tuple_type + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 651 - '$' shift, and go to state 262 - - name_in_namespace go to state 263 - 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 - 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 + '$' shift, and go to state 260 + + name_in_namespace go to state 261 + tuple_type go to state 1059 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 654 State 866 - 523 variant_type: "name" ':' . type_declaration - - "type" shift, and go to state 222 - "array" shift, and go to state 223 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 526 variant_type: "name" ':' . type_declaration + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 1062 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 + type_declaration go to state 1060 State 867 - 737 type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list '>' . $@72 + 741 type_declaration_no_options_no_dim: "variant" '<' $@72 variant_type_list '>' . $@73 - $default reduce using rule 736 ($@72) + $default reduce using rule 740 ($@73) - $@72 go to state 1063 + $@73 go to state 1061 State 868 - 525 variant_type_list: variant_type_list c_or_s . variant_type + 528 variant_type_list: variant_type_list c_or_s . variant_type "name" shift, and go to state 655 - variant_type go to state 1064 + variant_type go to state 1062 State 869 - 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 ')' + 265 type_declaration_no_options_list: type_declaration_no_options_list . c_or_s type_declaration + 689 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@49 type_declaration_no_options_list . '>' '(' optional_expr_list ')' "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 1063 ';' shift, and go to state 691 COMMA go to state 736 SEMICOLON go to state 737 - c_or_s go to state 1066 + c_or_s go to state 1064 State 870 - 262 type_declaration_no_options_list: type_declaration . - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 264 type_declaration_no_options_list: type_declaration . + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 + '|' shift, and go to state 371 - $default reduce using rule 262 (type_declaration_no_options_list) + $default reduce using rule 264 (type_declaration_no_options_list) State 871 - 683 type_declaration_no_options_no_dim: '$' name_in_namespace '(' optional_expr_list ')' . + 687 type_declaration_no_options_no_dim: '$' name_in_namespace '(' optional_expr_list ')' . - $default reduce using rule 683 (type_declaration_no_options_no_dim) + $default reduce using rule 687 (type_declaration_no_options_no_dim) State 872 - 259 optional_expr_list: expr_list optional_comma . + 261 optional_expr_list: expr_list optional_comma . - $default reduce using rule 259 (optional_expr_list) + $default reduce using rule 261 (optional_expr_list) State 873 - 671 dim_list: dim_list '[' expr ']' . + 675 dim_list: dim_list '[' expr ']' . - $default reduce using rule 671 (dim_list) + $default reduce using rule 675 (dim_list) State 874 - 571 commas: COMMA . + 574 commas: COMMA . - $default reduce using rule 571 (commas) + $default reduce using rule 574 (commas) State 875 - 572 commas: commas . COMMA - 589 optional_commas: commas . - 661 bitfield_alias_bits: bitfield_alias_bits commas . "name" + 575 commas: commas . COMMA + 592 optional_commas: commas . + 665 bitfield_alias_bits: bitfield_alias_bits commas . "name" - "name" shift, and go to state 1067 + "name" shift, and go to state 1065 "emitted ," shift, and go to state 734 ',' shift, and go to state 735 - $default reduce using rule 589 (optional_commas) + $default reduce using rule 592 (optional_commas) - COMMA go to state 1068 + COMMA go to state 1066 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 '}' + 759 bitfield_alias_declaration: "bitfield" $@82 optional_public_or_private_alias "name" optional_emit_commas $@83 '{' $@84 bitfield_alias_bits optional_commas . $@85 '}' - $default reduce using rule 754 ($@84) + $default reduce using rule 758 ($@85) - $@84 go to state 1069 + $@85 go to state 1067 State 877 @@ -24428,82 +24441,82 @@ State 878 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 525 tuple_alias_type_list: tuple_alias_type_list semis . tuple_type + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "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 260 ';' shift, and go to state 691 $default reduce using rule 80 (optional_semis) - SEMICOLON go to state 1070 - name_in_namespace go to state 263 - 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 - 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 + SEMICOLON go to state 1068 + name_in_namespace go to state 261 + tuple_type go to state 1069 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 type_declaration go to state 654 State 879 - 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis . $@76 '}' + 749 tuple_alias_declaration: "tuple" $@74 optional_public_or_private_alias "name" optional_emit_semis $@75 '{' $@76 tuple_alias_type_list optional_semis . $@77 '}' - $default reduce using rule 744 ($@76) + $default reduce using rule 748 ($@77) - $@76 go to state 1072 + $@77 go to state 1070 State 880 78 semis: semis . SEMICOLON 80 optional_semis: semis . - 528 variant_alias_type_list: variant_alias_type_list semis . variant_type + 531 variant_alias_type_list: variant_alias_type_list semis . variant_type "name" shift, and go to state 655 "emitted ;" shift, and go to state 690 @@ -24511,517 +24524,517 @@ State 880 $default reduce using rule 80 (optional_semis) - SEMICOLON go to state 1070 - variant_type go to state 1073 + SEMICOLON go to state 1068 + variant_type go to state 1071 State 881 - 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis . $@80 '}' + 754 variant_alias_declaration: "variant" $@78 optional_public_or_private_alias "name" optional_emit_semis $@79 '{' $@80 variant_alias_type_list optional_semis . $@81 '}' - $default reduce using rule 749 ($@80) + $default reduce using rule 753 ($@81) - $@80 go to state 1074 + $@81 go to state 1072 State 882 - 513 function_argument_declaration: "$a" '(' expr ')' . + 516 function_argument_declaration: "$a" '(' expr ')' . - $default reduce using rule 513 (function_argument_declaration) + $default reduce using rule 516 (function_argument_declaration) State 883 - 614 variable_name_with_pos_list: "$i" '(' . 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 + 618 variable_name_with_pos_list: "$i" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1075 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1073 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 884 - 615 variable_name_with_pos_list: "name" "aka" . "name" + 619 variable_name_with_pos_list: "name" "aka" . "name" - "name" shift, and go to state 1076 + "name" shift, and go to state 1074 State 885 - 530 copy_or_move: "<-" . + 533 copy_or_move: "<-" . - $default reduce using rule 530 (copy_or_move) + $default reduce using rule 533 (copy_or_move) State 886 - 616 variable_name_with_pos_list: variable_name_with_pos_list ',' . "name" - 617 | variable_name_with_pos_list ',' . "name" "aka" "name" + 620 variable_name_with_pos_list: variable_name_with_pos_list ',' . "name" + 621 | variable_name_with_pos_list ',' . "name" "aka" "name" - "name" shift, and go to state 1077 + "name" shift, and go to state 1075 State 887 - 529 copy_or_move: '=' . + 532 copy_or_move: '=' . - $default reduce using rule 529 (copy_or_move) + $default reduce using rule 532 (copy_or_move) State 888 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 536 variable_declaration: variable_name_with_pos_list ':' . type_declaration + 537 | variable_name_with_pos_list ':' . type_declaration copy_or_move expr + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 1078 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 + type_declaration go to state 1076 State 889 - 532 variable_declaration: variable_name_with_pos_list '&' . + 535 variable_declaration: variable_name_with_pos_list '&' . - $default reduce using rule 532 (variable_declaration) + $default reduce using rule 535 (variable_declaration) State 890 - 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 - "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 + 538 variable_declaration: variable_name_with_pos_list copy_or_move . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1079 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1077 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 891 - 283 expression_return: "return" "<-" . 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 + 285 expression_return: "return" "<-" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1080 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1078 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 892 - 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 ')' + 284 expression_return: "return" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -25059,190 +25072,190 @@ State 892 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 282 (expression_return) + $default reduce using rule 284 (expression_return) State 893 - 286 expression_try_catch: "try" expression_block . "recover" expression_block + 288 expression_try_catch: "try" expression_block . "recover" expression_block - "recover" shift, and go to state 1081 + "recover" shift, and go to state 1079 State 894 - 268 expression_delete: "delete" "explicit" . 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 + 270 expression_delete: "delete" "explicit" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1082 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1080 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 895 - 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 ')' + 269 expression_delete: "delete" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -25280,100 +25293,100 @@ State 895 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 267 (expression_delete) + $default reduce using rule 269 (expression_delete) State 896 91 expression_with_alias: "assume" "name" . '=' expr - '=' shift, and go to state 1083 + '=' shift, and go to state 1081 State 897 - 254 expression_any: "pass" SEMICOLON . + 256 expression_any: "pass" SEMICOLON . - $default reduce using rule 254 (expression_any) + $default reduce using rule 256 (expression_any) State 898 56 expression_label: "label" "integer constant" . ':' - ':' shift, and go to state 1084 + ':' shift, and go to state 1082 State 899 57 expression_goto: "goto" "label" . "integer constant" - "integer constant" shift, and go to state 1085 + "integer constant" shift, and go to state 1083 State 900 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -25418,186 +25431,186 @@ State 901 86 expression_unsafe: "unsafe" optional_emit_semis . expression_block - $default reduce using rule 232 ($@9) + $default reduce using rule 234 ($@9) - expression_block go to state 1086 - $@9 go to state 332 + expression_block go to state 1084 + $@9 go to state 330 State 902 - 285 expression_yield: "yield" "<-" . 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 + 287 expression_yield: "yield" "<-" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1087 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1085 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 903 - 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 ')' + 286 expression_yield: "yield" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -25635,28 +25648,28 @@ State 903 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 284 (expression_yield) + $default reduce using rule 286 (expression_yield) State 904 - 252 expression_any: expression_label SEMICOLON . + 254 expression_any: expression_label SEMICOLON . - $default reduce using rule 252 (expression_any) + $default reduce using rule 254 (expression_any) State 905 - 253 expression_any: expression_goto SEMICOLON . + 255 expression_any: expression_goto SEMICOLON . - $default reduce using rule 253 (expression_any) + $default reduce using rule 255 (expression_any) State 906 83 expression_if_then_else_oneliner: expression_if_one_liner "if" . '(' expr ')' expression_else_one_liner SEMICOLON - '(' shift, and go to state 1088 + '(' shift, and go to state 1086 State 907 @@ -25677,2237 +25690,2225 @@ State 909 82 expression_if_then_else: $@2 if_or_static_if . '(' expr ')' optional_emit_semis expression_block expression_else - '(' shift, and go to state 1089 + '(' shift, and go to state 1087 State 910 85 expression_for_loop: $@3 "for" . '(' variable_name_with_pos_list "in" expr_list ')' optional_emit_semis expression_block - '(' shift, and go to state 1090 + '(' shift, and go to state 1088 State 911 88 expression_while_loop: $@4 "while" . '(' expr ')' optional_emit_semis expression_block - '(' shift, and go to state 1091 + '(' shift, and go to state 1089 State 912 90 expression_with: $@5 "with" . '(' expr ')' optional_emit_semis expression_block - '(' shift, and go to state 1092 + '(' shift, and go to state 1090 State 913 - 243 expression_any: expression_with_alias SEMICOLON . + 245 expression_any: expression_with_alias SEMICOLON . - $default reduce using rule 243 (expression_any) + $default reduce using rule 245 (expression_any) State 914 - 234 expression_block: $@9 '{' expressions $@10 '}' . expression_block_finally + 236 expression_block: $@9 '{' expressions $@10 '}' . expression_block_finally - "finally" shift, and go to state 1093 + "finally" shift, and go to state 1091 - $default reduce using rule 228 (expression_block_finally) + $default reduce using rule 230 (expression_block_finally) - expression_block_finally go to state 1094 + expression_block_finally go to state 1092 State 915 - 238 expression_any: expression_delete SEMICOLON . + 240 expression_any: expression_delete SEMICOLON . - $default reduce using rule 238 (expression_any) + $default reduce using rule 240 (expression_any) State 916 - 245 expression_any: expression_break SEMICOLON . + 247 expression_any: expression_break SEMICOLON . - $default reduce using rule 245 (expression_any) + $default reduce using rule 247 (expression_any) State 917 - 246 expression_any: expression_continue SEMICOLON . + 248 expression_any: expression_continue SEMICOLON . - $default reduce using rule 246 (expression_any) + $default reduce using rule 248 (expression_any) State 918 - 247 expression_any: expression_return SEMICOLON . + 249 expression_any: expression_return SEMICOLON . - $default reduce using rule 247 (expression_any) + $default reduce using rule 249 (expression_any) State 919 - 248 expression_any: expression_yield SEMICOLON . + 250 expression_any: expression_yield SEMICOLON . - $default reduce using rule 248 (expression_any) + $default reduce using rule 250 (expression_any) State 920 - 292 optional_in_scope: "inscope" . + 294 optional_in_scope: "inscope" . - $default reduce using rule 292 (optional_in_scope) + $default reduce using rule 294 (optional_in_scope) State 921 - 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 '}' + 300 expression_let: kwd_let optional_in_scope . let_variable_declaration + 301 | kwd_let optional_in_scope . tuple_expansion_variable_declaration + 302 | 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 1095 - '{' shift, and go to state 1096 + "$i" shift, and go to state 530 + "name" shift, and go to state 531 + '(' shift, and go to state 1093 + '{' shift, and go to state 1094 - tuple_expansion_variable_declaration go to state 1097 - let_variable_name_with_pos_list go to state 533 - let_variable_declaration go to state 1098 + tuple_expansion_variable_declaration go to state 1095 + let_variable_name_with_pos_list go to state 532 + let_variable_declaration go to state 1096 State 922 - 237 expression_any: expr_assign SEMICOLON . + 239 expression_any: expr_assign SEMICOLON . - $default reduce using rule 237 (expression_any) + $default reduce using rule 239 (expression_any) State 923 - 353 expr_assign: 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 + 355 expr_assign: expr "+=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1099 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1097 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 924 - 354 expr_assign: 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 + 356 expr_assign: expr "-=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1100 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1098 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 925 - 356 expr_assign: 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 + 358 expr_assign: expr "/=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1101 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1099 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 926 - 355 expr_assign: 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 + 357 expr_assign: expr "*=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1102 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1100 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 927 - 357 expr_assign: 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 + 359 expr_assign: expr "%=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1103 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1101 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 928 - 347 expr_assign: 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 + 349 expr_assign: expr "&=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1104 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1102 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 929 - 348 expr_assign: 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 + 350 expr_assign: expr "|=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1105 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1103 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 930 - 349 expr_assign: 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 + 351 expr_assign: expr "^=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1106 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1104 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 931 - 358 expr_assign: 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 + 360 expr_assign: expr "<<=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1107 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1105 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 932 - 359 expr_assign: 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 + 361 expr_assign: expr ">>=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1108 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1106 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 933 - 345 expr_assign: 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 + 347 expr_assign: expr "<-" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1109 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1107 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 934 - 346 expr_assign: 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 + 348 expr_assign: expr ":=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1110 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1108 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 935 - 360 expr_assign: 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 + 362 expr_assign: expr "<<<=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1111 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1109 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 936 - 361 expr_assign: 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 + 363 expr_assign: expr ">>>=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1112 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1110 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 937 - 350 expr_assign: 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 + 352 expr_assign: expr "&&=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1113 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1111 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 938 - 351 expr_assign: 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 + 353 expr_assign: expr "||=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1114 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1112 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 939 - 352 expr_assign: 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 + 354 expr_assign: expr "^^=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1115 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1113 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 940 - 344 expr_assign: 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 + 346 expr_assign: expr '=' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1116 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1114 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 941 - 569 enum_expression: "name" . - 570 | "name" . '=' expr + 572 enum_expression: "name" . + 573 | "name" . '=' expr - '=' shift, and go to state 1117 + '=' shift, and go to state 1115 - $default reduce using rule 569 (enum_expression) + $default reduce using rule 572 (enum_expression) State 942 - 574 enum_list: enum_expression . + 577 enum_list: enum_expression . - $default reduce using rule 574 (enum_list) + $default reduce using rule 577 (enum_list) State 943 - 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 '}' + 578 enum_list: enum_list . commas enum_expression + 600 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 '}' "emitted ," shift, and go to state 734 ',' shift, and go to state 735 - $default reduce using rule 588 (optional_commas) + $default reduce using rule 591 (optional_commas) COMMA go to state 874 - commas go to state 1118 - optional_commas go to state 1119 + commas go to state 1116 + optional_commas go to state 1117 State 944 - 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 + 508 struct_variable_declaration_list: struct_variable_declaration_list . "emitted ;" + 510 | struct_variable_declaration_list . $@33 structure_variable_declaration SEMICOLON + 512 | struct_variable_declaration_list . optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header SEMICOLON + 514 | struct_variable_declaration_list . optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header optional_emit_semis expression_block + 612 optional_struct_variable_declaration_list: '{' struct_variable_declaration_list . '}' - "public" shift, and go to state 1120 - "private" shift, and go to state 1121 + "emitted ;" shift, and go to state 1118 + '[' shift, and go to state 1119 + '}' shift, and go to state 1120 - $default reduce using rule 499 (optional_public_or_private_member_variable) + "def" reduce using rule 131 (optional_annotation_list_with_emit_semis) + $default reduce using rule 509 ($@33) - optional_public_or_private_member_variable go to state 1122 + optional_annotation_list_with_emit_semis go to state 1121 + $@33 go to state 1122 State 945 - 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 1123 - - $default reduce using rule 502 (optional_static_member_variable) - - optional_static_member_variable go to state 1124 - - -State 946 - - 507 struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration . ';' - - ';' shift, and go to state 1125 - - -State 947 - - 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 . ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 545 let_variable_name_with_pos_list: "$i" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -27944,30 +27945,30 @@ State 947 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1126 + ')' shift, and go to state 1123 -State 948 +State 946 - 543 let_variable_name_with_pos_list: "name" "aka" "name" . + 546 let_variable_name_with_pos_list: "name" "aka" "name" . - $default reduce using rule 543 (let_variable_name_with_pos_list) + $default reduce using rule 546 (let_variable_name_with_pos_list) -State 949 +State 947 - 544 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" . - 545 | let_variable_name_with_pos_list ',' "name" . "aka" "name" + 547 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" . + 548 | let_variable_name_with_pos_list ',' "name" . "aka" "name" - "aka" shift, and go to state 1127 + "aka" shift, and go to state 1124 - $default reduce using rule 544 (let_variable_name_with_pos_list) + $default reduce using rule 547 (let_variable_name_with_pos_list) -State 950 +State 948 - 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 + 554 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options . SEMICOLON + 555 | 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 @@ -27975,184 +27976,184 @@ State 950 '=' shift, and go to state 539 ';' shift, and go to state 691 - SEMICOLON go to state 1128 - copy_or_move_or_clone go to state 1129 + SEMICOLON go to state 1125 + copy_or_move_or_clone go to state 1126 -State 951 +State 949 - 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 - "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 + 556 let_variable_declaration: let_variable_name_with_pos_list optional_ref copy_or_move_or_clone . expr SEMICOLON + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1130 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1127 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 952 +State 950 - 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 . ';' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 558 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 @@ -28189,188 +28190,188 @@ State 952 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ';' shift, and go to state 1131 + ';' shift, and go to state 1128 -State 953 +State 951 - 556 global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' . + 559 global_let_variable_declaration: global_let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr ';' . - $default reduce using rule 556 (global_let_variable_declaration) + $default reduce using rule 559 (global_let_variable_declaration) -State 954 +State 952 - 681 type_declaration_no_options_no_dim: "type" '<' $@46 type_declaration '>' $@47 . + 685 type_declaration_no_options_no_dim: "type" '<' $@47 type_declaration '>' $@48 . - $default reduce using rule 681 (type_declaration_no_options_no_dim) + $default reduce using rule 685 (type_declaration_no_options_no_dim) -State 955 +State 953 - 704 type_declaration_no_options_no_dim: "array" '<' $@51 type_declaration '>' $@52 . + 708 type_declaration_no_options_no_dim: "array" '<' $@52 type_declaration '>' $@53 . - $default reduce using rule 704 (type_declaration_no_options_no_dim) + $default reduce using rule 708 (type_declaration_no_options_no_dim) -State 956 +State 954 - 707 type_declaration_no_options_no_dim: "table" '<' $@53 table_type_pair '>' $@54 . + 711 type_declaration_no_options_no_dim: "table" '<' $@54 table_type_pair '>' $@55 . - $default reduce using rule 707 (type_declaration_no_options_no_dim) + $default reduce using rule 711 (type_declaration_no_options_no_dim) -State 957 +State 955 - 668 table_type_pair: type_declaration c_or_s type_declaration . - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 672 table_type_pair: type_declaration c_or_s type_declaration . + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 + '|' shift, and go to state 371 - $default reduce using rule 668 (table_type_pair) + $default reduce using rule 672 (table_type_pair) -State 958 +State 956 - 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options . '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' + 785 make_struct_decl: "struct" '<' $@86 type_declaration_no_options . '>' $@87 '(' use_initializer optional_make_struct_dim_decl ')' - '>' shift, and go to state 1132 + '>' shift, and go to state 1129 -State 959 +State 957 - 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options . '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' + 788 make_struct_decl: "class" '<' $@88 type_declaration_no_options . '>' $@89 '(' use_initializer optional_make_struct_dim_decl ')' - '>' shift, and go to state 1133 + '>' shift, and go to state 1130 -State 960 +State 958 - 271 new_type_declaration: '<' $@11 type_declaration . '>' $@12 - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 273 new_type_declaration: '<' $@11 type_declaration . '>' $@12 + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 - '>' shift, and go to state 1134 + '|' shift, and go to state 371 + '>' shift, and go to state 1131 -State 961 +State 959 - 277 expr_new: "new" new_type_declaration '(' "uninitialized" . make_struct_single ')' - 778 use_initializer: "uninitialized" . + 279 expr_new: "new" new_type_declaration '(' "uninitialized" . make_struct_single ')' + 782 use_initializer: "uninitialized" . "$f" shift, and go to state 790 - "name" shift, and go to state 1009 + "name" shift, and go to state 1007 - $default reduce using rule 778 (use_initializer) + $default reduce using rule 782 (use_initializer) make_struct_fields go to state 795 - make_struct_single go to state 1135 + make_struct_single go to state 1132 -State 962 +State 960 - 275 expr_new: "new" new_type_declaration '(' expr_list . ')' - 317 expr_list: expr_list . ',' expr + 277 expr_new: "new" new_type_declaration '(' expr_list . ')' + 319 expr_list: expr_list . ',' expr - ',' shift, and go to state 1047 - ')' shift, and go to state 1136 + ',' shift, and go to state 1045 + ')' shift, and go to state 1133 -State 963 +State 961 - 276 expr_new: "new" new_type_declaration '(' make_struct_single . ')' + 278 expr_new: "new" new_type_declaration '(' make_struct_single . ')' - ')' shift, and go to state 1137 + ')' shift, and go to state 1134 -State 964 +State 962 - 274 expr_new: "new" new_type_declaration '(' use_initializer . ')' + 276 expr_new: "new" new_type_declaration '(' use_initializer . ')' - ')' shift, and go to state 1138 + ')' shift, and go to state 1135 -State 965 +State 963 - 314 expr_type_info: "typeinfo" name_in_namespace '<' "name" . '>' '(' expr ')' - 315 | "typeinfo" name_in_namespace '<' "name" . c_or_s "name" '>' '(' expr ')' + 316 expr_type_info: "typeinfo" name_in_namespace '<' "name" . '>' '(' expr ')' + 317 | "typeinfo" name_in_namespace '<' "name" . c_or_s "name" '>' '(' expr ')' "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 1136 ';' shift, and go to state 691 COMMA go to state 736 SEMICOLON go to state 737 - c_or_s go to state 1140 + c_or_s go to state 1137 -State 966 +State 964 - 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 ')' + 315 expr_type_info: "typeinfo" name_in_namespace '(' expr . ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -28407,478 +28408,478 @@ State 966 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1141 + ')' shift, and go to state 1138 -State 967 +State 965 - 312 expr_type_decl: "type" '<' $@19 type_declaration . '>' $@20 - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 314 expr_type_decl: "type" '<' $@19 type_declaration . '>' $@20 + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 - '>' shift, and go to state 1142 + '|' shift, and go to state 371 + '>' shift, and go to state 1139 -State 968 +State 966 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 804 make_dim_decl: "array" "struct" '<' $@96 . type_declaration_no_options '>' $@97 '(' use_initializer optional_make_struct_dim_decl ')' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 1143 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 1140 + type_declaration_no_options_no_dim go to state 267 -State 969 +State 967 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 807 make_dim_decl: "array" "tuple" '<' $@98 . type_declaration_no_options '>' $@99 '(' use_initializer optional_make_struct_dim_decl ')' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 1144 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 1141 + type_declaration_no_options_no_dim go to state 267 -State 970 +State 968 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 810 make_dim_decl: "array" "variant" '<' $@100 . type_declaration_no_options '>' $@101 '(' make_variant_dim ')' + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 + + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 1142 + type_declaration_no_options_no_dim go to state 267 + + +State 969 + + 814 make_dim_decl: "array" '<' $@102 type_declaration_no_options . '>' $@103 '(' optional_expr_list ')' + + '>' shift, and go to state 1143 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 1145 - type_declaration_no_options_no_dim go to state 269 + +State 970 + + 811 make_dim_decl: "array" '(' expr_list optional_comma . ')' + + ')' shift, and go to state 1144 State 971 - 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options . '>' $@102 '(' optional_expr_list ')' + 823 make_table_decl: "table" '<' type_declaration_no_options '>' . '(' optional_expr_map_tuple_list ')' - '>' shift, and go to state 1146 + '(' shift, and go to state 1145 State 972 - 807 make_dim_decl: "array" '(' expr_list optional_comma . ')' + 824 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 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 + "::" shift, and go to state 55 + "$t" shift, and go to state 259 + "name" shift, and go to state 56 + '$' shift, and go to state 260 - ')' shift, and go to state 1147 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 1146 + type_declaration_no_options_no_dim go to state 267 State 973 - 819 make_table_decl: "table" '<' type_declaration_no_options '>' . '(' optional_expr_map_tuple_list ')' + 822 make_table_decl: "table" '(' expr_map_tuple_list optional_comma . ')' - '(' shift, and go to state 1148 + ')' shift, and go to state 1147 State 974 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 - "::" shift, and go to state 55 - "$t" shift, and go to state 261 - "name" shift, and go to state 56 - '$' shift, and go to state 262 + 443 expr: "deref" '(' expr ')' . - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 1149 - type_declaration_no_options_no_dim go to state 269 + $default reduce using rule 443 (expr) State 975 - 818 make_table_decl: "table" '(' expr_map_tuple_list optional_comma . ')' + 305 expr_cast: "cast" '<' $@13 type_declaration_no_options . '>' $@14 expr - ')' shift, and go to state 1150 + '>' shift, and go to state 1148 State 976 - 441 expr: "deref" '(' expr ')' . + 308 expr_cast: "upcast" '<' $@15 type_declaration_no_options . '>' $@16 expr - $default reduce using rule 441 (expr) + '>' shift, and go to state 1149 State 977 - 303 expr_cast: "cast" '<' $@13 type_declaration_no_options . '>' $@14 expr + 444 expr: "addr" '(' expr ')' . - '>' shift, and go to state 1151 + $default reduce using rule 444 (expr) State 978 - 306 expr_cast: "upcast" '<' $@15 type_declaration_no_options . '>' $@16 expr + 311 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options . '>' $@18 expr - '>' shift, and go to state 1152 + '>' shift, and go to state 1150 State 979 - 442 expr: "addr" '(' expr ')' . + 474 expr: "unsafe" '(' expr ')' . - $default reduce using rule 442 (expr) + $default reduce using rule 474 (expr) State 980 - 309 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options . '>' $@18 expr + 818 make_dim_decl: "fixed_array" '<' $@104 type_declaration_no_options . '>' $@105 '(' expr_list optional_comma ')' - '>' shift, and go to state 1153 + '>' shift, and go to state 1151 State 981 - 472 expr: "unsafe" '(' expr ')' . + 815 make_dim_decl: "fixed_array" '(' expr_list optional_comma . ')' - $default reduce using rule 472 (expr) + ')' shift, and go to state 1152 State 982 - 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options . '>' $@104 '(' expr_list optional_comma ')' + 794 make_struct_decl: "default" '<' $@92 type_declaration_no_options . '>' $@93 use_initializer - '>' shift, and go to state 1154 + '>' shift, and go to state 1153 State 983 - 811 make_dim_decl: "fixed_array" '(' expr_list optional_comma . ')' + 800 make_tuple_call: "tuple" '<' $@94 type_declaration_no_options . '>' $@95 '(' use_initializer optional_make_struct_dim_decl ')' - ')' shift, and go to state 1155 + '>' shift, and go to state 1154 State 984 - 790 make_struct_decl: "default" '<' $@91 type_declaration_no_options . '>' $@92 use_initializer + 797 make_tuple_call: "tuple" '(' expr_list optional_comma . ')' - '>' shift, and go to state 1156 + ')' shift, and go to state 1155 State 985 - 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options . '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' + 791 make_struct_decl: "variant" '<' $@90 type_declaration_no_options . '>' $@91 '(' make_variant_dim ')' - '>' shift, and go to state 1157 + '>' shift, and go to state 1156 State 986 - 793 make_tuple_call: "tuple" '(' expr_list optional_comma . ')' + 475 expr_generator: "generator" '<' type_declaration_no_options '>' . optional_capture_list '(' ')' + 476 | "generator" '<' type_declaration_no_options '>' . optional_capture_list '(' expr ')' + 477 | "generator" '<' type_declaration_no_options '>' . optional_capture_list optional_emit_semis expression_block - ')' shift, and go to state 1158 + "capture" shift, and go to state 797 + $default reduce using rule 333 (optional_capture_list) -State 987 + optional_capture_list go to state 1157 - 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options . '>' $@90 '(' make_variant_dim ')' - '>' shift, and go to state 1159 +State 987 + 478 expr_mtag: "$$" '(' expr ')' . -State 988 + $default reduce using rule 478 (expr_mtag) - 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 797 +State 988 - $default reduce using rule 331 (optional_capture_list) + 479 expr_mtag: "$i" '(' expr ')' . - optional_capture_list go to state 1160 + $default reduce using rule 479 (expr_mtag) State 989 - 476 expr_mtag: "$$" '(' expr ')' . + 480 expr_mtag: "$v" '(' expr ')' . - $default reduce using rule 476 (expr_mtag) + $default reduce using rule 480 (expr_mtag) State 990 - 477 expr_mtag: "$i" '(' expr ')' . + 481 expr_mtag: "$b" '(' expr ')' . - $default reduce using rule 477 (expr_mtag) + $default reduce using rule 481 (expr_mtag) State 991 - 478 expr_mtag: "$v" '(' expr ')' . + 482 expr_mtag: "$a" '(' expr ')' . - $default reduce using rule 478 (expr_mtag) + $default reduce using rule 482 (expr_mtag) State 992 - 479 expr_mtag: "$b" '(' expr ')' . + 484 expr_mtag: "$c" '(' expr ')' . '(' ')' + 485 | "$c" '(' expr ')' . '(' expr_list ')' - $default reduce using rule 479 (expr_mtag) + '(' shift, and go to state 1158 State 993 - 480 expr_mtag: "$a" '(' expr ')' . - - $default reduce using rule 480 (expr_mtag) - - -State 994 - - 482 expr_mtag: "$c" '(' expr ')' . '(' ')' - 483 | "$c" '(' expr ')' . '(' expr_list ')' - - '(' shift, and go to state 1161 - - -State 995 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -28902,7 +28903,7 @@ State 995 "||" shift, and go to state 622 "^^" shift, and go to state 623 ".." shift, and go to state 624 - "}" shift, and go to state 1162 + "}" shift, and go to state 1159 '?' shift, and go to state 625 '|' shift, and go to state 626 '^' shift, and go to state 627 @@ -28918,89 +28919,89 @@ State 995 '[' shift, and go to state 637 -State 996 +State 994 - 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 ']' + 620 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" + 621 | variable_name_with_pos_list . ',' "name" "aka" "name" + 829 array_comprehension: '[' "for" '(' variable_name_with_pos_list . "in" expr_list ')' ';' expr array_comprehension_where ']' - "in" shift, and go to state 1163 + "in" shift, and go to state 1160 ',' shift, and go to state 886 -State 997 +State 995 - 826 array_comprehension: '[' "iterator" "for" '(' . variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 830 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 1164 + variable_name_with_pos_list go to state 1161 -State 998 +State 996 - 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 ')' + 319 expr_list: expr_list ',' expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -29038,386 +29039,386 @@ State 998 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 317 (expr_list) + $default reduce using rule 319 (expr_list) -State 999 +State 997 - 797 make_dim_decl: '[' expr_list optional_comma ']' . + 801 make_dim_decl: '[' expr_list optional_comma ']' . - $default reduce using rule 797 (make_dim_decl) + $default reduce using rule 801 (make_dim_decl) -State 1000 +State 998 - 431 expr: '(' expr_list optional_comma ')' . + 433 expr: '(' expr_list optional_comma ')' . - $default reduce using rule 431 (expr) + $default reduce using rule 433 (expr) -State 1001 +State 999 - 367 func_addr_name: "$i" '(' . 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 + 369 func_addr_name: "$i" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1165 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1162 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1002 +State 1000 - 491 expr_mtag: '@' '@' "$c" '(' . 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 + 493 expr_mtag: '@' '@' "$c" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1166 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1163 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1003 +State 1001 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 373 func_addr_expr: '@' '@' '<' $@21 . type_declaration_no_options '>' $@22 func_addr_name + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 1167 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 1164 + type_declaration_no_options_no_dim go to state 267 -State 1004 +State 1002 - 374 func_addr_expr: '@' '@' '<' $@23 . optional_function_argument_list optional_function_type '>' $@24 func_addr_name + 376 func_addr_expr: '@' '@' '<' $@23 . optional_function_argument_list optional_function_type '>' $@24 func_addr_name - '(' shift, and go to state 329 + '(' shift, and go to state 327 - $default reduce using rule 131 (optional_function_argument_list) + $default reduce using rule 133 (optional_function_argument_list) - optional_function_argument_list go to state 1168 + optional_function_argument_list go to state 1165 -State 1005 +State 1003 - 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 '}' + 620 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" + 621 | variable_name_with_pos_list . ',' "name" "aka" "name" + 831 array_comprehension: '{' "for" '(' variable_name_with_pos_list . "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' - "in" shift, and go to state 1169 + "in" shift, and go to state 1166 ',' shift, and go to state 886 -State 1006 +State 1004 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 795 make_map_tuple: expr "=>" expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -29455,1263 +29456,1263 @@ State 1006 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 791 (make_map_tuple) + $default reduce using rule 795 (make_map_tuple) -State 1007 +State 1005 - 816 expr_map_tuple_list: expr_map_tuple_list ',' make_map_tuple . + 820 expr_map_tuple_list: expr_map_tuple_list ',' make_map_tuple . - $default reduce using rule 816 (expr_map_tuple_list) + $default reduce using rule 820 (expr_map_tuple_list) -State 1008 +State 1006 - 817 make_table_decl: '{' expr_map_tuple_list optional_comma '}' . + 821 make_table_decl: '{' expr_map_tuple_list optional_comma '}' . - $default reduce using rule 817 (make_table_decl) + $default reduce using rule 821 (make_table_decl) -State 1009 +State 1007 - 761 make_struct_fields: "name" . copy_or_move expr - 762 | "name" . ":=" expr + 765 make_struct_fields: "name" . copy_or_move expr + 766 | "name" . ":=" expr "<-" shift, and go to state 885 - ":=" shift, and go to state 1013 + ":=" shift, and go to state 1011 '=' shift, and go to state 887 - copy_or_move go to state 1014 + copy_or_move go to state 1012 -State 1010 +State 1008 - 385 expr_call: name_in_namespace '(' "uninitialized" ')' . + 387 expr_call: name_in_namespace '(' "uninitialized" ')' . - $default reduce using rule 385 (expr_call) + $default reduce using rule 387 (expr_call) -State 1011 +State 1009 - 387 expr_call: name_in_namespace '(' "uninitialized" make_struct_single . ')' + 389 expr_call: name_in_namespace '(' "uninitialized" make_struct_single . ')' - ')' shift, and go to state 1170 + ')' shift, and go to state 1167 -State 1012 +State 1010 - 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 - "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 + 769 make_struct_fields: "$f" '(' . expr ')' copy_or_move expr + 770 | "$f" '(' . expr ')' ":=" expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1171 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1168 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1013 +State 1011 - 762 make_struct_fields: "name" ":=" . 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 + 766 make_struct_fields: "name" ":=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1172 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1169 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1014 +State 1012 - 761 make_struct_fields: "name" copy_or_move . 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 + 765 make_struct_fields: "name" copy_or_move . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1173 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1170 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1015 +State 1013 - 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 + 364 expr_named_call: name_in_namespace '(' '[' make_struct_fields . ']' ')' + 767 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 768 | make_struct_fields . ',' "name" ":=" expr + 771 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 772 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr - ',' shift, and go to state 1018 - ']' shift, and go to state 1174 + ',' shift, and go to state 1016 + ']' shift, and go to state 1171 -State 1016 +State 1014 - 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 - "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 + 319 expr_list: expr_list ',' . expr + 365 expr_named_call: name_in_namespace '(' expr_list ',' . '[' make_struct_fields ']' ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' shift, and go to state 13 - '~' shift, and go to state 456 - '!' shift, and go to state 457 - '[' shift, and go to state 1175 - '(' 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 998 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' shift, and go to state 1172 + '(' shift, and go to state 457 + '$' shift, and go to state 458 + '@' shift, and go to state 459 + '{' shift, and go to state 460 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 996 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1017 +State 1015 - 388 expr_call: name_in_namespace '(' expr_list ')' . + 390 expr_call: name_in_namespace '(' expr_list ')' . - $default reduce using rule 388 (expr_call) + $default reduce using rule 390 (expr_call) -State 1018 +State 1016 - 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 + 767 make_struct_fields: make_struct_fields ',' . "name" copy_or_move expr + 768 | make_struct_fields ',' . "name" ":=" expr + 771 | make_struct_fields ',' . "$f" '(' expr ')' copy_or_move expr + 772 | make_struct_fields ',' . "$f" '(' expr ')' ":=" expr - "$f" shift, and go to state 1176 - "name" shift, and go to state 1177 + "$f" shift, and go to state 1173 + "name" shift, and go to state 1174 -State 1019 +State 1017 - 386 expr_call: name_in_namespace '(' make_struct_single ')' . + 388 expr_call: name_in_namespace '(' make_struct_single ')' . - $default reduce using rule 386 (expr_call) + $default reduce using rule 388 (expr_call) -State 1020 +State 1018 - 332 optional_capture_list: "capture" '(' . capture_list ')' + 334 optional_capture_list: "capture" '(' . capture_list ')' - "<-" 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 + "<-" shift, and go to state 1175 + ":=" shift, and go to state 1176 + "name" shift, and go to state 1177 + '=' shift, and go to state 1178 + '&' shift, and go to state 1179 - capture_entry go to state 1183 - capture_list go to state 1184 + capture_entry go to state 1180 + capture_list go to state 1181 -State 1021 +State 1019 - 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 + 335 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 + ':' shift, and go to state 387 - $default reduce using rule 134 (optional_function_type) + $default reduce using rule 136 (optional_function_type) - optional_function_type go to state 1185 + optional_function_type go to state 1182 -State 1022 +State 1020 - 335 expr_full_block_assumed_piped: '{' expressions '}' . + 337 expr_full_block_assumed_piped: '{' expressions '}' . - $default reduce using rule 335 (expr_full_block_assumed_piped) + $default reduce using rule 337 (expr_full_block_assumed_piped) -State 1023 +State 1021 - 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 + 336 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 + '(' shift, and go to state 327 - $default reduce using rule 131 (optional_function_argument_list) + $default reduce using rule 133 (optional_function_argument_list) - optional_function_argument_list go to state 1186 + optional_function_argument_list go to state 1183 -State 1024 +State 1022 - 448 expr: expr "is" "type" '<' . $@27 type_declaration_no_options '>' $@28 + 450 expr: expr "is" "type" '<' . $@27 type_declaration_no_options '>' $@28 - $default reduce using rule 446 ($@27) + $default reduce using rule 448 ($@27) - $@27 go to state 1187 + $@27 go to state 1184 -State 1025 +State 1023 - 490 expr_mtag: expr "is" "$f" '(' . 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 + 492 expr_mtag: expr "is" "$f" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1188 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1185 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1026 +State 1024 - 454 expr: expr "as" "type" '<' . $@29 type_declaration '>' $@30 + 456 expr: expr "as" "type" '<' . $@29 type_declaration '>' $@30 - $default reduce using rule 452 ($@29) + $default reduce using rule 454 ($@29) - $@29 go to state 1189 + $@29 go to state 1186 -State 1027 +State 1025 - 488 expr_mtag: expr "as" "$f" '(' . 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 + 490 expr_mtag: expr "as" "$f" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1190 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1187 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1028 +State 1026 - 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 - "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 + 366 expr_method_call: expr "->" "name" '(' . ')' + 367 | expr "->" "name" '(' . expr_list ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1191 - '$' 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 - 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 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' shift, and go to state 456 + '(' shift, and go to state 457 + ')' shift, and go to state 1188 + '$' shift, and go to state 458 + '@' shift, and go to state 459 + '{' shift, and go to state 460 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + expr_list go to state 1189 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1029 +State 1027 - 485 expr_mtag: expr "?." "$f" '(' . 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 + 487 expr_mtag: expr "?." "$f" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1193 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1190 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1030 +State 1028 - 434 expr: expr "?[" expr ']' . + 436 expr: expr "?[" expr ']' . - $default reduce using rule 434 (expr) + $default reduce using rule 436 (expr) -State 1031 +State 1029 - 459 expr: expr '?' "as" "type" . '<' $@31 type_declaration '>' $@32 + 461 expr: expr '?' "as" "type" . '<' $@31 type_declaration '>' $@32 - '<' shift, and go to state 1194 + '<' shift, and go to state 1191 -State 1032 +State 1030 - 489 expr_mtag: expr '?' "as" "$f" . '(' expr ')' + 491 expr_mtag: expr '?' "as" "$f" . '(' expr ')' - '(' shift, and go to state 1195 + '(' shift, and go to state 1192 -State 1033 +State 1031 - 456 expr: expr '?' "as" "name" . + 458 expr: expr '?' "as" "name" . - $default reduce using rule 456 (expr) + $default reduce using rule 458 (expr) -State 1034 +State 1032 - 460 expr: expr '?' "as" basic_type_declaration . + 462 expr: expr '?' "as" basic_type_declaration . - $default reduce using rule 460 (expr) + $default reduce using rule 462 (expr) -State 1035 +State 1033 - 445 expr: expr '?' 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 + 447 expr: expr '?' expr ':' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1196 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1193 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1036 +State 1034 - 487 expr_mtag: expr '.' "?." "$f" . '(' expr ')' + 489 expr_mtag: expr '.' "?." "$f" . '(' expr ')' - '(' shift, and go to state 1197 + '(' shift, and go to state 1194 -State 1037 +State 1035 - 437 expr: expr '.' "?." "name" . + 439 expr: expr '.' "?." "name" . - $default reduce using rule 437 (expr) + $default reduce using rule 439 (expr) -State 1038 +State 1036 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 437 | expr '.' "?[" expr . ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -30748,311 +30749,311 @@ State 1038 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ']' shift, and go to state 1198 + ']' shift, and go to state 1195 -State 1039 +State 1037 - 484 expr_mtag: expr '.' "$f" '(' . 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 + 486 expr_mtag: expr '.' "$f" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1199 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1196 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1040 +State 1038 - 377 expr_field: expr '.' "name" '(' . ')' - 378 | expr '.' "name" '(' . expr_list ')' - - "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 + 379 expr_field: expr '.' "name" '(' . ')' + 380 | expr '.' "name" '(' . expr_list ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1200 - '$' 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 - 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 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' shift, and go to state 456 + '(' shift, and go to state 457 + ')' shift, and go to state 1197 + '$' shift, and go to state 458 + '@' shift, and go to state 459 + '{' shift, and go to state 460 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + expr_list go to state 1198 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1041 +State 1039 - 486 expr_mtag: expr '.' '.' "$f" . '(' expr ')' + 488 expr_mtag: expr '.' '.' "$f" . '(' expr ')' - '(' shift, and go to state 1202 + '(' shift, and go to state 1199 -State 1042 +State 1040 - 376 expr_field: expr '.' '.' "name" . + 378 expr_field: expr '.' '.' "name" . - $default reduce using rule 376 (expr_field) + $default reduce using rule 378 (expr_field) -State 1043 +State 1041 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 435 | expr '.' '[' expr . ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -31089,567 +31090,567 @@ State 1043 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ']' shift, and go to state 1203 + ']' shift, and go to state 1200 + + +State 1042 + + 385 expr_field: expr '.' $@25 error . $@26 + + $default reduce using rule 384 ($@26) + + $@26 go to state 1201 + + +State 1043 + + 381 expr_field: expr '.' basic_type_declaration '(' . ')' + 382 | expr '.' basic_type_declaration '(' . expr_list ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 + "::" shift, and go to state 55 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 + "name" shift, and go to state 56 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 + '%' shift, and go to state 13 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' shift, and go to state 456 + '(' shift, and go to state 457 + ')' shift, and go to state 1202 + '$' shift, and go to state 458 + '@' shift, and go to state 459 + '{' shift, and go to state 460 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + expr_list go to state 1203 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 590 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 1044 - 383 expr_field: expr '.' $@25 error . $@26 + 434 expr: expr '[' expr ']' . - $default reduce using rule 382 ($@26) - - $@26 go to state 1204 + $default reduce using rule 434 (expr) State 1045 - 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 - "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 + 319 expr_list: expr_list ',' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1205 - '$' 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 - 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 - 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 590 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 996 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 State 1046 - 432 expr: expr '[' expr ']' . + 392 expr_call: basic_type_declaration '(' expr_list ')' . - $default reduce using rule 432 (expr) + $default reduce using rule 392 (expr_call) State 1047 - 317 expr_list: expr_list ',' . 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 998 - 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 + 714 type_declaration_no_options_no_dim: "iterator" '<' $@56 type_declaration '>' $@57 . + + $default reduce using rule 714 (type_declaration_no_options_no_dim) State 1048 - 390 expr_call: basic_type_declaration '(' expr_list ')' . + 704 type_declaration_no_options_no_dim: "smart_ptr" '<' $@50 type_declaration '>' $@51 . - $default reduce using rule 390 (expr_call) + $default reduce using rule 704 (type_declaration_no_options_no_dim) State 1049 - 710 type_declaration_no_options_no_dim: "iterator" '<' $@55 type_declaration '>' $@56 . + 668 bitfield_type_declaration: "bitfield" '<' $@45 bitfield_bits '>' $@46 . - $default reduce using rule 710 (type_declaration_no_options_no_dim) + $default reduce using rule 668 (bitfield_type_declaration) State 1050 - 700 type_declaration_no_options_no_dim: "smart_ptr" '<' $@49 type_declaration '>' $@50 . + 662 bitfield_bits: bitfield_bits ';' "name" . - $default reduce using rule 700 (type_declaration_no_options_no_dim) + $default reduce using rule 662 (bitfield_bits) State 1051 - 664 bitfield_type_declaration: "bitfield" '<' $@44 bitfield_bits '>' $@45 . + 718 type_declaration_no_options_no_dim: "block" '<' $@58 type_declaration '>' $@59 . - $default reduce using rule 664 (bitfield_type_declaration) + $default reduce using rule 718 (type_declaration_no_options_no_dim) State 1052 - 658 bitfield_bits: bitfield_bits ';' "name" . + 721 type_declaration_no_options_no_dim: "block" '<' $@60 optional_function_argument_list optional_function_type '>' . $@61 + + $default reduce using rule 720 ($@61) - $default reduce using rule 658 (bitfield_bits) + $@61 go to state 1204 State 1053 - 714 type_declaration_no_options_no_dim: "block" '<' $@57 type_declaration '>' $@58 . + 725 type_declaration_no_options_no_dim: "function" '<' $@62 type_declaration '>' $@63 . - $default reduce using rule 714 (type_declaration_no_options_no_dim) + $default reduce using rule 725 (type_declaration_no_options_no_dim) State 1054 - 717 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type '>' . $@60 + 728 type_declaration_no_options_no_dim: "function" '<' $@64 optional_function_argument_list optional_function_type '>' . $@65 - $default reduce using rule 716 ($@60) + $default reduce using rule 727 ($@65) - $@60 go to state 1207 + $@65 go to state 1205 State 1055 - 721 type_declaration_no_options_no_dim: "function" '<' $@61 type_declaration '>' $@62 . + 732 type_declaration_no_options_no_dim: "lambda" '<' $@66 type_declaration '>' $@67 . - $default reduce using rule 721 (type_declaration_no_options_no_dim) + $default reduce using rule 732 (type_declaration_no_options_no_dim) State 1056 - 724 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type '>' . $@64 + 735 type_declaration_no_options_no_dim: "lambda" '<' $@68 optional_function_argument_list optional_function_type '>' . $@69 - $default reduce using rule 723 ($@64) + $default reduce using rule 734 ($@69) - $@64 go to state 1208 + $@69 go to state 1206 State 1057 - 728 type_declaration_no_options_no_dim: "lambda" '<' $@65 type_declaration '>' $@66 . + 520 tuple_type: "name" ':' type_declaration . + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - $default reduce using rule 728 (type_declaration_no_options_no_dim) + '|' shift, and go to state 371 + $default reduce using rule 520 (tuple_type) -State 1058 - 731 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type '>' . $@68 +State 1058 - $default reduce using rule 730 ($@68) + 738 type_declaration_no_options_no_dim: "tuple" '<' $@70 tuple_type_list '>' $@71 . - $@68 go to state 1209 + $default reduce using rule 738 (type_declaration_no_options_no_dim) State 1059 - 517 tuple_type: "name" ':' type_declaration . - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 522 tuple_type_list: tuple_type_list c_or_s tuple_type . - '|' shift, and go to state 372 - - $default reduce using rule 517 (tuple_type) + $default reduce using rule 522 (tuple_type_list) State 1060 - 734 type_declaration_no_options_no_dim: "tuple" '<' $@69 tuple_type_list '>' $@70 . + 526 variant_type: "name" ':' type_declaration . + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' + + '|' shift, and go to state 371 - $default reduce using rule 734 (type_declaration_no_options_no_dim) + $default reduce using rule 526 (variant_type) State 1061 - 519 tuple_type_list: tuple_type_list c_or_s tuple_type . + 741 type_declaration_no_options_no_dim: "variant" '<' $@72 variant_type_list '>' $@73 . - $default reduce using rule 519 (tuple_type_list) + $default reduce using rule 741 (type_declaration_no_options_no_dim) State 1062 - 523 variant_type: "name" ':' type_declaration . - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 528 variant_type_list: variant_type_list c_or_s variant_type . - '|' shift, and go to state 372 - - $default reduce using rule 523 (variant_type) + $default reduce using rule 528 (variant_type_list) State 1063 - 737 type_declaration_no_options_no_dim: "variant" '<' $@71 variant_type_list '>' $@72 . + 689 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@49 type_declaration_no_options_list '>' . '(' optional_expr_list ')' - $default reduce using rule 737 (type_declaration_no_options_no_dim) + '(' shift, and go to state 1207 State 1064 - 525 variant_type_list: variant_type_list c_or_s variant_type . + 265 type_declaration_no_options_list: type_declaration_no_options_list c_or_s . type_declaration + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 + "::" shift, and go to state 55 + "$t" shift, and go to state 259 + "name" shift, and go to state 56 + '$' shift, and go to state 260 - $default reduce using rule 525 (variant_type_list) + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 + type_declaration go to state 1208 State 1065 - 685 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' . '(' optional_expr_list ')' + 665 bitfield_alias_bits: bitfield_alias_bits commas "name" . - '(' shift, and go to state 1210 + $default reduce using rule 665 (bitfield_alias_bits) State 1066 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 - "::" shift, and go to state 55 - "$t" shift, and go to state 261 - "name" shift, and go to state 56 - '$' shift, and go to state 262 + 575 commas: commas COMMA . - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 1211 + $default reduce using rule 575 (commas) State 1067 - 661 bitfield_alias_bits: bitfield_alias_bits commas "name" . + 759 bitfield_alias_declaration: "bitfield" $@82 optional_public_or_private_alias "name" optional_emit_commas $@83 '{' $@84 bitfield_alias_bits optional_commas $@85 . '}' - $default reduce using rule 661 (bitfield_alias_bits) + '}' shift, and go to state 1209 State 1068 - 572 commas: commas COMMA . + 78 semis: semis SEMICOLON . - $default reduce using rule 572 (commas) + $default reduce using rule 78 (semis) State 1069 - 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 . '}' + 525 tuple_alias_type_list: tuple_alias_type_list semis tuple_type . - '}' shift, and go to state 1212 + $default reduce using rule 525 (tuple_alias_type_list) State 1070 - 78 semis: semis SEMICOLON . + 749 tuple_alias_declaration: "tuple" $@74 optional_public_or_private_alias "name" optional_emit_semis $@75 '{' $@76 tuple_alias_type_list optional_semis $@77 . '}' - $default reduce using rule 78 (semis) + '}' shift, and go to state 1210 State 1071 - 522 tuple_alias_type_list: tuple_alias_type_list semis tuple_type . + 531 variant_alias_type_list: variant_alias_type_list semis variant_type . - $default reduce using rule 522 (tuple_alias_type_list) + $default reduce using rule 531 (variant_alias_type_list) State 1072 - 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 . '}' + 754 variant_alias_declaration: "variant" $@78 optional_public_or_private_alias "name" optional_emit_semis $@79 '{' $@80 variant_alias_type_list optional_semis $@81 . '}' - '}' shift, and go to state 1213 + '}' shift, and go to state 1211 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 - - 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 . ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 618 variable_name_with_pos_list: "$i" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -31686,105 +31687,105 @@ State 1075 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1215 + ')' shift, and go to state 1212 -State 1076 +State 1074 - 615 variable_name_with_pos_list: "name" "aka" "name" . + 619 variable_name_with_pos_list: "name" "aka" "name" . - $default reduce using rule 615 (variable_name_with_pos_list) + $default reduce using rule 619 (variable_name_with_pos_list) -State 1077 +State 1075 - 616 variable_name_with_pos_list: variable_name_with_pos_list ',' "name" . - 617 | variable_name_with_pos_list ',' "name" . "aka" "name" + 620 variable_name_with_pos_list: variable_name_with_pos_list ',' "name" . + 621 | variable_name_with_pos_list ',' "name" . "aka" "name" - "aka" shift, and go to state 1216 + "aka" shift, and go to state 1213 - $default reduce using rule 616 (variable_name_with_pos_list) + $default reduce using rule 620 (variable_name_with_pos_list) -State 1078 +State 1076 - 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 . '|' '#' + 536 variable_declaration: variable_name_with_pos_list ':' type_declaration . + 537 | variable_name_with_pos_list ':' type_declaration . copy_or_move expr + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' "<-" shift, and go to state 885 '=' shift, and go to state 887 - '|' shift, and go to state 372 + '|' shift, and go to state 371 - $default reduce using rule 533 (variable_declaration) + $default reduce using rule 536 (variable_declaration) - copy_or_move go to state 1217 + copy_or_move go to state 1214 -State 1079 +State 1077 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 538 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 @@ -31822,72 +31823,72 @@ State 1079 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 535 (variable_declaration) + $default reduce using rule 538 (variable_declaration) -State 1080 +State 1078 - 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 ')' + 285 expression_return: "return" "<-" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -31925,82 +31926,82 @@ State 1080 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 283 (expression_return) + $default reduce using rule 285 (expression_return) -State 1081 +State 1079 - 286 expression_try_catch: "try" expression_block "recover" . expression_block + 288 expression_try_catch: "try" expression_block "recover" . expression_block - $default reduce using rule 232 ($@9) + $default reduce using rule 234 ($@9) - expression_block go to state 1218 - $@9 go to state 332 + expression_block go to state 1215 + $@9 go to state 330 -State 1082 +State 1080 - 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 ')' + 270 expression_delete: "delete" "explicit" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -32038,204 +32039,204 @@ State 1082 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 268 (expression_delete) + $default reduce using rule 270 (expression_delete) -State 1083 +State 1081 91 expression_with_alias: "assume" "name" '=' . 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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1219 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1216 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1084 +State 1082 56 expression_label: "label" "integer constant" ':' . $default reduce using rule 56 (expression_label) -State 1085 +State 1083 57 expression_goto: "goto" "label" "integer constant" . $default reduce using rule 57 (expression_goto) -State 1086 +State 1084 86 expression_unsafe: "unsafe" optional_emit_semis expression_block . $default reduce using rule 86 (expression_unsafe) -State 1087 +State 1085 - 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 ')' + 287 expression_yield: "yield" "<-" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -32273,575 +32274,575 @@ State 1087 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 285 (expression_yield) + $default reduce using rule 287 (expression_yield) -State 1088 +State 1086 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 - "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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1220 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1217 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1089 +State 1087 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 - "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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1221 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1218 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1090 +State 1088 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 1222 + variable_name_with_pos_list go to state 1219 -State 1091 +State 1089 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 - "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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1223 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1220 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1092 +State 1090 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 - "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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1224 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1221 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1093 +State 1091 - 231 expression_block_finally: "finally" . $@7 '{' expressions $@8 '}' + 233 expression_block_finally: "finally" . $@7 '{' expressions $@8 '}' - $default reduce using rule 229 ($@7) + $default reduce using rule 231 ($@7) - $@7 go to state 1225 + $@7 go to state 1222 -State 1094 +State 1092 - 234 expression_block: $@9 '{' expressions $@10 '}' expression_block_finally . + 236 expression_block: $@9 '{' expressions $@10 '}' expression_block_finally . - $default reduce using rule 234 (expression_block) + $default reduce using rule 236 (expression_block) -State 1095 +State 1093 - 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 + 298 tuple_expansion_variable_declaration: '(' . tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + 299 | '(' . tuple_expansion ')' optional_ref copy_or_move_or_clone expr SEMICOLON - "name" shift, and go to state 1226 + "name" shift, and go to state 1223 - tuple_expansion go to state 1227 + tuple_expansion go to state 1224 -State 1096 +State 1094 - 300 expression_let: kwd_let optional_in_scope '{' . variable_declaration_list '}' + 302 expression_let: kwd_let optional_in_scope '{' . variable_declaration_list '}' - $default reduce using rule 548 (variable_declaration_list) + $default reduce using rule 551 (variable_declaration_list) - variable_declaration_list go to state 1228 + variable_declaration_list go to state 1225 -State 1097 +State 1095 - 299 expression_let: kwd_let optional_in_scope tuple_expansion_variable_declaration . + 301 expression_let: kwd_let optional_in_scope tuple_expansion_variable_declaration . - $default reduce using rule 299 (expression_let) + $default reduce using rule 301 (expression_let) -State 1098 +State 1096 - 298 expression_let: kwd_let optional_in_scope let_variable_declaration . + 300 expression_let: kwd_let optional_in_scope let_variable_declaration . - $default reduce using rule 298 (expression_let) + $default reduce using rule 300 (expression_let) -State 1099 +State 1097 - 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 ')' + 355 expr_assign: expr "+=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -32879,72 +32880,72 @@ State 1099 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 353 (expr_assign) + $default reduce using rule 355 (expr_assign) -State 1100 +State 1098 - 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 ')' + 356 expr_assign: expr "-=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -32982,72 +32983,72 @@ State 1100 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 354 (expr_assign) + $default reduce using rule 356 (expr_assign) -State 1101 +State 1099 - 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 ')' + 358 expr_assign: expr "/=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33085,72 +33086,72 @@ State 1101 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 356 (expr_assign) + $default reduce using rule 358 (expr_assign) -State 1102 +State 1100 - 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 ')' + 357 expr_assign: expr "*=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33188,72 +33189,72 @@ State 1102 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 355 (expr_assign) + $default reduce using rule 357 (expr_assign) -State 1103 +State 1101 - 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 ')' + 359 expr_assign: expr "%=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33291,72 +33292,72 @@ State 1103 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 357 (expr_assign) + $default reduce using rule 359 (expr_assign) -State 1104 +State 1102 - 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 ')' + 349 expr_assign: expr "&=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33394,72 +33395,72 @@ State 1104 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 347 (expr_assign) + $default reduce using rule 349 (expr_assign) -State 1105 +State 1103 - 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 ')' + 350 expr_assign: expr "|=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33497,72 +33498,72 @@ State 1105 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 348 (expr_assign) + $default reduce using rule 350 (expr_assign) -State 1106 +State 1104 - 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 ')' + 351 expr_assign: expr "^=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33600,72 +33601,72 @@ State 1106 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 349 (expr_assign) + $default reduce using rule 351 (expr_assign) -State 1107 +State 1105 - 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 ')' + 360 expr_assign: expr "<<=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33703,72 +33704,72 @@ State 1107 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 358 (expr_assign) + $default reduce using rule 360 (expr_assign) -State 1108 +State 1106 - 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 ')' + 361 expr_assign: expr ">>=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33806,72 +33807,72 @@ State 1108 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 359 (expr_assign) + $default reduce using rule 361 (expr_assign) -State 1109 +State 1107 - 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 ')' + 347 expr_assign: expr "<-" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -33909,72 +33910,72 @@ State 1109 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 345 (expr_assign) + $default reduce using rule 347 (expr_assign) -State 1110 +State 1108 - 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 ')' + 348 expr_assign: expr ":=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -34012,72 +34013,72 @@ State 1110 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 346 (expr_assign) + $default reduce using rule 348 (expr_assign) -State 1111 +State 1109 - 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 ')' + 362 expr_assign: expr "<<<=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -34115,72 +34116,72 @@ State 1111 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 360 (expr_assign) + $default reduce using rule 362 (expr_assign) -State 1112 +State 1110 - 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 ')' + 363 expr_assign: expr ">>>=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -34218,72 +34219,72 @@ State 1112 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 361 (expr_assign) + $default reduce using rule 363 (expr_assign) -State 1113 +State 1111 - 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 ')' + 352 expr_assign: expr "&&=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -34321,72 +34322,72 @@ State 1113 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 350 (expr_assign) + $default reduce using rule 352 (expr_assign) -State 1114 +State 1112 - 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 ')' + 353 expr_assign: expr "||=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -34424,72 +34425,72 @@ State 1114 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 351 (expr_assign) + $default reduce using rule 353 (expr_assign) -State 1115 +State 1113 - 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 ')' + 354 expr_assign: expr "^^=" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -34527,72 +34528,72 @@ State 1115 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 352 (expr_assign) + $default reduce using rule 354 (expr_assign) -State 1116 +State 1114 - 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 ')' + 346 expr_assign: expr '=' expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -34630,393 +34631,394 @@ State 1116 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 344 (expr_assign) + $default reduce using rule 346 (expr_assign) -State 1117 +State 1115 - 570 enum_expression: "name" '=' . 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 + 573 enum_expression: "name" '=' . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1229 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1226 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1118 +State 1116 - 572 commas: commas . COMMA - 575 enum_list: enum_list commas . enum_expression - 589 optional_commas: commas . + 575 commas: commas . COMMA + 578 enum_list: enum_list commas . enum_expression + 592 optional_commas: commas . "name" shift, and go to state 941 "emitted ," shift, and go to state 734 ',' shift, and go to state 735 - $default reduce using rule 589 (optional_commas) - - COMMA go to state 1068 - enum_expression go to state 1230 + $default reduce using rule 592 (optional_commas) + COMMA go to state 1066 + enum_expression go to state 1227 -State 1119 - - 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 596 ($@41) - - $@41 go to state 1231 +State 1117 -State 1120 - - 500 optional_public_or_private_member_variable: "public" . + 600 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 500 (optional_public_or_private_member_variable) + $default reduce using rule 599 ($@41) + $@41 go to state 1228 -State 1121 - 501 optional_public_or_private_member_variable: "private" . +State 1118 - $default reduce using rule 501 (optional_public_or_private_member_variable) + 508 struct_variable_declaration_list: struct_variable_declaration_list "emitted ;" . + $default reduce using rule 508 (struct_variable_declaration_list) -State 1122 - 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 +State 1119 - "abstract" shift, and go to state 1232 - "static" shift, and go to state 1123 + 132 optional_annotation_list_with_emit_semis: '[' . annotation_list ']' optional_emit_semis - $default reduce using rule 502 (optional_static_member_variable) + "require" shift, and go to state 58 + "private" shift, and go to state 59 + "|>" shift, and go to state 60 + "::" shift, and go to state 55 + "name" shift, and go to state 56 + '!' shift, and go to state 61 + '(' shift, and go to state 62 - optional_static_member_variable go to state 1233 + annotation_declaration_name go to state 63 + annotation_declaration_basic go to state 64 + annotation_declaration go to state 65 + annotation_list go to state 1229 + name_in_namespace go to state 67 -State 1123 +State 1120 - 503 optional_static_member_variable: "static" . + 612 optional_struct_variable_declaration_list: '{' struct_variable_declaration_list '}' . - $default reduce using rule 503 (optional_static_member_variable) + $default reduce using rule 612 (optional_struct_variable_declaration_list) -State 1124 +State 1121 - 504 structure_variable_declaration: optional_field_annotation optional_static_member_variable . optional_override optional_public_or_private_member_variable variable_declaration + 512 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis . "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header SEMICOLON + 514 | struct_variable_declaration_list optional_annotation_list_with_emit_semis . "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header optional_emit_semis expression_block - "override" shift, and go to state 1234 - "sealed" shift, and go to state 1235 + "def" shift, and go to state 1230 - $default reduce using rule 494 (optional_override) - optional_override go to state 1236 +State 1122 + 510 struct_variable_declaration_list: struct_variable_declaration_list $@33 . structure_variable_declaration SEMICOLON -State 1125 + '@' shift, and go to state 212 - 507 struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration ';' . + $default reduce using rule 494 (optional_field_annotation) - $default reduce using rule 507 (struct_variable_declaration_list) + metadata_argument_list go to state 213 + optional_field_annotation go to state 1231 + structure_variable_declaration go to state 1232 -State 1126 +State 1123 - 542 let_variable_name_with_pos_list: "$i" '(' expr ')' . + 545 let_variable_name_with_pos_list: "$i" '(' expr ')' . - $default reduce using rule 542 (let_variable_name_with_pos_list) + $default reduce using rule 545 (let_variable_name_with_pos_list) -State 1127 +State 1124 - 545 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" "aka" . "name" + 548 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" "aka" . "name" - "name" shift, and go to state 1237 + "name" shift, and go to state 1233 -State 1128 +State 1125 - 551 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options SEMICOLON . + 554 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options SEMICOLON . - $default reduce using rule 551 (let_variable_declaration) + $default reduce using rule 554 (let_variable_declaration) -State 1129 +State 1126 - 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 - "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 + 555 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 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1238 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1234 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1130 +State 1127 - 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 + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 556 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 @@ -35056,666 +35058,666 @@ State 1130 '[' shift, and go to state 637 ';' shift, and go to state 691 - SEMICOLON go to state 1239 + SEMICOLON go to state 1235 -State 1131 +State 1128 - 555 global_let_variable_declaration: global_let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr ';' . + 558 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 555 (global_let_variable_declaration) + $default reduce using rule 558 (global_let_variable_declaration) -State 1132 +State 1129 - 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' . $@86 '(' use_initializer optional_make_struct_dim_decl ')' + 785 make_struct_decl: "struct" '<' $@86 type_declaration_no_options '>' . $@87 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 780 ($@86) + $default reduce using rule 784 ($@87) - $@86 go to state 1240 + $@87 go to state 1236 -State 1133 +State 1130 - 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' . $@88 '(' use_initializer optional_make_struct_dim_decl ')' + 788 make_struct_decl: "class" '<' $@88 type_declaration_no_options '>' . $@89 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 783 ($@88) + $default reduce using rule 787 ($@89) - $@88 go to state 1241 + $@89 go to state 1237 -State 1134 +State 1131 - 271 new_type_declaration: '<' $@11 type_declaration '>' . $@12 + 273 new_type_declaration: '<' $@11 type_declaration '>' . $@12 - $default reduce using rule 270 ($@12) + $default reduce using rule 272 ($@12) - $@12 go to state 1242 + $@12 go to state 1238 -State 1135 +State 1132 - 277 expr_new: "new" new_type_declaration '(' "uninitialized" make_struct_single . ')' + 279 expr_new: "new" new_type_declaration '(' "uninitialized" make_struct_single . ')' - ')' shift, and go to state 1243 + ')' shift, and go to state 1239 -State 1136 +State 1133 - 275 expr_new: "new" new_type_declaration '(' expr_list ')' . + 277 expr_new: "new" new_type_declaration '(' expr_list ')' . - $default reduce using rule 275 (expr_new) + $default reduce using rule 277 (expr_new) -State 1137 +State 1134 - 276 expr_new: "new" new_type_declaration '(' make_struct_single ')' . + 278 expr_new: "new" new_type_declaration '(' make_struct_single ')' . - $default reduce using rule 276 (expr_new) + $default reduce using rule 278 (expr_new) -State 1138 +State 1135 - 274 expr_new: "new" new_type_declaration '(' use_initializer ')' . + 276 expr_new: "new" new_type_declaration '(' use_initializer ')' . - $default reduce using rule 274 (expr_new) + $default reduce using rule 276 (expr_new) -State 1139 +State 1136 - 314 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' . '(' expr ')' + 316 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' . '(' expr ')' - '(' shift, and go to state 1244 + '(' shift, and go to state 1240 -State 1140 +State 1137 - 315 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s . "name" '>' '(' expr ')' + 317 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s . "name" '>' '(' expr ')' - "name" shift, and go to state 1245 + "name" shift, and go to state 1241 -State 1141 +State 1138 - 313 expr_type_info: "typeinfo" name_in_namespace '(' expr ')' . + 315 expr_type_info: "typeinfo" name_in_namespace '(' expr ')' . - $default reduce using rule 313 (expr_type_info) + $default reduce using rule 315 (expr_type_info) -State 1142 +State 1139 - 312 expr_type_decl: "type" '<' $@19 type_declaration '>' . $@20 + 314 expr_type_decl: "type" '<' $@19 type_declaration '>' . $@20 - $default reduce using rule 311 ($@20) + $default reduce using rule 313 ($@20) - $@20 go to state 1246 + $@20 go to state 1242 -State 1143 +State 1140 - 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options . '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' + 804 make_dim_decl: "array" "struct" '<' $@96 type_declaration_no_options . '>' $@97 '(' use_initializer optional_make_struct_dim_decl ')' - '>' shift, and go to state 1247 + '>' shift, and go to state 1243 -State 1144 +State 1141 - 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options . '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' + 807 make_dim_decl: "array" "tuple" '<' $@98 type_declaration_no_options . '>' $@99 '(' use_initializer optional_make_struct_dim_decl ')' - '>' shift, and go to state 1248 + '>' shift, and go to state 1244 -State 1145 +State 1142 - 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options . '>' $@100 '(' make_variant_dim ')' + 810 make_dim_decl: "array" "variant" '<' $@100 type_declaration_no_options . '>' $@101 '(' make_variant_dim ')' - '>' shift, and go to state 1249 + '>' shift, and go to state 1245 -State 1146 +State 1143 - 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' . $@102 '(' optional_expr_list ')' + 814 make_dim_decl: "array" '<' $@102 type_declaration_no_options '>' . $@103 '(' optional_expr_list ')' - $default reduce using rule 809 ($@102) + $default reduce using rule 813 ($@103) - $@102 go to state 1250 + $@103 go to state 1246 -State 1147 +State 1144 - 807 make_dim_decl: "array" '(' expr_list optional_comma ')' . + 811 make_dim_decl: "array" '(' expr_list optional_comma ')' . - $default reduce using rule 807 (make_dim_decl) + $default reduce using rule 811 (make_dim_decl) -State 1148 +State 1145 - 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 - "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 + 823 make_table_decl: "table" '<' type_declaration_no_options '>' '(' . optional_expr_map_tuple_list ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - - $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 1251 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + $default reduce using rule 262 (optional_expr_map_tuple_list) + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + optional_expr_map_tuple_list go to state 1247 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 594 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 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 1252 - make_table_decl go to state 487 - array_comprehension go to state 488 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + expr_map_tuple_list go to state 1248 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1149 +State 1146 - 820 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options . '>' '(' optional_expr_map_tuple_list ')' + 824 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 1253 + '>' shift, and go to state 1249 -State 1150 +State 1147 - 818 make_table_decl: "table" '(' expr_map_tuple_list optional_comma ')' . + 822 make_table_decl: "table" '(' expr_map_tuple_list optional_comma ')' . - $default reduce using rule 818 (make_table_decl) + $default reduce using rule 822 (make_table_decl) -State 1151 +State 1148 - 303 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' . $@14 expr + 305 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' . $@14 expr - $default reduce using rule 302 ($@14) + $default reduce using rule 304 ($@14) - $@14 go to state 1254 + $@14 go to state 1250 -State 1152 +State 1149 - 306 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' . $@16 expr + 308 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' . $@16 expr - $default reduce using rule 305 ($@16) + $default reduce using rule 307 ($@16) - $@16 go to state 1255 + $@16 go to state 1251 -State 1153 +State 1150 - 309 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' . $@18 expr + 311 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' . $@18 expr - $default reduce using rule 308 ($@18) + $default reduce using rule 310 ($@18) - $@18 go to state 1256 + $@18 go to state 1252 -State 1154 +State 1151 - 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' . $@104 '(' expr_list optional_comma ')' + 818 make_dim_decl: "fixed_array" '<' $@104 type_declaration_no_options '>' . $@105 '(' expr_list optional_comma ')' - $default reduce using rule 813 ($@104) + $default reduce using rule 817 ($@105) - $@104 go to state 1257 + $@105 go to state 1253 -State 1155 +State 1152 - 811 make_dim_decl: "fixed_array" '(' expr_list optional_comma ')' . + 815 make_dim_decl: "fixed_array" '(' expr_list optional_comma ')' . - $default reduce using rule 811 (make_dim_decl) + $default reduce using rule 815 (make_dim_decl) -State 1156 +State 1153 - 790 make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' . $@92 use_initializer + 794 make_struct_decl: "default" '<' $@92 type_declaration_no_options '>' . $@93 use_initializer - $default reduce using rule 789 ($@92) + $default reduce using rule 793 ($@93) - $@92 go to state 1258 + $@93 go to state 1254 -State 1157 +State 1154 - 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' . $@94 '(' use_initializer optional_make_struct_dim_decl ')' + 800 make_tuple_call: "tuple" '<' $@94 type_declaration_no_options '>' . $@95 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 795 ($@94) + $default reduce using rule 799 ($@95) - $@94 go to state 1259 + $@95 go to state 1255 -State 1158 +State 1155 - 793 make_tuple_call: "tuple" '(' expr_list optional_comma ')' . + 797 make_tuple_call: "tuple" '(' expr_list optional_comma ')' . - $default reduce using rule 793 (make_tuple_call) + $default reduce using rule 797 (make_tuple_call) -State 1159 +State 1156 - 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' . $@90 '(' make_variant_dim ')' + 791 make_struct_decl: "variant" '<' $@90 type_declaration_no_options '>' . $@91 '(' make_variant_dim ')' - $default reduce using rule 786 ($@90) + $default reduce using rule 790 ($@91) - $@90 go to state 1260 + $@91 go to state 1256 -State 1160 +State 1157 - 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 + 475 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list . '(' ')' + 476 | "generator" '<' type_declaration_no_options '>' optional_capture_list . '(' expr ')' + 477 | "generator" '<' type_declaration_no_options '>' optional_capture_list . optional_emit_semis expression_block "emitted ;" shift, and go to state 171 - '(' shift, and go to state 1261 + '(' shift, and go to state 1257 $default reduce using rule 63 (optional_emit_semis) emit_semis go to state 172 - optional_emit_semis go to state 1262 + optional_emit_semis go to state 1258 -State 1161 +State 1158 - 482 expr_mtag: "$c" '(' expr ')' '(' . ')' - 483 | "$c" '(' expr ')' '(' . expr_list ')' - - "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 + 484 expr_mtag: "$c" '(' expr ')' '(' . ')' + 485 | "$c" '(' expr ')' '(' . expr_list ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1263 - '$' 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 - 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 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' shift, and go to state 456 + '(' shift, and go to state 457 + ')' shift, and go to state 1259 + '$' shift, and go to state 458 + '@' shift, and go to state 459 + '{' shift, and go to state 460 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + expr_list go to state 1260 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1162 +State 1159 35 string_builder_body: string_builder_body "{" expr "}" . $default reduce using rule 35 (string_builder_body) -State 1163 +State 1160 - 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 - "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 + 829 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" . expr_list ')' ';' expr array_comprehension_where ']' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - 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 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + expr_list go to state 1261 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1164 +State 1161 - 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 ']' + 620 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" + 621 | variable_name_with_pos_list . ',' "name" "aka" "name" + 830 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list . "in" expr_list ')' ';' expr array_comprehension_where ']' - "in" shift, and go to state 1266 + "in" shift, and go to state 1262 ',' shift, and go to state 886 -State 1165 +State 1162 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 369 func_addr_name: "$i" '(' expr . ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -35752,72 +35754,72 @@ State 1165 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1267 + ')' shift, and go to state 1263 -State 1166 +State 1163 - 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 . ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 493 | '@' '@' "$c" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -35854,210 +35856,210 @@ State 1166 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1268 + ')' shift, and go to state 1264 -State 1167 +State 1164 - 371 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options . '>' $@22 func_addr_name + 373 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options . '>' $@22 func_addr_name - '>' shift, and go to state 1269 + '>' shift, and go to state 1265 -State 1168 +State 1165 - 374 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list . optional_function_type '>' $@24 func_addr_name + 376 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list . optional_function_type '>' $@24 func_addr_name - ':' shift, and go to state 388 + ':' shift, and go to state 387 - $default reduce using rule 134 (optional_function_type) + $default reduce using rule 136 (optional_function_type) - optional_function_type go to state 1270 + optional_function_type go to state 1266 -State 1169 +State 1166 - 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 - "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 + 831 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" . expr_list ')' ';' make_map_tuple array_comprehension_where '}' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - 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 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + expr_list go to state 1267 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1170 +State 1167 - 387 expr_call: name_in_namespace '(' "uninitialized" make_struct_single ')' . + 389 expr_call: name_in_namespace '(' "uninitialized" make_struct_single ')' . - $default reduce using rule 387 (expr_call) + $default reduce using rule 389 (expr_call) -State 1171 +State 1168 - 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 + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 769 make_struct_fields: "$f" '(' expr . ')' copy_or_move expr + 770 | "$f" '(' expr . ')' ":=" expr "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -36094,72 +36096,72 @@ State 1171 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1272 + ')' shift, and go to state 1268 -State 1172 +State 1169 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 766 make_struct_fields: "name" ":=" expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -36197,72 +36199,72 @@ State 1172 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 762 (make_struct_fields) + $default reduce using rule 766 (make_struct_fields) -State 1173 +State 1170 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 765 make_struct_fields: "name" copy_or_move expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -36300,349 +36302,349 @@ State 1173 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 761 (make_struct_fields) + $default reduce using rule 765 (make_struct_fields) -State 1174 +State 1171 - 362 expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' . ')' + 364 expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' . ')' - ')' shift, and go to state 1273 + ')' shift, and go to state 1269 -State 1175 +State 1172 - 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 ']' + 365 expr_named_call: name_in_namespace '(' expr_list ',' '[' . make_struct_fields ']' ')' + 801 make_dim_decl: '[' . expr_list optional_comma ']' + 829 array_comprehension: '[' . "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' + 830 | '[' . "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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 "for" shift, and go to state 587 - "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 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 "iterator" shift, and go to state 588 - "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 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 "$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 - "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 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 - '*' shift, and go to state 455 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 expr_list go to state 589 - 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 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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_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 - make_table_decl go to state 487 - array_comprehension go to state 488 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_fields go to state 1270 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1176 +State 1173 - 767 make_struct_fields: make_struct_fields ',' "$f" . '(' expr ')' copy_or_move expr - 768 | make_struct_fields ',' "$f" . '(' expr ')' ":=" expr + 771 make_struct_fields: make_struct_fields ',' "$f" . '(' expr ')' copy_or_move expr + 772 | make_struct_fields ',' "$f" . '(' expr ')' ":=" expr - '(' shift, and go to state 1275 + '(' shift, and go to state 1271 -State 1177 +State 1174 - 763 make_struct_fields: make_struct_fields ',' "name" . copy_or_move expr - 764 | make_struct_fields ',' "name" . ":=" expr + 767 make_struct_fields: make_struct_fields ',' "name" . copy_or_move expr + 768 | make_struct_fields ',' "name" . ":=" expr "<-" shift, and go to state 885 - ":=" shift, and go to state 1276 + ":=" shift, and go to state 1272 '=' shift, and go to state 887 - copy_or_move go to state 1277 + copy_or_move go to state 1273 -State 1178 +State 1175 - 326 capture_entry: "<-" . "name" + 328 capture_entry: "<-" . "name" - "name" shift, and go to state 1278 + "name" shift, and go to state 1274 -State 1179 +State 1176 - 327 capture_entry: ":=" . "name" + 329 capture_entry: ":=" . "name" - "name" shift, and go to state 1279 + "name" shift, and go to state 1275 -State 1180 +State 1177 - 328 capture_entry: "name" . '(' "name" ')' + 330 capture_entry: "name" . '(' "name" ')' - '(' shift, and go to state 1280 + '(' shift, and go to state 1276 -State 1181 +State 1178 - 325 capture_entry: '=' . "name" + 327 capture_entry: '=' . "name" - "name" shift, and go to state 1281 + "name" shift, and go to state 1277 -State 1182 +State 1179 - 324 capture_entry: '&' . "name" + 326 capture_entry: '&' . "name" - "name" shift, and go to state 1282 + "name" shift, and go to state 1278 -State 1183 +State 1180 - 329 capture_list: capture_entry . + 331 capture_list: capture_entry . - $default reduce using rule 329 (capture_list) + $default reduce using rule 331 (capture_list) -State 1184 +State 1181 - 330 capture_list: capture_list . ',' capture_entry - 332 optional_capture_list: "capture" '(' capture_list . ')' + 332 capture_list: capture_list . ',' capture_entry + 334 optional_capture_list: "capture" '(' capture_list . ')' - ',' shift, and go to state 1283 - ')' shift, and go to state 1284 + ',' shift, and go to state 1279 + ')' shift, and go to state 1280 -State 1185 +State 1182 - 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 + 335 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 "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 1285 + optional_emit_semis go to state 1281 -State 1186 +State 1183 - 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 + 336 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 + ':' shift, and go to state 387 - $default reduce using rule 134 (optional_function_type) + $default reduce using rule 136 (optional_function_type) - optional_function_type go to state 1286 + optional_function_type go to state 1282 -State 1187 +State 1184 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 450 expr: expr "is" "type" '<' $@27 . type_declaration_no_options '>' $@28 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 1287 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 1283 + type_declaration_no_options_no_dim go to state 267 -State 1188 +State 1185 - 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 . ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 492 | expr "is" "$f" '(' expr . ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -36679,130 +36681,130 @@ State 1188 '%' 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 1284 -State 1189 +State 1186 - 454 expr: expr "as" "type" '<' $@29 . type_declaration '>' $@30 - - "type" shift, and go to state 222 - "array" shift, and go to state 223 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 456 expr: expr "as" "type" '<' $@29 . type_declaration '>' $@30 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 1289 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 + type_declaration go to state 1285 -State 1190 +State 1187 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 490 | expr "as" "$f" '(' expr . ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -36839,88 +36841,88 @@ State 1190 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1290 + ')' shift, and go to state 1286 -State 1191 +State 1188 - 364 expr_method_call: expr "->" "name" '(' ')' . + 366 expr_method_call: expr "->" "name" '(' ')' . - $default reduce using rule 364 (expr_method_call) + $default reduce using rule 366 (expr_method_call) -State 1192 +State 1189 - 317 expr_list: expr_list . ',' expr - 365 expr_method_call: expr "->" "name" '(' expr_list . ')' + 319 expr_list: expr_list . ',' expr + 367 expr_method_call: expr "->" "name" '(' expr_list . ')' - ',' shift, and go to state 1047 - ')' shift, and go to state 1291 + ',' shift, and go to state 1045 + ')' shift, and go to state 1287 -State 1193 +State 1190 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 487 | expr "?." "$f" '(' expr . ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -36957,192 +36959,192 @@ State 1193 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1292 + ')' shift, and go to state 1288 -State 1194 +State 1191 - 459 expr: expr '?' "as" "type" '<' . $@31 type_declaration '>' $@32 + 461 expr: expr '?' "as" "type" '<' . $@31 type_declaration '>' $@32 - $default reduce using rule 457 ($@31) + $default reduce using rule 459 ($@31) - $@31 go to state 1293 + $@31 go to state 1289 -State 1195 +State 1192 - 489 expr_mtag: expr '?' "as" "$f" '(' . 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 + 491 expr_mtag: expr '?' "as" "$f" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1294 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1290 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1196 +State 1193 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 447 | expr '?' expr ':' expr . + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -37179,190 +37181,190 @@ State 1196 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 445 (expr) + $default reduce using rule 447 (expr) -State 1197 +State 1194 - 487 expr_mtag: expr '.' "?." "$f" '(' . 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 + 489 expr_mtag: expr '.' "?." "$f" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1295 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1291 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1198 +State 1195 - 435 expr: expr '.' "?[" expr ']' . + 437 expr: expr '.' "?[" expr ']' . - $default reduce using rule 435 (expr) + $default reduce using rule 437 (expr) -State 1199 +State 1196 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 486 | expr '.' "$f" '(' expr . ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -37399,529 +37401,529 @@ State 1199 '%' 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 1292 -State 1200 +State 1197 - 377 expr_field: expr '.' "name" '(' ')' . + 379 expr_field: expr '.' "name" '(' ')' . - $default reduce using rule 377 (expr_field) + $default reduce using rule 379 (expr_field) -State 1201 +State 1198 - 317 expr_list: expr_list . ',' expr - 378 expr_field: expr '.' "name" '(' expr_list . ')' + 319 expr_list: expr_list . ',' expr + 380 expr_field: expr '.' "name" '(' expr_list . ')' - ',' shift, and go to state 1047 - ')' shift, and go to state 1297 + ',' shift, and go to state 1045 + ')' shift, and go to state 1293 -State 1202 +State 1199 - 486 expr_mtag: expr '.' '.' "$f" '(' . 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 + 488 expr_mtag: expr '.' '.' "$f" '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1298 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1294 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1203 +State 1200 - 433 expr: expr '.' '[' expr ']' . + 435 expr: expr '.' '[' expr ']' . - $default reduce using rule 433 (expr) + $default reduce using rule 435 (expr) -State 1204 +State 1201 - 383 expr_field: expr '.' $@25 error $@26 . + 385 expr_field: expr '.' $@25 error $@26 . - $default reduce using rule 383 (expr_field) + $default reduce using rule 385 (expr_field) -State 1205 +State 1202 - 379 expr_field: expr '.' basic_type_declaration '(' ')' . + 381 expr_field: expr '.' basic_type_declaration '(' ')' . - $default reduce using rule 379 (expr_field) + $default reduce using rule 381 (expr_field) -State 1206 +State 1203 - 317 expr_list: expr_list . ',' expr - 380 expr_field: expr '.' basic_type_declaration '(' expr_list . ')' + 319 expr_list: expr_list . ',' expr + 382 expr_field: expr '.' basic_type_declaration '(' expr_list . ')' - ',' shift, and go to state 1047 - ')' shift, and go to state 1299 + ',' shift, and go to state 1045 + ')' shift, and go to state 1295 -State 1207 +State 1204 - 717 type_declaration_no_options_no_dim: "block" '<' $@59 optional_function_argument_list optional_function_type '>' $@60 . + 721 type_declaration_no_options_no_dim: "block" '<' $@60 optional_function_argument_list optional_function_type '>' $@61 . - $default reduce using rule 717 (type_declaration_no_options_no_dim) + $default reduce using rule 721 (type_declaration_no_options_no_dim) -State 1208 +State 1205 - 724 type_declaration_no_options_no_dim: "function" '<' $@63 optional_function_argument_list optional_function_type '>' $@64 . + 728 type_declaration_no_options_no_dim: "function" '<' $@64 optional_function_argument_list optional_function_type '>' $@65 . - $default reduce using rule 724 (type_declaration_no_options_no_dim) + $default reduce using rule 728 (type_declaration_no_options_no_dim) -State 1209 +State 1206 - 731 type_declaration_no_options_no_dim: "lambda" '<' $@67 optional_function_argument_list optional_function_type '>' $@68 . + 735 type_declaration_no_options_no_dim: "lambda" '<' $@68 optional_function_argument_list optional_function_type '>' $@69 . - $default reduce using rule 731 (type_declaration_no_options_no_dim) + $default reduce using rule 735 (type_declaration_no_options_no_dim) -State 1210 +State 1207 - 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 - "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 + 689 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@49 type_declaration_no_options_list '>' '(' . optional_expr_list ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - - $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 1300 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + $default reduce using rule 260 (optional_expr_list) + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + optional_expr_list go to state 1296 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 expr_list go to state 661 - 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 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1211 +State 1208 - 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 . '|' '#' + 265 type_declaration_no_options_list: type_declaration_no_options_list c_or_s type_declaration . + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 + '|' shift, and go to state 371 - $default reduce using rule 263 (type_declaration_no_options_list) + $default reduce using rule 265 (type_declaration_no_options_list) -State 1212 +State 1209 - 755 bitfield_alias_declaration: "bitfield" $@81 optional_public_or_private_alias "name" optional_emit_commas $@82 '{' $@83 bitfield_alias_bits optional_commas $@84 '}' . + 759 bitfield_alias_declaration: "bitfield" $@82 optional_public_or_private_alias "name" optional_emit_commas $@83 '{' $@84 bitfield_alias_bits optional_commas $@85 '}' . - $default reduce using rule 755 (bitfield_alias_declaration) + $default reduce using rule 759 (bitfield_alias_declaration) -State 1213 +State 1210 - 745 tuple_alias_declaration: "tuple" $@73 optional_public_or_private_alias "name" optional_emit_semis $@74 '{' $@75 tuple_alias_type_list optional_semis $@76 '}' . + 749 tuple_alias_declaration: "tuple" $@74 optional_public_or_private_alias "name" optional_emit_semis $@75 '{' $@76 tuple_alias_type_list optional_semis $@77 '}' . - $default reduce using rule 745 (tuple_alias_declaration) + $default reduce using rule 749 (tuple_alias_declaration) -State 1214 +State 1211 - 750 variant_alias_declaration: "variant" $@77 optional_public_or_private_alias "name" optional_emit_semis $@78 '{' $@79 variant_alias_type_list optional_semis $@80 '}' . + 754 variant_alias_declaration: "variant" $@78 optional_public_or_private_alias "name" optional_emit_semis $@79 '{' $@80 variant_alias_type_list optional_semis $@81 '}' . - $default reduce using rule 750 (variant_alias_declaration) + $default reduce using rule 754 (variant_alias_declaration) -State 1215 +State 1212 - 614 variable_name_with_pos_list: "$i" '(' expr ')' . + 618 variable_name_with_pos_list: "$i" '(' expr ')' . - $default reduce using rule 614 (variable_name_with_pos_list) + $default reduce using rule 618 (variable_name_with_pos_list) -State 1216 +State 1213 - 617 variable_name_with_pos_list: variable_name_with_pos_list ',' "name" "aka" . "name" + 621 variable_name_with_pos_list: variable_name_with_pos_list ',' "name" "aka" . "name" - "name" shift, and go to state 1301 + "name" shift, and go to state 1297 -State 1217 +State 1214 - 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 - "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 + 537 variable_declaration: variable_name_with_pos_list ':' type_declaration copy_or_move . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1302 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1298 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1218 +State 1215 - 286 expression_try_catch: "try" expression_block "recover" expression_block . + 288 expression_try_catch: "try" expression_block "recover" expression_block . - $default reduce using rule 286 (expression_try_catch) + $default reduce using rule 288 (expression_try_catch) -State 1219 +State 1216 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -37962,69 +37964,69 @@ State 1219 $default reduce using rule 91 (expression_with_alias) -State 1220 +State 1217 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -38061,72 +38063,72 @@ State 1220 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1303 + ')' shift, and go to state 1299 -State 1221 +State 1218 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -38163,82 +38165,82 @@ State 1221 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1304 + ')' shift, and go to state 1300 -State 1222 +State 1219 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" + 620 variable_name_with_pos_list: variable_name_with_pos_list . ',' "name" + 621 | variable_name_with_pos_list . ',' "name" "aka" "name" - "in" shift, and go to state 1305 + "in" shift, and go to state 1301 ',' shift, and go to state 886 -State 1223 +State 1220 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -38275,72 +38277,72 @@ State 1223 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1306 + ')' shift, and go to state 1302 -State 1224 +State 1221 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -38377,111 +38379,111 @@ State 1224 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1307 + ')' shift, and go to state 1303 -State 1225 +State 1222 - 231 expression_block_finally: "finally" $@7 . '{' expressions $@8 '}' + 233 expression_block_finally: "finally" $@7 . '{' expressions $@8 '}' - '{' shift, and go to state 1308 + '{' shift, and go to state 1304 -State 1226 +State 1223 - 294 tuple_expansion: "name" . + 296 tuple_expansion: "name" . - $default reduce using rule 294 (tuple_expansion) + $default reduce using rule 296 (tuple_expansion) -State 1227 +State 1224 - 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 + 297 tuple_expansion: tuple_expansion . ',' "name" + 298 tuple_expansion_variable_declaration: '(' tuple_expansion . ')' ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + 299 | '(' tuple_expansion . ')' optional_ref copy_or_move_or_clone expr SEMICOLON - ',' shift, and go to state 1309 - ')' shift, and go to state 1310 + ',' shift, and go to state 1305 + ')' shift, and go to state 1306 -State 1228 +State 1225 - 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 + 302 expression_let: kwd_let optional_in_scope '{' variable_declaration_list . '}' + 552 variable_declaration_list: variable_declaration_list . ';' + 553 | 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 1311 - '}' shift, and go to state 1312 + "$i" shift, and go to state 530 + "name" shift, and go to state 531 + ';' shift, and go to state 1307 + '}' shift, and go to state 1308 - let_variable_name_with_pos_list go to state 533 - let_variable_declaration go to state 1313 + let_variable_name_with_pos_list go to state 532 + let_variable_declaration go to state 1309 -State 1229 +State 1226 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 573 enum_expression: "name" '=' expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -38519,142 +38521,136 @@ State 1229 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 570 (enum_expression) - - -State 1230 - - 575 enum_list: enum_list commas enum_expression . - - $default reduce using rule 575 (enum_list) - + $default reduce using rule 573 (enum_expression) -State 1231 - 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 . '}' +State 1227 - '}' shift, and go to state 1314 + 578 enum_list: enum_list commas enum_expression . + $default reduce using rule 578 (enum_list) -State 1232 - 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 ';' +State 1228 - "const" shift, and go to state 1315 + 600 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 497 (optional_constant) + '}' shift, and go to state 1310 - optional_constant go to state 1316 +State 1229 -State 1233 + 128 annotation_list: annotation_list . ',' annotation_declaration + 132 optional_annotation_list_with_emit_semis: '[' annotation_list . ']' optional_emit_semis - 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 102 + ']' shift, and go to state 1311 - "override" shift, and go to state 1234 - "sealed" shift, and go to state 1235 - $default reduce using rule 494 (optional_override) +State 1230 - optional_override go to state 1317 + 512 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" . optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header SEMICOLON + 514 | struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" . optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header optional_emit_semis expression_block + "public" shift, and go to state 1312 + "private" shift, and go to state 1313 -State 1234 + $default reduce using rule 501 (optional_public_or_private_member_variable) - 495 optional_override: "override" . + optional_public_or_private_member_variable go to state 1314 - $default reduce using rule 495 (optional_override) +State 1231 -State 1235 + 506 structure_variable_declaration: optional_field_annotation . optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration - 496 optional_override: "sealed" . + "static" shift, and go to state 1315 - $default reduce using rule 496 (optional_override) + $default reduce using rule 504 (optional_static_member_variable) + optional_static_member_variable go to state 1316 -State 1236 - 504 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override . optional_public_or_private_member_variable variable_declaration +State 1232 - "public" shift, and go to state 1120 - "private" shift, and go to state 1121 + 510 struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration . SEMICOLON - $default reduce using rule 499 (optional_public_or_private_member_variable) + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 - optional_public_or_private_member_variable go to state 1318 + SEMICOLON go to state 1317 -State 1237 +State 1233 - 545 let_variable_name_with_pos_list: let_variable_name_with_pos_list ',' "name" "aka" "name" . + 548 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) + $default reduce using rule 548 (let_variable_name_with_pos_list) -State 1238 +State 1234 - 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 + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 555 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 @@ -38694,1504 +38690,1504 @@ State 1238 '[' shift, and go to state 637 ';' shift, and go to state 691 - SEMICOLON go to state 1319 + SEMICOLON go to state 1318 -State 1239 +State 1235 - 553 let_variable_declaration: let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr SEMICOLON . + 556 let_variable_declaration: let_variable_name_with_pos_list optional_ref copy_or_move_or_clone expr SEMICOLON . - $default reduce using rule 553 (let_variable_declaration) + $default reduce using rule 556 (let_variable_declaration) -State 1240 +State 1236 - 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 . '(' use_initializer optional_make_struct_dim_decl ')' + 785 make_struct_decl: "struct" '<' $@86 type_declaration_no_options '>' $@87 . '(' use_initializer optional_make_struct_dim_decl ')' - '(' shift, and go to state 1320 + '(' shift, and go to state 1319 -State 1241 +State 1237 - 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 . '(' use_initializer optional_make_struct_dim_decl ')' + 788 make_struct_decl: "class" '<' $@88 type_declaration_no_options '>' $@89 . '(' use_initializer optional_make_struct_dim_decl ')' - '(' shift, and go to state 1321 + '(' shift, and go to state 1320 -State 1242 +State 1238 - 271 new_type_declaration: '<' $@11 type_declaration '>' $@12 . + 273 new_type_declaration: '<' $@11 type_declaration '>' $@12 . - $default reduce using rule 271 (new_type_declaration) + $default reduce using rule 273 (new_type_declaration) -State 1243 +State 1239 - 277 expr_new: "new" new_type_declaration '(' "uninitialized" make_struct_single ')' . + 279 expr_new: "new" new_type_declaration '(' "uninitialized" make_struct_single ')' . - $default reduce using rule 277 (expr_new) + $default reduce using rule 279 (expr_new) -State 1244 +State 1240 - 314 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' . 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 + 316 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1322 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1321 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1245 +State 1241 - 315 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" . '>' '(' expr ')' + 317 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" . '>' '(' expr ')' - '>' shift, and go to state 1323 + '>' shift, and go to state 1322 -State 1246 +State 1242 - 312 expr_type_decl: "type" '<' $@19 type_declaration '>' $@20 . + 314 expr_type_decl: "type" '<' $@19 type_declaration '>' $@20 . - $default reduce using rule 312 (expr_type_decl) + $default reduce using rule 314 (expr_type_decl) -State 1247 +State 1243 - 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' . $@96 '(' use_initializer optional_make_struct_dim_decl ')' + 804 make_dim_decl: "array" "struct" '<' $@96 type_declaration_no_options '>' . $@97 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 799 ($@96) + $default reduce using rule 803 ($@97) - $@96 go to state 1324 + $@97 go to state 1323 -State 1248 +State 1244 - 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' . $@98 '(' use_initializer optional_make_struct_dim_decl ')' + 807 make_dim_decl: "array" "tuple" '<' $@98 type_declaration_no_options '>' . $@99 '(' use_initializer optional_make_struct_dim_decl ')' - $default reduce using rule 802 ($@98) + $default reduce using rule 806 ($@99) - $@98 go to state 1325 + $@99 go to state 1324 -State 1249 +State 1245 - 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' . $@100 '(' make_variant_dim ')' + 810 make_dim_decl: "array" "variant" '<' $@100 type_declaration_no_options '>' . $@101 '(' make_variant_dim ')' - $default reduce using rule 805 ($@100) + $default reduce using rule 809 ($@101) - $@100 go to state 1326 + $@101 go to state 1325 -State 1250 +State 1246 - 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 . '(' optional_expr_list ')' + 814 make_dim_decl: "array" '<' $@102 type_declaration_no_options '>' $@103 . '(' optional_expr_list ')' - '(' shift, and go to state 1327 + '(' shift, and go to state 1326 -State 1251 +State 1247 - 819 make_table_decl: "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list . ')' + 823 make_table_decl: "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list . ')' - ')' shift, and go to state 1328 + ')' shift, and go to state 1327 -State 1252 +State 1248 - 261 optional_expr_map_tuple_list: expr_map_tuple_list . optional_comma - 816 expr_map_tuple_list: expr_map_tuple_list . ',' make_map_tuple + 263 optional_expr_map_tuple_list: expr_map_tuple_list . optional_comma + 820 expr_map_tuple_list: expr_map_tuple_list . ',' make_map_tuple ',' shift, and go to state 787 - $default reduce using rule 823 (optional_comma) + $default reduce using rule 827 (optional_comma) - optional_comma go to state 1329 + optional_comma go to state 1328 -State 1253 +State 1249 - 820 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' . '(' optional_expr_map_tuple_list ')' + 824 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 1330 + '(' shift, and go to state 1329 -State 1254 +State 1250 - 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 - "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 + 305 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1331 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1330 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1255 +State 1251 - 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 - "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 + 308 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1332 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1331 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1256 +State 1252 - 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 - "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 + 311 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1333 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1332 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1257 +State 1253 - 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 . '(' expr_list optional_comma ')' + 818 make_dim_decl: "fixed_array" '<' $@104 type_declaration_no_options '>' $@105 . '(' expr_list optional_comma ')' - '(' shift, and go to state 1334 + '(' shift, and go to state 1333 -State 1258 +State 1254 - 790 make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' $@92 . use_initializer + 794 make_struct_decl: "default" '<' $@92 type_declaration_no_options '>' $@93 . use_initializer - "uninitialized" shift, and go to state 1335 + "uninitialized" shift, and go to state 1334 - $default reduce using rule 777 (use_initializer) + $default reduce using rule 781 (use_initializer) - use_initializer go to state 1336 + use_initializer go to state 1335 -State 1259 +State 1255 - 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 . '(' use_initializer optional_make_struct_dim_decl ')' + 800 make_tuple_call: "tuple" '<' $@94 type_declaration_no_options '>' $@95 . '(' use_initializer optional_make_struct_dim_decl ')' - '(' shift, and go to state 1337 + '(' shift, and go to state 1336 -State 1260 +State 1256 - 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 . '(' make_variant_dim ')' + 791 make_struct_decl: "variant" '<' $@90 type_declaration_no_options '>' $@91 . '(' make_variant_dim ')' - '(' shift, and go to state 1338 + '(' shift, and go to state 1337 -State 1261 +State 1257 - 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 - "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 + 475 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' . ')' + 476 | "generator" '<' type_declaration_no_options '>' optional_capture_list '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1339 - '$' 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 1340 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' shift, and go to state 456 + '(' shift, and go to state 457 + ')' shift, and go to state 1338 + '$' shift, and go to state 458 + '@' shift, and go to state 459 + '{' shift, and go to state 460 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1339 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1262 +State 1258 - 475 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list optional_emit_semis . expression_block + 477 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list optional_emit_semis . expression_block - $default reduce using rule 232 ($@9) + $default reduce using rule 234 ($@9) - expression_block go to state 1341 - $@9 go to state 332 + expression_block go to state 1340 + $@9 go to state 330 -State 1263 +State 1259 - 482 expr_mtag: "$c" '(' expr ')' '(' ')' . + 484 expr_mtag: "$c" '(' expr ')' '(' ')' . - $default reduce using rule 482 (expr_mtag) + $default reduce using rule 484 (expr_mtag) -State 1264 +State 1260 - 317 expr_list: expr_list . ',' expr - 483 expr_mtag: "$c" '(' expr ')' '(' expr_list . ')' + 319 expr_list: expr_list . ',' expr + 485 expr_mtag: "$c" '(' expr ')' '(' expr_list . ')' - ',' shift, and go to state 1047 - ')' shift, and go to state 1342 + ',' shift, and go to state 1045 + ')' shift, and go to state 1341 -State 1265 +State 1261 - 317 expr_list: expr_list . ',' expr - 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list . ')' ';' expr array_comprehension_where ']' + 319 expr_list: expr_list . ',' expr + 829 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list . ')' ';' expr array_comprehension_where ']' - ',' shift, and go to state 1047 - ')' shift, and go to state 1343 + ',' shift, and go to state 1045 + ')' shift, and go to state 1342 -State 1266 +State 1262 - 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 - "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 + 830 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" . expr_list ')' ';' expr array_comprehension_where ']' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - 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 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + expr_list go to state 1343 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1267 +State 1263 - 367 func_addr_name: "$i" '(' expr ')' . + 369 func_addr_name: "$i" '(' expr ')' . - $default reduce using rule 367 (func_addr_name) + $default reduce using rule 369 (func_addr_name) -State 1268 +State 1264 - 491 expr_mtag: '@' '@' "$c" '(' expr ')' . + 493 expr_mtag: '@' '@' "$c" '(' expr ')' . - $default reduce using rule 491 (expr_mtag) + $default reduce using rule 493 (expr_mtag) -State 1269 +State 1265 - 371 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' . $@22 func_addr_name + 373 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' . $@22 func_addr_name - $default reduce using rule 370 ($@22) + $default reduce using rule 372 ($@22) - $@22 go to state 1345 + $@22 go to state 1344 -State 1270 +State 1266 - 374 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type . '>' $@24 func_addr_name + 376 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type . '>' $@24 func_addr_name - '>' shift, and go to state 1346 + '>' shift, and go to state 1345 -State 1271 +State 1267 - 317 expr_list: expr_list . ',' expr - 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list . ')' ';' make_map_tuple array_comprehension_where '}' + 319 expr_list: expr_list . ',' expr + 831 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list . ')' ';' make_map_tuple array_comprehension_where '}' - ',' shift, and go to state 1047 - ')' shift, and go to state 1347 + ',' shift, and go to state 1045 + ')' shift, and go to state 1346 -State 1272 +State 1268 - 765 make_struct_fields: "$f" '(' expr ')' . copy_or_move expr - 766 | "$f" '(' expr ')' . ":=" expr + 769 make_struct_fields: "$f" '(' expr ')' . copy_or_move expr + 770 | "$f" '(' expr ')' . ":=" expr "<-" shift, and go to state 885 - ":=" shift, and go to state 1348 + ":=" shift, and go to state 1347 '=' shift, and go to state 887 - copy_or_move go to state 1349 + copy_or_move go to state 1348 -State 1273 +State 1269 - 362 expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' ')' . + 364 expr_named_call: name_in_namespace '(' '[' make_struct_fields ']' ')' . - $default reduce using rule 362 (expr_named_call) + $default reduce using rule 364 (expr_named_call) -State 1274 +State 1270 - 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 + 365 expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields . ']' ')' + 767 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 768 | make_struct_fields . ',' "name" ":=" expr + 771 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 772 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr - ',' shift, and go to state 1018 - ']' shift, and go to state 1350 + ',' shift, and go to state 1016 + ']' shift, and go to state 1349 -State 1275 +State 1271 - 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 - "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 + 771 make_struct_fields: make_struct_fields ',' "$f" '(' . expr ')' copy_or_move expr + 772 | make_struct_fields ',' "$f" '(' . expr ')' ":=" expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1351 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1350 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1276 +State 1272 - 764 make_struct_fields: make_struct_fields ',' "name" ":=" . 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 + 768 make_struct_fields: make_struct_fields ',' "name" ":=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1352 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1351 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1277 +State 1273 - 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 - "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 + 767 make_struct_fields: make_struct_fields ',' "name" copy_or_move . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1353 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1352 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1278 +State 1274 - 326 capture_entry: "<-" "name" . + 328 capture_entry: "<-" "name" . - $default reduce using rule 326 (capture_entry) + $default reduce using rule 328 (capture_entry) -State 1279 +State 1275 - 327 capture_entry: ":=" "name" . + 329 capture_entry: ":=" "name" . - $default reduce using rule 327 (capture_entry) + $default reduce using rule 329 (capture_entry) -State 1280 +State 1276 - 328 capture_entry: "name" '(' . "name" ')' + 330 capture_entry: "name" '(' . "name" ')' - "name" shift, and go to state 1354 + "name" shift, and go to state 1353 -State 1281 +State 1277 - 325 capture_entry: '=' "name" . + 327 capture_entry: '=' "name" . - $default reduce using rule 325 (capture_entry) + $default reduce using rule 327 (capture_entry) -State 1282 +State 1278 - 324 capture_entry: '&' "name" . + 326 capture_entry: '&' "name" . - $default reduce using rule 324 (capture_entry) + $default reduce using rule 326 (capture_entry) -State 1283 +State 1279 - 330 capture_list: capture_list ',' . capture_entry + 332 capture_list: capture_list ',' . capture_entry - "<-" 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 + "<-" shift, and go to state 1175 + ":=" shift, and go to state 1176 + "name" shift, and go to state 1177 + '=' shift, and go to state 1178 + '&' shift, and go to state 1179 - capture_entry go to state 1355 + capture_entry go to state 1354 -State 1284 +State 1280 - 332 optional_capture_list: "capture" '(' capture_list ')' . + 334 optional_capture_list: "capture" '(' capture_list ')' . - $default reduce using rule 332 (optional_capture_list) + $default reduce using rule 334 (optional_capture_list) -State 1285 +State 1281 - 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 + 335 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 1356 + "=>" shift, and go to state 1355 - $default reduce using rule 232 ($@9) + $default reduce using rule 234 ($@9) - expression_block go to state 1357 - $@9 go to state 332 - block_or_simple_block go to state 1358 + expression_block go to state 1356 + $@9 go to state 330 + block_or_simple_block go to state 1357 -State 1286 +State 1282 - 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 + 336 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 "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 1359 + optional_emit_semis go to state 1358 -State 1287 +State 1283 - 448 expr: expr "is" "type" '<' $@27 type_declaration_no_options . '>' $@28 + 450 expr: expr "is" "type" '<' $@27 type_declaration_no_options . '>' $@28 - '>' shift, and go to state 1360 + '>' shift, and go to state 1359 -State 1288 +State 1284 - 490 expr_mtag: expr "is" "$f" '(' expr ')' . + 492 expr_mtag: expr "is" "$f" '(' expr ')' . - $default reduce using rule 490 (expr_mtag) + $default reduce using rule 492 (expr_mtag) -State 1289 +State 1285 - 454 expr: expr "as" "type" '<' $@29 type_declaration . '>' $@30 - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 456 expr: expr "as" "type" '<' $@29 type_declaration . '>' $@30 + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - '|' shift, and go to state 372 - '>' shift, and go to state 1361 + '|' shift, and go to state 371 + '>' shift, and go to state 1360 -State 1290 +State 1286 - 488 expr_mtag: expr "as" "$f" '(' expr ')' . + 490 expr_mtag: expr "as" "$f" '(' expr ')' . - $default reduce using rule 488 (expr_mtag) + $default reduce using rule 490 (expr_mtag) -State 1291 +State 1287 - 365 expr_method_call: expr "->" "name" '(' expr_list ')' . + 367 expr_method_call: expr "->" "name" '(' expr_list ')' . - $default reduce using rule 365 (expr_method_call) + $default reduce using rule 367 (expr_method_call) -State 1292 +State 1288 - 485 expr_mtag: expr "?." "$f" '(' expr ')' . + 487 expr_mtag: expr "?." "$f" '(' expr ')' . - $default reduce using rule 485 (expr_mtag) + $default reduce using rule 487 (expr_mtag) -State 1293 +State 1289 - 459 expr: expr '?' "as" "type" '<' $@31 . type_declaration '>' $@32 - - "type" shift, and go to state 222 - "array" shift, and go to state 223 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 461 expr: expr '?' "as" "type" '<' $@31 . type_declaration '>' $@32 + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 268 - type_declaration_no_options_no_dim go to state 269 - type_declaration go to state 1362 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 266 + type_declaration_no_options_no_dim go to state 267 + type_declaration go to state 1361 -State 1294 +State 1290 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 491 | expr '?' "as" "$f" '(' expr . ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -40228,72 +40224,72 @@ State 1294 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1363 + ')' shift, and go to state 1362 -State 1295 +State 1291 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 489 | expr '.' "?." "$f" '(' expr . ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -40330,86 +40326,86 @@ State 1295 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1364 + ')' shift, and go to state 1363 -State 1296 +State 1292 - 484 expr_mtag: expr '.' "$f" '(' expr ')' . + 486 expr_mtag: expr '.' "$f" '(' expr ')' . - $default reduce using rule 484 (expr_mtag) + $default reduce using rule 486 (expr_mtag) -State 1297 +State 1293 - 378 expr_field: expr '.' "name" '(' expr_list ')' . + 380 expr_field: expr '.' "name" '(' expr_list ')' . - $default reduce using rule 378 (expr_field) + $default reduce using rule 380 (expr_field) -State 1298 +State 1294 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 488 | expr '.' '.' "$f" '(' expr . ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -40446,93 +40442,93 @@ State 1298 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1365 + ')' shift, and go to state 1364 -State 1299 +State 1295 - 380 expr_field: expr '.' basic_type_declaration '(' expr_list ')' . + 382 expr_field: expr '.' basic_type_declaration '(' expr_list ')' . - $default reduce using rule 380 (expr_field) + $default reduce using rule 382 (expr_field) -State 1300 +State 1296 - 685 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list . ')' + 689 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@49 type_declaration_no_options_list '>' '(' optional_expr_list . ')' - ')' shift, and go to state 1366 + ')' shift, and go to state 1365 -State 1301 +State 1297 - 617 variable_name_with_pos_list: variable_name_with_pos_list ',' "name" "aka" "name" . + 621 variable_name_with_pos_list: variable_name_with_pos_list ',' "name" "aka" "name" . - $default reduce using rule 617 (variable_name_with_pos_list) + $default reduce using rule 621 (variable_name_with_pos_list) -State 1302 +State 1298 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 537 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 @@ -40570,21 +40566,21 @@ State 1302 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 534 (variable_declaration) + $default reduce using rule 537 (variable_declaration) -State 1303 +State 1299 83 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' . expression_else_one_liner SEMICOLON - "else" shift, and go to state 1367 + "else" shift, and go to state 1366 $default reduce using rule 70 (expression_else_one_liner) - expression_else_one_liner go to state 1368 + expression_else_one_liner go to state 1367 -State 1304 +State 1300 82 expression_if_then_else: $@2 if_or_static_if '(' expr ')' . optional_emit_semis expression_block expression_else @@ -40593,122 +40589,122 @@ State 1304 $default reduce using rule 63 (optional_emit_semis) emit_semis go to state 172 - optional_emit_semis go to state 1369 + optional_emit_semis go to state 1368 -State 1305 +State 1301 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 - "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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - 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 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + expr_list go to state 1369 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1306 +State 1302 88 expression_while_loop: $@4 "while" '(' expr ')' . optional_emit_semis expression_block @@ -40717,10 +40713,10 @@ State 1306 $default reduce using rule 63 (optional_emit_semis) emit_semis go to state 172 - optional_emit_semis go to state 1371 + optional_emit_semis go to state 1370 -State 1307 +State 1303 90 expression_with: $@5 "with" '(' expr ')' . optional_emit_semis expression_block @@ -40729,196 +40725,223 @@ State 1307 $default reduce using rule 63 (optional_emit_semis) emit_semis go to state 172 - optional_emit_semis go to state 1372 + optional_emit_semis go to state 1371 -State 1308 +State 1304 + + 233 expression_block_finally: "finally" $@7 '{' . expressions $@8 '}' + + $default reduce using rule 257 (expressions) + + expressions go to state 1372 + + +State 1305 + + 297 tuple_expansion: tuple_expansion ',' . "name" + + "name" shift, and go to state 1373 + + +State 1306 + + 298 tuple_expansion_variable_declaration: '(' tuple_expansion ')' . ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + 299 | '(' tuple_expansion ')' . optional_ref copy_or_move_or_clone expr SEMICOLON - 231 expression_block_finally: "finally" $@7 '{' . expressions $@8 '}' + ':' shift, and go to state 1374 + '&' shift, and go to state 407 - $default reduce using rule 255 (expressions) + $default reduce using rule 542 (optional_ref) - expressions go to state 1373 + optional_ref go to state 1375 + + +State 1307 + + 552 variable_declaration_list: variable_declaration_list ';' . + + $default reduce using rule 552 (variable_declaration_list) + + +State 1308 + + 302 expression_let: kwd_let optional_in_scope '{' variable_declaration_list '}' . + + $default reduce using rule 302 (expression_let) State 1309 - 295 tuple_expansion: tuple_expansion ',' . "name" + 553 variable_declaration_list: variable_declaration_list let_variable_declaration . - "name" shift, and go to state 1374 + $default reduce using rule 553 (variable_declaration_list) State 1310 - 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 + 600 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 1375 - '&' shift, and go to state 409 + $default reduce using rule 600 (enum_declaration) - $default reduce using rule 539 (optional_ref) - optional_ref go to state 1376 +State 1311 + 132 optional_annotation_list_with_emit_semis: '[' annotation_list ']' . optional_emit_semis -State 1311 + "emitted ;" shift, and go to state 171 - 549 variable_declaration_list: variable_declaration_list ';' . + $default reduce using rule 63 (optional_emit_semis) - $default reduce using rule 549 (variable_declaration_list) + emit_semis go to state 172 + optional_emit_semis go to state 1376 State 1312 - 300 expression_let: kwd_let optional_in_scope '{' variable_declaration_list '}' . + 502 optional_public_or_private_member_variable: "public" . - $default reduce using rule 300 (expression_let) + $default reduce using rule 502 (optional_public_or_private_member_variable) State 1313 - 550 variable_declaration_list: variable_declaration_list let_variable_declaration . + 503 optional_public_or_private_member_variable: "private" . - $default reduce using rule 550 (variable_declaration_list) + $default reduce using rule 503 (optional_public_or_private_member_variable) State 1314 - 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 '}' . + 512 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable . "abstract" optional_constant $@34 function_declaration_header SEMICOLON + 514 | struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable . optional_static_member_variable optional_override optional_constant $@35 function_declaration_header optional_emit_semis expression_block - $default reduce using rule 597 (enum_declaration) + "abstract" shift, and go to state 1377 + "static" shift, and go to state 1315 + + $default reduce using rule 504 (optional_static_member_variable) + + optional_static_member_variable go to state 1378 State 1315 - 498 optional_constant: "const" . + 505 optional_static_member_variable: "static" . - $default reduce using rule 498 (optional_constant) + $default reduce using rule 505 (optional_static_member_variable) State 1316 - 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 ';' + 506 structure_variable_declaration: optional_field_annotation optional_static_member_variable . optional_override optional_public_or_private_member_variable variable_declaration - $default reduce using rule 508 ($@34) - - $@34 go to state 1377 + "override" shift, and go to state 1379 + "sealed" shift, and go to state 1380 + $default reduce using rule 496 (optional_override) -State 1317 + optional_override go to state 1381 - 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 1315 +State 1317 - $default reduce using rule 497 (optional_constant) + 510 struct_variable_declaration_list: struct_variable_declaration_list $@33 structure_variable_declaration SEMICOLON . - optional_constant go to state 1378 + $default reduce using rule 510 (struct_variable_declaration_list) State 1318 - 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 + 555 let_variable_declaration: let_variable_name_with_pos_list ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON . - variable_declaration go to state 1379 - variable_name_with_pos_list go to state 676 + $default reduce using rule 555 (let_variable_declaration) State 1319 - 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 552 (let_variable_declaration) - + 785 make_struct_decl: "struct" '<' $@86 type_declaration_no_options '>' $@87 '(' . use_initializer optional_make_struct_dim_decl ')' -State 1320 - - 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' . use_initializer optional_make_struct_dim_decl ')' + "uninitialized" shift, and go to state 1334 - "uninitialized" shift, and go to state 1335 + $default reduce using rule 781 (use_initializer) - $default reduce using rule 777 (use_initializer) + use_initializer go to state 1382 - use_initializer go to state 1380 +State 1320 -State 1321 - - 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' . use_initializer optional_make_struct_dim_decl ')' + 788 make_struct_decl: "class" '<' $@88 type_declaration_no_options '>' $@89 '(' . use_initializer optional_make_struct_dim_decl ')' - "uninitialized" shift, and go to state 1335 + "uninitialized" shift, and go to state 1334 - $default reduce using rule 777 (use_initializer) + $default reduce using rule 781 (use_initializer) - use_initializer go to state 1381 + use_initializer go to state 1383 -State 1322 +State 1321 - 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 ')' + 316 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' expr . ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -40955,345 +40978,345 @@ State 1322 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1382 + ')' shift, and go to state 1384 -State 1323 +State 1322 - 315 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' . '(' expr ')' + 317 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' . '(' expr ')' - '(' shift, and go to state 1383 + '(' shift, and go to state 1385 -State 1324 +State 1323 - 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 . '(' use_initializer optional_make_struct_dim_decl ')' + 804 make_dim_decl: "array" "struct" '<' $@96 type_declaration_no_options '>' $@97 . '(' use_initializer optional_make_struct_dim_decl ')' - '(' shift, and go to state 1384 + '(' shift, and go to state 1386 -State 1325 +State 1324 - 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 . '(' use_initializer optional_make_struct_dim_decl ')' + 807 make_dim_decl: "array" "tuple" '<' $@98 type_declaration_no_options '>' $@99 . '(' use_initializer optional_make_struct_dim_decl ')' - '(' shift, and go to state 1385 + '(' shift, and go to state 1387 -State 1326 +State 1325 - 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 . '(' make_variant_dim ')' + 810 make_dim_decl: "array" "variant" '<' $@100 type_declaration_no_options '>' $@101 . '(' make_variant_dim ')' - '(' shift, and go to state 1386 + '(' shift, and go to state 1388 -State 1327 +State 1326 - 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 - "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 + 814 make_dim_decl: "array" '<' $@102 type_declaration_no_options '>' $@103 '(' . optional_expr_list ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - - $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 1387 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + $default reduce using rule 260 (optional_expr_list) + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + optional_expr_list go to state 1389 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 expr_list go to state 661 - 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 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1328 +State 1327 - 819 make_table_decl: "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' . + 823 make_table_decl: "table" '<' type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' . - $default reduce using rule 819 (make_table_decl) + $default reduce using rule 823 (make_table_decl) -State 1329 +State 1328 - 261 optional_expr_map_tuple_list: expr_map_tuple_list optional_comma . + 263 optional_expr_map_tuple_list: expr_map_tuple_list optional_comma . - $default reduce using rule 261 (optional_expr_map_tuple_list) + $default reduce using rule 263 (optional_expr_map_tuple_list) -State 1330 +State 1329 - 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 - "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 + 824 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 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - - $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 1388 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + $default reduce using rule 262 (optional_expr_map_tuple_list) + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + optional_expr_map_tuple_list go to state 1390 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 594 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 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 1252 - make_table_decl go to state 487 - array_comprehension go to state 488 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + expr_map_tuple_list go to state 1248 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1331 +State 1330 - 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 ')' + 305 expr_cast: "cast" '<' $@13 type_declaration_no_options '>' $@14 expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -41317,72 +41340,72 @@ State 1331 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 303 (expr_cast) + $default reduce using rule 305 (expr_cast) -State 1332 +State 1331 - 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 ')' + 308 expr_cast: "upcast" '<' $@15 type_declaration_no_options '>' $@16 expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -41406,72 +41429,72 @@ State 1332 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 306 (expr_cast) + $default reduce using rule 308 (expr_cast) -State 1333 +State 1332 - 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 ')' + 311 expr_cast: "reinterpret" '<' $@17 type_declaration_no_options '>' $@18 expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -41495,227 +41518,227 @@ State 1333 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 309 (expr_cast) + $default reduce using rule 311 (expr_cast) -State 1334 +State 1333 - 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 - "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 + 818 make_dim_decl: "fixed_array" '<' $@104 type_declaration_no_options '>' $@105 '(' . expr_list optional_comma ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - 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 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + expr_list go to state 1391 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 590 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1335 +State 1334 - 778 use_initializer: "uninitialized" . + 782 use_initializer: "uninitialized" . - $default reduce using rule 778 (use_initializer) + $default reduce using rule 782 (use_initializer) -State 1336 +State 1335 - 790 make_struct_decl: "default" '<' $@91 type_declaration_no_options '>' $@92 use_initializer . + 794 make_struct_decl: "default" '<' $@92 type_declaration_no_options '>' $@93 use_initializer . - $default reduce using rule 790 (make_struct_decl) + $default reduce using rule 794 (make_struct_decl) -State 1337 +State 1336 - 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' . use_initializer optional_make_struct_dim_decl ')' + 800 make_tuple_call: "tuple" '<' $@94 type_declaration_no_options '>' $@95 '(' . use_initializer optional_make_struct_dim_decl ')' - "uninitialized" shift, and go to state 1335 + "uninitialized" shift, and go to state 1334 - $default reduce using rule 777 (use_initializer) + $default reduce using rule 781 (use_initializer) - use_initializer go to state 1390 + use_initializer go to state 1392 -State 1338 +State 1337 - 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' . make_variant_dim ')' + 791 make_struct_decl: "variant" '<' $@90 type_declaration_no_options '>' $@91 '(' . make_variant_dim ')' "$f" shift, and go to state 790 - "name" shift, and go to state 1009 + "name" shift, and go to state 1007 - make_struct_fields go to state 1391 - make_variant_dim go to state 1392 + make_struct_fields go to state 1393 + make_variant_dim go to state 1394 -State 1339 +State 1338 - 473 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' ')' . + 475 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' ')' . - $default reduce using rule 473 (expr_generator) + $default reduce using rule 475 (expr_generator) -State 1340 +State 1339 - 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 476 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr . ')' + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -41752,360 +41775,360 @@ State 1340 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1393 + ')' shift, and go to state 1395 -State 1341 +State 1340 - 475 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list optional_emit_semis expression_block . + 477 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list optional_emit_semis expression_block . - $default reduce using rule 475 (expr_generator) + $default reduce using rule 477 (expr_generator) -State 1342 +State 1341 - 483 expr_mtag: "$c" '(' expr ')' '(' expr_list ')' . + 485 expr_mtag: "$c" '(' expr ')' '(' expr_list ')' . - $default reduce using rule 483 (expr_mtag) + $default reduce using rule 485 (expr_mtag) -State 1343 +State 1342 - 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' . ';' expr array_comprehension_where ']' + 829 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' . ';' expr array_comprehension_where ']' - ';' shift, and go to state 1394 + ';' shift, and go to state 1396 -State 1344 +State 1343 - 317 expr_list: expr_list . ',' expr - 826 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list . ')' ';' expr array_comprehension_where ']' + 319 expr_list: expr_list . ',' expr + 830 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list . ')' ';' expr array_comprehension_where ']' - ',' shift, and go to state 1047 - ')' shift, and go to state 1395 + ',' shift, and go to state 1045 + ')' shift, and go to state 1397 -State 1345 +State 1344 - 371 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 . func_addr_name + 373 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 . func_addr_name "::" shift, and go to state 55 "$i" shift, and go to state 780 "name" shift, and go to state 56 name_in_namespace go to state 783 - func_addr_name go to state 1396 + func_addr_name go to state 1398 -State 1346 +State 1345 - 374 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' . $@24 func_addr_name + 376 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' . $@24 func_addr_name - $default reduce using rule 373 ($@24) + $default reduce using rule 375 ($@24) - $@24 go to state 1397 + $@24 go to state 1399 -State 1347 +State 1346 - 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' . ';' make_map_tuple array_comprehension_where '}' + 831 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' . ';' make_map_tuple array_comprehension_where '}' - ';' shift, and go to state 1398 + ';' shift, and go to state 1400 -State 1348 +State 1347 - 766 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 + 770 make_struct_fields: "$f" '(' expr ')' ":=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1399 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1401 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1349 +State 1348 - 765 make_struct_fields: "$f" '(' expr ')' copy_or_move . 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 + 769 make_struct_fields: "$f" '(' expr ')' copy_or_move . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1400 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1402 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1350 +State 1349 - 363 expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' . ')' + 365 expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' . ')' - ')' shift, and go to state 1401 + ')' shift, and go to state 1403 -State 1351 +State 1350 - 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 + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 771 make_struct_fields: make_struct_fields ',' "$f" '(' expr . ')' copy_or_move expr + 772 | make_struct_fields ',' "$f" '(' expr . ')' ":=" expr "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -42142,72 +42165,72 @@ State 1351 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1402 + ')' shift, and go to state 1404 -State 1352 +State 1351 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 768 make_struct_fields: make_struct_fields ',' "name" ":=" expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -42245,72 +42268,72 @@ State 1352 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 764 (make_struct_fields) + $default reduce using rule 768 (make_struct_fields) -State 1353 +State 1352 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 767 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 @@ -42348,495 +42371,495 @@ State 1353 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 763 (make_struct_fields) + $default reduce using rule 767 (make_struct_fields) -State 1354 +State 1353 - 328 capture_entry: "name" '(' "name" . ')' + 330 capture_entry: "name" '(' "name" . ')' - ')' shift, and go to state 1403 + ')' shift, and go to state 1405 -State 1355 +State 1354 - 330 capture_list: capture_list ',' capture_entry . + 332 capture_list: capture_list ',' capture_entry . - $default reduce using rule 330 (capture_list) + $default reduce using rule 332 (capture_list) -State 1356 +State 1355 - 319 block_or_simple_block: "=>" . expr - 320 | "=>" . "<-" 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 1404 + 321 block_or_simple_block: "=>" . expr + 322 | "=>" . "<-" expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 + "<-" shift, and go to state 1406 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1405 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1407 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 + + +State 1356 + + 320 block_or_simple_block: expression_block . + + $default reduce using rule 320 (block_or_simple_block) State 1357 - 318 block_or_simple_block: expression_block . + 335 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 318 (block_or_simple_block) + $default reduce using rule 335 (expr_full_block) State 1358 - 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 . + 336 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 234 ($@9) - $default reduce using rule 333 (expr_full_block) + expression_block go to state 1408 + $@9 go to state 330 State 1359 - 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 + 450 expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' . $@28 - $default reduce using rule 232 ($@9) + $default reduce using rule 449 ($@28) - expression_block go to state 1406 - $@9 go to state 332 + $@28 go to state 1409 State 1360 - 448 expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' . $@28 + 456 expr: expr "as" "type" '<' $@29 type_declaration '>' . $@30 - $default reduce using rule 447 ($@28) + $default reduce using rule 455 ($@30) - $@28 go to state 1407 + $@30 go to state 1410 State 1361 - 454 expr: expr "as" "type" '<' $@29 type_declaration '>' . $@30 + 461 expr: expr '?' "as" "type" '<' $@31 type_declaration . '>' $@32 + 743 type_declaration: type_declaration . '|' type_declaration_no_options + 744 | type_declaration . '|' '#' - $default reduce using rule 453 ($@30) - - $@30 go to state 1408 + '|' shift, and go to state 371 + '>' shift, and go to state 1411 State 1362 - 459 expr: expr '?' "as" "type" '<' $@31 type_declaration . '>' $@32 - 739 type_declaration: type_declaration . '|' type_declaration_no_options - 740 | type_declaration . '|' '#' + 491 expr_mtag: expr '?' "as" "$f" '(' expr ')' . - '|' shift, and go to state 372 - '>' shift, and go to state 1409 + $default reduce using rule 491 (expr_mtag) State 1363 - 489 expr_mtag: expr '?' "as" "$f" '(' expr ')' . + 489 expr_mtag: expr '.' "?." "$f" '(' expr ')' . $default reduce using rule 489 (expr_mtag) State 1364 - 487 expr_mtag: expr '.' "?." "$f" '(' expr ')' . + 488 expr_mtag: expr '.' '.' "$f" '(' expr ')' . - $default reduce using rule 487 (expr_mtag) + $default reduce using rule 488 (expr_mtag) State 1365 - 486 expr_mtag: expr '.' '.' "$f" '(' expr ')' . + 689 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@49 type_declaration_no_options_list '>' '(' optional_expr_list ')' . - $default reduce using rule 486 (expr_mtag) + $default reduce using rule 689 (type_declaration_no_options_no_dim) State 1366 - 685 type_declaration_no_options_no_dim: '$' name_in_namespace '<' $@48 type_declaration_no_options_list '>' '(' optional_expr_list ')' . - - $default reduce using rule 685 (type_declaration_no_options_no_dim) - - -State 1367 - 71 expression_else_one_liner: "else" . expression_if_one_liner - "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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 "return" shift, and go to state 679 - "null" shift, and go to state 422 + "null" shift, and go to state 420 "break" shift, and go to state 680 - "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 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 "continue" shift, and go to state 684 - "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 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 "yield" shift, and go to state 689 - "++" shift, and go to state 436 - "--" shift, and go to state 437 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 - 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 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 - 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 1415 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expression_if_one_liner go to state 1412 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expression_break go to state 1413 + expression_continue go to state 1414 + expression_return go to state 1415 + expression_yield go to state 1416 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1417 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1368 +State 1367 83 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' expression_else_one_liner . SEMICOLON "emitted ;" shift, and go to state 690 ';' shift, and go to state 691 - SEMICOLON go to state 1416 + SEMICOLON go to state 1418 -State 1369 +State 1368 82 expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_emit_semis . expression_block expression_else - $default reduce using rule 232 ($@9) + $default reduce using rule 234 ($@9) - expression_block go to state 1417 - $@9 go to state 332 + expression_block go to state 1419 + $@9 go to state 330 -State 1370 +State 1369 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 + 319 expr_list: expr_list . ',' expr - ',' shift, and go to state 1047 - ')' shift, and go to state 1418 + ',' shift, and go to state 1045 + ')' shift, and go to state 1420 -State 1371 +State 1370 88 expression_while_loop: $@4 "while" '(' expr ')' optional_emit_semis . expression_block - $default reduce using rule 232 ($@9) + $default reduce using rule 234 ($@9) - expression_block go to state 1419 - $@9 go to state 332 + expression_block go to state 1421 + $@9 go to state 330 -State 1372 +State 1371 90 expression_with: $@5 "with" '(' expr ')' optional_emit_semis . expression_block - $default reduce using rule 232 ($@9) + $default reduce using rule 234 ($@9) - expression_block go to state 1420 - $@9 go to state 332 + expression_block go to state 1422 + $@9 go to state 330 -State 1373 +State 1372 - 231 expression_block_finally: "finally" $@7 '{' expressions . $@8 '}' - 256 expressions: expressions . expression_any - 257 | expressions . error + 233 expression_block_finally: "finally" $@7 '{' expressions . $@8 '}' + 258 expressions: expressions . expression_any + 259 | expressions . error error shift, and go to state 678 - "struct" shift, and go to state 414 - "class" shift, and go to state 415 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 "let" shift, and go to state 3 - "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 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 "return" shift, and go to state 679 - "null" shift, and go to state 422 + "null" shift, and go to state 420 "break" shift, and go to state 680 "try" shift, and go to state 681 - "table" shift, and go to state 423 + "table" shift, and go to state 421 "delete" shift, and go to state 682 - "deref" shift, and go to state 424 + "deref" shift, and go to state 422 "assume" shift, and go to state 683 - "cast" shift, and go to state 425 - "upcast" shift, and go to state 426 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 "var" shift, and go to state 8 - "addr" shift, and go to state 427 + "addr" shift, and go to state 425 "continue" shift, and go to state 684 "pass" shift, and go to state 685 - "reinterpret" shift, and go to state 428 + "reinterpret" shift, and go to state 426 "label" shift, and go to state 686 "goto" shift, and go to state 687 "unsafe" shift, and go to state 688 - "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 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 "yield" shift, and go to state 689 - "++" shift, and go to state 436 - "--" shift, and go to state 437 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 - '*' shift, and go to state 455 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 454 + '!' shift, and go to state 455 + '[' 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 691 - '{' shift, and go to state 462 + '{' shift, and go to state 460 "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) + '}' reduce using rule 232 ($@8) SEMICOLON go to state 692 - string_builder go to state 463 - expr_reader go to state 464 + string_builder go to state 461 + expr_reader go to state 462 expression_label go to state 693 expression_goto go to state 694 expression_if_one_liner go to state 695 @@ -42851,12 +42874,12 @@ State 1373 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 + $@8 go to state 1423 + expr_call_pipe go to state 463 expression_any go to state 708 - name_in_namespace go to state 466 + name_in_namespace go to state 464 expression_delete go to state 709 - expr_new go to state 467 + expr_new go to state 465 expression_break go to state 710 expression_continue go to state 711 expression_return go to state 712 @@ -42864,723 +42887,725 @@ State 1373 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_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 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_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 718 - 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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1374 +State 1373 - 295 tuple_expansion: tuple_expansion ',' "name" . + 297 tuple_expansion: tuple_expansion ',' "name" . - $default reduce using rule 295 (tuple_expansion) + $default reduce using rule 297 (tuple_expansion) -State 1375 +State 1374 - 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 - "table" shift, and go to state 224 - "typedecl" shift, and go to state 225 - "iterator" shift, and go to state 226 - "smart_ptr" shift, and go to state 227 - "bool" shift, and go to state 228 - "void" shift, and go to state 229 - "string" shift, and go to state 230 - "auto" shift, and go to state 231 - "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 237 - "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 - "block" shift, and go to state 249 - "int64" shift, and go to state 250 - "uint64" shift, and go to state 251 - "double" shift, and go to state 252 - "function" shift, and go to state 253 - "lambda" shift, and go to state 254 - "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 259 - "variant" shift, and go to state 260 + 298 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' . type_declaration_no_options copy_or_move_or_clone expr SEMICOLON + + "type" shift, and go to state 220 + "array" shift, and go to state 221 + "table" shift, and go to state 222 + "typedecl" shift, and go to state 223 + "iterator" shift, and go to state 224 + "smart_ptr" shift, and go to state 225 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "auto" shift, and go to state 229 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 235 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "block" shift, and go to state 247 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "function" shift, and go to state 251 + "lambda" shift, and go to state 252 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 257 + "variant" shift, and go to state 258 "::" shift, and go to state 55 - "$t" shift, and go to state 261 + "$t" shift, and go to state 259 "name" shift, and go to state 56 - '$' shift, and go to state 262 + '$' shift, and go to state 260 - name_in_namespace go to state 263 - basic_type_declaration go to state 264 - 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 1422 - type_declaration_no_options_no_dim go to state 269 + name_in_namespace go to state 261 + basic_type_declaration go to state 262 + structure_type_declaration go to state 263 + auto_type_declaration go to state 264 + bitfield_type_declaration go to state 265 + type_declaration_no_options go to state 1424 + type_declaration_no_options_no_dim go to state 267 -State 1376 +State 1375 - 297 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref . copy_or_move_or_clone expr SEMICOLON + 299 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 1423 + copy_or_move_or_clone go to state 1425 + + +State 1376 + + 132 optional_annotation_list_with_emit_semis: '[' annotation_list ']' optional_emit_semis . + + $default reduce using rule 132 (optional_annotation_list_with_emit_semis) State 1377 - 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 ';' + 512 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable "abstract" . optional_constant $@34 function_declaration_header SEMICOLON - "operator" shift, and go to state 177 - "bool" shift, and go to state 178 - "string" shift, and go to state 179 - "int" shift, and go to state 180 - "int2" shift, and go to state 181 - "int3" shift, and go to state 182 - "int4" shift, and go to state 183 - "uint" shift, and go to state 184 - "uint2" shift, and go to state 185 - "uint3" shift, and go to state 186 - "uint4" shift, and go to state 187 - "float" shift, and go to state 188 - "float2" shift, and go to state 189 - "float3" shift, and go to state 190 - "float4" shift, and go to state 191 - "range" shift, and go to state 192 - "urange" shift, and go to state 193 - "range64" shift, and go to state 194 - "urange64" shift, and go to state 195 - "int64" shift, and go to state 196 - "uint64" shift, and go to state 197 - "double" shift, and go to state 198 - "int8" shift, and go to state 199 - "uint8" shift, and go to state 200 - "int16" shift, and go to state 201 - "uint16" shift, and go to state 202 - "++" shift, and go to state 203 - "--" shift, and go to state 204 - "name" shift, and go to state 205 + "const" shift, and go to state 1426 - function_name go to state 206 - function_declaration_header go to state 1424 + $default reduce using rule 499 (optional_constant) + + optional_constant go to state 1427 State 1378 - 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 + 514 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable optional_static_member_variable . optional_override optional_constant $@35 function_declaration_header optional_emit_semis expression_block - $default reduce using rule 510 ($@35) + "override" shift, and go to state 1379 + "sealed" shift, and go to state 1380 + + $default reduce using rule 496 (optional_override) - $@35 go to state 1425 + optional_override go to state 1428 State 1379 - 504 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration . + 497 optional_override: "override" . - $default reduce using rule 504 (structure_variable_declaration) + $default reduce using rule 497 (optional_override) State 1380 - 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer . optional_make_struct_dim_decl ')' + 498 optional_override: "sealed" . + + $default reduce using rule 498 (optional_override) + + +State 1381 + + 506 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override . optional_public_or_private_member_variable variable_declaration + + "public" shift, and go to state 1312 + "private" shift, and go to state 1313 + + $default reduce using rule 501 (optional_public_or_private_member_variable) + + optional_public_or_private_member_variable go to state 1429 + + +State 1382 + + 785 make_struct_decl: "struct" '<' $@86 type_declaration_no_options '>' $@87 '(' use_initializer . optional_make_struct_dim_decl ')' "$f" shift, and go to state 790 - "name" shift, and go to state 1009 - '(' shift, and go to state 1426 + "name" shift, and go to state 1007 + '(' shift, and go to state 1430 - $default reduce using rule 776 (optional_make_struct_dim_decl) + $default reduce using rule 780 (optional_make_struct_dim_decl) - 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 + make_struct_fields go to state 1431 + make_struct_dim_list go to state 1432 + make_struct_dim_decl go to state 1433 + optional_make_struct_dim_decl go to state 1434 -State 1381 +State 1383 - 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer . optional_make_struct_dim_decl ')' + 788 make_struct_decl: "class" '<' $@88 type_declaration_no_options '>' $@89 '(' use_initializer . optional_make_struct_dim_decl ')' "$f" shift, and go to state 790 - "name" shift, and go to state 1009 - '(' shift, and go to state 1426 + "name" shift, and go to state 1007 + '(' shift, and go to state 1430 - $default reduce using rule 776 (optional_make_struct_dim_decl) + $default reduce using rule 780 (optional_make_struct_dim_decl) - 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 + make_struct_fields go to state 1431 + make_struct_dim_list go to state 1432 + make_struct_dim_decl go to state 1433 + optional_make_struct_dim_decl go to state 1435 -State 1382 +State 1384 - 314 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' expr ')' . + 316 expr_type_info: "typeinfo" name_in_namespace '<' "name" '>' '(' expr ')' . - $default reduce using rule 314 (expr_type_info) + $default reduce using rule 316 (expr_type_info) -State 1383 +State 1385 - 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 - "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 + 317 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' . expr ')' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1432 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1436 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1384 +State 1386 - 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' . use_initializer optional_make_struct_dim_decl ')' + 804 make_dim_decl: "array" "struct" '<' $@96 type_declaration_no_options '>' $@97 '(' . use_initializer optional_make_struct_dim_decl ')' - "uninitialized" shift, and go to state 1335 + "uninitialized" shift, and go to state 1334 - $default reduce using rule 777 (use_initializer) + $default reduce using rule 781 (use_initializer) - use_initializer go to state 1433 + use_initializer go to state 1437 -State 1385 +State 1387 - 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' . use_initializer optional_make_struct_dim_decl ')' + 807 make_dim_decl: "array" "tuple" '<' $@98 type_declaration_no_options '>' $@99 '(' . use_initializer optional_make_struct_dim_decl ')' - "uninitialized" shift, and go to state 1335 + "uninitialized" shift, and go to state 1334 - $default reduce using rule 777 (use_initializer) + $default reduce using rule 781 (use_initializer) - use_initializer go to state 1434 + use_initializer go to state 1438 -State 1386 +State 1388 - 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' . make_variant_dim ')' + 810 make_dim_decl: "array" "variant" '<' $@100 type_declaration_no_options '>' $@101 '(' . make_variant_dim ')' "$f" shift, and go to state 790 - "name" shift, and go to state 1009 + "name" shift, and go to state 1007 - make_struct_fields go to state 1391 - make_variant_dim go to state 1435 + make_struct_fields go to state 1393 + make_variant_dim go to state 1439 -State 1387 +State 1389 - 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list . ')' + 814 make_dim_decl: "array" '<' $@102 type_declaration_no_options '>' $@103 '(' optional_expr_list . ')' - ')' shift, and go to state 1436 + ')' shift, and go to state 1440 -State 1388 +State 1390 - 820 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list . ')' + 824 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 1437 + ')' shift, and go to state 1441 -State 1389 +State 1391 - 317 expr_list: expr_list . ',' expr - 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list . optional_comma ')' + 319 expr_list: expr_list . ',' expr + 818 make_dim_decl: "fixed_array" '<' $@104 type_declaration_no_options '>' $@105 '(' expr_list . optional_comma ')' ',' shift, and go to state 777 - $default reduce using rule 823 (optional_comma) + $default reduce using rule 827 (optional_comma) - optional_comma go to state 1438 + optional_comma go to state 1442 -State 1390 +State 1392 - 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer . optional_make_struct_dim_decl ')' + 800 make_tuple_call: "tuple" '<' $@94 type_declaration_no_options '>' $@95 '(' use_initializer . optional_make_struct_dim_decl ')' "$f" shift, and go to state 790 - "name" shift, and go to state 1009 - '(' shift, and go to state 1426 + "name" shift, and go to state 1007 + '(' shift, and go to state 1430 - $default reduce using rule 776 (optional_make_struct_dim_decl) + $default reduce using rule 780 (optional_make_struct_dim_decl) - 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 + make_struct_fields go to state 1431 + make_struct_dim_list go to state 1432 + make_struct_dim_decl go to state 1433 + optional_make_struct_dim_decl go to state 1443 -State 1391 +State 1393 - 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 . + 767 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 768 | make_struct_fields . ',' "name" ":=" expr + 771 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 772 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr + 773 make_variant_dim: make_struct_fields . - ',' shift, and go to state 1018 + ',' shift, and go to state 1016 - $default reduce using rule 769 (make_variant_dim) + $default reduce using rule 773 (make_variant_dim) -State 1392 +State 1394 - 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim . ')' + 791 make_struct_decl: "variant" '<' $@90 type_declaration_no_options '>' $@91 '(' make_variant_dim . ')' - ')' shift, and go to state 1440 + ')' shift, and go to state 1444 -State 1393 +State 1395 - 474 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' . + 476 expr_generator: "generator" '<' type_declaration_no_options '>' optional_capture_list '(' expr ')' . - $default reduce using rule 474 (expr_generator) + $default reduce using rule 476 (expr_generator) -State 1394 +State 1396 - 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 - "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 + 829 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' . expr array_comprehension_where ']' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1441 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1445 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1395 +State 1397 - 826 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' . ';' expr array_comprehension_where ']' + 830 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' . ';' expr array_comprehension_where ']' - ';' shift, and go to state 1442 + ';' shift, and go to state 1446 -State 1396 +State 1398 - 371 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name . + 373 func_addr_expr: '@' '@' '<' $@21 type_declaration_no_options '>' $@22 func_addr_name . - $default reduce using rule 371 (func_addr_expr) + $default reduce using rule 373 (func_addr_expr) -State 1397 +State 1399 - 374 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 . func_addr_name + 376 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 780 "name" shift, and go to state 56 name_in_namespace go to state 783 - func_addr_name go to state 1443 + func_addr_name go to state 1447 -State 1398 +State 1400 - 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 - "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 + 831 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' . make_map_tuple array_comprehension_where '}' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 expr go to state 594 - 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_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 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_map_tuple go to state 1448 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1399 +State 1401 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 770 make_struct_fields: "$f" '(' expr ')' ":=" expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -43618,72 +43643,72 @@ State 1399 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 766 (make_struct_fields) + $default reduce using rule 770 (make_struct_fields) -State 1400 +State 1402 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 769 make_struct_fields: "$f" '(' expr ')' copy_or_move expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -43721,209 +43746,209 @@ State 1400 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 765 (make_struct_fields) + $default reduce using rule 769 (make_struct_fields) -State 1401 +State 1403 - 363 expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' ')' . + 365 expr_named_call: name_in_namespace '(' expr_list ',' '[' make_struct_fields ']' ')' . - $default reduce using rule 363 (expr_named_call) + $default reduce using rule 365 (expr_named_call) -State 1402 +State 1404 - 767 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' . copy_or_move expr - 768 | make_struct_fields ',' "$f" '(' expr ')' . ":=" expr + 771 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' . copy_or_move expr + 772 | make_struct_fields ',' "$f" '(' expr ')' . ":=" expr "<-" shift, and go to state 885 - ":=" shift, and go to state 1445 + ":=" shift, and go to state 1449 '=' shift, and go to state 887 - copy_or_move go to state 1446 + copy_or_move go to state 1450 -State 1403 +State 1405 - 328 capture_entry: "name" '(' "name" ')' . + 330 capture_entry: "name" '(' "name" ')' . - $default reduce using rule 328 (capture_entry) + $default reduce using rule 330 (capture_entry) -State 1404 +State 1406 - 320 block_or_simple_block: "=>" "<-" . 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 + 322 block_or_simple_block: "=>" "<-" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1447 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1451 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1405 +State 1407 - 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 ')' + 321 block_or_simple_block: "=>" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -43962,137 +43987,137 @@ State 1405 ".." error (nonassociative) - $default reduce using rule 319 (block_or_simple_block) + $default reduce using rule 321 (block_or_simple_block) -State 1406 +State 1408 - 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 . + 336 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 334 (expr_full_block_assumed_piped) + $default reduce using rule 336 (expr_full_block_assumed_piped) -State 1407 +State 1409 - 448 expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' $@28 . + 450 expr: expr "is" "type" '<' $@27 type_declaration_no_options '>' $@28 . - $default reduce using rule 448 (expr) + $default reduce using rule 450 (expr) -State 1408 +State 1410 - 454 expr: expr "as" "type" '<' $@29 type_declaration '>' $@30 . + 456 expr: expr "as" "type" '<' $@29 type_declaration '>' $@30 . - $default reduce using rule 454 (expr) + $default reduce using rule 456 (expr) -State 1409 +State 1411 - 459 expr: expr '?' "as" "type" '<' $@31 type_declaration '>' . $@32 + 461 expr: expr '?' "as" "type" '<' $@31 type_declaration '>' . $@32 - $default reduce using rule 458 ($@32) + $default reduce using rule 460 ($@32) - $@32 go to state 1448 + $@32 go to state 1452 -State 1410 +State 1412 71 expression_else_one_liner: "else" expression_if_one_liner . $default reduce using rule 71 (expression_else_one_liner) -State 1411 +State 1413 75 expression_if_one_liner: expression_break . $default reduce using rule 75 (expression_if_one_liner) -State 1412 +State 1414 76 expression_if_one_liner: expression_continue . $default reduce using rule 76 (expression_if_one_liner) -State 1413 +State 1415 73 expression_if_one_liner: expression_return . $default reduce using rule 73 (expression_if_one_liner) -State 1414 +State 1416 74 expression_if_one_liner: expression_yield . $default reduce using rule 74 (expression_if_one_liner) -State 1415 +State 1417 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -44133,28 +44158,28 @@ State 1415 $default reduce using rule 72 (expression_if_one_liner) -State 1416 +State 1418 83 expression_if_then_else_oneliner: expression_if_one_liner "if" '(' expr ')' expression_else_one_liner SEMICOLON . $default reduce using rule 83 (expression_if_then_else_oneliner) -State 1417 +State 1419 82 expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_emit_semis expression_block . expression_else - "else" shift, and go to state 1449 - "elif" shift, and go to state 1450 - "static_elif" shift, and go to state 1451 + "else" shift, and go to state 1453 + "elif" shift, and go to state 1454 + "static_elif" shift, and go to state 1455 $default reduce using rule 65 (expression_else) - elif_or_static_elif go to state 1452 - expression_else go to state 1453 + elif_or_static_elif go to state 1456 + expression_else go to state 1457 -State 1418 +State 1420 85 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list ')' . optional_emit_semis expression_block @@ -44163,316 +44188,309 @@ State 1418 $default reduce using rule 63 (optional_emit_semis) emit_semis go to state 172 - optional_emit_semis go to state 1454 + optional_emit_semis go to state 1458 -State 1419 +State 1421 88 expression_while_loop: $@4 "while" '(' expr ')' optional_emit_semis expression_block . $default reduce using rule 88 (expression_while_loop) -State 1420 +State 1422 90 expression_with: $@5 "with" '(' expr ')' optional_emit_semis expression_block . $default reduce using rule 90 (expression_with) -State 1421 +State 1423 - 231 expression_block_finally: "finally" $@7 '{' expressions $@8 . '}' + 233 expression_block_finally: "finally" $@7 '{' expressions $@8 . '}' - '}' shift, and go to state 1455 + '}' shift, and go to state 1459 -State 1422 +State 1424 - 296 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options . copy_or_move_or_clone expr SEMICOLON + 298 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 1456 + copy_or_move_or_clone go to state 1460 -State 1423 +State 1425 - 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 - "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 + 299 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone . expr SEMICOLON + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1457 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1461 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1424 +State 1426 - 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 . ';' + 500 optional_constant: "const" . - ';' shift, and go to state 1458 + $default reduce using rule 500 (optional_constant) -State 1425 +State 1427 - 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 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable "abstract" optional_constant . $@34 function_declaration_header SEMICOLON - "operator" shift, and go to state 177 - "bool" shift, and go to state 178 - "string" shift, and go to state 179 - "int" shift, and go to state 180 - "int2" shift, and go to state 181 - "int3" shift, and go to state 182 - "int4" shift, and go to state 183 - "uint" shift, and go to state 184 - "uint2" shift, and go to state 185 - "uint3" shift, and go to state 186 - "uint4" shift, and go to state 187 - "float" shift, and go to state 188 - "float2" shift, and go to state 189 - "float3" shift, and go to state 190 - "float4" shift, and go to state 191 - "range" shift, and go to state 192 - "urange" shift, and go to state 193 - "range64" shift, and go to state 194 - "urange64" shift, and go to state 195 - "int64" shift, and go to state 196 - "uint64" shift, and go to state 197 - "double" shift, and go to state 198 - "int8" shift, and go to state 199 - "uint8" shift, and go to state 200 - "int16" shift, and go to state 201 - "uint16" shift, and go to state 202 - "++" shift, and go to state 203 - "--" shift, and go to state 204 - "name" shift, and go to state 205 + $default reduce using rule 511 ($@34) - function_name go to state 206 - function_declaration_header go to state 1459 + $@34 go to state 1462 -State 1426 +State 1428 + + 514 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable optional_static_member_variable optional_override . optional_constant $@35 function_declaration_header optional_emit_semis expression_block - 771 make_struct_dim_list: '(' . make_struct_fields ')' + "const" shift, and go to state 1426 + + $default reduce using rule 499 (optional_constant) + + optional_constant go to state 1463 + + +State 1429 + + 506 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 1464 + variable_name_with_pos_list go to state 676 + + +State 1430 + + 775 make_struct_dim_list: '(' . make_struct_fields ')' "$f" shift, and go to state 790 - "name" shift, and go to state 1009 + "name" shift, and go to state 1007 - make_struct_fields go to state 1460 + make_struct_fields go to state 1465 -State 1427 +State 1431 - 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 . + 767 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 768 | make_struct_fields . ',' "name" ":=" expr + 771 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 772 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr + 777 make_struct_dim_decl: make_struct_fields . - ',' shift, and go to state 1018 + ',' shift, and go to state 1016 - $default reduce using rule 773 (make_struct_dim_decl) + $default reduce using rule 777 (make_struct_dim_decl) -State 1428 +State 1432 - 772 make_struct_dim_list: make_struct_dim_list . ',' '(' make_struct_fields ')' - 774 make_struct_dim_decl: make_struct_dim_list . optional_comma + 776 make_struct_dim_list: make_struct_dim_list . ',' '(' make_struct_fields ')' + 778 make_struct_dim_decl: make_struct_dim_list . optional_comma - ',' shift, and go to state 1461 + ',' shift, and go to state 1466 - $default reduce using rule 823 (optional_comma) + $default reduce using rule 827 (optional_comma) - optional_comma go to state 1462 + optional_comma go to state 1467 -State 1429 +State 1433 - 775 optional_make_struct_dim_decl: make_struct_dim_decl . + 779 optional_make_struct_dim_decl: make_struct_dim_decl . - $default reduce using rule 775 (optional_make_struct_dim_decl) + $default reduce using rule 779 (optional_make_struct_dim_decl) -State 1430 +State 1434 - 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl . ')' + 785 make_struct_decl: "struct" '<' $@86 type_declaration_no_options '>' $@87 '(' use_initializer optional_make_struct_dim_decl . ')' - ')' shift, and go to state 1463 + ')' shift, and go to state 1468 -State 1431 +State 1435 - 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl . ')' + 788 make_struct_decl: "class" '<' $@88 type_declaration_no_options '>' $@89 '(' use_initializer optional_make_struct_dim_decl . ')' - ')' shift, and go to state 1464 + ')' shift, and go to state 1469 -State 1432 +State 1436 - 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 ')' + 317 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr . ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -44509,146 +44527,146 @@ State 1432 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1465 + ')' shift, and go to state 1470 -State 1433 +State 1437 - 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer . optional_make_struct_dim_decl ')' + 804 make_dim_decl: "array" "struct" '<' $@96 type_declaration_no_options '>' $@97 '(' use_initializer . optional_make_struct_dim_decl ')' "$f" shift, and go to state 790 - "name" shift, and go to state 1009 - '(' shift, and go to state 1426 + "name" shift, and go to state 1007 + '(' shift, and go to state 1430 - $default reduce using rule 776 (optional_make_struct_dim_decl) + $default reduce using rule 780 (optional_make_struct_dim_decl) - 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 + make_struct_fields go to state 1431 + make_struct_dim_list go to state 1432 + make_struct_dim_decl go to state 1433 + optional_make_struct_dim_decl go to state 1471 -State 1434 +State 1438 - 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer . optional_make_struct_dim_decl ')' + 807 make_dim_decl: "array" "tuple" '<' $@98 type_declaration_no_options '>' $@99 '(' use_initializer . optional_make_struct_dim_decl ')' "$f" shift, and go to state 790 - "name" shift, and go to state 1009 - '(' shift, and go to state 1426 + "name" shift, and go to state 1007 + '(' shift, and go to state 1430 - $default reduce using rule 776 (optional_make_struct_dim_decl) + $default reduce using rule 780 (optional_make_struct_dim_decl) - 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 + make_struct_fields go to state 1431 + make_struct_dim_list go to state 1432 + make_struct_dim_decl go to state 1433 + optional_make_struct_dim_decl go to state 1472 -State 1435 +State 1439 - 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim . ')' + 810 make_dim_decl: "array" "variant" '<' $@100 type_declaration_no_options '>' $@101 '(' make_variant_dim . ')' - ')' shift, and go to state 1468 + ')' shift, and go to state 1473 -State 1436 +State 1440 - 810 make_dim_decl: "array" '<' $@101 type_declaration_no_options '>' $@102 '(' optional_expr_list ')' . + 814 make_dim_decl: "array" '<' $@102 type_declaration_no_options '>' $@103 '(' optional_expr_list ')' . - $default reduce using rule 810 (make_dim_decl) + $default reduce using rule 814 (make_dim_decl) -State 1437 +State 1441 - 820 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' . + 824 make_table_decl: "table" '<' type_declaration_no_options c_or_s type_declaration_no_options '>' '(' optional_expr_map_tuple_list ')' . - $default reduce using rule 820 (make_table_decl) + $default reduce using rule 824 (make_table_decl) -State 1438 +State 1442 - 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma . ')' + 818 make_dim_decl: "fixed_array" '<' $@104 type_declaration_no_options '>' $@105 '(' expr_list optional_comma . ')' - ')' shift, and go to state 1469 + ')' shift, and go to state 1474 -State 1439 +State 1443 - 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl . ')' + 800 make_tuple_call: "tuple" '<' $@94 type_declaration_no_options '>' $@95 '(' use_initializer optional_make_struct_dim_decl . ')' - ')' shift, and go to state 1470 + ')' shift, and go to state 1475 -State 1440 +State 1444 - 787 make_struct_decl: "variant" '<' $@89 type_declaration_no_options '>' $@90 '(' make_variant_dim ')' . + 791 make_struct_decl: "variant" '<' $@90 type_declaration_no_options '>' $@91 '(' make_variant_dim ')' . - $default reduce using rule 787 (make_struct_decl) + $default reduce using rule 791 (make_struct_decl) -State 1441 +State 1445 - 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 ']' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 829 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 @@ -44685,427 +44703,427 @@ State 1441 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ';' shift, and go to state 1471 + ';' shift, and go to state 1476 - $default reduce using rule 821 (array_comprehension_where) + $default reduce using rule 825 (array_comprehension_where) - array_comprehension_where go to state 1472 + array_comprehension_where go to state 1477 -State 1442 +State 1446 - 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 - "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 + 830 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' . expr array_comprehension_where ']' + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1473 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1478 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1443 +State 1447 - 374 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name . + 376 func_addr_expr: '@' '@' '<' $@23 optional_function_argument_list optional_function_type '>' $@24 func_addr_name . - $default reduce using rule 374 (func_addr_expr) + $default reduce using rule 376 (func_addr_expr) -State 1444 +State 1448 - 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple . array_comprehension_where '}' + 831 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple . array_comprehension_where '}' - ';' shift, and go to state 1471 + ';' shift, and go to state 1476 - $default reduce using rule 821 (array_comprehension_where) + $default reduce using rule 825 (array_comprehension_where) - array_comprehension_where go to state 1474 + array_comprehension_where go to state 1479 -State 1445 +State 1449 - 768 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 + 772 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' ":=" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1475 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1480 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1446 +State 1450 - 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 - "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 + 771 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' copy_or_move . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1476 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1481 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1447 +State 1451 - 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 ')' + 322 block_or_simple_block: "=>" "<-" expr . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -45142,17 +45160,17 @@ State 1447 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 320 (block_or_simple_block) + $default reduce using rule 322 (block_or_simple_block) -State 1448 +State 1452 - 459 expr: expr '?' "as" "type" '<' $@31 type_declaration '>' $@32 . + 461 expr: expr '?' "as" "type" '<' $@31 type_declaration '>' $@32 . - $default reduce using rule 459 (expr) + $default reduce using rule 461 (expr) -State 1449 +State 1453 66 expression_else: "else" . optional_emit_semis expression_block @@ -45161,228 +45179,228 @@ State 1449 $default reduce using rule 63 (optional_emit_semis) emit_semis go to state 172 - optional_emit_semis go to state 1477 + optional_emit_semis go to state 1482 -State 1450 +State 1454 59 elif_or_static_elif: "elif" . $default reduce using rule 59 (elif_or_static_elif) -State 1451 +State 1455 60 elif_or_static_elif: "static_elif" . $default reduce using rule 60 (elif_or_static_elif) -State 1452 +State 1456 67 expression_else: elif_or_static_elif . '(' expr ')' optional_emit_semis expression_block expression_else - '(' shift, and go to state 1478 + '(' shift, and go to state 1483 -State 1453 +State 1457 82 expression_if_then_else: $@2 if_or_static_if '(' expr ')' optional_emit_semis expression_block expression_else . $default reduce using rule 82 (expression_if_then_else) -State 1454 +State 1458 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 234 ($@9) - expression_block go to state 1479 - $@9 go to state 332 + expression_block go to state 1484 + $@9 go to state 330 -State 1455 +State 1459 - 231 expression_block_finally: "finally" $@7 '{' expressions $@8 '}' . + 233 expression_block_finally: "finally" $@7 '{' expressions $@8 '}' . - $default reduce using rule 231 (expression_block_finally) + $default reduce using rule 233 (expression_block_finally) -State 1456 +State 1460 - 296 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' 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 - "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 + 298 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone . expr SEMICOLON + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1485 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1457 +State 1461 - 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 ')' + 299 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr . SEMICOLON + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -45422,188 +45440,225 @@ State 1457 '[' shift, and go to state 637 ';' shift, and go to state 691 - SEMICOLON go to state 1481 + SEMICOLON go to state 1486 -State 1458 +State 1462 - 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 ';' . + 512 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 . function_declaration_header SEMICOLON + + "operator" shift, and go to state 177 + "bool" shift, and go to state 178 + "string" shift, and go to state 179 + "int" shift, and go to state 180 + "int2" shift, and go to state 181 + "int3" shift, and go to state 182 + "int4" shift, and go to state 183 + "uint" shift, and go to state 184 + "uint2" shift, and go to state 185 + "uint3" shift, and go to state 186 + "uint4" shift, and go to state 187 + "float" shift, and go to state 188 + "float2" shift, and go to state 189 + "float3" shift, and go to state 190 + "float4" shift, and go to state 191 + "range" shift, and go to state 192 + "urange" shift, and go to state 193 + "range64" shift, and go to state 194 + "urange64" shift, and go to state 195 + "int64" shift, and go to state 196 + "uint64" shift, and go to state 197 + "double" shift, and go to state 198 + "int8" shift, and go to state 199 + "uint8" shift, and go to state 200 + "int16" shift, and go to state 201 + "uint16" shift, and go to state 202 + "++" shift, and go to state 203 + "--" shift, and go to state 204 + "name" shift, and go to state 205 - $default reduce using rule 509 (struct_variable_declaration_list) + function_name go to state 206 + function_declaration_header go to state 1487 -State 1459 +State 1463 - 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 + 514 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant . $@35 function_declaration_header optional_emit_semis expression_block - $default reduce using rule 232 ($@9) + $default reduce using rule 513 ($@35) - expression_block go to state 1482 - $@9 go to state 332 + $@35 go to state 1488 -State 1460 +State 1464 - 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 . ')' + 506 structure_variable_declaration: optional_field_annotation optional_static_member_variable optional_override optional_public_or_private_member_variable variable_declaration . - ',' shift, and go to state 1018 - ')' shift, and go to state 1483 + $default reduce using rule 506 (structure_variable_declaration) -State 1461 +State 1465 - 772 make_struct_dim_list: make_struct_dim_list ',' . '(' make_struct_fields ')' - 824 optional_comma: ',' . + 767 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 768 | make_struct_fields . ',' "name" ":=" expr + 771 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 772 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr + 775 make_struct_dim_list: '(' make_struct_fields . ')' - '(' shift, and go to state 1484 + ',' shift, and go to state 1016 + ')' shift, and go to state 1489 - $default reduce using rule 824 (optional_comma) +State 1466 -State 1462 + 776 make_struct_dim_list: make_struct_dim_list ',' . '(' make_struct_fields ')' + 828 optional_comma: ',' . - 774 make_struct_dim_decl: make_struct_dim_list optional_comma . + '(' shift, and go to state 1490 - $default reduce using rule 774 (make_struct_dim_decl) + $default reduce using rule 828 (optional_comma) -State 1463 +State 1467 - 781 make_struct_decl: "struct" '<' $@85 type_declaration_no_options '>' $@86 '(' use_initializer optional_make_struct_dim_decl ')' . + 778 make_struct_dim_decl: make_struct_dim_list optional_comma . - $default reduce using rule 781 (make_struct_decl) + $default reduce using rule 778 (make_struct_dim_decl) -State 1464 +State 1468 - 784 make_struct_decl: "class" '<' $@87 type_declaration_no_options '>' $@88 '(' use_initializer optional_make_struct_dim_decl ')' . + 785 make_struct_decl: "struct" '<' $@86 type_declaration_no_options '>' $@87 '(' use_initializer optional_make_struct_dim_decl ')' . - $default reduce using rule 784 (make_struct_decl) + $default reduce using rule 785 (make_struct_decl) -State 1465 +State 1469 - 315 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' . + 788 make_struct_decl: "class" '<' $@88 type_declaration_no_options '>' $@89 '(' use_initializer optional_make_struct_dim_decl ')' . - $default reduce using rule 315 (expr_type_info) + $default reduce using rule 788 (make_struct_decl) -State 1466 +State 1470 - 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl . ')' + 317 expr_type_info: "typeinfo" name_in_namespace '<' "name" c_or_s "name" '>' '(' expr ')' . - ')' shift, and go to state 1485 + $default reduce using rule 317 (expr_type_info) -State 1467 +State 1471 - 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl . ')' + 804 make_dim_decl: "array" "struct" '<' $@96 type_declaration_no_options '>' $@97 '(' use_initializer optional_make_struct_dim_decl . ')' - ')' shift, and go to state 1486 + ')' shift, and go to state 1491 -State 1468 +State 1472 - 806 make_dim_decl: "array" "variant" '<' $@99 type_declaration_no_options '>' $@100 '(' make_variant_dim ')' . + 807 make_dim_decl: "array" "tuple" '<' $@98 type_declaration_no_options '>' $@99 '(' use_initializer optional_make_struct_dim_decl . ')' - $default reduce using rule 806 (make_dim_decl) + ')' shift, and go to state 1492 -State 1469 +State 1473 - 814 make_dim_decl: "fixed_array" '<' $@103 type_declaration_no_options '>' $@104 '(' expr_list optional_comma ')' . + 810 make_dim_decl: "array" "variant" '<' $@100 type_declaration_no_options '>' $@101 '(' make_variant_dim ')' . - $default reduce using rule 814 (make_dim_decl) + $default reduce using rule 810 (make_dim_decl) -State 1470 +State 1474 - 796 make_tuple_call: "tuple" '<' $@93 type_declaration_no_options '>' $@94 '(' use_initializer optional_make_struct_dim_decl ')' . + 818 make_dim_decl: "fixed_array" '<' $@104 type_declaration_no_options '>' $@105 '(' expr_list optional_comma ')' . - $default reduce using rule 796 (make_tuple_call) + $default reduce using rule 818 (make_dim_decl) -State 1471 +State 1475 - 822 array_comprehension_where: ';' . "where" expr + 800 make_tuple_call: "tuple" '<' $@94 type_declaration_no_options '>' $@95 '(' use_initializer optional_make_struct_dim_decl ')' . - "where" shift, and go to state 1487 + $default reduce using rule 800 (make_tuple_call) -State 1472 +State 1476 - 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where . ']' + 826 array_comprehension_where: ';' . "where" expr - ']' shift, and go to state 1488 + "where" shift, and go to state 1493 -State 1473 +State 1477 + + 829 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where . ']' + + ']' shift, and go to state 1494 + + +State 1478 - 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 ']' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 830 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 @@ -45640,83 +45695,83 @@ State 1473 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ';' shift, and go to state 1471 + ';' shift, and go to state 1476 - $default reduce using rule 821 (array_comprehension_where) + $default reduce using rule 825 (array_comprehension_where) - array_comprehension_where go to state 1489 + array_comprehension_where go to state 1495 -State 1474 +State 1479 - 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where . '}' + 831 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where . '}' - '}' shift, and go to state 1490 + '}' shift, and go to state 1496 -State 1475 +State 1480 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 772 make_struct_fields: make_struct_fields ',' "$f" '(' expr ')' ":=" expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -45754,72 +45809,72 @@ State 1475 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 768 (make_struct_fields) + $default reduce using rule 772 (make_struct_fields) -State 1476 +State 1481 - 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 . + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 771 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 @@ -45857,200 +45912,200 @@ State 1476 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 767 (make_struct_fields) + $default reduce using rule 771 (make_struct_fields) -State 1477 +State 1482 66 expression_else: "else" optional_emit_semis . expression_block - $default reduce using rule 232 ($@9) + $default reduce using rule 234 ($@9) - expression_block go to state 1491 - $@9 go to state 332 + expression_block go to state 1497 + $@9 go to state 330 -State 1478 +State 1483 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 - "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 + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1492 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1498 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1479 +State 1484 85 expression_for_loop: $@3 "for" '(' variable_name_with_pos_list "in" expr_list ')' optional_emit_semis expression_block . $default reduce using rule 85 (expression_for_loop) -State 1480 +State 1485 - 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 ')' + 298 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr . SEMICOLON + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -46090,256 +46145,297 @@ State 1480 '[' shift, and go to state 637 ';' shift, and go to state 691 - SEMICOLON go to state 1493 + SEMICOLON go to state 1499 -State 1481 +State 1486 - 297 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr SEMICOLON . + 299 tuple_expansion_variable_declaration: '(' tuple_expansion ')' optional_ref copy_or_move_or_clone expr SEMICOLON . - $default reduce using rule 297 (tuple_expansion_variable_declaration) + $default reduce using rule 299 (tuple_expansion_variable_declaration) -State 1482 +State 1487 - 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 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header . SEMICOLON - $default reduce using rule 511 (struct_variable_declaration_list) + "emitted ;" shift, and go to state 690 + ';' shift, and go to state 691 + SEMICOLON go to state 1500 -State 1483 - 771 make_struct_dim_list: '(' make_struct_fields ')' . +State 1488 + + 514 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 . function_declaration_header optional_emit_semis expression_block + + "operator" shift, and go to state 177 + "bool" shift, and go to state 178 + "string" shift, and go to state 179 + "int" shift, and go to state 180 + "int2" shift, and go to state 181 + "int3" shift, and go to state 182 + "int4" shift, and go to state 183 + "uint" shift, and go to state 184 + "uint2" shift, and go to state 185 + "uint3" shift, and go to state 186 + "uint4" shift, and go to state 187 + "float" shift, and go to state 188 + "float2" shift, and go to state 189 + "float3" shift, and go to state 190 + "float4" shift, and go to state 191 + "range" shift, and go to state 192 + "urange" shift, and go to state 193 + "range64" shift, and go to state 194 + "urange64" shift, and go to state 195 + "int64" shift, and go to state 196 + "uint64" shift, and go to state 197 + "double" shift, and go to state 198 + "int8" shift, and go to state 199 + "uint8" shift, and go to state 200 + "int16" shift, and go to state 201 + "uint16" shift, and go to state 202 + "++" shift, and go to state 203 + "--" shift, and go to state 204 + "name" shift, and go to state 205 + + function_name go to state 206 + function_declaration_header go to state 1501 + - $default reduce using rule 771 (make_struct_dim_list) +State 1489 + 775 make_struct_dim_list: '(' make_struct_fields ')' . -State 1484 + $default reduce using rule 775 (make_struct_dim_list) - 772 make_struct_dim_list: make_struct_dim_list ',' '(' . make_struct_fields ')' + +State 1490 + + 776 make_struct_dim_list: make_struct_dim_list ',' '(' . make_struct_fields ')' "$f" shift, and go to state 790 - "name" shift, and go to state 1009 + "name" shift, and go to state 1007 - make_struct_fields go to state 1494 + make_struct_fields go to state 1502 -State 1485 +State 1491 - 800 make_dim_decl: "array" "struct" '<' $@95 type_declaration_no_options '>' $@96 '(' use_initializer optional_make_struct_dim_decl ')' . + 804 make_dim_decl: "array" "struct" '<' $@96 type_declaration_no_options '>' $@97 '(' use_initializer optional_make_struct_dim_decl ')' . - $default reduce using rule 800 (make_dim_decl) + $default reduce using rule 804 (make_dim_decl) -State 1486 +State 1492 - 803 make_dim_decl: "array" "tuple" '<' $@97 type_declaration_no_options '>' $@98 '(' use_initializer optional_make_struct_dim_decl ')' . + 807 make_dim_decl: "array" "tuple" '<' $@98 type_declaration_no_options '>' $@99 '(' use_initializer optional_make_struct_dim_decl ')' . - $default reduce using rule 803 (make_dim_decl) + $default reduce using rule 807 (make_dim_decl) -State 1487 +State 1493 - 822 array_comprehension_where: ';' "where" . 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 + 826 array_comprehension_where: ';' "where" . expr + + "struct" shift, and go to state 412 + "class" shift, and go to state 413 + "true" shift, and go to state 414 + "false" shift, and go to state 415 + "new" shift, and go to state 416 + "typeinfo" shift, and go to state 417 + "type" shift, and go to state 418 + "array" shift, and go to state 419 + "null" shift, and go to state 420 + "table" shift, and go to state 421 + "deref" shift, and go to state 422 + "cast" shift, and go to state 423 + "upcast" shift, and go to state 424 + "addr" shift, and go to state 425 + "reinterpret" shift, and go to state 426 + "unsafe" shift, and go to state 427 + "fixed_array" shift, and go to state 428 + "default" shift, and go to state 429 + "bool" shift, and go to state 226 + "void" shift, and go to state 227 + "string" shift, and go to state 228 + "int" shift, and go to state 230 + "int2" shift, and go to state 231 + "int3" shift, and go to state 232 + "int4" shift, and go to state 233 + "uint" shift, and go to state 234 + "bitfield" shift, and go to state 430 + "uint2" shift, and go to state 236 + "uint3" shift, and go to state 237 + "uint4" shift, and go to state 238 + "float" shift, and go to state 239 + "float2" shift, and go to state 240 + "float3" shift, and go to state 241 + "float4" shift, and go to state 242 + "range" shift, and go to state 243 + "urange" shift, and go to state 244 + "range64" shift, and go to state 245 + "urange64" shift, and go to state 246 + "int64" shift, and go to state 248 + "uint64" shift, and go to state 249 + "double" shift, and go to state 250 + "int8" shift, and go to state 253 + "uint8" shift, and go to state 254 + "int16" shift, and go to state 255 + "uint16" shift, and go to state 256 + "tuple" shift, and go to state 431 + "variant" shift, and go to state 432 + "generator" shift, and go to state 433 + "++" shift, and go to state 434 + "--" shift, and go to state 435 "::" 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 + "$$" shift, and go to state 436 + "$i" shift, and go to state 437 + "$v" shift, and go to state 438 + "$b" shift, and go to state 439 + "$a" shift, and go to state 440 + "$c" shift, and go to state 441 + "..." shift, and go to state 442 + "integer constant" shift, and go to state 443 + "long integer constant" shift, and go to state 444 + "unsigned integer constant" shift, and go to state 445 + "unsigned long integer constant" shift, and go to state 446 + "unsigned int8 constant" shift, and go to state 447 + "floating point constant" shift, and go to state 448 + "double constant" shift, and go to state 449 "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 + "start of the string" shift, and go to state 450 + '-' shift, and go to state 451 + '+' shift, and go to state 452 + '*' shift, and go to state 453 '%' 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 1495 - 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 + '~' shift, and go to state 454 + '!' shift, and go to state 455 + '[' 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 + + string_builder go to state 461 + expr_reader go to state 462 + expr_call_pipe go to state 463 + name_in_namespace go to state 464 + expr_new go to state 465 + expr_cast go to state 466 + expr_type_decl go to state 467 + expr_type_info go to state 468 + block_or_lambda go to state 469 + expr_full_block go to state 470 + expr_numeric_const go to state 471 + expr_named_call go to state 472 + expr_method_call go to state 473 + func_addr_expr go to state 474 + expr_field go to state 475 + expr_call go to state 476 + expr go to state 1503 + expr_generator go to state 478 + expr_mtag go to state 479 + basic_type_declaration go to state 480 + make_decl go to state 481 + make_struct_decl go to state 482 + make_tuple_call go to state 483 + make_dim_decl go to state 484 + make_table_decl go to state 485 + array_comprehension go to state 486 -State 1488 +State 1494 - 825 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' . + 829 array_comprehension: '[' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' . - $default reduce using rule 825 (array_comprehension) + $default reduce using rule 829 (array_comprehension) -State 1489 +State 1495 - 826 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where . ']' + 830 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where . ']' - ']' shift, and go to state 1496 + ']' shift, and go to state 1504 -State 1490 +State 1496 - 827 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' . + 831 array_comprehension: '{' "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' make_map_tuple array_comprehension_where '}' . - $default reduce using rule 827 (array_comprehension) + $default reduce using rule 831 (array_comprehension) -State 1491 +State 1497 66 expression_else: "else" optional_emit_semis expression_block . $default reduce using rule 66 (expression_else) -State 1492 +State 1498 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 ')' + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -46376,91 +46472,110 @@ State 1492 '%' shift, and go to state 635 '.' shift, and go to state 636 '[' shift, and go to state 637 - ')' shift, and go to state 1497 + ')' shift, and go to state 1505 -State 1493 +State 1499 - 296 tuple_expansion_variable_declaration: '(' tuple_expansion ')' ':' type_declaration_no_options copy_or_move_or_clone expr SEMICOLON . + 298 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) + $default reduce using rule 298 (tuple_expansion_variable_declaration) -State 1494 +State 1500 - 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 . ')' + 512 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable "abstract" optional_constant $@34 function_declaration_header SEMICOLON . - ',' shift, and go to state 1018 - ')' shift, and go to state 1498 + $default reduce using rule 512 (struct_variable_declaration_list) -State 1495 +State 1501 + + 514 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header . 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 1506 + + +State 1502 + + 767 make_struct_fields: make_struct_fields . ',' "name" copy_or_move expr + 768 | make_struct_fields . ',' "name" ":=" expr + 771 | make_struct_fields . ',' "$f" '(' expr ')' copy_or_move expr + 772 | make_struct_fields . ',' "$f" '(' expr ')' ":=" expr + 776 make_struct_dim_list: make_struct_dim_list ',' '(' make_struct_fields . ')' - 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 . + ',' shift, and go to state 1016 + ')' shift, and go to state 1507 + + +State 1503 + + 366 expr_method_call: expr . "->" "name" '(' ')' + 367 | expr . "->" "name" '(' expr_list ')' + 377 expr_field: expr . '.' "name" + 378 | expr . '.' '.' "name" + 379 | expr . '.' "name" '(' ')' + 380 | expr . '.' "name" '(' expr_list ')' + 381 | expr . '.' basic_type_declaration '(' ')' + 382 | expr . '.' basic_type_declaration '(' expr_list ')' + 385 | expr . '.' $@25 error $@26 + 407 expr: 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 . "^^" expr + 428 | expr . ".." expr + 431 | expr . "++" + 432 | expr . "--" + 434 | expr . '[' expr ']' + 435 | expr . '.' '[' expr ']' + 436 | expr . "?[" expr ']' + 437 | expr . '.' "?[" expr ']' + 438 | expr . "?." "name" + 439 | expr . '.' "?." "name" + 446 | expr . "??" expr + 447 | expr . '?' expr ':' expr + 450 | expr . "is" "type" '<' $@27 type_declaration_no_options '>' $@28 + 451 | expr . "is" basic_type_declaration + 452 | expr . "is" "name" + 453 | expr . "as" "name" + 456 | expr . "as" "type" '<' $@29 type_declaration '>' $@30 + 457 | expr . "as" basic_type_declaration + 458 | expr . '?' "as" "name" + 461 | expr . '?' "as" "type" '<' $@31 type_declaration '>' $@32 + 462 | expr . '?' "as" basic_type_declaration + 470 | expr . "<|" expr + 471 | expr . "|>" expr + 472 | expr . "|>" basic_type_declaration + 486 expr_mtag: expr . '.' "$f" '(' expr ')' + 487 | expr . "?." "$f" '(' expr ')' + 488 | expr . '.' '.' "$f" '(' expr ')' + 489 | expr . '.' "?." "$f" '(' expr ')' + 490 | expr . "as" "$f" '(' expr ')' + 491 | expr . '?' "as" "$f" '(' expr ')' + 492 | expr . "is" "$f" '(' expr ')' + 826 array_comprehension_where: ';' "where" expr . "is" shift, and go to state 603 "as" shift, and go to state 604 @@ -46498,17 +46613,17 @@ State 1495 '.' shift, and go to state 636 '[' shift, and go to state 637 - $default reduce using rule 822 (array_comprehension_where) + $default reduce using rule 826 (array_comprehension_where) -State 1496 +State 1504 - 826 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' . + 830 array_comprehension: '[' "iterator" "for" '(' variable_name_with_pos_list "in" expr_list ')' ';' expr array_comprehension_where ']' . - $default reduce using rule 826 (array_comprehension) + $default reduce using rule 830 (array_comprehension) -State 1497 +State 1505 67 expression_else: elif_or_static_elif '(' expr ')' . optional_emit_semis expression_block expression_else @@ -46517,41 +46632,58 @@ State 1497 $default reduce using rule 63 (optional_emit_semis) emit_semis go to state 172 - optional_emit_semis go to state 1499 + optional_emit_semis go to state 1508 -State 1498 +State 1506 - 772 make_struct_dim_list: make_struct_dim_list ',' '(' make_struct_fields ')' . + 514 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header optional_emit_semis . expression_block - $default reduce using rule 772 (make_struct_dim_list) + $default reduce using rule 234 ($@9) + expression_block go to state 1509 + $@9 go to state 330 -State 1499 + +State 1507 + + 776 make_struct_dim_list: make_struct_dim_list ',' '(' make_struct_fields ')' . + + $default reduce using rule 776 (make_struct_dim_list) + + +State 1508 67 expression_else: elif_or_static_elif '(' expr ')' optional_emit_semis . expression_block expression_else - $default reduce using rule 232 ($@9) + $default reduce using rule 234 ($@9) - expression_block go to state 1500 - $@9 go to state 332 + expression_block go to state 1510 + $@9 go to state 330 -State 1500 +State 1509 + + 514 struct_variable_declaration_list: struct_variable_declaration_list optional_annotation_list_with_emit_semis "def" optional_public_or_private_member_variable optional_static_member_variable optional_override optional_constant $@35 function_declaration_header optional_emit_semis expression_block . + + $default reduce using rule 514 (struct_variable_declaration_list) + + +State 1510 67 expression_else: elif_or_static_elif '(' expr ')' optional_emit_semis expression_block . expression_else - "else" shift, and go to state 1449 - "elif" shift, and go to state 1450 - "static_elif" shift, and go to state 1451 + "else" shift, and go to state 1453 + "elif" shift, and go to state 1454 + "static_elif" shift, and go to state 1455 $default reduce using rule 65 (expression_else) - elif_or_static_elif go to state 1452 - expression_else go to state 1501 + elif_or_static_elif go to state 1456 + expression_else go to state 1511 -State 1501 +State 1511 67 expression_else: elif_or_static_elif '(' expr ')' optional_emit_semis expression_block expression_else . diff --git a/src/parser/ds2_parser.ypp b/src/parser/ds2_parser.ypp index 6b0289670..e0045f421 100644 --- a/src/parser/ds2_parser.ypp +++ b/src/parser/ds2_parser.ypp @@ -391,6 +391,7 @@ %type annotation_declaration %type annotation_list %type optional_annotation_list +%type optional_annotation_list_with_emit_semis %type structure_name %type table_type_pair @@ -965,10 +966,10 @@ annotation_argument_list ; metadata_argument_list - : '@' annotation_argument[arg] { + : '@' annotation_argument[arg] optional_emit_semis { $$ = ast_annotationArgumentListEntry(scanner,new AnnotationArgumentList(),$arg); } - | metadata_argument_list[argL] '@' annotation_argument[arg] { + | metadata_argument_list[argL] '@' annotation_argument[arg] optional_emit_semis { $$ = ast_annotationArgumentListEntry(scanner,$argL,$arg); } ; @@ -1076,8 +1077,13 @@ annotation_list ; optional_annotation_list - : { $$ = nullptr; } - | '[' annotation_list[annL] ']' { $$ = $annL; } + : { $$ = nullptr; } + | '[' annotation_list[annL] ']' { $$ = $annL; } + ; + +optional_annotation_list_with_emit_semis + : { $$ = nullptr; } + | '[' annotation_list[annL] ']' optional_emit_semis { $$ = $annL; } ; optional_function_argument_list @@ -2059,12 +2065,13 @@ struct_variable_declaration_list : { $$ = new vector(); } + | struct_variable_declaration_list[list] DAS_EMIT_SEMICOLON { $$ = $list; } | struct_variable_declaration_list[list] { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,@list); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeStructureFields(tak); } - } structure_variable_declaration[decl] ';' { + } structure_variable_declaration[decl] SEMICOLON { $$ = $list; if ( $decl ) $list->push_back($decl); if ( !yyextra->g_CommentReaders.empty() ) { @@ -2077,26 +2084,26 @@ struct_variable_declaration_list for ( auto & crd : yyextra->g_CommentReaders ) crd->afterStructureFields(tak); } } - | struct_variable_declaration_list[list] optional_annotation_list[annL] + | struct_variable_declaration_list[list] optional_annotation_list_with_emit_semis[annL] DAS_DEF[from] optional_public_or_private_member_variable[isPrivate] DAS_ABSTRACT optional_constant[cnst] { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,@isPrivate); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeFunction(tak); } - } function_declaration_header[func] ';' { + } function_declaration_header[func] SEMICOLON { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,@func); for ( auto & crd : yyextra->g_CommentReaders ) crd->afterFunction($func,tak); } $$ = ast_structVarDefAbstract(scanner,$list,$annL,$isPrivate,$cnst, $func); } - | struct_variable_declaration_list[list] optional_annotation_list[annL] + | struct_variable_declaration_list[list] optional_annotation_list_with_emit_semis[annL] DAS_DEF[from] optional_public_or_private_member_variable[isPrivate] optional_static_member_variable[isStatic] optional_override[ovr] optional_constant[cnst] { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,@cnst); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeFunction(tak); } - } function_declaration_header[func] expression_block[block] { + } function_declaration_header[func] optional_emit_semis expression_block[block] { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,@block); for ( auto & crd : yyextra->g_CommentReaders ) crd->afterFunction($func,tak); @@ -2598,12 +2605,15 @@ optional_struct_variable_declaration_list ; structure_declaration - : optional_annotation_list[annL] class_or_struct[loc] optional_public_or_private_structure[pub_str] { + : optional_annotation_list[annL] { + yyextra->push_nesteds(DAS_EMIT_SEMICOLON); + } class_or_struct[loc] optional_public_or_private_structure[pub_str] { if ( !yyextra->g_CommentReaders.empty() ) { auto tak = tokAt(scanner,@loc); for ( auto & crd : yyextra->g_CommentReaders ) crd->beforeStructure(tak); } - } structure_name[ps] { if ( $ps ) { $ps->isClass = $loc; $ps->privateStructure = !$pub_str; } } optional_struct_variable_declaration_list[list] { + } structure_name[ps] optional_emit_semis { if ( $ps ) { $ps->isClass = $loc; $ps->privateStructure = !$pub_str; } } optional_struct_variable_declaration_list[list] { + yyextra->pop_nesteds(); if ( $ps ) { ast_structureDeclaration ( scanner, $annL, tokAt(scanner,@loc), $ps, tokAt(scanner,@ps), $list ); if ( !yyextra->g_CommentReaders.empty() ) {