Give rule-specific names to repeat helper rules

This commit is contained in:
Max Brunsfeld 2014-04-09 18:41:43 -07:00
parent a5816a9624
commit 53285f7d0c
6 changed files with 416 additions and 399 deletions

View file

@ -687,9 +687,9 @@ PARSE_TABLE = {
[ts_builtin_sym_error] = SHIFT(54),
},
[23] = {
[ts_aux_sym_token2] = REDUCE(ts_sym_product, 1),
[ts_aux_sym_token3] = REDUCE(ts_sym_product, 1),
[ts_aux_sym_token4] = REDUCE(ts_sym_quotient, 1),
[ts_aux_sym_token2] = REDUCE(ts_sym_quotient, 1),
[ts_aux_sym_token3] = REDUCE(ts_sym_quotient, 1),
[ts_aux_sym_token4] = REDUCE(ts_sym_product, 1),
[ts_aux_sym_token5] = SHIFT(24),
[ts_aux_sym_token6] = SHIFT(52),
},
@ -1209,10 +1209,10 @@ PARSE_TABLE = {
},
[102] = {
[ts_aux_sym_token3] = REDUCE(ts_sym_quotient, 1),
[ts_aux_sym_token4] = REDUCE(ts_sym_product, 1),
[ts_aux_sym_token4] = REDUCE(ts_sym_quotient, 1),
[ts_aux_sym_token5] = SHIFT(103),
[ts_aux_sym_token6] = SHIFT(117),
[ts_builtin_sym_end] = REDUCE(ts_sym_product, 1),
[ts_builtin_sym_end] = REDUCE(ts_sym_quotient, 1),
},
[103] = {
[ts_sym__operand2] = SHIFT(104),

View file

@ -35,16 +35,16 @@ enum {
ts_sym_type_name = 30,
ts_sym_var_declaration = 31,
ts_sym_var_name = 32,
ts_aux_sym_repeat_helper1 = 33,
ts_aux_sym_repeat_helper10 = 34,
ts_aux_sym_repeat_helper2 = 35,
ts_aux_sym_repeat_helper3 = 36,
ts_aux_sym_repeat_helper4 = 37,
ts_aux_sym_repeat_helper5 = 38,
ts_aux_sym_repeat_helper6 = 39,
ts_aux_sym_repeat_helper7 = 40,
ts_aux_sym_repeat_helper8 = 41,
ts_aux_sym_repeat_helper9 = 42,
ts_aux_sym__func_signature_repeat1 = 33,
ts_aux_sym__func_signature_repeat2 = 34,
ts_aux_sym__func_signature_repeat3 = 35,
ts_aux_sym__func_signature_repeat4 = 36,
ts_aux_sym__func_signature_repeat5 = 37,
ts_aux_sym_imports_block_repeat1 = 38,
ts_aux_sym_interface_type_repeat1 = 39,
ts_aux_sym_program_repeat1 = 40,
ts_aux_sym_program_repeat2 = 41,
ts_aux_sym_struct_type_repeat1 = 42,
ts_aux_sym_token1 = 43,
ts_aux_sym_token2 = 44,
ts_aux_sym_token3 = 45,
@ -88,16 +88,16 @@ SYMBOL_NAMES = {
[ts_sym_type_name] = "type_name",
[ts_sym_var_declaration] = "var_declaration",
[ts_sym_var_name] = "var_name",
[ts_aux_sym_repeat_helper1] = "repeat_helper1",
[ts_aux_sym_repeat_helper10] = "repeat_helper10",
[ts_aux_sym_repeat_helper2] = "repeat_helper2",
[ts_aux_sym_repeat_helper3] = "repeat_helper3",
[ts_aux_sym_repeat_helper4] = "repeat_helper4",
[ts_aux_sym_repeat_helper5] = "repeat_helper5",
[ts_aux_sym_repeat_helper6] = "repeat_helper6",
[ts_aux_sym_repeat_helper7] = "repeat_helper7",
[ts_aux_sym_repeat_helper8] = "repeat_helper8",
[ts_aux_sym_repeat_helper9] = "repeat_helper9",
[ts_aux_sym__func_signature_repeat1] = "_func_signature_repeat1",
[ts_aux_sym__func_signature_repeat2] = "_func_signature_repeat2",
[ts_aux_sym__func_signature_repeat3] = "_func_signature_repeat3",
[ts_aux_sym__func_signature_repeat4] = "_func_signature_repeat4",
[ts_aux_sym__func_signature_repeat5] = "_func_signature_repeat5",
[ts_aux_sym_imports_block_repeat1] = "imports_block_repeat1",
[ts_aux_sym_interface_type_repeat1] = "interface_type_repeat1",
[ts_aux_sym_program_repeat1] = "program_repeat1",
[ts_aux_sym_program_repeat2] = "program_repeat2",
[ts_aux_sym_struct_type_repeat1] = "struct_type_repeat1",
[ts_aux_sym_token1] = "'('",
[ts_aux_sym_token2] = "')'",
[ts_aux_sym_token3] = "'='",
@ -122,16 +122,16 @@ HIDDEN_SYMBOLS = {
[ts_sym__struct] = 1,
[ts_sym__type] = 1,
[ts_sym__var] = 1,
[ts_aux_sym_repeat_helper1] = 1,
[ts_aux_sym_repeat_helper10] = 1,
[ts_aux_sym_repeat_helper2] = 1,
[ts_aux_sym_repeat_helper3] = 1,
[ts_aux_sym_repeat_helper4] = 1,
[ts_aux_sym_repeat_helper5] = 1,
[ts_aux_sym_repeat_helper6] = 1,
[ts_aux_sym_repeat_helper7] = 1,
[ts_aux_sym_repeat_helper8] = 1,
[ts_aux_sym_repeat_helper9] = 1,
[ts_aux_sym__func_signature_repeat1] = 1,
[ts_aux_sym__func_signature_repeat2] = 1,
[ts_aux_sym__func_signature_repeat3] = 1,
[ts_aux_sym__func_signature_repeat4] = 1,
[ts_aux_sym__func_signature_repeat5] = 1,
[ts_aux_sym_imports_block_repeat1] = 1,
[ts_aux_sym_interface_type_repeat1] = 1,
[ts_aux_sym_program_repeat1] = 1,
[ts_aux_sym_program_repeat2] = 1,
[ts_aux_sym_struct_type_repeat1] = 1,
[ts_aux_sym_token1] = 1,
[ts_aux_sym_token2] = 1,
[ts_aux_sym_token3] = 1,
@ -1329,13 +1329,13 @@ PARSE_TABLE = {
[ts_builtin_sym_end] = REDUCE(ts_sym_package_directive, 2),
},
[4] = {
[ts_sym__func] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_sym__func] = REDUCE(ts_aux_sym_program_repeat1, 0),
[ts_sym__import] = SHIFT(5),
[ts_sym__type] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_sym__var] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_sym__type] = REDUCE(ts_aux_sym_program_repeat1, 0),
[ts_sym__var] = REDUCE(ts_aux_sym_program_repeat1, 0),
[ts_sym_imports_block] = SHIFT(14),
[ts_aux_sym_repeat_helper1] = SHIFT(16),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_aux_sym_program_repeat1] = SHIFT(16),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_program_repeat1, 0),
},
[5] = {
[ts_sym_package_import] = SHIFT(6),
@ -1359,22 +1359,22 @@ PARSE_TABLE = {
[8] = {
[ts_sym_package_import] = SHIFT(9),
[ts_sym_string] = SHIFT(10),
[ts_aux_sym_repeat_helper3] = SHIFT(12),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0),
[ts_aux_sym_imports_block_repeat1] = SHIFT(12),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_imports_block_repeat1, 0),
[ts_builtin_sym_error] = SHIFT(12),
},
[9] = {
[ts_sym_package_import] = SHIFT(9),
[ts_sym_string] = SHIFT(10),
[ts_aux_sym_repeat_helper3] = SHIFT(11),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0),
[ts_aux_sym_imports_block_repeat1] = SHIFT(11),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_imports_block_repeat1, 0),
},
[10] = {
[ts_sym_string] = REDUCE(ts_sym_package_import, 1),
[ts_aux_sym_token2] = REDUCE(ts_sym_package_import, 1),
},
[11] = {
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 2),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_imports_block_repeat1, 2),
},
[12] = {
[ts_aux_sym_token2] = SHIFT(13),
@ -1387,19 +1387,19 @@ PARSE_TABLE = {
[ts_builtin_sym_end] = REDUCE(ts_sym_imports_block, 4),
},
[14] = {
[ts_sym__func] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_sym__func] = REDUCE(ts_aux_sym_program_repeat1, 0),
[ts_sym__import] = SHIFT(5),
[ts_sym__type] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_sym__var] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_sym__type] = REDUCE(ts_aux_sym_program_repeat1, 0),
[ts_sym__var] = REDUCE(ts_aux_sym_program_repeat1, 0),
[ts_sym_imports_block] = SHIFT(14),
[ts_aux_sym_repeat_helper1] = SHIFT(15),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_aux_sym_program_repeat1] = SHIFT(15),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_program_repeat1, 0),
},
[15] = {
[ts_sym__func] = REDUCE(ts_aux_sym_repeat_helper1, 2),
[ts_sym__type] = REDUCE(ts_aux_sym_repeat_helper1, 2),
[ts_sym__var] = REDUCE(ts_aux_sym_repeat_helper1, 2),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_repeat_helper1, 2),
[ts_sym__func] = REDUCE(ts_aux_sym_program_repeat1, 2),
[ts_sym__type] = REDUCE(ts_aux_sym_program_repeat1, 2),
[ts_sym__var] = REDUCE(ts_aux_sym_program_repeat1, 2),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_program_repeat1, 2),
},
[16] = {
[ts_sym__func] = SHIFT(17),
@ -1409,8 +1409,8 @@ PARSE_TABLE = {
[ts_sym_func_declaration] = SHIFT(192),
[ts_sym_type_declaration] = SHIFT(192),
[ts_sym_var_declaration] = SHIFT(192),
[ts_aux_sym_repeat_helper2] = SHIFT(194),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_program_repeat2] = SHIFT(194),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_program_repeat2, 0),
},
[17] = {
[ts_sym__identifier] = SHIFT(18),
@ -1457,13 +1457,13 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_var_name, 1),
},
[26] = {
[ts_sym__identifier] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_sym__interface] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_sym__map] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_sym__struct] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_aux_sym_repeat_helper6] = SHIFT(27),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_sym__identifier] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_sym__interface] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_sym__map] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_sym__struct] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_aux_sym__func_signature_repeat1] = SHIFT(27),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(125),
},
[27] = {
@ -1491,8 +1491,8 @@ PARSE_TABLE = {
[30] = {
[ts_sym__identifier] = SHIFT(18),
[ts_sym_var_name] = SHIFT(31),
[ts_aux_sym_repeat_helper5] = SHIFT(137),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_interface_type_repeat1] = SHIFT(137),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_interface_type_repeat1, 0),
},
[31] = {
[ts_sym__func_signature] = SHIFT(32),
@ -1501,11 +1501,11 @@ PARSE_TABLE = {
[32] = {
[ts_sym__identifier] = SHIFT(18),
[ts_sym_var_name] = SHIFT(31),
[ts_aux_sym_repeat_helper5] = SHIFT(33),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_interface_type_repeat1] = SHIFT(33),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_interface_type_repeat1, 0),
},
[33] = {
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_repeat_helper5, 3),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_interface_type_repeat1, 3),
},
[34] = {
[ts_sym__identifier] = SHIFT(25),
@ -1513,13 +1513,13 @@ PARSE_TABLE = {
[ts_aux_sym_token2] = SHIFT(128),
},
[35] = {
[ts_sym__identifier] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_sym__interface] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_sym__map] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_sym__struct] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_aux_sym_repeat_helper6] = SHIFT(36),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_sym__identifier] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_sym__interface] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_sym__map] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_sym__struct] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_aux_sym__func_signature_repeat1] = SHIFT(36),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(125),
},
[36] = {
@ -1564,8 +1564,8 @@ PARSE_TABLE = {
[41] = {
[ts_sym__identifier] = SHIFT(18),
[ts_sym_var_name] = SHIFT(31),
[ts_aux_sym_repeat_helper5] = SHIFT(42),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_interface_type_repeat1] = SHIFT(42),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_interface_type_repeat1, 0),
},
[42] = {
[ts_aux_sym_token5] = SHIFT(43),
@ -1597,8 +1597,8 @@ PARSE_TABLE = {
[47] = {
[ts_sym__identifier] = SHIFT(48),
[ts_sym_var_name] = SHIFT(49),
[ts_aux_sym_repeat_helper4] = SHIFT(78),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_aux_sym_struct_type_repeat1] = SHIFT(78),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_struct_type_repeat1, 0),
},
[48] = {
[ts_sym__identifier] = REDUCE(ts_sym_var_name, 1),
@ -1633,8 +1633,8 @@ PARSE_TABLE = {
[52] = {
[ts_sym__identifier] = SHIFT(18),
[ts_sym_var_name] = SHIFT(31),
[ts_aux_sym_repeat_helper5] = SHIFT(53),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_interface_type_repeat1] = SHIFT(53),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_interface_type_repeat1, 0),
},
[53] = {
[ts_aux_sym_token5] = SHIFT(54),
@ -1688,8 +1688,8 @@ PARSE_TABLE = {
[61] = {
[ts_sym__identifier] = SHIFT(48),
[ts_sym_var_name] = SHIFT(49),
[ts_aux_sym_repeat_helper4] = SHIFT(62),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_aux_sym_struct_type_repeat1] = SHIFT(62),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_struct_type_repeat1, 0),
},
[62] = {
[ts_aux_sym_token5] = SHIFT(63),
@ -1789,11 +1789,11 @@ PARSE_TABLE = {
[76] = {
[ts_sym__identifier] = SHIFT(48),
[ts_sym_var_name] = SHIFT(49),
[ts_aux_sym_repeat_helper4] = SHIFT(77),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_aux_sym_struct_type_repeat1] = SHIFT(77),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_struct_type_repeat1, 0),
},
[77] = {
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_repeat_helper4, 3),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_struct_type_repeat1, 3),
},
[78] = {
[ts_aux_sym_token5] = SHIFT(79),
@ -1846,8 +1846,8 @@ PARSE_TABLE = {
[86] = {
[ts_sym__identifier] = SHIFT(48),
[ts_sym_var_name] = SHIFT(49),
[ts_aux_sym_repeat_helper4] = SHIFT(87),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_aux_sym_struct_type_repeat1] = SHIFT(87),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_struct_type_repeat1, 0),
},
[87] = {
[ts_aux_sym_token5] = SHIFT(88),
@ -1906,8 +1906,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_slice_type, 3),
},
[96] = {
[ts_aux_sym_repeat_helper8] = SHIFT(97),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym__func_signature_repeat3] = SHIFT(97),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat3, 0),
[ts_aux_sym_token9] = SHIFT(117),
},
[97] = {
@ -1934,8 +1934,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_type_name, 1),
},
[102] = {
[ts_aux_sym_repeat_helper10] = SHIFT(103),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper10, 0),
[ts_aux_sym__func_signature_repeat5] = SHIFT(103),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat5, 0),
[ts_aux_sym_token9] = SHIFT(105),
},
[103] = {
@ -1950,20 +1950,20 @@ PARSE_TABLE = {
[ts_sym_type_name] = SHIFT(106),
},
[106] = {
[ts_aux_sym_repeat_helper10] = SHIFT(107),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper10, 0),
[ts_aux_sym__func_signature_repeat5] = SHIFT(107),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat5, 0),
[ts_aux_sym_token9] = SHIFT(105),
},
[107] = {
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper10, 3),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat5, 3),
},
[108] = {
[ts_sym__identifier] = SHIFT(28),
[ts_sym_type_name] = SHIFT(109),
},
[109] = {
[ts_aux_sym_repeat_helper9] = SHIFT(110),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper9, 0),
[ts_aux_sym__func_signature_repeat4] = SHIFT(110),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat4, 0),
[ts_aux_sym_token9] = SHIFT(112),
},
[110] = {
@ -1985,25 +1985,25 @@ PARSE_TABLE = {
[ts_sym_type_name] = SHIFT(115),
},
[115] = {
[ts_aux_sym_repeat_helper9] = SHIFT(116),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper9, 0),
[ts_aux_sym__func_signature_repeat4] = SHIFT(116),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat4, 0),
[ts_aux_sym_token9] = SHIFT(112),
},
[116] = {
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper9, 4),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat4, 4),
},
[117] = {
[ts_sym__identifier] = SHIFT(25),
[ts_sym_var_name] = SHIFT(118),
},
[118] = {
[ts_sym__identifier] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_sym__interface] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_sym__map] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_sym__struct] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_repeat_helper7] = SHIFT(119),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_sym__identifier] = REDUCE(ts_aux_sym__func_signature_repeat2, 0),
[ts_sym__interface] = REDUCE(ts_aux_sym__func_signature_repeat2, 0),
[ts_sym__map] = REDUCE(ts_aux_sym__func_signature_repeat2, 0),
[ts_sym__struct] = REDUCE(ts_aux_sym__func_signature_repeat2, 0),
[ts_aux_sym__func_signature_repeat2] = SHIFT(119),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym__func_signature_repeat2, 0),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym__func_signature_repeat2, 0),
[ts_aux_sym_token9] = SHIFT(122),
},
[119] = {
@ -2022,56 +2022,56 @@ PARSE_TABLE = {
[ts_aux_sym_token7] = SHIFT(93),
},
[120] = {
[ts_aux_sym_repeat_helper8] = SHIFT(121),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym__func_signature_repeat3] = SHIFT(121),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat3, 0),
[ts_aux_sym_token9] = SHIFT(117),
},
[121] = {
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper8, 5),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat3, 5),
},
[122] = {
[ts_sym__identifier] = SHIFT(25),
[ts_sym_var_name] = SHIFT(123),
},
[123] = {
[ts_sym__identifier] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_sym__interface] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_sym__map] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_sym__struct] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_repeat_helper7] = SHIFT(124),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_sym__identifier] = REDUCE(ts_aux_sym__func_signature_repeat2, 0),
[ts_sym__interface] = REDUCE(ts_aux_sym__func_signature_repeat2, 0),
[ts_sym__map] = REDUCE(ts_aux_sym__func_signature_repeat2, 0),
[ts_sym__struct] = REDUCE(ts_aux_sym__func_signature_repeat2, 0),
[ts_aux_sym__func_signature_repeat2] = SHIFT(124),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym__func_signature_repeat2, 0),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym__func_signature_repeat2, 0),
[ts_aux_sym_token9] = SHIFT(122),
},
[124] = {
[ts_sym__identifier] = REDUCE(ts_aux_sym_repeat_helper7, 3),
[ts_sym__interface] = REDUCE(ts_aux_sym_repeat_helper7, 3),
[ts_sym__map] = REDUCE(ts_aux_sym_repeat_helper7, 3),
[ts_sym__struct] = REDUCE(ts_aux_sym_repeat_helper7, 3),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_repeat_helper7, 3),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym_repeat_helper7, 3),
[ts_sym__identifier] = REDUCE(ts_aux_sym__func_signature_repeat2, 3),
[ts_sym__interface] = REDUCE(ts_aux_sym__func_signature_repeat2, 3),
[ts_sym__map] = REDUCE(ts_aux_sym__func_signature_repeat2, 3),
[ts_sym__struct] = REDUCE(ts_aux_sym__func_signature_repeat2, 3),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym__func_signature_repeat2, 3),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym__func_signature_repeat2, 3),
},
[125] = {
[ts_sym__identifier] = SHIFT(25),
[ts_sym_var_name] = SHIFT(126),
},
[126] = {
[ts_sym__identifier] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_sym__interface] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_sym__map] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_sym__struct] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_aux_sym_repeat_helper6] = SHIFT(127),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_sym__identifier] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_sym__interface] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_sym__map] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_sym__struct] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_aux_sym__func_signature_repeat1] = SHIFT(127),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym__func_signature_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(125),
},
[127] = {
[ts_sym__identifier] = REDUCE(ts_aux_sym_repeat_helper6, 3),
[ts_sym__interface] = REDUCE(ts_aux_sym_repeat_helper6, 3),
[ts_sym__map] = REDUCE(ts_aux_sym_repeat_helper6, 3),
[ts_sym__struct] = REDUCE(ts_aux_sym_repeat_helper6, 3),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_repeat_helper6, 3),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym_repeat_helper6, 3),
[ts_sym__identifier] = REDUCE(ts_aux_sym__func_signature_repeat1, 3),
[ts_sym__interface] = REDUCE(ts_aux_sym__func_signature_repeat1, 3),
[ts_sym__map] = REDUCE(ts_aux_sym__func_signature_repeat1, 3),
[ts_sym__struct] = REDUCE(ts_aux_sym__func_signature_repeat1, 3),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym__func_signature_repeat1, 3),
[ts_aux_sym_token7] = REDUCE(ts_aux_sym__func_signature_repeat1, 3),
},
[128] = {
[ts_sym__identifier] = SHIFT(50),
@ -2089,8 +2089,8 @@ PARSE_TABLE = {
[ts_sym_var_name] = SHIFT(134),
},
[131] = {
[ts_aux_sym_repeat_helper10] = SHIFT(132),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper10, 0),
[ts_aux_sym__func_signature_repeat5] = SHIFT(132),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat5, 0),
[ts_aux_sym_token9] = SHIFT(105),
},
[132] = {
@ -2105,8 +2105,8 @@ PARSE_TABLE = {
[ts_sym_type_name] = SHIFT(135),
},
[135] = {
[ts_aux_sym_repeat_helper9] = SHIFT(136),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper9, 0),
[ts_aux_sym__func_signature_repeat4] = SHIFT(136),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat4, 0),
[ts_aux_sym_token9] = SHIFT(112),
},
[136] = {
@ -2120,8 +2120,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_interface_type, 4),
},
[139] = {
[ts_aux_sym_repeat_helper8] = SHIFT(140),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym__func_signature_repeat3] = SHIFT(140),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat3, 0),
[ts_aux_sym_token9] = SHIFT(117),
},
[140] = {
@ -2145,8 +2145,8 @@ PARSE_TABLE = {
[ts_sym_var_name] = SHIFT(148),
},
[145] = {
[ts_aux_sym_repeat_helper10] = SHIFT(146),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper10, 0),
[ts_aux_sym__func_signature_repeat5] = SHIFT(146),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat5, 0),
[ts_aux_sym_token9] = SHIFT(105),
},
[146] = {
@ -2160,8 +2160,8 @@ PARSE_TABLE = {
[ts_sym_type_name] = SHIFT(149),
},
[149] = {
[ts_aux_sym_repeat_helper9] = SHIFT(150),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper9, 0),
[ts_aux_sym__func_signature_repeat4] = SHIFT(150),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat4, 0),
[ts_aux_sym_token9] = SHIFT(112),
},
[150] = {
@ -2185,8 +2185,8 @@ PARSE_TABLE = {
[ts_sym_var_name] = SHIFT(158),
},
[155] = {
[ts_aux_sym_repeat_helper10] = SHIFT(156),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper10, 0),
[ts_aux_sym__func_signature_repeat5] = SHIFT(156),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat5, 0),
[ts_aux_sym_token9] = SHIFT(105),
},
[156] = {
@ -2200,8 +2200,8 @@ PARSE_TABLE = {
[ts_sym_type_name] = SHIFT(159),
},
[159] = {
[ts_aux_sym_repeat_helper9] = SHIFT(160),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper9, 0),
[ts_aux_sym__func_signature_repeat4] = SHIFT(160),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym__func_signature_repeat4, 0),
[ts_aux_sym_token9] = SHIFT(112),
},
[160] = {
@ -2246,8 +2246,8 @@ PARSE_TABLE = {
[166] = {
[ts_sym__identifier] = SHIFT(18),
[ts_sym_var_name] = SHIFT(31),
[ts_aux_sym_repeat_helper5] = SHIFT(167),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_interface_type_repeat1] = SHIFT(167),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_interface_type_repeat1, 0),
},
[167] = {
[ts_aux_sym_token5] = SHIFT(168),
@ -2300,8 +2300,8 @@ PARSE_TABLE = {
[174] = {
[ts_sym__identifier] = SHIFT(48),
[ts_sym_var_name] = SHIFT(49),
[ts_aux_sym_repeat_helper4] = SHIFT(175),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_aux_sym_struct_type_repeat1] = SHIFT(175),
[ts_aux_sym_token5] = REDUCE(ts_aux_sym_struct_type_repeat1, 0),
},
[175] = {
[ts_aux_sym_token5] = SHIFT(176),
@ -2409,8 +2409,8 @@ PARSE_TABLE = {
[ts_sym_func_declaration] = SHIFT(192),
[ts_sym_type_declaration] = SHIFT(192),
[ts_sym_var_declaration] = SHIFT(192),
[ts_aux_sym_repeat_helper2] = SHIFT(193),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_program_repeat2] = SHIFT(193),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_program_repeat2, 0),
},
[192] = {
[ts_sym__func] = REDUCE(ts_sym_declaration, 1),
@ -2419,7 +2419,7 @@ PARSE_TABLE = {
[ts_builtin_sym_end] = REDUCE(ts_sym_declaration, 1),
},
[193] = {
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_repeat_helper2, 2),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_program_repeat2, 2),
},
[194] = {
[ts_builtin_sym_end] = REDUCE(ts_sym_program, 3),

View file

@ -39,14 +39,14 @@ enum {
ts_sym_switch_statement = 34,
ts_sym_true = 35,
ts_sym_var_declaration = 36,
ts_aux_sym_repeat_helper1 = 37,
ts_aux_sym_repeat_helper2 = 38,
ts_aux_sym_repeat_helper3 = 39,
ts_aux_sym_repeat_helper4 = 40,
ts_aux_sym_repeat_helper5 = 41,
ts_aux_sym_repeat_helper6 = 42,
ts_aux_sym_repeat_helper7 = 43,
ts_aux_sym_repeat_helper8 = 44,
ts_aux_sym_array_repeat1 = 37,
ts_aux_sym_formal_parameters_repeat1 = 38,
ts_aux_sym_function_call_repeat1 = 39,
ts_aux_sym_object_repeat1 = 40,
ts_aux_sym_program_repeat1 = 41,
ts_aux_sym_statement_block_repeat1 = 42,
ts_aux_sym_switch_case_repeat1 = 43,
ts_aux_sym_switch_statement_repeat1 = 44,
ts_aux_sym_token1 = 45,
ts_aux_sym_token10 = 46,
ts_aux_sym_token2 = 47,
@ -95,14 +95,14 @@ SYMBOL_NAMES = {
[ts_sym_switch_statement] = "switch_statement",
[ts_sym_true] = "true",
[ts_sym_var_declaration] = "var_declaration",
[ts_aux_sym_repeat_helper1] = "repeat_helper1",
[ts_aux_sym_repeat_helper2] = "repeat_helper2",
[ts_aux_sym_repeat_helper3] = "repeat_helper3",
[ts_aux_sym_repeat_helper4] = "repeat_helper4",
[ts_aux_sym_repeat_helper5] = "repeat_helper5",
[ts_aux_sym_repeat_helper6] = "repeat_helper6",
[ts_aux_sym_repeat_helper7] = "repeat_helper7",
[ts_aux_sym_repeat_helper8] = "repeat_helper8",
[ts_aux_sym_array_repeat1] = "array_repeat1",
[ts_aux_sym_formal_parameters_repeat1] = "formal_parameters_repeat1",
[ts_aux_sym_function_call_repeat1] = "function_call_repeat1",
[ts_aux_sym_object_repeat1] = "object_repeat1",
[ts_aux_sym_program_repeat1] = "program_repeat1",
[ts_aux_sym_statement_block_repeat1] = "statement_block_repeat1",
[ts_aux_sym_switch_case_repeat1] = "switch_case_repeat1",
[ts_aux_sym_switch_statement_repeat1] = "switch_statement_repeat1",
[ts_aux_sym_token1] = "'{'",
[ts_aux_sym_token10] = "']'",
[ts_aux_sym_token2] = "'}'",
@ -128,14 +128,14 @@ HIDDEN_SYMBOLS = {
[ts_sym__switch] = 1,
[ts_sym__terminator] = 1,
[ts_sym__var] = 1,
[ts_aux_sym_repeat_helper1] = 1,
[ts_aux_sym_repeat_helper2] = 1,
[ts_aux_sym_repeat_helper3] = 1,
[ts_aux_sym_repeat_helper4] = 1,
[ts_aux_sym_repeat_helper5] = 1,
[ts_aux_sym_repeat_helper6] = 1,
[ts_aux_sym_repeat_helper7] = 1,
[ts_aux_sym_repeat_helper8] = 1,
[ts_aux_sym_array_repeat1] = 1,
[ts_aux_sym_formal_parameters_repeat1] = 1,
[ts_aux_sym_function_call_repeat1] = 1,
[ts_aux_sym_object_repeat1] = 1,
[ts_aux_sym_program_repeat1] = 1,
[ts_aux_sym_statement_block_repeat1] = 1,
[ts_aux_sym_switch_case_repeat1] = 1,
[ts_aux_sym_switch_statement_repeat1] = 1,
[ts_aux_sym_token1] = 1,
[ts_aux_sym_token10] = 1,
[ts_aux_sym_token2] = 1,
@ -2717,10 +2717,10 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(588),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(588),
[ts_aux_sym_repeat_helper1] = SHIFT(603),
[ts_aux_sym_program_repeat1] = SHIFT(603),
[ts_aux_sym_token1] = SHIFT(592),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_program_repeat1, 0),
[ts_builtin_sym_error] = SHIFT(596),
},
[1] = {
@ -2814,9 +2814,9 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(522),
[ts_aux_sym_statement_block_repeat1] = SHIFT(522),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_statement_block_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_error] = SHIFT(524),
},
@ -2929,9 +2929,9 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(507),
[ts_aux_sym_statement_block_repeat1] = SHIFT(507),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_statement_block_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_error] = SHIFT(509),
},
@ -3002,9 +3002,9 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(457),
[ts_aux_sym_statement_block_repeat1] = SHIFT(457),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_statement_block_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_error] = SHIFT(459),
},
@ -3114,9 +3114,9 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(287),
[ts_aux_sym_statement_block_repeat1] = SHIFT(287),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_statement_block_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_error] = SHIFT(289),
},
@ -3208,9 +3208,9 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_expression, 1),
},
[42] = {
[ts_aux_sym_repeat_helper5] = SHIFT(43),
[ts_aux_sym_function_call_repeat1] = SHIFT(43),
[ts_aux_sym_token3] = SHIFT(45),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_function_call_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(49),
[ts_aux_sym_token8] = SHIFT(52),
[ts_aux_sym_token9] = SHIFT(54),
@ -3244,9 +3244,9 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(93),
},
[46] = {
[ts_aux_sym_repeat_helper5] = SHIFT(47),
[ts_aux_sym_function_call_repeat1] = SHIFT(47),
[ts_aux_sym_token3] = SHIFT(45),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_function_call_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(49),
[ts_aux_sym_token8] = SHIFT(52),
[ts_aux_sym_token9] = SHIFT(54),
@ -3281,15 +3281,15 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(93),
},
[50] = {
[ts_aux_sym_repeat_helper5] = SHIFT(51),
[ts_aux_sym_function_call_repeat1] = SHIFT(51),
[ts_aux_sym_token3] = SHIFT(45),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_function_call_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(49),
[ts_aux_sym_token8] = SHIFT(52),
[ts_aux_sym_token9] = SHIFT(54),
},
[51] = {
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 3),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_function_call_repeat1, 3),
},
[52] = {
[ts_sym_identifier] = SHIFT(53),
@ -3365,9 +3365,9 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(253),
[ts_aux_sym_statement_block_repeat1] = SHIFT(253),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_statement_block_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_error] = SHIFT(255),
},
@ -3446,9 +3446,9 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(93),
},
[65] = {
[ts_aux_sym_repeat_helper5] = SHIFT(66),
[ts_aux_sym_function_call_repeat1] = SHIFT(66),
[ts_aux_sym_token3] = SHIFT(45),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_function_call_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(49),
[ts_aux_sym_token8] = SHIFT(52),
[ts_aux_sym_token9] = SHIFT(54),
@ -3569,9 +3569,9 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(239),
[ts_aux_sym_statement_block_repeat1] = SHIFT(239),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_statement_block_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_error] = SHIFT(241),
},
@ -3682,9 +3682,9 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(93),
},
[89] = {
[ts_aux_sym_repeat_helper5] = SHIFT(90),
[ts_aux_sym_function_call_repeat1] = SHIFT(90),
[ts_aux_sym_token3] = SHIFT(45),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_function_call_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(49),
[ts_aux_sym_token8] = SHIFT(52),
[ts_aux_sym_token9] = SHIFT(54),
@ -3770,9 +3770,9 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(217),
[ts_aux_sym_statement_block_repeat1] = SHIFT(217),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_statement_block_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_error] = SHIFT(219),
},
@ -3805,14 +3805,14 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(99),
[ts_aux_sym_statement_block_repeat1] = SHIFT(99),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_statement_block_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_error] = SHIFT(216),
},
[99] = {
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 2),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_statement_block_repeat1, 2),
},
[100] = {
[ts_sym__break] = SHIFT(9),
@ -3843,7 +3843,7 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(204),
[ts_aux_sym_statement_block_repeat1] = SHIFT(204),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = SHIFT(206),
[ts_aux_sym_token9] = SHIFT(207),
@ -3891,8 +3891,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_expression, 1),
},
[105] = {
[ts_aux_sym_repeat_helper7] = SHIFT(106),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(106),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(108),
[ts_aux_sym_token7] = SHIFT(113),
[ts_aux_sym_token8] = SHIFT(118),
@ -3928,9 +3928,9 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(93),
},
[109] = {
[ts_aux_sym_repeat_helper5] = SHIFT(110),
[ts_aux_sym_function_call_repeat1] = SHIFT(110),
[ts_aux_sym_token3] = SHIFT(45),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_function_call_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(49),
[ts_aux_sym_token8] = SHIFT(52),
[ts_aux_sym_token9] = SHIFT(54),
@ -3980,15 +3980,15 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(146),
},
[116] = {
[ts_aux_sym_repeat_helper7] = SHIFT(117),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(117),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(108),
[ts_aux_sym_token7] = SHIFT(113),
[ts_aux_sym_token8] = SHIFT(118),
[ts_aux_sym_token9] = SHIFT(120),
},
[117] = {
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 5),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 5),
},
[118] = {
[ts_sym_identifier] = SHIFT(119),
@ -4137,8 +4137,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(146),
},
[134] = {
[ts_aux_sym_repeat_helper7] = SHIFT(135),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(135),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(108),
[ts_aux_sym_token7] = SHIFT(113),
[ts_aux_sym_token8] = SHIFT(118),
@ -4216,8 +4216,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(146),
},
[143] = {
[ts_aux_sym_repeat_helper7] = SHIFT(144),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(144),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(108),
[ts_aux_sym_token7] = SHIFT(113),
[ts_aux_sym_token8] = SHIFT(118),
@ -4269,8 +4269,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_expression, 1),
},
[149] = {
[ts_aux_sym_repeat_helper8] = SHIFT(150),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(150),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(152),
[ts_aux_sym_token7] = SHIFT(157),
[ts_aux_sym_token8] = SHIFT(160),
@ -4307,9 +4307,9 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(93),
},
[153] = {
[ts_aux_sym_repeat_helper5] = SHIFT(154),
[ts_aux_sym_function_call_repeat1] = SHIFT(154),
[ts_aux_sym_token3] = SHIFT(45),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_function_call_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(49),
[ts_aux_sym_token8] = SHIFT(52),
[ts_aux_sym_token9] = SHIFT(54),
@ -4352,15 +4352,15 @@ PARSE_TABLE = {
[ts_builtin_sym_error] = SHIFT(190),
},
[158] = {
[ts_aux_sym_repeat_helper8] = SHIFT(159),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(159),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(152),
[ts_aux_sym_token7] = SHIFT(157),
[ts_aux_sym_token8] = SHIFT(160),
[ts_aux_sym_token9] = SHIFT(162),
},
[159] = {
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 3),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 3),
},
[160] = {
[ts_sym_identifier] = SHIFT(161),
@ -4428,8 +4428,8 @@ PARSE_TABLE = {
[ts_builtin_sym_error] = SHIFT(189),
},
[166] = {
[ts_aux_sym_repeat_helper8] = SHIFT(167),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(167),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(152),
[ts_aux_sym_token7] = SHIFT(157),
[ts_aux_sym_token8] = SHIFT(160),
@ -4507,8 +4507,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(146),
},
[175] = {
[ts_aux_sym_repeat_helper7] = SHIFT(176),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(176),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(108),
[ts_aux_sym_token7] = SHIFT(113),
[ts_aux_sym_token8] = SHIFT(118),
@ -4532,8 +4532,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_object, 2),
},
[179] = {
[ts_aux_sym_repeat_helper7] = SHIFT(180),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(180),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(113),
},
[180] = {
@ -4568,8 +4568,8 @@ PARSE_TABLE = {
[ts_builtin_sym_error] = SHIFT(187),
},
[183] = {
[ts_aux_sym_repeat_helper8] = SHIFT(184),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(184),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(152),
[ts_aux_sym_token7] = SHIFT(157),
[ts_aux_sym_token8] = SHIFT(160),
@ -4593,8 +4593,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_array, 2),
},
[187] = {
[ts_aux_sym_repeat_helper8] = SHIFT(184),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(184),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(157),
},
[188] = {
@ -4604,13 +4604,13 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_array, 2),
},
[189] = {
[ts_aux_sym_repeat_helper8] = SHIFT(167),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(167),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(157),
},
[190] = {
[ts_aux_sym_repeat_helper8] = SHIFT(159),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(159),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(157),
},
[191] = {
@ -4621,8 +4621,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_array, 2),
},
[192] = {
[ts_aux_sym_repeat_helper8] = SHIFT(150),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(150),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(157),
},
[193] = {
@ -4633,8 +4633,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_object, 2),
},
[194] = {
[ts_aux_sym_repeat_helper7] = SHIFT(195),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(195),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(113),
},
[195] = {
@ -4654,8 +4654,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_object, 2),
},
[198] = {
[ts_aux_sym_repeat_helper7] = SHIFT(199),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(199),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(113),
},
[199] = {
@ -4668,12 +4668,12 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_object, 4),
},
[201] = {
[ts_aux_sym_repeat_helper7] = SHIFT(202),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(202),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(113),
},
[202] = {
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 3),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 3),
},
[203] = {
[ts_sym__terminator] = REDUCE(ts_sym_literal, 1),
@ -4731,8 +4731,8 @@ PARSE_TABLE = {
[ts_builtin_sym_error] = SHIFT(212),
},
[208] = {
[ts_aux_sym_repeat_helper8] = SHIFT(209),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(209),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(152),
[ts_aux_sym_token7] = SHIFT(157),
[ts_aux_sym_token8] = SHIFT(160),
@ -4754,13 +4754,13 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_array, 2),
},
[212] = {
[ts_aux_sym_repeat_helper8] = SHIFT(209),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(209),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(157),
},
[213] = {
[ts_sym__terminator] = SHIFT(63),
[ts_aux_sym_repeat_helper7] = SHIFT(214),
[ts_aux_sym_object_repeat1] = SHIFT(214),
[ts_aux_sym_token2] = SHIFT(205),
[ts_aux_sym_token7] = SHIFT(113),
},
@ -4810,8 +4810,8 @@ PARSE_TABLE = {
[ts_aux_sym_token4] = SHIFT(230),
},
[224] = {
[ts_aux_sym_repeat_helper6] = SHIFT(225),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_aux_sym_formal_parameters_repeat1] = SHIFT(225),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_formal_parameters_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(227),
},
[225] = {
@ -4824,19 +4824,19 @@ PARSE_TABLE = {
[ts_sym_identifier] = SHIFT(228),
},
[228] = {
[ts_aux_sym_repeat_helper6] = SHIFT(229),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper6, 0),
[ts_aux_sym_formal_parameters_repeat1] = SHIFT(229),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_formal_parameters_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(227),
},
[229] = {
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper6, 3),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_formal_parameters_repeat1, 3),
},
[230] = {
[ts_aux_sym_token1] = REDUCE(ts_sym_formal_parameters, 2),
},
[231] = {
[ts_aux_sym_repeat_helper8] = SHIFT(232),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(232),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(152),
[ts_aux_sym_token7] = SHIFT(157),
[ts_aux_sym_token8] = SHIFT(160),
@ -4860,8 +4860,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_array, 2),
},
[235] = {
[ts_aux_sym_repeat_helper8] = SHIFT(232),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(232),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(157),
},
[236] = {
@ -4874,8 +4874,8 @@ PARSE_TABLE = {
[ts_aux_sym_token5] = SHIFT(102),
},
[238] = {
[ts_aux_sym_repeat_helper7] = SHIFT(214),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(214),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(113),
},
[239] = {
@ -4908,8 +4908,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_function_expression, 4),
},
[245] = {
[ts_aux_sym_repeat_helper7] = SHIFT(246),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(246),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(108),
[ts_aux_sym_token7] = SHIFT(113),
[ts_aux_sym_token8] = SHIFT(118),
@ -4933,8 +4933,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_object, 2),
},
[249] = {
[ts_aux_sym_repeat_helper7] = SHIFT(250),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(250),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(113),
},
[250] = {
@ -5093,8 +5093,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(146),
},
[274] = {
[ts_aux_sym_repeat_helper7] = SHIFT(275),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(275),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(108),
[ts_aux_sym_token7] = SHIFT(113),
[ts_aux_sym_token8] = SHIFT(118),
@ -5114,8 +5114,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_object, 2),
},
[278] = {
[ts_aux_sym_repeat_helper7] = SHIFT(279),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(279),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(113),
},
[279] = {
@ -5148,8 +5148,8 @@ PARSE_TABLE = {
[ts_builtin_sym_error] = SHIFT(286),
},
[282] = {
[ts_aux_sym_repeat_helper8] = SHIFT(283),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(283),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(152),
[ts_aux_sym_token7] = SHIFT(157),
[ts_aux_sym_token8] = SHIFT(160),
@ -5169,8 +5169,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_array, 2),
},
[286] = {
[ts_aux_sym_repeat_helper8] = SHIFT(283),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(283),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(157),
},
[287] = {
@ -5203,9 +5203,9 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_function_expression, 4),
},
[293] = {
[ts_aux_sym_repeat_helper5] = SHIFT(294),
[ts_aux_sym_function_call_repeat1] = SHIFT(294),
[ts_aux_sym_token3] = SHIFT(45),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_function_call_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(49),
[ts_aux_sym_token8] = SHIFT(52),
[ts_aux_sym_token9] = SHIFT(54),
@ -5232,8 +5232,8 @@ PARSE_TABLE = {
[ts_sym__case] = SHIFT(299),
[ts_sym__default] = SHIFT(350),
[ts_sym_switch_case] = SHIFT(357),
[ts_aux_sym_repeat_helper3] = SHIFT(454),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0),
[ts_aux_sym_switch_statement_repeat1] = SHIFT(454),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_switch_statement_repeat1, 0),
},
[299] = {
[ts_sym__function] = SHIFT(300),
@ -5298,9 +5298,9 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(304),
[ts_aux_sym_statement_block_repeat1] = SHIFT(304),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_statement_block_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_error] = SHIFT(306),
},
@ -5370,9 +5370,9 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(93),
},
[314] = {
[ts_aux_sym_repeat_helper5] = SHIFT(315),
[ts_aux_sym_function_call_repeat1] = SHIFT(315),
[ts_aux_sym_token3] = SHIFT(45),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper5, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_function_call_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(49),
[ts_aux_sym_token8] = SHIFT(52),
[ts_aux_sym_token9] = SHIFT(54),
@ -5394,8 +5394,8 @@ PARSE_TABLE = {
},
[318] = {
[ts_sym__break] = SHIFT(319),
[ts_sym__case] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_sym__default] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_sym__case] = REDUCE(ts_aux_sym_switch_case_repeat1, 0),
[ts_sym__default] = REDUCE(ts_aux_sym_switch_case_repeat1, 0),
[ts_sym__for] = SHIFT(321),
[ts_sym__function] = SHIFT(5),
[ts_sym__if] = SHIFT(329),
@ -5423,9 +5423,9 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(390),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(390),
[ts_aux_sym_repeat_helper4] = SHIFT(429),
[ts_aux_sym_switch_case_repeat1] = SHIFT(429),
[ts_aux_sym_token1] = SHIFT(395),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_switch_case_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_error] = SHIFT(399),
},
@ -5866,16 +5866,16 @@ PARSE_TABLE = {
[ts_sym__case] = SHIFT(299),
[ts_sym__default] = SHIFT(350),
[ts_sym_switch_case] = SHIFT(357),
[ts_aux_sym_repeat_helper3] = SHIFT(401),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0),
[ts_aux_sym_switch_statement_repeat1] = SHIFT(401),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_switch_statement_repeat1, 0),
},
[350] = {
[ts_aux_sym_token5] = SHIFT(351),
},
[351] = {
[ts_sym__break] = SHIFT(319),
[ts_sym__case] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_sym__default] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_sym__case] = REDUCE(ts_aux_sym_switch_case_repeat1, 0),
[ts_sym__default] = REDUCE(ts_aux_sym_switch_case_repeat1, 0),
[ts_sym__for] = SHIFT(321),
[ts_sym__function] = SHIFT(5),
[ts_sym__if] = SHIFT(329),
@ -5903,9 +5903,9 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(390),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(390),
[ts_aux_sym_repeat_helper4] = SHIFT(400),
[ts_aux_sym_switch_case_repeat1] = SHIFT(400),
[ts_aux_sym_token1] = SHIFT(395),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_switch_case_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_error] = SHIFT(399),
},
@ -5945,18 +5945,18 @@ PARSE_TABLE = {
[ts_sym__case] = SHIFT(299),
[ts_sym__default] = SHIFT(350),
[ts_sym_switch_case] = SHIFT(357),
[ts_aux_sym_repeat_helper3] = SHIFT(359),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0),
[ts_aux_sym_switch_statement_repeat1] = SHIFT(359),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_switch_statement_repeat1, 0),
},
[357] = {
[ts_sym__case] = SHIFT(299),
[ts_sym__default] = SHIFT(350),
[ts_sym_switch_case] = SHIFT(357),
[ts_aux_sym_repeat_helper3] = SHIFT(358),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0),
[ts_aux_sym_switch_statement_repeat1] = SHIFT(358),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_switch_statement_repeat1, 0),
},
[358] = {
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 2),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_switch_statement_repeat1, 2),
},
[359] = {
[ts_aux_sym_token2] = SHIFT(360),
@ -6084,8 +6084,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(146),
},
[372] = {
[ts_aux_sym_repeat_helper7] = SHIFT(373),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(373),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(108),
[ts_aux_sym_token7] = SHIFT(113),
[ts_aux_sym_token8] = SHIFT(118),
@ -6107,8 +6107,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_object, 2),
},
[376] = {
[ts_aux_sym_repeat_helper7] = SHIFT(377),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(377),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(113),
},
[377] = {
@ -6142,8 +6142,8 @@ PARSE_TABLE = {
[ts_builtin_sym_error] = SHIFT(384),
},
[380] = {
[ts_aux_sym_repeat_helper8] = SHIFT(381),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(381),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(152),
[ts_aux_sym_token7] = SHIFT(157),
[ts_aux_sym_token8] = SHIFT(160),
@ -6165,8 +6165,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_array, 2),
},
[384] = {
[ts_aux_sym_repeat_helper8] = SHIFT(381),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(381),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(157),
},
[385] = {
@ -6272,8 +6272,8 @@ PARSE_TABLE = {
},
[393] = {
[ts_sym__break] = SHIFT(319),
[ts_sym__case] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_sym__default] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_sym__case] = REDUCE(ts_aux_sym_switch_case_repeat1, 0),
[ts_sym__default] = REDUCE(ts_aux_sym_switch_case_repeat1, 0),
[ts_sym__for] = SHIFT(321),
[ts_sym__function] = SHIFT(5),
[ts_sym__if] = SHIFT(329),
@ -6301,16 +6301,16 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(390),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(390),
[ts_aux_sym_repeat_helper4] = SHIFT(394),
[ts_aux_sym_switch_case_repeat1] = SHIFT(394),
[ts_aux_sym_token1] = SHIFT(395),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper4, 0),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_switch_case_repeat1, 0),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_error] = SHIFT(399),
},
[394] = {
[ts_sym__case] = REDUCE(ts_aux_sym_repeat_helper4, 2),
[ts_sym__default] = REDUCE(ts_aux_sym_repeat_helper4, 2),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper4, 2),
[ts_sym__case] = REDUCE(ts_aux_sym_switch_case_repeat1, 2),
[ts_sym__default] = REDUCE(ts_aux_sym_switch_case_repeat1, 2),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_switch_case_repeat1, 2),
},
[395] = {
[ts_sym__break] = SHIFT(9),
@ -6341,7 +6341,7 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(396),
[ts_aux_sym_statement_block_repeat1] = SHIFT(396),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = SHIFT(206),
[ts_aux_sym_token9] = SHIFT(207),
@ -6372,7 +6372,7 @@ PARSE_TABLE = {
},
[398] = {
[ts_sym__terminator] = SHIFT(63),
[ts_aux_sym_repeat_helper7] = SHIFT(214),
[ts_aux_sym_object_repeat1] = SHIFT(214),
[ts_aux_sym_token2] = SHIFT(397),
[ts_aux_sym_token7] = SHIFT(113),
},
@ -6616,7 +6616,7 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(415),
[ts_aux_sym_statement_block_repeat1] = SHIFT(415),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = SHIFT(206),
[ts_aux_sym_token9] = SHIFT(207),
@ -6648,7 +6648,7 @@ PARSE_TABLE = {
},
[417] = {
[ts_sym__terminator] = SHIFT(63),
[ts_aux_sym_repeat_helper7] = SHIFT(214),
[ts_aux_sym_object_repeat1] = SHIFT(214),
[ts_aux_sym_token2] = SHIFT(416),
[ts_aux_sym_token7] = SHIFT(113),
},
@ -6893,8 +6893,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = SHIFT(146),
},
[441] = {
[ts_aux_sym_repeat_helper7] = SHIFT(442),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(442),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(108),
[ts_aux_sym_token7] = SHIFT(113),
[ts_aux_sym_token8] = SHIFT(118),
@ -6916,8 +6916,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_object, 2),
},
[445] = {
[ts_aux_sym_repeat_helper7] = SHIFT(446),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper7, 0),
[ts_aux_sym_object_repeat1] = SHIFT(446),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_object_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(113),
},
[446] = {
@ -6951,8 +6951,8 @@ PARSE_TABLE = {
[ts_builtin_sym_error] = SHIFT(453),
},
[449] = {
[ts_aux_sym_repeat_helper8] = SHIFT(450),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(450),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token3] = SHIFT(152),
[ts_aux_sym_token7] = SHIFT(157),
[ts_aux_sym_token8] = SHIFT(160),
@ -6974,8 +6974,8 @@ PARSE_TABLE = {
[ts_aux_sym_token9] = REDUCE(ts_sym_array, 2),
},
[453] = {
[ts_aux_sym_repeat_helper8] = SHIFT(450),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_repeat_helper8, 0),
[ts_aux_sym_array_repeat1] = SHIFT(450),
[ts_aux_sym_token10] = REDUCE(ts_aux_sym_array_repeat1, 0),
[ts_aux_sym_token7] = SHIFT(157),
},
[454] = {
@ -7294,8 +7294,8 @@ PARSE_TABLE = {
[ts_sym__case] = SHIFT(299),
[ts_sym__default] = SHIFT(350),
[ts_sym_switch_case] = SHIFT(357),
[ts_aux_sym_repeat_helper3] = SHIFT(482),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0),
[ts_aux_sym_switch_statement_repeat1] = SHIFT(482),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_switch_statement_repeat1, 0),
},
[482] = {
[ts_aux_sym_token2] = SHIFT(483),
@ -7517,7 +7517,7 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(496),
[ts_aux_sym_statement_block_repeat1] = SHIFT(496),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = SHIFT(206),
[ts_aux_sym_token9] = SHIFT(207),
@ -7547,7 +7547,7 @@ PARSE_TABLE = {
},
[498] = {
[ts_sym__terminator] = SHIFT(63),
[ts_aux_sym_repeat_helper7] = SHIFT(214),
[ts_aux_sym_object_repeat1] = SHIFT(214),
[ts_aux_sym_token2] = SHIFT(497),
[ts_aux_sym_token7] = SHIFT(113),
},
@ -8198,8 +8198,8 @@ PARSE_TABLE = {
[ts_sym__case] = SHIFT(299),
[ts_sym__default] = SHIFT(350),
[ts_sym_switch_case] = SHIFT(357),
[ts_aux_sym_repeat_helper3] = SHIFT(553),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0),
[ts_aux_sym_switch_statement_repeat1] = SHIFT(553),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_switch_statement_repeat1, 0),
},
[553] = {
[ts_aux_sym_token2] = SHIFT(554),
@ -8421,7 +8421,7 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(567),
[ts_aux_sym_statement_block_repeat1] = SHIFT(567),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = SHIFT(206),
[ts_aux_sym_token9] = SHIFT(207),
@ -8451,7 +8451,7 @@ PARSE_TABLE = {
},
[569] = {
[ts_sym__terminator] = SHIFT(63),
[ts_aux_sym_repeat_helper7] = SHIFT(214),
[ts_aux_sym_object_repeat1] = SHIFT(214),
[ts_aux_sym_token2] = SHIFT(568),
[ts_aux_sym_token7] = SHIFT(113),
},
@ -8571,8 +8571,8 @@ PARSE_TABLE = {
[ts_sym__case] = SHIFT(299),
[ts_sym__default] = SHIFT(350),
[ts_sym_switch_case] = SHIFT(357),
[ts_aux_sym_repeat_helper3] = SHIFT(581),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_repeat_helper3, 0),
[ts_aux_sym_switch_statement_repeat1] = SHIFT(581),
[ts_aux_sym_token2] = REDUCE(ts_aux_sym_switch_statement_repeat1, 0),
},
[581] = {
[ts_aux_sym_token2] = SHIFT(582),
@ -8737,7 +8737,7 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(61),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(61),
[ts_aux_sym_repeat_helper2] = SHIFT(593),
[ts_aux_sym_statement_block_repeat1] = SHIFT(593),
[ts_aux_sym_token1] = SHIFT(100),
[ts_aux_sym_token2] = SHIFT(206),
[ts_aux_sym_token9] = SHIFT(207),
@ -8766,7 +8766,7 @@ PARSE_TABLE = {
},
[595] = {
[ts_sym__terminator] = SHIFT(63),
[ts_aux_sym_repeat_helper7] = SHIFT(214),
[ts_aux_sym_object_repeat1] = SHIFT(214),
[ts_aux_sym_token2] = SHIFT(594),
[ts_aux_sym_token7] = SHIFT(113),
},
@ -8829,14 +8829,14 @@ PARSE_TABLE = {
[ts_sym_switch_statement] = SHIFT(588),
[ts_sym_true] = SHIFT(59),
[ts_sym_var_declaration] = SHIFT(588),
[ts_aux_sym_repeat_helper1] = SHIFT(602),
[ts_aux_sym_program_repeat1] = SHIFT(602),
[ts_aux_sym_token1] = SHIFT(592),
[ts_aux_sym_token9] = SHIFT(207),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_program_repeat1, 0),
[ts_builtin_sym_error] = SHIFT(596),
},
[602] = {
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_repeat_helper1, 2),
[ts_builtin_sym_end] = REDUCE(ts_aux_sym_program_repeat1, 2),
},
[603] = {
[ts_builtin_sym_end] = REDUCE(ts_sym_program, 1),

View file

@ -12,8 +12,8 @@ enum {
ts_sym_string = 7,
ts_sym_true = 8,
ts_sym_value = 9,
ts_aux_sym_repeat_helper1 = 10,
ts_aux_sym_repeat_helper2 = 11,
ts_aux_sym_array_repeat1 = 10,
ts_aux_sym_object_repeat1 = 11,
ts_aux_sym_token1 = 12,
ts_aux_sym_token2 = 13,
ts_aux_sym_token3 = 14,
@ -31,8 +31,8 @@ SYMBOL_NAMES = {
[ts_sym_string] = "string",
[ts_sym_true] = "true",
[ts_sym_value] = "value",
[ts_aux_sym_repeat_helper1] = "repeat_helper1",
[ts_aux_sym_repeat_helper2] = "repeat_helper2",
[ts_aux_sym_array_repeat1] = "array_repeat1",
[ts_aux_sym_object_repeat1] = "object_repeat1",
[ts_aux_sym_token1] = "'{'",
[ts_aux_sym_token2] = "':'",
[ts_aux_sym_token3] = "','",
@ -44,8 +44,8 @@ SYMBOL_NAMES = {
};
HIDDEN_SYMBOLS = {
[ts_aux_sym_repeat_helper1] = 1,
[ts_aux_sym_repeat_helper2] = 1,
[ts_aux_sym_array_repeat1] = 1,
[ts_aux_sym_object_repeat1] = 1,
[ts_aux_sym_token1] = 1,
[ts_aux_sym_token2] = 1,
[ts_aux_sym_token3] = 1,
@ -468,9 +468,9 @@ PARSE_TABLE = {
[ts_aux_sym_token4] = REDUCE(ts_sym_value, 1),
},
[7] = {
[ts_aux_sym_repeat_helper1] = SHIFT(8),
[ts_aux_sym_object_repeat1] = SHIFT(8),
[ts_aux_sym_token3] = SHIFT(10),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_object_repeat1, 0),
},
[8] = {
[ts_aux_sym_token4] = SHIFT(9),
@ -498,12 +498,12 @@ PARSE_TABLE = {
[ts_aux_sym_token5] = SHIFT(21),
},
[13] = {
[ts_aux_sym_repeat_helper1] = SHIFT(14),
[ts_aux_sym_object_repeat1] = SHIFT(14),
[ts_aux_sym_token3] = SHIFT(10),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_object_repeat1, 0),
},
[14] = {
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper1, 5),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_object_repeat1, 5),
},
[15] = {
[ts_sym_string] = SHIFT(16),
@ -526,9 +526,9 @@ PARSE_TABLE = {
[ts_aux_sym_token5] = SHIFT(21),
},
[18] = {
[ts_aux_sym_repeat_helper1] = SHIFT(19),
[ts_aux_sym_object_repeat1] = SHIFT(19),
[ts_aux_sym_token3] = SHIFT(10),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_object_repeat1, 0),
},
[19] = {
[ts_aux_sym_token4] = SHIFT(20),
@ -556,9 +556,9 @@ PARSE_TABLE = {
[ts_aux_sym_token6] = REDUCE(ts_sym_value, 1),
},
[23] = {
[ts_aux_sym_repeat_helper2] = SHIFT(24),
[ts_aux_sym_array_repeat1] = SHIFT(24),
[ts_aux_sym_token3] = SHIFT(26),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_array_repeat1, 0),
},
[24] = {
[ts_aux_sym_token6] = SHIFT(25),
@ -581,12 +581,12 @@ PARSE_TABLE = {
[ts_builtin_sym_error] = SHIFT(27),
},
[27] = {
[ts_aux_sym_repeat_helper2] = SHIFT(28),
[ts_aux_sym_array_repeat1] = SHIFT(28),
[ts_aux_sym_token3] = SHIFT(26),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_array_repeat1, 0),
},
[28] = {
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_repeat_helper2, 3),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_array_repeat1, 3),
},
[29] = {
[ts_sym_string] = SHIFT(30),
@ -609,9 +609,9 @@ PARSE_TABLE = {
[ts_aux_sym_token5] = SHIFT(21),
},
[32] = {
[ts_aux_sym_repeat_helper1] = SHIFT(33),
[ts_aux_sym_object_repeat1] = SHIFT(33),
[ts_aux_sym_token3] = SHIFT(10),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_object_repeat1, 0),
},
[33] = {
[ts_aux_sym_token4] = SHIFT(34),
@ -625,9 +625,9 @@ PARSE_TABLE = {
[ts_aux_sym_token6] = REDUCE(ts_sym_object, 2),
},
[36] = {
[ts_aux_sym_repeat_helper1] = SHIFT(37),
[ts_aux_sym_object_repeat1] = SHIFT(37),
[ts_aux_sym_token3] = SHIFT(10),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_object_repeat1, 0),
},
[37] = {
[ts_aux_sym_token4] = SHIFT(38),
@ -651,9 +651,9 @@ PARSE_TABLE = {
[ts_builtin_sym_error] = SHIFT(40),
},
[40] = {
[ts_aux_sym_repeat_helper2] = SHIFT(41),
[ts_aux_sym_array_repeat1] = SHIFT(41),
[ts_aux_sym_token3] = SHIFT(26),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_array_repeat1, 0),
},
[41] = {
[ts_aux_sym_token6] = SHIFT(42),
@ -675,9 +675,9 @@ PARSE_TABLE = {
[ts_aux_sym_token4] = REDUCE(ts_sym_object, 2),
},
[46] = {
[ts_aux_sym_repeat_helper1] = SHIFT(47),
[ts_aux_sym_object_repeat1] = SHIFT(47),
[ts_aux_sym_token3] = SHIFT(10),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_object_repeat1, 0),
},
[47] = {
[ts_aux_sym_token4] = SHIFT(48),
@ -687,20 +687,20 @@ PARSE_TABLE = {
[ts_aux_sym_token4] = REDUCE(ts_sym_object, 4),
},
[49] = {
[ts_aux_sym_repeat_helper1] = SHIFT(50),
[ts_aux_sym_object_repeat1] = SHIFT(50),
[ts_aux_sym_token3] = SHIFT(10),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_object_repeat1, 0),
},
[50] = {
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper1, 3),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_object_repeat1, 3),
},
[51] = {
[ts_builtin_sym_end] = REDUCE(ts_sym_object, 2),
},
[52] = {
[ts_aux_sym_repeat_helper1] = SHIFT(53),
[ts_aux_sym_object_repeat1] = SHIFT(53),
[ts_aux_sym_token3] = SHIFT(10),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_repeat_helper1, 0),
[ts_aux_sym_token4] = REDUCE(ts_aux_sym_object_repeat1, 0),
},
[53] = {
[ts_aux_sym_token4] = SHIFT(54),
@ -723,9 +723,9 @@ PARSE_TABLE = {
[ts_builtin_sym_error] = SHIFT(56),
},
[56] = {
[ts_aux_sym_repeat_helper2] = SHIFT(57),
[ts_aux_sym_array_repeat1] = SHIFT(57),
[ts_aux_sym_token3] = SHIFT(26),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_repeat_helper2, 0),
[ts_aux_sym_token6] = REDUCE(ts_aux_sym_array_repeat1, 0),
},
[57] = {
[ts_aux_sym_token6] = SHIFT(58),

View file

@ -68,24 +68,36 @@ describe("preparing a grammar", []() {
{ "rule1", seq({
sym("x"),
repeat(seq({ sym("a"), sym("b") })),
repeat(sym("a")),
sym("y")
}) },
{ "rule2", repeat(sym("b")) },
})).first;
AssertThat(result, Equals(PreparedGrammar({
{ "rule1", seq({
sym("x"),
make_shared<Symbol>("repeat_helper1", SymbolTypeAuxiliary),
sym("y")
}) },
make_shared<Symbol>("rule1_repeat1", SymbolTypeAuxiliary),
make_shared<Symbol>("rule1_repeat2", SymbolTypeAuxiliary),
sym("y") }) },
{ "rule2", make_shared<Symbol>("rule2_repeat1", SymbolTypeAuxiliary) },
}, {
{ "repeat_helper1", choice({
{ "rule1_repeat1", choice({
seq({
seq({ sym("a"), sym("b") }),
make_shared<Symbol>("repeat_helper1", SymbolTypeAuxiliary),
make_shared<Symbol>("rule1_repeat1", SymbolTypeAuxiliary),
}),
blank(),
}) }
blank() }) },
{ "rule1_repeat2", choice({
seq({
sym("a"),
make_shared<Symbol>("rule1_repeat2", SymbolTypeAuxiliary) }),
blank() }) },
{ "rule2_repeat1", choice({
seq({
sym("b"),
make_shared<Symbol>("rule2_repeat1", SymbolTypeAuxiliary) }),
blank() }) }
})));
});
});

View file

@ -25,31 +25,36 @@ namespace tree_sitter {
namespace prepare_grammar {
class ExpandRepeats : public rules::IdentityRuleFn {
rule_ptr make_repeat_helper(string name, const rule_ptr &rule) {
return Choice::Build({
Seq::Build({ rule, make_shared<Symbol>(name, rules::SymbolTypeAuxiliary) }),
make_shared<Blank>() });
}
string rule_name;
rule_ptr apply_to(const Repeat *rule) {
rule_ptr inner_rule = apply(rule->content);
string helper_rule_name = string("repeat_helper") + to_string(aux_rules.size() + 1);
aux_rules.push_back({ helper_rule_name, make_repeat_helper(helper_rule_name, inner_rule) });
return make_shared<Symbol>(helper_rule_name, rules::SymbolTypeAuxiliary);
string helper_rule_name = rule_name + string("_repeat") + to_string(aux_rules.size() + 1);
rule_ptr repeat_symbol = make_shared<Symbol>(helper_rule_name, rules::SymbolTypeAuxiliary);
aux_rules.push_back({
helper_rule_name,
Choice::Build({
Seq::Build({ inner_rule, repeat_symbol }),
make_shared<Blank>()
})
});
return repeat_symbol;
}
public:
ExpandRepeats(string rule_name) : rule_name(rule_name) {}
vector<pair<string, rules::rule_ptr>> aux_rules;
};
PreparedGrammar expand_repeats(const PreparedGrammar &grammar) {
vector<pair<string, rules::rule_ptr>> rules, aux_rules(grammar.aux_rules);
ExpandRepeats expander;
for (auto &pair : grammar.rules)
for (auto &pair : grammar.rules) {
ExpandRepeats expander(pair.first);
rules.push_back({ pair.first, expander.apply(pair.second) });
aux_rules.insert(aux_rules.end(), expander.aux_rules.begin(), expander.aux_rules.end());
aux_rules.insert(aux_rules.end(), expander.aux_rules.begin(), expander.aux_rules.end());
}
return PreparedGrammar(rules, aux_rules);
}