From 50337abf50a50b28cc9c2d78247acd7fd0d69e93 Mon Sep 17 00:00:00 2001 From: Aymeric Wibo Date: Tue, 10 Sep 2024 17:01:23 +0200 Subject: [PATCH] grammar: Prototypes (will only be externally defined, so not sure this is the best name at the moment) --- grammar.js | 11 + src/grammar.json | 96 + src/node-types.json | 48 + src/parser.c | 7034 +++++++++++++++++++++++-------------------- 4 files changed, 3930 insertions(+), 3259 deletions(-) diff --git a/grammar.js b/grammar.js index fe39be1..b78b797 100644 --- a/grammar.js +++ b/grammar.js @@ -54,6 +54,7 @@ module.exports = grammar({ $.var_decl, $.function_declaration, $.class_declaration, + $.proto, $.return, ), @@ -79,6 +80,16 @@ module.exports = grammar({ ), ), + proto: $ => + prec.right( + seq( + "proto", + field("name", choice($.identifier, $.overloadable_operator)), + optional(seq("(", optional(field("params", $.param_list)), ")")), + optional(seq("->", field("ret_type", $.type))), + ), + ), + function_expression: $ => seq("fn", optional(seq("(", optional(field("params", $.param_list)), ")")), field("body", $.statement)), diff --git a/src/grammar.json b/src/grammar.json index 7d0d67f..8723877 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -92,6 +92,10 @@ "type": "SYMBOL", "name": "class_declaration" }, + { + "type": "SYMBOL", + "name": "proto" + }, { "type": "SYMBOL", "name": "return" @@ -348,6 +352,98 @@ ] } }, + "proto": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "proto" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "overloadable_operator" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "params", + "content": { + "type": "SYMBOL", + "name": "param_list" + } + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "->" + }, + { + "type": "FIELD", + "name": "ret_type", + "content": { + "type": "SYMBOL", + "name": "type" + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, "function_expression": { "type": "SEQ", "members": [ diff --git a/src/node-types.json b/src/node-types.json index ea95c6c..eac313f 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -644,6 +644,46 @@ } } }, + { + "type": "proto", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "overloadable_operator", + "named": true + } + ] + }, + "params": { + "multiple": false, + "required": false, + "types": [ + { + "type": "param_list", + "named": true + } + ] + }, + "ret_type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type", + "named": true + } + ] + } + } + }, { "type": "qualifier", "named": true, @@ -747,6 +787,10 @@ "type": "print", "named": true }, + { + "type": "proto", + "named": true + }, { "type": "return", "named": true @@ -1023,6 +1067,10 @@ "type": "print", "named": false }, + { + "type": "proto", + "named": false + }, { "type": "pure", "named": false diff --git a/src/parser.c b/src/parser.c index 8aef8db..c6b9c9f 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,15 +6,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 215 +#define STATE_COUNT 227 #define LARGE_STATE_COUNT 7 -#define SYMBOL_COUNT 102 +#define SYMBOL_COUNT 104 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 57 +#define TOKEN_COUNT 58 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 25 #define MAX_ALIAS_SEQUENCE_LENGTH 9 -#define PRODUCTION_ID_COUNT 34 +#define PRODUCTION_ID_COUNT 38 enum ts_symbol_identifiers { sym_comment = 1, @@ -30,94 +30,96 @@ enum ts_symbol_identifiers { anon_sym_LPAREN = 11, anon_sym_RPAREN = 12, anon_sym_DASH_GT = 13, - anon_sym_class = 14, - anon_sym_print = 15, - anon_sym_assert = 16, - anon_sym_return = 17, - anon_sym_LF = 18, - anon_sym_vec = 19, - anon_sym_map = 20, - anon_sym_LT = 21, - anon_sym_GT = 22, - anon_sym_COMMA = 23, - anon_sym_COLON = 24, - anon_sym_let = 25, - anon_sym_EQ = 26, - anon_sym_DASH = 27, - anon_sym_BANG = 28, - anon_sym_STAR_STAR = 29, - anon_sym_STAR = 30, - anon_sym_SLASH = 31, - anon_sym_PERCENT = 32, - anon_sym_PLUS = 33, - anon_sym_EQ_EQ = 34, - anon_sym_BANG_EQ = 35, - anon_sym_LT_EQ = 36, - anon_sym_GT_EQ = 37, - anon_sym_AMP_AMP = 38, - anon_sym_PIPE_PIPE = 39, - anon_sym_CARET_CARET = 40, - anon_sym_LBRACK = 41, - anon_sym_RBRACK = 42, - anon_sym_PLUS_PLUS = 43, - anon_sym_EQ_EQ_EQ = 44, - anon_sym_any = 45, - anon_sym_int = 46, - anon_sym_str = 47, - anon_sym_bool = 48, - anon_sym_void = 49, - aux_sym_identifier_token1 = 50, - sym_number = 51, - sym_string = 52, - anon_sym_true = 53, - anon_sym_false = 54, - anon_sym_error = 55, - sym_none = 56, - sym_source_file = 57, - sym_doc_comment = 58, - sym_statement = 59, - sym_block = 60, - sym_import = 61, - sym_import_path = 62, - sym_import_relative_dot = 63, - sym_qualifier = 64, - sym_qualifier_list = 65, - sym_function_declaration = 66, - sym_class_declaration = 67, - sym_print = 68, - sym_assert = 69, - sym_return = 70, - sym_expression = 71, - sym_parenthesized_expression = 72, - sym_access = 73, - sym_call = 74, - sym_type_name = 75, - sym_type = 76, - sym_param = 77, - sym_param_list = 78, - sym_arg_list = 79, - sym_literal = 80, - sym_var_decl = 81, - sym_assignment = 82, - sym_power_operator = 83, - sym_multiplicative_operator = 84, - sym_additive_operator = 85, - sym_comparative_operator = 86, - sym_and_operator = 87, - sym_or_operator = 88, - sym_binary_expression = 89, - sym_expression_list = 90, - sym_vec = 91, - sym_map_item = 92, - sym_map_item_list = 93, - sym_map = 94, - sym_overloadable_operator = 95, - sym_primitive_type = 96, - sym_identifier = 97, - sym_bool = 98, - aux_sym_source_file_repeat1 = 99, - aux_sym_param_list_repeat1 = 100, - aux_sym_arg_list_repeat1 = 101, + anon_sym_proto = 14, + anon_sym_class = 15, + anon_sym_print = 16, + anon_sym_assert = 17, + anon_sym_return = 18, + anon_sym_LF = 19, + anon_sym_vec = 20, + anon_sym_map = 21, + anon_sym_LT = 22, + anon_sym_GT = 23, + anon_sym_COMMA = 24, + anon_sym_COLON = 25, + anon_sym_let = 26, + anon_sym_EQ = 27, + anon_sym_DASH = 28, + anon_sym_BANG = 29, + anon_sym_STAR_STAR = 30, + anon_sym_STAR = 31, + anon_sym_SLASH = 32, + anon_sym_PERCENT = 33, + anon_sym_PLUS = 34, + anon_sym_EQ_EQ = 35, + anon_sym_BANG_EQ = 36, + anon_sym_LT_EQ = 37, + anon_sym_GT_EQ = 38, + anon_sym_AMP_AMP = 39, + anon_sym_PIPE_PIPE = 40, + anon_sym_CARET_CARET = 41, + anon_sym_LBRACK = 42, + anon_sym_RBRACK = 43, + anon_sym_PLUS_PLUS = 44, + anon_sym_EQ_EQ_EQ = 45, + anon_sym_any = 46, + anon_sym_int = 47, + anon_sym_str = 48, + anon_sym_bool = 49, + anon_sym_void = 50, + aux_sym_identifier_token1 = 51, + sym_number = 52, + sym_string = 53, + anon_sym_true = 54, + anon_sym_false = 55, + anon_sym_error = 56, + sym_none = 57, + sym_source_file = 58, + sym_doc_comment = 59, + sym_statement = 60, + sym_block = 61, + sym_import = 62, + sym_import_path = 63, + sym_import_relative_dot = 64, + sym_qualifier = 65, + sym_qualifier_list = 66, + sym_function_declaration = 67, + sym_proto = 68, + sym_class_declaration = 69, + sym_print = 70, + sym_assert = 71, + sym_return = 72, + sym_expression = 73, + sym_parenthesized_expression = 74, + sym_access = 75, + sym_call = 76, + sym_type_name = 77, + sym_type = 78, + sym_param = 79, + sym_param_list = 80, + sym_arg_list = 81, + sym_literal = 82, + sym_var_decl = 83, + sym_assignment = 84, + sym_power_operator = 85, + sym_multiplicative_operator = 86, + sym_additive_operator = 87, + sym_comparative_operator = 88, + sym_and_operator = 89, + sym_or_operator = 90, + sym_binary_expression = 91, + sym_expression_list = 92, + sym_vec = 93, + sym_map_item = 94, + sym_map_item_list = 95, + sym_map = 96, + sym_overloadable_operator = 97, + sym_primitive_type = 98, + sym_identifier = 99, + sym_bool = 100, + aux_sym_source_file_repeat1 = 101, + aux_sym_param_list_repeat1 = 102, + aux_sym_arg_list_repeat1 = 103, }; static const char * const ts_symbol_names[] = { @@ -135,6 +137,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_LPAREN] = "(", [anon_sym_RPAREN] = ")", [anon_sym_DASH_GT] = "->", + [anon_sym_proto] = "proto", [anon_sym_class] = "class", [anon_sym_print] = "print", [anon_sym_assert] = "assert", @@ -188,6 +191,7 @@ static const char * const ts_symbol_names[] = { [sym_qualifier] = "qualifier", [sym_qualifier_list] = "qualifier_list", [sym_function_declaration] = "function_declaration", + [sym_proto] = "proto", [sym_class_declaration] = "class_declaration", [sym_print] = "print", [sym_assert] = "assert", @@ -240,6 +244,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_RPAREN] = anon_sym_RPAREN, [anon_sym_DASH_GT] = anon_sym_DASH_GT, + [anon_sym_proto] = anon_sym_proto, [anon_sym_class] = anon_sym_class, [anon_sym_print] = anon_sym_print, [anon_sym_assert] = anon_sym_assert, @@ -293,6 +298,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_qualifier] = sym_qualifier, [sym_qualifier_list] = sym_qualifier_list, [sym_function_declaration] = sym_function_declaration, + [sym_proto] = sym_proto, [sym_class_declaration] = sym_class_declaration, [sym_print] = sym_print, [sym_assert] = sym_assert, @@ -387,6 +393,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_proto] = { + .visible = true, + .named = false, + }, [anon_sym_class] = { .visible = true, .named = false, @@ -599,6 +609,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_proto] = { + .visible = true, + .named = true, + }, [sym_class_declaration] = { .visible = true, .named = true, @@ -818,20 +832,24 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [17] = {.index = 24, .length = 1}, [18] = {.index = 25, .length = 2}, [19] = {.index = 27, .length = 2}, - [20] = {.index = 29, .length = 3}, - [21] = {.index = 32, .length = 2}, + [20] = {.index = 29, .length = 2}, + [21] = {.index = 31, .length = 3}, [22] = {.index = 34, .length = 2}, - [23] = {.index = 36, .length = 3}, - [24] = {.index = 39, .length = 3}, - [25] = {.index = 42, .length = 2}, - [26] = {.index = 44, .length = 3}, - [27] = {.index = 47, .length = 3}, - [28] = {.index = 50, .length = 4}, - [29] = {.index = 54, .length = 3}, - [30] = {.index = 57, .length = 4}, - [31] = {.index = 61, .length = 4}, - [32] = {.index = 65, .length = 4}, - [33] = {.index = 69, .length = 5}, + [23] = {.index = 36, .length = 2}, + [24] = {.index = 38, .length = 3}, + [25] = {.index = 41, .length = 2}, + [26] = {.index = 43, .length = 3}, + [27] = {.index = 46, .length = 2}, + [28] = {.index = 48, .length = 2}, + [29] = {.index = 50, .length = 3}, + [30] = {.index = 53, .length = 3}, + [31] = {.index = 56, .length = 4}, + [32] = {.index = 60, .length = 3}, + [33] = {.index = 63, .length = 3}, + [34] = {.index = 66, .length = 4}, + [35] = {.index = 70, .length = 4}, + [36] = {.index = 74, .length = 4}, + [37] = {.index = 78, .length = 5}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -840,13 +858,13 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [1] = {field_bit, 0}, [2] = - {field_msg, 1}, + {field_name, 1}, [3] = - {field_test, 1}, + {field_msg, 1}, [4] = - {field_rv, 1}, + {field_test, 1}, [5] = - {field_name, 1}, + {field_rv, 1}, [6] = {field_body, 1}, [7] = @@ -879,64 +897,77 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_ident, 0}, [25] = {field_name, 1}, - {field_type, 3}, + {field_ret_type, 3}, [27] = - {field_initial, 3}, {field_name, 1}, + {field_type, 3}, [29] = + {field_initial, 3}, + {field_name, 1}, + [31] = {field_body, 3}, {field_name, 2}, {field_qualifiers, 0}, - [32] = + [34] = {field_args, 2}, {field_callable, 0}, - [34] = + [36] = {field_body, 4}, {field_name, 1}, - [36] = + [38] = {field_body, 4}, {field_name, 1}, {field_ret_type, 3}, - [39] = + [41] = + {field_name, 1}, + {field_params, 3}, + [43] = {field_body, 5}, {field_name, 1}, {field_params, 3}, - [42] = + [46] = {field_ident, 0}, {field_type, 2}, - [44] = + [48] = + {field_name, 1}, + {field_ret_type, 5}, + [50] = {field_initial, 5}, {field_name, 1}, {field_type, 3}, - [47] = + [53] = {field_body, 5}, {field_name, 2}, {field_qualifiers, 0}, - [50] = + [56] = {field_body, 5}, {field_name, 2}, {field_qualifiers, 0}, {field_ret_type, 4}, - [54] = + [60] = {field_body, 6}, {field_name, 1}, {field_ret_type, 5}, - [57] = + [63] = + {field_name, 1}, + {field_params, 3}, + {field_ret_type, 6}, + [66] = {field_body, 6}, {field_name, 2}, {field_params, 4}, {field_qualifiers, 0}, - [61] = + [70] = {field_body, 7}, {field_name, 1}, {field_params, 3}, {field_ret_type, 6}, - [65] = + [74] = {field_body, 7}, {field_name, 2}, {field_qualifiers, 0}, {field_ret_type, 6}, - [69] = + [78] = {field_body, 8}, {field_name, 2}, {field_params, 4}, @@ -992,17 +1023,17 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [36] = 36, [37] = 37, [38] = 22, - [39] = 39, + [39] = 21, [40] = 40, [41] = 41, - [42] = 21, + [42] = 42, [43] = 43, [44] = 44, [45] = 45, [46] = 46, - [47] = 45, + [47] = 47, [48] = 48, - [49] = 9, + [49] = 49, [50] = 50, [51] = 51, [52] = 52, @@ -1012,8 +1043,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [56] = 56, [57] = 57, [58] = 58, - [59] = 59, - [60] = 54, + [59] = 57, + [60] = 60, [61] = 61, [62] = 62, [63] = 63, @@ -1028,69 +1059,69 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [72] = 72, [73] = 73, [74] = 74, - [75] = 63, - [76] = 7, + [75] = 75, + [76] = 76, [77] = 77, [78] = 78, - [79] = 11, - [80] = 10, + [79] = 79, + [80] = 80, [81] = 81, [82] = 82, - [83] = 8, - [84] = 84, - [85] = 12, - [86] = 86, - [87] = 87, + [83] = 83, + [84] = 10, + [85] = 7, + [86] = 8, + [87] = 12, [88] = 88, - [89] = 89, - [90] = 90, - [91] = 91, - [92] = 92, + [89] = 11, + [90] = 9, + [91] = 88, + [92] = 83, [93] = 93, [94] = 94, [95] = 95, [96] = 96, - [97] = 94, + [97] = 97, [98] = 98, [99] = 99, - [100] = 99, - [101] = 90, - [102] = 98, + [100] = 100, + [101] = 101, + [102] = 102, [103] = 103, [104] = 104, - [105] = 93, - [106] = 95, + [105] = 105, + [106] = 106, [107] = 107, [108] = 108, [109] = 109, [110] = 110, - [111] = 96, - [112] = 112, - [113] = 113, - [114] = 114, - [115] = 115, - [116] = 115, - [117] = 117, - [118] = 22, - [119] = 33, - [120] = 25, - [121] = 28, - [122] = 32, - [123] = 21, - [124] = 26, - [125] = 29, - [126] = 30, - [127] = 23, - [128] = 34, - [129] = 35, - [130] = 31, - [131] = 131, - [132] = 132, - [133] = 133, - [134] = 134, - [135] = 135, - [136] = 136, - [137] = 137, + [111] = 110, + [112] = 109, + [113] = 99, + [114] = 108, + [115] = 105, + [116] = 103, + [117] = 101, + [118] = 118, + [119] = 119, + [120] = 120, + [121] = 121, + [122] = 122, + [123] = 123, + [124] = 123, + [125] = 21, + [126] = 24, + [127] = 35, + [128] = 26, + [129] = 29, + [130] = 25, + [131] = 30, + [132] = 33, + [133] = 22, + [134] = 27, + [135] = 31, + [136] = 32, + [137] = 34, [138] = 138, [139] = 139, [140] = 140, @@ -1114,7 +1145,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [158] = 158, [159] = 159, [160] = 160, - [161] = 160, + [161] = 161, [162] = 162, [163] = 163, [164] = 164, @@ -1128,7 +1159,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [172] = 172, [173] = 173, [174] = 174, - [175] = 175, + [175] = 172, [176] = 176, [177] = 177, [178] = 178, @@ -1161,13 +1192,25 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [205] = 205, [206] = 206, [207] = 207, - [208] = 202, + [208] = 208, [209] = 209, [210] = 210, - [211] = 203, + [211] = 211, [212] = 212, - [213] = 199, + [213] = 213, [214] = 214, + [215] = 215, + [216] = 216, + [217] = 217, + [218] = 218, + [219] = 219, + [220] = 220, + [221] = 221, + [222] = 222, + [223] = 218, + [224] = 224, + [225] = 210, + [226] = 220, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1176,85 +1219,85 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { switch (state) { case 0: if (eof) ADVANCE(35); - if (lookahead == '!') ADVANCE(73); + if (lookahead == '!') ADVANCE(74); if (lookahead == '"') ADVANCE(5); if (lookahead == '#') ADVANCE(6); - if (lookahead == '%') ADVANCE(77); + if (lookahead == '%') ADVANCE(78); if (lookahead == '&') ADVANCE(7); if (lookahead == '(') ADVANCE(50); if (lookahead == ')') ADVANCE(51); - if (lookahead == '*') ADVANCE(75); - if (lookahead == '+') ADVANCE(79); - if (lookahead == ',') ADVANCE(65); - if (lookahead == '-') ADVANCE(72); + if (lookahead == '*') ADVANCE(76); + if (lookahead == '+') ADVANCE(80); + if (lookahead == ',') ADVANCE(66); + if (lookahead == '-') ADVANCE(73); if (lookahead == '.') ADVANCE(43); - if (lookahead == '/') ADVANCE(76); - if (lookahead == ':') ADVANCE(66); - if (lookahead == '<') ADVANCE(62); - if (lookahead == '=') ADVANCE(69); - if (lookahead == '>') ADVANCE(64); - if (lookahead == '[') ADVANCE(89); - if (lookahead == ']') ADVANCE(91); - if (lookahead == '^') ADVANCE(99); - if (lookahead == 'a') ADVANCE(121); - if (lookahead == 'b') ADVANCE(130); - if (lookahead == 'c') ADVANCE(118); - if (lookahead == 'e') ADVANCE(140); - if (lookahead == 'f') ADVANCE(100); - if (lookahead == 'i') ADVANCE(120); - if (lookahead == 'l') ADVANCE(111); - if (lookahead == 'm') ADVANCE(103); - if (lookahead == 'n') ADVANCE(128); - if (lookahead == 'p') ADVANCE(136); - if (lookahead == 'r') ADVANCE(112); - if (lookahead == 's') ADVANCE(158); - if (lookahead == 't') ADVANCE(137); - if (lookahead == 'v') ADVANCE(106); + if (lookahead == '/') ADVANCE(77); + if (lookahead == ':') ADVANCE(67); + if (lookahead == '<') ADVANCE(63); + if (lookahead == '=') ADVANCE(70); + if (lookahead == '>') ADVANCE(65); + if (lookahead == '[') ADVANCE(90); + if (lookahead == ']') ADVANCE(92); + if (lookahead == '^') ADVANCE(100); + if (lookahead == 'a') ADVANCE(122); + if (lookahead == 'b') ADVANCE(132); + if (lookahead == 'c') ADVANCE(119); + if (lookahead == 'e') ADVANCE(142); + if (lookahead == 'f') ADVANCE(101); + if (lookahead == 'i') ADVANCE(121); + if (lookahead == 'l') ADVANCE(112); + if (lookahead == 'm') ADVANCE(104); + if (lookahead == 'n') ADVANCE(129); + if (lookahead == 'p') ADVANCE(138); + if (lookahead == 'r') ADVANCE(113); + if (lookahead == 's') ADVANCE(160); + if (lookahead == 't') ADVANCE(139); + if (lookahead == 'v') ADVANCE(107); if (lookahead == '{') ADVANCE(40); if (lookahead == '|') ADVANCE(30); if (lookahead == '}') ADVANCE(41); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(164); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(167); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 1: - if (lookahead == '\n') ADVANCE(58); + if (lookahead == '\n') ADVANCE(59); if (lookahead == '"') ADVANCE(5); if (lookahead == '(') ADVANCE(50); - if (lookahead == '[') ADVANCE(89); - if (lookahead == 'a') ADVANCE(122); - if (lookahead == 'b') ADVANCE(130); - if (lookahead == 'e') ADVANCE(141); - if (lookahead == 'f') ADVANCE(101); - if (lookahead == 'i') ADVANCE(126); - if (lookahead == 'n') ADVANCE(128); - if (lookahead == 's') ADVANCE(158); - if (lookahead == 't') ADVANCE(137); - if (lookahead == 'v') ADVANCE(129); + if (lookahead == '[') ADVANCE(90); + if (lookahead == 'a') ADVANCE(123); + if (lookahead == 'b') ADVANCE(132); + if (lookahead == 'e') ADVANCE(143); + if (lookahead == 'f') ADVANCE(102); + if (lookahead == 'i') ADVANCE(127); + if (lookahead == 'n') ADVANCE(129); + if (lookahead == 's') ADVANCE(160); + if (lookahead == 't') ADVANCE(139); + if (lookahead == 'v') ADVANCE(130); if (lookahead == '{') ADVANCE(40); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(1) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(164); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(167); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 2: if (lookahead == '!') ADVANCE(10); - if (lookahead == '%') ADVANCE(77); + if (lookahead == '%') ADVANCE(78); if (lookahead == '&') ADVANCE(7); if (lookahead == '(') ADVANCE(50); if (lookahead == ')') ADVANCE(51); - if (lookahead == '*') ADVANCE(75); - if (lookahead == '+') ADVANCE(78); - if (lookahead == ',') ADVANCE(65); - if (lookahead == '-') ADVANCE(71); + if (lookahead == '*') ADVANCE(76); + if (lookahead == '+') ADVANCE(79); + if (lookahead == ',') ADVANCE(66); + if (lookahead == '-') ADVANCE(72); if (lookahead == '.') ADVANCE(43); - if (lookahead == '/') ADVANCE(76); - if (lookahead == ':') ADVANCE(66); - if (lookahead == '<') ADVANCE(62); + if (lookahead == '/') ADVANCE(77); + if (lookahead == ':') ADVANCE(67); + if (lookahead == '<') ADVANCE(63); if (lookahead == '=') ADVANCE(12); - if (lookahead == '>') ADVANCE(64); - if (lookahead == ']') ADVANCE(90); + if (lookahead == '>') ADVANCE(65); + if (lookahead == ']') ADVANCE(91); if (lookahead == '^') ADVANCE(15); if (lookahead == 'c') ADVANCE(20); if (lookahead == 'e') ADVANCE(29); @@ -1269,45 +1312,45 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '"') ADVANCE(5); if (lookahead == '(') ADVANCE(50); if (lookahead == ')') ADVANCE(51); - if (lookahead == '[') ADVANCE(89); - if (lookahead == 'a') ADVANCE(122); - if (lookahead == 'b') ADVANCE(130); - if (lookahead == 'e') ADVANCE(141); - if (lookahead == 'f') ADVANCE(101); - if (lookahead == 'i') ADVANCE(126); - if (lookahead == 'n') ADVANCE(128); - if (lookahead == 's') ADVANCE(158); - if (lookahead == 't') ADVANCE(137); - if (lookahead == 'v') ADVANCE(129); + if (lookahead == '[') ADVANCE(90); + if (lookahead == 'a') ADVANCE(123); + if (lookahead == 'b') ADVANCE(132); + if (lookahead == 'e') ADVANCE(143); + if (lookahead == 'f') ADVANCE(102); + if (lookahead == 'i') ADVANCE(127); + if (lookahead == 'n') ADVANCE(129); + if (lookahead == 's') ADVANCE(160); + if (lookahead == 't') ADVANCE(139); + if (lookahead == 'v') ADVANCE(130); if (lookahead == '{') ADVANCE(40); if (lookahead == '}') ADVANCE(41); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(3) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(164); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(167); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 4: if (lookahead == '"') ADVANCE(5); if (lookahead == '(') ADVANCE(50); - if (lookahead == '[') ADVANCE(89); - if (lookahead == ']') ADVANCE(91); - if (lookahead == 'a') ADVANCE(122); - if (lookahead == 'b') ADVANCE(130); - if (lookahead == 'e') ADVANCE(141); - if (lookahead == 'f') ADVANCE(101); - if (lookahead == 'i') ADVANCE(126); - if (lookahead == 'n') ADVANCE(128); - if (lookahead == 's') ADVANCE(158); - if (lookahead == 't') ADVANCE(137); - if (lookahead == 'v') ADVANCE(129); + if (lookahead == '[') ADVANCE(90); + if (lookahead == ']') ADVANCE(92); + if (lookahead == 'a') ADVANCE(123); + if (lookahead == 'b') ADVANCE(132); + if (lookahead == 'e') ADVANCE(143); + if (lookahead == 'f') ADVANCE(102); + if (lookahead == 'i') ADVANCE(127); + if (lookahead == 'n') ADVANCE(129); + if (lookahead == 's') ADVANCE(160); + if (lookahead == 't') ADVANCE(139); + if (lookahead == 'v') ADVANCE(130); if (lookahead == '{') ADVANCE(40); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(4) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(164); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(167); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(165); + if (lookahead == '"') ADVANCE(168); if (lookahead == '\\') ADVANCE(31); if (lookahead != 0) ADVANCE(5); END_STATE(); @@ -1316,33 +1359,33 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead != 0) ADVANCE(36); END_STATE(); case 7: - if (lookahead == '&') ADVANCE(85); + if (lookahead == '&') ADVANCE(86); END_STATE(); case 8: if (lookahead == ')') ADVANCE(51); if (lookahead == '+') ADVANCE(9); if (lookahead == '.') ADVANCE(43); if (lookahead == '=') ADVANCE(13); - if (lookahead == 'a') ADVANCE(122); - if (lookahead == 'b') ADVANCE(130); - if (lookahead == 'i') ADVANCE(126); - if (lookahead == 's') ADVANCE(158); - if (lookahead == 'v') ADVANCE(129); + if (lookahead == 'a') ADVANCE(123); + if (lookahead == 'b') ADVANCE(132); + if (lookahead == 'i') ADVANCE(127); + if (lookahead == 's') ADVANCE(160); + if (lookahead == 'v') ADVANCE(130); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(8) - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 9: - if (lookahead == '+') ADVANCE(92); + if (lookahead == '+') ADVANCE(93); END_STATE(); case 10: - if (lookahead == '=') ADVANCE(82); + if (lookahead == '=') ADVANCE(83); END_STATE(); case 11: - if (lookahead == '=') ADVANCE(93); + if (lookahead == '=') ADVANCE(94); END_STATE(); case 12: - if (lookahead == '=') ADVANCE(80); + if (lookahead == '=') ADVANCE(81); END_STATE(); case 13: if (lookahead == '=') ADVANCE(11); @@ -1351,21 +1394,21 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '>') ADVANCE(52); END_STATE(); case 15: - if (lookahead == '^') ADVANCE(87); + if (lookahead == '^') ADVANCE(88); END_STATE(); case 16: if (lookahead == 'a') ADVANCE(26); END_STATE(); case 17: - if (lookahead == 'a') ADVANCE(122); - if (lookahead == 'b') ADVANCE(130); - if (lookahead == 'i') ADVANCE(126); - if (lookahead == 'm') ADVANCE(103); - if (lookahead == 's') ADVANCE(158); - if (lookahead == 'v') ADVANCE(106); + if (lookahead == 'a') ADVANCE(123); + if (lookahead == 'b') ADVANCE(132); + if (lookahead == 'i') ADVANCE(127); + if (lookahead == 'm') ADVANCE(104); + if (lookahead == 's') ADVANCE(160); + if (lookahead == 'v') ADVANCE(107); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(17) - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 18: if (lookahead == 'e') ADVANCE(46); @@ -1389,7 +1432,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'r') ADVANCE(18); END_STATE(); case 25: - if (lookahead == 's') ADVANCE(53); + if (lookahead == 's') ADVANCE(54); END_STATE(); case 26: if (lookahead == 's') ADVANCE(25); @@ -1404,7 +1447,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'x') ADVANCE(27); END_STATE(); case 30: - if (lookahead == '|') ADVANCE(86); + if (lookahead == '|') ADVANCE(87); END_STATE(); case 31: if (lookahead != 0 && @@ -1415,82 +1458,82 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '!') ADVANCE(10); if (lookahead == '"') ADVANCE(5); if (lookahead == '#') ADVANCE(6); - if (lookahead == '%') ADVANCE(77); + if (lookahead == '%') ADVANCE(78); if (lookahead == '&') ADVANCE(7); if (lookahead == '(') ADVANCE(50); if (lookahead == ')') ADVANCE(51); - if (lookahead == '*') ADVANCE(75); - if (lookahead == '+') ADVANCE(78); - if (lookahead == ',') ADVANCE(65); - if (lookahead == '-') ADVANCE(72); + if (lookahead == '*') ADVANCE(76); + if (lookahead == '+') ADVANCE(79); + if (lookahead == ',') ADVANCE(66); + if (lookahead == '-') ADVANCE(73); if (lookahead == '.') ADVANCE(43); - if (lookahead == '/') ADVANCE(76); - if (lookahead == ':') ADVANCE(66); - if (lookahead == '<') ADVANCE(62); - if (lookahead == '=') ADVANCE(70); - if (lookahead == '>') ADVANCE(64); - if (lookahead == '[') ADVANCE(89); - if (lookahead == '^') ADVANCE(99); - if (lookahead == 'a') ADVANCE(121); - if (lookahead == 'b') ADVANCE(130); - if (lookahead == 'c') ADVANCE(118); - if (lookahead == 'e') ADVANCE(140); - if (lookahead == 'f') ADVANCE(100); - if (lookahead == 'i') ADVANCE(120); - if (lookahead == 'l') ADVANCE(111); - if (lookahead == 'n') ADVANCE(128); - if (lookahead == 'p') ADVANCE(136); - if (lookahead == 'r') ADVANCE(112); - if (lookahead == 's') ADVANCE(158); - if (lookahead == 't') ADVANCE(137); - if (lookahead == 'v') ADVANCE(129); + if (lookahead == '/') ADVANCE(77); + if (lookahead == ':') ADVANCE(67); + if (lookahead == '<') ADVANCE(63); + if (lookahead == '=') ADVANCE(71); + if (lookahead == '>') ADVANCE(65); + if (lookahead == '[') ADVANCE(90); + if (lookahead == '^') ADVANCE(100); + if (lookahead == 'a') ADVANCE(122); + if (lookahead == 'b') ADVANCE(132); + if (lookahead == 'c') ADVANCE(119); + if (lookahead == 'e') ADVANCE(142); + if (lookahead == 'f') ADVANCE(101); + if (lookahead == 'i') ADVANCE(121); + if (lookahead == 'l') ADVANCE(112); + if (lookahead == 'n') ADVANCE(129); + if (lookahead == 'p') ADVANCE(138); + if (lookahead == 'r') ADVANCE(113); + if (lookahead == 's') ADVANCE(160); + if (lookahead == 't') ADVANCE(139); + if (lookahead == 'v') ADVANCE(130); if (lookahead == '{') ADVANCE(40); if (lookahead == '|') ADVANCE(30); if (lookahead == '}') ADVANCE(41); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(32) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(164); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(167); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 33: if (eof) ADVANCE(35); if (lookahead == '!') ADVANCE(10); if (lookahead == '"') ADVANCE(5); if (lookahead == '#') ADVANCE(6); - if (lookahead == '%') ADVANCE(77); + if (lookahead == '%') ADVANCE(78); if (lookahead == '&') ADVANCE(7); if (lookahead == '(') ADVANCE(50); - if (lookahead == '*') ADVANCE(75); - if (lookahead == '+') ADVANCE(78); - if (lookahead == '-') ADVANCE(71); + if (lookahead == '*') ADVANCE(76); + if (lookahead == '+') ADVANCE(79); + if (lookahead == '-') ADVANCE(72); if (lookahead == '.') ADVANCE(43); - if (lookahead == '/') ADVANCE(76); - if (lookahead == ':') ADVANCE(66); - if (lookahead == '<') ADVANCE(62); - if (lookahead == '=') ADVANCE(70); - if (lookahead == '>') ADVANCE(64); - if (lookahead == '[') ADVANCE(89); - if (lookahead == '^') ADVANCE(99); - if (lookahead == 'a') ADVANCE(121); - if (lookahead == 'b') ADVANCE(130); - if (lookahead == 'c') ADVANCE(118); - if (lookahead == 'e') ADVANCE(140); - if (lookahead == 'f') ADVANCE(100); - if (lookahead == 'i') ADVANCE(120); - if (lookahead == 'l') ADVANCE(111); - if (lookahead == 'n') ADVANCE(128); - if (lookahead == 'p') ADVANCE(136); - if (lookahead == 'r') ADVANCE(112); - if (lookahead == 's') ADVANCE(158); - if (lookahead == 't') ADVANCE(137); - if (lookahead == 'v') ADVANCE(129); + if (lookahead == '/') ADVANCE(77); + if (lookahead == ':') ADVANCE(67); + if (lookahead == '<') ADVANCE(63); + if (lookahead == '=') ADVANCE(71); + if (lookahead == '>') ADVANCE(65); + if (lookahead == '[') ADVANCE(90); + if (lookahead == '^') ADVANCE(100); + if (lookahead == 'a') ADVANCE(122); + if (lookahead == 'b') ADVANCE(132); + if (lookahead == 'c') ADVANCE(119); + if (lookahead == 'e') ADVANCE(142); + if (lookahead == 'f') ADVANCE(101); + if (lookahead == 'i') ADVANCE(121); + if (lookahead == 'l') ADVANCE(112); + if (lookahead == 'n') ADVANCE(129); + if (lookahead == 'p') ADVANCE(138); + if (lookahead == 'r') ADVANCE(113); + if (lookahead == 's') ADVANCE(160); + if (lookahead == 't') ADVANCE(139); + if (lookahead == 'v') ADVANCE(130); if (lookahead == '{') ADVANCE(40); if (lookahead == '|') ADVANCE(30); if (lookahead == '}') ADVANCE(41); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(33) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(164); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(167); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 34: if (eof) ADVANCE(35); @@ -1498,33 +1541,33 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '#') ADVANCE(6); if (lookahead == '(') ADVANCE(50); if (lookahead == ')') ADVANCE(51); - if (lookahead == ',') ADVANCE(65); + if (lookahead == ',') ADVANCE(66); if (lookahead == '-') ADVANCE(14); if (lookahead == '.') ADVANCE(43); - if (lookahead == ':') ADVANCE(66); - if (lookahead == '<') ADVANCE(61); - if (lookahead == '=') ADVANCE(68); - if (lookahead == '>') ADVANCE(63); - if (lookahead == '[') ADVANCE(89); - if (lookahead == 'a') ADVANCE(121); - if (lookahead == 'b') ADVANCE(130); - if (lookahead == 'c') ADVANCE(118); - if (lookahead == 'e') ADVANCE(140); - if (lookahead == 'f') ADVANCE(100); - if (lookahead == 'i') ADVANCE(120); - if (lookahead == 'l') ADVANCE(111); - if (lookahead == 'n') ADVANCE(128); - if (lookahead == 'p') ADVANCE(136); - if (lookahead == 'r') ADVANCE(112); - if (lookahead == 's') ADVANCE(158); - if (lookahead == 't') ADVANCE(137); - if (lookahead == 'v') ADVANCE(129); + if (lookahead == ':') ADVANCE(67); + if (lookahead == '<') ADVANCE(62); + if (lookahead == '=') ADVANCE(69); + if (lookahead == '>') ADVANCE(64); + if (lookahead == '[') ADVANCE(90); + if (lookahead == 'a') ADVANCE(122); + if (lookahead == 'b') ADVANCE(132); + if (lookahead == 'c') ADVANCE(119); + if (lookahead == 'e') ADVANCE(142); + if (lookahead == 'f') ADVANCE(101); + if (lookahead == 'i') ADVANCE(121); + if (lookahead == 'l') ADVANCE(112); + if (lookahead == 'n') ADVANCE(129); + if (lookahead == 'p') ADVANCE(138); + if (lookahead == 'r') ADVANCE(113); + if (lookahead == 's') ADVANCE(160); + if (lookahead == 't') ADVANCE(139); + if (lookahead == 'v') ADVANCE(130); if (lookahead == '{') ADVANCE(40); if (lookahead == '}') ADVANCE(41); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(34) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(164); - if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(167); + if (('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 35: ACCEPT_TOKEN(ts_builtin_sym_end); @@ -1559,7 +1602,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 42: ACCEPT_TOKEN(anon_sym_import); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 43: ACCEPT_TOKEN(anon_sym_DOT); @@ -1570,7 +1613,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 45: ACCEPT_TOKEN(anon_sym_extern); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 46: ACCEPT_TOKEN(anon_sym_pure); @@ -1578,7 +1621,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 47: ACCEPT_TOKEN(anon_sym_pure); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 48: ACCEPT_TOKEN(anon_sym_fn); @@ -1586,7 +1629,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 49: ACCEPT_TOKEN(anon_sym_fn); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 50: ACCEPT_TOKEN(anon_sym_LPAREN); @@ -1598,604 +1641,622 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ACCEPT_TOKEN(anon_sym_DASH_GT); END_STATE(); case 53: - ACCEPT_TOKEN(anon_sym_class); + ACCEPT_TOKEN(anon_sym_proto); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 54: ACCEPT_TOKEN(anon_sym_class); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); END_STATE(); case 55: - ACCEPT_TOKEN(anon_sym_print); + ACCEPT_TOKEN(anon_sym_class); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 56: - ACCEPT_TOKEN(anon_sym_assert); + ACCEPT_TOKEN(anon_sym_print); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 57: - ACCEPT_TOKEN(anon_sym_return); + ACCEPT_TOKEN(anon_sym_assert); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 58: - ACCEPT_TOKEN(anon_sym_LF); - if (lookahead == '\n') ADVANCE(58); + ACCEPT_TOKEN(anon_sym_return); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 59: - ACCEPT_TOKEN(anon_sym_vec); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ACCEPT_TOKEN(anon_sym_LF); + if (lookahead == '\n') ADVANCE(59); END_STATE(); case 60: - ACCEPT_TOKEN(anon_sym_map); + ACCEPT_TOKEN(anon_sym_vec); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 61: - ACCEPT_TOKEN(anon_sym_LT); + ACCEPT_TOKEN(anon_sym_map); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 62: ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '=') ADVANCE(83); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_GT); + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '=') ADVANCE(84); END_STATE(); case 64: ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(84); END_STATE(); case 65: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(85); END_STATE(); case 66: - ACCEPT_TOKEN(anon_sym_COLON); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 67: - ACCEPT_TOKEN(anon_sym_let); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 68: - ACCEPT_TOKEN(anon_sym_EQ); + ACCEPT_TOKEN(anon_sym_let); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 69: ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(81); END_STATE(); case 70: ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(80); + if (lookahead == '=') ADVANCE(82); END_STATE(); case 71: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(81); END_STATE(); case 72: ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '>') ADVANCE(52); END_STATE(); case 73: - ACCEPT_TOKEN(anon_sym_BANG); - if (lookahead == '=') ADVANCE(82); + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '>') ADVANCE(52); END_STATE(); case 74: - ACCEPT_TOKEN(anon_sym_STAR_STAR); + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(83); END_STATE(); case 75: - ACCEPT_TOKEN(anon_sym_STAR); - if (lookahead == '*') ADVANCE(74); + ACCEPT_TOKEN(anon_sym_STAR_STAR); END_STATE(); case 76: - ACCEPT_TOKEN(anon_sym_SLASH); + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '*') ADVANCE(75); END_STATE(); case 77: - ACCEPT_TOKEN(anon_sym_PERCENT); + ACCEPT_TOKEN(anon_sym_SLASH); END_STATE(); case 78: - ACCEPT_TOKEN(anon_sym_PLUS); + ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); case 79: ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '+') ADVANCE(92); END_STATE(); case 80: - ACCEPT_TOKEN(anon_sym_EQ_EQ); + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(93); END_STATE(); case 81: ACCEPT_TOKEN(anon_sym_EQ_EQ); - if (lookahead == '=') ADVANCE(93); END_STATE(); case 82: - ACCEPT_TOKEN(anon_sym_BANG_EQ); + ACCEPT_TOKEN(anon_sym_EQ_EQ); + if (lookahead == '=') ADVANCE(94); END_STATE(); case 83: - ACCEPT_TOKEN(anon_sym_LT_EQ); + ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); case 84: - ACCEPT_TOKEN(anon_sym_GT_EQ); + ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 85: - ACCEPT_TOKEN(anon_sym_AMP_AMP); + ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 86: - ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); case 87: - ACCEPT_TOKEN(anon_sym_CARET_CARET); + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); case 88: ACCEPT_TOKEN(anon_sym_CARET_CARET); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); END_STATE(); case 89: - ACCEPT_TOKEN(anon_sym_LBRACK); + ACCEPT_TOKEN(anon_sym_CARET_CARET); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 90: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(anon_sym_LBRACK); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 91: ACCEPT_TOKEN(anon_sym_RBRACK); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); END_STATE(); case 92: - ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + ACCEPT_TOKEN(anon_sym_RBRACK); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 93: - ACCEPT_TOKEN(anon_sym_EQ_EQ_EQ); + ACCEPT_TOKEN(anon_sym_PLUS_PLUS); END_STATE(); case 94: - ACCEPT_TOKEN(anon_sym_any); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ACCEPT_TOKEN(anon_sym_EQ_EQ_EQ); END_STATE(); case 95: - ACCEPT_TOKEN(anon_sym_int); + ACCEPT_TOKEN(anon_sym_any); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 96: - ACCEPT_TOKEN(anon_sym_str); + ACCEPT_TOKEN(anon_sym_int); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 97: - ACCEPT_TOKEN(anon_sym_bool); + ACCEPT_TOKEN(anon_sym_str); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 98: - ACCEPT_TOKEN(anon_sym_void); + ACCEPT_TOKEN(anon_sym_bool); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 99: - ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == '^') ADVANCE(88); + ACCEPT_TOKEN(anon_sym_void); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 100: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'a') ADVANCE(119); - if (lookahead == 'n') ADVANCE(49); + if (lookahead == '^') ADVANCE(89); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 101: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'a') ADVANCE(119); + if (lookahead == 'a') ADVANCE(120); + if (lookahead == 'n') ADVANCE(49); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 102: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'a') ADVANCE(150); + if (lookahead == 'a') ADVANCE(120); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 103: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'a') ADVANCE(134); + if (lookahead == 'a') ADVANCE(152); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 104: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'c') ADVANCE(59); + if (lookahead == 'a') ADVANCE(136); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 105: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'd') ADVANCE(98); + if (lookahead == 'c') ADVANCE(60); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 106: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(104); - if (lookahead == 'o') ADVANCE(115); + if (lookahead == 'd') ADVANCE(99); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 107: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(169); + if (lookahead == 'e') ADVANCE(105); + if (lookahead == 'o') ADVANCE(116); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 108: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(47); + if (lookahead == 'e') ADVANCE(172); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 109: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(166); + if (lookahead == 'e') ADVANCE(47); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 110: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(167); + if (lookahead == 'e') ADVANCE(169); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 111: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(153); + if (lookahead == 'e') ADVANCE(170); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 112: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(157); + if (lookahead == 'e') ADVANCE(155); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 113: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(146); + if (lookahead == 'e') ADVANCE(159); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 114: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'e') ADVANCE(142); + if (lookahead == 'e') ADVANCE(148); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 115: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'i') ADVANCE(105); + if (lookahead == 'e') ADVANCE(144); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 116: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'i') ADVANCE(127); + if (lookahead == 'i') ADVANCE(106); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 117: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'l') ADVANCE(97); + if (lookahead == 'i') ADVANCE(128); + if (lookahead == 'o') ADVANCE(161); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 118: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'l') ADVANCE(102); + if (lookahead == 'l') ADVANCE(98); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 119: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'l') ADVANCE(151); + if (lookahead == 'l') ADVANCE(103); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 120: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'm') ADVANCE(135); - if (lookahead == 'n') ADVANCE(152); + if (lookahead == 'l') ADVANCE(153); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 121: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(162); - if (lookahead == 's') ADVANCE(149); + if (lookahead == 'm') ADVANCE(137); + if (lookahead == 'n') ADVANCE(154); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 122: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(162); + if (lookahead == 'n') ADVANCE(165); + if (lookahead == 's') ADVANCE(151); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 123: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(45); + if (lookahead == 'n') ADVANCE(165); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 124: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(57); + if (lookahead == 'n') ADVANCE(45); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 125: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(107); + if (lookahead == 'n') ADVANCE(58); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 126: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'n') ADVANCE(152); + if (lookahead == 'n') ADVANCE(108); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 127: ACCEPT_TOKEN(aux_sym_identifier_token1); if (lookahead == 'n') ADVANCE(154); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 128: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'o') ADVANCE(125); + if (lookahead == 'n') ADVANCE(156); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 129: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'o') ADVANCE(115); + if (lookahead == 'o') ADVANCE(126); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 130: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'o') ADVANCE(131); + if (lookahead == 'o') ADVANCE(116); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 131: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'o') ADVANCE(117); + if (lookahead == 'o') ADVANCE(53); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 132: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'o') ADVANCE(139); + if (lookahead == 'o') ADVANCE(133); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 133: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'o') ADVANCE(147); + if (lookahead == 'o') ADVANCE(118); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 134: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'p') ADVANCE(60); + if (lookahead == 'o') ADVANCE(141); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 135: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'p') ADVANCE(133); + if (lookahead == 'o') ADVANCE(149); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 136: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(116); - if (lookahead == 'u') ADVANCE(144); + if (lookahead == 'p') ADVANCE(61); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 137: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(160); + if (lookahead == 'p') ADVANCE(135); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 138: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(96); + if (lookahead == 'r') ADVANCE(117); + if (lookahead == 'u') ADVANCE(146); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 139: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(168); + if (lookahead == 'r') ADVANCE(163); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 140: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(143); - if (lookahead == 'x') ADVANCE(159); + if (lookahead == 'r') ADVANCE(97); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 141: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(143); + if (lookahead == 'r') ADVANCE(171); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 142: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(123); + if (lookahead == 'r') ADVANCE(145); + if (lookahead == 'x') ADVANCE(162); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 143: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(132); + if (lookahead == 'r') ADVANCE(145); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 144: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(108); + if (lookahead == 'r') ADVANCE(124); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 145: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(124); + if (lookahead == 'r') ADVANCE(134); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 146: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(155); + if (lookahead == 'r') ADVANCE(109); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 147: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'r') ADVANCE(156); + if (lookahead == 'r') ADVANCE(125); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 148: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 's') ADVANCE(54); + if (lookahead == 'r') ADVANCE(157); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 149: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 's') ADVANCE(113); + if (lookahead == 'r') ADVANCE(158); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 150: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 's') ADVANCE(148); + if (lookahead == 's') ADVANCE(55); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 151: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 's') ADVANCE(110); + if (lookahead == 's') ADVANCE(114); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 152: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(95); + if (lookahead == 's') ADVANCE(150); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 153: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(67); + if (lookahead == 's') ADVANCE(111); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 154: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(55); + if (lookahead == 't') ADVANCE(96); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 155: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(56); + if (lookahead == 't') ADVANCE(68); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 156: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(42); + if (lookahead == 't') ADVANCE(56); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 157: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(161); + if (lookahead == 't') ADVANCE(57); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 158: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(138); + if (lookahead == 't') ADVANCE(42); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 159: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 't') ADVANCE(114); + if (lookahead == 't') ADVANCE(164); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 160: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'u') ADVANCE(109); + if (lookahead == 't') ADVANCE(140); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 161: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'u') ADVANCE(145); + if (lookahead == 't') ADVANCE(131); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 162: ACCEPT_TOKEN(aux_sym_identifier_token1); - if (lookahead == 'y') ADVANCE(94); + if (lookahead == 't') ADVANCE(115); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 163: ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'u') ADVANCE(110); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 164: - ACCEPT_TOKEN(sym_number); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(164); + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'u') ADVANCE(147); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 165: - ACCEPT_TOKEN(sym_string); + ACCEPT_TOKEN(aux_sym_identifier_token1); + if (lookahead == 'y') ADVANCE(95); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 166: - ACCEPT_TOKEN(anon_sym_true); + ACCEPT_TOKEN(aux_sym_identifier_token1); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); case 167: + ACCEPT_TOKEN(sym_number); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(167); + END_STATE(); + case 168: + ACCEPT_TOKEN(sym_string); + END_STATE(); + case 169: + ACCEPT_TOKEN(anon_sym_true); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); + END_STATE(); + case 170: ACCEPT_TOKEN(anon_sym_false); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); - case 168: + case 171: ACCEPT_TOKEN(anon_sym_error); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); - case 169: + case 172: ACCEPT_TOKEN(sym_none); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'z')) ADVANCE(163); + ('A' <= lookahead && lookahead <= 'z')) ADVANCE(166); END_STATE(); default: return false; @@ -2248,55 +2309,55 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [42] = {.lex_state = 34}, [43] = {.lex_state = 34}, [44] = {.lex_state = 34}, - [45] = {.lex_state = 3}, + [45] = {.lex_state = 34}, [46] = {.lex_state = 34}, - [47] = {.lex_state = 3}, + [47] = {.lex_state = 34}, [48] = {.lex_state = 34}, - [49] = {.lex_state = 2}, + [49] = {.lex_state = 34}, [50] = {.lex_state = 34}, [51] = {.lex_state = 34}, [52] = {.lex_state = 34}, [53] = {.lex_state = 34}, - [54] = {.lex_state = 3}, + [54] = {.lex_state = 34}, [55] = {.lex_state = 34}, [56] = {.lex_state = 34}, - [57] = {.lex_state = 34}, + [57] = {.lex_state = 3}, [58] = {.lex_state = 34}, - [59] = {.lex_state = 34}, - [60] = {.lex_state = 3}, + [59] = {.lex_state = 3}, + [60] = {.lex_state = 34}, [61] = {.lex_state = 34}, [62] = {.lex_state = 34}, - [63] = {.lex_state = 4}, + [63] = {.lex_state = 34}, [64] = {.lex_state = 34}, [65] = {.lex_state = 34}, [66] = {.lex_state = 34}, [67] = {.lex_state = 34}, [68] = {.lex_state = 34}, - [69] = {.lex_state = 3}, + [69] = {.lex_state = 34}, [70] = {.lex_state = 34}, [71] = {.lex_state = 34}, [72] = {.lex_state = 34}, [73] = {.lex_state = 34}, [74] = {.lex_state = 34}, - [75] = {.lex_state = 4}, - [76] = {.lex_state = 2}, + [75] = {.lex_state = 34}, + [76] = {.lex_state = 34}, [77] = {.lex_state = 34}, [78] = {.lex_state = 34}, - [79] = {.lex_state = 2}, - [80] = {.lex_state = 2}, + [79] = {.lex_state = 34}, + [80] = {.lex_state = 34}, [81] = {.lex_state = 34}, - [82] = {.lex_state = 34}, - [83] = {.lex_state = 2}, - [84] = {.lex_state = 34}, + [82] = {.lex_state = 3}, + [83] = {.lex_state = 3}, + [84] = {.lex_state = 2}, [85] = {.lex_state = 2}, - [86] = {.lex_state = 1}, - [87] = {.lex_state = 3}, - [88] = {.lex_state = 3}, - [89] = {.lex_state = 3}, - [90] = {.lex_state = 3}, - [91] = {.lex_state = 3}, + [86] = {.lex_state = 2}, + [87] = {.lex_state = 2}, + [88] = {.lex_state = 4}, + [89] = {.lex_state = 2}, + [90] = {.lex_state = 2}, + [91] = {.lex_state = 4}, [92] = {.lex_state = 3}, - [93] = {.lex_state = 3}, + [93] = {.lex_state = 1}, [94] = {.lex_state = 3}, [95] = {.lex_state = 3}, [96] = {.lex_state = 3}, @@ -2305,7 +2366,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [99] = {.lex_state = 3}, [100] = {.lex_state = 3}, [101] = {.lex_state = 3}, - [102] = {.lex_state = 3}, + [102] = {.lex_state = 2}, [103] = {.lex_state = 3}, [104] = {.lex_state = 3}, [105] = {.lex_state = 3}, @@ -2313,15 +2374,15 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [107] = {.lex_state = 3}, [108] = {.lex_state = 3}, [109] = {.lex_state = 3}, - [110] = {.lex_state = 2}, + [110] = {.lex_state = 3}, [111] = {.lex_state = 3}, - [112] = {.lex_state = 2}, - [113] = {.lex_state = 2}, - [114] = {.lex_state = 2}, - [115] = {.lex_state = 2}, - [116] = {.lex_state = 2}, - [117] = {.lex_state = 2}, - [118] = {.lex_state = 2}, + [112] = {.lex_state = 3}, + [113] = {.lex_state = 3}, + [114] = {.lex_state = 3}, + [115] = {.lex_state = 3}, + [116] = {.lex_state = 3}, + [117] = {.lex_state = 3}, + [118] = {.lex_state = 3}, [119] = {.lex_state = 2}, [120] = {.lex_state = 2}, [121] = {.lex_state = 2}, @@ -2334,33 +2395,33 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [128] = {.lex_state = 2}, [129] = {.lex_state = 2}, [130] = {.lex_state = 2}, - [131] = {.lex_state = 3}, - [132] = {.lex_state = 3}, - [133] = {.lex_state = 3}, - [134] = {.lex_state = 3}, - [135] = {.lex_state = 3}, - [136] = {.lex_state = 3}, - [137] = {.lex_state = 17}, - [138] = {.lex_state = 17}, - [139] = {.lex_state = 17}, - [140] = {.lex_state = 17}, - [141] = {.lex_state = 17}, - [142] = {.lex_state = 17}, - [143] = {.lex_state = 17}, + [131] = {.lex_state = 2}, + [132] = {.lex_state = 2}, + [133] = {.lex_state = 2}, + [134] = {.lex_state = 2}, + [135] = {.lex_state = 2}, + [136] = {.lex_state = 2}, + [137] = {.lex_state = 2}, + [138] = {.lex_state = 3}, + [139] = {.lex_state = 3}, + [140] = {.lex_state = 3}, + [141] = {.lex_state = 3}, + [142] = {.lex_state = 3}, + [143] = {.lex_state = 3}, [144] = {.lex_state = 17}, [145] = {.lex_state = 17}, [146] = {.lex_state = 17}, [147] = {.lex_state = 17}, - [148] = {.lex_state = 8}, - [149] = {.lex_state = 8}, - [150] = {.lex_state = 8}, - [151] = {.lex_state = 8}, - [152] = {.lex_state = 8}, - [153] = {.lex_state = 8}, - [154] = {.lex_state = 8}, - [155] = {.lex_state = 8}, - [156] = {.lex_state = 8}, - [157] = {.lex_state = 8}, + [148] = {.lex_state = 17}, + [149] = {.lex_state = 17}, + [150] = {.lex_state = 17}, + [151] = {.lex_state = 17}, + [152] = {.lex_state = 17}, + [153] = {.lex_state = 17}, + [154] = {.lex_state = 17}, + [155] = {.lex_state = 17}, + [156] = {.lex_state = 17}, + [157] = {.lex_state = 17}, [158] = {.lex_state = 8}, [159] = {.lex_state = 8}, [160] = {.lex_state = 8}, @@ -2369,55 +2430,67 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [163] = {.lex_state = 8}, [164] = {.lex_state = 8}, [165] = {.lex_state = 8}, - [166] = {.lex_state = 2}, - [167] = {.lex_state = 2}, - [168] = {.lex_state = 34}, - [169] = {.lex_state = 34}, - [170] = {.lex_state = 0}, - [171] = {.lex_state = 34}, - [172] = {.lex_state = 0}, - [173] = {.lex_state = 34}, - [174] = {.lex_state = 34}, - [175] = {.lex_state = 34}, - [176] = {.lex_state = 0}, - [177] = {.lex_state = 0}, - [178] = {.lex_state = 0}, - [179] = {.lex_state = 0}, - [180] = {.lex_state = 0}, + [166] = {.lex_state = 8}, + [167] = {.lex_state = 8}, + [168] = {.lex_state = 8}, + [169] = {.lex_state = 8}, + [170] = {.lex_state = 8}, + [171] = {.lex_state = 8}, + [172] = {.lex_state = 8}, + [173] = {.lex_state = 8}, + [174] = {.lex_state = 8}, + [175] = {.lex_state = 8}, + [176] = {.lex_state = 8}, + [177] = {.lex_state = 2}, + [178] = {.lex_state = 8}, + [179] = {.lex_state = 2}, + [180] = {.lex_state = 34}, [181] = {.lex_state = 34}, [182] = {.lex_state = 0}, - [183] = {.lex_state = 0}, + [183] = {.lex_state = 34}, [184] = {.lex_state = 0}, - [185] = {.lex_state = 0}, + [185] = {.lex_state = 34}, [186] = {.lex_state = 0}, [187] = {.lex_state = 0}, [188] = {.lex_state = 0}, - [189] = {.lex_state = 0}, - [190] = {.lex_state = 2}, + [189] = {.lex_state = 34}, + [190] = {.lex_state = 0}, [191] = {.lex_state = 0}, [192] = {.lex_state = 0}, - [193] = {.lex_state = 0}, + [193] = {.lex_state = 34}, [194] = {.lex_state = 0}, - [195] = {.lex_state = 2}, - [196] = {.lex_state = 0}, + [195] = {.lex_state = 0}, + [196] = {.lex_state = 2}, [197] = {.lex_state = 0}, [198] = {.lex_state = 0}, - [199] = {.lex_state = 0}, + [199] = {.lex_state = 2}, [200] = {.lex_state = 0}, [201] = {.lex_state = 0}, [202] = {.lex_state = 0}, - [203] = {.lex_state = 2}, - [204] = {.lex_state = 34}, + [203] = {.lex_state = 0}, + [204] = {.lex_state = 0}, [205] = {.lex_state = 0}, [206] = {.lex_state = 0}, [207] = {.lex_state = 0}, [208] = {.lex_state = 0}, - [209] = {.lex_state = 2}, + [209] = {.lex_state = 38}, [210] = {.lex_state = 0}, - [211] = {.lex_state = 2}, + [211] = {.lex_state = 0}, [212] = {.lex_state = 34}, - [213] = {.lex_state = 0}, - [214] = {.lex_state = 38}, + [213] = {.lex_state = 2}, + [214] = {.lex_state = 0}, + [215] = {.lex_state = 0}, + [216] = {.lex_state = 0}, + [217] = {.lex_state = 0}, + [218] = {.lex_state = 2}, + [219] = {.lex_state = 0}, + [220] = {.lex_state = 0}, + [221] = {.lex_state = 34}, + [222] = {.lex_state = 0}, + [223] = {.lex_state = 2}, + [224] = {.lex_state = 0}, + [225] = {.lex_state = 0}, + [226] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2435,6 +2508,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), [anon_sym_DASH_GT] = ACTIONS(1), + [anon_sym_proto] = ACTIONS(1), [anon_sym_class] = ACTIONS(1), [anon_sym_print] = ACTIONS(1), [anon_sym_assert] = ACTIONS(1), @@ -2479,32 +2553,33 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_none] = ACTIONS(1), }, [1] = { - [sym_source_file] = STATE(206), - [sym_doc_comment] = STATE(67), - [sym_statement] = STATE(4), - [sym_block] = STATE(67), - [sym_import] = STATE(67), - [sym_qualifier] = STATE(166), - [sym_qualifier_list] = STATE(190), - [sym_function_declaration] = STATE(67), - [sym_class_declaration] = STATE(67), - [sym_print] = STATE(67), - [sym_assert] = STATE(67), - [sym_return] = STATE(67), - [sym_expression] = STATE(19), - [sym_parenthesized_expression] = STATE(28), - [sym_access] = STATE(24), - [sym_call] = STATE(28), - [sym_literal] = STATE(28), - [sym_var_decl] = STATE(67), - [sym_assignment] = STATE(67), - [sym_binary_expression] = STATE(28), - [sym_vec] = STATE(28), - [sym_map] = STATE(28), + [sym_source_file] = STATE(217), + [sym_doc_comment] = STATE(66), + [sym_statement] = STATE(6), + [sym_block] = STATE(66), + [sym_import] = STATE(66), + [sym_qualifier] = STATE(177), + [sym_qualifier_list] = STATE(196), + [sym_function_declaration] = STATE(66), + [sym_proto] = STATE(66), + [sym_class_declaration] = STATE(66), + [sym_print] = STATE(66), + [sym_assert] = STATE(66), + [sym_return] = STATE(66), + [sym_expression] = STATE(20), + [sym_parenthesized_expression] = STATE(27), + [sym_access] = STATE(23), + [sym_call] = STATE(27), + [sym_literal] = STATE(27), + [sym_var_decl] = STATE(66), + [sym_assignment] = STATE(66), + [sym_binary_expression] = STATE(27), + [sym_vec] = STATE(27), + [sym_map] = STATE(27), [sym_primitive_type] = STATE(22), - [sym_identifier] = STATE(24), - [sym_bool] = STATE(31), - [aux_sym_source_file_repeat1] = STATE(4), + [sym_identifier] = STATE(23), + [sym_bool] = STATE(32), + [aux_sym_source_file_repeat1] = STATE(6), [ts_builtin_sym_end] = ACTIONS(3), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), @@ -2514,358 +2589,364 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_pure] = ACTIONS(13), [anon_sym_fn] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_class] = ACTIONS(19), - [anon_sym_print] = ACTIONS(21), - [anon_sym_assert] = ACTIONS(23), - [anon_sym_return] = ACTIONS(25), - [anon_sym_let] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_any] = ACTIONS(31), - [anon_sym_int] = ACTIONS(31), - [anon_sym_str] = ACTIONS(31), - [anon_sym_bool] = ACTIONS(31), - [anon_sym_void] = ACTIONS(31), - [aux_sym_identifier_token1] = ACTIONS(33), - [sym_number] = ACTIONS(35), - [sym_string] = ACTIONS(35), - [anon_sym_true] = ACTIONS(37), - [anon_sym_false] = ACTIONS(37), - [anon_sym_error] = ACTIONS(37), - [sym_none] = ACTIONS(39), + [anon_sym_proto] = ACTIONS(19), + [anon_sym_class] = ACTIONS(21), + [anon_sym_print] = ACTIONS(23), + [anon_sym_assert] = ACTIONS(25), + [anon_sym_return] = ACTIONS(27), + [anon_sym_let] = ACTIONS(29), + [anon_sym_LBRACK] = ACTIONS(31), + [anon_sym_any] = ACTIONS(33), + [anon_sym_int] = ACTIONS(33), + [anon_sym_str] = ACTIONS(33), + [anon_sym_bool] = ACTIONS(33), + [anon_sym_void] = ACTIONS(33), + [aux_sym_identifier_token1] = ACTIONS(35), + [sym_number] = ACTIONS(37), + [sym_string] = ACTIONS(37), + [anon_sym_true] = ACTIONS(39), + [anon_sym_false] = ACTIONS(39), + [anon_sym_error] = ACTIONS(39), + [sym_none] = ACTIONS(41), }, [2] = { - [sym_doc_comment] = STATE(67), - [sym_statement] = STATE(6), - [sym_block] = STATE(67), - [sym_import] = STATE(67), - [sym_qualifier] = STATE(166), - [sym_qualifier_list] = STATE(190), - [sym_function_declaration] = STATE(67), - [sym_class_declaration] = STATE(67), - [sym_print] = STATE(67), - [sym_assert] = STATE(67), - [sym_return] = STATE(67), - [sym_expression] = STATE(16), - [sym_parenthesized_expression] = STATE(28), - [sym_access] = STATE(24), - [sym_call] = STATE(28), - [sym_literal] = STATE(28), - [sym_var_decl] = STATE(67), - [sym_assignment] = STATE(67), - [sym_binary_expression] = STATE(28), - [sym_vec] = STATE(28), - [sym_map_item] = STATE(191), - [sym_map_item_list] = STATE(202), - [sym_map] = STATE(28), + [sym_doc_comment] = STATE(66), + [sym_statement] = STATE(5), + [sym_block] = STATE(66), + [sym_import] = STATE(66), + [sym_qualifier] = STATE(177), + [sym_qualifier_list] = STATE(196), + [sym_function_declaration] = STATE(66), + [sym_proto] = STATE(66), + [sym_class_declaration] = STATE(66), + [sym_print] = STATE(66), + [sym_assert] = STATE(66), + [sym_return] = STATE(66), + [sym_expression] = STATE(19), + [sym_parenthesized_expression] = STATE(27), + [sym_access] = STATE(23), + [sym_call] = STATE(27), + [sym_literal] = STATE(27), + [sym_var_decl] = STATE(66), + [sym_assignment] = STATE(66), + [sym_binary_expression] = STATE(27), + [sym_vec] = STATE(27), + [sym_map_item] = STATE(197), + [sym_map_item_list] = STATE(226), + [sym_map] = STATE(27), [sym_primitive_type] = STATE(22), - [sym_identifier] = STATE(24), - [sym_bool] = STATE(31), - [aux_sym_source_file_repeat1] = STATE(6), + [sym_identifier] = STATE(23), + [sym_bool] = STATE(32), + [aux_sym_source_file_repeat1] = STATE(5), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), - [anon_sym_RBRACE] = ACTIONS(41), + [anon_sym_RBRACE] = ACTIONS(43), [anon_sym_import] = ACTIONS(11), [anon_sym_extern] = ACTIONS(13), [anon_sym_pure] = ACTIONS(13), [anon_sym_fn] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_class] = ACTIONS(19), - [anon_sym_print] = ACTIONS(21), - [anon_sym_assert] = ACTIONS(23), - [anon_sym_return] = ACTIONS(25), - [anon_sym_let] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_any] = ACTIONS(31), - [anon_sym_int] = ACTIONS(31), - [anon_sym_str] = ACTIONS(31), - [anon_sym_bool] = ACTIONS(31), - [anon_sym_void] = ACTIONS(31), - [aux_sym_identifier_token1] = ACTIONS(33), - [sym_number] = ACTIONS(35), - [sym_string] = ACTIONS(35), - [anon_sym_true] = ACTIONS(37), - [anon_sym_false] = ACTIONS(37), - [anon_sym_error] = ACTIONS(37), - [sym_none] = ACTIONS(39), + [anon_sym_proto] = ACTIONS(19), + [anon_sym_class] = ACTIONS(21), + [anon_sym_print] = ACTIONS(23), + [anon_sym_assert] = ACTIONS(25), + [anon_sym_return] = ACTIONS(27), + [anon_sym_let] = ACTIONS(29), + [anon_sym_LBRACK] = ACTIONS(31), + [anon_sym_any] = ACTIONS(33), + [anon_sym_int] = ACTIONS(33), + [anon_sym_str] = ACTIONS(33), + [anon_sym_bool] = ACTIONS(33), + [anon_sym_void] = ACTIONS(33), + [aux_sym_identifier_token1] = ACTIONS(35), + [sym_number] = ACTIONS(37), + [sym_string] = ACTIONS(37), + [anon_sym_true] = ACTIONS(39), + [anon_sym_false] = ACTIONS(39), + [anon_sym_error] = ACTIONS(39), + [sym_none] = ACTIONS(41), }, [3] = { - [sym_doc_comment] = STATE(67), + [sym_doc_comment] = STATE(66), [sym_statement] = STATE(3), - [sym_block] = STATE(67), - [sym_import] = STATE(67), - [sym_qualifier] = STATE(166), - [sym_qualifier_list] = STATE(190), - [sym_function_declaration] = STATE(67), - [sym_class_declaration] = STATE(67), - [sym_print] = STATE(67), - [sym_assert] = STATE(67), - [sym_return] = STATE(67), - [sym_expression] = STATE(19), - [sym_parenthesized_expression] = STATE(28), - [sym_access] = STATE(24), - [sym_call] = STATE(28), - [sym_literal] = STATE(28), - [sym_var_decl] = STATE(67), - [sym_assignment] = STATE(67), - [sym_binary_expression] = STATE(28), - [sym_vec] = STATE(28), - [sym_map] = STATE(28), + [sym_block] = STATE(66), + [sym_import] = STATE(66), + [sym_qualifier] = STATE(177), + [sym_qualifier_list] = STATE(196), + [sym_function_declaration] = STATE(66), + [sym_proto] = STATE(66), + [sym_class_declaration] = STATE(66), + [sym_print] = STATE(66), + [sym_assert] = STATE(66), + [sym_return] = STATE(66), + [sym_expression] = STATE(20), + [sym_parenthesized_expression] = STATE(27), + [sym_access] = STATE(23), + [sym_call] = STATE(27), + [sym_literal] = STATE(27), + [sym_var_decl] = STATE(66), + [sym_assignment] = STATE(66), + [sym_binary_expression] = STATE(27), + [sym_vec] = STATE(27), + [sym_map] = STATE(27), [sym_primitive_type] = STATE(22), - [sym_identifier] = STATE(24), - [sym_bool] = STATE(31), + [sym_identifier] = STATE(23), + [sym_bool] = STATE(32), [aux_sym_source_file_repeat1] = STATE(3), - [ts_builtin_sym_end] = ACTIONS(43), - [sym_comment] = ACTIONS(45), - [anon_sym_POUND_POUND] = ACTIONS(48), - [anon_sym_LBRACE] = ACTIONS(51), - [anon_sym_RBRACE] = ACTIONS(43), - [anon_sym_import] = ACTIONS(54), - [anon_sym_extern] = ACTIONS(57), - [anon_sym_pure] = ACTIONS(57), - [anon_sym_fn] = ACTIONS(60), - [anon_sym_LPAREN] = ACTIONS(63), - [anon_sym_class] = ACTIONS(66), - [anon_sym_print] = ACTIONS(69), - [anon_sym_assert] = ACTIONS(72), - [anon_sym_return] = ACTIONS(75), - [anon_sym_let] = ACTIONS(78), - [anon_sym_LBRACK] = ACTIONS(81), - [anon_sym_any] = ACTIONS(84), - [anon_sym_int] = ACTIONS(84), - [anon_sym_str] = ACTIONS(84), - [anon_sym_bool] = ACTIONS(84), - [anon_sym_void] = ACTIONS(84), - [aux_sym_identifier_token1] = ACTIONS(87), - [sym_number] = ACTIONS(90), - [sym_string] = ACTIONS(90), - [anon_sym_true] = ACTIONS(93), - [anon_sym_false] = ACTIONS(93), - [anon_sym_error] = ACTIONS(93), - [sym_none] = ACTIONS(96), + [ts_builtin_sym_end] = ACTIONS(45), + [sym_comment] = ACTIONS(47), + [anon_sym_POUND_POUND] = ACTIONS(50), + [anon_sym_LBRACE] = ACTIONS(53), + [anon_sym_RBRACE] = ACTIONS(45), + [anon_sym_import] = ACTIONS(56), + [anon_sym_extern] = ACTIONS(59), + [anon_sym_pure] = ACTIONS(59), + [anon_sym_fn] = ACTIONS(62), + [anon_sym_LPAREN] = ACTIONS(65), + [anon_sym_proto] = ACTIONS(68), + [anon_sym_class] = ACTIONS(71), + [anon_sym_print] = ACTIONS(74), + [anon_sym_assert] = ACTIONS(77), + [anon_sym_return] = ACTIONS(80), + [anon_sym_let] = ACTIONS(83), + [anon_sym_LBRACK] = ACTIONS(86), + [anon_sym_any] = ACTIONS(89), + [anon_sym_int] = ACTIONS(89), + [anon_sym_str] = ACTIONS(89), + [anon_sym_bool] = ACTIONS(89), + [anon_sym_void] = ACTIONS(89), + [aux_sym_identifier_token1] = ACTIONS(92), + [sym_number] = ACTIONS(95), + [sym_string] = ACTIONS(95), + [anon_sym_true] = ACTIONS(98), + [anon_sym_false] = ACTIONS(98), + [anon_sym_error] = ACTIONS(98), + [sym_none] = ACTIONS(101), }, [4] = { - [sym_doc_comment] = STATE(67), - [sym_statement] = STATE(3), - [sym_block] = STATE(67), - [sym_import] = STATE(67), - [sym_qualifier] = STATE(166), - [sym_qualifier_list] = STATE(190), - [sym_function_declaration] = STATE(67), - [sym_class_declaration] = STATE(67), - [sym_print] = STATE(67), - [sym_assert] = STATE(67), - [sym_return] = STATE(67), - [sym_expression] = STATE(19), - [sym_parenthesized_expression] = STATE(28), - [sym_access] = STATE(24), - [sym_call] = STATE(28), - [sym_literal] = STATE(28), - [sym_var_decl] = STATE(67), - [sym_assignment] = STATE(67), - [sym_binary_expression] = STATE(28), - [sym_vec] = STATE(28), - [sym_map] = STATE(28), + [sym_doc_comment] = STATE(66), + [sym_statement] = STATE(5), + [sym_block] = STATE(66), + [sym_import] = STATE(66), + [sym_qualifier] = STATE(177), + [sym_qualifier_list] = STATE(196), + [sym_function_declaration] = STATE(66), + [sym_proto] = STATE(66), + [sym_class_declaration] = STATE(66), + [sym_print] = STATE(66), + [sym_assert] = STATE(66), + [sym_return] = STATE(66), + [sym_expression] = STATE(20), + [sym_parenthesized_expression] = STATE(27), + [sym_access] = STATE(23), + [sym_call] = STATE(27), + [sym_literal] = STATE(27), + [sym_var_decl] = STATE(66), + [sym_assignment] = STATE(66), + [sym_binary_expression] = STATE(27), + [sym_vec] = STATE(27), + [sym_map] = STATE(27), [sym_primitive_type] = STATE(22), - [sym_identifier] = STATE(24), - [sym_bool] = STATE(31), - [aux_sym_source_file_repeat1] = STATE(3), - [ts_builtin_sym_end] = ACTIONS(99), + [sym_identifier] = STATE(23), + [sym_bool] = STATE(32), + [aux_sym_source_file_repeat1] = STATE(5), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), + [anon_sym_RBRACE] = ACTIONS(104), [anon_sym_import] = ACTIONS(11), [anon_sym_extern] = ACTIONS(13), [anon_sym_pure] = ACTIONS(13), [anon_sym_fn] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_class] = ACTIONS(19), - [anon_sym_print] = ACTIONS(21), - [anon_sym_assert] = ACTIONS(23), - [anon_sym_return] = ACTIONS(25), - [anon_sym_let] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_any] = ACTIONS(31), - [anon_sym_int] = ACTIONS(31), - [anon_sym_str] = ACTIONS(31), - [anon_sym_bool] = ACTIONS(31), - [anon_sym_void] = ACTIONS(31), - [aux_sym_identifier_token1] = ACTIONS(33), - [sym_number] = ACTIONS(35), - [sym_string] = ACTIONS(35), - [anon_sym_true] = ACTIONS(37), - [anon_sym_false] = ACTIONS(37), - [anon_sym_error] = ACTIONS(37), - [sym_none] = ACTIONS(39), + [anon_sym_proto] = ACTIONS(19), + [anon_sym_class] = ACTIONS(21), + [anon_sym_print] = ACTIONS(23), + [anon_sym_assert] = ACTIONS(25), + [anon_sym_return] = ACTIONS(27), + [anon_sym_let] = ACTIONS(29), + [anon_sym_LBRACK] = ACTIONS(31), + [anon_sym_any] = ACTIONS(33), + [anon_sym_int] = ACTIONS(33), + [anon_sym_str] = ACTIONS(33), + [anon_sym_bool] = ACTIONS(33), + [anon_sym_void] = ACTIONS(33), + [aux_sym_identifier_token1] = ACTIONS(35), + [sym_number] = ACTIONS(37), + [sym_string] = ACTIONS(37), + [anon_sym_true] = ACTIONS(39), + [anon_sym_false] = ACTIONS(39), + [anon_sym_error] = ACTIONS(39), + [sym_none] = ACTIONS(41), }, [5] = { - [sym_doc_comment] = STATE(67), - [sym_statement] = STATE(6), - [sym_block] = STATE(67), - [sym_import] = STATE(67), - [sym_qualifier] = STATE(166), - [sym_qualifier_list] = STATE(190), - [sym_function_declaration] = STATE(67), - [sym_class_declaration] = STATE(67), - [sym_print] = STATE(67), - [sym_assert] = STATE(67), - [sym_return] = STATE(67), - [sym_expression] = STATE(19), - [sym_parenthesized_expression] = STATE(28), - [sym_access] = STATE(24), - [sym_call] = STATE(28), - [sym_literal] = STATE(28), - [sym_var_decl] = STATE(67), - [sym_assignment] = STATE(67), - [sym_binary_expression] = STATE(28), - [sym_vec] = STATE(28), - [sym_map] = STATE(28), + [sym_doc_comment] = STATE(66), + [sym_statement] = STATE(3), + [sym_block] = STATE(66), + [sym_import] = STATE(66), + [sym_qualifier] = STATE(177), + [sym_qualifier_list] = STATE(196), + [sym_function_declaration] = STATE(66), + [sym_proto] = STATE(66), + [sym_class_declaration] = STATE(66), + [sym_print] = STATE(66), + [sym_assert] = STATE(66), + [sym_return] = STATE(66), + [sym_expression] = STATE(20), + [sym_parenthesized_expression] = STATE(27), + [sym_access] = STATE(23), + [sym_call] = STATE(27), + [sym_literal] = STATE(27), + [sym_var_decl] = STATE(66), + [sym_assignment] = STATE(66), + [sym_binary_expression] = STATE(27), + [sym_vec] = STATE(27), + [sym_map] = STATE(27), [sym_primitive_type] = STATE(22), - [sym_identifier] = STATE(24), - [sym_bool] = STATE(31), - [aux_sym_source_file_repeat1] = STATE(6), + [sym_identifier] = STATE(23), + [sym_bool] = STATE(32), + [aux_sym_source_file_repeat1] = STATE(3), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), - [anon_sym_RBRACE] = ACTIONS(101), + [anon_sym_RBRACE] = ACTIONS(106), [anon_sym_import] = ACTIONS(11), [anon_sym_extern] = ACTIONS(13), [anon_sym_pure] = ACTIONS(13), [anon_sym_fn] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_class] = ACTIONS(19), - [anon_sym_print] = ACTIONS(21), - [anon_sym_assert] = ACTIONS(23), - [anon_sym_return] = ACTIONS(25), - [anon_sym_let] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_any] = ACTIONS(31), - [anon_sym_int] = ACTIONS(31), - [anon_sym_str] = ACTIONS(31), - [anon_sym_bool] = ACTIONS(31), - [anon_sym_void] = ACTIONS(31), - [aux_sym_identifier_token1] = ACTIONS(33), - [sym_number] = ACTIONS(35), - [sym_string] = ACTIONS(35), - [anon_sym_true] = ACTIONS(37), - [anon_sym_false] = ACTIONS(37), - [anon_sym_error] = ACTIONS(37), - [sym_none] = ACTIONS(39), + [anon_sym_proto] = ACTIONS(19), + [anon_sym_class] = ACTIONS(21), + [anon_sym_print] = ACTIONS(23), + [anon_sym_assert] = ACTIONS(25), + [anon_sym_return] = ACTIONS(27), + [anon_sym_let] = ACTIONS(29), + [anon_sym_LBRACK] = ACTIONS(31), + [anon_sym_any] = ACTIONS(33), + [anon_sym_int] = ACTIONS(33), + [anon_sym_str] = ACTIONS(33), + [anon_sym_bool] = ACTIONS(33), + [anon_sym_void] = ACTIONS(33), + [aux_sym_identifier_token1] = ACTIONS(35), + [sym_number] = ACTIONS(37), + [sym_string] = ACTIONS(37), + [anon_sym_true] = ACTIONS(39), + [anon_sym_false] = ACTIONS(39), + [anon_sym_error] = ACTIONS(39), + [sym_none] = ACTIONS(41), }, [6] = { - [sym_doc_comment] = STATE(67), + [sym_doc_comment] = STATE(66), [sym_statement] = STATE(3), - [sym_block] = STATE(67), - [sym_import] = STATE(67), - [sym_qualifier] = STATE(166), - [sym_qualifier_list] = STATE(190), - [sym_function_declaration] = STATE(67), - [sym_class_declaration] = STATE(67), - [sym_print] = STATE(67), - [sym_assert] = STATE(67), - [sym_return] = STATE(67), - [sym_expression] = STATE(19), - [sym_parenthesized_expression] = STATE(28), - [sym_access] = STATE(24), - [sym_call] = STATE(28), - [sym_literal] = STATE(28), - [sym_var_decl] = STATE(67), - [sym_assignment] = STATE(67), - [sym_binary_expression] = STATE(28), - [sym_vec] = STATE(28), - [sym_map] = STATE(28), + [sym_block] = STATE(66), + [sym_import] = STATE(66), + [sym_qualifier] = STATE(177), + [sym_qualifier_list] = STATE(196), + [sym_function_declaration] = STATE(66), + [sym_proto] = STATE(66), + [sym_class_declaration] = STATE(66), + [sym_print] = STATE(66), + [sym_assert] = STATE(66), + [sym_return] = STATE(66), + [sym_expression] = STATE(20), + [sym_parenthesized_expression] = STATE(27), + [sym_access] = STATE(23), + [sym_call] = STATE(27), + [sym_literal] = STATE(27), + [sym_var_decl] = STATE(66), + [sym_assignment] = STATE(66), + [sym_binary_expression] = STATE(27), + [sym_vec] = STATE(27), + [sym_map] = STATE(27), [sym_primitive_type] = STATE(22), - [sym_identifier] = STATE(24), - [sym_bool] = STATE(31), + [sym_identifier] = STATE(23), + [sym_bool] = STATE(32), [aux_sym_source_file_repeat1] = STATE(3), + [ts_builtin_sym_end] = ACTIONS(108), [sym_comment] = ACTIONS(5), [anon_sym_POUND_POUND] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), - [anon_sym_RBRACE] = ACTIONS(103), [anon_sym_import] = ACTIONS(11), [anon_sym_extern] = ACTIONS(13), [anon_sym_pure] = ACTIONS(13), [anon_sym_fn] = ACTIONS(15), [anon_sym_LPAREN] = ACTIONS(17), - [anon_sym_class] = ACTIONS(19), - [anon_sym_print] = ACTIONS(21), - [anon_sym_assert] = ACTIONS(23), - [anon_sym_return] = ACTIONS(25), - [anon_sym_let] = ACTIONS(27), - [anon_sym_LBRACK] = ACTIONS(29), - [anon_sym_any] = ACTIONS(31), - [anon_sym_int] = ACTIONS(31), - [anon_sym_str] = ACTIONS(31), - [anon_sym_bool] = ACTIONS(31), - [anon_sym_void] = ACTIONS(31), - [aux_sym_identifier_token1] = ACTIONS(33), - [sym_number] = ACTIONS(35), - [sym_string] = ACTIONS(35), - [anon_sym_true] = ACTIONS(37), - [anon_sym_false] = ACTIONS(37), - [anon_sym_error] = ACTIONS(37), - [sym_none] = ACTIONS(39), + [anon_sym_proto] = ACTIONS(19), + [anon_sym_class] = ACTIONS(21), + [anon_sym_print] = ACTIONS(23), + [anon_sym_assert] = ACTIONS(25), + [anon_sym_return] = ACTIONS(27), + [anon_sym_let] = ACTIONS(29), + [anon_sym_LBRACK] = ACTIONS(31), + [anon_sym_any] = ACTIONS(33), + [anon_sym_int] = ACTIONS(33), + [anon_sym_str] = ACTIONS(33), + [anon_sym_bool] = ACTIONS(33), + [anon_sym_void] = ACTIONS(33), + [aux_sym_identifier_token1] = ACTIONS(35), + [sym_number] = ACTIONS(37), + [sym_string] = ACTIONS(37), + [anon_sym_true] = ACTIONS(39), + [anon_sym_false] = ACTIONS(39), + [anon_sym_error] = ACTIONS(39), + [sym_none] = ACTIONS(41), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 17, - ACTIONS(109), 1, + [0] = 11, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, - anon_sym_STAR, - ACTIONS(125), 1, - anon_sym_AMP_AMP, - STATE(100), 1, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(113), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(115), 2, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(110), 18, + ts_builtin_sym_end, + sym_comment, + anon_sym_POUND_POUND, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COLON, anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(121), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(123), 4, + anon_sym_PLUS, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(105), 9, - ts_builtin_sym_end, - sym_comment, - anon_sym_POUND_POUND, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COLON, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(107), 21, + ACTIONS(112), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_let, + anon_sym_STAR, anon_sym_CARET_CARET, anon_sym_LBRACK, anon_sym_any, @@ -2878,26 +2959,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [86] = 11, - ACTIONS(109), 1, + [75] = 10, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, - anon_sym_STAR_STAR, - STATE(100), 1, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(105), 18, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(110), 19, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -2905,6 +2984,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_COLON, anon_sym_DASH, + anon_sym_STAR_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_PLUS, @@ -2916,11 +2996,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(107), 24, + ACTIONS(112), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -2941,58 +3022,63 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [160] = 13, - ACTIONS(109), 1, + [148] = 17, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - STATE(100), 1, + ACTIONS(130), 1, + anon_sym_AMP_AMP, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(121), 2, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(120), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(122), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(105), 16, + ACTIONS(128), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(110), 9, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(107), 23, + ACTIONS(112), 22, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, anon_sym_return, - anon_sym_LT, - anon_sym_GT, anon_sym_let, anon_sym_CARET_CARET, anon_sym_LBRACK, @@ -3006,40 +3092,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [238] = 14, - ACTIONS(109), 1, + [235] = 13, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - STATE(100), 1, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(115), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(121), 2, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(105), 14, + ACTIONS(110), 16, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, @@ -3048,11 +3133,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(107), 23, + ACTIONS(112), 24, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3072,42 +3158,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [318] = 16, - ACTIONS(109), 1, + [314] = 16, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - STATE(100), 1, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(113), 2, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(105), 10, + ACTIONS(110), 10, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3118,11 +3204,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(107), 21, + ACTIONS(112), 22, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3140,35 +3227,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [402] = 10, - ACTIONS(109), 1, + [399] = 14, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - STATE(100), 1, + ACTIONS(118), 1, + anon_sym_STAR_STAR, + ACTIONS(124), 1, + anon_sym_STAR, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(105), 19, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(122), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(126), 2, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(110), 14, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, - anon_sym_DASH, - anon_sym_STAR_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_PLUS, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, @@ -3177,11 +3269,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(107), 24, + ACTIONS(112), 24, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3189,7 +3282,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT, anon_sym_GT, anon_sym_let, - anon_sym_STAR, anon_sym_CARET_CARET, anon_sym_LBRACK, anon_sym_any, @@ -3202,48 +3294,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [474] = 19, - ACTIONS(109), 1, + [480] = 19, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(131), 1, + ACTIONS(136), 1, anon_sym_PIPE_PIPE, - ACTIONS(133), 1, + ACTIONS(138), 1, anon_sym_CARET_CARET, - STATE(100), 1, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(113), 2, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(127), 7, + ACTIONS(132), 7, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3251,11 +3343,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, sym_number, sym_string, - ACTIONS(129), 20, + ACTIONS(134), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3272,48 +3365,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [563] = 19, - ACTIONS(109), 1, + [570] = 19, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(131), 1, + ACTIONS(136), 1, anon_sym_PIPE_PIPE, - ACTIONS(133), 1, + ACTIONS(138), 1, anon_sym_CARET_CARET, - STATE(100), 1, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(113), 2, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(135), 7, + ACTIONS(140), 7, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3321,11 +3414,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, sym_number, sym_string, - ACTIONS(137), 20, + ACTIONS(142), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3342,48 +3436,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [652] = 19, - ACTIONS(109), 1, + [660] = 19, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(131), 1, + ACTIONS(136), 1, anon_sym_PIPE_PIPE, - ACTIONS(133), 1, + ACTIONS(138), 1, anon_sym_CARET_CARET, - STATE(100), 1, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(113), 2, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(139), 7, + ACTIONS(144), 7, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3391,11 +3485,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, sym_number, sym_string, - ACTIONS(141), 20, + ACTIONS(146), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3412,61 +3507,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [741] = 20, - ACTIONS(109), 1, + [750] = 19, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(131), 1, + ACTIONS(136), 1, anon_sym_PIPE_PIPE, - ACTIONS(133), 1, + ACTIONS(138), 1, anon_sym_CARET_CARET, - ACTIONS(147), 1, - anon_sym_COLON, - STATE(100), 1, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(113), 2, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(143), 6, + ACTIONS(148), 7, + ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, sym_number, sym_string, - ACTIONS(145), 20, + ACTIONS(150), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3483,48 +3578,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [832] = 19, - ACTIONS(109), 1, + [840] = 19, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(131), 1, + ACTIONS(136), 1, anon_sym_PIPE_PIPE, - ACTIONS(133), 1, + ACTIONS(138), 1, anon_sym_CARET_CARET, - STATE(100), 1, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(113), 2, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(149), 7, + ACTIONS(152), 7, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3532,11 +3627,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, sym_number, sym_string, - ACTIONS(151), 20, + ACTIONS(154), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3553,48 +3649,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [921] = 19, - ACTIONS(109), 1, + [930] = 19, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(131), 1, + ACTIONS(136), 1, anon_sym_PIPE_PIPE, - ACTIONS(133), 1, + ACTIONS(138), 1, anon_sym_CARET_CARET, - STATE(100), 1, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(113), 2, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(153), 7, + ACTIONS(156), 7, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3602,11 +3698,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, sym_number, sym_string, - ACTIONS(155), 20, + ACTIONS(158), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3623,60 +3720,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1010] = 19, - ACTIONS(109), 1, + [1020] = 20, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(131), 1, + ACTIONS(136), 1, anon_sym_PIPE_PIPE, - ACTIONS(133), 1, + ACTIONS(138), 1, anon_sym_CARET_CARET, - STATE(100), 1, + ACTIONS(164), 1, + anon_sym_COLON, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(113), 2, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(143), 7, - ts_builtin_sym_end, + ACTIONS(160), 6, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, sym_number, sym_string, - ACTIONS(145), 20, + ACTIONS(162), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3693,48 +3792,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1099] = 19, - ACTIONS(109), 1, + [1112] = 19, + ACTIONS(114), 1, anon_sym_DOT, - ACTIONS(111), 1, + ACTIONS(116), 1, anon_sym_LPAREN, - ACTIONS(117), 1, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(131), 1, + ACTIONS(136), 1, anon_sym_PIPE_PIPE, - ACTIONS(133), 1, + ACTIONS(138), 1, anon_sym_CARET_CARET, - STATE(100), 1, + STATE(111), 1, sym_power_operator, - STATE(101), 1, + STATE(112), 1, sym_multiplicative_operator, - STATE(102), 1, + STATE(114), 1, sym_additive_operator, - STATE(105), 1, - sym_or_operator, - STATE(106), 1, - sym_and_operator, - STATE(111), 1, + STATE(115), 1, sym_comparative_operator, - ACTIONS(113), 2, + STATE(116), 1, + sym_and_operator, + STATE(117), 1, + sym_or_operator, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(157), 7, + ACTIONS(160), 7, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3742,11 +3841,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, sym_number, sym_string, - ACTIONS(159), 20, + ACTIONS(162), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3763,8 +3863,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1188] = 2, - ACTIONS(161), 23, + [1202] = 2, + ACTIONS(166), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3788,11 +3888,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(163), 26, + ACTIONS(168), 27, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3815,8 +3916,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1242] = 2, - ACTIONS(165), 23, + [1257] = 2, + ACTIONS(170), 23, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3840,11 +3941,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(167), 26, + ACTIONS(172), 27, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3867,8 +3969,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1296] = 2, - ACTIONS(169), 21, + [1312] = 3, + ACTIONS(178), 1, + anon_sym_EQ, + ACTIONS(174), 21, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3890,11 +3994,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(171), 25, + ACTIONS(176), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3902,7 +4007,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT, anon_sym_GT, anon_sym_let, - anon_sym_EQ, anon_sym_STAR, anon_sym_CARET_CARET, anon_sym_LBRACK, @@ -3916,10 +4020,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1347] = 3, - ACTIONS(177), 1, - anon_sym_EQ, - ACTIONS(173), 21, + [1366] = 2, + ACTIONS(180), 21, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3941,11 +4043,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(175), 24, + ACTIONS(182), 26, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -3953,6 +4056,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT, anon_sym_GT, anon_sym_let, + anon_sym_EQ, anon_sym_STAR, anon_sym_CARET_CARET, anon_sym_LBRACK, @@ -3966,8 +4070,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1400] = 2, - ACTIONS(179), 21, + [1418] = 2, + ACTIONS(184), 21, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -3989,11 +4093,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(181), 24, + ACTIONS(186), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4014,8 +4119,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1450] = 2, - ACTIONS(183), 21, + [1469] = 2, + ACTIONS(188), 21, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4037,11 +4142,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(185), 24, + ACTIONS(190), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4062,23 +4168,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1500] = 4, - ACTIONS(193), 4, - anon_sym_LT, - anon_sym_GT, - anon_sym_STAR, - anon_sym_CARET_CARET, - ACTIONS(187), 8, + [1520] = 2, + ACTIONS(174), 21, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DOT, anon_sym_LPAREN, - sym_number, - sym_string, - ACTIONS(191), 13, - anon_sym_DOT, anon_sym_COLON, anon_sym_DASH, anon_sym_STAR_STAR, @@ -4091,16 +4189,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - ACTIONS(189), 20, + sym_number, + sym_string, + ACTIONS(176), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, anon_sym_return, + anon_sym_LT, + anon_sym_GT, anon_sym_let, + anon_sym_STAR, + anon_sym_CARET_CARET, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -4112,15 +4217,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1554] = 2, - ACTIONS(173), 21, + [1571] = 4, + ACTIONS(198), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_STAR, + anon_sym_CARET_CARET, + ACTIONS(192), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DOT, anon_sym_LPAREN, + sym_number, + sym_string, + ACTIONS(196), 13, + anon_sym_DOT, anon_sym_COLON, anon_sym_DASH, anon_sym_STAR_STAR, @@ -4133,22 +4246,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - sym_number, - sym_string, - ACTIONS(175), 24, + ACTIONS(194), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, anon_sym_return, - anon_sym_LT, - anon_sym_GT, anon_sym_let, - anon_sym_STAR, - anon_sym_CARET_CARET, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -4160,8 +4268,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1604] = 2, - ACTIONS(195), 21, + [1626] = 2, + ACTIONS(200), 21, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4183,11 +4291,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(197), 24, + ACTIONS(202), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4208,8 +4317,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1654] = 2, - ACTIONS(191), 21, + [1677] = 2, + ACTIONS(196), 21, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4231,11 +4340,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(193), 24, + ACTIONS(198), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4256,8 +4366,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1704] = 2, - ACTIONS(199), 21, + [1728] = 2, + ACTIONS(204), 21, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4279,11 +4389,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(201), 24, + ACTIONS(206), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4304,8 +4415,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1754] = 2, - ACTIONS(203), 21, + [1779] = 2, + ACTIONS(208), 21, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4327,11 +4438,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(205), 24, + ACTIONS(210), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4352,8 +4464,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1804] = 2, - ACTIONS(207), 21, + [1830] = 2, + ACTIONS(212), 21, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4375,11 +4487,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(209), 24, + ACTIONS(214), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4400,8 +4513,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1854] = 2, - ACTIONS(211), 21, + [1881] = 2, + ACTIONS(216), 21, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4423,11 +4536,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(213), 24, + ACTIONS(218), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4448,8 +4562,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1904] = 2, - ACTIONS(215), 21, + [1932] = 2, + ACTIONS(220), 21, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4471,11 +4585,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, sym_number, sym_string, - ACTIONS(217), 24, + ACTIONS(222), 25, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4496,10 +4611,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1954] = 3, - ACTIONS(223), 1, + [1983] = 3, + ACTIONS(228), 1, anon_sym_LT, - ACTIONS(219), 12, + ACTIONS(224), 12, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4512,11 +4627,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, sym_number, sym_string, - ACTIONS(221), 20, + ACTIONS(226), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4533,10 +4649,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [1994] = 3, - ACTIONS(225), 1, + [2024] = 3, + ACTIONS(230), 1, anon_sym_LT, - ACTIONS(219), 12, + ACTIONS(224), 12, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4549,11 +4665,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, sym_number, sym_string, - ACTIONS(221), 20, + ACTIONS(226), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4570,8 +4687,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2034] = 2, - ACTIONS(165), 12, + [2065] = 2, + ACTIONS(170), 13, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4579,16 +4696,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, + anon_sym_DASH_GT, anon_sym_GT, anon_sym_COLON, anon_sym_EQ, sym_number, sym_string, - ACTIONS(167), 20, + ACTIONS(172), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4605,25 +4724,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2071] = 2, - ACTIONS(227), 12, + [2104] = 2, + ACTIONS(166), 13, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DOT, anon_sym_LPAREN, - anon_sym_RPAREN, + anon_sym_DASH_GT, anon_sym_GT, - anon_sym_COMMA, + anon_sym_COLON, anon_sym_EQ, sym_number, sym_string, - ACTIONS(229), 20, + ACTIONS(168), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4640,8 +4761,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2108] = 2, - ACTIONS(231), 12, + [2143] = 2, + ACTIONS(232), 12, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4654,11 +4775,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, sym_number, sym_string, - ACTIONS(233), 20, + ACTIONS(234), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4675,8 +4797,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2145] = 2, - ACTIONS(219), 12, + [2181] = 2, + ACTIONS(236), 12, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4689,11 +4811,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, sym_number, sym_string, - ACTIONS(221), 20, + ACTIONS(238), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4710,25 +4833,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2182] = 2, - ACTIONS(161), 12, + [2219] = 2, + ACTIONS(240), 12, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_DOT, anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_GT, - anon_sym_COLON, + anon_sym_COMMA, anon_sym_EQ, sym_number, sym_string, - ACTIONS(163), 20, + ACTIONS(242), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4745,8 +4869,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2219] = 2, - ACTIONS(235), 12, + [2257] = 2, + ACTIONS(224), 12, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4759,11 +4883,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ, sym_number, sym_string, - ACTIONS(237), 20, + ACTIONS(226), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4780,12 +4905,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2256] = 4, - ACTIONS(243), 1, + [2295] = 4, + ACTIONS(248), 1, anon_sym_COLON, - ACTIONS(245), 1, + ACTIONS(250), 1, anon_sym_EQ, - ACTIONS(239), 8, + ACTIONS(244), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4794,11 +4919,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(241), 20, + ACTIONS(246), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4815,68 +4941,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2295] = 15, - ACTIONS(247), 1, - anon_sym_LBRACE, - ACTIONS(249), 1, - anon_sym_RBRACE, - ACTIONS(251), 1, + [2335] = 4, + ACTIONS(256), 1, anon_sym_LPAREN, - ACTIONS(253), 1, - anon_sym_LBRACK, - ACTIONS(257), 1, - aux_sym_identifier_token1, - ACTIONS(263), 1, - sym_none, - STATE(117), 1, - sym_expression, - STATE(118), 1, - sym_primitive_type, - STATE(130), 1, - sym_bool, - STATE(191), 1, - sym_map_item, - STATE(208), 1, - sym_map_item_list, - ACTIONS(259), 2, - sym_number, - sym_string, - ACTIONS(261), 3, - anon_sym_true, - anon_sym_false, - anon_sym_error, - ACTIONS(255), 5, - anon_sym_any, - anon_sym_int, - anon_sym_str, - anon_sym_bool, - anon_sym_void, - STATE(121), 8, - sym_parenthesized_expression, - sym_access, - sym_call, - sym_literal, - sym_binary_expression, - sym_vec, - sym_map, - sym_identifier, - [2355] = 3, - ACTIONS(269), 1, - anon_sym_DOT, - ACTIONS(265), 8, + ACTIONS(258), 1, + anon_sym_DASH_GT, + ACTIONS(252), 7, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(267), 20, + ACTIONS(254), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4893,55 +4976,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2391] = 15, - ACTIONS(247), 1, - anon_sym_LBRACE, - ACTIONS(251), 1, - anon_sym_LPAREN, - ACTIONS(253), 1, - anon_sym_LBRACK, - ACTIONS(257), 1, - aux_sym_identifier_token1, - ACTIONS(263), 1, - sym_none, - ACTIONS(271), 1, - anon_sym_RBRACE, - STATE(117), 1, - sym_expression, - STATE(118), 1, - sym_primitive_type, - STATE(130), 1, - sym_bool, - STATE(191), 1, - sym_map_item, - STATE(202), 1, - sym_map_item_list, - ACTIONS(259), 2, - sym_number, - sym_string, - ACTIONS(261), 3, - anon_sym_true, - anon_sym_false, - anon_sym_error, - ACTIONS(255), 5, - anon_sym_any, - anon_sym_int, - anon_sym_str, - anon_sym_bool, - anon_sym_void, - STATE(121), 8, - sym_parenthesized_expression, - sym_access, - sym_call, - sym_literal, - sym_binary_expression, - sym_vec, - sym_map, - sym_identifier, - [2451] = 3, - ACTIONS(277), 1, + [2374] = 3, + ACTIONS(264), 1, anon_sym_EQ, - ACTIONS(273), 8, + ACTIONS(260), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -4950,11 +4988,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(275), 20, + ACTIONS(262), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -4971,50 +5010,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2487] = 13, - ACTIONS(117), 1, - anon_sym_STAR_STAR, - ACTIONS(119), 1, - anon_sym_STAR, - ACTIONS(279), 1, + [2411] = 3, + ACTIONS(270), 1, anon_sym_DOT, - ACTIONS(281), 1, - anon_sym_LPAREN, - STATE(90), 1, - sym_multiplicative_operator, - STATE(93), 1, - sym_or_operator, - STATE(95), 1, - sym_and_operator, - STATE(96), 1, - sym_comparative_operator, - STATE(98), 1, - sym_additive_operator, - STATE(99), 1, - sym_power_operator, - ACTIONS(107), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(121), 2, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(105), 14, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET_CARET, - anon_sym_RBRACK, - [2542] = 2, - ACTIONS(283), 8, + ACTIONS(266), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5023,11 +5022,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(285), 20, + ACTIONS(268), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5044,8 +5044,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2575] = 2, - ACTIONS(287), 8, + [2448] = 3, + ACTIONS(276), 1, + anon_sym_DASH_GT, + ACTIONS(272), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5054,11 +5056,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(289), 20, + ACTIONS(274), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5075,8 +5078,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2608] = 2, - ACTIONS(291), 8, + [2485] = 3, + ACTIONS(282), 1, + anon_sym_DASH_GT, + ACTIONS(278), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5085,11 +5090,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(293), 20, + ACTIONS(280), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5106,21 +5112,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2641] = 2, - ACTIONS(295), 8, + [2522] = 2, + ACTIONS(284), 9, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, + anon_sym_DASH_GT, sym_number, sym_string, - ACTIONS(297), 20, + ACTIONS(286), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5137,51 +5145,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2674] = 14, - ACTIONS(247), 1, + [2557] = 2, + ACTIONS(288), 8, + ts_builtin_sym_end, + sym_comment, + anon_sym_POUND_POUND, anon_sym_LBRACE, - ACTIONS(251), 1, + anon_sym_RBRACE, anon_sym_LPAREN, - ACTIONS(253), 1, - anon_sym_LBRACK, - ACTIONS(257), 1, - aux_sym_identifier_token1, - ACTIONS(263), 1, - sym_none, - ACTIONS(299), 1, - anon_sym_RPAREN, - STATE(110), 1, - sym_expression, - STATE(118), 1, - sym_primitive_type, - STATE(130), 1, - sym_bool, - STATE(199), 1, - sym_arg_list, - ACTIONS(259), 2, sym_number, sym_string, - ACTIONS(261), 3, - anon_sym_true, - anon_sym_false, - anon_sym_error, - ACTIONS(255), 5, + ACTIONS(290), 21, + anon_sym_import, + anon_sym_extern, + anon_sym_pure, + anon_sym_fn, + anon_sym_proto, + anon_sym_class, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_let, + anon_sym_LBRACK, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, - sym_parenthesized_expression, - sym_access, - sym_call, - sym_literal, - sym_binary_expression, - sym_vec, - sym_map, - sym_identifier, - [2731] = 2, - ACTIONS(301), 8, + aux_sym_identifier_token1, + anon_sym_true, + anon_sym_false, + anon_sym_error, + sym_none, + [2591] = 2, + ACTIONS(292), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5190,11 +5187,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(303), 20, + ACTIONS(294), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5211,8 +5209,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2764] = 2, - ACTIONS(305), 8, + [2625] = 2, + ACTIONS(296), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5221,11 +5219,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(307), 20, + ACTIONS(298), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5242,8 +5241,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2797] = 2, - ACTIONS(309), 8, + [2659] = 2, + ACTIONS(300), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5252,11 +5251,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(311), 20, + ACTIONS(302), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5273,8 +5273,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2830] = 2, - ACTIONS(313), 8, + [2693] = 2, + ACTIONS(304), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5283,11 +5283,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(315), 20, + ACTIONS(306), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5304,8 +5305,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2863] = 2, - ACTIONS(317), 8, + [2727] = 2, + ACTIONS(308), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5314,11 +5315,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(319), 20, + ACTIONS(310), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5335,41 +5337,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [2896] = 14, - ACTIONS(247), 1, + [2761] = 15, + ACTIONS(312), 1, anon_sym_LBRACE, - ACTIONS(251), 1, + ACTIONS(314), 1, + anon_sym_RBRACE, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(328), 1, sym_none, - ACTIONS(321), 1, - anon_sym_RPAREN, - STATE(110), 1, + STATE(122), 1, sym_expression, - STATE(118), 1, + STATE(133), 1, sym_primitive_type, - STATE(130), 1, + STATE(136), 1, sym_bool, - STATE(213), 1, - sym_arg_list, - ACTIONS(259), 2, + STATE(197), 1, + sym_map_item, + STATE(226), 1, + sym_map_item_list, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -5378,39 +5382,8 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [2953] = 2, - ACTIONS(323), 8, - ts_builtin_sym_end, - sym_comment, - anon_sym_POUND_POUND, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - sym_number, - sym_string, - ACTIONS(325), 20, - anon_sym_import, - anon_sym_extern, - anon_sym_pure, - anon_sym_fn, - anon_sym_class, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_let, - anon_sym_LBRACK, - anon_sym_any, - anon_sym_int, - anon_sym_str, - anon_sym_bool, - anon_sym_void, - aux_sym_identifier_token1, - anon_sym_true, - anon_sym_false, - anon_sym_error, - sym_none, - [2986] = 2, - ACTIONS(327), 8, + [2821] = 2, + ACTIONS(330), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5419,11 +5392,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(329), 20, + ACTIONS(332), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5440,41 +5414,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3019] = 14, - ACTIONS(247), 1, + [2855] = 15, + ACTIONS(312), 1, anon_sym_LBRACE, - ACTIONS(251), 1, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(328), 1, sym_none, - ACTIONS(331), 1, - anon_sym_RBRACK, - STATE(112), 1, + ACTIONS(334), 1, + anon_sym_RBRACE, + STATE(122), 1, sym_expression, - STATE(118), 1, + STATE(133), 1, sym_primitive_type, - STATE(130), 1, + STATE(136), 1, sym_bool, - STATE(211), 1, - sym_expression_list, - ACTIONS(259), 2, + STATE(197), 1, + sym_map_item, + STATE(220), 1, + sym_map_item_list, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -5483,8 +5459,8 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [3076] = 2, - ACTIONS(333), 8, + [2915] = 2, + ACTIONS(336), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5493,11 +5469,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(335), 20, + ACTIONS(338), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5514,8 +5491,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3109] = 2, - ACTIONS(337), 8, + [2949] = 2, + ACTIONS(192), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5524,11 +5501,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(339), 20, + ACTIONS(194), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5545,8 +5523,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3142] = 2, - ACTIONS(341), 8, + [2983] = 2, + ACTIONS(340), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5555,11 +5533,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(343), 20, + ACTIONS(342), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5576,8 +5555,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3175] = 2, - ACTIONS(143), 8, + [3017] = 2, + ACTIONS(344), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5586,11 +5565,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(145), 20, + ACTIONS(346), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5607,8 +5587,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3208] = 2, - ACTIONS(187), 8, + [3051] = 2, + ACTIONS(348), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5617,11 +5597,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(189), 20, + ACTIONS(350), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5638,51 +5619,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3241] = 14, - ACTIONS(247), 1, + [3085] = 2, + ACTIONS(352), 8, + ts_builtin_sym_end, + sym_comment, + anon_sym_POUND_POUND, anon_sym_LBRACE, - ACTIONS(251), 1, + anon_sym_RBRACE, anon_sym_LPAREN, - ACTIONS(253), 1, - anon_sym_LBRACK, - ACTIONS(257), 1, - aux_sym_identifier_token1, - ACTIONS(263), 1, - sym_none, - STATE(117), 1, - sym_expression, - STATE(118), 1, - sym_primitive_type, - STATE(130), 1, - sym_bool, - STATE(191), 1, - sym_map_item, - STATE(198), 1, - sym_map_item_list, - ACTIONS(259), 2, sym_number, sym_string, - ACTIONS(261), 3, - anon_sym_true, - anon_sym_false, - anon_sym_error, - ACTIONS(255), 5, + ACTIONS(354), 21, + anon_sym_import, + anon_sym_extern, + anon_sym_pure, + anon_sym_fn, + anon_sym_proto, + anon_sym_class, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_let, + anon_sym_LBRACK, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, - sym_parenthesized_expression, - sym_access, - sym_call, - sym_literal, - sym_binary_expression, - sym_vec, - sym_map, - sym_identifier, - [3298] = 2, - ACTIONS(345), 8, + aux_sym_identifier_token1, + anon_sym_true, + anon_sym_false, + anon_sym_error, + sym_none, + [3119] = 2, + ACTIONS(160), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5691,11 +5661,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(347), 20, + ACTIONS(162), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5712,8 +5683,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3331] = 2, - ACTIONS(349), 8, + [3153] = 2, + ACTIONS(356), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5722,11 +5693,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(351), 20, + ACTIONS(358), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5743,8 +5715,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3364] = 2, - ACTIONS(353), 8, + [3187] = 2, + ACTIONS(360), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5753,11 +5725,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(355), 20, + ACTIONS(362), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5774,8 +5747,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3397] = 2, - ACTIONS(357), 8, + [3221] = 2, + ACTIONS(364), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5784,11 +5757,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(359), 20, + ACTIONS(366), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5805,8 +5779,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3430] = 2, - ACTIONS(361), 8, + [3255] = 2, + ACTIONS(368), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5815,11 +5789,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(363), 20, + ACTIONS(370), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5836,96 +5811,136 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3463] = 14, - ACTIONS(247), 1, - anon_sym_LBRACE, - ACTIONS(251), 1, + [3289] = 2, + ACTIONS(372), 8, + ts_builtin_sym_end, + sym_comment, + anon_sym_POUND_POUND, + anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_LPAREN, - ACTIONS(253), 1, + sym_number, + sym_string, + ACTIONS(374), 21, + anon_sym_import, + anon_sym_extern, + anon_sym_pure, + anon_sym_fn, + anon_sym_proto, + anon_sym_class, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_let, anon_sym_LBRACK, - ACTIONS(257), 1, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, aux_sym_identifier_token1, - ACTIONS(263), 1, + anon_sym_true, + anon_sym_false, + anon_sym_error, sym_none, - ACTIONS(365), 1, - anon_sym_RBRACK, - STATE(112), 1, - sym_expression, - STATE(118), 1, - sym_primitive_type, - STATE(130), 1, - sym_bool, - STATE(203), 1, - sym_expression_list, - ACTIONS(259), 2, + [3323] = 2, + ACTIONS(376), 8, + ts_builtin_sym_end, + sym_comment, + anon_sym_POUND_POUND, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(378), 21, + anon_sym_import, + anon_sym_extern, + anon_sym_pure, + anon_sym_fn, + anon_sym_proto, + anon_sym_class, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_let, + anon_sym_LBRACK, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + aux_sym_identifier_token1, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + sym_none, + [3357] = 2, + ACTIONS(380), 8, + ts_builtin_sym_end, + sym_comment, + anon_sym_POUND_POUND, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + sym_number, + sym_string, + ACTIONS(382), 21, + anon_sym_import, + anon_sym_extern, + anon_sym_pure, + anon_sym_fn, + anon_sym_proto, + anon_sym_class, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_let, + anon_sym_LBRACK, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, - sym_parenthesized_expression, - sym_access, - sym_call, - sym_literal, - sym_binary_expression, - sym_vec, - sym_map, - sym_identifier, - [3520] = 16, - ACTIONS(117), 1, - anon_sym_STAR_STAR, - ACTIONS(119), 1, - anon_sym_STAR, - ACTIONS(125), 1, - anon_sym_AMP_AMP, - ACTIONS(279), 1, - anon_sym_DOT, - ACTIONS(281), 1, - anon_sym_LPAREN, - STATE(90), 1, - sym_multiplicative_operator, - STATE(93), 1, - sym_or_operator, - STATE(95), 1, - sym_and_operator, - STATE(96), 1, - sym_comparative_operator, - STATE(98), 1, - sym_additive_operator, - STATE(99), 1, - sym_power_operator, - ACTIONS(113), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(115), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(121), 2, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(123), 4, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(105), 7, + aux_sym_identifier_token1, + anon_sym_true, + anon_sym_false, + anon_sym_error, + sym_none, + [3391] = 2, + ACTIONS(384), 8, + ts_builtin_sym_end, + sym_comment, + anon_sym_POUND_POUND, + anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_PIPE_PIPE, - anon_sym_CARET_CARET, - anon_sym_RBRACK, - [3581] = 2, - ACTIONS(367), 8, + anon_sym_LPAREN, + sym_number, + sym_string, + ACTIONS(386), 21, + anon_sym_import, + anon_sym_extern, + anon_sym_pure, + anon_sym_fn, + anon_sym_proto, + anon_sym_class, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_let, + anon_sym_LBRACK, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + aux_sym_identifier_token1, + anon_sym_true, + anon_sym_false, + anon_sym_error, + sym_none, + [3425] = 2, + ACTIONS(388), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5934,11 +5949,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(369), 20, + ACTIONS(390), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5955,8 +5971,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3614] = 2, - ACTIONS(371), 8, + [3459] = 2, + ACTIONS(392), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -5965,11 +5981,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(373), 20, + ACTIONS(394), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -5986,95 +6003,104 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3647] = 15, - ACTIONS(117), 1, - anon_sym_STAR_STAR, - ACTIONS(119), 1, - anon_sym_STAR, - ACTIONS(279), 1, - anon_sym_DOT, - ACTIONS(281), 1, + [3493] = 2, + ACTIONS(396), 8, + ts_builtin_sym_end, + sym_comment, + anon_sym_POUND_POUND, + anon_sym_LBRACE, + anon_sym_RBRACE, anon_sym_LPAREN, - STATE(90), 1, - sym_multiplicative_operator, - STATE(93), 1, - sym_or_operator, - STATE(95), 1, - sym_and_operator, - STATE(96), 1, - sym_comparative_operator, - STATE(98), 1, - sym_additive_operator, - STATE(99), 1, - sym_power_operator, - ACTIONS(113), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(115), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(121), 2, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(123), 4, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(105), 8, + sym_number, + sym_string, + ACTIONS(398), 21, + anon_sym_import, + anon_sym_extern, + anon_sym_pure, + anon_sym_fn, + anon_sym_proto, + anon_sym_class, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_let, + anon_sym_LBRACK, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + aux_sym_identifier_token1, + anon_sym_true, + anon_sym_false, + anon_sym_error, + sym_none, + [3527] = 2, + ACTIONS(400), 8, + ts_builtin_sym_end, + sym_comment, + anon_sym_POUND_POUND, + anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET_CARET, - anon_sym_RBRACK, - [3706] = 14, - ACTIONS(117), 1, - anon_sym_STAR_STAR, - ACTIONS(119), 1, - anon_sym_STAR, - ACTIONS(279), 1, - anon_sym_DOT, - ACTIONS(281), 1, anon_sym_LPAREN, - STATE(90), 1, - sym_multiplicative_operator, - STATE(93), 1, - sym_or_operator, - STATE(95), 1, - sym_and_operator, - STATE(96), 1, - sym_comparative_operator, - STATE(98), 1, - sym_additive_operator, - STATE(99), 1, - sym_power_operator, - ACTIONS(107), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(115), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(121), 2, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(105), 12, + sym_number, + sym_string, + ACTIONS(402), 21, + anon_sym_import, + anon_sym_extern, + anon_sym_pure, + anon_sym_fn, + anon_sym_proto, + anon_sym_class, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_let, + anon_sym_LBRACK, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + aux_sym_identifier_token1, + anon_sym_true, + anon_sym_false, + anon_sym_error, + sym_none, + [3561] = 2, + ACTIONS(404), 8, + ts_builtin_sym_end, + sym_comment, + anon_sym_POUND_POUND, + anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_CARET_CARET, - anon_sym_RBRACK, - [3763] = 2, - ACTIONS(375), 8, + anon_sym_LPAREN, + sym_number, + sym_string, + ACTIONS(406), 21, + anon_sym_import, + anon_sym_extern, + anon_sym_pure, + anon_sym_fn, + anon_sym_proto, + anon_sym_class, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_let, + anon_sym_LBRACK, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + aux_sym_identifier_token1, + anon_sym_true, + anon_sym_false, + anon_sym_error, + sym_none, + [3595] = 2, + ACTIONS(408), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -6083,11 +6109,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(377), 20, + ACTIONS(410), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -6104,8 +6131,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3796] = 2, - ACTIONS(379), 8, + [3629] = 2, + ACTIONS(412), 8, ts_builtin_sym_end, sym_comment, anon_sym_POUND_POUND, @@ -6114,11 +6141,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(381), 20, + ACTIONS(414), 21, anon_sym_import, anon_sym_extern, anon_sym_pure, anon_sym_fn, + anon_sym_proto, anon_sym_class, anon_sym_print, anon_sym_assert, @@ -6135,30 +6163,158 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [3829] = 11, - ACTIONS(117), 1, + [3663] = 14, + ACTIONS(312), 1, + anon_sym_LBRACE, + ACTIONS(316), 1, + anon_sym_LPAREN, + ACTIONS(318), 1, + anon_sym_LBRACK, + ACTIONS(322), 1, + aux_sym_identifier_token1, + ACTIONS(328), 1, + sym_none, + STATE(122), 1, + sym_expression, + STATE(133), 1, + sym_primitive_type, + STATE(136), 1, + sym_bool, + STATE(197), 1, + sym_map_item, + STATE(214), 1, + sym_map_item_list, + ACTIONS(324), 2, + sym_number, + sym_string, + ACTIONS(326), 3, + anon_sym_true, + anon_sym_false, + anon_sym_error, + ACTIONS(320), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + STATE(134), 8, + sym_parenthesized_expression, + sym_access, + sym_call, + sym_literal, + sym_binary_expression, + sym_vec, + sym_map, + sym_identifier, + [3720] = 14, + ACTIONS(312), 1, + anon_sym_LBRACE, + ACTIONS(316), 1, + anon_sym_LPAREN, + ACTIONS(318), 1, + anon_sym_LBRACK, + ACTIONS(322), 1, + aux_sym_identifier_token1, + ACTIONS(328), 1, + sym_none, + ACTIONS(416), 1, + anon_sym_RPAREN, + STATE(102), 1, + sym_expression, + STATE(133), 1, + sym_primitive_type, + STATE(136), 1, + sym_bool, + STATE(210), 1, + sym_arg_list, + ACTIONS(324), 2, + sym_number, + sym_string, + ACTIONS(326), 3, + anon_sym_true, + anon_sym_false, + anon_sym_error, + ACTIONS(320), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + STATE(134), 8, + sym_parenthesized_expression, + sym_access, + sym_call, + sym_literal, + sym_binary_expression, + sym_vec, + sym_map, + sym_identifier, + [3777] = 13, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(279), 1, + ACTIONS(124), 1, + anon_sym_STAR, + ACTIONS(418), 1, anon_sym_DOT, - ACTIONS(281), 1, + ACTIONS(420), 1, anon_sym_LPAREN, - STATE(90), 1, + STATE(101), 1, + sym_or_operator, + STATE(103), 1, + sym_and_operator, + STATE(105), 1, + sym_comparative_operator, + STATE(108), 1, + sym_additive_operator, + STATE(109), 1, sym_multiplicative_operator, - STATE(93), 1, + STATE(110), 1, + sym_power_operator, + ACTIONS(112), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(126), 2, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(110), 14, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET_CARET, + anon_sym_RBRACK, + [3832] = 11, + ACTIONS(118), 1, + anon_sym_STAR_STAR, + ACTIONS(418), 1, + anon_sym_DOT, + ACTIONS(420), 1, + anon_sym_LPAREN, + STATE(101), 1, sym_or_operator, - STATE(95), 1, + STATE(103), 1, sym_and_operator, - STATE(96), 1, + STATE(105), 1, sym_comparative_operator, - STATE(98), 1, + STATE(108), 1, sym_additive_operator, - STATE(99), 1, + STATE(109), 1, + sym_multiplicative_operator, + STATE(110), 1, sym_power_operator, - ACTIONS(107), 3, + ACTIONS(112), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(105), 16, + ACTIONS(110), 16, anon_sym_RBRACE, anon_sym_RPAREN, anon_sym_COMMA, @@ -6175,108 +6331,338 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [3880] = 2, - ACTIONS(383), 8, - ts_builtin_sym_end, - sym_comment, - anon_sym_POUND_POUND, - anon_sym_LBRACE, + [3883] = 10, + ACTIONS(418), 1, + anon_sym_DOT, + ACTIONS(420), 1, + anon_sym_LPAREN, + STATE(101), 1, + sym_or_operator, + STATE(103), 1, + sym_and_operator, + STATE(105), 1, + sym_comparative_operator, + STATE(108), 1, + sym_additive_operator, + STATE(109), 1, + sym_multiplicative_operator, + STATE(110), 1, + sym_power_operator, + ACTIONS(112), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_STAR, + ACTIONS(110), 17, anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_DASH, + anon_sym_STAR_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET_CARET, + anon_sym_RBRACK, + [3932] = 14, + ACTIONS(118), 1, + anon_sym_STAR_STAR, + ACTIONS(124), 1, + anon_sym_STAR, + ACTIONS(418), 1, + anon_sym_DOT, + ACTIONS(420), 1, anon_sym_LPAREN, + STATE(101), 1, + sym_or_operator, + STATE(103), 1, + sym_and_operator, + STATE(105), 1, + sym_comparative_operator, + STATE(108), 1, + sym_additive_operator, + STATE(109), 1, + sym_multiplicative_operator, + STATE(110), 1, + sym_power_operator, + ACTIONS(112), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(122), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(126), 2, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(110), 12, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET_CARET, + anon_sym_RBRACK, + [3989] = 14, + ACTIONS(312), 1, + anon_sym_LBRACE, + ACTIONS(316), 1, + anon_sym_LPAREN, + ACTIONS(318), 1, + anon_sym_LBRACK, + ACTIONS(322), 1, + aux_sym_identifier_token1, + ACTIONS(328), 1, + sym_none, + ACTIONS(422), 1, + anon_sym_RBRACK, + STATE(119), 1, + sym_expression, + STATE(133), 1, + sym_primitive_type, + STATE(136), 1, + sym_bool, + STATE(218), 1, + sym_expression_list, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(385), 20, - anon_sym_import, - anon_sym_extern, - anon_sym_pure, - anon_sym_fn, - anon_sym_class, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_let, - anon_sym_LBRACK, + ACTIONS(326), 3, + anon_sym_true, + anon_sym_false, + anon_sym_error, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - aux_sym_identifier_token1, - anon_sym_true, - anon_sym_false, - anon_sym_error, - sym_none, - [3913] = 10, - ACTIONS(279), 1, + STATE(134), 8, + sym_parenthesized_expression, + sym_access, + sym_call, + sym_literal, + sym_binary_expression, + sym_vec, + sym_map, + sym_identifier, + [4046] = 15, + ACTIONS(118), 1, + anon_sym_STAR_STAR, + ACTIONS(124), 1, + anon_sym_STAR, + ACTIONS(418), 1, anon_sym_DOT, - ACTIONS(281), 1, + ACTIONS(420), 1, anon_sym_LPAREN, - STATE(90), 1, + STATE(101), 1, + sym_or_operator, + STATE(103), 1, + sym_and_operator, + STATE(105), 1, + sym_comparative_operator, + STATE(108), 1, + sym_additive_operator, + STATE(109), 1, sym_multiplicative_operator, - STATE(93), 1, + STATE(110), 1, + sym_power_operator, + ACTIONS(120), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(122), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(126), 2, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(128), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(110), 8, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_CARET_CARET, + anon_sym_RBRACK, + [4105] = 16, + ACTIONS(118), 1, + anon_sym_STAR_STAR, + ACTIONS(124), 1, + anon_sym_STAR, + ACTIONS(130), 1, + anon_sym_AMP_AMP, + ACTIONS(418), 1, + anon_sym_DOT, + ACTIONS(420), 1, + anon_sym_LPAREN, + STATE(101), 1, sym_or_operator, - STATE(95), 1, + STATE(103), 1, sym_and_operator, - STATE(96), 1, + STATE(105), 1, sym_comparative_operator, - STATE(98), 1, + STATE(108), 1, sym_additive_operator, - STATE(99), 1, + STATE(109), 1, + sym_multiplicative_operator, + STATE(110), 1, sym_power_operator, - ACTIONS(107), 3, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - anon_sym_STAR, - ACTIONS(105), 17, - anon_sym_RBRACE, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, + ACTIONS(122), 2, anon_sym_DASH, - anon_sym_STAR_STAR, + anon_sym_PLUS, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - anon_sym_PLUS, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - anon_sym_AMP_AMP, + ACTIONS(110), 7, + anon_sym_RBRACE, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [3962] = 12, - ACTIONS(29), 1, + [4166] = 14, + ACTIONS(312), 1, + anon_sym_LBRACE, + ACTIONS(316), 1, + anon_sym_LPAREN, + ACTIONS(318), 1, + anon_sym_LBRACK, + ACTIONS(322), 1, + aux_sym_identifier_token1, + ACTIONS(328), 1, + sym_none, + ACTIONS(424), 1, + anon_sym_RBRACK, + STATE(119), 1, + sym_expression, + STATE(133), 1, + sym_primitive_type, + STATE(136), 1, + sym_bool, + STATE(223), 1, + sym_expression_list, + ACTIONS(324), 2, + sym_number, + sym_string, + ACTIONS(326), 3, + anon_sym_true, + anon_sym_false, + anon_sym_error, + ACTIONS(320), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + STATE(134), 8, + sym_parenthesized_expression, + sym_access, + sym_call, + sym_literal, + sym_binary_expression, + sym_vec, + sym_map, + sym_identifier, + [4223] = 14, + ACTIONS(312), 1, + anon_sym_LBRACE, + ACTIONS(316), 1, + anon_sym_LPAREN, + ACTIONS(318), 1, + anon_sym_LBRACK, + ACTIONS(322), 1, + aux_sym_identifier_token1, + ACTIONS(328), 1, + sym_none, + ACTIONS(426), 1, + anon_sym_RPAREN, + STATE(102), 1, + sym_expression, + STATE(133), 1, + sym_primitive_type, + STATE(136), 1, + sym_bool, + STATE(225), 1, + sym_arg_list, + ACTIONS(324), 2, + sym_number, + sym_string, + ACTIONS(326), 3, + anon_sym_true, + anon_sym_false, + anon_sym_error, + ACTIONS(320), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + STATE(134), 8, + sym_parenthesized_expression, + sym_access, + sym_call, + sym_literal, + sym_binary_expression, + sym_vec, + sym_map, + sym_identifier, + [4280] = 12, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(387), 1, + ACTIONS(428), 1, anon_sym_LBRACE, - ACTIONS(389), 1, + ACTIONS(430), 1, anon_sym_LPAREN, - ACTIONS(391), 1, + ACTIONS(432), 1, anon_sym_LF, STATE(13), 1, sym_expression, STATE(22), 1, sym_primitive_type, - STATE(31), 1, + STATE(32), 1, sym_bool, - ACTIONS(37), 3, + ACTIONS(39), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(39), 3, + ACTIONS(41), 3, sym_number, sym_string, sym_none, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(28), 8, + STATE(27), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6285,39 +6671,39 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4014] = 13, - ACTIONS(247), 1, + [4332] = 13, + ACTIONS(312), 1, anon_sym_LBRACE, - ACTIONS(251), 1, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(328), 1, sym_none, - STATE(112), 1, + STATE(119), 1, sym_expression, - STATE(118), 1, + STATE(133), 1, sym_primitive_type, - STATE(130), 1, + STATE(136), 1, sym_bool, - STATE(209), 1, + STATE(213), 1, sym_expression_list, - ACTIONS(259), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6326,39 +6712,39 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4068] = 13, - ACTIONS(247), 1, + [4386] = 13, + ACTIONS(312), 1, anon_sym_LBRACE, - ACTIONS(251), 1, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(328), 1, sym_none, - ACTIONS(393), 1, + ACTIONS(434), 1, anon_sym_RPAREN, - STATE(114), 1, + STATE(120), 1, sym_expression, - STATE(118), 1, + STATE(133), 1, sym_primitive_type, - STATE(130), 1, + STATE(136), 1, sym_bool, - ACTIONS(259), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6367,39 +6753,39 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4122] = 13, - ACTIONS(247), 1, + [4440] = 13, + ACTIONS(312), 1, anon_sym_LBRACE, - ACTIONS(251), 1, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(328), 1, sym_none, - ACTIONS(395), 1, + ACTIONS(436), 1, anon_sym_RPAREN, - STATE(114), 1, + STATE(120), 1, sym_expression, - STATE(118), 1, + STATE(133), 1, sym_primitive_type, - STATE(130), 1, + STATE(136), 1, sym_bool, - ACTIONS(259), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6408,37 +6794,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4176] = 12, - ACTIONS(247), 1, - anon_sym_LBRACE, - ACTIONS(251), 1, + [4494] = 12, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(41), 1, sym_none, - STATE(83), 1, + ACTIONS(438), 1, + anon_sym_LBRACE, + STATE(17), 1, sym_expression, - STATE(118), 1, + STATE(22), 1, sym_primitive_type, - STATE(130), 1, + STATE(32), 1, sym_bool, - ACTIONS(259), 2, + ACTIONS(37), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(39), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(27), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6447,37 +6833,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4227] = 12, + [4545] = 12, ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(39), 1, + ACTIONS(41), 1, sym_none, - ACTIONS(397), 1, + ACTIONS(438), 1, anon_sym_LBRACE, - STATE(15), 1, + STATE(18), 1, sym_expression, STATE(22), 1, sym_primitive_type, - STATE(31), 1, + STATE(32), 1, sym_bool, - ACTIONS(35), 2, + ACTIONS(37), 2, sym_number, sym_string, - ACTIONS(37), 3, + ACTIONS(39), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(28), 8, + STATE(27), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6486,37 +6872,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4278] = 12, - ACTIONS(247), 1, + [4596] = 12, + ACTIONS(312), 1, anon_sym_LBRACE, - ACTIONS(251), 1, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(328), 1, sym_none, - STATE(114), 1, + STATE(123), 1, sym_expression, - STATE(118), 1, + STATE(133), 1, sym_primitive_type, - STATE(130), 1, + STATE(136), 1, sym_bool, - ACTIONS(259), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6525,37 +6911,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4329] = 12, - ACTIONS(247), 1, - anon_sym_LBRACE, - ACTIONS(251), 1, + [4647] = 12, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(41), 1, sym_none, - STATE(76), 1, + ACTIONS(438), 1, + anon_sym_LBRACE, + STATE(15), 1, sym_expression, - STATE(118), 1, + STATE(22), 1, sym_primitive_type, - STATE(130), 1, + STATE(32), 1, sym_bool, - ACTIONS(259), 2, + ACTIONS(37), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(39), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(27), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6564,37 +6950,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4380] = 12, - ACTIONS(247), 1, + [4698] = 12, + ACTIONS(312), 1, anon_sym_LBRACE, - ACTIONS(251), 1, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(328), 1, sym_none, - STATE(115), 1, + STATE(90), 1, sym_expression, - STATE(118), 1, + STATE(133), 1, sym_primitive_type, - STATE(130), 1, + STATE(136), 1, sym_bool, - ACTIONS(259), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6603,37 +6989,83 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4431] = 12, - ACTIONS(247), 1, + [4749] = 19, + ACTIONS(118), 1, + anon_sym_STAR_STAR, + ACTIONS(124), 1, + anon_sym_STAR, + ACTIONS(130), 1, + anon_sym_AMP_AMP, + ACTIONS(418), 1, + anon_sym_DOT, + ACTIONS(420), 1, + anon_sym_LPAREN, + ACTIONS(440), 1, + anon_sym_RPAREN, + ACTIONS(442), 1, + anon_sym_COMMA, + STATE(101), 1, + sym_or_operator, + STATE(103), 1, + sym_and_operator, + STATE(105), 1, + sym_comparative_operator, + STATE(108), 1, + sym_additive_operator, + STATE(109), 1, + sym_multiplicative_operator, + STATE(110), 1, + sym_power_operator, + STATE(192), 1, + aux_sym_arg_list_repeat1, + ACTIONS(120), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(122), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(126), 2, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(136), 2, + anon_sym_PIPE_PIPE, + anon_sym_CARET_CARET, + ACTIONS(128), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [4814] = 12, + ACTIONS(312), 1, anon_sym_LBRACE, - ACTIONS(251), 1, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(328), 1, sym_none, - STATE(79), 1, + STATE(89), 1, sym_expression, - STATE(118), 1, + STATE(133), 1, sym_primitive_type, - STATE(130), 1, + STATE(136), 1, sym_bool, - ACTIONS(259), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6642,37 +7074,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4482] = 12, - ACTIONS(247), 1, - anon_sym_LBRACE, - ACTIONS(251), 1, + [4865] = 12, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(41), 1, sym_none, - STATE(80), 1, + ACTIONS(438), 1, + anon_sym_LBRACE, + STATE(16), 1, sym_expression, - STATE(118), 1, + STATE(22), 1, sym_primitive_type, - STATE(130), 1, + STATE(32), 1, sym_bool, - ACTIONS(259), 2, + ACTIONS(37), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(39), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(27), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6681,37 +7113,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4533] = 12, - ACTIONS(247), 1, + [4916] = 12, + ACTIONS(312), 1, anon_sym_LBRACE, - ACTIONS(251), 1, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(328), 1, sym_none, - STATE(116), 1, + STATE(87), 1, sym_expression, - STATE(118), 1, + STATE(133), 1, sym_primitive_type, - STATE(130), 1, + STATE(136), 1, sym_bool, - ACTIONS(259), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6720,37 +7152,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4584] = 12, - ACTIONS(247), 1, - anon_sym_LBRACE, - ACTIONS(251), 1, + [4967] = 12, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(41), 1, sym_none, - STATE(49), 1, + ACTIONS(438), 1, + anon_sym_LBRACE, + STATE(14), 1, sym_expression, - STATE(118), 1, + STATE(22), 1, sym_primitive_type, - STATE(130), 1, + STATE(32), 1, sym_bool, - ACTIONS(259), 2, + ACTIONS(37), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(39), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(27), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6759,37 +7191,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4635] = 12, - ACTIONS(247), 1, + [5018] = 12, + ACTIONS(312), 1, anon_sym_LBRACE, - ACTIONS(251), 1, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(328), 1, sym_none, - STATE(85), 1, + STATE(120), 1, sym_expression, - STATE(118), 1, + STATE(133), 1, sym_primitive_type, - STATE(130), 1, + STATE(136), 1, sym_bool, - ACTIONS(259), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6798,37 +7230,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4686] = 12, - ACTIONS(17), 1, + [5069] = 12, + ACTIONS(312), 1, + anon_sym_LBRACE, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(39), 1, + ACTIONS(328), 1, sym_none, - ACTIONS(397), 1, - anon_sym_LBRACE, - STATE(12), 1, + STATE(84), 1, sym_expression, - STATE(22), 1, + STATE(133), 1, sym_primitive_type, - STATE(31), 1, + STATE(136), 1, sym_bool, - ACTIONS(35), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(37), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(31), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(28), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6837,37 +7269,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4737] = 12, - ACTIONS(17), 1, + [5120] = 12, + ACTIONS(312), 1, + anon_sym_LBRACE, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(39), 1, + ACTIONS(328), 1, sym_none, - ACTIONS(397), 1, - anon_sym_LBRACE, - STATE(8), 1, + STATE(85), 1, sym_expression, - STATE(22), 1, + STATE(133), 1, sym_primitive_type, - STATE(31), 1, + STATE(136), 1, sym_bool, - ACTIONS(35), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(37), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(31), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(28), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6876,37 +7308,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4788] = 12, - ACTIONS(17), 1, + [5171] = 12, + ACTIONS(312), 1, + anon_sym_LBRACE, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(39), 1, + ACTIONS(328), 1, sym_none, - ACTIONS(397), 1, - anon_sym_LBRACE, - STATE(9), 1, + STATE(86), 1, sym_expression, - STATE(22), 1, + STATE(133), 1, sym_primitive_type, - STATE(31), 1, + STATE(136), 1, sym_bool, - ACTIONS(35), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(37), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(31), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(28), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6915,37 +7347,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4839] = 12, - ACTIONS(247), 1, - anon_sym_LBRACE, - ACTIONS(251), 1, + [5222] = 12, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(253), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(257), 1, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(263), 1, + ACTIONS(41), 1, sym_none, - STATE(113), 1, + ACTIONS(438), 1, + anon_sym_LBRACE, + STATE(8), 1, sym_expression, - STATE(118), 1, + STATE(22), 1, sym_primitive_type, - STATE(130), 1, + STATE(32), 1, sym_bool, - ACTIONS(259), 2, + ACTIONS(37), 2, sym_number, sym_string, - ACTIONS(261), 3, + ACTIONS(39), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(255), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(121), 8, + STATE(27), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6954,37 +7386,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4890] = 12, + [5273] = 12, ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(39), 1, + ACTIONS(41), 1, sym_none, - ACTIONS(397), 1, + ACTIONS(438), 1, anon_sym_LBRACE, - STATE(14), 1, + STATE(7), 1, sym_expression, STATE(22), 1, sym_primitive_type, - STATE(31), 1, + STATE(32), 1, sym_bool, - ACTIONS(35), 2, + ACTIONS(37), 2, sym_number, sym_string, - ACTIONS(37), 3, + ACTIONS(39), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(28), 8, + STATE(27), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -6993,37 +7425,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4941] = 12, - ACTIONS(17), 1, + [5324] = 12, + ACTIONS(312), 1, + anon_sym_LBRACE, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(39), 1, + ACTIONS(328), 1, sym_none, - ACTIONS(397), 1, - anon_sym_LBRACE, - STATE(7), 1, + STATE(124), 1, sym_expression, - STATE(22), 1, + STATE(133), 1, sym_primitive_type, - STATE(31), 1, + STATE(136), 1, sym_bool, - ACTIONS(35), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(37), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(31), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(28), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -7032,37 +7464,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [4992] = 12, + [5375] = 12, ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(39), 1, + ACTIONS(41), 1, sym_none, - ACTIONS(397), 1, + ACTIONS(438), 1, anon_sym_LBRACE, - STATE(11), 1, + STATE(10), 1, sym_expression, STATE(22), 1, sym_primitive_type, - STATE(31), 1, + STATE(32), 1, sym_bool, - ACTIONS(35), 2, + ACTIONS(37), 2, sym_number, sym_string, - ACTIONS(37), 3, + ACTIONS(39), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(28), 8, + STATE(27), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -7071,37 +7503,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [5043] = 12, + [5426] = 12, ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(39), 1, + ACTIONS(41), 1, sym_none, - ACTIONS(397), 1, + ACTIONS(438), 1, anon_sym_LBRACE, - STATE(17), 1, + STATE(12), 1, sym_expression, STATE(22), 1, sym_primitive_type, - STATE(31), 1, + STATE(32), 1, sym_bool, - ACTIONS(35), 2, + ACTIONS(37), 2, sym_number, sym_string, - ACTIONS(37), 3, + ACTIONS(39), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(28), 8, + STATE(27), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -7110,37 +7542,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [5094] = 12, + [5477] = 12, ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(39), 1, + ACTIONS(41), 1, sym_none, - ACTIONS(397), 1, + ACTIONS(438), 1, anon_sym_LBRACE, - STATE(20), 1, + STATE(11), 1, sym_expression, STATE(22), 1, sym_primitive_type, - STATE(31), 1, + STATE(32), 1, sym_bool, - ACTIONS(35), 2, + ACTIONS(37), 2, sym_number, sym_string, - ACTIONS(37), 3, + ACTIONS(39), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(28), 8, + STATE(27), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -7149,37 +7581,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [5145] = 12, + [5528] = 12, ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(31), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(39), 1, + ACTIONS(41), 1, sym_none, - ACTIONS(397), 1, + ACTIONS(438), 1, anon_sym_LBRACE, - STATE(18), 1, + STATE(9), 1, sym_expression, STATE(22), 1, sym_primitive_type, - STATE(31), 1, + STATE(32), 1, sym_bool, - ACTIONS(35), 2, + ACTIONS(37), 2, sym_number, sym_string, - ACTIONS(37), 3, + ACTIONS(39), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(28), 8, + STATE(27), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -7188,83 +7620,37 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [5196] = 19, - ACTIONS(117), 1, - anon_sym_STAR_STAR, - ACTIONS(119), 1, - anon_sym_STAR, - ACTIONS(125), 1, - anon_sym_AMP_AMP, - ACTIONS(279), 1, - anon_sym_DOT, - ACTIONS(281), 1, - anon_sym_LPAREN, - ACTIONS(399), 1, - anon_sym_RPAREN, - ACTIONS(401), 1, - anon_sym_COMMA, - STATE(90), 1, - sym_multiplicative_operator, - STATE(93), 1, - sym_or_operator, - STATE(95), 1, - sym_and_operator, - STATE(96), 1, - sym_comparative_operator, - STATE(98), 1, - sym_additive_operator, - STATE(99), 1, - sym_power_operator, - STATE(182), 1, - aux_sym_arg_list_repeat1, - ACTIONS(113), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(115), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(121), 2, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(131), 2, - anon_sym_PIPE_PIPE, - anon_sym_CARET_CARET, - ACTIONS(123), 4, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - [5261] = 12, - ACTIONS(17), 1, + [5579] = 12, + ACTIONS(312), 1, + anon_sym_LBRACE, + ACTIONS(316), 1, anon_sym_LPAREN, - ACTIONS(29), 1, + ACTIONS(318), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + ACTIONS(322), 1, aux_sym_identifier_token1, - ACTIONS(39), 1, + ACTIONS(328), 1, sym_none, - ACTIONS(397), 1, - anon_sym_LBRACE, - STATE(10), 1, + STATE(121), 1, sym_expression, - STATE(22), 1, + STATE(133), 1, sym_primitive_type, - STATE(31), 1, + STATE(136), 1, sym_bool, - ACTIONS(35), 2, + ACTIONS(324), 2, sym_number, sym_string, - ACTIONS(37), 3, + ACTIONS(326), 3, anon_sym_true, anon_sym_false, anon_sym_error, - ACTIONS(31), 5, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - STATE(28), 8, + STATE(134), 8, sym_parenthesized_expression, sym_access, sym_call, @@ -7273,268 +7659,268 @@ static const uint16_t ts_small_parse_table[] = { sym_vec, sym_map, sym_identifier, - [5312] = 18, - ACTIONS(117), 1, + [5630] = 18, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(279), 1, + ACTIONS(418), 1, anon_sym_DOT, - ACTIONS(281), 1, + ACTIONS(420), 1, anon_sym_LPAREN, - ACTIONS(403), 1, + ACTIONS(444), 1, anon_sym_COMMA, - ACTIONS(405), 1, + ACTIONS(446), 1, anon_sym_RBRACK, - STATE(90), 1, - sym_multiplicative_operator, - STATE(93), 1, + STATE(101), 1, sym_or_operator, - STATE(95), 1, + STATE(103), 1, sym_and_operator, - STATE(96), 1, + STATE(105), 1, sym_comparative_operator, - STATE(98), 1, + STATE(108), 1, sym_additive_operator, - STATE(99), 1, + STATE(109), 1, + sym_multiplicative_operator, + STATE(110), 1, sym_power_operator, - ACTIONS(113), 2, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(131), 2, + ACTIONS(136), 2, anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - [5374] = 17, - ACTIONS(117), 1, + [5692] = 17, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(279), 1, + ACTIONS(418), 1, anon_sym_DOT, - ACTIONS(281), 1, + ACTIONS(420), 1, anon_sym_LPAREN, - STATE(90), 1, - sym_multiplicative_operator, - STATE(93), 1, + STATE(101), 1, sym_or_operator, - STATE(95), 1, + STATE(103), 1, sym_and_operator, - STATE(96), 1, + STATE(105), 1, sym_comparative_operator, - STATE(98), 1, + STATE(108), 1, sym_additive_operator, - STATE(99), 1, + STATE(109), 1, + sym_multiplicative_operator, + STATE(110), 1, sym_power_operator, - ACTIONS(113), 2, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(131), 2, + ACTIONS(136), 2, anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, - ACTIONS(407), 2, - anon_sym_RBRACE, + ACTIONS(448), 2, + anon_sym_RPAREN, anon_sym_COMMA, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - [5434] = 17, - ACTIONS(117), 1, + [5752] = 17, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(279), 1, + ACTIONS(418), 1, anon_sym_DOT, - ACTIONS(281), 1, + ACTIONS(420), 1, anon_sym_LPAREN, - STATE(90), 1, - sym_multiplicative_operator, - STATE(93), 1, + STATE(101), 1, sym_or_operator, - STATE(95), 1, + STATE(103), 1, sym_and_operator, - STATE(96), 1, + STATE(105), 1, sym_comparative_operator, - STATE(98), 1, + STATE(108), 1, sym_additive_operator, - STATE(99), 1, + STATE(109), 1, + sym_multiplicative_operator, + STATE(110), 1, sym_power_operator, - ACTIONS(113), 2, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(131), 2, + ACTIONS(136), 2, anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, - ACTIONS(409), 2, - anon_sym_RPAREN, + ACTIONS(450), 2, + anon_sym_RBRACE, anon_sym_COMMA, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - [5494] = 17, - ACTIONS(117), 1, + [5812] = 17, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(279), 1, + ACTIONS(164), 1, + anon_sym_COLON, + ACTIONS(418), 1, anon_sym_DOT, - ACTIONS(281), 1, + ACTIONS(420), 1, anon_sym_LPAREN, - ACTIONS(411), 1, - anon_sym_RPAREN, - STATE(90), 1, - sym_multiplicative_operator, - STATE(93), 1, + STATE(101), 1, sym_or_operator, - STATE(95), 1, + STATE(103), 1, sym_and_operator, - STATE(96), 1, + STATE(105), 1, sym_comparative_operator, - STATE(98), 1, + STATE(108), 1, sym_additive_operator, - STATE(99), 1, + STATE(109), 1, + sym_multiplicative_operator, + STATE(110), 1, sym_power_operator, - ACTIONS(113), 2, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(131), 2, + ACTIONS(136), 2, anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - [5553] = 17, - ACTIONS(117), 1, + [5871] = 17, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(279), 1, + ACTIONS(418), 1, anon_sym_DOT, - ACTIONS(281), 1, + ACTIONS(420), 1, anon_sym_LPAREN, - ACTIONS(413), 1, + ACTIONS(452), 1, anon_sym_RPAREN, - STATE(90), 1, - sym_multiplicative_operator, - STATE(93), 1, + STATE(101), 1, sym_or_operator, - STATE(95), 1, + STATE(103), 1, sym_and_operator, - STATE(96), 1, + STATE(105), 1, sym_comparative_operator, - STATE(98), 1, + STATE(108), 1, sym_additive_operator, - STATE(99), 1, + STATE(109), 1, + sym_multiplicative_operator, + STATE(110), 1, sym_power_operator, - ACTIONS(113), 2, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(131), 2, + ACTIONS(136), 2, anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - [5612] = 17, - ACTIONS(117), 1, + [5930] = 17, + ACTIONS(118), 1, anon_sym_STAR_STAR, - ACTIONS(119), 1, + ACTIONS(124), 1, anon_sym_STAR, - ACTIONS(125), 1, + ACTIONS(130), 1, anon_sym_AMP_AMP, - ACTIONS(147), 1, - anon_sym_COLON, - ACTIONS(279), 1, + ACTIONS(418), 1, anon_sym_DOT, - ACTIONS(281), 1, + ACTIONS(420), 1, anon_sym_LPAREN, - STATE(90), 1, - sym_multiplicative_operator, - STATE(93), 1, + ACTIONS(454), 1, + anon_sym_RPAREN, + STATE(101), 1, sym_or_operator, - STATE(95), 1, + STATE(103), 1, sym_and_operator, - STATE(96), 1, + STATE(105), 1, sym_comparative_operator, - STATE(98), 1, + STATE(108), 1, sym_additive_operator, - STATE(99), 1, + STATE(109), 1, + sym_multiplicative_operator, + STATE(110), 1, sym_power_operator, - ACTIONS(113), 2, + ACTIONS(120), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(115), 2, + ACTIONS(122), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(121), 2, + ACTIONS(126), 2, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(131), 2, + ACTIONS(136), 2, anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, - ACTIONS(123), 4, + ACTIONS(128), 4, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - [5671] = 2, - ACTIONS(167), 3, + [5989] = 2, + ACTIONS(168), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(165), 19, + ACTIONS(166), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7554,12 +7940,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [5698] = 2, - ACTIONS(209), 3, + [6016] = 2, + ACTIONS(182), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(207), 19, + ACTIONS(180), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7579,12 +7965,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [5725] = 2, - ACTIONS(181), 3, + [6043] = 2, + ACTIONS(222), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(179), 19, + ACTIONS(220), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7604,12 +7990,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [5752] = 2, - ACTIONS(175), 3, + [6070] = 2, + ACTIONS(190), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(173), 19, + ACTIONS(188), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7629,12 +8015,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [5779] = 2, - ACTIONS(205), 3, + [6097] = 2, + ACTIONS(202), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(203), 19, + ACTIONS(200), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7654,12 +8040,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [5806] = 2, - ACTIONS(163), 3, + [6124] = 2, + ACTIONS(186), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(161), 19, + ACTIONS(184), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7679,12 +8065,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [5833] = 2, - ACTIONS(185), 3, + [6151] = 2, + ACTIONS(198), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(183), 19, + ACTIONS(196), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7704,12 +8090,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [5860] = 2, - ACTIONS(197), 3, + [6178] = 2, + ACTIONS(214), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(195), 19, + ACTIONS(212), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7729,12 +8115,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [5887] = 2, - ACTIONS(193), 3, + [6205] = 2, + ACTIONS(172), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(191), 19, + ACTIONS(170), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7754,12 +8140,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [5914] = 2, - ACTIONS(171), 3, + [6232] = 2, + ACTIONS(176), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(169), 19, + ACTIONS(174), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7779,12 +8165,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [5941] = 2, - ACTIONS(213), 3, + [6259] = 2, + ACTIONS(206), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(211), 19, + ACTIONS(204), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7804,12 +8190,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [5968] = 2, - ACTIONS(217), 3, + [6286] = 2, + ACTIONS(210), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(215), 19, + ACTIONS(208), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7829,12 +8215,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [5995] = 2, - ACTIONS(201), 3, + [6313] = 2, + ACTIONS(218), 3, anon_sym_LT, anon_sym_GT, anon_sym_STAR, - ACTIONS(199), 19, + ACTIONS(216), 19, anon_sym_RBRACE, anon_sym_DOT, anon_sym_LPAREN, @@ -7854,13 +8240,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_CARET_CARET, anon_sym_RBRACK, - [6022] = 2, - ACTIONS(415), 4, + [6340] = 2, + ACTIONS(456), 4, anon_sym_LBRACE, anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(417), 11, + ACTIONS(458), 11, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -7872,13 +8258,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [6042] = 2, - ACTIONS(419), 4, + [6360] = 2, + ACTIONS(460), 4, anon_sym_LBRACE, anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(421), 11, + ACTIONS(462), 11, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -7890,13 +8276,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [6062] = 2, - ACTIONS(423), 4, + [6380] = 2, + ACTIONS(464), 4, anon_sym_LBRACE, anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(425), 11, + ACTIONS(466), 11, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -7908,13 +8294,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [6082] = 2, - ACTIONS(427), 4, + [6400] = 2, + ACTIONS(468), 4, anon_sym_LBRACE, anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(429), 11, + ACTIONS(470), 11, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -7926,13 +8312,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [6102] = 2, - ACTIONS(431), 4, + [6420] = 2, + ACTIONS(472), 4, anon_sym_LBRACE, anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(433), 11, + ACTIONS(474), 11, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -7944,13 +8330,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [6122] = 2, - ACTIONS(435), 4, + [6440] = 2, + ACTIONS(476), 4, anon_sym_LBRACE, anon_sym_LPAREN, sym_number, sym_string, - ACTIONS(437), 11, + ACTIONS(478), 11, anon_sym_LBRACK, anon_sym_any, anon_sym_int, @@ -7962,1249 +8348,1379 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_false, anon_sym_error, sym_none, - [6142] = 8, - ACTIONS(439), 1, + [6460] = 8, + ACTIONS(480), 1, anon_sym_vec, - ACTIONS(441), 1, + ACTIONS(482), 1, anon_sym_map, - ACTIONS(445), 1, + ACTIONS(486), 1, aux_sym_identifier_token1, STATE(38), 1, sym_primitive_type, STATE(40), 1, sym_type_name, - STATE(41), 1, + STATE(43), 1, sym_identifier, STATE(212), 1, sym_type, - ACTIONS(443), 5, + ACTIONS(484), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6171] = 8, - ACTIONS(33), 1, + [6489] = 8, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(439), 1, + ACTIONS(480), 1, anon_sym_vec, - ACTIONS(441), 1, + ACTIONS(482), 1, anon_sym_map, STATE(22), 1, sym_primitive_type, STATE(40), 1, sym_type_name, - STATE(41), 1, + STATE(43), 1, sym_identifier, - STATE(194), 1, + STATE(202), 1, sym_type, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6200] = 8, - ACTIONS(33), 1, + [6518] = 8, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(439), 1, + ACTIONS(480), 1, anon_sym_vec, - ACTIONS(441), 1, + ACTIONS(482), 1, anon_sym_map, STATE(22), 1, sym_primitive_type, STATE(40), 1, sym_type_name, - STATE(41), 1, + STATE(43), 1, sym_identifier, - STATE(184), 1, + STATE(211), 1, sym_type, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6229] = 8, - ACTIONS(439), 1, + [6547] = 8, + ACTIONS(480), 1, anon_sym_vec, - ACTIONS(441), 1, + ACTIONS(482), 1, anon_sym_map, - ACTIONS(445), 1, + ACTIONS(486), 1, aux_sym_identifier_token1, STATE(38), 1, sym_primitive_type, STATE(40), 1, sym_type_name, - STATE(41), 1, + STATE(43), 1, sym_identifier, - STATE(48), 1, + STATE(221), 1, sym_type, - ACTIONS(443), 5, + ACTIONS(484), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6258] = 8, - ACTIONS(33), 1, + [6576] = 8, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(439), 1, + ACTIONS(480), 1, anon_sym_vec, - ACTIONS(441), 1, + ACTIONS(482), 1, anon_sym_map, STATE(22), 1, sym_primitive_type, STATE(40), 1, sym_type_name, - STATE(41), 1, + STATE(43), 1, sym_identifier, - STATE(192), 1, + STATE(208), 1, sym_type, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6287] = 8, - ACTIONS(33), 1, + [6605] = 8, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(439), 1, + ACTIONS(480), 1, anon_sym_vec, - ACTIONS(441), 1, + ACTIONS(482), 1, anon_sym_map, STATE(22), 1, sym_primitive_type, STATE(40), 1, sym_type_name, - STATE(41), 1, + STATE(43), 1, sym_identifier, - STATE(193), 1, + STATE(200), 1, sym_type, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6316] = 8, - ACTIONS(33), 1, + [6634] = 8, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(439), 1, + ACTIONS(480), 1, anon_sym_vec, - ACTIONS(441), 1, + ACTIONS(482), 1, anon_sym_map, STATE(22), 1, sym_primitive_type, STATE(40), 1, sym_type_name, - STATE(41), 1, + STATE(43), 1, sym_identifier, - STATE(196), 1, + STATE(204), 1, sym_type, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6345] = 8, - ACTIONS(33), 1, - aux_sym_identifier_token1, - ACTIONS(439), 1, + [6663] = 8, + ACTIONS(480), 1, anon_sym_vec, - ACTIONS(441), 1, + ACTIONS(482), 1, anon_sym_map, - STATE(22), 1, + ACTIONS(486), 1, + aux_sym_identifier_token1, + STATE(38), 1, sym_primitive_type, STATE(40), 1, sym_type_name, - STATE(41), 1, + STATE(43), 1, sym_identifier, - STATE(207), 1, + STATE(77), 1, sym_type, - ACTIONS(31), 5, + ACTIONS(484), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6374] = 8, - ACTIONS(33), 1, + [6692] = 8, + ACTIONS(480), 1, + anon_sym_vec, + ACTIONS(482), 1, + anon_sym_map, + ACTIONS(486), 1, aux_sym_identifier_token1, - ACTIONS(439), 1, + STATE(38), 1, + sym_primitive_type, + STATE(40), 1, + sym_type_name, + STATE(43), 1, + sym_identifier, + STATE(64), 1, + sym_type, + ACTIONS(484), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + [6721] = 8, + ACTIONS(480), 1, anon_sym_vec, - ACTIONS(441), 1, + ACTIONS(482), 1, anon_sym_map, - STATE(22), 1, + ACTIONS(486), 1, + aux_sym_identifier_token1, + STATE(38), 1, sym_primitive_type, STATE(40), 1, sym_type_name, - STATE(41), 1, + STATE(43), 1, sym_identifier, - STATE(187), 1, + STATE(46), 1, sym_type, - ACTIONS(31), 5, + ACTIONS(484), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6403] = 8, - ACTIONS(439), 1, + [6750] = 8, + ACTIONS(480), 1, anon_sym_vec, - ACTIONS(441), 1, + ACTIONS(482), 1, anon_sym_map, - ACTIONS(445), 1, + ACTIONS(486), 1, aux_sym_identifier_token1, STATE(38), 1, sym_primitive_type, STATE(40), 1, sym_type_name, - STATE(41), 1, + STATE(43), 1, sym_identifier, - STATE(204), 1, + STATE(78), 1, sym_type, - ACTIONS(443), 5, + ACTIONS(484), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6432] = 8, - ACTIONS(33), 1, + [6779] = 8, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(439), 1, + ACTIONS(480), 1, anon_sym_vec, - ACTIONS(441), 1, + ACTIONS(482), 1, anon_sym_map, STATE(22), 1, sym_primitive_type, STATE(40), 1, sym_type_name, - STATE(41), 1, + STATE(43), 1, sym_identifier, - STATE(186), 1, + STATE(207), 1, + sym_type, + ACTIONS(33), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + [6808] = 8, + ACTIONS(35), 1, + aux_sym_identifier_token1, + ACTIONS(480), 1, + anon_sym_vec, + ACTIONS(482), 1, + anon_sym_map, + STATE(22), 1, + sym_primitive_type, + STATE(40), 1, + sym_type_name, + STATE(43), 1, + sym_identifier, + STATE(194), 1, + sym_type, + ACTIONS(33), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + [6837] = 8, + ACTIONS(35), 1, + aux_sym_identifier_token1, + ACTIONS(480), 1, + anon_sym_vec, + ACTIONS(482), 1, + anon_sym_map, + STATE(22), 1, + sym_primitive_type, + STATE(40), 1, + sym_type_name, + STATE(43), 1, + sym_identifier, + STATE(198), 1, sym_type, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6461] = 7, - ACTIONS(33), 1, + [6866] = 7, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(447), 1, + ACTIONS(488), 1, anon_sym_RPAREN, STATE(22), 1, sym_primitive_type, - STATE(170), 1, + STATE(188), 1, sym_param, - STATE(172), 1, + STATE(191), 1, sym_identifier, - STATE(210), 1, + STATE(215), 1, sym_param_list, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6487] = 7, - ACTIONS(33), 1, + [6892] = 7, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(449), 1, + ACTIONS(490), 1, anon_sym_RPAREN, STATE(22), 1, sym_primitive_type, - STATE(170), 1, + STATE(188), 1, sym_param, - STATE(172), 1, + STATE(191), 1, sym_identifier, - STATE(200), 1, + STATE(222), 1, sym_param_list, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6513] = 5, - ACTIONS(33), 1, + [6918] = 5, + ACTIONS(35), 1, aux_sym_identifier_token1, STATE(22), 1, sym_primitive_type, - ACTIONS(451), 2, + ACTIONS(492), 2, anon_sym_PLUS_PLUS, anon_sym_EQ_EQ_EQ, - STATE(169), 2, + STATE(180), 2, sym_overloadable_operator, sym_identifier, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6535] = 7, - ACTIONS(33), 1, + [6940] = 5, + ACTIONS(486), 1, aux_sym_identifier_token1, - ACTIONS(453), 1, - anon_sym_RPAREN, - STATE(22), 1, + STATE(38), 1, sym_primitive_type, - STATE(170), 1, - sym_param, - STATE(172), 1, + ACTIONS(492), 2, + anon_sym_PLUS_PLUS, + anon_sym_EQ_EQ_EQ, + STATE(45), 2, + sym_overloadable_operator, sym_identifier, - STATE(201), 1, - sym_param_list, - ACTIONS(31), 5, + ACTIONS(484), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6561] = 5, - ACTIONS(33), 1, + [6962] = 7, + ACTIONS(35), 1, aux_sym_identifier_token1, + ACTIONS(494), 1, + anon_sym_RPAREN, STATE(22), 1, sym_primitive_type, - ACTIONS(451), 2, - anon_sym_PLUS_PLUS, - anon_sym_EQ_EQ_EQ, - STATE(168), 2, - sym_overloadable_operator, + STATE(188), 1, + sym_param, + STATE(191), 1, sym_identifier, - ACTIONS(31), 5, + STATE(219), 1, + sym_param_list, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6583] = 7, - ACTIONS(33), 1, + [6988] = 7, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(455), 1, + ACTIONS(496), 1, anon_sym_RPAREN, STATE(22), 1, sym_primitive_type, - STATE(170), 1, + STATE(188), 1, sym_param, - STATE(172), 1, + STATE(191), 1, sym_identifier, - STATE(205), 1, + STATE(224), 1, sym_param_list, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6609] = 7, - ACTIONS(445), 1, + [7014] = 7, + ACTIONS(486), 1, aux_sym_identifier_token1, - ACTIONS(457), 1, + ACTIONS(498), 1, anon_sym_DOT, STATE(38), 1, sym_primitive_type, - STATE(46), 1, + STATE(47), 1, sym_identifier, - STATE(50), 1, + STATE(56), 1, sym_import_path, - STATE(158), 1, + STATE(169), 1, sym_import_relative_dot, - ACTIONS(443), 5, + ACTIONS(484), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6635] = 6, - ACTIONS(33), 1, + [7040] = 7, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(459), 1, + ACTIONS(500), 1, anon_sym_RPAREN, STATE(22), 1, sym_primitive_type, - STATE(172), 1, - sym_identifier, - STATE(183), 1, + STATE(188), 1, sym_param, - ACTIONS(31), 5, + STATE(191), 1, + sym_identifier, + STATE(216), 1, + sym_param_list, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6658] = 6, - ACTIONS(33), 1, + [7066] = 5, + ACTIONS(35), 1, aux_sym_identifier_token1, - ACTIONS(461), 1, - anon_sym_RPAREN, STATE(22), 1, sym_primitive_type, - STATE(172), 1, + ACTIONS(492), 2, + anon_sym_PLUS_PLUS, + anon_sym_EQ_EQ_EQ, + STATE(181), 2, + sym_overloadable_operator, sym_identifier, - STATE(183), 1, - sym_param, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6681] = 5, - ACTIONS(445), 1, + [7088] = 6, + ACTIONS(35), 1, aux_sym_identifier_token1, - STATE(38), 1, + ACTIONS(502), 1, + anon_sym_RPAREN, + STATE(22), 1, sym_primitive_type, - STATE(46), 1, + STATE(191), 1, sym_identifier, - STATE(70), 1, - sym_import_path, - ACTIONS(443), 5, + STATE(201), 1, + sym_param, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6701] = 5, - ACTIONS(445), 1, + [7111] = 6, + ACTIONS(35), 1, aux_sym_identifier_token1, - STATE(38), 1, + ACTIONS(504), 1, + anon_sym_RPAREN, + STATE(22), 1, sym_primitive_type, - STATE(46), 1, + STATE(191), 1, sym_identifier, - STATE(72), 1, - sym_import_path, - ACTIONS(443), 5, + STATE(201), 1, + sym_param, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6721] = 5, - ACTIONS(33), 1, + [7134] = 5, + ACTIONS(486), 1, aux_sym_identifier_token1, - STATE(22), 1, + STATE(38), 1, sym_primitive_type, - STATE(172), 1, + STATE(47), 1, sym_identifier, - STATE(183), 1, - sym_param, - ACTIONS(31), 5, + STATE(69), 1, + sym_import_path, + ACTIONS(484), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6741] = 4, - ACTIONS(257), 1, + [7154] = 5, + ACTIONS(486), 1, aux_sym_identifier_token1, - STATE(118), 1, + STATE(38), 1, sym_primitive_type, - STATE(127), 1, + STATE(47), 1, sym_identifier, - ACTIONS(255), 5, + STATE(58), 1, + sym_import_path, + ACTIONS(484), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6758] = 4, - ACTIONS(33), 1, + [7174] = 5, + ACTIONS(35), 1, aux_sym_identifier_token1, STATE(22), 1, sym_primitive_type, - STATE(23), 1, + STATE(191), 1, sym_identifier, - ACTIONS(31), 5, + STATE(201), 1, + sym_param, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6775] = 4, - ACTIONS(33), 1, + [7194] = 4, + ACTIONS(35), 1, aux_sym_identifier_token1, STATE(22), 1, sym_primitive_type, - STATE(179), 1, + STATE(24), 1, sym_identifier, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6792] = 4, - ACTIONS(445), 1, + [7211] = 4, + ACTIONS(486), 1, aux_sym_identifier_token1, STATE(38), 1, sym_primitive_type, STATE(44), 1, sym_identifier, - ACTIONS(443), 5, + ACTIONS(484), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6809] = 4, - ACTIONS(33), 1, + [7228] = 4, + ACTIONS(35), 1, aux_sym_identifier_token1, STATE(22), 1, sym_primitive_type, - STATE(177), 1, + STATE(182), 1, sym_identifier, - ACTIONS(31), 5, + ACTIONS(33), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, - [6826] = 1, - ACTIONS(463), 6, + [7245] = 4, + ACTIONS(322), 1, + aux_sym_identifier_token1, + STATE(126), 1, + sym_identifier, + STATE(133), 1, + sym_primitive_type, + ACTIONS(320), 5, anon_sym_any, anon_sym_int, anon_sym_str, anon_sym_bool, anon_sym_void, + [7262] = 4, + ACTIONS(35), 1, aux_sym_identifier_token1, - [6835] = 4, - STATE(166), 1, + STATE(22), 1, + sym_primitive_type, + STATE(186), 1, + sym_identifier, + ACTIONS(33), 5, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + [7279] = 4, + STATE(177), 1, sym_qualifier, - STATE(195), 1, + STATE(199), 1, sym_qualifier_list, - ACTIONS(465), 2, + ACTIONS(506), 2, anon_sym_extern, anon_sym_pure, - ACTIONS(467), 2, + ACTIONS(508), 2, anon_sym_fn, anon_sym_class, - [6850] = 1, - ACTIONS(469), 4, + [7294] = 1, + ACTIONS(510), 6, + anon_sym_any, + anon_sym_int, + anon_sym_str, + anon_sym_bool, + anon_sym_void, + aux_sym_identifier_token1, + [7303] = 1, + ACTIONS(512), 4, anon_sym_extern, anon_sym_pure, anon_sym_fn, anon_sym_class, - [6857] = 4, - ACTIONS(471), 1, + [7310] = 4, + ACTIONS(514), 1, anon_sym_LBRACE, - ACTIONS(473), 1, + ACTIONS(516), 1, anon_sym_LPAREN, - ACTIONS(475), 1, + ACTIONS(518), 1, anon_sym_DASH_GT, - STATE(77), 1, + STATE(75), 1, sym_block, - [6870] = 4, - ACTIONS(471), 1, + [7323] = 4, + ACTIONS(514), 1, anon_sym_LBRACE, - ACTIONS(477), 1, + ACTIONS(520), 1, anon_sym_LPAREN, - ACTIONS(479), 1, + ACTIONS(522), 1, anon_sym_DASH_GT, - STATE(62), 1, + STATE(68), 1, sym_block, - [6883] = 3, - ACTIONS(481), 1, - anon_sym_RPAREN, - ACTIONS(483), 1, - anon_sym_COMMA, - STATE(180), 1, - aux_sym_param_list_repeat1, - [6893] = 3, - ACTIONS(471), 1, + [7336] = 3, + ACTIONS(514), 1, anon_sym_LBRACE, - ACTIONS(485), 1, - anon_sym_DASH_GT, - STATE(56), 1, + ACTIONS(524), 1, + anon_sym_LPAREN, + STATE(52), 1, sym_block, - [6903] = 2, - ACTIONS(489), 1, - anon_sym_COLON, - ACTIONS(487), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [6911] = 3, - ACTIONS(471), 1, + [7346] = 3, + ACTIONS(514), 1, anon_sym_LBRACE, - ACTIONS(491), 1, + ACTIONS(526), 1, anon_sym_DASH_GT, - STATE(53), 1, + STATE(70), 1, sym_block, - [6921] = 1, - ACTIONS(493), 3, - anon_sym_LBRACE, - anon_sym_LPAREN, - anon_sym_DASH_GT, - [6927] = 3, - ACTIONS(471), 1, + [7356] = 3, + ACTIONS(528), 1, + anon_sym_RPAREN, + ACTIONS(530), 1, + anon_sym_COMMA, + STATE(184), 1, + aux_sym_param_list_repeat1, + [7366] = 3, + ACTIONS(514), 1, anon_sym_LBRACE, - ACTIONS(495), 1, + ACTIONS(533), 1, anon_sym_DASH_GT, - STATE(59), 1, + STATE(63), 1, sym_block, - [6937] = 3, - ACTIONS(409), 1, - anon_sym_RPAREN, - ACTIONS(497), 1, - anon_sym_COMMA, - STATE(176), 1, - aux_sym_arg_list_repeat1, - [6947] = 3, - ACTIONS(471), 1, + [7376] = 3, + ACTIONS(514), 1, anon_sym_LBRACE, - ACTIONS(500), 1, + ACTIONS(535), 1, anon_sym_LPAREN, - STATE(82), 1, + STATE(54), 1, sym_block, - [6957] = 3, - ACTIONS(502), 1, - anon_sym_RPAREN, + [7386] = 3, ACTIONS(504), 1, + anon_sym_RPAREN, + ACTIONS(537), 1, anon_sym_COMMA, - STATE(178), 1, + STATE(184), 1, aux_sym_param_list_repeat1, - [6967] = 3, - ACTIONS(471), 1, - anon_sym_LBRACE, - ACTIONS(507), 1, - anon_sym_LPAREN, - STATE(61), 1, - sym_block, - [6977] = 3, - ACTIONS(461), 1, + [7396] = 3, + ACTIONS(539), 1, anon_sym_RPAREN, - ACTIONS(509), 1, + ACTIONS(541), 1, anon_sym_COMMA, - STATE(178), 1, + STATE(187), 1, aux_sym_param_list_repeat1, - [6987] = 3, - ACTIONS(471), 1, + [7406] = 3, + ACTIONS(514), 1, anon_sym_LBRACE, - ACTIONS(511), 1, + ACTIONS(543), 1, anon_sym_DASH_GT, - STATE(64), 1, + STATE(51), 1, sym_block, - [6997] = 3, - ACTIONS(395), 1, + [7416] = 3, + ACTIONS(448), 1, anon_sym_RPAREN, - ACTIONS(513), 1, + ACTIONS(545), 1, anon_sym_COMMA, - STATE(176), 1, + STATE(190), 1, aux_sym_arg_list_repeat1, - [7007] = 1, - ACTIONS(502), 2, + [7426] = 2, + ACTIONS(550), 1, + anon_sym_COLON, + ACTIONS(548), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [7434] = 3, + ACTIONS(434), 1, anon_sym_RPAREN, + ACTIONS(552), 1, anon_sym_COMMA, - [7012] = 2, - ACTIONS(471), 1, + STATE(190), 1, + aux_sym_arg_list_repeat1, + [7444] = 3, + ACTIONS(514), 1, anon_sym_LBRACE, - STATE(84), 1, + ACTIONS(554), 1, + anon_sym_DASH_GT, + STATE(79), 1, sym_block, - [7019] = 2, - ACTIONS(471), 1, + [7454] = 2, + ACTIONS(514), 1, anon_sym_LBRACE, STATE(55), 1, sym_block, - [7026] = 2, - ACTIONS(471), 1, - anon_sym_LBRACE, - STATE(52), 1, - sym_block, - [7033] = 2, - ACTIONS(471), 1, - anon_sym_LBRACE, - STATE(66), 1, - sym_block, - [7040] = 2, - ACTIONS(471), 1, + [7461] = 2, + ACTIONS(514), 1, anon_sym_LBRACE, - STATE(65), 1, - sym_block, - [7047] = 2, - ACTIONS(471), 1, - anon_sym_LBRACE, - STATE(51), 1, + STATE(80), 1, sym_block, - [7054] = 2, - ACTIONS(515), 1, + [7468] = 2, + ACTIONS(556), 1, anon_sym_fn, - ACTIONS(517), 1, + ACTIONS(558), 1, anon_sym_class, - [7061] = 2, - ACTIONS(519), 1, + [7475] = 2, + ACTIONS(560), 1, anon_sym_RBRACE, - ACTIONS(521), 1, + ACTIONS(562), 1, anon_sym_COMMA, - [7068] = 1, - ACTIONS(523), 2, + [7482] = 2, + ACTIONS(514), 1, + anon_sym_LBRACE, + STATE(81), 1, + sym_block, + [7489] = 1, + ACTIONS(564), 2, + anon_sym_fn, + anon_sym_class, + [7494] = 2, + ACTIONS(514), 1, + anon_sym_LBRACE, + STATE(67), 1, + sym_block, + [7501] = 1, + ACTIONS(528), 2, anon_sym_RPAREN, anon_sym_COMMA, - [7073] = 2, - ACTIONS(471), 1, + [7506] = 2, + ACTIONS(514), 1, anon_sym_LBRACE, - STATE(73), 1, + STATE(76), 1, sym_block, - [7080] = 2, - ACTIONS(471), 1, + [7513] = 2, + ACTIONS(514), 1, anon_sym_LBRACE, - STATE(81), 1, + STATE(65), 1, sym_block, - [7087] = 1, - ACTIONS(525), 2, - anon_sym_fn, - anon_sym_class, - [7092] = 2, - ACTIONS(471), 1, + [7520] = 2, + ACTIONS(514), 1, anon_sym_LBRACE, - STATE(58), 1, + STATE(74), 1, + sym_block, + [7527] = 2, + ACTIONS(514), 1, + anon_sym_LBRACE, + STATE(53), 1, + sym_block, + [7534] = 2, + ACTIONS(514), 1, + anon_sym_LBRACE, + STATE(72), 1, sym_block, - [7099] = 2, - ACTIONS(471), 1, + [7541] = 1, + ACTIONS(566), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [7546] = 2, + ACTIONS(514), 1, anon_sym_LBRACE, - STATE(57), 1, + STATE(71), 1, sym_block, - [7106] = 1, - ACTIONS(527), 1, + [7553] = 1, + ACTIONS(568), 1, + sym_doc_comment_content, + [7557] = 1, + ACTIONS(570), 1, + anon_sym_RPAREN, + [7561] = 1, + ACTIONS(572), 1, + anon_sym_COMMA, + [7565] = 1, + ACTIONS(574), 1, + anon_sym_GT, + [7569] = 1, + ACTIONS(576), 1, + anon_sym_RBRACK, + [7573] = 1, + ACTIONS(578), 1, anon_sym_RBRACE, - [7110] = 1, - ACTIONS(529), 1, + [7577] = 1, + ACTIONS(580), 1, anon_sym_RPAREN, - [7114] = 1, - ACTIONS(531), 1, + [7581] = 1, + ACTIONS(582), 1, anon_sym_RPAREN, - [7118] = 1, - ACTIONS(533), 1, + [7585] = 1, + ACTIONS(584), 1, + ts_builtin_sym_end, + [7589] = 1, + ACTIONS(586), 1, + anon_sym_RBRACK, + [7593] = 1, + ACTIONS(588), 1, anon_sym_RPAREN, - [7122] = 1, - ACTIONS(535), 1, + [7597] = 1, + ACTIONS(590), 1, anon_sym_RBRACE, - [7126] = 1, - ACTIONS(537), 1, - anon_sym_RBRACK, - [7130] = 1, - ACTIONS(539), 1, + [7601] = 1, + ACTIONS(592), 1, anon_sym_GT, - [7134] = 1, - ACTIONS(541), 1, + [7605] = 1, + ACTIONS(594), 1, anon_sym_RPAREN, - [7138] = 1, - ACTIONS(543), 1, - ts_builtin_sym_end, - [7142] = 1, - ACTIONS(545), 1, - anon_sym_COMMA, - [7146] = 1, - ACTIONS(547), 1, - anon_sym_RBRACE, - [7150] = 1, - ACTIONS(549), 1, + [7609] = 1, + ACTIONS(596), 1, anon_sym_RBRACK, - [7154] = 1, - ACTIONS(551), 1, + [7613] = 1, + ACTIONS(598), 1, anon_sym_RPAREN, - [7158] = 1, - ACTIONS(553), 1, - anon_sym_RBRACK, - [7162] = 1, - ACTIONS(555), 1, - anon_sym_GT, - [7166] = 1, - ACTIONS(557), 1, + [7617] = 1, + ACTIONS(600), 1, anon_sym_RPAREN, - [7170] = 1, - ACTIONS(559), 1, - sym_doc_comment_content, + [7621] = 1, + ACTIONS(602), 1, + anon_sym_RBRACE, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(7)] = 0, - [SMALL_STATE(8)] = 86, - [SMALL_STATE(9)] = 160, - [SMALL_STATE(10)] = 238, - [SMALL_STATE(11)] = 318, - [SMALL_STATE(12)] = 402, - [SMALL_STATE(13)] = 474, - [SMALL_STATE(14)] = 563, - [SMALL_STATE(15)] = 652, - [SMALL_STATE(16)] = 741, - [SMALL_STATE(17)] = 832, - [SMALL_STATE(18)] = 921, - [SMALL_STATE(19)] = 1010, - [SMALL_STATE(20)] = 1099, - [SMALL_STATE(21)] = 1188, - [SMALL_STATE(22)] = 1242, - [SMALL_STATE(23)] = 1296, - [SMALL_STATE(24)] = 1347, - [SMALL_STATE(25)] = 1400, - [SMALL_STATE(26)] = 1450, - [SMALL_STATE(27)] = 1500, - [SMALL_STATE(28)] = 1554, - [SMALL_STATE(29)] = 1604, - [SMALL_STATE(30)] = 1654, - [SMALL_STATE(31)] = 1704, - [SMALL_STATE(32)] = 1754, - [SMALL_STATE(33)] = 1804, - [SMALL_STATE(34)] = 1854, - [SMALL_STATE(35)] = 1904, - [SMALL_STATE(36)] = 1954, - [SMALL_STATE(37)] = 1994, - [SMALL_STATE(38)] = 2034, - [SMALL_STATE(39)] = 2071, - [SMALL_STATE(40)] = 2108, - [SMALL_STATE(41)] = 2145, - [SMALL_STATE(42)] = 2182, - [SMALL_STATE(43)] = 2219, - [SMALL_STATE(44)] = 2256, - [SMALL_STATE(45)] = 2295, - [SMALL_STATE(46)] = 2355, - [SMALL_STATE(47)] = 2391, - [SMALL_STATE(48)] = 2451, - [SMALL_STATE(49)] = 2487, - [SMALL_STATE(50)] = 2542, - [SMALL_STATE(51)] = 2575, - [SMALL_STATE(52)] = 2608, - [SMALL_STATE(53)] = 2641, - [SMALL_STATE(54)] = 2674, - [SMALL_STATE(55)] = 2731, - [SMALL_STATE(56)] = 2764, - [SMALL_STATE(57)] = 2797, - [SMALL_STATE(58)] = 2830, - [SMALL_STATE(59)] = 2863, - [SMALL_STATE(60)] = 2896, - [SMALL_STATE(61)] = 2953, - [SMALL_STATE(62)] = 2986, - [SMALL_STATE(63)] = 3019, - [SMALL_STATE(64)] = 3076, - [SMALL_STATE(65)] = 3109, - [SMALL_STATE(66)] = 3142, - [SMALL_STATE(67)] = 3175, - [SMALL_STATE(68)] = 3208, - [SMALL_STATE(69)] = 3241, - [SMALL_STATE(70)] = 3298, - [SMALL_STATE(71)] = 3331, - [SMALL_STATE(72)] = 3364, - [SMALL_STATE(73)] = 3397, - [SMALL_STATE(74)] = 3430, - [SMALL_STATE(75)] = 3463, - [SMALL_STATE(76)] = 3520, - [SMALL_STATE(77)] = 3581, - [SMALL_STATE(78)] = 3614, - [SMALL_STATE(79)] = 3647, - [SMALL_STATE(80)] = 3706, - [SMALL_STATE(81)] = 3763, - [SMALL_STATE(82)] = 3796, - [SMALL_STATE(83)] = 3829, - [SMALL_STATE(84)] = 3880, - [SMALL_STATE(85)] = 3913, - [SMALL_STATE(86)] = 3962, - [SMALL_STATE(87)] = 4014, - [SMALL_STATE(88)] = 4068, - [SMALL_STATE(89)] = 4122, - [SMALL_STATE(90)] = 4176, - [SMALL_STATE(91)] = 4227, - [SMALL_STATE(92)] = 4278, - [SMALL_STATE(93)] = 4329, - [SMALL_STATE(94)] = 4380, - [SMALL_STATE(95)] = 4431, - [SMALL_STATE(96)] = 4482, - [SMALL_STATE(97)] = 4533, - [SMALL_STATE(98)] = 4584, - [SMALL_STATE(99)] = 4635, - [SMALL_STATE(100)] = 4686, - [SMALL_STATE(101)] = 4737, - [SMALL_STATE(102)] = 4788, - [SMALL_STATE(103)] = 4839, - [SMALL_STATE(104)] = 4890, - [SMALL_STATE(105)] = 4941, - [SMALL_STATE(106)] = 4992, - [SMALL_STATE(107)] = 5043, - [SMALL_STATE(108)] = 5094, - [SMALL_STATE(109)] = 5145, - [SMALL_STATE(110)] = 5196, - [SMALL_STATE(111)] = 5261, - [SMALL_STATE(112)] = 5312, - [SMALL_STATE(113)] = 5374, - [SMALL_STATE(114)] = 5434, - [SMALL_STATE(115)] = 5494, - [SMALL_STATE(116)] = 5553, - [SMALL_STATE(117)] = 5612, - [SMALL_STATE(118)] = 5671, - [SMALL_STATE(119)] = 5698, - [SMALL_STATE(120)] = 5725, + [SMALL_STATE(8)] = 75, + [SMALL_STATE(9)] = 148, + [SMALL_STATE(10)] = 235, + [SMALL_STATE(11)] = 314, + [SMALL_STATE(12)] = 399, + [SMALL_STATE(13)] = 480, + [SMALL_STATE(14)] = 570, + [SMALL_STATE(15)] = 660, + [SMALL_STATE(16)] = 750, + [SMALL_STATE(17)] = 840, + [SMALL_STATE(18)] = 930, + [SMALL_STATE(19)] = 1020, + [SMALL_STATE(20)] = 1112, + [SMALL_STATE(21)] = 1202, + [SMALL_STATE(22)] = 1257, + [SMALL_STATE(23)] = 1312, + [SMALL_STATE(24)] = 1366, + [SMALL_STATE(25)] = 1418, + [SMALL_STATE(26)] = 1469, + [SMALL_STATE(27)] = 1520, + [SMALL_STATE(28)] = 1571, + [SMALL_STATE(29)] = 1626, + [SMALL_STATE(30)] = 1677, + [SMALL_STATE(31)] = 1728, + [SMALL_STATE(32)] = 1779, + [SMALL_STATE(33)] = 1830, + [SMALL_STATE(34)] = 1881, + [SMALL_STATE(35)] = 1932, + [SMALL_STATE(36)] = 1983, + [SMALL_STATE(37)] = 2024, + [SMALL_STATE(38)] = 2065, + [SMALL_STATE(39)] = 2104, + [SMALL_STATE(40)] = 2143, + [SMALL_STATE(41)] = 2181, + [SMALL_STATE(42)] = 2219, + [SMALL_STATE(43)] = 2257, + [SMALL_STATE(44)] = 2295, + [SMALL_STATE(45)] = 2335, + [SMALL_STATE(46)] = 2374, + [SMALL_STATE(47)] = 2411, + [SMALL_STATE(48)] = 2448, + [SMALL_STATE(49)] = 2485, + [SMALL_STATE(50)] = 2522, + [SMALL_STATE(51)] = 2557, + [SMALL_STATE(52)] = 2591, + [SMALL_STATE(53)] = 2625, + [SMALL_STATE(54)] = 2659, + [SMALL_STATE(55)] = 2693, + [SMALL_STATE(56)] = 2727, + [SMALL_STATE(57)] = 2761, + [SMALL_STATE(58)] = 2821, + [SMALL_STATE(59)] = 2855, + [SMALL_STATE(60)] = 2915, + [SMALL_STATE(61)] = 2949, + [SMALL_STATE(62)] = 2983, + [SMALL_STATE(63)] = 3017, + [SMALL_STATE(64)] = 3051, + [SMALL_STATE(65)] = 3085, + [SMALL_STATE(66)] = 3119, + [SMALL_STATE(67)] = 3153, + [SMALL_STATE(68)] = 3187, + [SMALL_STATE(69)] = 3221, + [SMALL_STATE(70)] = 3255, + [SMALL_STATE(71)] = 3289, + [SMALL_STATE(72)] = 3323, + [SMALL_STATE(73)] = 3357, + [SMALL_STATE(74)] = 3391, + [SMALL_STATE(75)] = 3425, + [SMALL_STATE(76)] = 3459, + [SMALL_STATE(77)] = 3493, + [SMALL_STATE(78)] = 3527, + [SMALL_STATE(79)] = 3561, + [SMALL_STATE(80)] = 3595, + [SMALL_STATE(81)] = 3629, + [SMALL_STATE(82)] = 3663, + [SMALL_STATE(83)] = 3720, + [SMALL_STATE(84)] = 3777, + [SMALL_STATE(85)] = 3832, + [SMALL_STATE(86)] = 3883, + [SMALL_STATE(87)] = 3932, + [SMALL_STATE(88)] = 3989, + [SMALL_STATE(89)] = 4046, + [SMALL_STATE(90)] = 4105, + [SMALL_STATE(91)] = 4166, + [SMALL_STATE(92)] = 4223, + [SMALL_STATE(93)] = 4280, + [SMALL_STATE(94)] = 4332, + [SMALL_STATE(95)] = 4386, + [SMALL_STATE(96)] = 4440, + [SMALL_STATE(97)] = 4494, + [SMALL_STATE(98)] = 4545, + [SMALL_STATE(99)] = 4596, + [SMALL_STATE(100)] = 4647, + [SMALL_STATE(101)] = 4698, + [SMALL_STATE(102)] = 4749, + [SMALL_STATE(103)] = 4814, + [SMALL_STATE(104)] = 4865, + [SMALL_STATE(105)] = 4916, + [SMALL_STATE(106)] = 4967, + [SMALL_STATE(107)] = 5018, + [SMALL_STATE(108)] = 5069, + [SMALL_STATE(109)] = 5120, + [SMALL_STATE(110)] = 5171, + [SMALL_STATE(111)] = 5222, + [SMALL_STATE(112)] = 5273, + [SMALL_STATE(113)] = 5324, + [SMALL_STATE(114)] = 5375, + [SMALL_STATE(115)] = 5426, + [SMALL_STATE(116)] = 5477, + [SMALL_STATE(117)] = 5528, + [SMALL_STATE(118)] = 5579, + [SMALL_STATE(119)] = 5630, + [SMALL_STATE(120)] = 5692, [SMALL_STATE(121)] = 5752, - [SMALL_STATE(122)] = 5779, - [SMALL_STATE(123)] = 5806, - [SMALL_STATE(124)] = 5833, - [SMALL_STATE(125)] = 5860, - [SMALL_STATE(126)] = 5887, - [SMALL_STATE(127)] = 5914, - [SMALL_STATE(128)] = 5941, - [SMALL_STATE(129)] = 5968, - [SMALL_STATE(130)] = 5995, - [SMALL_STATE(131)] = 6022, - [SMALL_STATE(132)] = 6042, - [SMALL_STATE(133)] = 6062, - [SMALL_STATE(134)] = 6082, - [SMALL_STATE(135)] = 6102, - [SMALL_STATE(136)] = 6122, - [SMALL_STATE(137)] = 6142, - [SMALL_STATE(138)] = 6171, - [SMALL_STATE(139)] = 6200, - [SMALL_STATE(140)] = 6229, - [SMALL_STATE(141)] = 6258, - [SMALL_STATE(142)] = 6287, - [SMALL_STATE(143)] = 6316, - [SMALL_STATE(144)] = 6345, - [SMALL_STATE(145)] = 6374, - [SMALL_STATE(146)] = 6403, - [SMALL_STATE(147)] = 6432, - [SMALL_STATE(148)] = 6461, - [SMALL_STATE(149)] = 6487, - [SMALL_STATE(150)] = 6513, - [SMALL_STATE(151)] = 6535, - [SMALL_STATE(152)] = 6561, - [SMALL_STATE(153)] = 6583, - [SMALL_STATE(154)] = 6609, - [SMALL_STATE(155)] = 6635, - [SMALL_STATE(156)] = 6658, - [SMALL_STATE(157)] = 6681, - [SMALL_STATE(158)] = 6701, - [SMALL_STATE(159)] = 6721, - [SMALL_STATE(160)] = 6741, - [SMALL_STATE(161)] = 6758, - [SMALL_STATE(162)] = 6775, - [SMALL_STATE(163)] = 6792, - [SMALL_STATE(164)] = 6809, - [SMALL_STATE(165)] = 6826, - [SMALL_STATE(166)] = 6835, - [SMALL_STATE(167)] = 6850, - [SMALL_STATE(168)] = 6857, - [SMALL_STATE(169)] = 6870, - [SMALL_STATE(170)] = 6883, - [SMALL_STATE(171)] = 6893, - [SMALL_STATE(172)] = 6903, - [SMALL_STATE(173)] = 6911, - [SMALL_STATE(174)] = 6921, - [SMALL_STATE(175)] = 6927, - [SMALL_STATE(176)] = 6937, - [SMALL_STATE(177)] = 6947, - [SMALL_STATE(178)] = 6957, - [SMALL_STATE(179)] = 6967, - [SMALL_STATE(180)] = 6977, - [SMALL_STATE(181)] = 6987, - [SMALL_STATE(182)] = 6997, - [SMALL_STATE(183)] = 7007, - [SMALL_STATE(184)] = 7012, - [SMALL_STATE(185)] = 7019, - [SMALL_STATE(186)] = 7026, - [SMALL_STATE(187)] = 7033, - [SMALL_STATE(188)] = 7040, - [SMALL_STATE(189)] = 7047, - [SMALL_STATE(190)] = 7054, - [SMALL_STATE(191)] = 7061, - [SMALL_STATE(192)] = 7068, - [SMALL_STATE(193)] = 7073, - [SMALL_STATE(194)] = 7080, - [SMALL_STATE(195)] = 7087, - [SMALL_STATE(196)] = 7092, - [SMALL_STATE(197)] = 7099, - [SMALL_STATE(198)] = 7106, - [SMALL_STATE(199)] = 7110, - [SMALL_STATE(200)] = 7114, - [SMALL_STATE(201)] = 7118, - [SMALL_STATE(202)] = 7122, - [SMALL_STATE(203)] = 7126, - [SMALL_STATE(204)] = 7130, - [SMALL_STATE(205)] = 7134, - [SMALL_STATE(206)] = 7138, - [SMALL_STATE(207)] = 7142, - [SMALL_STATE(208)] = 7146, - [SMALL_STATE(209)] = 7150, - [SMALL_STATE(210)] = 7154, - [SMALL_STATE(211)] = 7158, - [SMALL_STATE(212)] = 7162, - [SMALL_STATE(213)] = 7166, - [SMALL_STATE(214)] = 7170, + [SMALL_STATE(122)] = 5812, + [SMALL_STATE(123)] = 5871, + [SMALL_STATE(124)] = 5930, + [SMALL_STATE(125)] = 5989, + [SMALL_STATE(126)] = 6016, + [SMALL_STATE(127)] = 6043, + [SMALL_STATE(128)] = 6070, + [SMALL_STATE(129)] = 6097, + [SMALL_STATE(130)] = 6124, + [SMALL_STATE(131)] = 6151, + [SMALL_STATE(132)] = 6178, + [SMALL_STATE(133)] = 6205, + [SMALL_STATE(134)] = 6232, + [SMALL_STATE(135)] = 6259, + [SMALL_STATE(136)] = 6286, + [SMALL_STATE(137)] = 6313, + [SMALL_STATE(138)] = 6340, + [SMALL_STATE(139)] = 6360, + [SMALL_STATE(140)] = 6380, + [SMALL_STATE(141)] = 6400, + [SMALL_STATE(142)] = 6420, + [SMALL_STATE(143)] = 6440, + [SMALL_STATE(144)] = 6460, + [SMALL_STATE(145)] = 6489, + [SMALL_STATE(146)] = 6518, + [SMALL_STATE(147)] = 6547, + [SMALL_STATE(148)] = 6576, + [SMALL_STATE(149)] = 6605, + [SMALL_STATE(150)] = 6634, + [SMALL_STATE(151)] = 6663, + [SMALL_STATE(152)] = 6692, + [SMALL_STATE(153)] = 6721, + [SMALL_STATE(154)] = 6750, + [SMALL_STATE(155)] = 6779, + [SMALL_STATE(156)] = 6808, + [SMALL_STATE(157)] = 6837, + [SMALL_STATE(158)] = 6866, + [SMALL_STATE(159)] = 6892, + [SMALL_STATE(160)] = 6918, + [SMALL_STATE(161)] = 6940, + [SMALL_STATE(162)] = 6962, + [SMALL_STATE(163)] = 6988, + [SMALL_STATE(164)] = 7014, + [SMALL_STATE(165)] = 7040, + [SMALL_STATE(166)] = 7066, + [SMALL_STATE(167)] = 7088, + [SMALL_STATE(168)] = 7111, + [SMALL_STATE(169)] = 7134, + [SMALL_STATE(170)] = 7154, + [SMALL_STATE(171)] = 7174, + [SMALL_STATE(172)] = 7194, + [SMALL_STATE(173)] = 7211, + [SMALL_STATE(174)] = 7228, + [SMALL_STATE(175)] = 7245, + [SMALL_STATE(176)] = 7262, + [SMALL_STATE(177)] = 7279, + [SMALL_STATE(178)] = 7294, + [SMALL_STATE(179)] = 7303, + [SMALL_STATE(180)] = 7310, + [SMALL_STATE(181)] = 7323, + [SMALL_STATE(182)] = 7336, + [SMALL_STATE(183)] = 7346, + [SMALL_STATE(184)] = 7356, + [SMALL_STATE(185)] = 7366, + [SMALL_STATE(186)] = 7376, + [SMALL_STATE(187)] = 7386, + [SMALL_STATE(188)] = 7396, + [SMALL_STATE(189)] = 7406, + [SMALL_STATE(190)] = 7416, + [SMALL_STATE(191)] = 7426, + [SMALL_STATE(192)] = 7434, + [SMALL_STATE(193)] = 7444, + [SMALL_STATE(194)] = 7454, + [SMALL_STATE(195)] = 7461, + [SMALL_STATE(196)] = 7468, + [SMALL_STATE(197)] = 7475, + [SMALL_STATE(198)] = 7482, + [SMALL_STATE(199)] = 7489, + [SMALL_STATE(200)] = 7494, + [SMALL_STATE(201)] = 7501, + [SMALL_STATE(202)] = 7506, + [SMALL_STATE(203)] = 7513, + [SMALL_STATE(204)] = 7520, + [SMALL_STATE(205)] = 7527, + [SMALL_STATE(206)] = 7534, + [SMALL_STATE(207)] = 7541, + [SMALL_STATE(208)] = 7546, + [SMALL_STATE(209)] = 7553, + [SMALL_STATE(210)] = 7557, + [SMALL_STATE(211)] = 7561, + [SMALL_STATE(212)] = 7565, + [SMALL_STATE(213)] = 7569, + [SMALL_STATE(214)] = 7573, + [SMALL_STATE(215)] = 7577, + [SMALL_STATE(216)] = 7581, + [SMALL_STATE(217)] = 7585, + [SMALL_STATE(218)] = 7589, + [SMALL_STATE(219)] = 7593, + [SMALL_STATE(220)] = 7597, + [SMALL_STATE(221)] = 7601, + [SMALL_STATE(222)] = 7605, + [SMALL_STATE(223)] = 7609, + [SMALL_STATE(224)] = 7613, + [SMALL_STATE(225)] = 7617, + [SMALL_STATE(226)] = 7621, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), - [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(179), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(22), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(67), - [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(214), - [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2), - [54] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(154), - [57] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(167), - [60] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(152), - [63] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(97), - [66] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(164), - [69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(107), - [72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(109), - [75] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(86), - [78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(163), - [81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(75), - [84] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(21), - [87] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(22), - [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(31), - [93] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(29), - [96] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(31), - [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 13), - [107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 13), - [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), - [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), - [121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2, .production_id = 5), - [129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2, .production_id = 5), - [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), - [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 14), - [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3, .production_id = 14), - [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_decl, 6, .production_id = 26), - [141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_decl, 6, .production_id = 26), - [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), - [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print, 2, .production_id = 3), - [151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_print, 2, .production_id = 3), - [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert, 2, .production_id = 4), - [155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert, 2, .production_id = 4), - [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_decl, 4, .production_id = 19), - [159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_decl, 4, .production_id = 19), - [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1), - [163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primitive_type, 1), - [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), - [167] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), - [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_access, 3, .production_id = 11), - [171] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_access, 3, .production_id = 11), - [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), - [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vec, 3), - [181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_vec, 3), - [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 4, .production_id = 21), - [185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 4, .production_id = 21), - [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), - [189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), - [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 2), - [193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 2), - [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool, 1), - [197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool, 1), - [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), - [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1), - [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 3, .production_id = 12), - [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 3, .production_id = 12), - [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vec, 2), - [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_vec, 2), - [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), - [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), - [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, .production_id = 10), - [217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, .production_id = 10), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 1), - [221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 1), - [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 6), - [229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 6), - [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), - [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 4), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_decl, 2, .production_id = 6), - [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_decl, 2, .production_id = 6), - [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), - [255] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), - [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), - [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), - [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_path, 1, .production_id = 2), - [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_path, 1, .production_id = 2), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_decl, 4, .production_id = 18), - [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_decl, 4, .production_id = 18), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 2, .production_id = 1), - [285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 2, .production_id = 1), - [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, .production_id = 27), - [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, .production_id = 27), - [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 28), - [293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 28), - [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 27), - [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 27), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, .production_id = 24), - [303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, .production_id = 24), - [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 24), - [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 24), - [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 5, .production_id = 22), - [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 5, .production_id = 22), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 23), - [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 23), - [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 22), - [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 22), - [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 4, .production_id = 20), - [325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 4, .production_id = 20), - [327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 20), - [329] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 4, .production_id = 20), - [331] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), - [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 30), - [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 30), - [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, .production_id = 30), - [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, .production_id = 30), - [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 31), - [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 31), - [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_path, 3, .production_id = 16), - [347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_path, 3, .production_id = 16), - [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, .production_id = 7), - [351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, .production_id = 7), - [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 3, .production_id = 8), - [355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 3, .production_id = 8), - [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 32), - [359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 32), - [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), - [363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), - [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 3, .production_id = 9), - [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 3, .production_id = 9), - [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doc_comment, 2), - [373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doc_comment, 2), - [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 29), - [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 29), - [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 3, .production_id = 9), - [381] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 3, .production_id = 9), - [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 9, .production_id = 33), - [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 9, .production_id = 33), - [387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), - [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_list, 3), - [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_list, 2), - [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_list, 1), - [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 1), - [407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_item, 3, .production_id = 15), - [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arg_list_repeat1, 2), - [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparative_operator, 1), - [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparative_operator, 1), - [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_additive_operator, 1), - [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_additive_operator, 1), - [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_or_operator, 1), - [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_or_operator, 1), - [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_and_operator, 1), - [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_and_operator, 1), - [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multiplicative_operator, 1), - [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multiplicative_operator, 1), - [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_power_operator, 1), - [437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_power_operator, 1), - [439] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), - [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), - [443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), - [445] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), - [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 3), - [461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 2), - [463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_relative_dot, 1), - [465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualifier_list, 1), - [469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualifier, 1), - [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 1), - [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 1, .production_id = 17), - [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [493] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_overloadable_operator, 1), - [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [497] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_arg_list_repeat1, 2), SHIFT_REPEAT(92), - [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2), - [504] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2), SHIFT_REPEAT(159), - [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_item_list, 1), - [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 3, .production_id = 25), - [525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualifier_list, 2), - [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_item_list, 3), - [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [543] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 3), - [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), + [47] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(66), + [50] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(209), + [53] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2), + [56] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(164), + [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(179), + [62] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(166), + [65] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(113), + [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(161), + [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(176), + [74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(104), + [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(106), + [80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(93), + [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(173), + [86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(88), + [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(21), + [92] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(22), + [95] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(32), + [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(31), + [101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(32), + [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 13), + [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 13), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2, .production_id = 6), + [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2, .production_id = 6), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert, 2, .production_id = 5), + [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert, 2, .production_id = 5), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_decl, 6, .production_id = 29), + [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_decl, 6, .production_id = 29), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print, 2, .production_id = 4), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_print, 2, .production_id = 4), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_decl, 4, .production_id = 20), + [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_decl, 4, .production_id = 20), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 14), + [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3, .production_id = 14), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), + [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1), + [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primitive_type, 1), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), + [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), + [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_access, 3, .production_id = 11), + [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_access, 3, .production_id = 11), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 4, .production_id = 22), + [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 4, .production_id = 22), + [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vec, 3), + [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_vec, 3), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), + [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 2), + [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 2), + [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, .production_id = 10), + [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, .production_id = 10), + [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool, 1), + [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool, 1), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), + [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1), + [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 3, .production_id = 12), + [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 3, .production_id = 12), + [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), + [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vec, 2), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_vec, 2), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 1), + [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 1), + [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), + [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 4), + [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 6), + [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 6), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_decl, 2, .production_id = 3), + [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_decl, 2, .production_id = 3), + [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proto, 2, .production_id = 3), + [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proto, 2, .production_id = 3), + [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_decl, 4, .production_id = 19), + [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_decl, 4, .production_id = 19), + [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_path, 1, .production_id = 2), + [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_path, 1, .production_id = 2), + [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proto, 5, .production_id = 25), + [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proto, 5, .production_id = 25), + [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proto, 4, .production_id = 3), + [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proto, 4, .production_id = 3), + [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_overloadable_operator, 1), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_overloadable_operator, 1), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 30), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 30), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 4, .production_id = 21), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 4, .production_id = 21), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 5, .production_id = 23), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 5, .production_id = 23), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 3, .production_id = 9), + [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 3, .production_id = 9), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 24), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 24), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 2, .production_id = 1), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 2, .production_id = 1), + [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [318] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), + [322] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [326] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_path, 3, .production_id = 16), + [332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_path, 3, .production_id = 16), + [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doc_comment, 2), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_doc_comment, 2), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 26), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 26), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proto, 6, .production_id = 28), + [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proto, 6, .production_id = 28), + [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, .production_id = 26), + [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, .production_id = 26), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 9, .production_id = 37), + [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 9, .production_id = 37), + [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 3, .production_id = 9), + [362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 3, .production_id = 9), + [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 3, .production_id = 8), + [366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import, 3, .production_id = 8), + [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 23), + [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 23), + [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 31), + [374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 31), + [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 6, .production_id = 30), + [378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 6, .production_id = 30), + [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, .production_id = 7), + [382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, .production_id = 7), + [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 36), + [386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 36), + [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 21), + [390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 4, .production_id = 21), + [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 32), + [394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 32), + [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proto, 7, .production_id = 33), + [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proto, 7, .production_id = 33), + [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_proto, 4, .production_id = 18), + [402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_proto, 4, .production_id = 18), + [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 34), + [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 34), + [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_declaration, 7, .production_id = 34), + [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_declaration, 7, .production_id = 34), + [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 35), + [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 35), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), + [424] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), + [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [428] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), + [430] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), + [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_list, 2), + [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_list, 3), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arg_list, 1), + [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 1), + [448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arg_list_repeat1, 2), + [450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_item, 3, .production_id = 15), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_or_operator, 1), + [458] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_or_operator, 1), + [460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_and_operator, 1), + [462] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_and_operator, 1), + [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multiplicative_operator, 1), + [466] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multiplicative_operator, 1), + [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_power_operator, 1), + [470] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_power_operator, 1), + [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_additive_operator, 1), + [474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_additive_operator, 1), + [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparative_operator, 1), + [478] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparative_operator, 1), + [480] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), + [482] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), + [486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(38), + [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 3), + [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 2), + [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualifier_list, 1), + [510] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_relative_dot, 1), + [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualifier, 1), + [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2), + [530] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_param_list_repeat1, 2), SHIFT_REPEAT(171), + [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param_list, 1), + [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [545] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_arg_list_repeat1, 2), SHIFT_REPEAT(107), + [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 1, .production_id = 17), + [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_item_list, 1), + [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualifier_list, 2), + [566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_param, 3, .production_id = 27), + [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 3), + [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_item_list, 3), + [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [584] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), }; #ifdef __cplusplus