From 53285f7d0c77f828832968199be4e4799dedf244 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Wed, 9 Apr 2014 18:41:43 -0700 Subject: [PATCH] Give rule-specific names to repeat helper rules --- examples/parsers/arithmetic.c | 10 +- examples/parsers/golang.c | 304 +++++++------- examples/parsers/javascript.c | 378 +++++++++--------- examples/parsers/json.c | 66 +-- spec/compiler/prepare_grammar_spec.cc | 26 +- .../prepare_grammar/expand_repeats.cc | 31 +- 6 files changed, 416 insertions(+), 399 deletions(-) diff --git a/examples/parsers/arithmetic.c b/examples/parsers/arithmetic.c index 5c4c41df..604fca4b 100644 --- a/examples/parsers/arithmetic.c +++ b/examples/parsers/arithmetic.c @@ -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), diff --git a/examples/parsers/golang.c b/examples/parsers/golang.c index 498ee540..45f9c5e6 100644 --- a/examples/parsers/golang.c +++ b/examples/parsers/golang.c @@ -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), diff --git a/examples/parsers/javascript.c b/examples/parsers/javascript.c index 4b633d08..729fadd3 100644 --- a/examples/parsers/javascript.c +++ b/examples/parsers/javascript.c @@ -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), diff --git a/examples/parsers/json.c b/examples/parsers/json.c index 789c726a..abd63746 100644 --- a/examples/parsers/json.c +++ b/examples/parsers/json.c @@ -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), diff --git a/spec/compiler/prepare_grammar_spec.cc b/spec/compiler/prepare_grammar_spec.cc index bf1aee8b..ce76c77d 100644 --- a/spec/compiler/prepare_grammar_spec.cc +++ b/spec/compiler/prepare_grammar_spec.cc @@ -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("repeat_helper1", SymbolTypeAuxiliary), - sym("y") - }) }, + make_shared("rule1_repeat1", SymbolTypeAuxiliary), + make_shared("rule1_repeat2", SymbolTypeAuxiliary), + sym("y") }) }, + { "rule2", make_shared("rule2_repeat1", SymbolTypeAuxiliary) }, }, { - { "repeat_helper1", choice({ + { "rule1_repeat1", choice({ seq({ seq({ sym("a"), sym("b") }), - make_shared("repeat_helper1", SymbolTypeAuxiliary), + make_shared("rule1_repeat1", SymbolTypeAuxiliary), }), - blank(), - }) } + blank() }) }, + { "rule1_repeat2", choice({ + seq({ + sym("a"), + make_shared("rule1_repeat2", SymbolTypeAuxiliary) }), + blank() }) }, + { "rule2_repeat1", choice({ + seq({ + sym("b"), + make_shared("rule2_repeat1", SymbolTypeAuxiliary) }), + blank() }) } }))); }); }); diff --git a/src/compiler/prepare_grammar/expand_repeats.cc b/src/compiler/prepare_grammar/expand_repeats.cc index 998fb49c..e78793f9 100644 --- a/src/compiler/prepare_grammar/expand_repeats.cc +++ b/src/compiler/prepare_grammar/expand_repeats.cc @@ -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(name, rules::SymbolTypeAuxiliary) }), - make_shared() }); - } - + 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(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(helper_rule_name, rules::SymbolTypeAuxiliary); + aux_rules.push_back({ + helper_rule_name, + Choice::Build({ + Seq::Build({ inner_rule, repeat_symbol }), + make_shared() + }) + }); + return repeat_symbol; } public: + ExpandRepeats(string rule_name) : rule_name(rule_name) {} + vector> aux_rules; }; PreparedGrammar expand_repeats(const PreparedGrammar &grammar) { vector> 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); }